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/lib/devtool | |
| 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/lib/devtool')
| -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': ''}) |
