diff options
Diffstat (limited to 'nixos/modules/services/mail/spamassassin.nix')
-rw-r--r-- | nixos/modules/services/mail/spamassassin.nix | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix index 9bd415ef17e..ac878222b26 100644 --- a/nixos/modules/services/mail/spamassassin.nix +++ b/nixos/modules/services/mail/spamassassin.nix @@ -136,19 +136,26 @@ in Group = "spamd"; StateDirectory = "spamassassin"; ExecStartPost = "+${pkgs.systemd}/bin/systemctl -q --no-block try-reload-or-restart spamd.service"; - SuccessExitStatus = "1"; }; script = '' set +e - ${pkgs.spamassassin}/bin/sa-update --verbose --gpghomedir=%S/spamassassin/sa-update-keys/ + ${pkgs.spamassassin}/bin/sa-update --verbose --gpghomedir=/var/lib/spamassassin/sa-update-keys/ rc=$? set -e - if [[ $rc -eq 0 ]]; then - # An update was available and installed. - ${pkgs.spamassassin}/bin/sa-compile + if [[ $rc -gt 1 ]]; then + # sa-update failed. + exit $rc fi + + if [[ $rc -eq 1 ]]; then + # No update was available, exit successfully. + exit 0 + fi + + # An update was available and installed. Compile the rules. + ${pkgs.spamassassin}/bin/sa-compile ''; }; |