@@ -108,7 +108,11 @@ 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"
+RDEPENDS:${PN}-ptest += "bash make ${@bb.utils.contains('PACKAGECONFIG', 'message-bus', '${PN}-daemon', '', d)} ${PN}-tools"
+# The tests start their own buses with dbus-daemon and talk to them with
+# dbus-send; they don't need the system bus (dbus), which would conflict with
+# other system bus implementations such as dbus-broker.
+RDEPENDS:${PN}-ptest:remove = "${PN}"
pkg_postinst:${PN}() {
if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
dbus-ptest RDEPENDS on dbus, both explicitly and through ptest.bbclass, and dbus-broker RCONFLICTS dbus. With VIRTUAL-RUNTIME_dbus = "dbus-broker" (systemd pulls it in) core-image-ptest-dbus fails in do_rootfs: package dbus-broker-37-r0.6.cortexa57 conflicts with dbus provided by dbus-1-1.16.2-r0.45.cortexa57 package dbus-ptest-1.16.2-r0.45.cortexa57 requires dbus, but none of the providers can be installed The installed tests don't use the system bus. They start private buses with dbus-daemon (DBUS_TEST_DAEMON) and use dbus-send, so depend on the dbus-daemon and dbus-tools packages instead and drop the dbus dependency, like avahi does. With this the images using dbus-broker as the system bus also pass all 60 dbus ptests. Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> --- v2: Add PN-daemon conditional upon message-bus packageconfig meta/recipes-core/dbus/dbus_1.16.2.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)