Subject: [bug#35619] [PATCH 3/5] gnu: postfix-minimal: Fix startup warnings.

From: "Jan (janneke) Nieuwenhuizen" <[email-masked]>
Date: Mon, 10 Aug 2020 08:51:10 +0200

This avoids kind of funny replacements like these of `rm'

    find -prune -perm -020
=>
    find -prune -pe/gnu/store/zibwkb5xavnv6z3gzknfqjsxb9b0izh0-coreutils-8.31/bin/rm -020

* gnu/packages/mail.scm (postfix-minimal)[phases]: Set PATH rather than
substituting individual commands.
---
 gnu/packages/mail.scm | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 94236bbbcd..5f622595c9 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -35,6 +35,7 @@
 ;;; Copyright © 2020 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2020 Michael Rohleder <[email-masked]>
 ;;; Copyright © 2020 Brant Gardner <[email-masked]>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3569,7 +3570,10 @@ based on asyncio.")
                 "1k2mxx9yx8lif804ff7zjyllizv4najfv3dca912k6j46fbr5b12"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
+     '(#:modules ((srfi srfi-26)
+                  (guix build utils)
+                  (guix build gnu-build-system))
+       #:phases
        (modify-phases %standard-phases
          (add-before 'build 'patch-/bin/sh
            (lambda _
@@ -3601,14 +3605,20 @@ based on asyncio.")
            (lambda _
              (invoke "make" "makefiles" "pie=yes" "dynamicmaps=yes")))
          (add-before 'install 'fix-postfix-scripts-path
-           (lambda _
-             (for-each
-              (lambda (command)
-                (substitute* '("postfix-install" "conf/post-install" "conf/postfix-script")
-                  (((string-append command " ")) (string-append (which command) " "))))
-              '("awk" "chmod" "chown" "chgrp" "cp" "find" "ln" "mkdir" "mv" "rm" "sed"
-                "sleep" "sort" "touch" "uname"))
-             #t))
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((path (string-join
+                          (map (compose (cute string-append <> "/bin")
+                                        (cute assoc-ref inputs <>))
+                               '("bash" "coreutils" "findutils" "gawk" "grep"
+                                 "sed"))
+                          ":")))
+               (substitute* '("postfix-install"
+                              "conf/post-install"
+                              "conf/postfix-script")
+                 (("^SHELL=/bin/sh")
+                  (string-append "PATH=" path "\n"
+                                 "SHELL=" (assoc-ref inputs "bash") "/bin/sh")))
+               #t)))
          (add-before 'install 'configure-install
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com