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:
"""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))
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)