gnu: opensmtpd: Set sysconfdir to /etc.

* gnu/packages/mail.scm (opensmtpd)[arguments]<#:configure-flags>: Add
--sysconfdir=/etc.
<#:phases>: Add fix-smtpd.conf-install-path phase.

Reviewed-by: 宋文武 <iyzsong@envs.net>
Change-Id: I949b8ec18e36b059cf3f56a109e750af1284b1d2
This commit is contained in:
Zheng Junjie 2025-02-06 22:41:55 +08:00
parent 0cd02f5e08
commit 169ef7616b
No known key found for this signature in database
GPG key ID: 3B5AA993E1A2DFF0

View file

@ -57,7 +57,7 @@
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Benjamin Slade <slade@lambda-y.net>
;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024, 2025 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2025 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
@ -3322,6 +3322,8 @@ from the Cyrus IMAP project.")
(list
#:configure-flags
#~(list "--localstatedir=/var"
;; Allow work with /etc/mailname.
"--sysconfdir=/etc"
"--with-libbsd"
;; This is the default only if it exists at build time—it doesn't.
"--with-path-socket=/var/run"
@ -3352,6 +3354,15 @@ from the Cyrus IMAP project.")
(("/bin/cat" file) (search-input-file inputs file)))
(substitute* "usr.sbin/smtpd/mda_unpriv.c"
(("/bin/sh" file) (search-input-file inputs file)))))
;; Avoid install smtpd.conf to /etc.
(add-after 'unpack 'fix-smtpd.conf-install-path
(lambda _
(let ((etc (string-append (assoc-ref %outputs "out")
"/etc")))
(mkdir-p etc)
(substitute* "mk/smtpd/Makefile.am"
(("\\$\\(DESTDIR\\)\\$\\(sysconfdir\\)/smtpd\\.conf")
(string-append etc "/smtpd.conf"))))))
;; OpenSMTPD provides a single smtpctl utility to control both the
;; daemon and the local submission subsystem. To accomodate systems
;; that require historical interfaces such as sendmail, newaliases or