mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
services: syslog: Use syslog-configuration.
* gnu/services/base.scm (<syslog-configuration>): New variable. (syslog-service-type): Use <syslog-configuration>. (syslog-service): Use <syslog-configuration>. * gnu/tests/base.scm (%avahi-os): Use <syslog-configuration>. * doc/guix.texi (syslog-configuration-type): Add @deftp. (syslog-service): Update @deffn.
This commit is contained in:
parent
f2901d824a
commit
ec2e2f6ce2
3 changed files with 43 additions and 16 deletions
|
@ -7719,12 +7719,23 @@ privacy---often the result of host name lookups is in local cache, so
|
|||
external name servers do not even need to be queried.
|
||||
@end defvr
|
||||
|
||||
@anchor{syslog-configuration-type}
|
||||
@deftp {Data Type} syslog-configuration
|
||||
This data type represents the configuration of the syslog daemon.
|
||||
|
||||
@deffn {Scheme Procedure} syslog-service @
|
||||
[#:config-file @var{%default-syslog.conf}]
|
||||
Return a service that runs @command{syslogd}. If the configuration file
|
||||
name @var{config-file} is not specified, use some reasonable default
|
||||
settings.
|
||||
@table @asis
|
||||
@item @code{syslogd} (default: @code{#~(string-append #$inetutils "/libexec/syslogd")})
|
||||
The syslog daemon to use.
|
||||
|
||||
@item @code{config-file} (default: @code{%default-syslog.conf})
|
||||
The syslog configuration file to use.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@anchor{syslog-service}
|
||||
@deffn {Scheme Procedure} syslog-service @var{config}
|
||||
Return a service that runs a syslog daemon according to @var{config}.
|
||||
|
||||
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
|
||||
information on the configuration file syntax.
|
||||
|
|
|
@ -82,6 +82,9 @@ (define-module (gnu services base)
|
|||
|
||||
nscd-service-type
|
||||
nscd-service
|
||||
|
||||
syslog-configuration
|
||||
syslog-configuration?
|
||||
syslog-service
|
||||
syslog-service-type
|
||||
%default-syslog.conf
|
||||
|
@ -885,17 +888,27 @@ (define* (nscd-service #:optional (config %nscd-default-configuration))
|
|||
Service Switch}, for an example."
|
||||
(service nscd-service-type config))
|
||||
|
||||
|
||||
(define-record-type* <syslog-configuration>
|
||||
syslog-configuration make-syslog-configuration
|
||||
syslog-configuration?
|
||||
(syslogd syslog-configuration-syslogd
|
||||
(default #~(string-append #$inetutils "/libexec/syslogd")))
|
||||
(config-file syslog-configuration-config-file
|
||||
(default %default-syslog.conf)))
|
||||
|
||||
(define syslog-service-type
|
||||
(shepherd-service-type
|
||||
'syslog
|
||||
(lambda (config-file)
|
||||
(lambda (config)
|
||||
(shepherd-service
|
||||
(documentation "Run the syslog daemon (syslogd).")
|
||||
(provision '(syslogd))
|
||||
(requirement '(user-processes))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list (string-append #$inetutils "/libexec/syslogd")
|
||||
"--no-detach" "--rcfile" #$config-file)))
|
||||
(list #$(syslog-configuration-syslogd config)
|
||||
"--no-detach"
|
||||
"--rcfile" #$(syslog-configuration-config-file config))))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
;; Snippet adapted from the GNU inetutils manual.
|
||||
|
@ -921,14 +934,14 @@ (define %default-syslog.conf
|
|||
mail.* /var/log/maillog
|
||||
"))
|
||||
|
||||
(define* (syslog-service #:key (config-file %default-syslog.conf))
|
||||
"Return a service that runs @command{syslogd}. If configuration file
|
||||
name @var{config-file} is not specified, use some reasonable default
|
||||
settings.
|
||||
(define* (syslog-service #:optional (config (syslog-configuration)))
|
||||
"Return a service that runs @command{syslogd} and takes
|
||||
@var{<syslog-configuration>} as a parameter.
|
||||
|
||||
@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more
|
||||
information on the configuration file syntax."
|
||||
(service syslog-service-type config-file))
|
||||
(service syslog-service-type config))
|
||||
|
||||
|
||||
(define pam-limits-service-type
|
||||
(let ((security-limits
|
||||
|
|
|
@ -384,9 +384,12 @@ (define %avahi-os
|
|||
(log-file "/dev/console")))
|
||||
(syslog-service-type config
|
||||
=>
|
||||
(plain-file
|
||||
"syslog.conf"
|
||||
"*.* /dev/console\n")))))))
|
||||
(syslog-configuration
|
||||
(inherit config)
|
||||
(config-file
|
||||
(plain-file
|
||||
"syslog.conf"
|
||||
"*.* /dev/console\n")))))))))
|
||||
|
||||
(define (run-nss-mdns-test)
|
||||
;; Test resolution of '.local' names via libc. Start the marionette service
|
||||
|
|
Loading…
Reference in a new issue