diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-04-05 21:17:31 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-04-05 21:17:31 +0100 |
commit | dc7cbdfa65fd814b3b9aa3c56257da201109e807 (patch) | |
tree | c85d72f6f31f21f178069c9d41d41a7c1ff4b362 /mail-filter/spamassassin/files/update-spamassassin-rules-r1.cron | |
parent | 0706fc6986773f4e4d391deff4ad5143c464ea4e (diff) |
gentoo resync : 05.04.2019
Diffstat (limited to 'mail-filter/spamassassin/files/update-spamassassin-rules-r1.cron')
-rw-r--r-- | mail-filter/spamassassin/files/update-spamassassin-rules-r1.cron | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/mail-filter/spamassassin/files/update-spamassassin-rules-r1.cron b/mail-filter/spamassassin/files/update-spamassassin-rules-r1.cron new file mode 100644 index 000000000000..7c6990b847cf --- /dev/null +++ b/mail-filter/spamassassin/files/update-spamassassin-rules-r1.cron @@ -0,0 +1,41 @@ +#!/bin/bash +# +# Update SpamAssassin rules and reload daemons that use them. +# + +# First, redirect stdout to /dev/null. +exec 1>/dev/null + +# Try to update the rules. +sa-update + +# Exit code 0: all new updates were installed. +# Exit code 1: we were already up-to-date. +# Exit code 3: some updates were installed, but some weren't. +# Any other exit code indicates failure. +if (( $? == 0 || $? == 3 )); then + # Compilation spits out its progress onto stderr. + sa-compile 2>/dev/null + + # Do you run spamd or amavisd? Both daemons need to be reloaded + # in order to pick up the newly-updated rules. + if command -v rc-service 2>/dev/null; then + # OpenRC is installed. These "status" checks should succeed + # only when the daemon is running under OpenRC. We redirect + # stderr to hide the lecture that OpenRC gives you if you + # try this on a system running systemd. + rc-service spamd status 2>/dev/null && rc-service spamd reload + rc-service amavisd status 2>/dev/null && rc-service amavisd reload + fi + + if command -v systemctl 2>/dev/null; then + # The systemctl (systemd) executable is installed, so try to + # use it to restart spamd and amavisd. These are safe to run + # if systemd is installed but not in use. The is-active + # check is to keep systemctl from outputting warnings if + # amavisd is not installed (bug #681872). + systemctl try-restart spamassassin + systemctl is-active --quiet amavisd \ + && systemctl try-reload-or-restart amavisd + fi +fi |