X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=70cb134fff4a48cd3af2a14a176407ad1eb52c41;hb=5f649411973be2bb9a5ad7f995127456374118ce;hp=05508d2c968818beda1acdf4c85bd58554565de3;hpb=1df8a90b58c73356b24db58e7ad958b9e299990b;p=bootstrapfs.git diff --git a/build.sh b/build.sh index 05508d2..70cb134 100755 --- a/build.sh +++ b/build.sh @@ -10,6 +10,14 @@ # $Id: buildnode.sh,v 1.12.6.1 2007/08/30 20:09:20 mef Exp $ # + +# +# This will build the Planetlab-Bootstrap.tar.bz2, which comprises +# the base root image on the node, then create the ${NAME} bootstrap image +# which is made up of just the additional files needed for a ${NAME} nodegroup +# node. +# + PATH=/sbin:/bin:/usr/sbin:/usr/bin # In both a normal CVS environment and a PlanetLab RPM @@ -54,7 +62,12 @@ 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 +postfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs.post) +[ "$postfile" != "not-found-by-pl_locateDistroFile" ] && /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)" @@ -82,10 +95,9 @@ 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 + postfile=$(echo $pkgs | sed -e s,pkgs,post, ) + [ "$postfile" != "not-found-by-pl_locateDistroFile" ] && /bin/bash $postfile ${vdir} || : + # Create a copy of the ${NAME} bootstrap filesystem w/o the base # bootstrap filesystem and make it smaller. This is a three step @@ -115,13 +127,6 @@ for pkgs in ../build/config.${pldistro}/bootstrapfs-*.pkgs ; do rm -f ${vdir}.changes mv ${vdir}-tmp ${vdir} - # Add site_admin account - chroot ${vdir} /usr/sbin/useradd -p "" -u 502 -m site_admin - - # Disable /etc/cron.*/000-delay.cron. Used to splay crons. PL crons - # already do this. - echo > ${vdir}/etc/sysconfig/crontab - 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)" @@ -131,6 +136,7 @@ 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 + 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)"