diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2015-02-19 16:39:57 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-02-23 08:08:19 +0000 |
commit | 664d1a7fe8f8288fabc582d00f6e36ab29496ec5 (patch) | |
tree | 6c9db7865aeef8275511509a1a4021cd3341b0f1 | |
parent | cf094ed2f616a581eb07d78db4366c83a441fde5 (diff) | |
download | openembedded-core-664d1a7fe8f8288fabc582d00f6e36ab29496ec5.tar.gz openembedded-core-664d1a7fe8f8288fabc582d00f6e36ab29496ec5.tar.bz2 openembedded-core-664d1a7fe8f8288fabc582d00f6e36ab29496ec5.zip |
devtool: reset: run bitbake -c clean on recipe
If you've added a new recipe, you want the output cleaned when you do
devtool reset, otherwise cruft from building the recipe may remain which
could interfere with future builds.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/lib/oeqa/selftest/devtool.py | 4 | ||||
-rw-r--r-- | scripts/lib/devtool/standard.py | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py index 74fb325803..33f2e91607 100644 --- a/meta/lib/oeqa/selftest/devtool.py +++ b/meta/lib/oeqa/selftest/devtool.py @@ -179,9 +179,13 @@ class DevtoolTests(oeSelfTest): if line.startswith('.TH'): self.assertEqual(line.rstrip(), '.TH MDADM 8 "" v9.999-custom', 'man file not modified') # Test devtool reset + stampprefix = get_bb_var('STAMP', 'mdadm') result = runCmd('devtool reset mdadm') result = runCmd('devtool status') self.assertNotIn('mdadm', result.output) + self.assertTrue(stampprefix, 'Unable to get STAMP value for recipe mdadm') + matches = glob.glob(stampprefix + '*') + self.assertFalse(matches, 'Stamp files exist for recipe mdadm that should have been cleaned') def test_devtool_update_recipe(self): # Check preconditions diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index d503111d85..763177de1c 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -475,6 +475,11 @@ def reset(args, config, basepath, workspace): if not args.recipename in workspace: logger.error("no recipe named %s in your workspace" % args.recipename) return -1 + + if not args.no_clean: + logger.info('Cleaning sysroot for recipe %s...' % args.recipename) + exec_build_env_command(config.init_path, basepath, 'bitbake -c clean %s' % args.recipename) + _check_preserve(config, args.recipename) preservepath = os.path.join(config.workspace_path, 'attic', args.recipename) @@ -555,5 +560,6 @@ def register_commands(subparsers, context): description='Removes the specified recipe from your workspace (resetting its state)', formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser_reset.add_argument('recipename', help='Recipe to reset') + parser_reset.add_argument('--no-clean', '-n', action="store_true", help='Don\'t clean the sysroot to remove recipe output') parser_reset.set_defaults(func=reset) |