summaryrefslogtreecommitdiffstats
path: root/meta/classes/populate_sdk_ext.bbclass
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@cold-front.org>2021-06-21 13:50:28 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-06-22 15:18:11 +0100
commit2834c2f853bd0d988dd1e35d4300005be05f8b19 (patch)
tree0a14c40f704c5bf5e7e9c4c254eb2b6d3bc6a3f1 /meta/classes/populate_sdk_ext.bbclass
parentfc253e327caf0e143d87de95467c27817c5f4f8c (diff)
downloadpoky-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>
Diffstat (limited to 'meta/classes/populate_sdk_ext.bbclass')
-rw-r--r--meta/classes/populate_sdk_ext.bbclass13
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