COMMAND=$(basename $0)
ROOT=/build
+CHROOTBINDIR=/root/bin
+
+# default values, tunable with command-line options
CVSROOT=":pserver:anon@cvs.planet-lab.org:/cvs"
DISTRO=onelab
MAILTO="onelab-build@one-lab.org"
-TAG=HEAD
-CHROOTBINDIR=/root/bin
+TAGSFILE=onelab-tags.mk
+####################
# plc chroot runs in UTC
DATE=$(date -u +'%Y.%m.%d')
cvs -d $CVSROOT co -d $BASE build
echo "Running make IN build $(pwd)"
- make ${MAKEOPTS[@]} TAG=${TAG} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C $BASE $MAKETARGETS
+ make ${MAKEOPTS[@]} TAGSFILE=${TAGSFILE} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C $BASE $MAKETARGETS
# only if successful
rm -f latest
function show_env () {
echo ROOT=$ROOT
echo BASE=$BASE
- echo TAG=$TAG
echo DISTRO=$DISTRO
echo MAKEVARS="${MAKEVARS[@]}"
echo MAKEOPTS="${MAKEOPTS[@]}"
+ echo TAGSFILE=$TAGSFILE
+ echo "XXXXXXXXXXXXXXXXXXXX Contents of $TAGSFILE"
+ cat $TAGSFILE
+ echo "XXXXXXXXXXXXXXXXXXXX end contents"
}
function usage () {
echo " -e : exits (does nothing) if BASE already exists"
echo " -f DISTRO"
echo " -d CVSROOT"
- echo " -r TAG"
+ echo " -r TAGSFILE"
echo " -m MAILTO"
echo " -s MAKEVAR=value - spaces in value are not supported"
echo " -n passed to make"
case $opt in
v) set -x ;;
d) CVSROOT=$OPTARG ;;
- r) TAG=$OPTARG ;;
+ r) TAGSFILE=$OPTARG ;;
m) MAILTO=$OPTARG ;;
f) DISTRO=$OPTARG ;;
b) BASE=$OPTARG ;;
MAKETARGETS="$@"
cd $ROOT
- ### set BASE from TAG, if unspecified
- [ -z "$BASE" ] && BASE=${TAG}
+ ### set BASE from DISTRO, if unspecified
+ [ -z "$BASE" ] && BASE=${DISTRO}
if [ -n "$EXITIFOLD" -a -d "$BASE" ] ; then
echo "$COMMAND: -e : exits on existing base directory $BASE"