aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)