Skip to contentSkip to conversation

libgudev: New package

PATCH New Nathaniel Roach 2 participants 2 messages Jul 6, 2015 – Jul 7, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 2/2 libgudev: New package

As libgudev recently was split from the main systemd/udev source,
this library is now required to build NetworkManager.

Add the package; add it as a dependency to NetworkManager; and
tweak systemd's Config.in message accordingly.

---
 package/Config.in                          |  1 +
 package/libgudev/Config.in                 | 11 +++++++++++
 package/libgudev/libgudev.mk               | 16 ++++++++++++++++
 package/network-manager/Config.in          |  1 +
 package/network-manager/network-manager.mk |  3 ++-
 package/systemd/Config.in                  |  1 -
 6 files changed, 31 insertions(+), 2 deletions(-)
 create mode 100644 package/libgudev/Config.in
 create mode 100644 package/libgudev/libgudev.mk
package/Config.in +1 -0
index 23858ca..4a23dfc 100644
@@ -368,6 +368,7 @@ endif
 	source "package/iucode-tool/Config.in"
 	source "package/kbd/Config.in"
 	source "package/lcdproc/Config.in"
+	source "package/libgudev/Config.in"
 	source "package/libump/Config.in"
 	source "package/lirc-tools/Config.in"
 	source "package/lm-sensors/Config.in"
package/libgudev/Config.in new file +11 -0
new file mode 100644
index 0000000..09a82a0
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LIBGUDEV
+	bool "libgudev"
+	depends on BR2_INIT_SYSTEMD
+	select BR2_PACKAGE_LIBGLIB2
+	help
+	  This library provides GObject bindings for libudev.
+	  It was originally part of udev-extras, then udev, then systemd.
+	  It's now a project on its own.
+	  Required for building NetworkManager.
+	  
+	  https://wiki.gnome.org/Projects/libgudev
package/libgudev/libgudev.mk new file +16 -0
new file mode 100644
index 0000000..2769b48
@@ -0,0 +1,16 @@
+################################################################################
+#
+# libgudev
+#
+################################################################################
+
+LIBGUDEV_VERSION = 230
+LIBGUDEV_SOURCE = libgudev-$(LIBGUDEV_VERSION).tar.xz
+LIBGUDEV_SITE = http://ftp.gnome.org/pub/GNOME/sources/libgudev/$(LIBGUDEV_VERSION)
+LIBGUDEV_INSTALL_STAGING = YES
+
+LIBGUDEV_DEPENDENCIES = host-pkgconf udev libglib2
+
+LIBGUDEV_LICENSE = GPLv2
+
+$(eval $(autotools-package))
package/network-manager/Config.in +1 -0
index bcf8f90..8b4607c 100644
@@ -11,6 +11,7 @@ config BR2_PACKAGE_NETWORK_MANAGER
 	select BR2_PACKAGE_GNUTLS
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_LIBGUDEV
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
 	select BR2_PACKAGE_WIRELESS_TOOLS
package/network-manager/network-manager.mk +2 -1
index c118a92..36eb352 100644
@@ -10,7 +10,8 @@ NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz
 NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR)
 NETWORK_MANAGER_INSTALL_STAGING = YES
 NETWORK_MANAGER_DEPENDENCIES = host-pkgconf udev dbus-glib libnl gnutls \
-	libgcrypt wireless_tools util-linux host-intltool readline libndp
+	libgcrypt wireless_tools util-linux host-intltool readline libndp \
+	libgudev
 NETWORK_MANAGER_LICENSE = GPLv2+ (app), LGPLv2+ (libnm-util)
 NETWORK_MANAGER_LICENSE_FILES = COPYING libnm-util/COPYING
 
package/systemd/Config.in +0 -1
index 38353d0..1c32052 100644
@@ -52,7 +52,6 @@ config BR2_PACKAGE_SYSTEMD
 
 	  The selection of other packages will enable some features:
 
-	  - libglib2 package will add support for gudev.
 	  - acl package will add support for multi-seat.
 
 	  http://freedesktop.org/wiki/Software/systemd
Signature · 1 line
2.1.4
#1 lore raw

PATCH 2/2 libgudev: New package

Quoted 12 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Nathaniel" == Nathaniel Roach <[email protected]> writes:

As libgudev recently was split from the main systemd/udev source,
this library is now required to build NetworkManager.

Add the package; add it as a dependency to NetworkManager; and
tweak systemd's Config.in message accordingly.

+++ b/package/libgudev/Config.in

package/libgudev/Config.in line 3

Quoted 3 lines
package/libgudev/Config.in new file +3 -0
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LIBGUDEV
+	bool "libgudev"
+	depends on BR2_INIT_SYSTEMD

What about eudev? If it works with eudev as well then you should depend on BR2_PACKAGE_HAS_UDEV instead.

package/libgudev/Config.in line 4

Quoted 1 line
package/libgudev/Config.in new file +1 -0
+	select BR2_PACKAGE_LIBGLIB2

I know the systemd dependency implies this, but for consistency (and in case the dependency is dropped in the future) it would be good to copy the toolchain dependencies of libglib2 (and the comment).

package/libgudev/Config.in line 9

Quoted 5 lines
package/libgudev/Config.in new file +5 -0
+	help
+	  This library provides GObject bindings for libudev.
+	  It was originally part of udev-extras, then udev, then systemd.
+	  It's now a project on its own.
+	  Required for building NetworkManager.

gudev is probably useful for a bunch of other stuff, so I would drop the NM reference here.

Quoted 4 lines
package/libgudev/libgudev.mk new file +4 -0
+################################################################################
+#
+# libgudev
+#

package/libgudev/libgudev.mk line 14

Quoted 10 lines
package/libgudev/libgudev.mk new file +10 -0
+################################################################################
+
+LIBGUDEV_VERSION = 230
+LIBGUDEV_SOURCE = libgudev-$(LIBGUDEV_VERSION).tar.xz
+LIBGUDEV_SITE = http://ftp.gnome.org/pub/GNOME/sources/libgudev/$(LIBGUDEV_VERSION)
+LIBGUDEV_INSTALL_STAGING = YES
+
+LIBGUDEV_DEPENDENCIES = host-pkgconf udev libglib2
+
+LIBGUDEV_LICENSE = GPLv2

No _LICENSE_FILES ? There seems to be a COPYING file in the repo. A bunch of files also have the 'or (at your option) any later version' text so it should be GPLv2+.

package/network-manager/Config.in config BR2_PACKAGE_NETWORK_MANAGER · line 14

Quoted 11 lines
(quoted diff) +2 -0
+
+$(eval $(autotools-package))
package/network-manager/Config.in +1 -0
index bcf8f90..8b4607c 100644
@@ -11,6 +11,7 @@ config BR2_PACKAGE_NETWORK_MANAGER
 	select BR2_PACKAGE_GNUTLS
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBNL
+	select BR2_PACKAGE_LIBGUDEV

Does that mean that NM doesn't build today?

NM doesn't require systemd (and shouldn't), so you cannot just select gudev here.

Signature · 1 line
Bye, Peter Korsgaard