All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [git commit] package/polkit: bump to version 0.116
@ 2019-12-08 14:56 Thomas Petazzoni
  2020-02-10  0:00 ` Carlos Santos
  2020-04-02 21:10 ` Thomas Petazzoni
  0 siblings, 2 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2019-12-08 14:56 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=ce2a5eff7890815afeb26105c7760b6f8d2986e0
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Other changes:
  - Add spidermonkey as a dependency.
  - Add 0001-make-netgroup-support-optional.patch to allow building on musl.
  - Add a runtime dependency on dbus.
  - Add --disable-libelongind.
  - Add --disable-libsystemd-login.
  - Update dependencies for systemd pam support.
  - Update dependencies for udisks.

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 DEVELOPERS                                         |   1 +
 .../0001-make-netgroup-support-optional.patch      | 232 +++++++++++++++++++++
 package/polkit/Config.in                           |  26 ++-
 package/polkit/polkit.hash                         |   2 +-
 package/polkit/polkit.mk                           |   8 +-
 package/systemd/Config.in                          |  16 +-
 package/udisks/Config.in                           |  27 ++-
 7 files changed, 293 insertions(+), 19 deletions(-)

diff --git a/DEVELOPERS b/DEVELOPERS
index e9546a7299..d5fd6e0e93 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -53,6 +53,7 @@ F:	package/openjdk/
 F:	package/openjdk-bin/
 F:	package/php/
 F:	package/policycoreutils/
+F:	package/polkit/
 F:	package/python3/
 F:	package/python-aioredis/
 F:	package/python-asgiref/
diff --git a/package/polkit/0001-make-netgroup-support-optional.patch b/package/polkit/0001-make-netgroup-support-optional.patch
new file mode 100644
index 0000000000..f96738c910
--- /dev/null
+++ b/package/polkit/0001-make-netgroup-support-optional.patch
@@ -0,0 +1,232 @@
+From 21aa2747e8f0048759aab184b07dd6389666d5e6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 22 May 2019 13:18:55 -0700
+Subject: [PATCH] make netgroup support optional
+
+On at least Linux/musl and Linux/uclibc, netgroup
+support is not available.  PolKit fails to compile on these systems
+for that reason.
+
+This change makes netgroup support conditional on the presence of the
+setnetgrent(3) function which is required for the support to work.  If
+that function is not available on the system, an error will be returned
+to the administrator if unix-netgroup: is specified in configuration.
+
+Fixes bug 50145.
+
+Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ configure.ac                                     |  2 +-
+ src/polkit/polkitidentity.c                      | 16 ++++++++++++++++
+ src/polkit/polkitunixnetgroup.c                  |  3 +++
+ .../polkitbackendinteractiveauthority.c          | 14 ++++++++------
+ src/polkitbackend/polkitbackendjsauthority.cpp   |  2 ++
+ test/polkit/polkitidentitytest.c                 |  9 ++++++++-
+ test/polkit/polkitunixnetgrouptest.c             |  3 +++
+ .../test-polkitbackendjsauthority.c              |  2 ++
+ 8 files changed, 43 insertions(+), 8 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXP
+ 	     [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
+ AC_SUBST(EXPAT_LIBS)
+ 
+-AC_CHECK_FUNCS(clearenv fdatasync)
++AC_CHECK_FUNCS(clearenv fdatasync setnetgrent)
+ 
+ if test "x$GCC" = "xyes"; then
+   LDFLAGS="-Wl,--as-needed $LDFLAGS"
+--- a/src/polkit/polkitidentity.c
++++ b/src/polkit/polkitidentity.c
+@@ -182,7 +182,15 @@ polkit_identity_from_string  (const gcha
+     }
+   else if (g_str_has_prefix (str, "unix-netgroup:"))
+     {
++#ifndef HAVE_SETNETGRENT
++      g_set_error (error,
++                   POLKIT_ERROR,
++                   POLKIT_ERROR_FAILED,
++                   "Netgroups are not available on this machine ('%s')",
++                   str);
++#else
+       identity = polkit_unix_netgroup_new (str + sizeof "unix-netgroup:" - 1);
++#endif
+     }
+ 
+   if (identity == NULL && (error != NULL && *error == NULL))
+@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVaria
+       GVariant *v;
+       const char *name;
+ 
++#ifndef HAVE_SETNETGRENT
++      g_set_error (error,
++                   POLKIT_ERROR,
++                   POLKIT_ERROR_FAILED,
++                   "Netgroups are not available on this machine");
++      goto out;
++#else
+       v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error);
+       if (v == NULL)
+         {
+@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVaria
+       name = g_variant_get_string (v, NULL);
+       ret = polkit_unix_netgroup_new (name);
+       g_variant_unref (v);
++#endif
+     }
+   else
+     {
+--- a/src/polkit/polkitunixnetgroup.c
++++ b/src/polkit/polkitunixnetgroup.c
+@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUni
+ PolkitIdentity *
+ polkit_unix_netgroup_new (const gchar *name)
+ {
++#ifndef HAVE_SETNETGRENT
++  g_assert_not_reached();
++#endif
+   g_return_val_if_fail (name != NULL, NULL);
+   return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP,
+                                        "name", name,
+--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
+@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity
+   GList *ret;
+ 
+   ret = NULL;
++#ifdef HAVE_SETNETGRENT
+   name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group));
+ 
+-#ifdef HAVE_SETNETGRENT_RETURN
++# ifdef HAVE_SETNETGRENT_RETURN
+   if (setnetgrent (name) == 0)
+     {
+       g_warning ("Error looking up net group with name %s: %s", name, g_strerror (errno));
+       goto out;
+     }
+-#else
++# else
+   setnetgrent (name);
+-#endif
++# endif /* HAVE_SETNETGRENT_RETURN */
+ 
+   for (;;)
+     {
+-#if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
++# if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
+       const char *hostname, *username, *domainname;
+-#else
++# else
+       char *hostname, *username, *domainname;
+-#endif
++# endif /* defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) */
+       PolkitIdentity *user;
+       GError *error = NULL;
+ 
+@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity
+ 
+  out:
+   endnetgrent ();
++#endif /* HAVE_SETNETGRENT */
+   return ret;
+ }
+ 
+--- a/src/polkitbackend/polkitbackendjsauthority.cpp
++++ b/src/polkitbackend/polkitbackendjsauthority.cpp
+@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext
+ 
+   JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
+ 
++#ifdef HAVE_SETNETGRENT
+   JS::RootedString usrstr (authority->priv->cx);
+   usrstr = args[0].toString();
+   user = JS_EncodeStringToUTF8 (cx, usrstr);
+@@ -1519,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext
+ 
+   JS_free (cx, netgroup);
+   JS_free (cx, user);
++#endif
+ 
+   ret = true;
+ 
+--- a/test/polkit/polkitidentitytest.c
++++ b/test/polkit/polkitidentitytest.c
+@@ -19,6 +19,7 @@
+  * Author: Nikki VonHollen <vonhollen@google.com>
+  */
+ 
++#include "config.h"
+ #include "glib.h"
+ #include <polkit/polkit.h>
+ #include <polkit/polkitprivate.h>
+@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_tes
+   {"unix-group:root", "unix-group:jane", FALSE},
+   {"unix-group:jane", "unix-group:jane", TRUE},
+ 
++#ifdef HAVE_SETNETGRENT
+   {"unix-netgroup:foo", "unix-netgroup:foo", TRUE},
+   {"unix-netgroup:foo", "unix-netgroup:bar", FALSE},
++#endif
+ 
+   {"unix-user:root", "unix-group:root", FALSE},
++#ifdef HAVE_SETNETGRENT
+   {"unix-user:jane", "unix-netgroup:foo", FALSE},
++#endif
+ 
+   {NULL},
+ };
+@@ -181,11 +186,13 @@ main (int argc, char *argv[])
+   g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string);
+   g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string);
+ 
++#ifdef HAVE_SETNETGRENT
+   g_test_add_data_func ("/PolkitIdentity/netgroup_string", "unix-netgroup:foo", test_string);
++  g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
++#endif
+ 
+   g_test_add_data_func ("/PolkitIdentity/user_gvariant", "unix-user:root", test_gvariant);
+   g_test_add_data_func ("/PolkitIdentity/group_gvariant", "unix-group:root", test_gvariant);
+-  g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
+ 
+   add_comparison_tests ();
+ 
+--- a/test/polkit/polkitunixnetgrouptest.c
++++ b/test/polkit/polkitunixnetgrouptest.c
+@@ -19,6 +19,7 @@
+  * Author: Nikki VonHollen <vonhollen@google.com>
+  */
+ 
++#include "config.h"
+ #include "glib.h"
+ #include <polkit/polkit.h>
+ #include <string.h>
+@@ -69,7 +70,9 @@ int
+ main (int argc, char *argv[])
+ {
+   g_test_init (&argc, &argv, NULL);
++#ifdef HAVE_SETNETGRENT
+   g_test_add_func ("/PolkitUnixNetgroup/new", test_new);
+   g_test_add_func ("/PolkitUnixNetgroup/set_name", test_set_name);
++#endif
+   return g_test_run ();
+ }
+--- a/test/polkitbackend/test-polkitbackendjsauthority.c
++++ b/test/polkitbackend/test-polkitbackendjsauthority.c
+@@ -137,12 +137,14 @@ test_get_admin_identities (void)
+         "unix-group:users"
+       }
+     },
++#ifdef HAVE_SETNETGRENT
+     {
+       "net.company.action3",
+       {
+         "unix-netgroup:foo"
+       }
+     },
++#endif
+   };
+   guint n;
+ 
diff --git a/package/polkit/Config.in b/package/polkit/Config.in
index ac17cb4dc3..f54b6b4cda 100644
--- a/package/polkit/Config.in
+++ b/package/polkit/Config.in
@@ -1,11 +1,18 @@
 config BR2_PACKAGE_POLKIT
 	bool "polkit"
-	depends on BR2_USE_MMU # libglib2
-	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
-	depends on BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_HOST_GCC_AT_LEAST_4_9 # spidermonkey
+	depends on BR2_INSTALL_LIBSTDCPP # spidermonkey
+	depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS # spidermonkey
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # spidermonkey
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # spidermonkey
+	depends on BR2_USE_MMU # libglib2, dbus
 	depends on BR2_USE_WCHAR # libglib2
-	select BR2_PACKAGE_LIBGLIB2
+	depends on !BR2_STATIC_LIBS # spidermonkey
+	depends on !BR2_TOOLCHAIN_USES_UCLIBC # spidermonkey
+	select BR2_PACKAGE_DBUS # runtime
 	select BR2_PACKAGE_EXPAT
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_SPIDERMONKEY
 	help
 	  PolicyKit is a toolkit for defining and handling
 	  authorizations. It is used for allowing unprivileged
@@ -13,6 +20,13 @@ config BR2_PACKAGE_POLKIT
 
 	  http://www.freedesktop.org/wiki/Software/polkit
 
-comment "polkit needs a toolchain w/ wchar, threads"
+comment "polkit needs a glibc or musl toolchain with C++, wchar, dynamic library, NPTL, gcc >= 4.9"
 	depends on BR2_USE_MMU
-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS
+	depends on BR2_TOOLCHAIN_USES_UCLIBC || \
+		!BR2_INSTALL_LIBSTDCPP || \
+		BR2_STATIC_LIBS || \
+		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
+		!BR2_HOST_GCC_AT_LEAST_4_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
+		!BR2_USE_WCHAR
diff --git a/package/polkit/polkit.hash b/package/polkit/polkit.hash
index 6368091c4a..bacd682139 100644
--- a/package/polkit/polkit.hash
+++ b/package/polkit/polkit.hash
@@ -1,5 +1,5 @@
 # Locally calculated after checking pgp signature
-sha256	8fdc7cc8ba4750fcce1a4db9daa759c12afebc7901237e1c993c38f08985e1df	polkit-0.105.tar.gz
+sha256	88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1	polkit-0.116.tar.gz
 
 # Locally calculated
 sha256	d2e2aa973e29c75e1b492e67ea7b7da9de2d501d49a934657971fd74f9a0b0a8	COPYING
diff --git a/package/polkit/polkit.mk b/package/polkit/polkit.mk
index fb4c171c52..507d1865fa 100644
--- a/package/polkit/polkit.mk
+++ b/package/polkit/polkit.mk
@@ -4,20 +4,22 @@
 #
 ################################################################################
 
-POLKIT_VERSION = 0.105
+POLKIT_VERSION = 0.116
 POLKIT_SITE = http://www.freedesktop.org/software/polkit/releases
 POLKIT_LICENSE = GPL-2.0
 POLKIT_LICENSE_FILES = COPYING
 
 POLKIT_INSTALL_STAGING = YES
 
-POLKIT_DEPENDENCIES = libglib2 host-intltool expat
+POLKIT_DEPENDENCIES = libglib2 host-intltool expat spidermonkey
 
 # We could also support --with-authfw=pam
 POLKIT_CONF_OPTS = \
 	--with-authfw=shadow \
 	--with-os-type=unknown \
 	--disable-man-pages \
-	--disable-examples
+	--disable-examples \
+	--disable-libelogind \
+	--disable-libsystemd-login
 
 $(eval $(autotools-package))
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index aef39abe27..8f1d6fc0c0 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -275,7 +275,12 @@ config BR2_PACKAGE_SYSTEMD_NETWORKD
 
 config BR2_PACKAGE_SYSTEMD_POLKIT
 	bool "enable polkit support"
-	depends on BR2_TOOLCHAIN_USES_GLIBC # polkit
+	depends on BR2_HOST_GCC_AT_LEAST_4_9 # polkit
+	depends on BR2_INSTALL_LIBSTDCPP # polkit
+	depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS # polkit
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # polkit
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # polkit
+	depends on BR2_USE_WCHAR # libglib2
 	select BR2_PACKAGE_POLKIT
 	help
 	  If enabled, systemd is built with polkit support and policy
@@ -285,8 +290,13 @@ 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
+comment "polkit support needs a toolchain with C++, wchar, NPTL, gcc >= 4.9"
+	depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS
+	depends on !BR2_INSTALL_LIBSTDCPP || \
+		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
+		!BR2_HOST_GCC_AT_LEAST_4_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
+		!BR2_USE_WCHAR
 
 config BR2_PACKAGE_SYSTEMD_QUOTACHECK
 	bool "enable quotacheck tools"
diff --git a/package/udisks/Config.in b/package/udisks/Config.in
index c1e5538fb5..80a905fd9b 100644
--- a/package/udisks/Config.in
+++ b/package/udisks/Config.in
@@ -1,11 +1,15 @@
 config BR2_PACKAGE_UDISKS
 	bool "udisks"
+	depends on BR2_HOST_GCC_AT_LEAST_4_9 # spidermonkey
+	depends on BR2_INSTALL_LIBSTDCPP # spidermonkey
 	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_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS # spidermonkey
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # spidermonkey
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # polkit
 	depends on BR2_USE_MMU # lvm2
-	depends on !BR2_STATIC_LIBS # lvm2
 	depends on BR2_USE_WCHAR # dbus-glib -> glib2
+	depends on !BR2_TOOLCHAIN_USES_UCLIBC # polkit, lvm2
+	depends on !BR2_STATIC_LIBS # lvm2, spidermonkey
 	select BR2_PACKAGE_DBUS
 	select BR2_PACKAGE_DBUS_GLIB
 	select BR2_PACKAGE_SG3_UTILS
@@ -30,17 +34,28 @@ if BR2_PACKAGE_UDISKS
 
 config BR2_PACKAGE_UDISKS_LVM2
 	bool "lvm2 support"
+	# The lvm app library can't compile against musl
+	depends on BR2_TOOLCHAIN_USES_GLIBC
 	select BR2_PACKAGE_LVM2_APP_LIBRARY
 	help
 	  Enable LVM2 support
 
+comment "lvm2 support needs a glibc toolchain"
+	depends on !BR2_TOOLCHAIN_USES_GLIBC
+
 endif
 
 comment "udisks needs udev /dev management"
 	depends on BR2_USE_MMU
 	depends on !BR2_PACKAGE_HAS_UDEV
 
-comment "udisks needs a glibc toolchain w/ wchar, threads, dynamic library"
+comment "udisks needs a glibc or musl toolchain with C++, wchar, dynamic library, NPTL, gcc >= 4.9"
 	depends on BR2_USE_MMU
-	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
-		BR2_STATIC_LIBS || !BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS
+	depends on BR2_TOOLCHAIN_USES_UCLIBC || \
+		!BR2_INSTALL_LIBSTDCPP || \
+		BR2_STATIC_LIBS || \
+		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
+		!BR2_HOST_GCC_AT_LEAST_4_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
+		!BR2_USE_WCHAR

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [git commit] package/polkit: bump to version 0.116
  2019-12-08 14:56 [Buildroot] [git commit] package/polkit: bump to version 0.116 Thomas Petazzoni
@ 2020-02-10  0:00 ` Carlos Santos
  2020-02-10  8:33   ` Thomas Petazzoni
  2020-04-02 21:10 ` Thomas Petazzoni
  1 sibling, 1 reply; 8+ messages in thread
From: Carlos Santos @ 2020-02-10  0:00 UTC (permalink / raw)
  To: buildroot

On Sun, Dec 8, 2019 at 12:00 PM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> commit: https://git.buildroot.net/buildroot/commit/?id=ce2a5eff7890815afeb26105c7760b6f8d2986e0
> branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
>
> Other changes:
>   - Add spidermonkey as a dependency.
>   - Add 0001-make-netgroup-support-optional.patch to allow building on musl.
>   - Add a runtime dependency on dbus.
>   - Add --disable-libelongind.
>   - Add --disable-libsystemd-login.
>   - Update dependencies for systemd pam support.
>   - Update dependencies for udisks.
>
> Signed-off-by: Adam Duskett <Aduskett@gmail.com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

Argh, the mozjs (spidermonkey) dependency increases the size of the
target system by 45 MiB!

2020-02-09T20:12:08 Superblock backups stored on blocks:
2020-02-09T20:12:08 8193, 24577, 40961, 57345
2020-02-09T20:12:08
2020-02-09T20:12:08 Allocating group tables: done
2020-02-09T20:12:08 Writing inode tables: done
2020-02-09T20:12:08 Copying files into the device: __populate_fs:
Could not allocate block in ext2 filesystem while writing file
"libmozjs-60.so"
2020-02-09T20:12:08 mkfs.ext2: Could not allocate block in ext2
filesystem while populating file system
2020-02-09T20:12:08 *** Maybe you need to increase the filesystem size
(BR2_TARGET_ROOTFS_EXT2_SIZE)
2020-02-09T20:12:08 make[1]: *** [fs/ext2/ext2.mk:64:
/work/qemu_x86_64_glibc_eudev/images/rootfs.ext2] Error 1
2020-02-09T20:12:08 make: *** [Makefile:23: _all] Error 2

$ grep -F BR2_TARGET_ROOTFS_EXT2_SIZE .config
BR2_TARGET_ROOTFS_EXT2_SIZE="60M"

$ file build/buildroot-fs/ext2/target/usr/{bin/js60,lib/libmozjs-60.so}
build/buildroot-fs/ext2/target/usr/bin/js60:           ELF 64-bit LSB
executable, x86-64, version 1 (GNU/Linux), dynamically linked,
interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 4.14.0,
BuildID[sha1]=93295e8e66ae075577bc76110d7a81fc3f9b6359, stripped
build/buildroot-fs/ext2/target/usr/lib/libmozjs-60.so: ELF 64-bit LSB
shared object, x86-64, version 1 (GNU/Linux), dynamically linked,
BuildID[sha1]=2cda65c78b09727e5ee4ac481f8847ca07953cc9, stripped

$ du -hc build/buildroot-fs/ext2/target/usr/{bin/js60,lib/libmozjs-60.so}
23M    build/buildroot-fs/ext2/target/usr/bin/js60
23M    build/buildroot-fs/ext2/target/usr/lib/libmozjs-60.so
45M    total

-- 
Carlos Santos <unixmania@gmail.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [git commit] package/polkit: bump to version 0.116
  2020-02-10  0:00 ` Carlos Santos
@ 2020-02-10  8:33   ` Thomas Petazzoni
  2020-02-10 13:29     ` Carlos Santos
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2020-02-10  8:33 UTC (permalink / raw)
  To: buildroot

Hello Carlos,

On Sun, 9 Feb 2020 21:00:31 -0300
Carlos Santos <unixmania@gmail.com> wrote:

> > Signed-off-by: Adam Duskett <Aduskett@gmail.com>
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>  
> 
> Argh, the mozjs (spidermonkey) dependency increases the size of the
> target system by 45 MiB!

Yes, the mozjs dependency is unfortunate, and trust me, we would very
much have liked polkit to use a different JS engine, or no JS at all.
We have been postponing this polkit bump for years due to this. But
this is upstream polkit's decision, and at some point, we have no
choice but to follow what they did.

If you look at the polkit archive, many years ago there was a patch
series posted to use the ducktape JS engine instead of mozjs. It would
be very nice to revive this work and hopefully bring it upstream.
Indeed, ducktape is 2 orders of magnitude smaller than mozjs I believe.

> $ file build/buildroot-fs/ext2/target/usr/{bin/js60,lib/libmozjs-60.so}
> build/buildroot-fs/ext2/target/usr/bin/js60:           ELF 64-bit LSB
> executable, x86-64, version 1 (GNU/Linux), dynamically linked,
> interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 4.14.0,
> BuildID[sha1]=93295e8e66ae075577bc76110d7a81fc3f9b6359, stripped
> build/buildroot-fs/ext2/target/usr/lib/libmozjs-60.so: ELF 64-bit LSB
> shared object, x86-64, version 1 (GNU/Linux), dynamically linked,
> BuildID[sha1]=2cda65c78b09727e5ee4ac481f8847ca07953cc9, stripped
> 
> $ du -hc build/buildroot-fs/ext2/target/usr/{bin/js60,lib/libmozjs-60.so}
> 23M    build/buildroot-fs/ext2/target/usr/bin/js60

Is this binary dynamically linked against libmozjs, or statically
linked against it? The fact that it has the same size as libmozjs makes
me think it might be statically linked against it.

> 23M    build/buildroot-fs/ext2/target/usr/lib/libmozjs-60.so

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [git commit] package/polkit: bump to version 0.116
  2020-02-10  8:33   ` Thomas Petazzoni
@ 2020-02-10 13:29     ` Carlos Santos
  2020-03-08  3:23       ` Carlos Santos
  0 siblings, 1 reply; 8+ messages in thread
From: Carlos Santos @ 2020-02-10 13:29 UTC (permalink / raw)
  To: buildroot

On Mon, Feb 10, 2020 at 5:33 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello Carlos,
>
> On Sun, 9 Feb 2020 21:00:31 -0300
> Carlos Santos <unixmania@gmail.com> wrote:
>
> > > Signed-off-by: Adam Duskett <Aduskett@gmail.com>
> > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> >
> > Argh, the mozjs (spidermonkey) dependency increases the size of the
> > target system by 45 MiB!
>
> Yes, the mozjs dependency is unfortunate, and trust me, we would very
> much have liked polkit to use a different JS engine, or no JS at all.
> We have been postponing this polkit bump for years due to this. But
> this is upstream polkit's decision, and at some point, we have no
> choice but to follow what they did.
>
> If you look at the polkit archive, many years ago there was a patch
> series posted to use the ducktape JS engine instead of mozjs. It would
> be very nice to revive this work and hopefully bring it upstream.
> Indeed, ducktape is 2 orders of magnitude smaller than mozjs I believe.
>
> > $ file build/buildroot-fs/ext2/target/usr/{bin/js60,lib/libmozjs-60.so}
> > build/buildroot-fs/ext2/target/usr/bin/js60:           ELF 64-bit LSB
> > executable, x86-64, version 1 (GNU/Linux), dynamically linked,
> > interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 4.14.0,
> > BuildID[sha1]=93295e8e66ae075577bc76110d7a81fc3f9b6359, stripped
> > build/buildroot-fs/ext2/target/usr/lib/libmozjs-60.so: ELF 64-bit LSB
> > shared object, x86-64, version 1 (GNU/Linux), dynamically linked,
> > BuildID[sha1]=2cda65c78b09727e5ee4ac481f8847ca07953cc9, stripped
> >
> > $ du -hc build/buildroot-fs/ext2/target/usr/{bin/js60,lib/libmozjs-60.so}
> > 23M    build/buildroot-fs/ext2/target/usr/bin/js60
>
> Is this binary dynamically linked against libmozjs, or statically
> linked against it? The fact that it has the same size as libmozjs makes
> me think it might be statically linked against it.
>
> > 23M    build/buildroot-fs/ext2/target/usr/lib/libmozjs-60.so
>
> Best regards,
>
> Thomas

I'd just add --disable-js-shell to SPIDERMONKEY_CONF_OPTS, since the
JS shell is not required.

-- 
Carlos Santos <unixmania@gmail.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [git commit] package/polkit: bump to version 0.116
  2020-02-10 13:29     ` Carlos Santos
