[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#61587] [PATCH v3 3/8] services: connman: Use match-record and expor
From: |
Bruno Victal |
Subject: |
[bug#61587] [PATCH v3 3/8] services: connman: Use match-record and export accessors. |
Date: |
Tue, 7 Mar 2023 12:44:00 +0000 |
* gnu/services/networking.scm (connman-shepherd-service): Use match-record.
(connman-configuration-connman, connman-configuration-disable-vpn?)
(connman-configuration-iwd?): Export accessors.
---
gnu/services/networking.scm | 52 ++++++++++++++++++-------------------
1 file changed, 25 insertions(+), 27 deletions(-)
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index f572de1279..abfaba8004 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -150,6 +150,9 @@ (define-module (gnu services networking)
connman-configuration
connman-configuration?
+ connman-configuration-connman
+ connman-configuration-disable-vpn?
+ connman-configuration-iwd?
connman-service-type
modem-manager-configuration
@@ -1300,33 +1303,28 @@ (define (connman-activation config)
(mkdir-p "/var/lib/connman-vpn/"))))))
(define (connman-shepherd-service config)
- "Return a shepherd service for Connman"
- (and
- (connman-configuration? config)
- (let ((connman (connman-configuration-connman config))
- (disable-vpn? (connman-configuration-disable-vpn? config))
- (iwd? (connman-configuration-iwd? config)))
- (list (shepherd-service
- (documentation "Run Connman")
- (provision '(networking))
- (requirement
- (append '(user-processes dbus-system loopback)
- (if iwd? '(iwd) '())))
- (start #~(make-forkexec-constructor
- (list (string-append #$connman
- "/sbin/connmand")
- "--nodaemon"
- "--nodnsproxy"
- #$@(if disable-vpn? '("--noplugin=vpn") '())
- #$@(if iwd? '("--wifi=iwd_agent") '()))
-
- ;; As connman(8) notes, when passing '-n', connman
- ;; "directs log output to the controlling terminal in
- ;; addition to syslog." Redirect stdout and stderr
- ;; to avoid spamming the console (XXX: for some reason
- ;; redirecting to /dev/null doesn't work.)
- #:log-file "/var/log/connman.log"))
- (stop #~(make-kill-destructor)))))))
+ (match-record config <connman-configuration> (connman disable-vpn? iwd?)
+ (list (shepherd-service
+ (documentation "Run Connman")
+ (provision '(networking))
+ (requirement
+ (append '(user-processes dbus-system loopback)
+ (if iwd? '(iwd) '())))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$connman
+ "/sbin/connmand")
+ "--nodaemon"
+ "--nodnsproxy"
+ #$@(if disable-vpn? '("--noplugin=vpn") '())
+ #$@(if iwd? '("--wifi=iwd_agent") '()))
+
+ ;; As connman(8) notes, when passing '-n', connman
+ ;; "directs log output to the controlling terminal in
+ ;; addition to syslog." Redirect stdout and stderr
+ ;; to avoid spamming the console (XXX: for some reason
+ ;; redirecting to /dev/null doesn't work.)
+ #:log-file "/var/log/connman.log"))
+ (stop #~(make-kill-destructor))))))
(define %connman-log-rotation
(list (log-rotation
--
2.39.1
- [bug#61587] [PATCH v3 1/8] services: network-manager: Add 'shepherd-requirement' field., Bruno Victal, 2023/03/07
- [bug#61587] [PATCH v3 2/8] services: network-manager: Deprecate 'iwd?' field., Bruno Victal, 2023/03/07
- [bug#61587] [PATCH v3 4/8] services: connman: Add 'shepherd-requirement' field., Bruno Victal, 2023/03/07
- [bug#61587] [PATCH v3 6/8] services: network-manager: Await for NetworkManager to finish starting up., Bruno Victal, 2023/03/07
- [bug#61587] [PATCH v3 7/8] services: network-manager: Set service canonical-name to NetworkManager., Bruno Victal, 2023/03/07
- [bug#61587] [PATCH v3 3/8] services: connman: Use match-record and export accessors.,
Bruno Victal <=
- [bug#61587] [PATCH v3 5/8] services: connman: Deprecate 'iwd?' field., Bruno Victal, 2023/03/07
- [bug#61587] [PATCH v3 8/8] services: connman: Set service canonical-name to connman., Bruno Victal, 2023/03/07
- bug#61587: [PATCH v3 1/8] services: network-manager: Add 'shepherd-requirement' field., Ludovic Courtès, 2023/03/10