diff options
Diffstat (limited to 'scripts/lib/devtool/standard.py')
-rw-r--r-- | scripts/lib/devtool/standard.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index fbc49a9777..741f0ea91b 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -1196,21 +1196,24 @@ def reset(args, config, basepath, workspace): raise DevtoolError("Recipe must be specified, or specify -a/--all to " "reset all recipes") if args.all: - recipes = workspace + recipes = workspace.keys() else: recipes = [args.recipename] - for pn in recipes: - if not args.no_clean: - logger.info('Cleaning sysroot for recipe %s...' % pn) - try: - exec_build_env_command(config.init_path, basepath, 'bitbake -c clean %s' % pn) - except bb.process.ExecutionError as e: - raise DevtoolError('Command \'%s\' failed, output:\n%s\nIf you ' - 'wish, you may specify -n/--no-clean to ' - 'skip running this command when resetting' % - (e.command, e.stdout)) + if recipes and not args.no_clean: + if len(recipes) == 1: + logger.info('Cleaning sysroot for recipe %s...' % recipes[0]) + else: + logger.info('Cleaning sysroot for recipes %s...' % ', '.join(recipes)) + try: + exec_build_env_command(config.init_path, basepath, 'bitbake -c clean %s' % ' '.join(recipes)) + except bb.process.ExecutionError as e: + raise DevtoolError('Command \'%s\' failed, output:\n%s\nIf you ' + 'wish, you may specify -n/--no-clean to ' + 'skip running this command when resetting' % + (e.command, e.stdout)) + for pn in recipes: _check_preserve(config, pn) preservepath = os.path.join(config.workspace_path, 'attic', pn) |