aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-01-07 00:15:53 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-11 15:41:46 +0000
commit532f42985f9dfb600b6a501436bddff746388640 (patch)
treecb91e31c20c86296c586de8737d86efc14207ee1
parentec9016821d5c2a120dcb7e5d4b8cde02c2b45b51 (diff)
downloadopenembedded-core-contrib-532f42985f9dfb600b6a501436bddff746388640.tar.gz
devtool: refactor code for getting local recipe file
We're doing this in a couple of places, let's just find the recipe file if it exists within the workspace (which it will if it's been added through "devtool add") when we read in the workspace. (From OE-Core rev: 81cf5580993c99050e3f4d6d891bc67534721487) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xscripts/devtool12
-rw-r--r--scripts/lib/devtool/standard.py19
2 files changed, 15 insertions, 16 deletions
diff --git a/scripts/devtool b/scripts/devtool
index bda05e1c2f..2d57da0bc1 100755
--- a/scripts/devtool
+++ b/scripts/devtool
@@ -112,8 +112,18 @@ def read_workspace():
res = externalsrc_re.match(line.rstrip())
if res:
pn = res.group(2) or os.path.splitext(os.path.basename(fn))[0].split('_')[0]
+ # Find the recipe file within the workspace, if any
+ bbfile = os.path.basename(fn).replace('.bbappend', '.bb').replace('%', '*')
+ recipefile = glob.glob(os.path.join(config.workspace_path,
+ 'recipes',
+ pn,
+ bbfile))
+ if recipefile:
+ recipefile = recipefile[0]
workspace[pn] = {'srctree': res.group(3),
- 'bbappend': fn}
+ 'bbappend': fn,
+ 'recipefile': recipefile}
+ logger.debug('Found recipe %s' % workspace[pn])
def create_workspace(args, config, basepath, workspace):
if args.layerpath:
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 7ef0ab8c64..e26ce5a6fb 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -1171,13 +1171,9 @@ def status(args, config, basepath, workspace):
"""Entry point for the devtool 'status' subcommand"""
if workspace:
for recipe, value in workspace.iteritems():
- bbfile = os.path.basename(value['bbappend']).replace('.bbappend', '.bb').replace('%', '*')
- recipefile = glob.glob(os.path.join(config.workspace_path,
- 'recipes',
- recipe,
- bbfile))
+ recipefile = value['recipefile']
if recipefile:
- recipestr = ' (%s)' % recipefile[0]
+ recipestr = ' (%s)' % recipefile
else:
recipestr = ''
print("%s: %s%s" % (recipe, value['srctree'], recipestr))
@@ -1261,15 +1257,8 @@ def edit_recipe(args, config, basepath, workspace):
tinfoil.shutdown()
else:
check_workspace_recipe(workspace, args.recipename)
- bbappend = workspace[args.recipename]['bbappend']
- bbfile = os.path.basename(bbappend).replace('.bbappend', '.bb').replace('%', '*')
- recipefile = glob.glob(os.path.join(config.workspace_path,
- 'recipes',
- args.recipename,
- bbfile))
- if recipefile:
- recipefile = recipefile[0]
- else:
+ recipefile = workspace[args.recipename]['recipefile']
+ if not recipefile:
raise DevtoolError("Recipe file for %s is not under the workspace" %
args.recipename)