summaryrefslogtreecommitdiff
path: root/scripts/lib
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-02-22 11:37:28 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-28 11:32:35 +0000
commitc51736df17da8e6e561dd5b7ce59cb08254da870 (patch)
tree6df9c4370e9976e94c27ce78dcd3d18bf7d5113b /scripts/lib
parent36cc6b81d0281348a0f241a80ddd427745a6a678 (diff)
downloadopenembedded-core-c51736df17da8e6e561dd5b7ce59cb08254da870.tar.gz
openembedded-core-c51736df17da8e6e561dd5b7ce59cb08254da870.tar.bz2
openembedded-core-c51736df17da8e6e561dd5b7ce59cb08254da870.zip
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'scripts/lib')
-rw-r--r--scripts/lib/devtool/standard.py35
1 files changed, 18 insertions, 17 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index b707e6e9eb..5f83a91929 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -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,33 +687,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)