services: dbus: Remove non-existent directories from 'system-local.conf'.
This typically halves the number of entries in /etc/dbus-1/system-local.conf. * gnu/services/dbus.scm (dbus-configuration-directory)[build](directives): New macro. (services->sxml): Use it.master
parent
33f9778bc8
commit
27727b18b8
|
@ -86,6 +86,19 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
|
||||||
(use-modules (sxml simple)
|
(use-modules (sxml simple)
|
||||||
(srfi srfi-1))
|
(srfi srfi-1))
|
||||||
|
|
||||||
|
(define-syntax directives
|
||||||
|
(syntax-rules ()
|
||||||
|
;; Expand the given directives (SXML expressions) only if their
|
||||||
|
;; key names a file that exists.
|
||||||
|
((_ (name directory) rest ...)
|
||||||
|
(let ((dir directory))
|
||||||
|
(if (file-exists? dir)
|
||||||
|
`((name ,dir)
|
||||||
|
,@(directives rest ...))
|
||||||
|
(directives rest ...))))
|
||||||
|
((_)
|
||||||
|
'())))
|
||||||
|
|
||||||
(define (services->sxml services)
|
(define (services->sxml services)
|
||||||
;; Return the SXML 'includedir' clauses for DIRS.
|
;; Return the SXML 'includedir' clauses for DIRS.
|
||||||
`(busconfig
|
`(busconfig
|
||||||
|
@ -98,12 +111,13 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in
|
||||||
(servicedir "/etc/dbus-1/system-services")
|
(servicedir "/etc/dbus-1/system-services")
|
||||||
|
|
||||||
,@(append-map (lambda (dir)
|
,@(append-map (lambda (dir)
|
||||||
`((includedir
|
(directives
|
||||||
,(string-append dir "/etc/dbus-1/system.d"))
|
|
||||||
(includedir
|
(includedir
|
||||||
,(string-append dir "/share/dbus-1/system.d"))
|
(string-append dir "/etc/dbus-1/system.d"))
|
||||||
|
(includedir
|
||||||
|
(string-append dir "/share/dbus-1/system.d"))
|
||||||
(servicedir ;for '.service' files
|
(servicedir ;for '.service' files
|
||||||
,(string-append dir "/share/dbus-1/services"))))
|
(string-append dir "/share/dbus-1/services"))))
|
||||||
services)))
|
services)))
|
||||||
|
|
||||||
(mkdir #$output)
|
(mkdir #$output)
|
||||||
|
|
Reference in New Issue