diff options
author | Kai Kang <kai.kang@windriver.com> | 2018-10-16 16:29:14 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-10-16 20:35:43 +0100 |
commit | 95477eaeded87fa069d8832ab44f518e32d3ef6d (patch) | |
tree | 34847d7e49b2548e627859668b5652f35a2a71a1 | |
parent | 87082c60dd7dad8cf295971a6f8b853e1820c644 (diff) | |
download | poky-95477eaeded87fa069d8832ab44f518e32d3ef6d.tar.gz |
wic: search nonarch STAGING_DATADIR for multilib
It fails to build multilib image such as lib32-core-image-minimal with
wic by set 'IMAGE_FSTYPES = "wic"':
| ERROR: Couldn't find correct bootimg_dir, exiting
When multilib is enabled, STAGING_DATADIR is expanded with MLPREFIX. But
dependencies of images such as syslinux is still populated to nonarch
STAGING_DATADIR.
Search nonarch STAGING_DATADIR to fix the error.
(From OE-Core rev: dbae9a6f9a1c6cc7d4dd680d7bbda3dfa40f3491)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | scripts/lib/wic/plugins/source/bootimg-pcbios.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/scripts/lib/wic/plugins/source/bootimg-pcbios.py index d599112dd7..9347aa7fcb 100644 --- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py | |||
@@ -26,6 +26,7 @@ | |||
26 | 26 | ||
27 | import logging | 27 | import logging |
28 | import os | 28 | import os |
29 | import re | ||
29 | 30 | ||
30 | from wic import WicError | 31 | from wic import WicError |
31 | from wic.engine import get_custom_config | 32 | from wic.engine import get_custom_config |
@@ -47,10 +48,17 @@ class BootimgPcbiosPlugin(SourcePlugin): | |||
47 | """ | 48 | """ |
48 | Check if dirname exists in default bootimg_dir or in STAGING_DIR. | 49 | Check if dirname exists in default bootimg_dir or in STAGING_DIR. |
49 | """ | 50 | """ |
50 | for result in (bootimg_dir, get_bitbake_var("STAGING_DATADIR")): | 51 | staging_datadir = get_bitbake_var("STAGING_DATADIR") |
52 | for result in (bootimg_dir, staging_datadir): | ||
51 | if os.path.exists("%s/%s" % (result, dirname)): | 53 | if os.path.exists("%s/%s" % (result, dirname)): |
52 | return result | 54 | return result |
53 | 55 | ||
56 | # STAGING_DATADIR is expanded with MLPREFIX if multilib is enabled | ||
57 | # but dependency syslinux is still populated to original STAGING_DATADIR | ||
58 | nonarch_datadir = re.sub('/[^/]*recipe-sysroot', '/recipe-sysroot', staging_datadir) | ||
59 | if os.path.exists(os.path.join(nonarch_datadir, dirname)): | ||
60 | return nonarch_datadir | ||
61 | |||
54 | raise WicError("Couldn't find correct bootimg_dir, exiting") | 62 | raise WicError("Couldn't find correct bootimg_dir, exiting") |
55 | 63 | ||
56 | @classmethod | 64 | @classmethod |