From 25dc5ac42c9da53c01416e7fdcc819d729281133 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Thu, 7 Jan 2016 00:15:55 +1300 Subject: devtool: build: support using BBCLASSEXTENDed names It's logical that you would want to build BBCLASSEXTENDed items separately through devtool build, so simply allow that - we're just passing the name verbatim to bitbake, so all it means is adjusting the validation. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/devtool/__init__.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'scripts/lib/devtool/__init__.py') diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py index 253e4d5e35..0405d22874 100644 --- a/scripts/lib/devtool/__init__.py +++ b/scripts/lib/devtool/__init__.py @@ -146,19 +146,35 @@ def parse_recipe(config, tinfoil, pn, appends): return oe.recipeutils.parse_recipe(recipefile, append_files, tinfoil.config_data) -def check_workspace_recipe(workspace, pn, checksrc=True): +def check_workspace_recipe(workspace, pn, checksrc=True, bbclassextend=False): """ Check that a recipe is in the workspace and (optionally) that source is present. """ - if not pn in workspace: + + workspacepn = pn + + for recipe, value in workspace.iteritems(): + if recipe == pn: + break + if bbclassextend: + recipefile = value['recipefile'] + if recipefile: + targets = get_bbclassextend_targets(recipefile, recipe) + if pn in targets: + workspacepn = recipe + break + else: raise DevtoolError("No recipe named '%s' in your workspace" % pn) + if checksrc: - srctree = workspace[pn]['srctree'] + srctree = workspace[workspacepn]['srctree'] if not os.path.exists(srctree): - raise DevtoolError("Source tree %s for recipe %s does not exist" % (srctree, pn)) + raise DevtoolError("Source tree %s for recipe %s does not exist" % (srctree, workspacepn)) if not os.listdir(srctree): - raise DevtoolError("Source tree %s for recipe %s is empty" % (srctree, pn)) + raise DevtoolError("Source tree %s for recipe %s is empty" % (srctree, workspacepn)) + + return workspacepn def use_external_build(same_dir, no_same_dir, d): """ -- cgit 1.2.3-korg