NEWREV=$(svn info $(svn info $SACONFIG|awk '/^URL:/{print $2}')|awk '/^Revision:/{print $2}')
# no changes, bug out.
-if [ $ORIGREV -ge $NEWREV ];
+if [ $ORIGREV -ge $NEWREV ]; then
exit 0;
fi;
if [ -e "$SACONFIG/failed_update" ]; then
exit 0;
fi;
- echo "$FAILURE_MESSAGE" >> "$SACONFIG/failed_update"
- echo "$FAILURE_MESSAGE";
- echo
- echo "update_spamassassin will not report any additional errors until this is fixed"
+ echo "$FAILUREMESSAGE" >> "$SACONFIG/failed_update"
+ echo "$FAILUREMESSAGE";
+ cat - <<EOF;
+
+Update_spamassassin will not report any additional errors until this
+is fixed.
+
+Please fix the problem and then remove
+$SACONFIG/failed_update
+EOF
exit 1;
}
cd $TMPDIR/spamassassin_config;
svn update -q --non-interactive;
if svn status |grep -q '^C'; then
- FAILUREMESSAGE="$(echo -e 'The following conflicts were found\n')"
+ FAILUREMESSAGE=$'The following conflicts were found\n\n'
FAILUREMESSAGE="$FAILUREMESSAGE$(svn status|grep ^C)";
report_failure
fi;
cd - >/dev/null 2>&1
-FAILUREMESSAGE="$(spamassassin -C $TMPDIR/spamassassin_config/$USERCONF --lint)"
-if [ "$?" != "0" ]; then
- FAILUREMESSAGE="$(echo -e 'spamassassin -C $TMPDIR/spamassassin_config/$USERCONF --lint\nfailed with\n')$FAILUREMESSAGE";
+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)";
report_failure
fi;
mv "$SACONFIG" "$BAKDIR/spamassassin_config_r$ORIGREV"
mv "$TMPDIR/spamassassin_config" "$SACONFIG"
trap ERR
+remove_pidfile
rm -rf "$TMPDIR"
if [ "$HOSTNAME" == "rietz" ]; then
touch /home/debbugs/.spamassassin/user_prefs
elif [ "$HOSTNAME" == "murphy" ]; then
# do nothing
+ true;
else
echo "Unknown hostname '$HOSTNAME'";
exit 1;
fi;
-exit 0;
\ No newline at end of file
+exit 0;