diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-09-13 12:43:28 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-10-10 22:46:14 +0200 |
commit | b893f1aec35b879169f80bc9461fac21907fbaf4 (patch) | |
tree | 2b03bbb031142578d71c469bd9b0f6a1f425db7b | |
parent | 66e4f01c601bfad813011a811796e70f970258f9 (diff) | |
download | guix-b893f1aec35b879169f80bc9461fac21907fbaf4.tar.gz |
services: nscd-service: Fit everything into <nscd-configuration>.
* gnu/services/base.scm (<nscd-configuration>)[glibc, name-services]: New fields. (nscd-service): Remove #:glibc and #:name-services parameters. Adjust body to take those from CONFIG. * gnu/services/desktop.scm (%desktop-services): Adjust accordingly. * doc/guix.texi (Base Services): Adjust accordingly. (Name Service Switch): Adjust example.
-rw-r--r-- | doc/guix.texi | 20 | ||||
-rw-r--r-- | gnu/services/base.scm | 22 | ||||
-rw-r--r-- | gnu/services/desktop.scm | 4 |
3 files changed, 28 insertions, 18 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 6f57c41df0..591c4407a8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5795,11 +5795,9 @@ The Mingetty package to use. @cindex nscd @deffn {Scheme Procedure} nscd-service [@var{config}] [#:glibc glibc] @ [#:name-services '()] -Return a service that runs libc's name service cache daemon (nscd) with -the given @var{config}---an @code{<nscd-configuration>} object. -Optionally, @code{#:name-services} is a list of packages that provide -name service switch (NSS) modules needed by nscd. @xref{Name Service -Switch}, for an example. +Return a service that runs libc's name service cache daemon (nscd) with the +given @var{config}---an @code{<nscd-configuration>} object. @xref{Name +Service Switch}, for an example. @end deffn @defvr {Scheme Variable} %nscd-default-configuration @@ -5814,6 +5812,14 @@ configuration. @table @asis +@item @code{name-services} (default: @code{'()}) +List of packages denoting @dfn{name services} that must be visible to +the nscd---e.g., @code{(list @var{nss-mdns})}. + +@item @code{glibc} (default: @var{glibc}) +Package object denoting the GNU C Library providing the @command{nscd} +command. + @item @code{log-file} (default: @code{"/var/log/nscd.log"}) Name of nscd's log file. This is where debugging output goes when @code{debug-level} is strictly positive. @@ -6542,8 +6548,8 @@ configuration file: ;; about nss-mdns. (map (lambda (service) (if (member 'nscd (service-provision service)) - (nscd-service (nscd-configuration) - #:name-services (list nss-mdns)) + (nscd-service (nscd-configuration + (name-services (list nss-mdns)))) service)) %base-services)) @end example diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 0b4bd7ed0d..d9d73b4597 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -412,7 +412,11 @@ other things." (default 0)) ;; TODO: See nscd.conf in glibc for other options to add. (caches nscd-configuration-caches ;list of <nscd-cache> - (default %nscd-default-caches))) + (default %nscd-default-caches)) + (name-services nscd-configuration-name-services ;list of <packages> + (default '())) + (glibc nscd-configuration-glibc ;<package> + (default (canonical-package glibc)))) (define-record-type* <nscd-cache> nscd-cache make-nscd-cache nscd-cache? @@ -502,13 +506,10 @@ other things." (string-concatenate (map cache->config caches))))))) -(define* (nscd-service #:optional (config %nscd-default-configuration) - #:key (glibc (canonical-package glibc)) - (name-services '())) +(define* (nscd-service #:optional (config %nscd-default-configuration)) "Return a service that runs libc's name service cache daemon (nscd) with the -given @var{config}---an @code{<nscd-configuration>} object. Optionally, -@code{#:name-services} is a list of packages that provide name service switch - (NSS) modules needed by nscd. @xref{Name Service Switch}, for an example." +given @var{config}---an @code{<nscd-configuration>} object. @xref{Name +Service Switch}, for an example." (let ((nscd.conf (nscd.conf-file config))) (service (documentation "Run libc's name service cache daemon (nscd).") @@ -521,7 +522,8 @@ given @var{config}---an @code{<nscd-configuration>} object. Optionally, (mkdir-p "/var/db/nscd"))) ;for the persistent cache (start #~(make-forkexec-constructor - (list (string-append #$glibc "/sbin/nscd") + (list (string-append #$(nscd-configuration-glibc config) + "/sbin/nscd") "-f" #$nscd.conf "--foreground") #:environment-variables @@ -529,7 +531,9 @@ given @var{config}---an @code{<nscd-configuration>} object. Optionally, (string-join (map (lambda (dir) (string-append dir "/lib")) - (list #$@name-services)) + (list + #$@(nscd-configuration-name-services + config))) ":"))))) (stop #~(make-kill-destructor)) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 35b19146dd..346f916950 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -594,8 +594,8 @@ when they log out." (cond ;; Provide an nscd ready to use nss-mdns. ((memq 'nscd (service-provision service)) - (nscd-service (nscd-configuration) - #:name-services (list nss-mdns))) + (nscd-service (nscd-configuration + (name-services (list nss-mdns))))) ;; Add more rules to udev-service. ;; |