If you for example ran devtool modify virtual/libusb0 without specifying a source tree path, the default was <workspace>/sources/virtual/libusb0 which isn't correct - it should be using the mapped name i.e. libusb-compat (in the default OE-Core configuration). Reorder some of the code to ensure that the mapped name is used.
Signed-off-by: Paul Eggleton <paul.eggle...@linux.intel.com> --- scripts/lib/devtool/standard.py | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index bcf6520..acd21c7 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -425,10 +425,12 @@ class PatchTaskExecutor(BbTaskExecutor): bb.process.run('git add .; git commit -a -m "Committing changes from %s\n\n%s"' % (func, GitApplyTree.ignore_commit_prefix + ' - from %s' % func), cwd=srcsubdir) -def _prep_extract_operation(config, basepath, recipename): +def _prep_extract_operation(config, basepath, recipename, tinfoil=None): """HACK: Ugly workaround for making sure that requirements are met when trying to extract a package. Returns the tinfoil instance to be used.""" - tinfoil = setup_tinfoil(basepath=basepath) + if not tinfoil: + tinfoil = setup_tinfoil(basepath=basepath) + rd = parse_recipe(config, tinfoil, recipename, True) if not rd: return None @@ -680,33 +682,32 @@ def modify(args, config, basepath, workspace): raise DevtoolError("recipe %s is already in your workspace" % args.recipename) + tinfoil = setup_tinfoil(basepath=basepath) + rd = parse_recipe(config, tinfoil, args.recipename, True) + if not rd: + return 1 + + pn = rd.getVar('PN', True) + if pn != args.recipename: + logger.info('Mapping %s to %s' % (args.recipename, pn)) + if pn in workspace: + raise DevtoolError("recipe %s is already in your workspace" % + pn) + if args.srctree: srctree = os.path.abspath(args.srctree) else: - srctree = get_default_srctree(config, args.recipename) + srctree = get_default_srctree(config, pn) if args.no_extract and not os.path.isdir(srctree): raise DevtoolError("--no-extract specified and source path %s does " "not exist or is not a directory" % srctree) if not args.no_extract: - tinfoil = _prep_extract_operation(config, basepath, args.recipename) + tinfoil = _prep_extract_operation(config, basepath, pn, tinfoil) if not tinfoil: # Error already shown return 1 - else: - tinfoil = setup_tinfoil(basepath=basepath) - - rd = parse_recipe(config, tinfoil, args.recipename, True) - if not rd: - return 1 - - pn = rd.getVar('PN', True) - if pn != args.recipename: - logger.info('Mapping %s to %s' % (args.recipename, pn)) - if pn in workspace: - raise DevtoolError("recipe %s is already in your workspace" % - pn) recipefile = rd.getVar('FILE', True) appendfile = recipe_to_append(recipefile, config, args.wildcard) -- 2.5.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core