From b3107d101332430c356523ed83c2b94ed5d6b4f0 Mon Sep 17 00:00:00 2001 From: Christian Hofstaedtler Date: Fri, 25 Nov 2011 08:25:46 +0100 Subject: [PATCH] buildd: report email overhaul no longer tar the logs, but add URL to logs to email, use PRODUCT_NAME in header, etc. --- buildd/execute.sh | 4 ++-- buildd/functions.sh | 34 ++++++++++++---------------------- buildd/grml-buildd.conf | 3 +++ 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/buildd/execute.sh b/buildd/execute.sh index 3716694..bb5e545 100755 --- a/buildd/execute.sh +++ b/buildd/execute.sh @@ -9,7 +9,7 @@ . /usr/share/grml-live/buildd/functions.sh || exit 1 # execute main grml-live -grml_live_run || create_logs +grml_live_run # store logs on remote server upload_logs @@ -17,7 +17,7 @@ upload_logs # store information about ISO size iso_details -# create logs for adding to mail, but only if it fails +# send report send_mail # move the ISO to final destination diff --git a/buildd/functions.sh b/buildd/functions.sh index 7adf5c1..a960d6f 100755 --- a/buildd/functions.sh +++ b/buildd/functions.sh @@ -35,7 +35,7 @@ ISO_NAME="${PRODUCT_NAME}.iso" [ -n "$RECIPIENT" ] || RECIPIENT=root@localhost [ -n "$FROM" ] || FROM=root@localhost [ -n "$ARCH" ] || ARCH="$(dpkg --print-architecture)" -ATTACHMENT="$TMP_DIR/grml-live-logs_$DATE.tar.gz" +MIRROR_LOG_PATH="logs/${PRODUCT_NAME}_${DATE}" if [ -n "$LOGFILE" ] ; then GRML_LOGFILE="$LOGFILE" @@ -82,16 +82,11 @@ grml_live_run() { fi } -# create log archive: -create_logs() { - ( cd / && tar zcfh $ATTACHMENT $FAI_LOGFILES /var/log/grml-buildd.log $GRML_LOGFILE >/dev/null ) -} - # store logs on remote server: upload_logs() { [ -n "$RSYNC_MIRROR" ] || return 1 rsync --exclude dmesg.log --times --partial --copy-links -rltDz --quiet /var/log/grml-buildd.log \ - $FAI_LOGFILES $GRML_LOGFILE $RSYNC_MIRROR/logs/"${PRODUCT_NAME}_${DATE}"/ + $FAI_LOGFILES/* $GRML_LOGFILE $RSYNC_MIRROR/$MIRROR_LOG_PATH/ } # store information of ISO size: @@ -105,19 +100,13 @@ iso_details() { # send status mail: send_mail() { - # create logs if using 'send_mail -e' - [ "$1" = "-e" ] && create_logs - - # attach logs only if we have some: - [ -r "$ATTACHMENT" ] && MUTT_ATTACH="-a $ATTACHMENT" || MUTT_ATTACH='' - - echo "Automatically generated mail by $SCRIPTNAME - -$ISO_DETAILS + echo "$ISO_DETAILS Return code of grml-live was: $RC Time: $WALLTIME +Full logs at: $MIRROR_URL/$MIRROR_LOG_PATH/ + $(grep -A2 'Executed grml-live' $GRML_LOGFILE || echo "* executed grml-live command line not available") $(grep -A2 'Executed FAI' $GRML_LOGFILE || echo "* executed FAI command line not available") @@ -142,11 +131,13 @@ The following packages could not be installed: $(grep -i "Couldn't find.*package" $FAI_LOGFILES/software.log | sed 's/\(.*\)"\(.*\)"\(.*\)/\2/' | sort -u || echo "* nothing") -See attached files for further details. +See full logs for further details. -EOF" | \ - mutt -e "my_hdr From: grml-live autobuild daemon <$FROM>" -s "$SCRIPTNAME [${DATE}] - $RC_INFO" \ - -a /var/log/grml-buildd.log $MUTT_ATTACH -- "$RECIPIENT" +--" " +Automatically generated mail by $SCRIPTNAME +" | \ + mutt -e "my_hdr From: grml-live autobuild daemon <$FROM>" -s "$PRODUCT_NAME - $RC_INFO" \ + -a /var/log/grml-buildd.log -- "$RECIPIENT" } # make sure we store the final iso: @@ -166,9 +157,8 @@ store_iso() { # allow clean exit: bailout() { if [ "$RC" = "0" ] ; then - rm -rf "$ATTACHMENT" "$TMP_DIR" "$OUTPUT_DIR" + rm -rf "$TMP_DIR" "$OUTPUT_DIR" else - rm -f "$ATTACHMENT" echo "building ISO failed, keeping build files [${OUTPUT_DIR} / ${TMP_DIR}]">&2 fi diff --git a/buildd/grml-buildd.conf b/buildd/grml-buildd.conf index 63c082d..df869be 100644 --- a/buildd/grml-buildd.conf +++ b/buildd/grml-buildd.conf @@ -37,6 +37,9 @@ # used for example inside /usr/share/grml-live/buildd/cleanup.sh #MIRROR_DIRECTORY=/srv/mirror/www.grml.org/daily +# URL which exposes MIRROR_DIRECTORY +#MIRROR_URL=http://daily.grml.org + # which flavours are built #FLAVOURS=" \ # grml-small_wheezy grml-small_sid \ -- 2.1.4