~ruther/guix-local

b732d702f9732493a21bba7886068fd385e12fc5 — Jean-Baptiste Note 2 years ago ecb8ca6
services: syslog: Add extra-options argument to syslog service.

* gnu/services/base.scm (<syslog-configuration>): Add extra-options field.
  (syslog-shepherd-service): Use it when running the service.

* doc/guix.texi: Document it.

Change-Id: I540d070b9a9678b45ec9fa28d6fdc761f9b3fd9a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2 files changed, 8 insertions(+), 2 deletions(-)

M doc/guix.texi
M gnu/services/base.scm
M doc/guix.texi => doc/guix.texi +3 -0
@@ 19874,6 19874,9 @@ The syslog configuration file to use.
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
information on the configuration file syntax.

@item @code{extra-options} (default: @code{'()})
List of extra command-line options for @command{syslog}.

@end table
@end deftp


M gnu/services/base.scm => gnu/services/base.scm +5 -2
@@ 1640,7 1640,9 @@ mail.*                                 -/var/log/maillog
  (syslogd              syslog-configuration-syslogd
                        (default (file-append inetutils "/libexec/syslogd")))
  (config-file          syslog-configuration-config-file
                        (default %default-syslog.conf)))
                        (default %default-syslog.conf))
  (extra-options        syslog-configuration-extra-options
                        (default '())))

;;; Note: a static file name is used for syslog.conf so that the reload action
;;; work as intended.


@@ 1676,7 1678,8 @@ reload its settings file.")))
   ;; action work as intended.
   (start #~(make-forkexec-constructor
             (list #$(syslog-configuration-syslogd config)
                   #$(string-append "--rcfile=" syslog.conf))
                   #$(string-append "--rcfile=" syslog.conf)
                   #$@(syslog-configuration-extra-options config))
             #:file-creation-mask #o137
             #:pid-file "/var/run/syslog.pid"))
   (stop #~(make-kill-destructor))))