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 # DISTROFILE=$BUILD/$DISTRO.mk
72 # if [ -f $DISTROFILE ] ; then
73 # echo Using $DISTROFILE
74 # elif [ -f $ROOT/$DISTRO.mk ] ; then
75 # echo Using $ROOT/$DISTRO.mk
76 # ln -s $ROOT/$DISTRO.mk $DISTROFILE
78 # echo Could not locate $DISTRO.mk
82 if [ "$DISTRO" != planetlab ] ; then
83 DISTROFILE=$BUILD/$DISTRO.xml
85 if [ -f $DISTROFILE ] ; then
86 echo Using $DISTROFILE
87 elif [ -f $ROOT/$DISTRO.xml ] ; then
88 echo Using $ROOT/$DISTRO.xml
89 ln -s $ROOT/$DISTRO.xml $DISTROFILE
91 echo Could not locate $DISTRO.xml
102 echo -n "============================== Starting $COMMAND on "
108 cvs -d $CVSROOT co -d $BASE build
112 echo "Running make IN build $(pwd)"
113 make TAG=${TAG} PLDISTRO=${DISTRO} -C $BASE
122 function show_env () {
131 if [ -d /plc/devel/data ] ; then
134 while getopts "d:r:m:f:b:h" opt ; do
136 d) CVSROOT=$OPTARG ;;
144 shift $(($OPTIND - 1))
148 # if specified, use it, otherwise create from date
149 if [ -z "$BASE" ] ; then
156 build >> ${BUILD}/log-build.txt 2>&1