mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-11 13:49:23 -05:00
services: connman: Use match-record and export accessors.
* gnu/services/networking.scm (connman-shepherd-service): Use match-record. (connman-configuration-connman, connman-configuration-disable-vpn?) (connman-configuration-iwd?): Export accessors. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
1e1b3ec012
commit
1545dab1fa
1 changed files with 24 additions and 26 deletions
|
@ -150,6 +150,9 @@ (define-module (gnu services networking)
|
||||||
|
|
||||||
connman-configuration
|
connman-configuration
|
||||||
connman-configuration?
|
connman-configuration?
|
||||||
|
connman-configuration-connman
|
||||||
|
connman-configuration-disable-vpn?
|
||||||
|
connman-configuration-iwd?
|
||||||
connman-service-type
|
connman-service-type
|
||||||
|
|
||||||
modem-manager-configuration
|
modem-manager-configuration
|
||||||
|
@ -1300,33 +1303,28 @@ (define (connman-activation config)
|
||||||
(mkdir-p "/var/lib/connman-vpn/"))))))
|
(mkdir-p "/var/lib/connman-vpn/"))))))
|
||||||
|
|
||||||
(define (connman-shepherd-service config)
|
(define (connman-shepherd-service config)
|
||||||
"Return a shepherd service for Connman"
|
(match-record config <connman-configuration> (connman disable-vpn? iwd?)
|
||||||
(and
|
(list (shepherd-service
|
||||||
(connman-configuration? config)
|
(documentation "Run Connman")
|
||||||
(let ((connman (connman-configuration-connman config))
|
(provision '(networking))
|
||||||
(disable-vpn? (connman-configuration-disable-vpn? config))
|
(requirement
|
||||||
(iwd? (connman-configuration-iwd? config)))
|
(append '(user-processes dbus-system loopback)
|
||||||
(list (shepherd-service
|
(if iwd? '(iwd) '())))
|
||||||
(documentation "Run Connman")
|
(start #~(make-forkexec-constructor
|
||||||
(provision '(networking))
|
(list (string-append #$connman
|
||||||
(requirement
|
"/sbin/connmand")
|
||||||
(append '(user-processes dbus-system loopback)
|
"--nodaemon"
|
||||||
(if iwd? '(iwd) '())))
|
"--nodnsproxy"
|
||||||
(start #~(make-forkexec-constructor
|
#$@(if disable-vpn? '("--noplugin=vpn") '())
|
||||||
(list (string-append #$connman
|
#$@(if iwd? '("--wifi=iwd_agent") '()))
|
||||||
"/sbin/connmand")
|
|
||||||
"--nodaemon"
|
|
||||||
"--nodnsproxy"
|
|
||||||
#$@(if disable-vpn? '("--noplugin=vpn") '())
|
|
||||||
#$@(if iwd? '("--wifi=iwd_agent") '()))
|
|
||||||
|
|
||||||
;; As connman(8) notes, when passing '-n', connman
|
;; As connman(8) notes, when passing '-n', connman
|
||||||
;; "directs log output to the controlling terminal in
|
;; "directs log output to the controlling terminal in
|
||||||
;; addition to syslog." Redirect stdout and stderr
|
;; addition to syslog." Redirect stdout and stderr
|
||||||
;; to avoid spamming the console (XXX: for some reason
|
;; to avoid spamming the console (XXX: for some reason
|
||||||
;; redirecting to /dev/null doesn't work.)
|
;; redirecting to /dev/null doesn't work.)
|
||||||
#:log-file "/var/log/connman.log"))
|
#:log-file "/var/log/connman.log"))
|
||||||
(stop #~(make-kill-destructor)))))))
|
(stop #~(make-kill-destructor))))))
|
||||||
|
|
||||||
(define %connman-log-rotation
|
(define %connman-log-rotation
|
||||||
(list (log-rotation
|
(list (log-rotation
|
||||||
|
|
Loading…
Reference in a new issue