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>
This commit is contained in:
parent
ec9016821d
commit
532f42985f
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue