The devtool reset command cleans the sysroot for a recipe in workspace. It also removes the append file but leaves the source code as in workspace. The source is not cleaned intentionally and the user has to manually remove it before calling devtool modify again.
Provide the user with an option to remove the source code from workspace by adding a flag to the devtool reset command. The --rm-source option for the devtool reset command will also clean the source code from the workspace along with the sysroot and the append file. Ex: devtool reset --rm-source zip or devtool reset -r zip Signed-off-by: Sai Hari Chandana Kalluri <[email protected]> --- scripts/lib/devtool/standard.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index b7d4d47..e3bb0d1 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -1751,7 +1751,7 @@ def status(args, config, basepath, workspace): return 0 -def _reset(recipes, no_clean, config, basepath, workspace): +def _reset(recipes, no_clean, rm_source, config, basepath, workspace): """Reset one or more recipes""" import oe.path @@ -1828,11 +1828,14 @@ def _reset(recipes, no_clean, config, basepath, workspace): srctreebase = workspace[pn]['srctreebase'] if os.path.isdir(srctreebase): - if os.listdir(srctreebase): + if os.listdir(srctreebase) and not rm_source: # We don't want to risk wiping out any work in progress logger.info('Leaving source tree %s as-is; if you no ' 'longer need it then please delete it manually' % srctreebase) + elif rm_source: + logger.info('Cleaning source tree from workspace ') + shutil.rmtree(srctreebase) else: # This is unlikely, but if it's empty we can just remove it os.rmdir(srctreebase) @@ -1856,7 +1859,7 @@ def reset(args, config, basepath, workspace): else: recipes = args.recipename - _reset(recipes, args.no_clean, config, basepath, workspace) + _reset(recipes, args.no_clean, args.rm_source, config, basepath, workspace) return 0 @@ -2157,6 +2160,7 @@ def register_commands(subparsers, context): parser_reset.add_argument('recipename', nargs='*', help='Recipe to reset') parser_reset.add_argument('--all', '-a', action="store_true", help='Reset all recipes (clear workspace)') parser_reset.add_argument('--no-clean', '-n', action="store_true", help='Don\'t clean the sysroot to remove recipe output') + parser_reset.add_argument('--rm-source', '-r', action="store_true", help='Remove source code from the workspace') parser_reset.set_defaults(func=reset) parser_finish = subparsers.add_parser('finish', help='Finish working on a recipe in your workspace', -- 2.7.4 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
