From bb62e54769d47b1dae4faf23b08334509ee1842a Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Thu, 26 Oct 2017 15:45:52 +0800 Subject: staging.bbclass: extend_recipe_sysroot(): search multilib manifest Fixed: MACHINE = "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "core2-32" $ bitbake lib32-wrlinux-image-glibc-small WARNING: lib32-wrlinux-image-glibc-small-1.0-r1 do_rootfs: Manifest for lib32-qemuwrapper-cross not found, searched manifests: /path/to/tmp/sstate-control/manifest-qemux86_64-lib32-qemuwrapper-cross.populate_sysroot /path/to/tmp/sstate-control/manifest-core2-64-lib32-qemuwrapper-cross.populate_sysroot /path/to/tmp/sstate-control/manifest-x86_64-lib32-qemuwrapper-cross.populate_sysroot /path/to/tmp/sstate-control/manifest-allarch-lib32-qemuwrapper-cross.populate_sysroot It was because image recipes' multilib PACKAGE_EXTRA_ARCHS are not changed by mutlilib.bbclass, so extend_recipe_sysroot() didn't know anything about mutlilib's PACKAGE_EXTRA_ARCHS, now fix it. Signed-off-by: Robert Yang --- meta/classes/staging.bbclass | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 75bec84127..91ae1e8fc1 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -519,6 +519,15 @@ python extend_recipe_sysroot() { else: pkgarchs = ['${MACHINE_ARCH}'] pkgarchs = pkgarchs + list(reversed(d2.getVar("PACKAGE_EXTRA_ARCHS").split())) + # Search multilib archs for multilib image recipe like lib32-core-image-minimal + mlprefix = d2.getVar('MLPREFIX') + if bb.data.inherits_class('image', d2) and mlprefix: + ml_variant = mlprefix.rstrip('-') + override = ":virtclass-multilib-" + ml_variant + localdata = bb.data.createCopy(d2) + overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + ml_variant + localdata.setVar("OVERRIDES", overrides) + pkgarchs = pkgarchs + list(reversed(localdata.getVar("PACKAGE_EXTRA_ARCHS").split())) pkgarchs.append('allarch') for pkgarch in pkgarchs: manifest = d2.expand("${SSTATE_MANIFESTS}/manifest-%s-%s.populate_sysroot" % (pkgarch, c)) -- cgit 1.2.3-korg