- remove obsolete cvsps junk
[build.git] / build.sh
index 4aca255..a77b409 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -4,21 +4,28 @@
 # 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.20 2004/12/01 03:23:48 mlhuang Exp $
+# Mark Huang <mlhuang@cs.princeton.edu>
+# Copyright (C) 2003-2005 The Trustees of Princeton University
+#
+# $Id: build.sh,v 1.30 2005/05/04 20:34:59 mlhuang Exp $
 #
 
 # Set defaults
-CVSROOT=:pserver:anon@build.planet-lab.org:/cvs
+CVSROOT=:pserver:anon@cvs.planet-lab.org:/cvs
 CVS_RSH=ssh
 MODULE=build
 TAG=HEAD
 BASE=$PWD
+MAKEFILE=Makefile
+
+# cron does not set USER?
+[ -z "$USER" ] && export USER=$LOGNAME
 
 # Export certain variables
 export CVS_RSH
 
 # Get options
-while getopts "d:r:m:b:x:h" opt ; do
+while getopts "d:r:m:f:b:x:h" opt ; do
     case $opt in
        d)
            CVSROOT=$OPTARG
@@ -29,6 +36,9 @@ while getopts "d:r:m:b:x:h" opt ; do
        m)
            MAILTO=$OPTARG
            ;;
+       f)
+           MAKEFILE=$OPTARG
+           ;;
        b)
            BASE=$OPTARG
            ;;
@@ -46,6 +56,7 @@ while getopts "d:r:m:b:x:h" opt ; do
            ;;
     esac
 done
+shift $(($OPTIND - 1))
 
 # Base operations in specified directory
 mkdir -p $BASE
@@ -75,7 +86,8 @@ exec &>${BASE}/log
 
 # Build
 cvs -d ${CVSROOT} export -r ${TAG} -d ${BASE} ${MODULE}
-make -C ${BASE}
+make -f ${MAKEFILE} -C ${BASE} && \
+make -f ${MAKEFILE} -C ${BASE} install BASE=$BASE BUILDS=$BUILDS
 rc=$?
 
 if [ $rc -ne 0 ] ; then
@@ -86,41 +98,4 @@ if [ $rc -ne 0 ] ; then
     exit $rc
 fi
 
-# XXX For debugging
-set -x
-
-# XXX Should check out a tagged version of yumgroups.xml
-cvs -d ${CVSROOT} checkout -p alpina/groups/v3_yumgroups.xml > ${BASE}/RPMS/yumgroups.xml
-
-# Create 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
-# Put nightly alpha builds in a subdirectory
-if [ "$TAG" = "HEAD" ] ; then
-    ARCHIVE=$ARCHIVE/planetlab-alpha
-    REPOS=/www/planetlab/install-rpms/planetlab-alpha
-fi
-
-# Remove old runs
-if [ -n "$BUILDS" ] ; then
-    echo "cd $ARCHIVE && ls -t | sed -n ${BUILDS}~1p | xargs rm -rf" | ssh $SERVER /bin/bash -s
-fi
-
-# Populate 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/
-    ssh $SERVER yum-arch $ARCHIVE/$BASE/$RPMS/ >/dev/null
-done
-
-# Update nightly alpha symlink
-if [ "$TAG" = "HEAD" ] ; then
-    ssh $SERVER ln -nsf $ARCHIVE/$BASE/RPMS/ $REPOS
-fi
-
 exit 0