From 5368bc5d0d3606198b93e877bcafcd77bb5f4fd1 Mon Sep 17 00:00:00 2001 From: Damien Riegel Date: Fri, 15 Jun 2018 20:18:38 -0400 Subject: populate_sdk_ext.bbclass: fix corebase identification When generating the extended SDK, there is a copy step where this class goes through the layers and other stuff that have been copied to generate the SDK. The corebase; ie. the folder that contains the core layer 'meta' is treated in a special way. Unfortunately in our tree, we have: sources/meta/meta | `- core layer `------- corebase In populate_sdk_ext's copy_buildsystem, the heuristic to determine which element of the list returned by copy_bitbake_and_layers is corebase is fooled by such layout. In copy_bitbake_and_layers, corebase is already handled specifically and reliably, so we should let that function tell us which folder is corebase instead of trying to determine it. To do so, change the return type of copy_bitbake_and_layers to a tuple that contains (corebase, copied_layers). It also simplifies the code on the caller side. Signed-off-by: Damien Riegel Signed-off-by: Richard Purdie --- meta/classes/populate_sdk_ext.bbclass | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'meta/classes/populate_sdk_ext.bbclass') diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index e1bba49eaf..f0c8709c5b 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -200,15 +200,9 @@ python copy_buildsystem () { workspace_name = 'orig-workspace' else: workspace_name = None - layers_copied = buildsystem.copy_bitbake_and_layers(baseoutpath + '/layers', workspace_name) - - sdkbblayers = [] - corebase = os.path.basename(d.getVar('COREBASE')) - for layer in layers_copied: - if corebase == os.path.basename(layer): - conf_bbpath = os.path.join('layers', layer, 'bitbake') - else: - sdkbblayers.append(layer) + + corebase, sdkbblayers = buildsystem.copy_bitbake_and_layers(baseoutpath + '/layers', workspace_name) + conf_bbpath = os.path.join('layers', corebase, 'bitbake') for path in os.listdir(baseoutpath + '/layers'): relpath = os.path.join('layers', path, oe_init_env_script) -- cgit 1.2.3-korg