unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jan Nieuwenhuizen <janneke@gnu.org>
To: "Gábor Boskovits" <boskovits@gmail.com>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: wip-postfix
Date: Tue, 17 Mar 2020 09:02:12 +0100	[thread overview]
Message-ID: <87o8svh0jf.fsf@gnu.org> (raw)
In-Reply-To: <CAE4v=pjGfC=9gSEAGN12BKZn-evQvC=OEp7XNmH0Lt__KAdEgg@mail.gmail.com> ("Gábor Boskovits"'s message of "Fri, 7 Feb 2020 14:54:16 +0100")

[-- Attachment #1: Type: text/plain, Size: 1586 bytes --]

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



[-- Attachment #2: 0001-gnu-postfix-minimal-Fix-startup-warnings.patch --]
[-- Type: text/x-patch, Size: 3148 bytes --]

From 062afde1f7aa335f3be5e1074187a6dd0d33614b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
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 <rekado@elephly.net>
 ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2020 Brant Gardner <brantcgardner@brantware.com>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; 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 #3: postfix.tmpl --]
[-- Type: application/octet-stream, Size: 1913 bytes --]

;; This is an operating system configuration template
;; for a "bare bones" setup, with no X11 display server.

(use-modules (gnu))
(use-service-modules mail networking ssh)
(use-package-modules screen)

(operating-system
  (host-name "komputilo")
  (timezone "Europe/Berlin")
  (locale "en_US.utf8")

  ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
  ;; target hard disk, and "my-root" is the label of the target
  ;; root file system.
  (bootloader (bootloader-configuration
                (bootloader grub-bootloader)
                (target "/dev/sdX")))
  (file-systems (cons (file-system
                        (device (file-system-label "my-root"))
                        (mount-point "/")
                        (type "ext4"))
                      %base-file-systems))

  ;; This is where user accounts are specified.  The "root"
  ;; account is implicit, and is initially created with the
  ;; empty password.
  (users (cons (user-account
                (name "alice")
                (comment "Bob's sister")
                (group "users")

                ;; Adding the account to the "wheel" group
                ;; makes it a sudoer.  Adding it to "audio"
                ;; and "video" allows the user to play sound
                ;; and access the webcam.
                (supplementary-groups '("wheel"
                                        "audio" "video")))
               %base-user-accounts))

  ;; Globally-installed packages.
  (packages (cons screen %base-packages))

  ;; Add services to the baseline: a DHCP client and
  ;; an SSH server.
  (services (append (list (service dhcp-client-service-type)
                          (service openssh-service-type
                                   (openssh-configuration
                                    (port-number 2222)))
                          (service postfix-service-type))
                    %base-services)))

[-- Attachment #4: Type: text/plain, Size: 152 bytes --]


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

  reply	other threads:[~2020-03-17  8:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-07 13:54 wip-postfix Gábor Boskovits
2020-03-17  8:02 ` Jan Nieuwenhuizen [this message]
2020-03-17  8:11   ` wip-postfix Gábor Boskovits
2020-08-10  6:49     ` wip-postfix Jan Nieuwenhuizen
2020-08-11  2:16       ` wip-postfix Gábor Boskovits
2021-07-29 16:19         ` wip-postfix Christine Lemmer-Webber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o8svh0jf.fsf@gnu.org \
    --to=janneke@gnu.org \
    --cc=boskovits@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).