X-Git-Url: https://git.donarmstrong.com/?p=spamassassin_config.git;a=blobdiff_plain;f=update_spamassassin;h=0c3cdb0ab4f51530dcd81187c375903791a47fb2;hp=3ffa065e8afa39deb1eca7560dff10794904dd3f;hb=b4dc985dba6d696029f82fd918079188f054fe74;hpb=6e4f0a7707f8291ebfed167598b86f68f9d8e9e5 diff --git a/update_spamassassin b/update_spamassassin index 3ffa065..0c3cdb0 100755 --- a/update_spamassassin +++ b/update_spamassassin @@ -9,7 +9,7 @@ SVN=$(which svn) TMPDIR=$(mktemp -d); -if [ "$HOSTNAME" = "rietz" ]; then +if [ "$HOSTNAME" = "rietz" ] || [ "$HOSTNAME" = "busoni" ]; then BASEDIR="/org/bugs.debian.org" USERCONF="bugs/user_prefs"; elif [ "$HOSTNAME" = "liszt" ]; then @@ -23,6 +23,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}') @@ -69,6 +76,7 @@ EOF } cp -ar $SACONFIG $TMPDIR/. +OLDDIR="$(pwd)" cd $TMPDIR/spamassassin_config; svn update -q --non-interactive; if svn status |grep -q '^C'; then @@ -76,7 +84,7 @@ if svn status |grep -q '^C'; then FAILUREMESSAGE="$FAILUREMESSAGE$(svn status|grep ^C)"; report_failure fi; -cd - >/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)";