summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@higgsboson.tk>2017-01-16 12:42:06 +0100
committerGitHub <noreply@github.com>2017-01-16 12:42:06 +0100
commit28093e42ec047dcfa440bfaa256690c92085b369 (patch)
treeca063b410032e7a22e69d22790244ef9a4bc93fb /nixos
parentfe5cbf221f30a63630f5c407ca8673fc742d6e95 (diff)
parent75aaae34a973fcf967bd264d45fda23577d4be33 (diff)
downloadnixpkgs-28093e42ec047dcfa440bfaa256690c92085b369.tar
nixpkgs-28093e42ec047dcfa440bfaa256690c92085b369.tar.gz
nixpkgs-28093e42ec047dcfa440bfaa256690c92085b369.tar.bz2
nixpkgs-28093e42ec047dcfa440bfaa256690c92085b369.tar.lz
nixpkgs-28093e42ec047dcfa440bfaa256690c92085b369.tar.xz
nixpkgs-28093e42ec047dcfa440bfaa256690c92085b369.tar.zst
nixpkgs-28093e42ec047dcfa440bfaa256690c92085b369.zip
Merge pull request #21864 from pjones/pjones/dovecot
dovecot: Fix sieve scripts
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/mail/dovecot.nix9
1 files changed, 6 insertions, 3 deletions
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 4c9df935deb..f2097638c63 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -241,6 +241,9 @@ in
         RuntimeDirectory = [ "dovecot2" ];
       };
 
+      # When copying sieve scripts preserve the original time stamp
+      # (should be 0) so that the compiled sieve script is newer than
+      # the source file and Dovecot won't try to compile it.
       preStart = ''
         rm -rf ${stateDir}/sieve
       '' + optionalString (cfg.sieveScripts != {}) ''
@@ -248,11 +251,11 @@ in
         ${concatStringsSep "\n" (mapAttrsToList (to: from: ''
           if [ -d '${from}' ]; then
             mkdir '${stateDir}/sieve/${to}'
-            cp "${from}/"*.sieve '${stateDir}/sieve/${to}'
+            cp -p "${from}/"*.sieve '${stateDir}/sieve/${to}'
           else
-            cp '${from}' '${stateDir}/sieve/${to}'
+            cp -p '${from}' '${stateDir}/sieve/${to}'
           fi
-           ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/sieve/${to}'
+          ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/sieve/${to}'
         '') cfg.sieveScripts)}
         chown -R '${cfg.mailUser}:${cfg.mailGroup}' '${stateDir}/sieve'
       '';