X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=00cda860eac5e67670289ebbe78fad58983a17be;hb=cf0fe89911bfd82392c460ad1db113373b01d923;hp=ded4410414f528b11a33371f04c01cdc92073c62;hpb=e890ad7b125a2cd60c101c78edc91285eda68125;p=bootstrapfs.git diff --git a/build.sh b/build.sh index ded4410..00cda86 100755 --- a/build.sh +++ b/build.sh @@ -62,7 +62,16 @@ 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 +# optionally invoke a post processing script after packages from +# $pkgsfile have been installed +pkgsdir=$(dirname $pkgsfile) +pkgsname=$(basename $pkgsfile .pkgs) +postfile="${pkgsdir}/${pkgsname}.post" +[ -f $postfile ] && /bin/bash $postfile ${vref} || : + +# 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-,,) echo "--------START BUILDING PlanetLab-Bootstrap-${NAME}: $(date)" @@ -90,17 +99,13 @@ for pkgs in ../build/config.${pldistro}/bootstrapfs-*.pkgs ; do umount ${vdir}/proc fi - # Remove unneeded services - for service in util-vserver vprocunhide vservers-default; do - chroot ${vdir} /sbin/chkconfig $service off - done + # optionally invoke a post processing script after packages from + # $pkgs have been installed + pkgsdir=$(dirname $pkgs) + pkgsname=$(basename $pkgs .pkgs) + postfile="${pkgsdir}/${pkgsname}.post" + [ -f $postfile ] && /bin/bash $postfile ${vdir} || : - # Disable splaying of cron. - # At this step, vdir is base, and vref is the set of changes that end up in the nodegroup - echo > ${vdir}/etc/sysconfig/crontab - - # Add site_admin account - chroot ${vdir} /usr/sbin/useradd -p "" -u 502 -m site_admin # Create a copy of the ${NAME} bootstrap filesystem w/o the base # bootstrap filesystem and make it smaller. This is a three step @@ -138,7 +143,8 @@ done # Build the base Bootstrap filesystem # clean out yum cache to reduce space requirements -yum -c ${vref}/etc/yum.conf --installroot=${vdir} -y clean all +yum -c ${vref}/etc/yum.conf --installroot=${vref} -y clean all + echo "--------STARTING tar'ing PlanetLab-Bootstrap.tar.bz2: $(date)" tar -cpjf PlanetLab-Bootstrap.tar.bz2 -C ${vref} . echo "--------FINISHED tar'ing PlanetLab-Bootstrap.tar.bz2: $(date)"