summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorDaniel Wagenknecht <dwagenknecht@emlix.com>2022-03-02 20:05:55 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-03-04 17:14:14 +0000
commit4c298459ab16e3e284e239f2b2f53730d99f06c3 (patch)
tree59b94497a8b593d9dde3404d7a5e3ce440d0fe5c /meta/lib
parent2ea66dc0f6878d71deb3ffde09133513fe203f9f (diff)
downloadpoky-4c298459ab16e3e284e239f2b2f53730d99f06c3.tar.gz
copy_buildsystem: allow more layer paths
Layers could be located anywhere. The eSDK should work with them even if they are not located in TOPDIR or in the same parent directory as COREBASE. For layers located in the same parent directory as COREBASE this preserves the intent from the previous copy_buildsystem: include layer tree during build structure creation commit. Related OE-Core rev: 5a59a6997f41e606d088e3e86812de56f72f543b (From OE-Core rev: 16d330d42e03085769eddb1b60ba1df7228baf36) Signed-off-by: Daniel Wagenknecht <dwagenknecht@emlix.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oe/copy_buildsystem.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py
index d97bf9d1b9..79642fd76a 100644
--- a/meta/lib/oe/copy_buildsystem.py
+++ b/meta/lib/oe/copy_buildsystem.py
@@ -45,9 +45,6 @@ class BuildSystem(object):
45 45
46 corebase = os.path.abspath(self.d.getVar('COREBASE')) 46 corebase = os.path.abspath(self.d.getVar('COREBASE'))
47 layers.append(corebase) 47 layers.append(corebase)
48 # Get relationship between TOPDIR and COREBASE
49 # Layers should respect it
50 corebase_relative = os.path.dirname(os.path.relpath(os.path.abspath(self.d.getVar('TOPDIR')), corebase))
51 # The bitbake build system uses the meta-skeleton layer as a layout 48 # The bitbake build system uses the meta-skeleton layer as a layout
52 # for common recipies, e.g: the recipetool script to create kernel recipies 49 # for common recipies, e.g: the recipetool script to create kernel recipies
53 # Add the meta-skeleton layer to be included as part of the eSDK installation 50 # Add the meta-skeleton layer to be included as part of the eSDK installation
@@ -100,11 +97,10 @@ class BuildSystem(object):
100 layerdestpath = destdir 97 layerdestpath = destdir
101 if corebase == os.path.dirname(layer): 98 if corebase == os.path.dirname(layer):
102 layerdestpath += '/' + os.path.basename(corebase) 99 layerdestpath += '/' + os.path.basename(corebase)
103 else: 100 # If the layer is located somewhere under the same parent directory
104 layer_relative = os.path.relpath(layer, corebase) 101 # as corebase we keep the layer structure.
105 if os.path.dirname(layer_relative) == corebase_relative: 102 elif os.path.commonpath([layer, corebase]) == os.path.dirname(corebase):
106 layer_relative = os.path.dirname(corebase_relative) + '/' + layernewname 103 layer_relative = os.path.relpath(layer, os.path.dirname(corebase))
107 layer_relative = os.path.basename(corebase) + '/' + layer_relative
108 if os.path.dirname(layer_relative) != layernewname: 104 if os.path.dirname(layer_relative) != layernewname:
109 layerdestpath += '/' + os.path.dirname(layer_relative) 105 layerdestpath += '/' + os.path.dirname(layer_relative)
110 106