DEFAULT_BASE="@DATE@--@PLDISTRO@-@FCDISTRO@"
DEFAULT_SVNPATH="http://svn.planet-lab.org/svn/build/trunk"
-DEFAULT_MAILTO_onelab="onelab-build@one-lab.org"
-# tmp - send all mails to onelab
-#DEFAULT_MAILTO_planetlab="devel@planet-lab.org"
-DEFAULT_MAILTO_planetlab=$DEFAULT_MAILTO_onelab
+# NOTE: do not think we want to put email addresses into scripts
+# that can be harvested by spambots. --mef
+DEFAULT_MAILTO="onelab-build@one-lab.org"
# web publishing results
DEFAULT_WEBPATH="/build/@PLDISTRO@/"
# assuming vserver runs in UTC
DATE=$(date +'%Y.%m.%d')
+# temporary - wrap a quick summary of suspicious stuff
+# this is to focus on installation that go wrong
+# use with care, a *lot* of other things can go bad as well
+function summary () {
+ from=$1; shift
+ echo "******************** BEG SUMMARY"
+ tr -d '\r' < $from | egrep 'BEG RPM|not installed|Installing:.*([eE]rror|[wW]arning)'
+ echo "******************** END SUMMARY"
+}
+
+
# Notify recipient of failure or success, manage various stamps
function failure() {
set -x
+ WEBLOG=${WEBPATH}/${BASE}.log.txt
+ cp $LOG ${WEBLOG}
+ summary $LOG >> ${WEBLOG}
+ (echo -n "============================== $COMMAND: failure at " ; date ; tail -c 20k $WEBLOG) > ${WEBLOG}.ko
if [ -n "$MAILTO" ] ; then
- tail -c 8k $LOG | mail -s "Failures for build ${BASE}" $MAILTO
+ tail -c 20k ${WEBPATH}/${BASE}.log.txt | mail -s "Failures for build ${BASE}" $MAILTO
fi
- cp $LOG ${WEBPATH}/${BASE}.log.txt
- (echo -n "============================== $COMMAND: failure at" ; date ; tail -c 20k $LOG) > ${WEBPATH}/${BASE}.bko.txt
exit 1
}
function success () {
set -x
+ WEBLOG=${WEBPATH}/${BASE}.log.txt
+ cp $LOG ${WEBLOG}
+ summary $LOG >> ${WEBLOG}
+ touch ${WEBLOG}.ok
if [ -n "$MAILTO" ] ; then
- (echo "http://build.one-lab.org/$PLDISTRO/$BASE" ; echo "Completed on $(date)" ) | mail -s "Successfull build for ${BASE}" $MAILTO
+ (echo "$PLDISTRO ($BASE) build for $FCDISTRO completed on $(date)" ) | mail -s "Successfull build for ${BASE}" $MAILTO
fi
- cp $LOG ${WEBPATH}/${BASE}.log.txt
- touch ${WEBPATH}/${BASE}.bok.txt
exit 0
}
[ -z "$BASE" ] && BASE="$DEFAULT_BASE"
[ -z "$WEBPATH" ] && WEBPATH="$DEFAULT_WEBPATH"
[ -z "$SVNPATH" ] && SVNPATH="$DEFAULT_SVNPATH"
- #
+
+ # NOTE: suggest that by default no email is sent and that the user
+ # should explicitly invoke this script with the -m arg to pass in
+ # the appropriate email address. --mef
if [ "$PLDISTRO" = "onelab" ] ; then
- [ -z "$MAILTO" ] && MAILTO="$DEFAULT_MAILTO_onelab"
- else
- [ -z "$MAILTO" ] && MAILTO="$DEFAULT_MAILTO_planetlab"
+ [ -z "$MAILTO" ] && MAILTO="$DEFAULT_MAILTO"
fi
[ -n "$DRY_RUN" ] && MAILTO=""