Revert "services: syslog: Simplify 'start' method."

This reverts commit 4c0cc7bed3.
Fixes <https://bugs.gnu.org/41116>.
Reported by Alex Sassmannshausen <alex@komputilo.eu>.

The problem is that reconfiguring on a system running Shepherd < 0.8.0
would lead to an error, due to #:file-creation-mask not being supported.
The error is rather harmless: it prevents service upgrade but the system
itself is upgraded.

We can reinstate that commit eventually, once #:file-creation-mask has
become widespread.
This commit is contained in:
Ludovic Courtès 2020-05-07 12:45:43 +02:00
parent d6c43d7bc1
commit 5aa4d2dcf2
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1316,13 +1316,17 @@ (define syslog-service-type
(documentation "Run the syslog daemon (syslogd).") (documentation "Run the syslog daemon (syslogd).")
(provision '(syslogd)) (provision '(syslogd))
(requirement '(user-processes)) (requirement '(user-processes))
(start #~(make-forkexec-constructor (start #~(let ((spawn (make-forkexec-constructor
(list #$(syslog-configuration-syslogd config) (list #$(syslog-configuration-syslogd config)
"--rcfile" "--rcfile"
#$(syslog-configuration-config-file config)) #$(syslog-configuration-config-file config))
#:pid-file "/var/run/syslog.pid")))
(lambda ()
;; Set the umask such that file permissions are #o640. ;; Set the umask such that file permissions are #o640.
#:file-creation-mask #o137 (let ((mask (umask #o137))
#:pid-file "/var/run/syslog.pid")) (pid (spawn)))
(umask mask)
pid))))
(stop #~(make-kill-destructor)))))) (stop #~(make-kill-destructor))))))
;; Snippet adapted from the GNU inetutils manual. ;; Snippet adapted from the GNU inetutils manual.