diff options
-rwxr-xr-x | scripts/devtool | 12 | ||||
-rw-r--r-- | scripts/lib/devtool/standard.py | 19 |
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) |