services: opensmtd: Add back option to log to syslog.

The option for syslog logging was removed in 6036f1f305.

* gnu/services/mail.scm (opensmtpd-shepherd-service): When log-file is #f
daemonize and set the pid-file.

Change-Id: I356f4ccacc473def35708c114947788d485d058b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Dariqq 2025-10-15 11:27:03 +00:00 committed by Ludovic Courtès
parent 74b718d554
commit 49ba3adfdf
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 6 additions and 2 deletions

View file

@ -29879,6 +29879,7 @@ remote servers. Run @command{man smtpd.conf} for more information.
@item @code{log-file} (default: @code{"/var/log/mail.log"})
The file location for the OpenSMTPD log file. Logging occurs in the
foreground via the Shepherd, i.e. OpenSMTPD does not detach.
When set to @code{#f} OpenSMTPD will instead detach and log to the syslog.
@item @code{setgid-commands?} (default: @code{#t})
Make the following commands setgid to @code{smtpq} so they can be

View file

@ -1744,8 +1744,11 @@ match from local for any action outbound
(documentation "Run the OpenSMTPD daemon.")
(start (let ((smtpd (file-append package "/sbin/smtpd")))
#~(make-forkexec-constructor
(list #$smtpd "-d" "-f" #$config-file)
#:log-file #$log-file)))
(list #$smtpd "-f" #$config-file
#$@(if log-file '("-d") '()))
#$@(if log-file
(list #:log-file log-file)
(list #:pid-file "/var/run/smtpd.pid")))))
(stop #~(make-kill-destructor))))))
(define %opensmtpd-accounts