X-Git-Url: https://git.donarmstrong.com/?p=spamassassin_config.git;a=blobdiff_plain;f=update_spamassassin;h=12ff0c313c4f42fba7e898758542a2b45331c73a;hp=f699d890daad592ea700ef491570eb35625dd813;hb=e1a86083b3a538e10dbdb001607874b62c9823e8;hpb=f015556a0c67fd3c0c76d1e9b6c35b09e7fdbaf4 diff --git a/update_spamassassin b/update_spamassassin index f699d89..12ff0c3 100755 --- a/update_spamassassin +++ b/update_spamassassin @@ -9,10 +9,12 @@ SVN=$(which svn) TMPDIR=$(mktemp -d); +HOSTNAME=$(hostname); + if [ "$HOSTNAME" = "rietz" ] || [ "$HOSTNAME" = "busoni" ]; then BASEDIR="/org/bugs.debian.org" USERCONF="bugs/user_prefs"; -elif [ "$HOSTNAME" = "liszt" ]; then +elif [ "$HOSTNAME" = "bendel" ]; then BASEDIR="/var/list/.etc"; USERCONF="lists/user_prefs"; else @@ -23,6 +25,13 @@ fi; SACONFIG="$BASEDIR/spamassassin_config"; BAKDIR="$BASEDIR/spamassassin_config_bak"; +# because alioth continuously fails, make sure that svn info will +# succeed first before cluttering the log. Ideally we would report +# this error, but it happens far too frequently, so we bail out here. +if ! svn info $(svn info $SACONFIG|awk '/^URL:/{print $2}') >/dev/null 2>&1; then + exit 0; +fi; + # figure out if there's an update to be made ORIGREV=$(svn info $SACONFIG |awk '/^Revision:/{print $2}') NEWREV=$(svn info $(svn info $SACONFIG|awk '/^URL:/{print $2}')|awk '/^Revision:/{print $2}') @@ -39,14 +48,14 @@ else echo $$ > "$SACONFIG/.update_spamassassin"; fi; -function remove_pidfile(){ +remove_pidfile () { rm "$SACONFIG/.update_spamassassin"; } -trap remove_pidfile ERR; +trap remove_pidfile 0; FAILUREMESSAGE=""; -function report_failure(){ +report_failure () { # Hrm; a previous update failed; don't report again until the file # is removed or it's more than a day old if [ -e "$SACONFIG/failed_update" ] && @@ -91,7 +100,7 @@ rm -rf "$TMPDIR" if [ "$HOSTNAME" == "rietz" ]; then touch /home/debbugs/.spamassassin/user_prefs -elif [ "$HOSTNAME" == "liszt" ]; then +elif [ "$HOSTNAME" == "bendel" ]; then # do nothing true; else