X-Git-Url: https://git.donarmstrong.com/?p=spamassassin_config.git;a=blobdiff_plain;f=update_spamassassin;h=ef9fef7fd300a2c44137406c359e0648c6a82e8f;hp=b5641365f21023ba73d728debfd7e00731e9c632;hb=afbeb73e88e840adbe47d7a6d93864a6f188cac5;hpb=0766b5f57e272e7dc85d6c93c86266087b46bb2e diff --git a/update_spamassassin b/update_spamassassin index b564136..ef9fef7 100755 --- a/update_spamassassin +++ b/update_spamassassin @@ -9,10 +9,10 @@ SVN=$(which svn) TMPDIR=$(mktemp -d); -if [ "$HOSTNAME" == "rietz" ]; then +if [ "$HOSTNAME" = "rietz" ]; then BASEDIR="/org/bugs.debian.org" USERCONF="bugs/user_prefs"; -elif [ "$HOSTNAME" == "liszt" ]; then +elif [ "$HOSTNAME" = "liszt" ]; then BASEDIR="/var/list/.etc"; USERCONF="lists/user_prefs"; else @@ -28,7 +28,7 @@ ORIGREV=$(svn info $SACONFIG |awk '/^Revision:/{print $2}') NEWREV=$(svn info $(svn info $SACONFIG|awk '/^URL:/{print $2}')|awk '/^Revision:/{print $2}') # no changes, bug out. -if [ $ORIGREV -ge $NEWREV ]; then +if [ "0$ORIGREV" -ge "0$NEWREV" ]; then exit 0; fi; @@ -48,24 +48,28 @@ trap remove_pidfile ERR; FAILUREMESSAGE=""; function report_failure(){ # Hrm; a previous update failed; don't report again until the file - # is removed - if [ -e "$SACONFIG/failed_update" ]; then + # is removed or it's more than a day old + if [ -e "$SACONFIG/failed_update" ] && + [ $(($(date +%s) - $(stat -c '%Y' "$SACONFIG/failed_update"))) -lt 86400 ]; then + rm -rf "$TMPDIR" exit 0; fi; - echo "$FAILUREMESSAGE" >> "$SACONFIG/failed_update" + echo "$FAILUREMESSAGE" > "$SACONFIG/failed_update" echo "$FAILUREMESSAGE"; cat - </dev/null 2>&1 +cd "$(pwd)" if ! spamassassin -p $TMPDIR/spamassassin_config/$USERCONF --lint > $TMPDIR/sa_lint 2>&1; then FAILUREMESSAGE="$(echo -e 'spamassassin -p $TMPDIR/spamassassin_config/$USERCONF --lint\nfailed with\n'| cat - $TMPDIR/sa_lint)";