Subject: Re: bug#33832: The VPN service 'org.freedesktop.NetworkManager.openvpn' was not installed.

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 09 Jan 2019 07:54:27 -0500

Hi,

[email-masked] writes:

> Dec 22 04:21:24 localhost NetworkManager[289]: <info>  [1545448884.2537]
> audit: op="connection-activate"
> uuid="c3d6b24a-d67c-48a9-8695-2e9dd83c1b07" name="Riseup VPN" pid=414
> uid=1000 result="fail" reason="The VPN service
> 'org.freedesktop.NetworkManager.openvpn' was not installed."
> Dec 22 04:22:19 localhost NetworkManager[289]: <info>  [1545448939.2045]
> device (wlp3s0): set-hw-addr: set MAC address to AE:C7:48:B4:FE:7E
> (scanning)
> Dec 22 04:22:19 localhost vmunix: [ 3281.066433] IPv6:
> ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
> Dec 22 04:22:19 localhost NetworkManager[289]: <info>  [1545448939.2203]
> device (wlp3s0): supplicant interface state: inactive -> disabled
> Dec 22 04:22:19 localhost NetworkManager[289]: <info>  [1545448939.2557]
> device (wlp3s0): supplicant interface state: disabled -> inactive
>
> config attached were it is installed systemwide.
>
> my user manifest is also attached were it is also installed.
>
> sdb@antelope ~/src/guix$ guix --version
> guix (GNU Guix) 0.16.0-3.6ddc63e
>
> running from git.

I can confirm the bug; it makes the network-manager-openvpn useless at
what it's supposed to be helpful with ;-).

Given that it seems to be a DBus error, I tried to modify our
network-manager-service-type so that it would consider the VPN plugins
as well when extending the dbus-system-service:

1 file changed, 10 insertions(+), 7 deletions(-)
gnu/services/networking.scm | 17 ++++++++++-------

modified   gnu/services/networking.scm
@@ -919,25 +919,28 @@ and @command{wicd-curses} user interfaces."
               (stop #~(make-kill-destructor))))))))
 
 (define network-manager-service-type
-  (let
-      ((config->package
+  (let*
+      ((config->packages
         (match-lambda
-         (($ <network-manager-configuration> network-manager)
-          (list network-manager)))))
+         (($ <network-manager-configuration> network-manager _ vpn-plugins)
+          `(,network-manager ,@vpn-plugins)))))
 
     (service-type
      (name 'network-manager)
      (extensions
       (list (service-extension shepherd-root-service-type
                                network-manager-shepherd-service)
-            (service-extension dbus-root-service-type config->package)
-            (service-extension polkit-service-type config->package)
+            (service-extension dbus-root-service-type config->packages)
+            (service-extension polkit-service-type
+                               (compose
+                                list
+                                network-manager-configuration-network-manager))
             (service-extension activation-service-type
                                (const %network-manager-activation))
             (service-extension session-environment-service-type
                                network-manager-environment)
             ;; Add network-manager to the system profile.
-            (service-extension profile-service-type config->package)))
+            (service-extension profile-service-type config->packages)))
      (default-value (network-manager-configuration))
      (description
       "Run @uref{https://wiki.gnome.org/Projects/NetworkManager,

Unfortunately that didn't work... I'll have to read on DBus to debug
this further.  Any help would be appreciated :-)

Thanks,

Maxim