mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 12:05:19 -06:00
services: wpa-supplicant: Add 'wireless-daemon' provision.
* gnu/services/networking.scm (wpa-supplicant-configuration): [requirement]: Deprecate, [shepherd-requirement]: New field, [shepherd-provision]: Extract to a field. Add 'wireless-daemon to it. * doc/guix.texi (Networking Setup): Document it. Change-Id: Icc6fdd695e6e96ef168a085524989da639f77cd3 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
2ec1469104
commit
faa8cdfc09
2 changed files with 38 additions and 19 deletions
|
|
@ -22383,9 +22383,12 @@ It takes the following parameters:
|
|||
@item @code{wpa-supplicant} (default: @code{wpa-supplicant})
|
||||
The WPA Supplicant package to use.
|
||||
|
||||
@item @code{requirement} (default: @code{'(user-processes loopback syslogd)}
|
||||
@item @code{shepherd-requirement} (default: @code{(user-processes loopback syslogd)}
|
||||
List of services that should be started before WPA Supplicant starts.
|
||||
|
||||
@item @code{shepherd-provision} (default: @code{(wpa-supplicant wireless-daemon)}) (type: list-of-symbols)
|
||||
The name(s) of the service.
|
||||
|
||||
@item @code{dbus?} (default: @code{#t})
|
||||
Whether to listen for requests on D-Bus.
|
||||
|
||||
|
|
|
|||
|
|
@ -227,6 +227,8 @@
|
|||
wpa-supplicant-configuration?
|
||||
wpa-supplicant-configuration-wpa-supplicant
|
||||
wpa-supplicant-configuration-requirement
|
||||
wpa-supplicant-configuration-shepherd-requirement
|
||||
wpa-supplicant-configuration-shepherd-provision
|
||||
wpa-supplicant-configuration-pid-file
|
||||
wpa-supplicant-configuration-dbus?
|
||||
wpa-supplicant-configuration-interface
|
||||
|
|
@ -2024,34 +2026,48 @@ whatever the thing is supposed to do).")))
|
|||
;;; WPA supplicant
|
||||
;;;
|
||||
|
||||
(define-with-syntax-properties (warn-deprecated-wpa-supplicant-requirement
|
||||
(value properties))
|
||||
(unless (unspecified? value)
|
||||
(warning (source-properties->location properties)
|
||||
(G_ "the 'requirement' field is deprecated, please use \
|
||||
'shepherd-requirement' field instead~%")))
|
||||
value)
|
||||
|
||||
(define-record-type* <wpa-supplicant-configuration>
|
||||
wpa-supplicant-configuration make-wpa-supplicant-configuration
|
||||
wpa-supplicant-configuration?
|
||||
(wpa-supplicant wpa-supplicant-configuration-wpa-supplicant ;file-like
|
||||
(default wpa-supplicant))
|
||||
(requirement wpa-supplicant-configuration-requirement ;list of symbols
|
||||
(default '(user-processes loopback syslogd)))
|
||||
(pid-file wpa-supplicant-configuration-pid-file ;string
|
||||
(default "/var/run/wpa_supplicant.pid"))
|
||||
(dbus? wpa-supplicant-configuration-dbus? ;Boolean
|
||||
(default #t))
|
||||
(interface wpa-supplicant-configuration-interface ;#f | string
|
||||
(default #f))
|
||||
(config-file wpa-supplicant-configuration-config-file ;#f | <file-like>
|
||||
(default #f))
|
||||
(extra-options wpa-supplicant-configuration-extra-options ;list of strings
|
||||
(default '())))
|
||||
(wpa-supplicant wpa-supplicant-configuration-wpa-supplicant ;file-like
|
||||
(default wpa-supplicant))
|
||||
(requirement wpa-supplicant-configuration-requirement ;list of symbols
|
||||
(sanitize warn-deprecated-wpa-supplicant-requirement)
|
||||
(default *unspecified*))
|
||||
(pid-file wpa-supplicant-configuration-pid-file ;string
|
||||
(default "/var/run/wpa_supplicant.pid"))
|
||||
(dbus? wpa-supplicant-configuration-dbus? ;Boolean
|
||||
(default #t))
|
||||
(interface wpa-supplicant-configuration-interface ;#f | string
|
||||
(default #f))
|
||||
(config-file wpa-supplicant-configuration-config-file ;#f | <file-like>
|
||||
(default #f))
|
||||
(extra-options wpa-supplicant-configuration-extra-options ;list of strings
|
||||
(default '()))
|
||||
(shepherd-provision wpa-supplicant-configuration-shepherd-provision ;list of symbols
|
||||
(default '(wpa-supplicant wireless-daemon)))
|
||||
(shepherd-requirement wpa-supplicant-configuration-shepherd-requirement ;list of symbols
|
||||
(default '(user-processes loopback syslogd))))
|
||||
|
||||
(define (wpa-supplicant-shepherd-service config)
|
||||
(match-record config <wpa-supplicant-configuration>
|
||||
(wpa-supplicant requirement pid-file dbus?
|
||||
shepherd-requirement shepherd-provision
|
||||
interface config-file extra-options)
|
||||
(list (shepherd-service
|
||||
(documentation "Run the WPA supplicant daemon")
|
||||
(provision '(wpa-supplicant))
|
||||
(requirement (if dbus?
|
||||
(cons 'dbus-system requirement)
|
||||
requirement))
|
||||
(provision shepherd-provision)
|
||||
(requirement `(,@(if dbus? '(dbus-system) '())
|
||||
,@(or (if (unspecified? requirement) #f requirement)
|
||||
shepherd-requirement)))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list (string-append #$wpa-supplicant
|
||||
"/sbin/wpa_supplicant")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue