diff options
author | 2024-05-03 07:06:22 +0100 | |
---|---|---|
committer | 2024-05-03 07:18:10 +0100 | |
commit | ada43fcd4306b1dac26606058ef97399beaa360a (patch) | |
tree | 5f0f3c8160013cb84f82e298a4b9440d873c888d | |
parent | package: update example PORTDIR path (diff) | |
download | gentoolkit-ada43fcd4306b1dac26606058ef97399beaa360a.tar.gz gentoolkit-ada43fcd4306b1dac26606058ef97399beaa360a.tar.bz2 gentoolkit-ada43fcd4306b1dac26606058ef97399beaa360a.zip |
eclean: dist: make VCS cleaning dependent on --deep
The man page clearly says that without --deep, users can expect eclean-dist
to be conservative in cleaning up, and not consider the VDB, just the repo
state.
Honour that promise by making VCS cleaning dependent on --deep, given it
involves VDB inspection to see what's installed.
Bug: https://bugs.gentoo.org/923369
Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r-- | man/eclean.1 | 1 | ||||
-rw-r--r-- | pym/gentoolkit/eclean/cli.py | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/man/eclean.1 b/man/eclean.1 index 53ba8a7..60cf1ca 100644 --- a/man/eclean.1 +++ b/man/eclean.1 @@ -106,6 +106,7 @@ etc. Units are: G, M, K and B. .TP \fB\-\-skip\-vcs\fP protect VCS sources for live ebuilds not installed +Only effective with \-\-deep. Without \-\-deep, no VCS cleaning is done. .SS "Options for the 'packages' action" .TP \fB\-i, \-\-ignore\-failure\fP ignore the failure to locate PKGDIR diff --git a/pym/gentoolkit/eclean/cli.py b/pym/gentoolkit/eclean/cli.py index 94f87f4..f5c22c2 100644 --- a/pym/gentoolkit/eclean/cli.py +++ b/pym/gentoolkit/eclean/cli.py @@ -424,7 +424,7 @@ def parseArgs(options={}): options["unique-use"] = True elif o in ("--no-clean-invalid"): options["no-clean-invalid"] = True - elif o in ("--skip-vcs"): + elif o in ("--skip-vcs") or not options["destructive"]: options["skip-vcs"] = True else: return_code = False @@ -602,11 +602,11 @@ def doAction(action, options, exclude={}, output=None): output.einfo("Cleaning " + files_type + "...") # do the cleanup, and get size of deleted files if options["pretend"]: - if options["skip-vcs"]: + if options["skip-vcs"] or not options["destructive"]: vcs = {} clean_size = cleaner.pretend_clean(clean_me, vcs) elif action in ["distfiles"]: - if options["skip-vcs"]: + if options["skip-vcs"] or not options["destructive"]: vcs = {} clean_size = cleaner.clean_dist(clean_me, vcs) elif action in ["packages"]: |