Skip to contentSkip to conversation

package/polkit: needs glibc

PATCH New Yann E. MORIN 2 participants 2 messages Aug 5, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/polkit: needs glibc

The recent bump of polkit introduced a version that now unconditionally uses glibc-specific functions from the getnetgrent() familly, which are not available on musl or uClibc-ng.

Hide away polkit when the C library is not glibc.

Propagate the dependency to packages that select polkit: udisks and systemd. For systemd, add a comment.

Fixes:

    http://autobuild.buildroot.org/results/d78/d783e6db60b187aa591f4b0150c590ab3aa5252f/ (musl)
    http://autobuild.buildroot.org/results/ba5/ba5da960c70c765bee753a79b9ad2c10967d05d6/ (uclibc)
    [...]
Cc Marek Belisko <[email protected]>
Cc Maxime Hadjinlian <[email protected]>
Cc Artem Panfilov <[email protected]>
---
 package/polkit/Config.in  | 5 +++--
 package/systemd/Config.in | 4 ++++
 package/udisks/Config.in  | 6 +++---
 3 files changed, 10 insertions(+), 5 deletions(-)
package/polkit/Config.in +3 -2
index debd1d9daf..ac17cb4dc3 100644
@@ -1,8 +1,9 @@
 config BR2_PACKAGE_POLKIT
 	bool "polkit"
-	depends on BR2_USE_WCHAR # libglib2
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
 	depends on BR2_USE_MMU # libglib2
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+	depends on BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_USE_WCHAR # libglib2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_EXPAT
 	help
package/systemd/Config.in +4 -0
index c5a109675c..1cc0021b87 100644
@@ -216,6 +216,7 @@ config BR2_PACKAGE_SYSTEMD_NETWORKD
 
 config BR2_PACKAGE_SYSTEMD_POLKIT
 	bool "enable polkit support"
+	depends on BR2_TOOLCHAIN_USES_GLIBC # polkit
 	select BR2_PACKAGE_POLKIT
 	help
 	  If enabled, systemd is built with polkit support and policy
@@ -225,6 +226,9 @@ config BR2_PACKAGE_SYSTEMD_POLKIT
 
 	  http://wiki.freedesktop.org/www/Software/polkit/
 
+comment "polkit support needs a glibc toolchain"
+	depends on !BR2_TOOLCHAIN_USES_GLIBC
+
 config BR2_PACKAGE_SYSTEMD_QUOTACHECK
 	bool "enable quotacheck tools"
 	help
package/udisks/Config.in +3 -3
index 6573cda221..c1e5538fb5 100644
@@ -2,9 +2,9 @@ config BR2_PACKAGE_UDISKS
 	bool "udisks"
 	depends on BR2_PACKAGE_HAS_UDEV
 	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2
+	depends on BR2_TOOLCHAIN_USES_GLIBC # polkit, lvm2
 	depends on BR2_USE_MMU # lvm2
 	depends on !BR2_STATIC_LIBS # lvm2
-	depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2
 	depends on BR2_USE_WCHAR # dbus-glib -> glib2
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_DBUS_GLIB
@@ -40,7 +40,7 @@ comment "udisks needs udev /dev management"
 	depends on BR2_USE_MMU
 	depends on !BR2_PACKAGE_HAS_UDEV
 
-comment "udisks needs a glibc or uClibc toolchain w/ wchar, threads, dynamic library"
+comment "udisks needs a glibc toolchain w/ wchar, threads, dynamic library"
 	depends on BR2_USE_MMU
 	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
-		BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL
+		BR2_STATIC_LIBS || !BR2_TOOLCHAIN_USES_GLIBC
Signature · 1 line
2.14.1
#1 lore raw

PATCH 1/1 package/polkit: needs glibc

Hello,

Quoted 18 lines · Yann E. MORIN

The recent bump of polkit introduced a version that now unconditionally uses glibc-specific functions from the getnetgrent() familly, which are not available on musl or uClibc-ng.

Hide away polkit when the C library is not glibc.

Propagate the dependency to packages that select polkit: udisks and systemd. For systemd, add a comment.

Fixes:

    http://autobuild.buildroot.org/results/d78/d783e6db60b187aa591f4b0150c590ab3aa5252f/ (musl)
    http://autobuild.buildroot.org/results/ba5/ba5da960c70c765bee753a79b9ad2c10967d05d6/ (uclibc)
    [...]
Cc Marek Belisko <[email protected]>
Cc Maxime Hadjinlian <[email protected]>
Cc Artem Panfilov <[email protected]>
Quoted 5 lines
---
 package/polkit/Config.in  | 5 +++--
 package/systemd/Config.in | 4 ++++
 package/udisks/Config.in  | 6 +++---
 3 files changed, 10 insertions(+), 5 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com