gnu: opensmtpd: Fix fix for queuing of offline messages.

The substituted path in smtpd.h was not used due to an #ifndef.  The correct
place to patch it seems to be mk/pathnames.  This sadly triggers a bootstrap,
so we need to add autoconf and automake to the native-inputs.

* gnu/packages/mail.scm (opensmtpd)[arguments]<#:phases>
{'patch-test-FHS-file-names}: Patch in mk/pathnames instead.
[native-inputs]: Add autoconf and automake.

Change-Id: I1d569b8aaae839d6fd4871ccb97c116e6930f1c9
Signed-off-by: Andreas Enge <andreas@enge.fr>
This commit is contained in:
Tomas Volf 2025-01-15 02:38:11 +01:00 committed by Andreas Enge
parent 3e7047e058
commit fee9ac7191
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3

View file

@ -3311,7 +3311,9 @@ from the Cyrus IMAP project.")
libxcrypt
zlib))
(native-inputs
(list bison
(list autoconf
automake
bison
groff ;for man pages
pkg-config))
(arguments
@ -3336,10 +3338,13 @@ from the Cyrus IMAP project.")
;; Fix some incorrectly hard-coded external tool file names.
(add-after 'unpack 'patch-FHS-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "mk/pathnames"
;; avoids warning smtpd: couldn't enqueue offline message
;; smtpctl exited abnormally
(substitute* "usr.sbin/smtpd/smtpd.h"
(("/usr/bin/smtpctl") "/run/privileged/bin/smtpctl"))
(("(-DPATH_SMTPCTL=).*\\\\" all def)
(string-append def "\\\"/run/privileged/bin/smtpctl\\\" \\"))
(("(-DPATH_MAKEMAP=).*\\\\" all def)
(string-append def "\\\"/run/privileged/bin/makemap\\\" \\")))
(substitute* "usr.sbin/smtpd/smtpctl.c"
;; gzcat is auto-detected at compile time, but cat isn't.
(("/bin/cat" file) (search-input-file inputs file)))