devtool: modify: fix source tree default name when mapping virtuals
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. (From OE-Core rev: c51736df17da8e6e561dd5b7ce59cb08254da870) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
e2334e126f
commit
942ae25279
|
@ -426,10 +426,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
|
||||
|
@ -685,23 +687,7 @@ def modify(args, config, basepath, workspace):
|
|||
raise DevtoolError("recipe %s is already in your workspace" %
|
||||
args.recipename)
|
||||
|
||||
if args.srctree:
|
||||
srctree = os.path.abspath(args.srctree)
|
||||
else:
|
||||
srctree = get_default_srctree(config, args.recipename)
|
||||
|
||||
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)
|
||||
if not tinfoil:
|
||||
# Error already shown
|
||||
return 1
|
||||
else:
|
||||
tinfoil = setup_tinfoil(basepath=basepath)
|
||||
|
||||
tinfoil = setup_tinfoil(basepath=basepath)
|
||||
rd = parse_recipe(config, tinfoil, args.recipename, True)
|
||||
if not rd:
|
||||
return 1
|
||||
|
@ -713,6 +699,21 @@ def modify(args, config, basepath, 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, 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, pn, tinfoil)
|
||||
if not tinfoil:
|
||||
# Error already shown
|
||||
return 1
|
||||
|
||||
recipefile = rd.getVar('FILE', True)
|
||||
appendfile = recipe_to_append(recipefile, config, args.wildcard)
|
||||
if os.path.exists(appendfile):
|
||||
|
|
Loading…
Reference in New Issue