summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/copy_buildsystem.py
diff options
context:
space:
mode:
authorAndrej Valek <andrej.valek@siemens.com>2019-07-17 15:25:44 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-18 12:15:51 +0100
commit55ecf6988d3e3c0935cb6324a6ad2c75f1191a1d (patch)
treeddad81436259dcd25a48a8d733d7d8bf586a8e3e /meta/lib/oe/copy_buildsystem.py
parent270ac00cb43d0614dfe1c95f960c76e9e5fa20d4 (diff)
downloadopenembedded-core-55ecf6988d3e3c0935cb6324a6ad2c75f1191a1d.tar.gz
oe/copy_buildsystem: move layer into layers directory
Layers could be located outside from poky but inside the build directory. This case should be covered in eSDK. meta-abc meta-def/meta-ghi meta-def/poky meta-def/meta-oe/meta-oe ... It should take all enabled layers and put them into 'layers' dir during build-time with respecting new relative path to poky. layers/meta-abc layers/meta-ghi layers/poky layers/meta-oe/meta-oe ... Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/copy_buildsystem.py')
-rw-r--r--meta/lib/oe/copy_buildsystem.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py
index 5b96121ddb..246ff58250 100644
--- a/meta/lib/oe/copy_buildsystem.py
+++ b/meta/lib/oe/copy_buildsystem.py
@@ -45,6 +45,9 @@ class BuildSystem(object):
corebase = os.path.abspath(self.d.getVar('COREBASE'))
layers.append(corebase)
+ # Get relationship between TOPDIR and COREBASE
+ # Layers should respect it
+ corebase_relative = os.path.dirname(os.path.relpath(os.path.abspath(self.d.getVar('TOPDIR')), corebase))
# The bitbake build system uses the meta-skeleton layer as a layout
# for common recipies, e.g: the recipetool script to create kernel recipies
# Add the meta-skeleton layer to be included as part of the eSDK installation
@@ -98,7 +101,10 @@ class BuildSystem(object):
if corebase == os.path.dirname(layer):
layerdestpath += '/' + os.path.basename(corebase)
else:
- layer_relative = os.path.basename(corebase) + '/' + os.path.relpath(layer, corebase)
+ layer_relative = os.path.relpath(layer, corebase)
+ if os.path.dirname(layer_relative) == corebase_relative:
+ layer_relative = os.path.dirname(corebase_relative) + '/' + layernewname
+ layer_relative = os.path.basename(corebase) + '/' + layer_relative
if os.path.dirname(layer_relative) != layernewname:
layerdestpath += '/' + os.path.dirname(layer_relative)