public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [oe-core][PATCH] dbus: disable ptest if using dbus-broker
@ 2026-02-18 20:38 Markus Volk
  2026-02-23 18:08 ` Ross Burton
  0 siblings, 1 reply; 3+ messages in thread
From: Markus Volk @ 2026-02-18 20:38 UTC (permalink / raw)
  To: openembedded-core

'inherit ptest' adds a runtime dependency on ${PN} that conflicts with
'RCONFLICTS:${PN} = "dbus"' in the dbus-broker recipe.

This commit attempts to fix an issue where VIRTUAL-RUNTIME_dbus is set to
'dbus-broker' and ptest is included in DISTRO_FEATURES by installing ptest
only when dbus is used as the daemon.

Otherwise do_rootfs fails with:
Error:
 Problem: package libsdbus-c++-ptest-2.2.1-r0.corei7_64 from oe-repo requires dbus-broker, but none of the providers can be installed
  - package dbus-broker-37-r0.corei7_64 from @System conflicts with dbus provided by dbus-1-1.16.2-r0.corei7_64 from oe-repo
  - package dbus-broker-37-r0.corei7_64 from oe-repo conflicts with dbus provided by dbus-1-1.16.2-r0.corei7_64 from oe-repo
  - package dbus-ptest-1.16.2-r0.corei7_64 from oe-repo requires dbus, but none of the providers can be installed
  - conflicting requests

As far as I know, dbus-broker is only meant to replace the daemon itself,
but it uses the same environment as dbus and is still dependent on parts of the
dbus recipe. A more robust solution would therefore be to remove the line
containing RCONFLICTS from 'dbus-broker', since dbus and dbus-broker are not
technically mutually exclusive as long as you don't run both at the same time.
However, I'm aware that this was done for the sake of cleanliness.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 meta/recipes-core/dbus/dbus_1.16.2.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/dbus/dbus_1.16.2.bb b/meta/recipes-core/dbus/dbus_1.16.2.bb
index abe4196d9a..bc7fe80db2 100644
--- a/meta/recipes-core/dbus/dbus_1.16.2.bb
+++ b/meta/recipes-core/dbus/dbus_1.16.2.bb
@@ -3,7 +3,8 @@ DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to t
 HOMEPAGE = "https://dbus.freedesktop.org"
 SECTION = "base"
 
-inherit meson pkgconfig gettext upstream-version-is-even ptest-gnome
+inherit_defer ${@bb.utils.contains('VIRTUAL-RUNTIME_dbus', 'dbus', 'ptest-gnome', '', d)}
+inherit meson pkgconfig gettext upstream-version-is-even
 
 LICENSE = "AFL-2.1 | GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=eb0ffc69a965797a3d6686baa153ef05 \
-- 
2.52.0



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

* Re: [oe-core][PATCH] dbus: disable ptest if using dbus-broker
  2026-02-18 20:38 [oe-core][PATCH] dbus: disable ptest if using dbus-broker Markus Volk
@ 2026-02-23 18:08 ` Ross Burton
       [not found]   ` <D5BYAT.10AVL7ICWFKN@t-online.de>
  0 siblings, 1 reply; 3+ messages in thread
From: Ross Burton @ 2026-02-23 18:08 UTC (permalink / raw)
  To: f_l_k@t-online.de; +Cc: openembedded-core@lists.openembedded.org

On 18 Feb 2026, at 20:38, Markus Volk via lists.openembedded.org <f_l_k=t-online.de@lists.openembedded.org> wrote:
> 
> 'inherit ptest' adds a runtime dependency on ${PN} that conflicts with
> 'RCONFLICTS:${PN} = "dbus"' in the dbus-broker recipe.
> 
> This commit attempts to fix an issue where VIRTUAL-RUNTIME_dbus is set to
> 'dbus-broker' and ptest is included in DISTRO_FEATURES by installing ptest
> only when dbus is used as the daemon.

So the situation is you have an image that uses dbus-broken but as that is just the daemon you also have libdbus (from dbus.bb), and then using the ptest-pkgs IMAGE_FEATURE you automatically get dbus-ptest installed, which then tries to pull in the dbus daemon.  Correct?

It feels like being able to run the dbus tests against dbus-broker would be a good thing.  Do you know if this is feasible?  I’m wondering if the dependency on a daemon should be some virtual name that dbus and dbus-broken provide.

Cheers,
Ross

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

* Re: [oe-core][PATCH] dbus: disable ptest if using dbus-broker
       [not found]   ` <D5BYAT.10AVL7ICWFKN@t-online.de>
@ 2026-02-26 10:32     ` Markus Volk
  0 siblings, 0 replies; 3+ messages in thread
From: Markus Volk @ 2026-02-26 10:32 UTC (permalink / raw)
  To: Ross Burton; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1225 bytes --]

On Tue, Feb 24 2026 at 07:53:37 +01:00:00, Markus Volk 
<f_l_k@t-online.de> wrote:
> On Mon, Feb 23 2026 at 18:08:09 +00:00:00, Ross Burton 
> <Ross.Burton@arm.com> wrote:
>> So the situation is you have an image that uses dbus-broken but as 
>> that is just the daemon you also have libdbus

Resend this answer because it was bouncing back

The situation is that I want to use dbus-broker but not additionally 
libdbus. dbus-broker.bb adds a runtime dependency on dbus-common and 
dbus-tools.

<https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-core/dbus/dbus-broker_37.bb#n38>

Thats why dbus recipe is built despite setting VIRTUAL_RUNTIME_dbus = 
"dbus-broker" and because of that we end up with a runtime dependency 
on dbus if ptests
is in DISTRO_FEATURES.

<https://git.openembedded.org/openembedded-core/tree/meta/classes-recipe/ptest.bbclass#n26>

That causes an error at do_rootfs, because dbus-broker.bb makes dbus 
and dbus-broker mutually exclusive:

<https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-core/dbus/dbus-broker_37.bb#n37>

I dont know, if the dbus tests are meant to be run with dbus-broker but 
dbus-broker installs its own ptest. Shouldn't that be sufficient?


[-- Attachment #2: Type: text/html, Size: 1948 bytes --]

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

end of thread, other threads:[~2026-02-26 10:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-18 20:38 [oe-core][PATCH] dbus: disable ptest if using dbus-broker Markus Volk
2026-02-23 18:08 ` Ross Burton
     [not found]   ` <D5BYAT.10AVL7ICWFKN@t-online.de>
2026-02-26 10:32     ` Markus Volk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox