X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=f5f37b587201e80612fbd36abf87584890e76462;hb=0a01b28eebc804d85d4e40d2e38c493d1efb127b;hp=38c60a3c08b8fd24c0c843e22b39721d8c3f3341;hpb=9e80499f8a236d877178158a3fb730dcfff1850b;p=bootstrapfs.git diff --git a/build.sh b/build.sh index 38c60a3..f5f37b5 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,10 @@ 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 +# 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 -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)" @@ -87,6 +98,13 @@ for pkgs in ../build/config.${pldistro}/bootstrapfs-*.pkgs ; 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 + + # 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 # process: