diff options
author | Sergey Trofimov <sarg@sarg.org.ru> | 2025-05-23 21:21:41 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2025-06-05 22:42:14 +0200 |
commit | faa8cdfc09d14d62e441f588bbcc883b1da9fab2 (patch) | |
tree | 0b56ffbf35555a44e2a910b8e60e27b103e09e90 | |
parent | 2ec1469104cf52ad0e91ad164a9f5a3a80fb9743 (diff) |
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>
-rw-r--r-- | doc/guix.texi | 5 | ||||
-rw-r--r-- | gnu/services/networking.scm | 52 |
2 files changed, 38 insertions, 19 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 35d9f9c430..405e11795f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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. diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 40081bf60e..4907dd5c04 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -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") |