X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=build.sh;h=5fa20a819c6fdd7deb8322352fed3a14e1f854fb;hb=c104e28ef76af8984380e3a3d71dced9a1a63386;hp=7150ef07e592345d8f92fd086ddacbc66484f73c;hpb=3c48f91acd23ce8c986c3d076f15c2d184ea74ec;p=bootmanager.git diff --git a/build.sh b/build.sh index 7150ef0..5fa20a8 100755 --- a/build.sh +++ b/build.sh @@ -1,19 +1,16 @@ #!/bin/bash # -# Builds bootmanager.sh[.sgn], the PlanetLab Boot Manager script, and -# PlanetLab-Bootstrap.tar.bz2, the initial root filesystem of a new -# PlanetLab node. For backward compatibility with old version 2.0 Boot -# CDs, additional utilities are also built and packaged as -# alpina-BootLVM.tar.gz and alpina-PartDisks.tar.gz. +# Builds bootmanager.sh[.sgn], which is the PlanetLab Boot Manager script. # # The bootmanager.sh script contains in it a uuencoded tarball of the # Boot Manager, customized for this PLC installation. # # Aaron Klingaman # Mark Huang -# Copyright (C) 2004-2006 The Trustees of Princeton University +# Marc E. Fiuczynski +# Copyright (C) 2004-2007 The Trustees of Princeton University # -# $Id$ +# $Id: build.sh,v 1.5 2006/04/03 19:40:55 mlhuang Exp $ # # Source PLC configuration @@ -28,9 +25,20 @@ fi # Do not tolerate errors set -e +NODEGROUP=$1 + +BOOTSTRAPDIR="/boot" +if [ -n "$NODEGROUP" ] ; then + BOOTSTRAPDIR="/boot/$NODEGROUP" +fi + + # Change to our source directory srcdir=$(cd $(dirname $0) && pwd -P) +# Translate configuration file +sed -i -e "s|SUPPORT_FILE_DIR=.*|SUPPORT_FILE_DIR=$BOOTSTRAPDIR|" $srcdir/source/configuration + # Source bootmanager configuration . $srcdir/source/configuration @@ -38,6 +46,12 @@ srcdir=$(cd $(dirname $0) && pwd -P) # after a nonce check. DEST_SCRIPT=bootmanager.sh +if [ -n "$NODEGROUP" ] ; then + DEST_SCRIPT="${NODEGROUP}_bootmanager.sh" + # Remove the old version or any sym links prior to re-writing + rm -f ${DEST_SCRIPT} + rm -f ${DEST_SCRIPT}.sgn +fi cat > $DEST_SCRIPT <> $DEST_SCRIPT +tar -cj -C $srcdir source/ -C $extra_libs source/ | uuencode -m - >> $DEST_SCRIPT + +# Remove temp directory +rm -fr $extra_libs echo '_EOF_' >> $DEST_SCRIPT echo 'cd /tmp/source' >> $DEST_SCRIPT