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:25:37 +0100 |
commit | dbae9a6f9a1c6cc7d4dd680d7bbda3dfa40f3491 (patch) | |
tree | 64da0f612aa822fcc2652aa0506bb9f2dc609900 /scripts | |
parent | 1bbaf8d198b121a2a6f033350d1de3baa0a1163c (diff) | |
download | openembedded-core-dbae9a6f9a1c6cc7d4dd680d7bbda3dfa40f3491.tar.gz openembedded-core-dbae9a6f9a1c6cc7d4dd680d7bbda3dfa40f3491.tar.bz2 openembedded-core-dbae9a6f9a1c6cc7d4dd680d7bbda3dfa40f3491.zip |
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.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-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 @@ import logging import os +import re from wic import WicError from wic.engine import get_custom_config @@ -47,10 +48,17 @@ class BootimgPcbiosPlugin(SourcePlugin): """ Check if dirname exists in default bootimg_dir or in STAGING_DIR. """ - for result in (bootimg_dir, get_bitbake_var("STAGING_DATADIR")): + staging_datadir = get_bitbake_var("STAGING_DATADIR") + for result in (bootimg_dir, staging_datadir): if os.path.exists("%s/%s" % (result, dirname)): return result + # STAGING_DATADIR is expanded with MLPREFIX if multilib is enabled + # but dependency syslinux is still populated to original STAGING_DATADIR + nonarch_datadir = re.sub('/[^/]*recipe-sysroot', '/recipe-sysroot', staging_datadir) + if os.path.exists(os.path.join(nonarch_datadir, dirname)): + return nonarch_datadir + raise WicError("Couldn't find correct bootimg_dir, exiting") @classmethod |