eclean-pkg: clean binpkgs with stale IUSE and add --unreachable#66
Merged
gentoo-bot merged 3 commits intoJul 23, 2026
Merged
Conversation
Contributor
Author
|
cc: @eli-schwartz |
| .TP | ||
| \fB\-\-changed\-subslot\fP delete packages with := deps on subslots no longer in the tree | ||
| .TP | ||
| \fB\-\-changed\-iuse\fP delete packages whose IUSE no longer matches the ebuild |
Member
There was a problem hiding this comment.
These retroactively added descriptions were probably supposed to be a third commit?
Contributor
Author
There was a problem hiding this comment.
They certainly can be, if you prefer.
mattst88
force-pushed
the
eclean-changed-iuse-unreachable
branch
from
July 23, 2026 03:13
3f70235 to
fa9ef91
Compare
Signed-off-by: Matt Turner <mattst88@gentoo.org>
When PYTHON_COMPAT gains a new target, ebuilds grow a new default-disabled IUSE flag (e.g. python_targets_python3_14). Existing binary packages lack that flag, so Portage refuses to install them and there is no way to make them usable again -- they are orphaned and will only ever be rebuilt from source. Add --changed-iuse to delete such binpkgs. The comparison ignores USE flag defaults and only considers whether the set of flags matches the current ebuild's IUSE. Closes: https://bugs.gentoo.org/965888 Signed-off-by: Matt Turner <mattst88@gentoo.org>
The set of reasons a binary package can no longer be a Portage cache hit keeps growing (--changed-deps, --changed-subslot, --changed-iuse), and users generally just want all of them cleaned. Add --unreachable as a convenience that enables every --changed-* option at once, so new reasons are picked up automatically without users having to learn each flag. Closes: https://bugs.gentoo.org/977235 Signed-off-by: Matt Turner <mattst88@gentoo.org>
mattst88
force-pushed
the
eclean-changed-iuse-unreachable
branch
from
July 23, 2026 15:49
fa9ef91 to
0670482
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two related additions to eclean-pkg for cleaning binary packages that Portage can no longer reuse.
--changed-iuse(bug 965888)When PYTHON_COMPAT gains a new target, ebuilds grow a new default-disabled IUSE flag (e.g.
python_targets_python3_14). Existing binpkgs lack that flag, so Portage refuses to install them with no way to make them usable again — they only ever get rebuilt from source.--changed-iusedeletes such orphaned binpkgs. The comparison ignores USE flag defaults (leading+/-) and only checks whether the set of flags matches the ebuild's IUSE.--unreachable(bug 977235)The set of
--changed-*reasons keeps growing and users generally want them all.--unreachableenables every--changed-*option at once, so new reasons are picked up automatically without learning each flag.Also documents the previously-undocumented
--changed-deps/--changed-subslotoptions in the man page.Closes: https://bugs.gentoo.org/965888
Closes: https://bugs.gentoo.org/977235