with musl/systemd combo I get

 ERROR: Nothing RPROVIDES 'dbus-broker-ptest' (but
virtual:mcextend:dbus-broker:/srv/build/yoe/
   ↪ sources/meta-openembedded/meta-oe/recipes-core/images/
meta-oe-image-ptest.bb RDEPENDS on or
   ↪ otherwise requires it)
   dbus-broker RPROVIDES dbus-broker-ptest but was skipped: using DISTRO
'yoe', which is missing
   ↪ required DISTRO_FEATURES: 'systemd'
   NOTE: Runtime target 'dbus-broker-ptest' is unbuildable, removing...
   Missing or unbuildable dependency chain was: ['dbus-broker-ptest']
   NOTE: Runtime target 'meta-oe-image-ptest-all-dev' is unbuildable,
removing...
   Missing or unbuildable dependency chain was:
['meta-oe-image-ptest-all-dev', 'meta-oe-image-
   ↪ ptest-dbus-broker', 'dbus-broker-ptest']
   NOTE: Runtime target 'meta-oe-image-ptest-all' is unbuildable,
removing...
   Missing or unbuildable dependency chain was: ['meta-oe-image-ptest-all',
'meta-oe-image-ptest-
   ↪ dbus-broker', 'dbus-broker-ptest']
   ERROR: Nothing RPROVIDES 'meta-oe-image-ptest-dbus-broker'
   No eligible RPROVIDERs exist for 'meta-oe-image-ptest-dbus-broker'
   NOTE: Runtime target 'meta-oe-image-ptest-dbus-broker' is unbuildable,
removing...
   Missing or unbuildable dependency chain was:
['meta-oe-image-ptest-dbus-broker']

On Thu, Nov 27, 2025 at 8:17 AM Gyorgy Sarvari via lists.openembedded.org
<[email protected]> wrote:

> It takes less than 30 seconds to execute.
>
> Add a backported patch that fixes a broken test.
>
> Signed-off-by: Gyorgy Sarvari <[email protected]>
> ---
>  .../include/ptest-packagelists-meta-oe.inc    |  1 +
>  ...-loosen-verification-of-stale-pidfds.patch | 52 +++++++++++++++++++
>  .../recipes-core/dbus/dbus-broker/run-ptest   | 19 +++++++
>  meta-oe/recipes-core/dbus/dbus-broker_37.bb   | 12 ++++-
>  4 files changed, 82 insertions(+), 2 deletions(-)
>  create mode 100644
> meta-oe/recipes-core/dbus/dbus-broker/0001-test-sockopt-loosen-verification-of-stale-pidfds.patch
>  create mode 100644 meta-oe/recipes-core/dbus/dbus-broker/run-ptest
>
> diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> index 52ca06ae43..b725c1aa36 100644
> --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
> @@ -12,6 +12,7 @@ PTESTS_FAST_META_OE = "\
>      cli11 \
>      cmocka \
>      cunit \
> +    dbus-broker \
>      duktape \
>      exiv2 \
>      fuse3 \
> diff --git
> a/meta-oe/recipes-core/dbus/dbus-broker/0001-test-sockopt-loosen-verification-of-stale-pidfds.patch
> b/meta-oe/recipes-core/dbus/dbus-broker/0001-test-sockopt-loosen-verification-of-stale-pidfds.patch
> new file mode 100644
> index 0000000000..fac5be1917
> --- /dev/null
> +++
> b/meta-oe/recipes-core/dbus/dbus-broker/0001-test-sockopt-loosen-verification-of-stale-pidfds.patch
> @@ -0,0 +1,52 @@
> +From cc7f9da25b103aacbb1595d04af9cb70ef8f43d9 Mon Sep 17 00:00:00 2001
> +From: Gyorgy Sarvari <[email protected]>
> +Date: Thu, 4 Sep 2025 10:23:36 +0200
> +Subject: [PATCH] test/sockopt: loosen verification of stale pidfds
> +
> +From: David Rheinsberg <[email protected]>
> +
> +Newer kernels now properly return stale pidfds from AF_UNIX sockets,
> +rather than refusing the operation. Ensure that our tests adopt to this
> +and properly verify staleness.
> +
> +Signed-off-by: David Rheinsberg <[email protected]>
> +Upstream-Status: Backport [
> https://github.com/bus1/dbus-broker/commit/fd5c6e191bffcf5b3e6c9abb8b0b03479accc04b
> ]
> +Signed-off-by: Gyorgy Sarvari <[email protected]>
> +---
> + src/util/test-sockopt.c | 16 ++++++++++++----
> + 1 file changed, 12 insertions(+), 4 deletions(-)
> +
> +diff --git a/src/util/test-sockopt.c b/src/util/test-sockopt.c
> +index 04148af..eaa8fba 100644
> +--- a/src/util/test-sockopt.c
> ++++ b/src/util/test-sockopt.c
> +@@ -81,17 +81,25 @@ static void test_peerpidfd_client(
> +
> +         r = sockopt_get_peerpidfd(fd, &pidfd);
> +         if (r != SOCKOPT_E_UNSUPPORTED) {
> +-                if (stale) {
> +-                        c_assert(r == SOCKOPT_E_REAPED);
> ++                if (r == SOCKOPT_E_REAPED) {
> ++                        /*
> ++                         * Old kernels refused to return stale pidfds.
> Hence,
> ++                         * in that case verify that we expected a stale
> pidfd.
> ++                         */
> ++                        c_assert(stale);
> +                 } else {
> +                         c_assert(!r);
> +                         c_assert(pidfd >= 0);
> +
> +                         r = proc_resolve_pidfd(pidfd, &pid_socket);
> +                         c_assert(!r);
> +-                        c_assert(pid_socket > 0);
> +
> +-                        c_assert(pid_socket == pid_server);
> ++                        if (stale) {
> ++                                c_assert(pid_socket == -1);
> ++                        } else {
> ++                                c_assert(pid_socket > 0);
> ++                                c_assert(pid_socket == pid_server);
> ++                        }
> +                 }
> +         }
> + }
> diff --git a/meta-oe/recipes-core/dbus/dbus-broker/run-ptest
> b/meta-oe/recipes-core/dbus/dbus-broker/run-ptest
> new file mode 100644
> index 0000000000..789000523e
> --- /dev/null
> +++ b/meta-oe/recipes-core/dbus/dbus-broker/run-ptest
> @@ -0,0 +1,19 @@
> +#!/bin/sh
> +RET=0
> +
> +run_tests(){
> +  for t in *; do
> +    if ./$t; then
> +      echo PASS: $t
> +    else
> +      echo FAIL: $t
> +      RET=1
> +    fi
> +  done
> +}
> +
> +cd /usr/lib/dbus-broker/tests/dbus
> +run_tests
> +cd /usr/lib/dbus-broker/tests/unit
> +run_tests
> +exit $RET
> diff --git a/meta-oe/recipes-core/dbus/dbus-broker_37.bb
> b/meta-oe/recipes-core/dbus/dbus-broker_37.bb
> index f0312181b6..c531f555d2 100644
> --- a/meta-oe/recipes-core/dbus/dbus-broker_37.bb
> +++ b/meta-oe/recipes-core/dbus/dbus-broker_37.bb
> @@ -10,7 +10,10 @@ DEPENDS = "\
>      ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux (>=
> 3.2)', '', d)} \
>  "
>
> -SRC_URI = "
> https://github.com/bus1/dbus-broker/releases/download/v${PV}/${BP}.tar.xz";
> +SRC_URI = "
> https://github.com/bus1/dbus-broker/releases/download/v${PV}/${BP}.tar.xz
> \
> +
>  file://0001-test-sockopt-loosen-verification-of-stale-pidfds.patch \
> +           file://run-ptest \
> +           "
>  SRC_URI[sha256sum] =
> "f819a8db8795fa08c767612e3823fd594694a0990f2543ecf35d6a1a6bf2ab5b"
>
>  UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases";
> @@ -18,10 +21,11 @@ UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+)"
>
>  SYSTEMD_SERVICE:${PN} = "${BPN}.service"
>
> -inherit meson pkgconfig systemd features_check
> +inherit meson pkgconfig systemd features_check ptest
>
>  EXTRA_OEMESON += "-Daudit=${@bb.utils.contains('DISTRO_FEATURES',
> 'selinux', 'true', 'false', d)}"
>  EXTRA_OEMESON += "-Dselinux=${@bb.utils.contains('DISTRO_FEATURES',
> 'selinux', 'true', 'false', d)}"
> +EXTRA_OEMESON += "-Dtests=${@bb.utils.contains('PTEST_ENABLED', '1',
> 'true', 'false', d)}"
>
>  REQUIRED_DISTRO_FEATURES = "systemd"
>
> @@ -36,3 +40,7 @@ RDEPENDS:${PN} += "dbus-common dbus-tools"
>  FILES:${PN} += "${nonarch_libdir}/systemd/catalog"
>  FILES:${PN} += "${systemd_system_unitdir}"
>  FILES:${PN} += "${systemd_user_unitdir}"
> +FILES:${PN}-ptest += "${libdir}/${PN}/tests"
> +
> +# test-sockopt fails to compile with musl without this flag
> +CFLAGS:append:libc-musl = "${@bb.utils.contains('PTEST_ENABLED', '1', '
> -Wno-error=incompatible-pointer-types ', '', d)}"
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#122125): 
https://lists.openembedded.org/g/openembedded-devel/message/122125
Mute This Topic: https://lists.openembedded.org/mt/116502872/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to