Archived
1
0
Fork 0

services: opensmtpd: Use 'match-record' instead of 'match'.

* gnu/services/mail.scm (opensmtpd-shepherd-service)
(opensmtpd-activation)
(opensmtpd-set-gids): Use 'match-record' instead of 'match'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Bruno Victal 2022-12-06 16:52:09 +00:00 committed by Ludovic Courtès
parent 2880dc3046
commit 3011e8ae11
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1666,9 +1666,8 @@ action outbound relay
match from local for any action outbound match from local for any action outbound
")) "))
(define opensmtpd-shepherd-service (define (opensmtpd-shepherd-service config)
(match-lambda (match-record config <opensmtpd-configuration> (package config-file)
(($ <opensmtpd-configuration> package config-file)
(list (shepherd-service (list (shepherd-service
(provision '(smtpd)) (provision '(smtpd))
(requirement '(loopback)) (requirement '(loopback))
@ -1677,7 +1676,7 @@ match from local for any action outbound
#~(make-forkexec-constructor #~(make-forkexec-constructor
(list #$smtpd "-f" #$config-file) (list #$smtpd "-f" #$config-file)
#:pid-file "/var/run/smtpd.pid"))) #:pid-file "/var/run/smtpd.pid")))
(stop #~(make-kill-destructor))))))) (stop #~(make-kill-destructor))))))
(define %opensmtpd-accounts (define %opensmtpd-accounts
(list (user-group (list (user-group
@ -1698,9 +1697,8 @@ match from local for any action outbound
(home-directory "/var/empty") (home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin"))))) (shell (file-append shadow "/sbin/nologin")))))
(define opensmtpd-activation (define (opensmtpd-activation config)
(match-lambda (match-record config <opensmtpd-configuration> (package config-file)
(($ <opensmtpd-configuration> package config-file)
(let ((smtpd (file-append package "/sbin/smtpd"))) (let ((smtpd (file-append package "/sbin/smtpd")))
#~(begin #~(begin
(use-modules (guix build utils)) (use-modules (guix build utils))
@ -1709,15 +1707,14 @@ match from local for any action outbound
(mkdir-p "/var/spool/smtpd") (mkdir-p "/var/spool/smtpd")
(chmod "/var/spool/smtpd" #o711) (chmod "/var/spool/smtpd" #o711)
(mkdir-p "/var/spool/mail") (mkdir-p "/var/spool/mail")
(chmod "/var/spool/mail" #o711)))))) (chmod "/var/spool/mail" #o711)))))
(define %opensmtpd-pam-services (define %opensmtpd-pam-services
(list (unix-pam-service "smtpd"))) (list (unix-pam-service "smtpd")))
(define opensmtpd-set-gids (define (opensmtpd-set-gids config)
(match-lambda (match-record config <opensmtpd-configuration> (package config-file setgid-commands?)
(($ <opensmtpd-configuration> package config-file set-gids?) (if setgid-commands?
(if set-gids?
(list (list
(setuid-program (setuid-program
(program (file-append package "/sbin/smtpctl")) (program (file-append package "/sbin/smtpctl"))
@ -1749,7 +1746,7 @@ match from local for any action outbound
(setuid? #false) (setuid? #false)
(setgid? #true) (setgid? #true)
(group "smtpq"))) (group "smtpq")))
'())))) '())))
(define opensmtpd-service-type (define opensmtpd-service-type
(service-type (service-type