From 088548b84b40ab4210371318025b11aea937ef5d Mon Sep 17 00:00:00 2001 From: thierry Date: Tue, 6 Nov 2007 00:33:30 +0000 Subject: [PATCH] one step towards logs --- scripts/nightly-build-vserver.sh | 57 +++++++++++++++++--------------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/scripts/nightly-build-vserver.sh b/scripts/nightly-build-vserver.sh index 3e07715..c8cc3fd 100755 --- a/scripts/nightly-build-vserver.sh +++ b/scripts/nightly-build-vserver.sh @@ -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 -- 2.47.0