Efraim Flashner <efr...@flashner.co.il> skribis: > I think I've finally gotten connman working, with a service. I haven't > added an entry to doc/guix.texi yet, and for some reason when I started > the patch I stuck it in wicd.scm. I've also attached the OS config I > used while testing.
Neat! > From efe1f20ecb23fc4ba2da647152c9f2a2e96293be Mon Sep 17 00:00:00 2001 > From: Efraim Flashner <efr...@flashner.co.il> > Date: Thu, 19 Apr 2016 17:25:41 +0200 > Subject: [PATCH 1/2] gnu: Add connman. > > * gnu/packages/wicd.scm (connman): New variable. I think it should go in some other file, possibly connman.scm—whatever you deem appropriate, but probably not wicd.scm. :-) > +(define-public connman > + (package > + (name "connman") > + (version "1.32") > + (source > + (origin > + (method url-fetch) > + (uri (string-append > "https://www.kernel.org/pub/linux/network/connman/" Use mirror://kernel.org/… > + (string-append > + "--with-dbusconfdir=" (assoc-ref %outputs "out") "/etc") > + (string-append > + "--with-dbusdatadir=" (assoc-ref %outputs "out") "/share")))) I suppose this populates $out/etc/dbus-1 and $out/share/dbus-1, which is where our D-Bus service looks for its XML thingies? > + (synopsis "Connection Manager daemon") “Connection management daemon” > + (description "The Linux Connection Manager project provides a daemon for s/The Linux Connection Manager project/Connman/ > +managing Internet connections within embedded devices running the Linux > +operating system. s/within … system// > + (license gpl2))) v2-only? > From 2e99131f5b455ceb7c70c33eb4c89134caa755bb Mon Sep 17 00:00:00 2001 > From: Efraim Flashner <efr...@flashner.co.il> > Date: Thu, 19 Apr 2016 22:10:11 +0200 > Subject: [PATCH 2/2] services: Add connman-service. > > * gnu/services/networking.scm (connman-service): New procedure. > (connman-service-type, %connman-activation): New variables. > (connman-shepherd-service): New procedure. [...] > +(define %connman-activation > + ;; Activation gexp for Connman. > + #~(begin > + (use-modules (guix build utils)) > + (mkdir-p "/etc/connman/") Is an empty /etc/connman really needed? > +(define* (connman-service #:key (connman connman)) > + "Return a service that runs Connman, a network connection manager. This s/Connman/@uref{http://…, Connman}/ > +service adds the @var{connman} package to the global profile, providing > +several the @command{connmanctl} command to interact with the daemon and > +configure networking." Could you add this documentation to guix.texi? Otherwise LGTM! How does Connman compare to Wicd, and to NetworkManager? Thank you! Ludo’.