the multiconfig files are required at ${SDK_OUTPUT}/${SDKPATH}
for the populate_sdk_ext to pass. Without the multiconfig files
following command runs into error:
$ bitbake -c populate_sdk_ext mc::${image} mc:${conf1}:${image}
ERROR: bitbake failed:
ERROR: ParseError at ${/path}/poky/build/${tmp}/work/${machine}/${image}
/tmp-renamed-sdk/layers/poky/meta/conf/bitbake.conf:760:
Could not include required file
conf/multiconfig/${conf1}.conf
Signed-off-by: Sourabh Banerjee <[email protected]>
---
meta/classes/populate_sdk_ext.bbclass | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/meta/classes/populate_sdk_ext.bbclass
b/meta/classes/populate_sdk_ext.bbclass
index e6bf27c..8d53219 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -184,11 +184,22 @@ def create_filtered_tasklist(d, sdkbasepath,
tasklistfile, conf_initpath):
if os.path.exists(localconf + '.bak'):
os.replace(localconf + '.bak', localconf)
+def list_all_files(path):
+ all_files = list()
+ entries = os.listdir(path)
+ for entry in entries:
+ if os.path.isdir(path+entry):
+ all_files = all_files + list_all_files(path+entry)
+ else:
+ all_files.append(entry)
+ return all_files
+
python copy_buildsystem () {
import re
import shutil
import glob
import oe.copy_buildsystem
+ from distutils.dir_util import copy_tree
oe_init_env_script = d.getVar('OE_INIT_ENV_SCRIPT')
@@ -401,6 +412,15 @@ python copy_buildsystem () {
with open(baseoutpath + '/conf/templateconf.cfg', 'w') as f:
f.write('meta/conf\n')
+ # copy all contents of multiconfig directory from builddir if exists
+ if os.path.exists(builddir + '/conf/multiconfig/'):
+ try:
+ os.mkdir(baseoutpath + '/conf/multiconfig/')
+ except FileExistsError:
+ pass
+
+ copy_tree(builddir + '/conf/multiconfig/', baseoutpath +
'/conf/multiconfig/')
+
# Ensure any variables set from the external environment (by way of
# BB_ENV_EXTRAWHITE) are set in the SDK's configuration
extralines = []
@@ -525,7 +545,7 @@ python copy_buildsystem () {
# it updated, since it gets modified during SDK installation (see
# sdk_ext_postinst() below) thus the checksum we take here would always
# be different.
- manifest_file_list = ['conf/*']
+ manifest_file_list = list_all_files('conf/')
esdk_manifest_excludes = (d.getVar('ESDK_MANIFEST_EXCLUDES') or '').split()
esdk_manifest_excludes_list = []
for exclude_item in esdk_manifest_excludes:
--
2.7.4
--
Regards,
Sourabh
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#147614):
https://lists.openembedded.org/g/openembedded-core/message/147614
Mute This Topic: https://lists.openembedded.org/mt/80348813/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-