* [PATCH v4 1/6] default-providers: Add VIRTUAL-RUNTIME_dbus variable
@ 2025-04-01 14:04 Niko Mauno
2025-04-01 14:04 ` [PATCH v4 2/6] dbus: Allow using dbus-lib with alternative D-Bus Niko Mauno
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Niko Mauno @ 2025-04-01 14:04 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie, ross.burton, Niko Mauno
The purpose of the new variable is to facilitate oe-core users who wish
to use an alternative runtime D-Bus implementation instead of the
default Freedesktop.org's dbus, such as dbus-broker, a recipe for which
is currently available under
meta-openembedded/meta-oe/recipes-core/dbus/
While introducing this facilitation the intent is to preserve the
existing functionality, while allowing the user to optionally select an
alternative runtime D-Bus implementation by adding the following line
e.g. to local.conf file:
VIRTUAL-RUNTIME_dbus = "dbus-broker"
As a background, for example the Fedora distribution uses dbus-broker
instead of Freedesktop.org's D-Bus implementation. The following
excerpts from
https://fedoraproject.org/wiki/Changes/DbusBrokerAsTheDefaultDbusImplementation
provide background for their technological decision
This change provides a more scalable and more reliable implementation in place of the reference implementation.
The reference implementation suffers from long-standing issues including potential dead-locks and susceptibility to denial of service attacks, which the replacement implementation does not.
and
No visible changes in behavior are expected, except for different log messages.
Any visibly different behavior to `dbus-daemon` should be reported as a regression.
Ideally, this change should only improve the performance and security of the message bus.
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
---
meta/conf/distro/include/default-providers.inc | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc
index d3eefb754b..cebd0400f4 100644
--- a/meta/conf/distro/include/default-providers.inc
+++ b/meta/conf/distro/include/default-providers.inc
@@ -31,6 +31,7 @@ VIRTUAL-RUNTIME_base-utils ?= "busybox"
VIRTUAL-RUNTIME_base-utils-hwclock ?= "busybox-hwclock"
VIRTUAL-RUNTIME_base-utils-syslog ?= "busybox-syslog"
VIRTUAL-RUNTIME_keymaps ?= "keymaps"
+VIRTUAL-RUNTIME_dbus ?= "dbus"
#
# Default recipe providers
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 2/6] dbus: Allow using dbus-lib with alternative D-Bus
2025-04-01 14:04 [PATCH v4 1/6] default-providers: Add VIRTUAL-RUNTIME_dbus variable Niko Mauno
@ 2025-04-01 14:04 ` Niko Mauno
2025-04-01 14:04 ` [PATCH v4 3/6] dbus-glib: Revise RDEPENDS:${PN}-tests assignment Niko Mauno
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Niko Mauno @ 2025-04-01 14:04 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie, ross.burton, Niko Mauno
In order to facilitate oe-core users who wish to use e.g. dbus-broker
as their runtime D-Bus implementation, declare the target specific
dbus-lib runtime recommendation so that it will honor the new
VIRTUAL-RUNTIME_dbus variable.
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
---
meta/recipes-core/dbus/dbus_1.16.2.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-core/dbus/dbus_1.16.2.bb b/meta/recipes-core/dbus/dbus_1.16.2.bb
index 9475e55b57..eeeecde946 100644
--- a/meta/recipes-core/dbus/dbus_1.16.2.bb
+++ b/meta/recipes-core/dbus/dbus_1.16.2.bb
@@ -105,6 +105,7 @@ FILES:${PN}-tools = "${bindir}/dbus-uuidgen \
"
FILES:${PN}-lib = "${libdir}/lib*.so.*"
RRECOMMENDS:${PN}-lib = "${PN}"
+RRECOMMENDS:${PN}-lib:class-target = "${VIRTUAL-RUNTIME_dbus}"
FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
RDEPENDS:${PN}-ptest += "bash make dbus"
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 3/6] dbus-glib: Revise RDEPENDS:${PN}-tests assignment
2025-04-01 14:04 [PATCH v4 1/6] default-providers: Add VIRTUAL-RUNTIME_dbus variable Niko Mauno
2025-04-01 14:04 ` [PATCH v4 2/6] dbus: Allow using dbus-lib with alternative D-Bus Niko Mauno
@ 2025-04-01 14:04 ` Niko Mauno
2025-04-01 14:04 ` [PATCH v4 4/6] systemd: Support using alternative runtime D-Bus Niko Mauno
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Niko Mauno @ 2025-04-01 14:04 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie, ross.burton, Niko Mauno
Since this recipe has 'dbus' in DEPENDS, assigning dbus-glib-tests
runtime dependency to '${PN}' instead of 'dbus' will induce pulling
the preferred runtime D-Bus package to rootfs, thanks to libdbus'
runtime recommendation of ${VIRTUAL-RUNTIME_dbus}.
Suggested-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
---
meta/recipes-core/dbus/dbus-glib_0.114.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-core/dbus/dbus-glib_0.114.bb b/meta/recipes-core/dbus/dbus-glib_0.114.bb
index ff7c2d6613..28a9d4a4fc 100644
--- a/meta/recipes-core/dbus/dbus-glib_0.114.bb
+++ b/meta/recipes-core/dbus/dbus-glib_0.114.bb
@@ -38,7 +38,7 @@ LICENSE:${PN}-bash-completion = "GPL-2.0-or-later"
FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
FILES:${PN}-dev += "${bindir}/dbus-binding-tool"
-RDEPENDS:${PN}-tests += "dbus"
+RDEPENDS:${PN}-tests = "${PN}"
FILES:${PN}-tests = "${datadir}/${BPN}/tests"
BBCLASSEXTEND = "native"
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 4/6] systemd: Support using alternative runtime D-Bus
2025-04-01 14:04 [PATCH v4 1/6] default-providers: Add VIRTUAL-RUNTIME_dbus variable Niko Mauno
2025-04-01 14:04 ` [PATCH v4 2/6] dbus: Allow using dbus-lib with alternative D-Bus Niko Mauno
2025-04-01 14:04 ` [PATCH v4 3/6] dbus-glib: Revise RDEPENDS:${PN}-tests assignment Niko Mauno
@ 2025-04-01 14:04 ` Niko Mauno
2025-04-01 14:04 ` [PATCH v4 5/6] glib: " Niko Mauno
2025-04-01 14:04 ` [PATCH v4 6/6] recipes-connectivity: Drop dbus from RDEPENDS:${PN} Niko Mauno
4 siblings, 0 replies; 8+ messages in thread
From: Niko Mauno @ 2025-04-01 14:04 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie, ross.burton, Niko Mauno
In order to facilitate oe-core users who wish to use e.g. dbus-broker
as their runtime D-Bus implementation, change the Freedesktop.org
specific D-Bus runtime dependency to honor the new VIRTUAL-RUNTIME_dbus
variable.
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
---
meta/recipes-core/systemd/systemd_257.4.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-core/systemd/systemd_257.4.bb b/meta/recipes-core/systemd/systemd_257.4.bb
index 64fb8fe69a..24aad11c0a 100644
--- a/meta/recipes-core/systemd/systemd_257.4.bb
+++ b/meta/recipes-core/systemd/systemd_257.4.bb
@@ -752,7 +752,7 @@ FILES:${PN} = " ${base_bindir}/* \
FILES:${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
-RDEPENDS:${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck util-linux-swaponoff util-linux-mkswap"
+RDEPENDS:${PN} += "kmod ${VIRTUAL-RUNTIME_dbus} util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) systemd-udev-rules util-linux-agetty util-linux-fsck util-linux-swaponoff util-linux-mkswap"
RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
RDEPENDS:${PN} += "volatile-binds"
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 5/6] glib: Support using alternative runtime D-Bus
2025-04-01 14:04 [PATCH v4 1/6] default-providers: Add VIRTUAL-RUNTIME_dbus variable Niko Mauno
` (2 preceding siblings ...)
2025-04-01 14:04 ` [PATCH v4 4/6] systemd: Support using alternative runtime D-Bus Niko Mauno
@ 2025-04-01 14:04 ` Niko Mauno
2025-04-01 14:04 ` [PATCH v4 6/6] recipes-connectivity: Drop dbus from RDEPENDS:${PN} Niko Mauno
4 siblings, 0 replies; 8+ messages in thread
From: Niko Mauno @ 2025-04-01 14:04 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie, ross.burton, Niko Mauno
In order to facilitate oe-core users who wish to use e.g. dbus-broker
as their runtime D-Bus implementation, change the Freedesktop.org
specific D-Bus runtime dependency to honor the new VIRTUAL-RUNTIME_dbus
variable.
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
---
meta/recipes-core/glib-2.0/glib.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index 61e1a3ef17..2cc48f0a06 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -160,7 +160,7 @@ RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}"
RDEPENDS:${PN}-ptest += "\
coreutils \
libgcc \
- dbus \
+ ${VIRTUAL-RUNTIME_dbus} \
desktop-file-utils \
gnome-desktop-testing \
tzdata \
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v4 6/6] recipes-connectivity: Drop dbus from RDEPENDS:${PN}
2025-04-01 14:04 [PATCH v4 1/6] default-providers: Add VIRTUAL-RUNTIME_dbus variable Niko Mauno
` (3 preceding siblings ...)
2025-04-01 14:04 ` [PATCH v4 5/6] glib: " Niko Mauno
@ 2025-04-01 14:04 ` Niko Mauno
2025-04-01 14:35 ` Guðni Már Gilbert
4 siblings, 1 reply; 8+ messages in thread
From: Niko Mauno @ 2025-04-01 14:04 UTC (permalink / raw)
To: openembedded-core; +Cc: richard.purdie, ross.burton, Niko Mauno
Since each of these recipes already have 'dbus' in their DEPENDS,
explicit runtime dependency declaration to dbus is not stricly
necessary, because dbus-lib has runtime recommendation for
${VIRTUAL-RUNTIME_dbus} which in turn induces pulling also the
preferred runtime D-Bus package to rootfs.
Suggested-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
---
meta/recipes-connectivity/bluez5/bluez5.inc | 1 -
meta/recipes-connectivity/connman/connman.inc | 4 ----
meta/recipes-connectivity/neard/neard_0.19.bb | 2 --
meta/recipes-connectivity/ofono/ofono_2.15.bb | 1 -
4 files changed, 8 deletions(-)
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index d626872103..c1f52c5f1b 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
file://src/main.c;beginline=1;endline=24;md5=0ad83ca0dc37ab08af448777c581e7ac"
DEPENDS = "dbus glib-2.0"
-RDEPENDS:${PN} += "dbus"
PROVIDES += "bluez-hcidump"
RPROVIDES:${PN} += "bluez-hcidump"
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
index 133e8616da..804c2db9a7 100644
--- a/meta/recipes-connectivity/connman/connman.inc
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -118,10 +118,6 @@ RPROVIDES:${PN} = "\
${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
"
-RDEPENDS:${PN} = "\
- dbus \
- "
-
PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
diff --git a/meta/recipes-connectivity/neard/neard_0.19.bb b/meta/recipes-connectivity/neard/neard_0.19.bb
index b04187bcc5..9e0ac6aa69 100644
--- a/meta/recipes-connectivity/neard/neard_0.19.bb
+++ b/meta/recipes-connectivity/neard/neard_0.19.bb
@@ -37,8 +37,6 @@ do_install:append() {
fi
}
-RDEPENDS:${PN} = "dbus"
-
# Bluez & Wifi are not mandatory except for handover
WIRELESS_DAEMON ??= "wpa-supplicant"
RRECOMMENDS:${PN} = "\
diff --git a/meta/recipes-connectivity/ofono/ofono_2.15.bb b/meta/recipes-connectivity/ofono/ofono_2.15.bb
index 40eeb3a086..bb4133eeda 100644
--- a/meta/recipes-connectivity/ofono/ofono_2.15.bb
+++ b/meta/recipes-connectivity/ofono/ofono_2.15.bb
@@ -37,7 +37,6 @@ PACKAGES =+ "${PN}-tests"
FILES:${PN} += "${systemd_unitdir}"
FILES:${PN}-tests = "${libdir}/${BPN}/test"
-RDEPENDS:${PN} += "dbus"
RDEPENDS:${PN}-tests = "\
python3-core \
python3-dbus \
--
2.39.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v4 6/6] recipes-connectivity: Drop dbus from RDEPENDS:${PN}
2025-04-01 14:04 ` [PATCH v4 6/6] recipes-connectivity: Drop dbus from RDEPENDS:${PN} Niko Mauno
@ 2025-04-01 14:35 ` Guðni Már Gilbert
2025-04-01 15:50 ` [OE-core] " Ross Burton
0 siblings, 1 reply; 8+ messages in thread
From: Guðni Már Gilbert @ 2025-04-01 14:35 UTC (permalink / raw)
To: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 189 bytes --]
BlueZ depends on dbus at runtime. Shouldn’t the recipe therefore explicitly list it in RDEPENDS? It seems weird to me to have the dependency come from a RRECOMMENDS in different recipe.
[-- Attachment #2: Type: text/html, Size: 204 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [OE-core] [PATCH v4 6/6] recipes-connectivity: Drop dbus from RDEPENDS:${PN}
2025-04-01 14:35 ` Guðni Már Gilbert
@ 2025-04-01 15:50 ` Ross Burton
0 siblings, 0 replies; 8+ messages in thread
From: Ross Burton @ 2025-04-01 15:50 UTC (permalink / raw)
To: gudni.m.g@gmail.com; +Cc: openembedded-core@lists.openembedded.org
On 1 Apr 2025, at 15:35, Guðni Már Gilbert via lists.openembedded.org <gudni.m.g=gmail.com@lists.openembedded.org> wrote:
>
> BlueZ depends on dbus at runtime. Shouldn’t the recipe therefore explicitly list it in RDEPENDS? It seems weird to me to have the dependency come from a RRECOMMENDS in different recipe.
bluez already RDEPENDS on libdbus which depends on dbus.
The point here was to remove explicit ‘dbus’ dependencies from recipes which transitively depend on dbus already as they use libdbus.
Ross
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-04-01 15:50 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-01 14:04 [PATCH v4 1/6] default-providers: Add VIRTUAL-RUNTIME_dbus variable Niko Mauno
2025-04-01 14:04 ` [PATCH v4 2/6] dbus: Allow using dbus-lib with alternative D-Bus Niko Mauno
2025-04-01 14:04 ` [PATCH v4 3/6] dbus-glib: Revise RDEPENDS:${PN}-tests assignment Niko Mauno
2025-04-01 14:04 ` [PATCH v4 4/6] systemd: Support using alternative runtime D-Bus Niko Mauno
2025-04-01 14:04 ` [PATCH v4 5/6] glib: " Niko Mauno
2025-04-01 14:04 ` [PATCH v4 6/6] recipes-connectivity: Drop dbus from RDEPENDS:${PN} Niko Mauno
2025-04-01 14:35 ` Guðni Már Gilbert
2025-04-01 15:50 ` [OE-core] " Ross Burton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox