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

(From OE-Core rev: 912026d85c2f535be2f60c45979162ea25c7f356)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2016-07-14 09:04:21 +12:00 committed by Richard Purdie
parent c4297f3e22
commit 7435cdf750
1 changed files with 4 additions and 2 deletions

View File

@ -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