diff options
author | Daniel Wagenknecht <dwagenknecht@emlix.com> | 2022-03-02 20:05:55 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-03-04 17:14:14 +0000 |
commit | 4c298459ab16e3e284e239f2b2f53730d99f06c3 (patch) | |
tree | 59b94497a8b593d9dde3404d7a5e3ce440d0fe5c /meta | |
parent | 2ea66dc0f6878d71deb3ffde09133513fe203f9f (diff) | |
download | poky-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')
-rw-r--r-- | meta/lib/oe/copy_buildsystem.py | 12 |
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 | ||