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 <sbane...@codeaurora.org> --- 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: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-