X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=00cda860eac5e67670289ebbe78fad58983a17be;hb=cf0fe89911bfd82392c460ad1db113373b01d923;hp=f5f37b587201e80612fbd36abf87584890e76462;hpb=0a01b28eebc804d85d4e40d2e38c493d1efb127b;p=bootstrapfs.git diff --git a/build.sh b/build.sh index f5f37b5..00cda86 100755 --- a/build.sh +++ b/build.sh @@ -62,9 +62,15 @@ pkgsfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs.pkgs) # -k = exclude kernel* packages pl_root_mkfedora -k -f $pkgsfile ${vref} +# 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 -shopt -s nullglob -pkgs_count=(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc -l) +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-,,) @@ -93,17 +99,13 @@ pkgs_count=(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc umount ${vdir}/proc fi - # Remove unneeded services - for service in util-vserver vprocunhide vservers-default; do - chroot ${vdir} /sbin/chkconfig $service off - done - - # 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 + # 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} || : - # 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 @@ -141,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)"