5 CVSROOT=":pserver:anon@cvs.planet-lab.org:/cvs"
7 MAILTO="thierry.parmentelat@sophia.inria.fr"
11 # plc chroot runs in UTC
12 date=$(date -u +'%Y.%m.%d')
15 echo "$COMMAND [option]"
24 ### in the root context
25 function do_chroot () {
26 chroot /plc/devel/root su - build <<EOF
27 $CHROOTDIR/$COMMAND $@
31 # Notify recipient of failure
33 if [ -n "$MAILTO" ] ; then
34 tail -c 8k ${BUILD}/log-build.txt | mail -s "Failures for ${BUILD}" $MAILTO
40 if [ -n "$MAILTO" ] ; then
41 date | mail -s "Successfull build in ${BUILD}" $MAILTO
46 function create_base () {
47 BASE=${TAG/HEAD/`date +%Y.%m.%d`}
49 while ! mkdir ${BASE}${i} 2>/dev/null ; do
50 [ -z ${i} ] && BASE=${BASE}.
52 if [ $i -gt 100 ] ; then
53 echo "$0: Failed to create release directory `pwd`/${BASE}${i}"
60 function use_base () {
61 [ ! -d $BASE ] && mkdir $BASE
62 if [ ! -d $BASE ] ; then
63 echo $COMMAND failed to create base $BASE
68 function manage_distro () {
70 echo manage_distro disabled
72 # both .mk and .xml inserted into princeton's cvs
74 # DISTROFILE=$BUILD/$DISTRO.mk
76 # if [ -f $DISTROFILE ] ; then
77 # echo Using $DISTROFILE
78 # elif [ -f $ROOT/$DISTRO.mk ] ; then
79 # echo Using $ROOT/$DISTRO.mk
80 # ln -s $ROOT/$DISTRO.mk $DISTROFILE
82 # echo Could not locate $DISTRO.mk
86 # if [ "$DISTRO" != planetlab ] ; then
87 # DISTROFILE=$BUILD/$DISTRO.xml
89 # if [ -f $DISTROFILE ] ; then
90 # echo Using $DISTROFILE
91 # elif [ -f $ROOT/$DISTRO.xml ] ; then
92 # echo Using $ROOT/$DISTRO.xml
93 # ln -s $ROOT/$DISTRO.xml $DISTROFILE
95 # echo Could not locate $DISTRO.xml
106 echo -n "============================== Starting $COMMAND on "
112 cvs -d $CVSROOT co -d $BASE build
116 echo "Running make IN build $(pwd)"
117 make TAG=${TAG} PLDISTRO=${DISTRO} -C $BASE
126 function show_env () {
135 if [ -d /plc/devel/data ] ; then
138 while getopts "d:r:m:f:b:h" opt ; do
140 d) CVSROOT=$OPTARG ;;
148 shift $(($OPTIND - 1))
152 # if specified, use it, otherwise create from date
153 if [ -z "$BASE" ] ; then
160 build >> ${BUILD}/log-build.txt 2>&1