diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2018-01-08 16:27:34 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-01-19 12:18:05 +0000 |
commit | 77144bc808be02deb3351c9c1bf5b4f2b8c3a6ec (patch) | |
tree | b3a57f8d9796345381d04a593b3085fb6e652dcd | |
parent | 6fd0bc313c6035b7de5b7a62cbbcd1d6f546c7f9 (diff) | |
download | openembedded-core-77144bc808be02deb3351c9c1bf5b4f2b8c3a6ec.tar.gz openembedded-core-77144bc808be02deb3351c9c1bf5b4f2b8c3a6ec.tar.bz2 openembedded-core-77144bc808be02deb3351c9c1bf5b4f2b8c3a6ec.zip |
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]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/multilib.bbclass | 2 |
1 files changed, 2 insertions, 0 deletions
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") |