[oe-commits] [openembedded-core] 03/08: lib/oe/copy_buildsystem: fix building eSDK with indirect paths in BBLAYERS

git at git.openembedded.org git at git.openembedded.org
Wed Sep 14 10:46:51 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit d5ffd29f694effcdc526420f8096e5c6763a9e90
Author: Paul Eggleton <paul.eggleton at linux.intel.com>
AuthorDate: Wed Sep 14 17:09:52 2016 +1200

    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.
    
    Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/lib/oe/copy_buildsystem.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py
index 3d5a746..afaff68 100644
--- a/meta/lib/oe/copy_buildsystem.py
+++ b/meta/lib/oe/copy_buildsystem.py
@@ -17,7 +17,7 @@ class BuildSystem(object):
     def __init__(self, context, d):
         self.d = d
         self.context = context
-        self.layerdirs = d.getVar('BBLAYERS', True).split()
+        self.layerdirs = [os.path.abspath(pth) for pth in d.getVar('BBLAYERS', True).split()]
         self.layers_exclude = (d.getVar('SDK_LAYERS_EXCLUDE', True) or "").split()
 
     def copy_bitbake_and_layers(self, destdir, workspace_name=None):
@@ -26,7 +26,7 @@ class BuildSystem(object):
         bb.utils.mkdirhier(destdir)
         layers = list(self.layerdirs)
 
-        corebase = self.d.getVar('COREBASE', True)
+        corebase = os.path.abspath(self.d.getVar('COREBASE', True))
         layers.append(corebase)
 
         # Exclude layers

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list