diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-01-07 00:15:55 +1300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-11 15:41:46 +0000 |
commit | b2fe2a8fdc90f1945b9b3184b13b8d5e3e844e2e (patch) | |
tree | f5ef8dcb9af6cb4eb3ae2b87cf194258d0039a38 /scripts | |
parent | 38ed03975347424558fc02d2973eb4adc88ced85 (diff) | |
download | poky-b2fe2a8fdc90f1945b9b3184b13b8d5e3e844e2e.tar.gz |
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.
(From OE-Core rev: 25dc5ac42c9da53c01416e7fdcc819d729281133)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/lib/devtool/__init__.py | 26 | ||||
-rw-r--r-- | scripts/lib/devtool/build.py | 4 |
2 files changed, 23 insertions, 7 deletions
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): | |||
146 | return oe.recipeutils.parse_recipe(recipefile, append_files, | 146 | return oe.recipeutils.parse_recipe(recipefile, append_files, |
147 | tinfoil.config_data) | 147 | tinfoil.config_data) |
148 | 148 | ||
149 | def check_workspace_recipe(workspace, pn, checksrc=True): | 149 | def check_workspace_recipe(workspace, pn, checksrc=True, bbclassextend=False): |
150 | """ | 150 | """ |
151 | Check that a recipe is in the workspace and (optionally) that source | 151 | Check that a recipe is in the workspace and (optionally) that source |
152 | is present. | 152 | is present. |
153 | """ | 153 | """ |
154 | if not pn in workspace: | 154 | |
155 | workspacepn = pn | ||
156 | |||
157 | for recipe, value in workspace.iteritems(): | ||
158 | if recipe == pn: | ||
159 | break | ||
160 | if bbclassextend: | ||
161 | recipefile = value['recipefile'] | ||
162 | if recipefile: | ||
163 | targets = get_bbclassextend_targets(recipefile, recipe) | ||
164 | if pn in targets: | ||
165 | workspacepn = recipe | ||
166 | break | ||
167 | else: | ||
155 | raise DevtoolError("No recipe named '%s' in your workspace" % pn) | 168 | raise DevtoolError("No recipe named '%s' in your workspace" % pn) |
169 | |||
156 | if checksrc: | 170 | if checksrc: |
157 | srctree = workspace[pn]['srctree'] | 171 | srctree = workspace[workspacepn]['srctree'] |
158 | if not os.path.exists(srctree): | 172 | if not os.path.exists(srctree): |
159 | raise DevtoolError("Source tree %s for recipe %s does not exist" % (srctree, pn)) | 173 | raise DevtoolError("Source tree %s for recipe %s does not exist" % (srctree, workspacepn)) |
160 | if not os.listdir(srctree): | 174 | if not os.listdir(srctree): |
161 | raise DevtoolError("Source tree %s for recipe %s is empty" % (srctree, pn)) | 175 | raise DevtoolError("Source tree %s for recipe %s is empty" % (srctree, workspacepn)) |
176 | |||
177 | return workspacepn | ||
162 | 178 | ||
163 | def use_external_build(same_dir, no_same_dir, d): | 179 | def use_external_build(same_dir, no_same_dir, d): |
164 | """ | 180 | """ |
diff --git a/scripts/lib/devtool/build.py b/scripts/lib/devtool/build.py index a9a077882c..c4c0c9f50f 100644 --- a/scripts/lib/devtool/build.py +++ b/scripts/lib/devtool/build.py | |||
@@ -51,11 +51,11 @@ def _get_build_task(config): | |||
51 | 51 | ||
52 | def build(args, config, basepath, workspace): | 52 | def build(args, config, basepath, workspace): |
53 | """Entry point for the devtool 'build' subcommand""" | 53 | """Entry point for the devtool 'build' subcommand""" |
54 | check_workspace_recipe(workspace, args.recipename) | 54 | workspacepn = check_workspace_recipe(workspace, args.recipename, bbclassextend=True) |
55 | 55 | ||
56 | build_task = _get_build_task(config) | 56 | build_task = _get_build_task(config) |
57 | 57 | ||
58 | bbappend = workspace[args.recipename]['bbappend'] | 58 | bbappend = workspace[workspacepn]['bbappend'] |
59 | if args.disable_parallel_make: | 59 | if args.disable_parallel_make: |
60 | logger.info("Disabling 'make' parallelism") | 60 | logger.info("Disabling 'make' parallelism") |
61 | _set_file_values(bbappend, {'PARALLEL_MAKE': ''}) | 61 | _set_file_values(bbappend, {'PARALLEL_MAKE': ''}) |