diff options
| author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-02-22 11:37:28 +1300 | 
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-28 11:32:35 +0000 | 
| commit | c51736df17da8e6e561dd5b7ce59cb08254da870 (patch) | |
| tree | 6df9c4370e9976e94c27ce78dcd3d18bf7d5113b /scripts/lib/devtool | |
| parent | 36cc6b81d0281348a0f241a80ddd427745a6a678 (diff) | |
| download | openembedded-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/devtool')
| -rw-r--r-- | scripts/lib/devtool/standard.py | 35 | 
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) | 
