devtool: disable creating workspace for extract and search subcommands

For subcommands that don't actually involve the workspace, don't
auto-create the workspace.

(From OE-Core rev: 90cba7992bc1d227e242666cd486414bd4a45f7e)

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:
Paul Eggleton 2015-10-11 16:13:18 +01:00 committed by Richard Purdie
parent a360fa7d51
commit 0fe742674e
4 changed files with 8 additions and 8 deletions

View File

@ -823,10 +823,10 @@ class DevtoolTests(DevtoolBase):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
# Try devtool extract
self.track_for_cleanup(tempdir)
self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool extract remake %s' % tempdir)
self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 'Extracted source could not be found')
# devtool extract shouldn't create the workspace
self.assertFalse(os.path.exists(self.workspacedir))
self._check_src_repo(tempdir)
@testcase(1379)
@ -834,10 +834,10 @@ class DevtoolTests(DevtoolBase):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
# Try devtool extract
self.track_for_cleanup(tempdir)
self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool extract virtual/libx11 %s' % tempdir)
self.assertTrue(os.path.exists(os.path.join(tempdir, 'Makefile.am')), 'Extracted source could not be found')
# devtool extract shouldn't create the workspace
self.assertFalse(os.path.exists(self.workspacedir))
self._check_src_repo(tempdir)
@testcase(1168)

View File

@ -261,7 +261,7 @@ def main():
description='Sets up a new workspace. NOTE: other devtool subcommands will create a workspace automatically as needed, so you only need to use %(prog)s if you want to specify where the workspace should be located.')
parser_create_workspace.add_argument('layerpath', nargs='?', help='Path in which the workspace layer should be created')
parser_create_workspace.add_argument('--create-only', action="store_true", help='Only create the workspace layer, do not alter configuration')
parser_create_workspace.set_defaults(func=create_workspace)
parser_create_workspace.set_defaults(func=create_workspace, no_workspace=True)
for plugin in plugins:
if hasattr(plugin, 'register_commands'):
@ -269,7 +269,7 @@ def main():
args = parser.parse_args(unparsed_args, namespace=global_args)
if args.subparser_name != 'create-workspace':
if not getattr(args, 'no_workspace', False):
read_workspace()
try:

View File

@ -77,4 +77,4 @@ def register_commands(subparsers, context):
parser_search = subparsers.add_parser('search', help='Search available recipes',
description='Searches for available target recipes. Matches on recipe name, package name, description and installed files, and prints the recipe name on match.')
parser_search.add_argument('keyword', help='Keyword to search for (regular expression syntax allowed)')
parser_search.set_defaults(func=search)
parser_search.set_defaults(func=search, no_workspace=True)

View File

@ -1166,7 +1166,7 @@ def register_commands(subparsers, context):
parser_extract.add_argument('srctree', help='Path to where to extract the source tree')
parser_extract.add_argument('--branch', '-b', default="devtool", help='Name for development branch to checkout')
parser_extract.add_argument('--keep-temp', action="store_true", help='Keep temporary directory (for debugging)')
parser_extract.set_defaults(func=extract)
parser_extract.set_defaults(func=extract, no_workspace=True)
parser_sync = subparsers.add_parser('sync', help='Synchronize the source for an existing recipe',
description='Synchronize the source for an existing recipe',