X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=config%2Fdebian%2Fcron.dinstall;h=09415bea865fb7d0a194317393086ad4db182b3f;hb=d3e7dbdd0037ccbcb4789365cbca67de06bce5fa;hp=7b0e38e48bcba2a7dddcfec0e257a3d36e5ef7ab;hpb=0ef771eacbecca81d996aad0971c80378f7ce249;p=dak.git diff --git a/config/debian/cron.dinstall b/config/debian/cron.dinstall index 7b0e38e4..09415bea 100755 --- a/config/debian/cron.dinstall +++ b/config/debian/cron.dinstall @@ -46,8 +46,7 @@ export SCRIPTVARS=/srv/ftp.debian.org/dak/config/debian/vars # Timestamp. Used for dinstall stat graphs function ts() { - TS=$(($TS+1)); - echo "Archive maintenance timestamp $TS ($1): $(date +%H:%M:%S)" + echo "Archive maintenance timestamp ($1): $(date +%H:%M:%S)" } # Cleanup actions @@ -59,7 +58,17 @@ function cleanup() { # If we error out this one is called, *FOLLOWED* by cleanup above function onerror() { ERRDATE=$(date "+%Y.%m.%d-%H:%M:%S") - cat "${STAGEFILE}.log" | mail -s "ATTENTION ATTENTION! dinstall error at ${ERRDATE} in ${STAGEFILE} - (Be quiet, Brain, or I'll stab you with a Q-tip)" cron@ftp-master.debian.org + error=${ERR:-"false"} + + subject="ATTENTION ATTENTION!" + if [ "${error}" = "false" ]; then + subject="${subject} (continued)" + else + subject="${subject} (interrupted)" + fi + subject="${subject} dinstall error at ${ERRDATE} in ${STAGEFILE} - (Be quiet, Brain, or I'll stab you with a Q-tip)" + + cat "${STAGEFILE}.log" | mail -s "${subject}" -a "X-Debian: DAK" cron@ftp-master.debian.org } ######################################################################## @@ -74,7 +83,9 @@ Packages are currently being installed and indices rebuilt. Maintenance is automatic, starting at 01|07|13|19:52 UTC, and ending about an hour later. This file is then removed. -You should not mirror the archive during this period. +You should not mirror the archive during this period. If you find this +file on a Debian mirror please have a nice talk with the admin. They +are doing something wrong. EOF } @@ -337,7 +348,7 @@ function i18n2() { dak control-suite -l testing > squeeze dak control-suite -l unstable > sid echo "${STAMP}" > timestamp - gpg --secret-keyring /srv/ftp.debian.org/s3kr1t/dot-gnupg/secring.gpg --keyring /srv/ftp.debian.org/s3kr1t/dot-gnupg/pubring.gpg --no-options --batch --no-tty --armour --default-key 6070D3A1 --detach-sign -o timestamp.gpg timestamp + gpg --secret-keyring /srv/ftp.debian.org/s3kr1t/dot-gnupg/secring.gpg --keyring /srv/ftp.debian.org/s3kr1t/dot-gnupg/pubring.gpg --no-options --batch --no-tty --armour --default-key 55BE302B --detach-sign -o timestamp.gpg timestamp rm -f md5sum md5sum * > md5sum cd ${webdir}/ @@ -398,7 +409,7 @@ function renamelogfile() { if [ -f "${dbdir}/dinstallstart" ]; then NOW=$(cat "${dbdir}/dinstallstart") maillogfile - mv "$LOGFILE" "$logdir/dinstall_${NOW}.log" + mv "$LOGFILE" "$logdir/dinstall_${NOW}.log" logstats "$logdir/dinstall_${NOW}.log" bzip2 -9 "$logdir/dinstall_${NOW}.log" else @@ -429,13 +440,13 @@ function process_unchecked() { # Function to save which stage we are in, so we can restart an interrupted # dinstall. Or even run actions in parallel, if we dare to, by simply # backgrounding the call to this function. But that should only really be -# done for things we dont care much about. +# done for things we don't care much about. # # This should be called with the first argument being an array, with the # members # - FUNC - the function name to call # - ARGS - Possible arguments to hand to the function. Can be the empty string -# - TS - The timestamp name. Can be the empty string +# - TIME - The timestamp name. Can be the empty string # - ERR - if this is the string false, then the call will be surrounded by # set +e ... set -e calls, so errors in the function do not exit # dinstall. Can be the empty string, meaning true. @@ -459,7 +470,7 @@ function stage() { return fi - debug "Now calling function ${FUNC}. Arguments: ${ARGS}. Timestamp: ${TS}" + debug "Now calling function ${FUNC}. Arguments: ${ARGS}. Timestamp: ${TIME}" # Make sure we are always at the same place. If a function wants to be elsewhere, # it has to cd first! @@ -536,8 +547,6 @@ DINSTALLSTART="${lockdir}/dinstallstart" # Marker for dinstall end DINSTALLEND="${lockdir}/dinstallend" -# Timestamps start at -1. so first gets 0 -TS=-1 touch "${DINSTALLSTART}" ts "startup" @@ -590,7 +599,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( FUNC="pgdump_pre" @@ -868,7 +877,7 @@ GO=( ARGS="" ERR="false" ) -stage $GO +stage $GO & GO=( FUNC="aptftpcleanup"