X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=8bfbb5a57bbb73adf608614849bd5624ede5bec8;hb=a26df2ba741f55e6eb1fb0003a798959ba624090;hp=3e14f541ac08e272e03db28c09760eb0a59c733a;hpb=4792f25a6dfdb2c63404bfafc9292eb600d0b309;p=bootstrapfs.git diff --git a/build.sh b/build.sh index 3e14f54..8bfbb5a 100755 --- a/build.sh +++ b/build.sh @@ -9,7 +9,6 @@ # $Id: buildnode.sh,v 1.12.6.1 2007/08/30 20:09:20 mef Exp $ # - # # This will build the bootstrafs-*.tar.bz2 images, which comprises # the base root image on the node, then create the ${NAME} bootstrap image @@ -55,7 +54,7 @@ install -d -m 755 ${vref} pl_root_makedevs $vref pkgsfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs.pkgs) -echo "--------START BUILDING PlanetLab-Bootstrap: $(date)" +echo "* Building Bootstrapfs for ${pldistro}: $(date)" # -k = exclude kernel* packages pl_root_mkfedora ${vref} ${pldistro} $pkgsfile @@ -64,21 +63,22 @@ pl_root_mkfedora ${vref} ${pldistro} $pkgsfile pkgsdir=$(dirname $pkgsfile) pkgsname=$(basename $pkgsfile .pkgs) postfile="${pkgsdir}/${pkgsname}.post" -[ -f $postfile ] && /bin/bash $postfile ${vref} || : +[ -f $postfile ] && { echo "Running post install file $postfile" ; /bin/bash $postfile ${vref} || : ; } -once=1 +displayed="" # for distros that do not define bootstrapfs variants pkgs_count=$(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc -l) [ $pkgs_count -gt 0 ] && for pkgs in $(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs); do NAME=$(basename $pkgs .pkgs | sed -e s,bootstrapfs-,,) - if [ $once -eq 1 ] ; then - once=0 - echo "--------CREATING PlanetLab-Bootstrap SUBPACKAGES" - fi + [ -z "$displayed" ] && echo "* Handling ${plistro} bootstrapfs extensions" + displayed=true - echo "--------START BUILDING PlanetLab-Bootstrap-${NAME}: $(date)" + extension_plain=bootstrapfs-${NAME}-${pl_DISTRO_ARCH}.tar + extension_name=bootstrapfs-${NAME}-${pl_DISTRO_ARCH}.tar.bz2 + + echo "* Start Building $extension_name: $(date)" # "Parse" out the packages and groups for yum packages=$(pl_getPackages $fcdistro $pldistro $pkgs) @@ -95,8 +95,8 @@ pkgs_count=$(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc rm -f ${vdir}/var/lib/rpm/__db* # Install the system vserver specific packages - [ -n "$packages" ] && yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y install $packages - [ -n "$groups" ] && yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y groupinstall $groups + [ -n "$packages" ] && yum -c ${vdir}/etc/mkfedora-yum.conf --installroot=${vdir} -y install $packages + [ -n "$groups" ] && yum -c ${vdir}/etc/mkfedora-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!" @@ -116,7 +116,7 @@ pkgs_count=$(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc # process: # step 1: clean out yum cache to reduce space requirements - yum -c ${vdir}/etc/yum.conf --installroot=${vdir} -y clean all + yum -c ${vdir}/etc/mkfedora-yum.conf --installroot=${vdir} -y clean all # step 2: figure out the new/changed files in ${vdir} vs. ${vref} and compute ${vdir}.changes rsync -anv ${vdir}/ ${vref}/ > ${vdir}.changes @@ -139,19 +139,23 @@ pkgs_count=$(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc rm -f ${vdir}.changes mv ${vdir}-tmp ${vdir} - echo "--------STARTING tar'ing bootstrapfs-${NAME}-${pl_DISTRO_ARCH}.tar.bz2: $(date)" - tar -cpjf ${pldistro}-filesystems/bootstrapfs-${NAME}-${pl_DISTRO_ARCH}.tar.bz2 -C ${vdir} . - echo "--------FINISHED tar'ing bootstrapfs-${NAME}-${pl_DISTRO_ARCH}.tar.bz2: $(date)" - echo "--------DONE BUILDING bootstrapfs-${NAME}-${pl_DISTRO_ARCH}: $(date)" + echo -n "* tar $extension_name s=$(date +%H-%M-%S)" + tar -cpf ${pldistro}-filesystems/$extension_plain -C ${vdir} . + echo -n " m=$(date +%H-%M-%S) " + bzip2 --compress --stdout ${pldistro}-filesystems/$extension_plain > ${pldistro}-filesystems/$extension_name + echo " e=$(date +%H-%M-%S) " done # Build the base Bootstrap filesystem # clean out yum cache to reduce space requirements -yum -c ${vref}/etc/yum.conf --installroot=${vref} -y clean all - -echo "--------STARTING tar'ing bootstrapfs-${pldistro}-${pl_DISTRO_ARCH}.tar.bz2: $(date)" -tar -cpjf bootstrapfs-${pldistro}-${pl_DISTRO_ARCH}.tar.bz2 -C ${vref} . -echo "--------FINISHED tar'ing bootstrapfs-${pldistro}-${pl_DISTRO_ARCH}.tar.bz2: $(date)" -echo "--------DONE BUILDING PlanetLab-Bootstrap: $(date)" +yum -c ${vref}/etc/mkfedora-yum.conf --installroot=${vref} -y clean all + +bootstrapfs_plain=bootstrapfs-${pldistro}-${pl_DISTRO_ARCH}.tar +bootstrapfs_name=bootstrapfs-${pldistro}-${pl_DISTRO_ARCH}.tar.bz2 +echo -n "* tar $bootstrapfs_name s=$(date +%H-%M-%S)" +tar -cpf $bootstrapfs_plain -C ${vref} . +echo -n " m=$(date +%H-%M-%S) " +bzip2 --compress --stdout $bootstrapfs_plain > $bootstrapfs_name +echo " e=$(date +%H-%M-%S) " exit 0