From e153efde9754a650e555f46cba09680baabd7d7e Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Mon, 8 Jan 2018 16:27:34 +0800 Subject: multilib.bbclass: deltask populate_sdk and populate_sdk_ext The "bitbake image -cpopulate_sdk/ext" generates SDK/eSDK for all multilib variants, so "bitbake lib32-image -cpopulate_sdk/ext" is not needed, and it doesn't work well, for example: MACHINE ?= "qemux86-64" require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" $ bitbake lib32-core-image-minimal -cpopulate_sdk_ext [snip] Exception: FileExistsError: [Errno 17] File exists: '/buildarea/lyang1/test_q64/tmp/sysroots-components/core2-64/openssl/sysroot-providers/openssl10' -> '/buildarea/lyang1/test_q64/tmp/work/qemux86_64-pokymllib32-linux/lib32-core-image-minimal/1.0-r0/lib32-recipe-sysroot/sysroot-providers/openssl10' [snip] The problem is populate_sdk_ext installs all multilib variants, and extend_recipe_sysroot() handles foo-image depends lib32-foo-image, but doesn't handle lib32-foo-image depends foo-image, we can use a lot of trick ways to make it work: 1) Get foo-image's RECIPE_SYSROOT when build lib32-foo-image 2) Handle conflicts with foo-image.do_rootfs 3) Handle conflicts when "bitbake lib32-foo-image foo-image -cpopulate_sdk_ext" And maybe other potential problems, this looks painful, so just delete the task. [YOCTO #12210] (From OE-Core rev: 77144bc808be02deb3351c9c1bf5b4f2b8c3a6ec) Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes/multilib.bbclass | 2 ++ 1 file changed, 2 insertions(+) (limited to 'meta/classes/multilib.bbclass') diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index dc0868be3e..6dca2e84cd 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass @@ -99,6 +99,8 @@ python __anonymous () { d.setVar("LINGUAS_INSTALL", "") # FIXME, we need to map this to something, not delete it! d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", "") + bb.build.deltask('do_populate_sdk', d) + bb.build.deltask('do_populate_sdk_ext', d) return clsextend.map_depends_variable("DEPENDS") -- cgit v1.2.3-54-g00ecf