summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-09-14 17:09:52 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-14 22:22:13 +0100
commit3f95a21c71938697a3c7d254909598ba38f9a07f (patch)
treebb6e87b2caf4e1896635df3ca3112c141ed4d355
parentca107522eb5115798f097602d39eb586edaabc4a (diff)
downloadpoky-3f95a21c71938697a3c7d254909598ba38f9a07f.tar.gz
lib/oe/copy_buildsystem: fix building eSDK with indirect paths in BBLAYERS
Indirect paths (e.g. ${TOPDIR}/../meta-something) do generally work if used in BBLAYERS in bblayers.conf. However, if you built an extensible SDK with this configuration then the creation of the workspace within the SDK using devtool in do_populate_sdk_ext failed. This is because the copy_buildsystem code was no longer correctly recognising that the core layer ("meta") was part of a repository (e.g. openembedded-core / poky) that should be shipped together - because of the indirection - and thus it was splitting out the meta directory, and a number of places in the code assume that the meta directory is next to the scripts directory. Use os.path.abspath() to flatten out any indirections. (From OE-Core rev: 7c0788cd2390fd0e1ec84bc9dbebcb67daee429f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oe/copy_buildsystem.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py
index 3d5a746586..afaff68598 100644
--- a/meta/lib/oe/copy_buildsystem.py
+++ b/meta/lib/oe/copy_buildsystem.py
@@ -17,7 +17,7 @@ class BuildSystem(object):
17 def __init__(self, context, d): 17 def __init__(self, context, d):
18 self.d = d 18 self.d = d
19 self.context = context 19 self.context = context
20 self.layerdirs = d.getVar('BBLAYERS', True).split() 20 self.layerdirs = [os.path.abspath(pth) for pth in d.getVar('BBLAYERS', True).split()]
21 self.layers_exclude = (d.getVar('SDK_LAYERS_EXCLUDE', True) or "").split() 21 self.layers_exclude = (d.getVar('SDK_LAYERS_EXCLUDE', True) or "").split()
22 22
23 def copy_bitbake_and_layers(self, destdir, workspace_name=None): 23 def copy_bitbake_and_layers(self, destdir, workspace_name=None):
@@ -26,7 +26,7 @@ class BuildSystem(object):
26 bb.utils.mkdirhier(destdir) 26 bb.utils.mkdirhier(destdir)
27 layers = list(self.layerdirs) 27 layers = list(self.layerdirs)
28 28
29 corebase = self.d.getVar('COREBASE', True) 29 corebase = os.path.abspath(self.d.getVar('COREBASE', True))
30 layers.append(corebase) 30 layers.append(corebase)
31 31
32 # Exclude layers 32 # Exclude layers