public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/gentoolkit:master commit in: pym/gentoolkit/eclean/, man/
@ 2024-05-03  6:18 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2024-05-03  6:18 UTC (permalink / raw
  To: gentoo-commits

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"]:


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-05-03  6:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-03  6:18 [gentoo-commits] proj/gentoolkit:master commit in: pym/gentoolkit/eclean/, man/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox