package/polkit: drop dbus build dependency
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Mon, 13 Sep 2021 20:34:06 +0000 (22:34 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Wed, 15 Sep 2021 19:58:04 +0000 (21:58 +0200)
Drop dbus build dependency to avoid the following build failure since
commit 1db13226394ff7e6f5e7ca643e275f35d6c633bb if systemd-polkit is
enabled:

package/dbus/dbus.mk:124: *** Recursive variable 'DBUS_FINAL_RECURSIVE_DEPENDENCIES' references itself (eventually).  Stop.

Fixes:
 - http://autobuild.buildroot.org/results/0e038fae0f5fc2db3e85be05db4612e4f2395e35

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/polkit/0003-build-Remove-redundant-computation-of-dbus-data-directory.patch [new file with mode: 0644]
package/polkit/0004-build-Don-t-require-dbus-development-files.patch [new file with mode: 0644]
package/polkit/Config.in
package/polkit/polkit.mk

diff --git a/package/polkit/0003-build-Remove-redundant-computation-of-dbus-data-directory.patch b/package/polkit/0003-build-Remove-redundant-computation-of-dbus-data-directory.patch
new file mode 100644 (file)
index 0000000..7fce2e1
--- /dev/null
@@ -0,0 +1,35 @@
+From 9fa097f4dde92a0c1675400228b4cb965ed3e123 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <smcv@debian.org>
+Date: Thu, 3 Jun 2021 18:55:29 +0100
+Subject: [PATCH] build: Remove redundant computation of dbus data directory
+
+We were asking pkg-config "if I define ${datadir} to pk_prefix/pk_datadir,
+what would ${datadir} be?" but the answer is obviously always going to be
+pk_prefix/pk_datadir.
+
+Signed-off-by: Simon McVittie <smcv@debian.org>
+
+[Retrieved (and slightly updated for duktape fork) from:
+https://gitlab.freedesktop.org/polkit/polkit/-/commit/9fa097f4dde92a0c1675400228b4cb965ed3e123]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ meson.build | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 6a6799e..03a7683 100644
+--- a/meson.build
++++ b/meson.build
+@@ -136,8 +136,7 @@ assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t fin
+ endif
+ dbus_dep = dependency('dbus-1')
+-dbus_confdir = dbus_dep.get_pkgconfig_variable('datadir', define_variable: ['datadir', pk_prefix / pk_datadir])   #changed from sysconfdir with respect to commit#8eada3836465838
+-dbus_policydir = dbus_confdir / 'dbus-1/system.d'
++dbus_policydir = pk_prefix / pk_datadir / 'dbus-1/system.d'
+ dbus_system_bus_services_dir = dbus_dep.get_pkgconfig_variable('system_bus_services_dir', define_variable: ['datadir', pk_prefix / pk_datadir])
+ # check OS
+-- 
+GitLab
+
diff --git a/package/polkit/0004-build-Don-t-require-dbus-development-files.patch b/package/polkit/0004-build-Don-t-require-dbus-development-files.patch
new file mode 100644 (file)
index 0000000..1b7adbf
--- /dev/null
@@ -0,0 +1,42 @@
+From 4bb2157adae620c8b07caf5a24b177d1f90f2fbb Mon Sep 17 00:00:00 2001
+From: Simon McVittie <smcv@debian.org>
+Date: Thu, 3 Jun 2021 18:57:00 +0100
+Subject: [PATCH] build: Don't require dbus development files
+
+We don't actually need libdbus, only the dbus-daemon's installation
+directory for system services, which in practice is always going to be
+/usr/share/dbus-1/system-services.
+
+Signed-off-by: Simon McVittie <smcv@debian.org>
+
+[Retrieved (and slightly updated for duktape fork) from:
+https://gitlab.freedesktop.org/polkit/polkit/-/commit/4bb2157adae620c8b07caf5a24b177d1f90f2fbb]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ meson.build | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 03a7683..539ec7a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -135,9 +135,14 @@ assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t fin
+   js_dep = dependency('mozjs-78')
+ endif
+-dbus_dep = dependency('dbus-1')
++dbus_dep = dependency('dbus-1', required: false)
+ dbus_policydir = pk_prefix / pk_datadir / 'dbus-1/system.d'
+-dbus_system_bus_services_dir = dbus_dep.get_pkgconfig_variable('system_bus_services_dir', define_variable: ['datadir', pk_prefix / pk_datadir])
++if dbus_dep.found()
++  dbus_system_bus_services_dir = dbus_dep.get_pkgconfig_variable('system_bus_services_dir', define_variable: ['datadir', pk_prefix / pk_datadir])
++else
++  # libdbus development files not installed, assume a standard layout
++  dbus_system_bus_services_dir = pk_prefix / pk_datadir / 'dbus-1' / 'system-services'
++endif
+ # check OS
+ host_system = host_machine.system()
+-- 
+GitLab
+
index a968ee52d7ab3dc15a52a03441f46faf27f65024..622cbbb90b2da904aec8ab00555d317e0b4b522d 100644 (file)
@@ -5,7 +5,7 @@ config BR2_PACKAGE_POLKIT
        depends on BR2_USE_MMU # libglib2, dbus
        depends on BR2_USE_WCHAR # libglib2
        depends on !BR2_STATIC_LIBS # duktape
-       select BR2_PACKAGE_DBUS
+       select BR2_PACKAGE_DBUS # runtime
        select BR2_PACKAGE_DUKTAPE
        select BR2_PACKAGE_EXPAT
        select BR2_PACKAGE_LIBGLIB2
index 7d75d66ffbb9f4b8d8425059fa62d652b6a02688..ed6f1a5a8f77925fc10b4d09aedb14e0e2047c5e 100644 (file)
@@ -12,7 +12,7 @@ POLKIT_CPE_ID_VENDOR = polkit_project
 POLKIT_INSTALL_STAGING = YES
 
 POLKIT_DEPENDENCIES = \
-       dbus duktape libglib2 host-intltool expat $(TARGET_NLS_DEPENDENCIES)
+       duktape libglib2 host-intltool expat $(TARGET_NLS_DEPENDENCIES)
 
 POLKIT_LDFLAGS = $(TARGET_NLS_LIBS)