3 REVISION=$(echo '$Revision:$')
7 CVSROOT=":pserver:anon@cvs.planet-lab.org:/cvs"
9 MAILTO="thierry.parmentelat@sophia.inria.fr"
13 # plc chroot runs in UTC
14 date=$(date -u +'%Y.%m.%d')
16 ### in the root context
17 function do_chroot () {
18 chroot /plc/devel/root su - build <<EOF
19 $CHROOTDIR/$COMMAND $@
23 # Notify recipient of failure
25 if [ -n "$MAILTO" ] ; then
26 tail -c 8k ${BUILD}/log-build.txt | mail -s "Failures for ${BUILD}" $MAILTO
32 if [ -n "$MAILTO" ] ; then
33 date | mail -s "Successfull build in ${BUILD}" $MAILTO
38 function create_base () {
39 BASE=${TAG/HEAD/`date +%Y.%m.%d`}
41 while ! mkdir ${BASE}${i} 2>/dev/null ; do
42 [ -z ${i} ] && BASE=${BASE}.
44 if [ $i -gt 100 ] ; then
45 echo "$0: Failed to create release directory `pwd`/${BASE}${i}"
52 function use_base () {
53 [ ! -d $BASE ] && mkdir $BASE
54 if [ ! -d $BASE ] ; then
55 echo $COMMAND failed to create base $BASE
64 echo -n "============================== Starting $COMMAND on "
70 cvs -d $CVSROOT co -d $BASE build
72 echo "Running make IN build $(pwd)"
73 make ${MAKEOPTS[@]} TAG=${TAG} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C $BASE $MAKETARGETS
82 function show_env () {
90 echo "Usage: $COMMAND [option] make-targets"
91 echo "Supported options"
98 echo " -s MAKEVAR=value - spaces in value are not supported"
99 echo " -n passed to make"
105 if [ -d /plc/devel/data ] ; then
110 while getopts "vd:r:m:f:b:s:nh" opt ; do
113 d) CVSROOT=$OPTARG ;;
118 s) MAKEVARS=(${MAKEVARS[@]} $OPTARG) ;;
119 n) MAILTO="" ; MAKEOPTS=(${MAKEOPTS[@]} -n) ;;
123 shift $(($OPTIND - 1))
129 # if specified, use it, otherwise create from date
130 if [ -z "$BASE" ] ; then
137 build >> ${BUILD}/log-build.txt 2>&1