[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04/11: services: syslog: Use syslog-configuration.
From: |
David Craven |
Subject: |
04/11: services: syslog: Use syslog-configuration. |
Date: |
Tue, 6 Sep 2016 15:53:18 +0000 (UTC) |
dvc pushed a commit to branch master
in repository guix.
commit ec2e2f6ce2f808de20f4770748db43aefd46f0bf
Author: David Craven <address@hidden>
Date: Sat Aug 27 15:38:55 2016 +0200
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.
---
doc/guix.texi | 21 ++++++++++++++++-----
gnu/services/base.scm | 29 +++++++++++++++++++++--------
gnu/tests/base.scm | 9 ++++++---
3 files changed, 43 insertions(+), 16 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index b6ca34a..2abb7b2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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
address@hidden
address@hidden {Data Type} syslog-configuration
+This data type represents the configuration of the syslog daemon.
address@hidden {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.
address@hidden @asis
address@hidden @code{syslogd} (default: @code{#~(string-append #$inetutils
"/libexec/syslogd")})
+The syslog daemon to use.
+
address@hidden @code{config-file} (default: @code{%default-syslog.conf})
+The syslog configuration file to use.
+
address@hidden table
address@hidden deftp
+
address@hidden
address@hidden {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.
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index f3f6408..2c2962c 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -82,6 +82,9 @@
nscd-service-type
nscd-service
+
+ syslog-configuration
+ syslog-configuration?
syslog-service
syslog-service-type
%default-syslog.conf
@@ -885,17 +888,27 @@ given @var{config}---an @code{<nscd-configuration>}
object. @xref{Name
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 @@ Service Switch}, for an example."
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
address@hidden<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
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 41f50c0..5c2af5b 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -384,9 +384,12 @@ functionality tests.")
(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
- branch master updated (5e814f6 -> 24e051c), David Craven, 2016/09/06
- 03/11: services: Export initrc., David Craven, 2016/09/06
- 05/11: gnu: Add prefix to license imports in (gnu packages display-managers)., David Craven, 2016/09/06
- 09/11: gnu: Add cairo-xcb., David Craven, 2016/09/06
- 07/11: gnu: Add sddm., David Craven, 2016/09/06
- 02/11: activation: Allow home directories to be created under /var/lib., David Craven, 2016/09/06
- 01/11: system: vm: Remove -net user flag., David Craven, 2016/09/06
- 04/11: services: syslog: Use syslog-configuration.,
David Craven <=
- 06/11: gnu: Add greenisland., David Craven, 2016/09/06
- 10/11: gnu: Add xorg-server-xwayland., David Craven, 2016/09/06
- 11/11: gnu: Add weston., David Craven, 2016/09/06
- 08/11: services: Add sddm service., David Craven, 2016/09/06