@ 2020-03-08  3:23       ` Carlos Santos
  0 siblings, 0 replies; 8+ messages in thread
From: Carlos Santos @ 2020-03-08  3:23 UTC (permalink / raw)
  To: buildroot

On Mon, Feb 10, 2020 at 10:29 AM Carlos Santos <unixmania@gmail.com> wrote:
>
> On Mon, Feb 10, 2020 at 5:33 AM Thomas Petazzoni
> <thomas.petazzoni@bootlin.com> wrote:
> >
> > Hello Carlos,
> >
> > On Sun, 9 Feb 2020 21:00:31 -0300
> > Carlos Santos <unixmania@gmail.com> wrote:
> >
> > > > Signed-off-by: Adam Duskett <Aduskett@gmail.com>
> > > > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > >
> > > Argh, the mozjs (spidermonkey) dependency increases the size of the
> > > target system by 45 MiB!
> >
> > Yes, the mozjs dependency is unfortunate, and trust me, we would very
> > much have liked polkit to use a different JS engine, or no JS at all.
> > We have been postponing this polkit bump for years due to this. But
> > this is upstream polkit's decision, and at some point, we have no
> > choice but to follow what they did.
> >
> > If you look at the polkit archive, many years ago there was a patch
> > series posted to use the ducktape JS engine instead of mozjs. It would
> > be very nice to revive this work and hopefully bring it upstream.
> > Indeed, ducktape is 2 orders of magnitude smaller than mozjs I believe.
> >
> > > $ file build/buildroot-fs/ext2/target/usr/{bin/js60,lib/libmozjs-60.so}
> > > build/buildroot-fs/ext2/target/usr/bin/js60:           ELF 64-bit LSB
> > > executable, x86-64, version 1 (GNU/Linux), dynamically linked,
> > > interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 4.14.0,
> > > BuildID[sha1]=93295e8e66ae075577bc76110d7a81fc3f9b6359, stripped
> > > build/buildroot-fs/ext2/target/usr/lib/libmozjs-60.so: ELF 64-bit LSB
> > > shared object, x86-64, version 1 (GNU/Linux), dynamically linked,
> > > BuildID[sha1]=2cda65c78b09727e5ee4ac481f8847ca07953cc9, stripped
> > >
> > > $ du -hc build/buildroot-fs/ext2/target/usr/{bin/js60,lib/libmozjs-60.so}
> > > 23M    build/buildroot-fs/ext2/target/usr/bin/js60
> >
> > Is this binary dynamically linked against libmozjs, or statically
> > linked against it? The fact that it has the same size as libmozjs makes
> > me think it might be statically linked against it.
> >
> > > 23M    build/buildroot-fs/ext2/target/usr/lib/libmozjs-60.so
> >
> > Best regards,
> >
> > Thomas
>
> I'd just add --disable-js-shell to SPIDERMONKEY_CONF_OPTS, since the
> JS shell is not required.

Done: https://patchwork.ozlabs.org/patch/1250972/

-- 
Carlos Santos <unixmania@gmail.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [git commit] package/polkit: bump to version 0.116
  2019-12-08 14:56 [Buildroot] [git commit] package/polkit: bump to version 0.116 Thomas Petazzoni
  2020-02-10  0:00 ` Carlos Santos
@ 2020-04-02 21:10 ` Thomas Petazzoni
  2020-04-03 20:28   ` Yann E. MORIN
  1 sibling, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2020-04-02 21:10 UTC (permalink / raw)
  To: buildroot

Hello Adam,

On Sun, 8 Dec 2019 15:56:32 +0100
Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

