guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/18: services: network-manager: Deprecate 'iwd?' field.


From: guix-commits
Subject: 03/18: services: network-manager: Deprecate 'iwd?' field.
Date: Fri, 10 Mar 2023 11:41:42 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 1e1b3ec0126ec3b23338c7991c747ab432c97a3c
Author: Bruno Victal <mirai@makinata.eu>
AuthorDate: Tue Mar 7 12:43:59 2023 +0000

    services: network-manager: Deprecate 'iwd?' field.
    
    * gnu/services/networking.scm (warn-iwd?-field-deprecation): New procedure,
    helper for deprecated field.
    (<network-manager-configuration>)[iwd?]: Use helper to warn deprecated 
field.
    (network-manager-shepherd-service): Make iwd? a local variable independent
    from the deprecated field.
    * doc/guix.texi (Networking Setup): Remove mention of iwd? field.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 doc/guix.texi               |  4 ----
 gnu/services/networking.scm | 20 ++++++++++++++++++--
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index ed518cbcb8..ccaca0a71b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19890,10 +19890,6 @@ This is the list of available plugins for virtual 
private networks
 (VPNs).  An example of this is the @code{network-manager-openvpn}
 package, which allows NetworkManager to manage VPNs @i{via} OpenVPN.
 
-@item @code{iwd?} (default: @code{#f})
-NetworkManager will use iwd as a backend for wireless networking if this
-option is set to @code{#t}, otherwise it will use wpa-supplicant.
-
 @end table
 @end deftp
 
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 4a3d5b887f..f572de1279 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -1136,6 +1136,15 @@ project's documentation} for more information."
 ;;; NetworkManager
 ;;;
 
+;; TODO: deprecated field, remove later.
+(define-with-syntax-properties (warn-iwd?-field-deprecation
+                                (value properties))
+  (when value
+    (warning (source-properties->location properties)
+             (G_ "the 'iwd?' field is deprecated, please use \
+'shepherd-requirement' field instead~%")))
+  value)
+
 (define-record-type* <network-manager-configuration>
   network-manager-configuration make-network-manager-configuration
   network-manager-configuration?
@@ -1147,7 +1156,9 @@ project's documentation} for more information."
        (default "default"))
   (vpn-plugins network-manager-configuration-vpn-plugins ;list of file-like
                (default '()))
-  (iwd? network-manager-configuration-iwd? (default #f)))
+  (iwd? network-manager-configuration-iwd?  ; TODO: deprecated field, remove.
+        (default #f)
+        (sanitize warn-iwd?-field-deprecation)))
 
 (define (network-manager-activation config)
   ;; Activation gexp for NetworkManager
@@ -1204,7 +1215,10 @@ project's documentation} for more information."
 (define (network-manager-shepherd-service config)
   (match-record config <network-manager-configuration>
     (network-manager shepherd-requirement dns vpn-plugins iwd?)
-    (let ((conf (plain-file "NetworkManager.conf"
+    (let ((iwd? (or iwd?  ; TODO: deprecated field, remove later.
+                    (and shepherd-requirement
+                         (memq 'iwd shepherd-requirement))))
+          (conf (plain-file "NetworkManager.conf"
                             (string-append
                              "[main]\ndns=" dns "\n"
                              (if iwd? "[device]\nwifi.backend=iwd\n" ""))))
@@ -1214,6 +1228,8 @@ project's documentation} for more information."
              (provision '(networking))
              (requirement `(user-processes dbus-system loopback
                             ,@shepherd-requirement
+                            ;; TODO: iwd? is deprecated and should be passed
+                            ;; with shepherd-requirement, remove later.
                             ,@(if iwd? '(iwd) '())))
              (start #~(make-forkexec-constructor
                        (list (string-append #$network-manager



reply via email to

[Prev in Thread] Current Thread [Next in Thread]