X-Git-Url: http://git.onelab.eu/?p=bootstrapfs.git;a=blobdiff_plain;f=build.sh;h=4fb0ae2028ff4f7a06f53bf722fa17a311911c26;hp=ee89cdf3a9986c0780504899ff0c7667e247c972;hb=93d5af679f27df402ba8f2f06860d34bc331a828;hpb=6d7b4f6d3f5d8a04d2a8a995d82bb7e4288ab066 diff --git a/build.sh b/build.sh index ee89cdf..4fb0ae2 100755 --- a/build.sh +++ b/build.sh @@ -7,7 +7,7 @@ # Copyright (C) 2005-2007 The Trustees of Princeton University # # $Id$ -# +# $URL$ # # This will build the bootstrafs-*.tar.bz2 images, which comprises @@ -15,6 +15,7 @@ # which is made up of just the additional files needed for a ${NAME} nodegroup # node. # +# It is expected to be in sync with the getNodeFlavour PLCAPI method PATH=/sbin:/bin:/usr/sbin:/usr/bin @@ -39,6 +40,9 @@ shift $shiftcount # expecting fcdistro and pldistro on the command line pldistro=$1; shift fcdistro=${pl_DISTRO_NAME} +arch=${pl_DISTRO_ARCH} +nodefamily=${pldistro}-${fcdistro}-${arch} +extensionfamily=${fcdistro}-${arch} # Do not tolerate errors set -e @@ -60,7 +64,7 @@ pl_root_mkfedora ${vref} ${pldistro} $pkgsfile # optionally invoke a post processing script after packages from # $pkgsfile have been installed -postfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs.post) +postfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs.post || : ) [ -f $postfile ] && { echo "Running post install file $postfile" ; /bin/bash $postfile ${vref} || : ; } displayed="" @@ -70,11 +74,11 @@ pkgs_count=$(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc [ $pkgs_count -gt 0 ] && for pkgs in $(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs); do NAME=$(basename $pkgs .pkgs | sed -e s,bootstrapfs-,,) - [ -z "$displayed" ] && echo "* Handling ${plistro} bootstrapfs extensions" + [ -z "$displayed" ] && echo "* Handling ${pldistro} bootstrapfs extensions" displayed=true - extension_plain=bootstrapfs-${NAME}-${pl_DISTRO_ARCH}.tar - extension_name=bootstrapfs-${NAME}-${pl_DISTRO_ARCH}.tar.bz2 + extension_plain=bootstrapfs-${NAME}-${extensionfamily}.tar + extension_name=bootstrapfs-${NAME}-${extensionfamily}.tar.bz2 echo "* Start Building $extension_name: $(date)" @@ -94,7 +98,11 @@ pkgs_count=$(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc # Install the system vserver specific packages [ -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 + for group_plus in $groups; do + group=$(echo $group_plus | sed -e "s,+++, ,g") + yum -c ${vdir}/etc/mkfedora-yum.conf --installroot=${vdir} -y groupinstall "$group" + done + if [ -f "${vdir}/proc/cpuinfo" ] ; then echo "WARNING: some RPM appears to have mounted /proc in ${NAME}. Unmounting it!" @@ -103,7 +111,7 @@ pkgs_count=$(ls ../build/config.${pldistro}/bootstrapfs-*.pkgs 2> /dev/null | wc # optionally invoke a post processing script after packages from # $pkgs have been installed - postfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs-${NAME}.post) + postfile=$(pl_locateDistroFile ../build/ ${pldistro} bootstrapfs-${NAME}.post || : ) [ -f $postfile ] && { echo "Running post install file $postfile" ; /bin/bash $postfile ${vdir} || : ; } # Create a copy of the ${NAME} bootstrap filesystem w/o the base @@ -145,8 +153,8 @@ done # clean out yum cache to reduce space requirements 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 +bootstrapfs_plain=bootstrapfs-${nodefamily}.tar +bootstrapfs_name=bootstrapfs-${nodefamily}.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) "