>  DEVELOPERS                                         |   1 +
>  .../0001-make-netgroup-support-optional.patch      | 232 +++++++++++++++++++++

This patch in polkit touches configure.ac, but we don't have
POLKIT_AUTORECONF = YES, which is not good.

The issue is that POLKIT_AUTORECONF = YES fails with:

src/polkit/Makefile.am:106: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
src/polkitagent/Makefile.am:116: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL

this is because the HAVE_INTROSPECTION automake conditional is defined
in some m4 file installed by gobject-introspection, so when you have a
configuration building polkit, but without gobject-introspection, it
fails.

This is an issue we already faced with autoreconf: if a m4 macro from
an optional dependency is used, you need this optional dependency
installed to have its m4 macros, even if you don't care about this
particular dependency.

I don't know of a good work-around for that. Perhaps Yann or Peter have
some ideas ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [git commit] package/polkit: bump to version 0.116
  2020-04-02 21:10 ` Thomas Petazzoni
@ 2020-04-03 20:28   ` Yann E. MORIN
  2020-04-04 13:08     ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Yann E. MORIN @ 2020-04-03 20:28 UTC (permalink / raw)
  To: buildroot

Thomas, Adam, Peter, All,

On 2020-04-02 23:10 +0200, Thomas Petazzoni spake thusly:
> On Sun, 8 Dec 2019 15:56:32 +0100
> Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> 
> >  DEVELOPERS                                         |   1 +
> >  .../0001-make-netgroup-support-optional.patch      | 232 +++++++++++++++++++++
> 
> This patch in polkit touches configure.ac, but we don't have
> POLKIT_AUTORECONF = YES, which is not good.
> 
> The issue is that POLKIT_AUTORECONF = YES fails with:
> 
> src/polkit/Makefile.am:106: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
> src/polkitagent/Makefile.am:116: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
> 
> this is because the HAVE_INTROSPECTION automake conditional is defined
> in some m4 file installed by gobject-introspection, so when you have a
> configuration building polkit, but without gobject-introspection, it
> fails.
> 
> This is an issue we already faced with autoreconf: if a m4 macro from
> an optional dependency is used, you need this optional dependency
> installed to have its m4 macros, even if you don't care about this
> particular dependency.
> 
> I don't know of a good work-around for that. Perhaps Yann or Peter have
> some ideas ?

So I see a few options here, not all exlusive to the others:

  - push our patch upstream for the next relase,

  - try and fix our patch so that it does require autorecof (not easy
    I'm afraid)

  - make polkit a glibc-only package, and drop our patch

While the last option may seem lie a big hammer, we have only three
packages that have a dependency on polkit:

  - gvfs, but it's only an onptional dependency

  - systemd, but it's only an optional dependency, and systemd is
    glibc-onlt already

  - udisks, for which it is a mandatory dependency.

But even for udisk the situation is not so grim: now that we have
gobject-introspection, we can eventually bump udisks. And the newer
versions require goi, which is a glibc-only package.

So, making polkit glibc-only is not so bad I believe.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [git commit] package/polkit: bump to version 0.116
  2020-04-03 20:28   ` Yann E. MORIN
@ 2020-04-04 13:08     ` Thomas Petazzoni
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2020-04-04 13:08 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 3 Apr 2020 22:28:02 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> So I see a few options here, not all exlusive to the others:
> 
>   - push our patch upstream for the next relase,
> 
>   - try and fix our patch so that it does require autorecof (not easy
>     I'm afraid)
> 
>   - make polkit a glibc-only package, and drop our patch

Another option:

 - Bundle introspection.m4 (142 lines) into the polkit patch. I've
   tested this, it works, so I've submitted a patch that implements
   this simple solution.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-04-04 13:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-08 14:56 [Buildroot] [git commit] package/polkit: bump to version 0.116 Thomas Petazzoni
2020-02-10  0:00 ` Carlos Santos
2020-02-10  8:33   ` Thomas Petazzoni
2020-02-10 13:29     ` Carlos Santos
2020-03-08  3:23       ` Carlos Santos
2020-04-02 21:10 ` Thomas Petazzoni
2020-04-03 20:28   ` Yann E. MORIN
2020-04-04 13:08     ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.