services: dbus: 'wrapped-dbus-service' accepts a list of variables.
* gnu/services/dbus.scm (wrapped-dbus-service): Replace 'variable' and 'value' by 'variables', and adjust code accordingly. * gnu/services/desktop.scm (upower-dbus-service): (geoclue-dbus-service, elogind-dbus-service): Adjust accordingly.
This commit is contained in:
parent
f63861b5a6
commit
aa071ca049
@ -231,14 +231,20 @@ and policy files. For example, to allow avahi-daemon to use the system bus,
|
||||
(dbus-configuration (dbus dbus)
|
||||
(services services))))
|
||||
|
||||
(define (wrapped-dbus-service service program variable value)
|
||||
(define (wrapped-dbus-service service program variables)
|
||||
"Return a wrapper for @var{service}, a package containing a D-Bus service,
|
||||
where @var{program} is wrapped such that environment variable @var{variable}
|
||||
is set to @var{value} when the bus daemon launches it."
|
||||
where @var{program} is wrapped such that @var{variables}, a list of name/value
|
||||
tuples, are all set as environment variables when the bus daemon launches it."
|
||||
(define wrapper
|
||||
(program-file (string-append (package-name service) "-program-wrapper")
|
||||
#~(begin
|
||||
(setenv #$variable #$value)
|
||||
(use-modules (ice-9 match))
|
||||
|
||||
(for-each (match-lambda
|
||||
((variable value)
|
||||
(setenv variable value)))
|
||||
'#$variables)
|
||||
|
||||
(apply execl (string-append #$service "/" #$program)
|
||||
(string-append #$service "/" #$program)
|
||||
(cdr (command-line))))))
|
||||
|
@ -217,8 +217,8 @@
|
||||
(define (upower-dbus-service config)
|
||||
(list (wrapped-dbus-service (upower-configuration-upower config)
|
||||
"libexec/upowerd"
|
||||
"UPOWER_CONF_FILE_NAME"
|
||||
(upower-configuration-file config))))
|
||||
`(("UPOWER_CONF_FILE_NAME"
|
||||
,(upower-configuration-file config))))))
|
||||
|
||||
(define (upower-shepherd-service config)
|
||||
"Return a shepherd service for UPower with CONFIG."
|
||||
@ -349,8 +349,8 @@ users are allowed."
|
||||
(define (geoclue-dbus-service config)
|
||||
(list (wrapped-dbus-service (geoclue-configuration-geoclue config)
|
||||
"libexec/geoclue"
|
||||
"GEOCLUE_CONFIG_FILE"
|
||||
(geoclue-configuration-file config))))
|
||||
`(("GEOCLUE_CONFIG_FILE"
|
||||
,(geoclue-configuration-file config))))))
|
||||
|
||||
(define %geoclue-accounts
|
||||
(list (user-group (name "geoclue") (system? #t))
|
||||
@ -702,8 +702,8 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
|
||||
(define (elogind-dbus-service config)
|
||||
(list (wrapped-dbus-service (elogind-package config)
|
||||
"libexec/elogind/elogind"
|
||||
"ELOGIND_CONF_FILE"
|
||||
(elogind-configuration-file config))))
|
||||
`(("ELOGIND_CONF_FILE"
|
||||
,(elogind-configuration-file config))))))
|
||||
|
||||
(define (pam-extension-procedure config)
|
||||
"Return an extension for PAM-ROOT-SERVICE-TYPE that ensures that all the PAM
|
||||
|
Loading…
Reference in New Issue
Block a user