Re: news item: Introduction of app-alternatives/coreutils

Ionen Wolkens <[email protected]>
Newsgroups gmane.linux.gentoo.devel
Message-ID <acFoMwf2TS087Bzk@eversor>
On Mon, Mar 23, 2026 at 12:00:24PM -0400, Ionen Wolkens wrote:
> On Mon, Mar 23, 2026 at 11:42:20AM -0400, Ionen Wolkens wrote:
> > On Mon, Mar 23, 2026 at 11:35:31AM -0400, Eli Schwartz wrote:
> > > On 3/22/26 10:32 AM, Ulrich Müller wrote:
> > > >>>>>> On Sun, 22 Mar 2026, moltonel 3x Combo wrote:
> > > > 
> > > > [Why have you dropped gentoo-dev from CC?]
> > > > 
> > > >>> 2. Why do we need app-alternatives here, instead of a simple virtual
> > > >>> (plus a blocker)? I find renaming (e.g. gls, gcp) and symlinking
> > > >>> of all standard tools incredibly ugly.
> > > > 
> > > >> The main argument against virtual+blocker is that we want to keep both
> > > >> packages co-installable.
> > > > 
> > > > Entirely possible with a virtual. Have uu-coreutils install the programs
> > > > with prefixed names, and only install the generic names with some USE
> > > > flag. That same flag would also be a USE-conditional for the blocker
> > > > against coreutils.
> > > 
> > > 
> > > I am skeptical that this would work. Normally, blockers function by
> > > installing package cat/a which blocks the previously installed cat/b.
> > > So, a gets installed and then only afterwards b gets uninstalled, and
> > > a's files overwrite b's files which is fine because b is after all
> > > getting uninstalled and the PM is permitted to ignore collisions in this
> > > case.
> > > 
> > > b's files never actually disappear. At any given time either a or b must
> > > be installed to provide the overlapping files.
> > > 
> > > If we did this via USE blockers, then uutils could be rebuilt with
> > > USE="-native-symlinks" or whatever, *before* sys-apps/coreutils gets
> > > installed. This then breaks the system because no critical system
> > 
> > Can't we just have uutils RDEPEND on coreutils when -native-symlinks,
> > which makes portage emerge coreutils first before uutils is rebuilt.
> > And collisions should be ignored with the soft-blockers.
> 
> Well, not sure if we even need RDEPEND. virtual/coreutils would be in
> @system and need to be satisfied. Portage may just force-schedule
> sys-apps/coreutils first either way (if not, we can try RDEPEND --
> do believe we can get this to work one way or another but I haven't
> experimented).

..then again, maybe this could allow the PM to schedule after.
RDEPEND may be more definite.

> 
> > 
> > > binaries are available. Using the virtual does not, in the end, solve
> > > anything (unless they are treated as fully incompatible blocking
> > > packages), because there are transition states where the only package
> > > that is installed has broken USE. It might work one-way if coreutils is
> > > *fully* blocked by uutils[native-symlinks] but then you likely can't
> > > safely switch back.
> > > 
> > > I seem to recall that portage has known buggy handling of this. In fact
> > > the only real solution is to rebuild coreutils ("package a") and have it
> > > overwrite uutils' symlinks, and then only afterwards rebuild uutils
> > > ("only afterwards package b gets uninstalled"), and ignore ALL file
> > > conflicts between the two. And then... what? Check after the fact and
> > > report an error? Real solution or not, the *correct* solution is to know
> > > when installing one package, what files the other package would
> > > eventually install, which presumes that binaries are used, which is why
> > > binary-only distros can avoid this problem.
> > > 
> > > tl;dr
> > > 
> > > app-alternatives is correct here.
> > > 
> > > 
> > > 
> > > -- 
> > > Eli Schwartz
> > 
> > 
> > 
> > 
> > -- 
> > ionen
> 
> 
> 
> -- 
> ionen



-- 
ionen
signature.asc (application/pgp-signature, 525 B)
-----BEGIN PGP SIGNATURE-----

iQFPBAABCAA5FiEEx3SLh1HBoPy/yLVYskQGsLCsQzQFAmnBaDIbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMiwyAAoJELJEBrCwrEM0hb0IAKhYoH66EtL2CbC45UYa
5GqMns5QqNP7CG3xhtpxEHwW3501vh2TbcfoHh2N0V7spFhwHpdYRU3R26eghfQq
9Ko0HOXVUGLgyo8O4GH6BEjrNUFUIcp5Bs0P4JQWJsA5/kKsqDtcdhuoHCXIx+S8
s0U3lVQYeWHu/02OiqN7T1CbcHIfz6NwIbkIBaP3GqjXk9TWxMAJt3m9AFMlC/+b
Sf7GCaSGGMvnIa5GAC+gs5hDc5rPwks08X/KDDUSjZ+qPOa/TTEdhKVjjmIFWxju
afhtSZfrjPJGqQQAO8oY4cmKFvjv/pHy/RxVC/dW32zQe/wp1OM0COxKNBo7nO2D
MPw=
=5QkU
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.