summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Kern <pkern@google.com>2021-01-05 14:53:14 +0100
committerPhilipp Kern <pkern@google.com>2021-02-11 10:12:15 +0100
commitc86b339491d0c42540650d86e4ba840cdb686b50 (patch)
tree28041e7e6365e015e8c3e87b293db88d52c766f8
parentcc625c968dfbc783d8f871da7e2b61f1372dd3f7 (diff)
downloadnixpkgs-c86b339491d0c42540650d86e4ba840cdb686b50.tar
nixpkgs-c86b339491d0c42540650d86e4ba840cdb686b50.tar.gz
nixpkgs-c86b339491d0c42540650d86e4ba840cdb686b50.tar.bz2
nixpkgs-c86b339491d0c42540650d86e4ba840cdb686b50.tar.lz
nixpkgs-c86b339491d0c42540650d86e4ba840cdb686b50.tar.xz
nixpkgs-c86b339491d0c42540650d86e4ba840cdb686b50.tar.zst
nixpkgs-c86b339491d0c42540650d86e4ba840cdb686b50.zip
nixos/spamassassin: Only run sa-compile when updates have been installed
-rw-r--r--nixos/modules/services/mail/spamassassin.nix16
1 files changed, 12 insertions, 4 deletions
diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix
index 036f1bfebd3..9bd415ef17e 100644
--- a/nixos/modules/services/mail/spamassassin.nix
+++ b/nixos/modules/services/mail/spamassassin.nix
@@ -135,13 +135,21 @@ in
         User = "spamd";
         Group = "spamd";
         StateDirectory = "spamassassin";
-        ExecStart = [
-          "${pkgs.spamassassin}/bin/sa-update --verbose --gpghomedir=%S/spamassassin/sa-update-keys/"
-          "${pkgs.spamassassin}/bin/sa-compile"
-        ];
         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/
+        rc=$?
+        set -e
+
+        if [[ $rc -eq 0 ]]; then
+          # An update was available and installed.
+          ${pkgs.spamassassin}/bin/sa-compile
+        fi
+      '';
     };
 
     systemd.timers.sa-update = {