summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 () {
f.write('require conf/locked-sigs.inc\n')
f.write('require conf/unlocked-sigs.inc\n')
+ # Copy multiple configurations if they exist in the users config directory
+ if d.getVar('BBMULTICONFIG') is not None:
+ bb.utils.mkdirhier(os.path.join(baseoutpath, 'conf', 'multiconfig'))
+ for mc in d.getVar('BBMULTICONFIG').split():
+ dest_stub = "/conf/multiconfig/%s.conf" % (mc,)
+ if os.path.exists(builddir + dest_stub):
+ shutil.copyfile(builddir + dest_stub, baseoutpath + dest_stub)
+
if os.path.exists(builddir + '/cache/bb_unihashes.dat'):
bb.parse.siggen.save_unitaskhashes()
bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache'))
@@ -556,6 +564,9 @@ python copy_buildsystem () {
# sdk_ext_postinst() below) thus the checksum we take here would always
# be different.
manifest_file_list = ['conf/*']
+ if d.getVar('BBMULTICONFIG') is not None:
+ manifest_file_list.append('conf/multiconfig/*')
+
esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split()
esdk_manifest_excludes_list = []
for exclude_item in esdk_manifest_excludes:
@@ -564,7 +575,7 @@ python copy_buildsystem () {
with open(manifest_file, 'w') as f:
for item in manifest_file_list:
for fn in glob.glob(os.path.join(baseoutpath, item)):
- if fn == manifest_file:
+ if fn == manifest_file or os.path.isdir(fn):
continue
if fn in esdk_manifest_excludes_list:
continue