summary refs log tree commit diff
path: root/pkgs/servers/mail
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2023-09-26 04:28:17 +0100
committerSergei Trofimovich <slyich@gmail.com>2023-09-26 04:31:35 +0100
commit1c9e9f97ee09d607e0da28845f4862fdcc3b2d03 (patch)
treef05c2b9dc0b86bf4dacb235debb1e11a8e0f0bdb /pkgs/servers/mail
parent312aa96fe67ad945543611cec05172b67bf61a35 (diff)
downloadnixpkgs-1c9e9f97ee09d607e0da28845f4862fdcc3b2d03.tar
nixpkgs-1c9e9f97ee09d607e0da28845f4862fdcc3b2d03.tar.gz
nixpkgs-1c9e9f97ee09d607e0da28845f4862fdcc3b2d03.tar.bz2
nixpkgs-1c9e9f97ee09d607e0da28845f4862fdcc3b2d03.tar.lz
nixpkgs-1c9e9f97ee09d607e0da28845f4862fdcc3b2d03.tar.xz
nixpkgs-1c9e9f97ee09d607e0da28845f4862fdcc3b2d03.tar.zst
nixpkgs-1c9e9f97ee09d607e0da28845f4862fdcc3b2d03.zip
postfix: mangle store paths in /etc/postfix/makedefs.out
Before the change closure size is:

    $ nix path-info -rsSh $(nix-build --no-link -A postfix) | nl | unnix | tail -n 1
        63  /<<NIX>>/postfix-3.8.2  21.9M  177.9M

After the change:

    $ nix path-info -rsSh $(nix-build --no-link -A postfix) | nl | unnix | tail -n 1
        55  /<<NIX>>/postfix-3.8.2  21.9M  166.0M
Diffstat (limited to 'pkgs/servers/mail')
-rw-r--r--pkgs/servers/mail/postfix/default.nix5
1 files changed, 5 insertions, 0 deletions
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 5955789d566..e9dea5282aa 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -99,6 +99,11 @@ in stdenv.mkDerivation rec {
       --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep ]}
     wrapProgram $out/libexec/postfix/postfix-script \
       --prefix PATH ":" ${lib.makeBinPath [ coreutils findutils gnugrep gawk gnused ]}
+
+    # Avoid dev-only outputs from being retained in final closure.
+    # `makedefs.out` is a documenttation-only file. It should be safe
+    # to store invalid store paths there.
+    sed -e "s|$NIX_STORE/[a-z0-9]\{32\}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" -i $out/etc/postfix/makedefs.out
   '';
 
   passthru = {