# PlanetLab devbox release script. Intended to be used by scripts and
# crontabs to build nightly releases (default).
#
-# $Id:$
+# $Id: devbox.sh,v 1.4 2005/09/21 18:57:53 mef Exp $
#
# Set defaults
# Export certain variables
export CVS_RSH
+BASE=
# Get options
while getopts "d:r:m:b:x:h" opt ; do
case $opt in
done
# Base operations in specified directory
-BASE=`mktemp -d /tmp/DEVBOX.XXXXXX` || { echo $"could not make temp file" >& 2; exit 1; }
-mkdir -p $BASE
+if [ -z "$BASE" ]; then
+ BASE=`mktemp -d /tmp/DEVBOX.XXXXXX` || { echo $"could not make temp file" >& 2; exit 1; }
+ mkdir -p $BASE
+fi
cd $BASE || exit $?
+DAT=`date +%Y.%m.%d`
# Redirect output from here
exec 2>&1
-exec &>${BASE}/log
+exec &>${BASE}/${DAT}/devbox.log
# XXX For debugging
set -x
REPOSITORY=/var/www/html/install-rpms
for RELEASE in devbox alpha-devbox beta-devbox ; do
- TMPDEVBOXRELEASE=planetlab-${RELEASE}_`date +%Y.%m.%d`_tmp
+ TMPDEVBOXRELEASE=planetlab-${RELEASE}_${DAT}_tmp
DEVBOXRELEASE=planetlab-${RELEASE}
ssh $SERVER mkdir -p ${REPOSITORY}/${TMPDEVBOXRELEASE}
BUILT=$(echo $DEVBOXRELEASE | sed "s,\-devbox,,")
ssh $SERVER ln -nf ${REPOSITORY}/$BUILT/*.rpm ${REPOSITORY}/${TMPDEVBOXRELEASE}
- mkdir -p ${BASE}/${DEVBOXRELEASE}
- cvs -d ${CVSROOT} checkout -p alpina/groups/${RELEASE}_yumgroups.xml > ${BASE}/${DEVBOXRELEASE}/yumgroups.xml
- scp ${BASE}/${DEVBOXRELEASE}/yumgroups.xml ${SERVER}:${REPOSITORY}/${TMPDEVBOXRELEASE}/yumgroups.xml
-
- ssh $SERVER yum-arch ${REPOSITORY}/${TMPDEVBOXRELEASE} >/dev/null
+ mkdir -p ${BASE}/${DAT}/${DEVBOXRELEASE}
+ install -D -m 644 ${DAT}/groups/${RELEASE}_yumgroups.xml ${BASE}/${DAT}/${DEVBOXRELEASE}/yumgroups.xml
+ scp ${BASE}/${DAT}/${DEVBOXRELEASE}/yumgroups.xml ${SERVER}:${REPOSITORY}/${TMPDEVBOXRELEASE}/yumgroups.xml
+ ssh $SERVER rm -rf ${REPOSITORY}/${DEVBOXRELEASE}-old
ssh $SERVER mv ${REPOSITORY}/${DEVBOXRELEASE} ${REPOSITORY}/${DEVBOXRELEASE}-old
ssh $SERVER mv ${REPOSITORY}/${TMPDEVBOXRELEASE} ${REPOSITORY}/${DEVBOXRELEASE}
- if [ $? -ne 0 ] ; then
- ssh $SERVER mv ${REPOSITORY}/${DEVBOXRELEASE}-old ${REPOSITORY}/${DEVBOXRELEASE}
- else
- ssh $SERVER rm -rf ${REPOSITORY}/${DEVBOXRELEASE}-old
- fi
+ ssh $SERVER rm -rf ${REPOSITORY}/${DEVBOXRELEASE}-old
+
+ ssh $SERVER yum-arch ${REPOSITORY}/${DEVBOXRELEASE} >/dev/null
+ ssh $SERVER createrepo -g yumgroups.xml ${REPOSITORY}/${DEVBOXRELEASE} >/dev/null
done
cd / || exit $?
-rm -rf $BASE
+#rm -rf $BASE
exit 0