X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=38c60a3c08b8fd24c0c843e22b39721d8c3f3341;hb=9e80499f8a236d877178158a3fb730dcfff1850b;hp=ed998145a697c3753f5319c4409d4aafa0db2dc2;hpb=b050b2f25f010749d30c6723ff772ba60924c1e4;p=bootstrapfs.git diff --git a/build.sh b/build.sh index ed99814..38c60a3 100755 --- a/build.sh +++ b/build.sh @@ -43,30 +43,27 @@ set -e # would like to pretend that we are. export PL_BOOTCD=1 -# "Parse" out the packages and groups into the options passed to mkfedora -# -k = exclude kernel* packages -lst="${pldistro}-base.lst" -popts=$(pl_getPackagesOptions2 ${pl_DISTRO_NAME} $lst) -gopts=$(pl_getGroupsOptions2 ${pl_DISTRO_NAME} $lst) - -options="${popts} ${gopts} -k" - -echo "+++++++++++++OPTIONS = ${options}" +echo "+++++++++++++pkgsfile=$pkgsfile (and -k)" # Populate a minimal /dev and then the files for the base PlanetLab-Bootstrap content vref=${PWD}/base install -d -m 755 ${vref} -pl_mkfedora ${vref} ${options} +pl_root_makedevs $vref -for lst in ${pldistro}-filesystems/*.lst ; do - NAME=$(basename $lst .lst) +pkgsfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs.pkgs) +# -k = exclude kernel* packages +pl_root_mkfedora -k -f $pkgsfile ${vref} + +for pkgs in ../build/config.${pldistro}/bootstrapfs-*.pkgs ; do + NAME=$(basename $pkgs .pkgs | sed -e s,bootstrapfs-,,) echo "--------START BUILDING PlanetLab-Bootstrap-${NAME}: $(date)" # "Parse" out the packages and groups for yum - packages=$(pl_getPackages2 ${pl_DISTRO_NAME} $lst) - groups=$(pl_getGroups2 ${pl_DISTRO_NAME} $lst) - echo "${NAME} has the following packages and groups: ${packages} ${groups}" + packages=$(pl_getPackages ${pl_DISTRO_NAME} $pkgs) + groups=$(pl_getGroups ${pl_DISTRO_NAME} $pkgs) + echo "${NAME} has the following packages : ${packages}" + echo "${NAME} has the following groups : ${groups}" vdir=${PWD}/${pldistro}-filesystems/${NAME} rm -rf ${vdir}/* @@ -81,10 +78,15 @@ for lst in ${pldistro}-filesystems/*.lst ; do [ -n "$groups" ] && yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y groupinstall $groups if [ -f "${vdir}/proc/cpuinfo" ] ; then - echo "WARNING: some RPM appears to have mounted /proc in ${NAME}. Unmounting it!" - umount ${vdir}/proc + echo "WARNING: some RPM appears to have mounted /proc in ${NAME}. Unmounting it!" + umount ${vdir}/proc fi + # Remove unneeded services + for service in util-vserver vprocunhide vservers-default; do + chroot ${vdir} /sbin/chkconfig $service off + done + # Create a copy of the ${NAME} bootstrap filesystem w/o the base # bootstrap filesystem and make it smaller. This is a three step # process: @@ -112,7 +114,7 @@ for lst in ${pldistro}-filesystems/*.lst ; do rm -rf ${vdir} rm -f ${vdir}.changes mv ${vdir}-tmp ${vdir} - + echo "--------STARTING tar'ing PlanetLab-Bootstrap-${NAME}.tar.bz2: $(date)" tar -cpjf ${pldistro}-filesystems/PlanetLab-Bootstrap-${NAME}.tar.bz2 -C ${vdir} . echo "--------FINISHED tar'ing PlanetLab-Bootstrap-${NAME}.tar.bz2: $(date)"