diff options
author | Justin Bronder <jsbronder@cold-front.org> | 2021-06-21 13:50:28 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-06-22 15:18:11 +0100 |
commit | 2834c2f853bd0d988dd1e35d4300005be05f8b19 (patch) | |
tree | 0a14c40f704c5bf5e7e9c4c254eb2b6d3bc6a3f1 | |
parent | fc253e327caf0e143d87de95467c27817c5f4f8c (diff) | |
download | poky-2834c2f853bd0d988dd1e35d4300005be05f8b19.tar.gz |
populate_sdk_ext: copy BBMULTICONFIG files
As the generated local.conf includes BBMULTICONFIG, the referenced files
in conf/multiconfig also need to be copied. Otherwise with
BBMULTICONFIG="abc" for instance, building the esdk fails with:
ERROR: ParseError at tmp/build-glibc/work/qemux86_64-oe-linux/core-image-ssh/1.0-r0/sdk-ext/image/tmp-renamed-sdk/layers/openembedded-core/meta/conf/bitbake.conf:767: Could not include required file conf/multiconfig/abc.conf
(From OE-Core rev: 8bc339b83a45becc0c7edf016fcce187152669e3)
Signed-off-by: Justin Bronder <jsbronder@cold-front.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/populate_sdk_ext.bbclass | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index fe840d9cfb..517b4e45ff 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass | |||
@@ -397,6 +397,14 @@ python copy_buildsystem () { | |||
397 | f.write('require conf/locked-sigs.inc\n') | 397 | f.write('require conf/locked-sigs.inc\n') |
398 | f.write('require conf/unlocked-sigs.inc\n') | 398 | f.write('require conf/unlocked-sigs.inc\n') |
399 | 399 | ||
400 | # Copy multiple configurations if they exist in the users config directory | ||
401 | if d.getVar('BBMULTICONFIG') is not None: | ||
402 | bb.utils.mkdirhier(os.path.join(baseoutpath, 'conf', 'multiconfig')) | ||
403 | for mc in d.getVar('BBMULTICONFIG').split(): | ||
404 | dest_stub = "/conf/multiconfig/%s.conf" % (mc,) | ||
405 | if os.path.exists(builddir + dest_stub): | ||
406 | shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub) | ||
407 | |||
400 | if os.path.exists(builddir + '/cache/bb_unihashes.dat'): | 408 | if os.path.exists(builddir + '/cache/bb_unihashes.dat'): |
401 | bb.parse.siggen.save_unitaskhashes() | 409 | bb.parse.siggen.save_unitaskhashes() |
402 | bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache')) | 410 | bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache')) |
@@ -556,6 +564,9 @@ python copy_buildsystem () { | |||
556 | # sdk_ext_postinst() below) thus the checksum we take here would always | 564 | # sdk_ext_postinst() below) thus the checksum we take here would always |
557 | # be different. | 565 | # be different. |
558 | manifest_file_list = ['conf/*'] | 566 | manifest_file_list = ['conf/*'] |
567 | if d.getVar('BBMULTICONFIG') is not None: | ||
568 | manifest_file_list.append('conf/multiconfig/*') | ||
569 | |||
559 | esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split() | 570 | esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split() |
560 | esdk_manifest_excludes_list = [] | 571 | esdk_manifest_excludes_list = [] |
561 | for exclude_item in esdk_manifest_excludes: | 572 | for exclude_item in esdk_manifest_excludes: |
@@ -564,7 +575,7 @@ python copy_buildsystem () { | |||
564 | with open(manifest_file, 'w') as f: | 575 | with open(manifest_file, 'w') as f: |
565 | for item in manifest_file_list: | 576 | for item in manifest_file_list: |
566 | for fn in glob.glob(os.path.join(baseoutpath, item)): | 577 | for fn in glob.glob(os.path.join(baseoutpath, item)): |
567 | if fn == manifest_file: | 578 | if fn == manifest_file or os.path.isdir(fn): |
568 | continue | 579 | continue |
569 | if fn in esdk_manifest_excludes_list: | 580 | if fn in esdk_manifest_excludes_list: |
570 | continue | 581 | continue |