commit: ada43fcd4306b1dac26606058ef97399beaa360a Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Fri May 3 06:06:22 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri May 3 06:18:10 2024 +0000 URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=ada43fcd
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 <AT> gentoo.org> man/eclean.1 | 1 + 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"]:
