one step towards logs
authorthierry <thierry@41d37cc5-eb28-0410-a9bf-d37491348ade>
Tue, 6 Nov 2007 00:33:30 +0000 (00:33 +0000)
committerthierry <thierry@41d37cc5-eb28-0410-a9bf-d37491348ade>
Tue, 6 Nov 2007 00:33:30 +0000 (00:33 +0000)
scripts/nightly-build-vserver.sh

index 3e07715..c8cc3fd 100755 (executable)
@@ -25,22 +25,22 @@ DATE=$(date -u +'%Y.%m.%d')
 # Notify recipient of failure or success, manage various stamps 
 function failure() {
     set -x
-    (echo -n "============================== $COMMAND: failure at" ; date ; tail -c 20k ${BUILD}/log-build.txt) >> ${BUILD}.broken
+    (echo -n "============================== $COMMAND: failure at" ; date ; tail -c 20k /log-build.txt) >> /build.broken
     if [ -n "$MAILTO" ] ; then
-       tail -c 8k ${BUILD}/log-build.txt | mail -s "Failures for ${BUILD}" $MAILTO
+       tail -c 8k /log-build.txt | mail -s "Failures for ${BASE}" $MAILTO
     fi
     exit 1
 }
 
 function success () {
     set -x
-    touch ${BUILD}.ok
+    touch /build.ok
     if [ -n "$MAILTO" ] ; then
-       (echo "http://build.one-lab.org/$DISTRO/$BASE" ; echo "Completed on $(date)" ) | mail -s "Successfull build in ${BUILD}" $MAILTO
+       (echo "http://build.one-lab.org/$DISTRO/$BASE" ; echo "Completed on $(date)" ) | mail -s "Successfull build for ${BASE}" $MAILTO
     fi
-    cd ${ROOT}
-    rm -f latest
-    ln -s $BASE latest
+#    cd ${ROOT}
+#    rm -f latest
+#    ln -s $BASE latest
     exit 0
 }
 
@@ -52,12 +52,12 @@ function build () {
     echo -n "============================== Starting $COMMAND:build on "
     date
 
-    cd $ROOT
-    svn checkout $SVNPATH $BASE
+    cd /
+#    svn checkout $SVNPATH $BASE
 
   # if TAGSRELEASE specified : update DISTROMAKETAGS with this tag
     if [ -n "$TAGSRELEASE" ] ; then
-       cd $BASE
+       cd build
        svn up -r $TAGSRELEASE $DISTROMAKETAGS
        cd -
     fi
@@ -65,12 +65,12 @@ function build () {
     show_env
     
     echo "Running make IN build $(pwd)"
-    make stage1=true ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C $BASE 
+    make stage1=true ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C /build
     # in case we use an older build
     set +e
-    make ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C $BASE versions
+    make ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C /build versions
     set -e
-    make ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C $BASE $MAKETARGETS
+    make ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C /build $MAKETARGETS
 
     # restore silent mode - otherwise cron gets it
     set +x
@@ -124,7 +124,7 @@ function show_env () {
     echo DISTROMAKETAGS="$DISTROMAKETAGS"
     echo TAGSRELEASE="$TAGSRELEASE"
     echo "XXXXXXXXXXXXXXXXXXXX Contents of tags definition file $DISTROMAKETAGS"
-    cat $BASE/$DISTROMAKETAGS
+    cat /build/$DISTROMAKETAGS
     echo "XXXXXXXXXXXXXXXXXXXX end tags definition"
 }
 
@@ -189,14 +189,15 @@ function main () {
     if [ -d /vservers ] ; then
        
        if [ -n "$USEOLD" ] ; then
-           echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX using existing base $BASE" $(date)
             ### Re-use a vserver (finish an unfinished build..)
            if [ ! -d /vservers/${BASE} ] ; then
                echo $COMMAND : cannot find vserver $BASE
                exit 1
            fi
            # update build
-           vserver ${BASE} exec svn update /build
+           LOG=/vservers/${BASE}.log
+           echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX using existing base $BASE" $(date) >> $LOG 2>&1
+           vserver ${BASE} exec svn update /build >> $LOG 2>&1
        else
            # create vserver: check it does not exist yet
            i=
@@ -209,35 +210,37 @@ function main () {
                fi
            done
            BASE=${BASE}${i}
-           echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX creating base $BASE" $(date)
+           LOG=/vservers/${BASE}.log
+           echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX creating base $BASE" $(date) >> $LOG 2>&1
            ### extract vbuild.setup and run it
-           svn cat $SVNPATH/vbuild.setup > /tmp/vbuild-$$
-           svn cat $SVNPATH/${DISTRO}-devel.lst > /tmp/${DISTRO}-devel.lst
+           svn cat $SVNPATH/vbuild.setup > /tmp/vbuild-$$  >> $LOG 2>&1
+           svn cat $SVNPATH/${DISTRO}-devel.lst > /tmp/${DISTRO}-devel.lst  >> $LOG 2>&1
             # Create vserver
            cd /tmp
            chmod +x vbuild-$$
-           /tmp/vbuild-$$ ${BASE} ${FC_DISTRO} ${DISTRO}-devel
+           /tmp/vbuild-$$ ${BASE} ${FC_DISTRO} ${DISTRO}-devel  >> $LOG 2>&1
            cd -
            # Extract build
-           vserver ${BASE} exec svn checkout ${SVNPATH} /build
+           vserver ${BASE} exec svn checkout ${SVNPATH} /build  >> $LOG 2>&1
        fi
 
        cp $COMMANDPATH /vservers/${BASE}/
        # invoke this command in the vserver
        echo "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX preparation of vserver $BASE done" $(date)
-       vserver ${BASE} exec /$COMMAND "$@"
+       vserver ${BASE} exec /$COMMAND "$@"  >> $LOG 2>&1
 
     else
        if [ -n "$DO_BUILD" ] ; then 
-           build >> /log-build.txt 2>&1 
+           build 
            touch /build-ok
        fi
     
-       if [ -n "$DO_TEST" ] ; then 
-           runtest ${BUILD} >> ${BUILD}/log-build.txt 2>&1 
-       fi
+       # does not work yet
+       #if [ -n "$DO_TEST" ] ; then 
+       #runtest ${BUILD} 
+       #fi
     
-       success >> ${BUILD}/log-build.txt 2>&1 
+       success 
 
     fi