GNU bug report logs - #30991
[PATCH 0/2] Add ModemManager service.

Previous Next

Package: guix-patches;

Reported by: Danny Milosavljevic <dannym <at> scratchpost.org>

Date: Thu, 29 Mar 2018 18:30:03 UTC

Severity: normal

Tags: fixed, patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 30991 in the body.
You can then email your comments to 30991 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Thu, 29 Mar 2018 18:30:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 29 Mar 2018 18:30:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: guix-patches <at> gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH 0/2] Add ModemManager service.
Date: Thu, 29 Mar 2018 20:28:56 +0200
Danny Milosavljevic (2):
  services: Add modem-manager-service-type.
  services: Add ModemManager to '%desktop-services'.

 doc/guix.texi               | 22 ++++++++++++++++++++++
 gnu/services/desktop.scm    |  1 +
 gnu/services/networking.scm | 35 +++++++++++++++++++++++++++++++++++
 3 files changed, 58 insertions(+)





Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Thu, 29 Mar 2018 18:34:01 GMT) Full text and rfc822 format available.

Message #8 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 30991 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH 1/2] services: Add modem-manager-service-type.
Date: Thu, 29 Mar 2018 20:33:46 +0200
* gnu/services/networking.scm (modem-manager-service-type): New variable.
(<modem-manager-configuration>): New variable.
(modem-manager-configuration): New procedure.
(modem-manager-configuration?): New procedure.
* doc/guix.texi (Networking Services): Document it.
---
 doc/guix.texi               | 22 ++++++++++++++++++++++
 gnu/services/networking.scm | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 25c08b9f0..23b7ae089 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10712,6 +10712,28 @@ several commands to interact with the daemon and configure networking:
 and @command{wicd-curses} user interfaces.
 @end deffn
 
+@cindex ModemManager
+
+@defvr {Scheme Variable} modem-manager-service-type
+This is the service type for the
+@uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager}
+service. The value for this service type is a
+@code{modem-manager-configuration} record.
+
+This service is part of @code{%desktop-services} (@pxref{Desktop
+Services}).
+@end defvr
+
+@deftp {Data Type} modem-manager-configuration
+Data type representing the configuration of ModemManager.
+
+@table @asis
+@item @code{modem-manager} (default: @code{modem-manager})
+The ModemManager package to use.
+
+@end table
+@end deftp
+
 @cindex NetworkManager
 
 @defvr {Scheme Variable} network-manager-service-type
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 6ac440fd2..660ec162b 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -30,6 +30,7 @@
   #:use-module (gnu system pam)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages connman)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages tor)
   #:use-module (gnu packages messaging)
@@ -90,6 +91,9 @@
             connman-configuration?
             connman-service-type
 
+            modem-manager-configuration
+            modem-manager-configuration?
+            modem-manager-service-type
             wpa-supplicant-service-type
 
             openvswitch-service-type
@@ -890,6 +894,17 @@ and @command{wicd-curses} user interfaces."
   (service wicd-service-type wicd))
 
 
+;;;
+;;; ModemManager
+;;;
+
+(define-record-type* <modem-manager-configuration>
+  modem-manager-configuration make-modem-manager-configuration
+  modem-manager-configuration?
+  (modem-manager modem-manager-configuration-modem-manager
+                   (default modem-manager)))
+
+
 ;;;
 ;;; NetworkManager
 ;;;
@@ -1027,6 +1042,26 @@ wireless networking."))))
 a network connection manager."))))
 
 
+;;;
+;;; Modem manager
+;;;
+
+(define modem-manager-service-type
+  (let ((config->package
+         (match-lambda
+          (($ <modem-manager-configuration> modem-manager)
+           (list modem-manager)))))
+    (service-type (name 'modem-manager)
+                  (extensions
+                   (list (service-extension dbus-root-service-type
+                                            config->package)))
+                  (default-value (modem-manager-configuration))
+                  (description
+                   "Run @uref{https://wiki.gnome.org/Projects/ModemManager,
+ModemManager}, a modem management daemon that aims to simplify dialup
+networking."))))
+
+
 ;;;
 ;;; WPA supplicant
 ;;;




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Thu, 29 Mar 2018 18:34:02 GMT) Full text and rfc822 format available.

Message #11 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 30991 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH 2/2] services: Add ModemManager to '%desktop-services'.
Date: Thu, 29 Mar 2018 20:33:47 +0200
* gnu/services/desktop.scm (%desktop-services): Add ModemManager.
---
 gnu/services/desktop.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 897252917..00f5c105b 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -898,6 +898,7 @@ with the administrator's password."
          (simple-service 'mtp udev-service-type (list libmtp))
 
          ;; The D-Bus clique.
+         (service modem-manager-service-type)
          (service network-manager-service-type)
          (service wpa-supplicant-service-type)    ;needed by NetworkManager
          (avahi-service)




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Thu, 29 Mar 2018 19:16:01 GMT) Full text and rfc822 format available.

Message #14 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 30991 <at> debbugs.gnu.org
Subject: Re: [PATCH 0/2] Add ModemManager service.
Date: Thu, 29 Mar 2018 21:15:05 +0200
[Message part 1 (text/plain, inline)]
I'd also like to extend udev-service-type in modem-manager-service-type - but that would create a cycle (gnu services networking) - (gnu services base).

Can we fix this please?

A way is to move static-networking-service into (gnu services base).

Or move %base-services to a new module (gnu base-services) or whatever.
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Thu, 29 Mar 2018 22:22:01 GMT) Full text and rfc822 format available.

Message #17 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 30991 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH v2 0/3] Add ModemManager service.
Date: Fri, 30 Mar 2018 00:21:37 +0200
Danny Milosavljevic (3):
  services: Move static-networking to (gnu services base).
  services: Add modem-manager-service-type.
  services: Add ModemManager to '%desktop-services'.

 doc/guix.texi               |  22 +++++
 gnu/services/base.scm       | 160 ++++++++++++++++++++++++++++++++++-
 gnu/services/desktop.scm    |   1 +
 gnu/services/networking.scm | 199 +++++++++-----------------------------------
 4 files changed, 222 insertions(+), 160 deletions(-)





Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Thu, 29 Mar 2018 22:22:02 GMT) Full text and rfc822 format available.

Message #20 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 30991 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH v2 1/3] services: Move static-networking to (gnu services
 base).
