# crontabs to build nightly releases (default). Can also be invoked
# manually to build a tagged release (-r) in the current directory.
#
-# $Id: build.sh,v 1.18.2.1 2004/11/08 18:29:31 mlhuang Exp $
+# $Id: build.sh,v 1.18.2.2 2004/12/06 20:59:43 mlhuang Exp $
#
# Set defaults
exit $rc
fi
+# XXX For debugging
+set -x
+
# XXX Should check out a tagged version of yumgroups.xml
+echo "$(date) Getting yumgroups.xml"
cvs -d ${CVSROOT} checkout -p alpina/groups/v3_yumgroups.xml > ${BASE}/RPMS/yumgroups.xml
# Create package manifest
+echo "$(date) Creating package manifest"
URLBASE=$(cd ${BASE} && pwd -P)
URLBASE="http://build.planet-lab.org/${URLBASE##$HOME/}/SRPMS"
${BASE}/packages.sh -b ${URLBASE} ${BASE}/SRPMS > ${BASE}/SRPMS/packages.xml
# Upload packages to boot server
SERVER=build@boot.planet-lab.org
-ARCHIVE=/www/planetlab/install-rpms/archive
+ARCHIVE=/var/www/html/install-rpms/archive
# Put nightly alpha builds in a subdirectory
if [ "$TAG" = "HEAD" ] ; then
ARCHIVE=$ARCHIVE/planetlab-alpha
- REPOS=/www/planetlab/install-rpms/planetlab-alpha
+ REPOS=/var/www/html/install-rpms/planetlab-alpha
fi
# Remove old runs
if [ -n "$BUILDS" ] ; then
+ echo "$(date) Removing old runs"
echo "cd $ARCHIVE && ls -t | sed -n ${BUILDS}~1p | xargs rm -rf" | ssh $SERVER /bin/bash -s
fi
# Populate repository
+echo "$(date) Populating repository"
for RPMS in RPMS SRPMS ; do
ssh $SERVER mkdir -p $ARCHIVE/$BASE/$RPMS/
find $BASE/$RPMS/ -type f | xargs -i scp {} $SERVER:$ARCHIVE/$BASE/$RPMS/
done
# Update nightly alpha symlink
+echo "$(date) Updating symlink"
if [ "$TAG" = "HEAD" ] ; then
ssh $SERVER ln -nsf $ARCHIVE/$BASE/RPMS/ $REPOS
fi
+echo "$(date) $BASE done"
+
exit 0
#
# TMP=/tmp EDITOR=emacs crontab crontab
#
-# $Id: crontab,v 1.8 2004/09/27 02:47:24 mlhuang Exp $
+# $Id: crontab,v 1.10 2004/12/09 06:34:18 mlhuang Exp $
#
SHELL=/bin/bash
0 0 * * * cvs -d $CVSROOT checkout -p $MODULE/crontab 2>/dev/null | crontab -
# nightly build
-17 5 * * * sudo /usr/sbin/chroot /export0/fedora su - build /bin/sh -c "cvs -d $CVSROOT checkout -p $MODULE/build.sh 2>/dev/null | $SHELL -s -- -b $HOME/build/nightly -m $MAILTO -x 7" >/dev/null 2>&1
+17 5 * * * echo "SCRIPT=\$(mktemp /tmp/build.sh.XXXXXX) ; cvs -d $CVSROOT checkout -p $MODULE/build.sh >\$SCRIPT 2>/dev/null && $SHELL \$SCRIPT -b \$HOME/build/nightly -m $MAILTO -x 7 ; rm -f \$SCRIPT" | sudo /usr/sbin/chroot /export0/fedora su - build >/dev/null 2>&1