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
1 changed files with 11 additions and 7 deletions

View File

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