]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
multilib.bbclass: deltask populate_sdk and populate_sdk_ext
authorRobert Yang <liezhi.yang@windriver.com>
Mon, 8 Jan 2018 08:27:34 +0000 (16:27 +0800)
committerRobert Yang <liezhi.yang@windriver.com>
Mon, 8 Jan 2018 10:08:33 +0000 (18:08 +0800)
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]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
meta/classes/multilib.bbclass

index 770863f8fe0677ec1c3de28bf2137cf51cd15785..13ba0308ed60b4ecfa5165713af9fed3700fb106 100644 (file)
@@ -145,3 +145,6 @@ python do_package_qa_multilib() {
         check_mlprefix(pkg, 'RREPLACES', ml)
         check_mlprefix(pkg, 'RCONFLICTS', ml)
 }
+
+deltask do_populate_sdk
+deltask do_populate_sdk_ext