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 /gnu/services | |
| 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>
Diffstat (limited to 'gnu/services')
| -rw-r--r-- | gnu/services/networking.scm | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 40081bf60e4..4907dd5c043 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm | |||
| @@ -227,6 +227,8 @@ | |||
| 227 | wpa-supplicant-configuration? | 227 | wpa-supplicant-configuration? |
| 228 | wpa-supplicant-configuration-wpa-supplicant | 228 | wpa-supplicant-configuration-wpa-supplicant |
| 229 | wpa-supplicant-configuration-requirement | 229 | wpa-supplicant-configuration-requirement |
| 230 | wpa-supplicant-configuration-shepherd-requirement | ||
| 231 | wpa-supplicant-configuration-shepherd-provision | ||
| 230 | wpa-supplicant-configuration-pid-file | 232 | wpa-supplicant-configuration-pid-file |
| 231 | wpa-supplicant-configuration-dbus? | 233 | wpa-supplicant-configuration-dbus? |
| 232 | wpa-supplicant-configuration-interface | 234 | wpa-supplicant-configuration-interface |
| @@ -2024,34 +2026,48 @@ whatever the thing is supposed to do)."))) | |||
| 2024 | ;;; WPA supplicant | 2026 | ;;; WPA supplicant |
| 2025 | ;;; | 2027 | ;;; |
| 2026 | 2028 | ||
| 2029 | (define-with-syntax-properties (warn-deprecated-wpa-supplicant-requirement | ||
| 2030 | (value properties)) | ||
| 2031 | (unless (unspecified? value) | ||
| 2032 | (warning (source-properties->location properties) | ||
| 2033 | (G_ "the 'requirement' field is deprecated, please use \ | ||
| 2034 | 'shepherd-requirement' field instead~%"))) | ||
| 2035 | value) | ||
| 2036 | |||
| 2027 | (define-record-type* <wpa-supplicant-configuration> | 2037 | (define-record-type* <wpa-supplicant-configuration> |
| 2028 | wpa-supplicant-configuration make-wpa-supplicant-configuration | 2038 | wpa-supplicant-configuration make-wpa-supplicant-configuration |
| 2029 | wpa-supplicant-configuration? | 2039 | wpa-supplicant-configuration? |
| 2030 | (wpa-supplicant wpa-supplicant-configuration-wpa-supplicant ;file-like | 2040 | (wpa-supplicant wpa-supplicant-configuration-wpa-supplicant ;file-like |
| 2031 | (default wpa-supplicant)) | 2041 | (default wpa-supplicant)) |
| 2032 | (requirement wpa-supplicant-configuration-requirement ;list of symbols | 2042 | (requirement wpa-supplicant-configuration-requirement ;list of symbols |
| 2033 | (default '(user-processes loopback syslogd))) | 2043 | (sanitize warn-deprecated-wpa-supplicant-requirement) |
| 2034 | (pid-file wpa-supplicant-configuration-pid-file ;string | 2044 | (default *unspecified*)) |
| 2035 | (default "/var/run/wpa_supplicant.pid")) | 2045 | (pid-file wpa-supplicant-configuration-pid-file ;string |
| 2036 | (dbus? wpa-supplicant-configuration-dbus? ;Boolean | 2046 | (default "/var/run/wpa_supplicant.pid")) |
| 2037 | (default #t)) | 2047 | (dbus? wpa-supplicant-configuration-dbus? ;Boolean |
| 2038 | (interface wpa-supplicant-configuration-interface ;#f | string | 2048 | (default #t)) |
| 2039 | (default #f)) | 2049 | (interface wpa-supplicant-configuration-interface ;#f | string |
| 2040 | (config-file wpa-supplicant-configuration-config-file ;#f | <file-like> | 2050 | (default #f)) |
| 2041 | (default #f)) | 2051 | (config-file wpa-supplicant-configuration-config-file ;#f | <file-like> |
| 2042 | (extra-options wpa-supplicant-configuration-extra-options ;list of strings | 2052 | (default #f)) |
| 2043 | (default '()))) | 2053 | (extra-options wpa-supplicant-configuration-extra-options ;list of strings |
| 2054 | (default '())) | ||
| 2055 | (shepherd-provision wpa-supplicant-configuration-shepherd-provision ;list of symbols | ||
| 2056 | (default '(wpa-supplicant wireless-daemon))) | ||
| 2057 | (shepherd-requirement wpa-supplicant-configuration-shepherd-requirement ;list of symbols | ||
| 2058 | (default '(user-processes loopback syslogd)))) | ||
| 2044 | 2059 | ||
| 2045 | (define (wpa-supplicant-shepherd-service config) | 2060 | (define (wpa-supplicant-shepherd-service config) |
| 2046 | (match-record config <wpa-supplicant-configuration> | 2061 | (match-record config <wpa-supplicant-configuration> |
| 2047 | (wpa-supplicant requirement pid-file dbus? | 2062 | (wpa-supplicant requirement pid-file dbus? |
| 2063 | shepherd-requirement shepherd-provision | ||
| 2048 | interface config-file extra-options) | 2064 | interface config-file extra-options) |
| 2049 | (list (shepherd-service | 2065 | (list (shepherd-service |
| 2050 | (documentation "Run the WPA supplicant daemon") | 2066 | (documentation "Run the WPA supplicant daemon") |
| 2051 | (provision '(wpa-supplicant)) | 2067 | (provision shepherd-provision) |
| 2052 | (requirement (if dbus? | 2068 | (requirement `(,@(if dbus? '(dbus-system) '()) |
| 2053 | (cons 'dbus-system requirement) | 2069 | ,@(or (if (unspecified? requirement) #f requirement) |
| 2054 | requirement)) | 2070 | shepherd-requirement))) |
| 2055 | (start #~(make-forkexec-constructor | 2071 | (start #~(make-forkexec-constructor |
| 2056 | (list (string-append #$wpa-supplicant | 2072 | (list (string-append #$wpa-supplicant |
| 2057 | "/sbin/wpa_supplicant") | 2073 | "/sbin/wpa_supplicant") |
