[PATCH 2/8] classes/multilib: expand PACKAGE_WRITE_DEPS in addition to DEPENDS

Alexander Kanavin
2024-01-26T13:35:22Z

Otherwise, PACKAGE_WRITE_DEPS would contain non-multilib variants
of dependencies even when building multilib items, resulting in
sysroots being populated with entirely wrong versions of them.

This hasn't been noticed until now through sheer (bad) luck, I think,
except in the cpio recipe, but the previous commit shows that the issues
did occur, quietly. Every other recipe in oe-core and meta-oe does not
prepend the multilib prefix.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
meta/classes/multilib.bbclass | 1 +
meta/recipes-extended/cpio/cpio_2.14.bb | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index d80a34cf27f..b6c09969b19 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -140,6 +140,7 @@ python multilib_virtclass_handler_postkeyexp () {
return

clsextend.map_depends_variable("DEPENDS")
+ clsextend.map_depends_variable("PACKAGE_WRITE_DEPS")
clsextend.map_variable("PROVIDES")

if bb.data.inherits_class('cross-canadian', d):
diff --git a/meta/recipes-extended/cpio/cpio_2.14.bb b/meta/recipes-extended/cpio/cpio_2.14.bb
index 560038d2a67..397bb5d87c1 100644
--- a/meta/recipes-extended/cpio/cpio_2.14.bb
+++ b/meta/recipes-extended/cpio/cpio_2.14.bb
@@ -65,7 +65,7 @@ do_install_ptest_base:append() {

# The tests need to run as a non-root user, so pull in the ptest user
DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' ptest-runner', '', d)}"
-PACKAGE_WRITE_DEPS:append:class-target = " ${MLPREFIX}ptest-runner"
+PACKAGE_WRITE_DEPS += "ptest-runner"

RDEPENDS:${PN}-ptest += "ptest-runner"

--
2.39.2