From: Paul Eggleton Date: Wed, 13 Jul 2016 21:04:21 +0000 (+1200) Subject: lib/oe/recipeutils: fix a few issues in find_layerdir() X-Git-Tag: uninative-1.3~290 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=912026d85c2f535be2f60c45979162ea25c7f356;p=openembedded-core.git lib/oe/recipeutils: fix a few issues in find_layerdir() * Allow the function to be called with the base layer path (in which case it will just return the same path) * Ensure that the function doesn't recurse indefinitely if it's called on a file that's not inside a layer * Correct the doc comment for accuracy Signed-off-by: Paul Eggleton Signed-off-by: Ross Burton --- diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py index e3c4b8a759..cb4ed53d0f 100644 --- a/meta/lib/oe/recipeutils.py +++ b/meta/lib/oe/recipeutils.py @@ -728,14 +728,16 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False, def find_layerdir(fn): - """ Figure out relative path to base of layer for a file (e.g. a recipe)""" - pth = os.path.dirname(fn) + """ Figure out the path to the base of the layer containing a file (e.g. a recipe)""" + pth = fn layerdir = '' while pth: if os.path.exists(os.path.join(pth, 'conf', 'layer.conf')): layerdir = pth break pth = os.path.dirname(pth) + if pth == '/': + return None return layerdir