Skip to contentSkip to conversation

network-manager: needs (e)glibc

Buildroot New Peter Korsgaard 2 participants 3 messages May 2, 2015

lore
Share & tools
lore
#0 lore raw

commit: http://git.buildroot.net/buildroot/commit/?id=40df43ac667bf6fff9ec7072ade19cb3a311a1da
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Fixes:
http://autobuild.buildroot.net/results/1cc/1ccd21cf2ae58ecac75a4cba393b7be4d2e43e5d/
http://autobuild.buildroot.net/results/718/718fc0eb28fc056ac83352547fe92313b33c3d59/
http://autobuild.buildroot.net/results/704/704bff70b73e77f552dc6b91732afefd846a1f50/
http://autobuild.buildroot.net/results/1ee/1eef17a793d151eb140d3364fbb8020e53eec10f/

And many more.

With the recent inclusion of systemd-dhcp, network-manager no longer builds on uClibc/musl as it uses:

- CLOCK_BOOTTIME (not available in uClibc 0.9.33.2)
- IPTOS_CLASS_* (not available in uClibc/musl)
- Uses locale functionality (may not be available in uClibc)

Now, patches could be written to make these things optional, but systemd is historically not known to be receptive of such kind of patches (and NM wants to be able to sync with systemd with minimal effort, so is not interested in diverging from upstream), and NM is big / has lots of dependencies so just mark it (e)glibc-only like systemd.

---
 package/network-manager/Config.in |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
package/network-manager/Config.in +4 -2
index cc8f616..41cd2d4 100644
@@ -5,6 +5,7 @@ config BR2_PACKAGE_NETWORK_MANAGER
 	depends on BR2_USE_MMU # dbus
 	depends on BR2_PACKAGE_HAS_UDEV
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
+	depends on BR2_TOOLCHAIN_USES_GLIBC # CLOCK_BOOTTIME, IPTOS_CLASS_*
 	select BR2_PACKAGE_DHCPCD if !BR2_PACKAGE_DHCP_CLIENT
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_DBUS_GLIB
@@ -50,7 +51,8 @@ config BR2_PACKAGE_NETWORK_MANAGER_PPPD
 	  This option enables support for PPPD daemon
 endif
 
-comment "NetworkManager needs udev /dev management and a toolchain w/ wchar, threads, headers >= 3.7"
+comment "NetworkManager needs udev /dev management and a (e)glibc toolchain w/ wchar, threads, headers >= 3.7"
 	depends on BR2_USE_MMU
 	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
-		!BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
+		!BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 || \
+		!BR2_TOOLCHAIN_USES_GLIBC
#1 lore raw

PATCH 1/1 network-manager: remove redundant dependencies

Now network-manager depends on glibc, there is no need anymore for the wchar and threads dependencies (implied by glibc). So remove them.

---
 package/network-manager/Config.in | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
package/network-manager/Config.in +3 -5
index 41cd2d4..f6d8564 100644
@@ -1,7 +1,5 @@
 config BR2_PACKAGE_NETWORK_MANAGER
 	bool "networkmanager"
-	depends on BR2_USE_WCHAR # libglib2 and gnutls
-	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2
 	depends on BR2_USE_MMU # dbus
 	depends on BR2_PACKAGE_HAS_UDEV
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
@@ -51,8 +49,8 @@ config BR2_PACKAGE_NETWORK_MANAGER_PPPD
 	  This option enables support for PPPD daemon
 endif
 
-comment "NetworkManager needs udev /dev management and a (e)glibc toolchain w/ wchar, threads, headers >= 3.7"
+comment "NetworkManager needs udev /dev management and a (e)glibc toolchain w/ headers >= 3.7"
 	depends on BR2_USE_MMU
-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
-		!BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 || \
+	depends on !BR2_PACKAGE_HAS_UDEV || \
+		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 || \
 		!BR2_TOOLCHAIN_USES_GLIBC
Signature · 1 line
2.1.4
#2 lore raw

PATCH 1/1 network-manager: remove redundant dependencies

Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle (Essensium/Mind) <[email protected]> writes:

Now network-manager depends on glibc, there is no need anymore for the wchar and threads dependencies (implied by glibc). So remove them.

True, I kept them as documentation in case NM in the future would again become available on !glibc.

But ok, we still have that information in the git history, so committed
- Thanks.

Signature · 1 line
Bye, Peter Korsgaard