guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: wip-postfix


From: Jan Nieuwenhuizen
Subject: Re: wip-postfix
Date: Tue, 17 Mar 2020 09:02:12 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Gábor Boskovits writes:

Hello Gábor,

> I've just pushed my work on postfix as a new wip-postfix branch.

That's great!  Yesterday I finally found some time to look at it.

> Current status:
> Service starts fine. Some warnings are sent on startup, telling that
> some coreutils stuff is not found. No testing was done as of now.

I fixed that, see attched patch.

> Feedback welcome.

I found mail delivery not to work, out of the box (using attached
config).

When I start a vm like so:

    sed -e 's,-append ",-append "console=ttyS0 ,' $(./pre-inst-env guix system 
vm gnu/system/examples/postfix.tmpl) > rvm.shn
    sh rvm.sh -nographic -m 2G -net nic -net 
user,hostfwd=tcp::10022-:2222,hostfwd=tcp::10025-:25

it does not work for me; I get

--8<---------------cut here---------------start------------->8---
$ telnet localhost 10025
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 komputilo.localdomain ESMTP Postfix
mail from: root
mail from: root
250 2.1.0 Ok
rcpt to: alice
rcpt to: alice
451 4.3.0 <alice>: Temporary lookup failure
data
data
554 5.5.1 Error: no valid recipients
--8<---------------cut here---------------end--------------->8---

When I hack around and create /etc/ailases.db, it works.

It looks like most everything is installed in a single, flat directory

    /gnu/store/pyv0rpd6zs0m2i482cb8qxd6mhf5b47z-postfix-minimal-3.4.8

executables, copies of readmes, (unused?) config files (main.cf,
aliases)?

Anyhow, this is a great start; next Mailman?

Greetings,
janneke


>From 062afde1f7aa335f3be5e1074187a6dd0d33614b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <address@hidden>
Date: Tue, 17 Mar 2020 08:37:32 +0100
Subject: [PATCH] gnu: postfix-minimal: Fix startup warnings.

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 2cf1640200..287da82d55 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -30,6 +30,7 @@
 ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <address@hidden>
 ;;; Copyright © 2019 Tanguy Le Carrour <address@hidden>
 ;;; Copyright © 2020 Brant Gardner <address@hidden>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3145,7 +3146,10 @@ Atom feeds or HTML archives.")
                 "0hw9kbr05qdzvfqhxi4dp4n3s9xvdh0gr0la08a4bip06ybl4pcd"))))
     (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 _
@@ -3177,14 +3181,20 @@ Atom feeds or HTML archives.")
            (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")))
-- 
2.24.0

Attachment: postfix.tmpl
Description: Binary data

-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]