Date: Fri, 30 Mar 2018 00:21:38 +0200
* gnu/services/networking.scm (static-networking, static-networking?,
static-networking-interface, static-networking-ip, static-networking-netmask,
static-networking-gateway, static-networking-requirement,
static-networking-service, static-networking-service-type): Move to...
* gnu/services/base.scm: ...here.
---
 gnu/services/base.scm       | 160 +++++++++++++++++++++++++++++++++++++++++++-
 gnu/services/networking.scm | 160 +-------------------------------------------
 2 files changed, 160 insertions(+), 160 deletions(-)

diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index be1bfce57..694aab882 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -26,7 +26,6 @@
   #:use-module (guix store)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
-  #:use-module (gnu services networking)
   #:use-module (gnu system pam)
   #:use-module (gnu system shadow)                ; 'user-account', etc.
   #:use-module (gnu system uuid)
@@ -64,6 +63,18 @@
             console-font-service
             virtual-terminal-service-type
 
+            static-networking
+
+            static-networking?
+            static-networking-interface
+            static-networking-ip
+            static-networking-netmask
+            static-networking-gateway
+            static-networking-requirement
+
+            static-networking-service
+            static-networking-service-type
+
             udev-configuration
             udev-configuration?
             udev-configuration-rules
@@ -2045,6 +2056,153 @@ This service is not part of @var{%base-services}."
         (start #~(make-forkexec-constructor #$kmscon-command))
         (stop #~(make-kill-destructor)))))))
 
+(define-record-type* <static-networking>
+  static-networking make-static-networking
+  static-networking?
+  (interface static-networking-interface)
+  (ip static-networking-ip)
+  (netmask static-networking-netmask
+           (default #f))
+  (gateway static-networking-gateway              ;FIXME: doesn't belong here
+           (default #f))
+  (provision static-networking-provision
+             (default #f))
+  (requirement static-networking-requirement
+               (default '()))
+  (name-servers static-networking-name-servers    ;FIXME: doesn't belong here
+                (default '())))
+
+(define static-networking-shepherd-service
+  (match-lambda
+    (($ <static-networking> interface ip netmask gateway provision
+                            requirement name-servers)
+     (let ((loopback? (and provision (memq 'loopback provision))))
+       (shepherd-service
+
+        (documentation
+         "Bring up the networking interface using a static IP address.")
+        (requirement requirement)
+        (provision (or provision
+                       (list (symbol-append 'networking-
+                                            (string->symbol interface)))))
+
+        (start #~(lambda _
+                   ;; Return #t if successfully started.
+                   (let* ((addr     (inet-pton AF_INET #$ip))
+                          (sockaddr (make-socket-address AF_INET addr 0))
+                          (mask     (and #$netmask
+                                         (inet-pton AF_INET #$netmask)))
+                          (maskaddr (and mask
+                                         (make-socket-address AF_INET
+                                                              mask 0)))
+                          (gateway  (and #$gateway
+                                         (inet-pton AF_INET #$gateway)))
+                          (gatewayaddr (and gateway
+                                            (make-socket-address AF_INET
+                                                                 gateway 0))))
+                     (configure-network-interface #$interface sockaddr
+                                                  (logior IFF_UP
+                                                          #$(if loopback?
+                                                                #~IFF_LOOPBACK
+                                                                0))
+                                                  #:netmask maskaddr)
+                     (when gateway
+                       (let ((sock (socket AF_INET SOCK_DGRAM 0)))
+                         (add-network-route/gateway sock gatewayaddr)
+                         (close-port sock))))))
+        (stop #~(lambda _
+                  ;; Return #f is successfully stopped.
+                  (let ((sock (socket AF_INET SOCK_STREAM 0)))
+                    (when #$gateway
+                      (delete-network-route sock
+                                            (make-socket-address
+                                             AF_INET INADDR_ANY 0)))
+                    (set-network-interface-flags sock #$interface 0)
+                    (close-port sock)
+:                    #f)))
+        (respawn? #f))))))
+
+(define (static-networking-etc-files interfaces)
+  "Return a /etc/resolv.conf entry for INTERFACES or the empty list."
+  (match (delete-duplicates
+          (append-map static-networking-name-servers
+                      interfaces))
+    (()
+     '())
+    ((name-servers ...)
+     (let ((content (string-join
+                     (map (cut string-append "nameserver " <>)
+                          name-servers)
+                     "\n" 'suffix)))
+       `(("resolv.conf"
+          ,(plain-file "resolv.conf"
+                       (string-append "\
+# Generated by 'static-networking-service'.\n"
+                                      content))))))))
+
+(define (static-networking-shepherd-services interfaces)
+  "Return the list of Shepherd services to bring up INTERFACES, a list of
+<static-networking> objects."
+  (define (loopback? service)
+    (memq 'loopback (shepherd-service-provision service)))
+
+  (let ((services (map static-networking-shepherd-service interfaces)))
+    (match (remove loopback? services)
+      (()
+       ;; There's no interface other than 'loopback', so we assume that the
+       ;; 'networking' service will be provided by dhclient or similar.
+       services)
+      ((non-loopback ...)
+       ;; Assume we're providing all the interfaces, and thus, provide a
+       ;; 'networking' service.
+       (cons (shepherd-service
+              (provision '(networking))
+              (requirement (append-map shepherd-service-provision
+                                       services))
+              (start #~(const #t))
+              (stop #~(const #f))
+              (documentation "Bring up all the networking interfaces."))
+             services)))))
+
+(define static-networking-service-type
+  ;; The service type for statically-defined network interfaces.
+  (service-type (name 'static-networking)
+                (extensions
+                 (list
+                  (service-extension shepherd-root-service-type
+                                     static-networking-shepherd-services)
+                  (service-extension etc-service-type
+                                     static-networking-etc-files)))
+                (compose concatenate)
+                (extend append)
+                (description
+                 "Turn up the specified network interfaces upon startup,
+with the given IP address, gateway, netmask, and so on.  The value for
+services of this type is a list of @code{static-networking} objects, one per
+network interface.")))
+
+(define* (static-networking-service interface ip
+                                    #:key
+                                    netmask gateway provision
+                                    ;; Most interfaces require udev to be usable.
+                                    (requirement '(udev))
+                                    (name-servers '()))
+  "Return a service that starts @var{interface} with address @var{ip}.  If
+@var{netmask} is true, use it as the network mask.  If @var{gateway} is true,
+it must be a string specifying the default network gateway.
+
+This procedure can be called several times, one for each network
+interface of interest.  Behind the scenes what it does is extend
+@code{static-networking-service-type} with additional network interfaces
+to handle."
+  (simple-service 'static-network-interface
+                  static-networking-service-type
+                  (list (static-networking (interface interface) (ip ip)
+                                           (netmask netmask) (gateway gateway)
+                                           (provision provision)
+                                           (requirement requirement)
+                                           (name-servers name-servers)))))
+
 
 (define %base-services
   ;; Convenience variable holding the basic services.
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 6ac440fd2..da96bbeb5 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -24,6 +24,7 @@
 
 (define-module (gnu services networking)
   #:use-module (gnu services)
+  #:use-module (gnu services base)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services dbus)
   #:use-module (gnu system shadow)
@@ -45,17 +46,6 @@
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
   #:export (%facebook-host-aliases
-            static-networking
-
-            static-networking?
-            static-networking-interface
-            static-networking-ip
-            static-networking-netmask
-            static-networking-gateway
-            static-networking-requirement
-
-            static-networking-service
-            static-networking-service-type
             dhcp-client-service
             %ntp-servers
 
@@ -134,154 +124,6 @@ fe80::1%lo0 connect.facebook.net
 fe80::1%lo0 www.connect.facebook.net
 fe80::1%lo0 apps.facebook.com\n")
 
-
-(define-record-type* <static-networking>
-  static-networking make-static-networking
-  static-networking?
-  (interface static-networking-interface)
-  (ip static-networking-ip)
-  (netmask static-networking-netmask
-           (default #f))
-  (gateway static-networking-gateway              ;FIXME: doesn't belong here
-           (default #f))
-  (provision static-networking-provision
-             (default #f))
-  (requirement static-networking-requirement
-               (default '()))
-  (name-servers static-networking-name-servers    ;FIXME: doesn't belong here
-                (default '())))
-
-(define static-networking-shepherd-service
-  (match-lambda
-    (($ <static-networking> interface ip netmask gateway provision
-                            requirement name-servers)
-     (let ((loopback? (and provision (memq 'loopback provision))))
-       (shepherd-service
-
-        (documentation
-         "Bring up the networking interface using a static IP address.")
-        (requirement requirement)
-        (provision (or provision
-                       (list (symbol-append 'networking-
-                                            (string->symbol interface)))))
-
-        (start #~(lambda _
-                   ;; Return #t if successfully started.
-                   (let* ((addr     (inet-pton AF_INET #$ip))
-                          (sockaddr (make-socket-address AF_INET addr 0))
-                          (mask     (and #$netmask
-                                         (inet-pton AF_INET #$netmask)))
-                          (maskaddr (and mask
-                                         (make-socket-address AF_INET
-                                                              mask 0)))
-                          (gateway  (and #$gateway
-                                         (inet-pton AF_INET #$gateway)))
-                          (gatewayaddr (and gateway
-                                            (make-socket-address AF_INET
-                                                                 gateway 0))))
-                     (configure-network-interface #$interface sockaddr
-                                                  (logior IFF_UP
-                                                          #$(if loopback?
-                                                                #~IFF_LOOPBACK
-                                                                0))
-                                                  #:netmask maskaddr)
-                     (when gateway
-                       (let ((sock (socket AF_INET SOCK_DGRAM 0)))
-                         (add-network-route/gateway sock gatewayaddr)
-                         (close-port sock))))))
-        (stop #~(lambda _
-                  ;; Return #f is successfully stopped.
-                  (let ((sock (socket AF_INET SOCK_STREAM 0)))
-                    (when #$gateway
-                      (delete-network-route sock
-                                            (make-socket-address
-                                             AF_INET INADDR_ANY 0)))
-                    (set-network-interface-flags sock #$interface 0)
-                    (close-port sock)
-                    #f)))
-        (respawn? #f))))))
-
-(define (static-networking-etc-files interfaces)
-  "Return a /etc/resolv.conf entry for INTERFACES or the empty list."
-  (match (delete-duplicates
-          (append-map static-networking-name-servers
-                      interfaces))
-    (()
-     '())
-    ((name-servers ...)
-     (let ((content (string-join
-                     (map (cut string-append "nameserver " <>)
-                          name-servers)
-                     "\n" 'suffix)))
-       `(("resolv.conf"
-          ,(plain-file "resolv.conf"
-                       (string-append "\
-# Generated by 'static-networking-service'.\n"
-                                      content))))))))
-
-(define (static-networking-shepherd-services interfaces)
-  "Return the list of Shepherd services to bring up INTERFACES, a list of
-<static-networking> objects."
-  (define (loopback? service)
-    (memq 'loopback (shepherd-service-provision service)))
-
-  (let ((services (map static-networking-shepherd-service interfaces)))
-    (match (remove loopback? services)
-      (()
-       ;; There's no interface other than 'loopback', so we assume that the
-       ;; 'networking' service will be provided by dhclient or similar.
-       services)
-      ((non-loopback ...)
-       ;; Assume we're providing all the interfaces, and thus, provide a
-       ;; 'networking' service.
-       (cons (shepherd-service
-              (provision '(networking))
-              (requirement (append-map shepherd-service-provision
-                                       services))
-              (start #~(const #t))
-              (stop #~(const #f))
-              (documentation "Bring up all the networking interfaces."))
-             services)))))
-
-(define static-networking-service-type
-  ;; The service type for statically-defined network interfaces.
-  (service-type (name 'static-networking)
-                (extensions
-                 (list
-                  (service-extension shepherd-root-service-type
-                                     static-networking-shepherd-services)
-                  (service-extension etc-service-type
-                                     static-networking-etc-files)))
-                (compose concatenate)
-                (extend append)
-                (description
-                 "Turn up the specified network interfaces upon startup,
-with the given IP address, gateway, netmask, and so on.  The value for
-services of this type is a list of @code{static-networking} objects, one per
-network interface.")))
-
-(define* (static-networking-service interface ip
-                                    #:key
-                                    netmask gateway provision
-                                    ;; Most interfaces require udev to be usable.
-                                    (requirement '(udev))
-                                    (name-servers '()))
-  "Return a service that starts @var{interface} with address @var{ip}.  If
-@var{netmask} is true, use it as the network mask.  If @var{gateway} is true,
-it must be a string specifying the default network gateway.
-
-This procedure can be called several times, one for each network
-interface of interest.  Behind the scenes what it does is extend
-@code{static-networking-service-type} with additional network interfaces
-to handle."
-  (simple-service 'static-network-interface
-                  static-networking-service-type
-                  (list (static-networking (interface interface) (ip ip)
-                                           (netmask netmask) (gateway gateway)
-                                           (provision provision)
-                                           (requirement requirement)
-                                           (name-servers name-servers)))))
-
 (define dhcp-client-service-type
   (shepherd-service-type
    'dhcp-client




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Thu, 29 Mar 2018 22:22:02 GMT) Full text and rfc822 format available.

Message #23 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 30991 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH v2 2/3] services: Add modem-manager-service-type.
Date: Fri, 30 Mar 2018 00:21:39 +0200
* gnu/services/networking.scm (modem-manager-service-type): New variable.
(<modem-manager-configuration>): New variable.
(modem-manager-configuration): New procedure.
(modem-manager-configuration?): New procedure.
* doc/guix.texi (Networking Services): Document it.
---
 doc/guix.texi               | 22 ++++++++++++++++++++++
 gnu/services/networking.scm | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 25c08b9f0..23b7ae089 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10712,6 +10712,28 @@ several commands to interact with the daemon and configure networking:
 and @command{wicd-curses} user interfaces.
 @end deffn
 
+@cindex ModemManager
+
+@defvr {Scheme Variable} modem-manager-service-type
+This is the service type for the
+@uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager}
+service. The value for this service type is a
+@code{modem-manager-configuration} record.
+
+This service is part of @code{%desktop-services} (@pxref{Desktop
+Services}).
+@end defvr
+
+@deftp {Data Type} modem-manager-configuration
+Data type representing the configuration of ModemManager.
+
+@table @asis
+@item @code{modem-manager} (default: @code{modem-manager})
+The ModemManager package to use.
+
+@end table
+@end deftp
+
 @cindex NetworkManager
 
 @defvr {Scheme Variable} network-manager-service-type
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index da96bbeb5..5092a5f35 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -31,6 +31,7 @@
   #:use-module (gnu system pam)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages connman)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages tor)
   #:use-module (gnu packages messaging)
@@ -80,6 +81,9 @@
             connman-configuration?
             connman-service-type
 
+            modem-manager-configuration
+            modem-manager-configuration?
+            modem-manager-service-type
             wpa-supplicant-service-type
 
             openvswitch-service-type
@@ -732,6 +736,17 @@ and @command{wicd-curses} user interfaces."
   (service wicd-service-type wicd))
 
 
+;;;
+;;; ModemManager
+;;;
+
+(define-record-type* <modem-manager-configuration>
+  modem-manager-configuration make-modem-manager-configuration
+  modem-manager-configuration?
+  (modem-manager modem-manager-configuration-modem-manager
+                   (default modem-manager)))
+
+
 ;;;
 ;;; NetworkManager
 ;;;
@@ -869,6 +884,30 @@ wireless networking."))))
 a network connection manager."))))
 
 
+;;;
+;;; Modem manager
+;;;
+
+(define modem-manager-service-type
+  (let ((config->package
+         (match-lambda
+          (($ <modem-manager-configuration> modem-manager)
+           (list modem-manager)))))
+    (service-type (name 'modem-manager)
+                  (extensions
+                   (list (service-extension dbus-root-service-type
+                                            config->package)
+                         (service-extension udev-service-type
+                                            config->package)
+                         (service-extension polkit-service-type
+                                            config->package)))
+                  (default-value (modem-manager-configuration))
+                  (description
+                   "Run @uref{https://wiki.gnome.org/Projects/ModemManager,
+ModemManager}, a modem management daemon that aims to simplify dialup
+networking."))))
+
+
 ;;;
 ;;; WPA supplicant
 ;;;




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Thu, 29 Mar 2018 22:22:03 GMT) Full text and rfc822 format available.

Message #26 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 30991 <at> debbugs.gnu.org
Cc: Danny Milosavljevic <dannym <at> scratchpost.org>
Subject: [PATCH v2 3/3] services: Add ModemManager to '%desktop-services'.
Date: Fri, 30 Mar 2018 00:21:40 +0200
* gnu/services/desktop.scm (%desktop-services): Add ModemManager.
---
 gnu/services/desktop.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 897252917..00f5c105b 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -898,6 +898,7 @@ with the administrator's password."
          (simple-service 'mtp udev-service-type (list libmtp))
 
          ;; The D-Bus clique.
+         (service modem-manager-service-type)
          (service network-manager-service-type)
          (service wpa-supplicant-service-type)    ;needed by NetworkManager
          (avahi-service)




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Sat, 31 Mar 2018 16:09:01 GMT) Full text and rfc822 format available.

Message #29 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 3/3] services: Add ModemManager to
 '%desktop-services'.
Date: Sat, 31 Mar 2018 18:08:35 +0200
Hello Danny,

Danny Milosavljevic <dannym <at> scratchpost.org> skribis:

> * gnu/services/desktop.scm (%desktop-services): Add ModemManager.

I would not add it to ‘%desktop-services’ because I’d think it’s not a
very common requirement, but I don’t know.  WDYT?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Sat, 31 Mar 2018 16:14:01 GMT) Full text and rfc822 format available.

Message #32 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 1/3] services: Move static-networking to
 (gnu services base).
Date: Sat, 31 Mar 2018 18:13:33 +0200
Danny Milosavljevic <dannym <at> scratchpost.org> skribis:

> * gnu/services/networking.scm (static-networking, static-networking?,
> static-networking-interface, static-networking-ip, static-networking-netmask,
> static-networking-gateway, static-networking-requirement,
> static-networking-service, static-networking-service-type): Move to...
> * gnu/services/base.scm: ...here.

What’s the reason?  Is there a module cross-dependency issue or
something?

> +        (stop #~(lambda _
> +                  ;; Return #f is successfully stopped.
> +                  (let ((sock (socket AF_INET SOCK_STREAM 0)))
> +                    (when #$gateway
> +                      (delete-network-route sock
> +                                            (make-socket-address
> +                                             AF_INET INADDR_ANY 0)))
> +                    (set-network-interface-flags sock #$interface 0)
> +                    (close-port sock)
> +:                    #f)))
   ^
A cat walked on the keyboard.  :-)

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Sat, 31 Mar 2018 16:15:02 GMT) Full text and rfc822 format available.

Message #35 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 2/3] services: Add
 modem-manager-service-type.
Date: Sat, 31 Mar 2018 18:14:06 +0200
Danny Milosavljevic <dannym <at> scratchpost.org> skribis:

> * gnu/services/networking.scm (modem-manager-service-type): New variable.
> (<modem-manager-configuration>): New variable.
> (modem-manager-configuration): New procedure.
> (modem-manager-configuration?): New procedure.
> * doc/guix.texi (Networking Services): Document it.

LGTM, thanks!

Ludo'.




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Sat, 31 Mar 2018 18:41:02 GMT) Full text and rfc822 format available.

Message #38 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 2/3] services: Add
 modem-manager-service-type.
Date: Sat, 31 Mar 2018 20:39:51 +0200
[Message part 1 (text/plain, inline)]
On Fri, 30 Mar 2018 00:21:39 +0200
Danny Milosavljevic <dannym <at> scratchpost.org> wrote:

> * gnu/services/networking.scm (modem-manager-service-type): New
> variable. (<modem-manager-configuration>): New variable.
> (modem-manager-configuration): New procedure.
> (modem-manager-configuration?): New procedure.
> * doc/guix.texi (Networking Services): Document it.
> ---
>  doc/guix.texi               | 22 ++++++++++++++++++++++
>  gnu/services/networking.scm | 39
> +++++++++++++++++++++++++++++++++++++++ 2 files changed, 61
> insertions(+)
> 
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 25c08b9f0..23b7ae089 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -10712,6 +10712,28 @@ several commands to interact with the daemon
> and configure networking: and @command{wicd-curses} user interfaces.
>  @end deffn
>  
> +@cindex ModemManager
> +
> +@defvr {Scheme Variable} modem-manager-service-type
> +This is the service type for the
> +@uref{https://wiki.gnome.org/Projects/ModemManager, ModemManager}
> +service. The value for this service type is a
> +@code{modem-manager-configuration} record.

See below ...

[..]

> diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
> index da96bbeb5..5092a5f35 100644
> --- a/gnu/services/networking.scm
> +++ b/gnu/services/networking.scm

[..]

> +(define modem-manager-service-type

[..]

> +                  (description
> +                   "Run
> @uref{https://wiki.gnome.org/Projects/ModemManager, +ModemManager}, a
> modem management daemon that aims to simplify dialup +networking."))))

URL in texinfo and here: This page says only "This page does not exist
yet. You can create a new empty page, or use one of the page templates.
"

I found this one working, but it's the unstable version:

https://developer.gnome.org/ModemManager/unstable/

Björn
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Sun, 01 Apr 2018 08:17:02 GMT) Full text and rfc822 format available.

Message #41 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 1/3] services: Move static-networking to
 (gnu services base).
Date: Sun, 1 Apr 2018 10:16:22 +0200
[Message part 1 (text/plain, inline)]
Hi Ludo,

On Sat, 31 Mar 2018 18:13:33 +0200
ludo <at> gnu.org (Ludovic Courtès) wrote:

> Danny Milosavljevic <dannym <at> scratchpost.org> skribis:
> 
> > * gnu/services/networking.scm (static-networking, static-networking?,
> > static-networking-interface, static-networking-ip, static-networking-netmask,
> > static-networking-gateway, static-networking-requirement,
> > static-networking-service, static-networking-service-type): Move to...
> > * gnu/services/base.scm: ...here.  
> 
> What’s the reason?  Is there a module cross-dependency issue or
> something?

Yes, (gnu services base) uses (gnu services networking), and now I wanted
to use (gnu services networking) in (gnu services base) - because
I extend udev service and it's in the latter.

but I thought of a better way to resolve it: Just put modem-manager service
into (gnu services base) to begin with.  Testing...

> > +:                    #f)))  
>    ^
> A cat walked on the keyboard.  :-)

Hehe, oops!
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Sun, 01 Apr 2018 09:39:02 GMT) Full text and rfc822 format available.

Message #44 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 1/3] services: Move static-networking to
 (gnu services base).
Date: Sun, 01 Apr 2018 11:38:31 +0200
Hello!

Danny Milosavljevic <dannym <at> scratchpost.org> skribis:

> On Sat, 31 Mar 2018 18:13:33 +0200
> ludo <at> gnu.org (Ludovic Courtès) wrote:
>
>> Danny Milosavljevic <dannym <at> scratchpost.org> skribis:
>> 
>> > * gnu/services/networking.scm (static-networking, static-networking?,
>> > static-networking-interface, static-networking-ip, static-networking-netmask,
>> > static-networking-gateway, static-networking-requirement,
>> > static-networking-service, static-networking-service-type): Move to...
>> > * gnu/services/base.scm: ...here.  
>> 
>> What’s the reason?  Is there a module cross-dependency issue or
>> something?
>
> Yes, (gnu services base) uses (gnu services networking), and now I wanted
> to use (gnu services networking) in (gnu services base) - because
> I extend udev service and it's in the latter.

I see.

> but I thought of a better way to resolve it: Just put modem-manager service
> into (gnu services base) to begin with.  Testing...

I’d actually prefer the initial approach—moving
‘static-networking-service-type’ to (gnu services base).  That seems
more logical to me.

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Tue, 01 May 2018 09:59:02 GMT) Full text and rfc822 format available.

Message #47 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 3/3] services: Add ModemManager to
 '%desktop-services'.
Date: Tue, 1 May 2018 11:58:24 +0200
[Message part 1 (text/plain, inline)]
Hi Ludo,

On Sat, 31 Mar 2018 18:08:35 +0200
ludo <at> gnu.org (Ludovic Courtès) wrote:

> Danny Milosavljevic <dannym <at> scratchpost.org> skribis:
> 
> > * gnu/services/desktop.scm (%desktop-services): Add ModemManager.  
> 
> I would not add it to ‘%desktop-services’ because I’d think it’s not a
> very common requirement, but I don’t know.  WDYT?

Do we need internet in order to install GuixSD?

Then modem-manager should at least be available in the installation image.
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Sun, 06 May 2018 21:02:02 GMT) Full text and rfc822 format available.

Message #50 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 3/3] services: Add ModemManager to
 '%desktop-services'.
Date: Sun, 06 May 2018 23:00:54 +0200
Hello Danny,

Danny Milosavljevic <dannym <at> scratchpost.org> skribis:

> On Sat, 31 Mar 2018 18:08:35 +0200
> ludo <at> gnu.org (Ludovic Courtès) wrote:
>
>> Danny Milosavljevic <dannym <at> scratchpost.org> skribis:
>> 
>> > * gnu/services/desktop.scm (%desktop-services): Add ModemManager.  
>> 
>> I would not add it to ‘%desktop-services’ because I’d think it’s not a
>> very common requirement, but I don’t know.  WDYT?
>
> Do we need internet in order to install GuixSD?
>
> Then modem-manager should at least be available in the installation image.

I think this is orthogonal to the question of adding it to
‘%desktop-services’ since the installation image doesn’t rely on
‘%desktop-services’.

Nevertheless, this will all be a matter of size, usability, and
documentation.  If it adds “too much” to the size of the installation
image, I’d be rather against it.

If we do add it to the installation image, then we’ll have to document
it a little.

But then, at this point we should also consider adding NetworkManager to
the installation image.

WDYT?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Tue, 08 May 2018 07:05:01 GMT) Full text and rfc822 format available.

Message #53 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 3/3] services: Add ModemManager to
 '%desktop-services'.
Date: Tue, 8 May 2018 09:04:07 +0200
[Message part 1 (text/plain, inline)]
Hi Ludo,

On Sun, 06 May 2018 23:00:54 +0200
ludo <at> gnu.org (Ludovic Courtès) wrote:

> >> I would not add it to ‘%desktop-services’ because I’d think it’s not a
> >> very common requirement, but I don’t know.  WDYT?  
> >
> > Do we need internet in order to install GuixSD?
> >
> > Then modem-manager should at least be available in the installation image.  
> 
> I think this is orthogonal to the question of adding it to
> ‘%desktop-services’ since the installation image doesn’t rely on
> ‘%desktop-services’.

True.  I agree.

> Nevertheless, this will all be a matter of size, usability, and
> documentation.  If it adds “too much” to the size of the installation
> image, I’d be rather against it.

Well, some way of getting to the internet eventually needs to be available
somewhere.

(it's fine if it's only in the installed system, so I guess compilation
of everything is fine).

In Austria the cellphone internet is very cheap - so almost everyone has it
(and many have only that).  That said, USB or Wifi tethering is common, too.

I'm just trying to reduce the number of things I have to charge on the road :)

GNU Linux distributions nowadays have trouble providing any kind of simple
dialup installation - so it's more difficult to install GNU Linux here.
I think that's ridiculous since the AT commands and PPP required to have
some kind of internet didn't change sice circa 1985 - and it's small, too.

(I didn't know ModemManager before I packaged it here - but it does
some extra stuff like provide network card simulator integration for the
extremely fast LTE modems)

I still have not-so-fond memories of manually downloading a random wvdial
binary and its dependencies in order to be able to install Gentoo.  A normal
person (TM) would just give up ;)
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Tue, 08 May 2018 13:36:01 GMT) Full text and rfc822 format available.

Message #56 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 3/3] services: Add ModemManager to
 '%desktop-services'.
Date: Tue, 08 May 2018 15:35:44 +0200
Hi Danny,

Danny Milosavljevic <dannym <at> scratchpost.org> skribis:

> On Sun, 06 May 2018 23:00:54 +0200
> ludo <at> gnu.org (Ludovic Courtès) wrote:
>
>> >> I would not add it to ‘%desktop-services’ because I’d think it’s not a
>> >> very common requirement, but I don’t know.  WDYT?  
>> >
>> > Do we need internet in order to install GuixSD?
>> >
>> > Then modem-manager should at least be available in the installation image.  
>> 
>> I think this is orthogonal to the question of adding it to
>> ‘%desktop-services’ since the installation image doesn’t rely on
>> ‘%desktop-services’.
>
> True.  I agree.

So do you still want to add ‘modem-manager’ to ‘%desktop-services’?  :-)

>> Nevertheless, this will all be a matter of size, usability, and
>> documentation.  If it adds “too much” to the size of the installation
>> image, I’d be rather against it.
>
> Well, some way of getting to the internet eventually needs to be available
> somewhere.
>
> (it's fine if it's only in the installed system, so I guess compilation
> of everything is fine).
>
> In Austria the cellphone internet is very cheap - so almost everyone has it
> (and many have only that).  That said, USB or Wifi tethering is common, too.
>
> I'm just trying to reduce the number of things I have to charge on the road :)

:-)

I would expect people installing an OS to have Ethernet or WiFi.  One
gets WiFi even on the train nowadays.  ;-)

In terms of size it doesn’t look good:

--8<---------------cut here---------------start------------->8---
$ guix size $(guix system build ~/src/guix/gnu/system/install.scm ) | tail -1
total: 1116.4 MiB
$ guix size $(guix system build ~/src/guix/gnu/system/install.scm ) modem-manager | tail -1
total: 1346.0 MiB
--8<---------------cut here---------------end--------------->8---

WDYT?

(I actually fail to see how we end up with 1G in the first place…)

> GNU Linux distributions nowadays have trouble providing any kind of simple
> dialup installation - so it's more difficult to install GNU Linux here.
> I think that's ridiculous since the AT commands and PPP required to have
> some kind of internet didn't change sice circa 1985 - and it's small, too.
>
> (I didn't know ModemManager before I packaged it here - but it does
> some extra stuff like provide network card simulator integration for the
> extremely fast LTE modems)
>
> I still have not-so-fond memories of manually downloading a random wvdial
> binary and its dependencies in order to be able to install Gentoo.  A normal
> person (TM) would just give up ;)

Heheh.

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Tue, 04 Sep 2018 13:23:02 GMT) Full text and rfc822 format available.

Message #59 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 2/3] services: Add
 modem-manager-service-type.
Date: Tue, 04 Sep 2018 15:22:07 +0200
Hello Danny,

ludo <at> gnu.org (Ludovic Courtès) skribis:

> Danny Milosavljevic <dannym <at> scratchpost.org> skribis:
>
>> * gnu/services/networking.scm (modem-manager-service-type): New variable.
>> (<modem-manager-configuration>): New variable.
>> (modem-manager-configuration): New procedure.
>> (modem-manager-configuration?): New procedure.
>> * doc/guix.texi (Networking Services): Document it.
>
> LGTM, thanks!

Ping!  :-)

I think the only question was about patch 3/3, which adds ModemManager
to ‘%desktop-services’.  I’m in favor of dropping patch 3/3, but
regardless patches 1/3 (the variant that moves
‘static-networking-service-type’ to (gnu services base), as we
discussed) and 2/3 can definitely go in!

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Tue, 04 Sep 2018 19:42:02 GMT) Full text and rfc822 format available.

Message #62 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 2/3] services: Add
 modem-manager-service-type.
Date: Tue, 4 Sep 2018 21:41:17 +0200
[Message part 1 (text/plain, inline)]
Hi Ludo,

On Tue, 04 Sep 2018 15:22:07 +0200
ludo <at> gnu.org (Ludovic Courtès) wrote:

> I think the only question was about patch 3/3, which adds ModemManager
> to ‘%desktop-services’.  I’m in favor of dropping patch 3/3, but
> regardless patches 1/3 (the variant that moves
> ‘static-networking-service-type’ to (gnu services base), as we
> discussed) and 2/3 can definitely go in!

It already is in master.  I guess I left the bug report open so far - probably
because of the %desktop-services .

I still want to underline that there should be a way for a regular user
to bootstrap from the GuixSD image to a "guix pull"-able system using
his existing internet connection - otherwise the first impression is bad.

This means that the GuixSD image needs to have at least pppd, and
maybe modem-manager too (maybe not).

[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Tue, 04 Sep 2018 20:54:02 GMT) Full text and rfc822 format available.

Message #65 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 2/3] services: Add
 modem-manager-service-type.
Date: Tue, 04 Sep 2018 22:53:19 +0200
Hello Danny,

Danny Milosavljevic <dannym <at> scratchpost.org> skribis:

> On Tue, 04 Sep 2018 15:22:07 +0200
> ludo <at> gnu.org (Ludovic Courtès) wrote:
>
>> I think the only question was about patch 3/3, which adds ModemManager
>> to ‘%desktop-services’.  I’m in favor of dropping patch 3/3, but
>> regardless patches 1/3 (the variant that moves
>> ‘static-networking-service-type’ to (gnu services base), as we
>> discussed) and 2/3 can definitely go in!
>
> It already is in master.  I guess I left the bug report open so far - probably
> because of the %desktop-services .

Oh, silly me.

> I still want to underline that there should be a way for a regular user
> to bootstrap from the GuixSD image to a "guix pull"-able system using
> his existing internet connection - otherwise the first impression is bad.
>
> This means that the GuixSD image needs to have at least pppd, and
> maybe modem-manager too (maybe not).

I agree in principle, though, as I wrote, I think we need to strike a
balance between popularity and overhead, so to speak.  ModemManager
currently takes quite a bit of extra space, which is why I’m reluctant.
Do you think this can be optimized?  Or would pppd enough be convenient?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#30991; Package guix-patches. (Tue, 04 Sep 2018 21:17:01 GMT) Full text and rfc822 format available.

Message #68 received at 30991 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30991 <at> debbugs.gnu.org
Subject: Re: [bug#30991] [PATCH v2 2/3] services: Add
 modem-manager-service-type.
Date: Tue, 4 Sep 2018 23:16:35 +0200
[Message part 1 (text/plain, inline)]
Hi Ludo,

On Tue, 04 Sep 2018 22:53:19 +0200
ludo <at> gnu.org (Ludovic Courtès) wrote:

> Do you think this can be optimized?

I'll check.

>Or would pppd enough be convenient?

I think that pppd would work on the vast majority of modems (slow transfer
speeds sometimes since many modems need network card emulation for the
faster modes - but they do work with PPP just fine, just slow).
[Message part 2 (application/pgp-signature, inline)]

Added tag(s) fixed. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 14 May 2019 08:10:03 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 30991 <at> debbugs.gnu.org and Danny Milosavljevic <dannym <at> scratchpost.org> Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 14 May 2019 08:10:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 11 Jun 2019 11:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 321 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.