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

Eli Schwartz <[email protected]>
Newsgroups gmane.linux.gentoo.devel
Message-ID <[email protected]>
On 3/20/26 3:35 PM, moltonel 3x Combo wrote:
> Hi,
> 
> This news item can also be reviewed at
> https://github.com/gentoo/gentoo-news/pull/5
> The corresponding code PR is at https://codeberg.org/gentoo/gentoo/pulls/89
> This is my first time posting here and I'm not a Gentoo dev, apologies
> if I made mistakes.
> 
> 
> Title: Introduction of app-alternatives/coreutils
> Author: Vincent de Phily <[email protected]>
> Posted: 2026-03-04
> Revision: 1
> News-Item-Format: 2.0
> 
> A new app-alternatives/coreutils ebuild is available, giving the
> choice between sys-apps/coreutils and sys-apps/uutils-coreutils as the
> main coreutils (mkdir, ls, etc) implementation. The default will
> remain the gnu implementation for the foreseeable future.
> 
> The update should be transparent to most users, read on for further
> details.


If it is truly transparent, I wonder that we need a news post.



> ## Choices
> 
> If uutils-coreutils is available for your arch and profile, you
> can select it by setting `app-alternatives/coreutils -gnu uutils` in
> your packages.use.
> 
> If you want to postpone or revert the transition, mask the
> corresponding ebuild versions:


... this sounds like advice for "the default is switching to uutils, how
do I opt out" -- but the actual thing is opt-in. Please remove ALL
advice on using uutils, and add it to a wiki page instead.


> ```
>> =sys-apps/coreutils-9.10-r1
>> =sys-apps/uutils-coreutils-0.6.0-r1
> app-alternatives/coreutils
> ```
> 
> ## Preparation and troubleshooting
> 
> The new version of sys-apps/coreutils and sys-app/uutils-coreutils
> install their files with a prefix (`g` for gnu, and `uu-` for uutils).
> Afterwards, app-alternatives installs symlinks with standard names.
> 
> Portage preserves some critical binaries, which will trigger a
> harmless file collision warning (assuming the default `protect-owned`
> portage feature is enabled) when app-alternatives/coreutils is
> installed for the first time.
> 
> To reduce the window during which some utils will not be available at
> the standard location, make sure that app-alternatives/coreutils is
> merged straight after the new sys-apps/coreutils, by running
> `USE="gnu -uutils" emerge -v1 app-alternatives/coreutils` before
> updating the rest of the system.
> 
> In the unlikely event of an incomplete update, keep in mind you can
> still use the prefixed names. If you somehow need to manually fix some
> symlinks, use the command below and consider reporting the issue:
> 
> ```bash
> # Critical utils that portage should have preserved
> export U1="[ arch basename cat chgrp chmod chown cp date dirname echo env expr
>           false head hostname id install ln ls mkdir mkfifo mktemp mv printf
>           pwd readlink rm rmdir sleep sort stat tail test touch tr true uname
>           uniq whoami"
> # Utils that might be missing until app-alternative installs
> export U2="b2sum base32 base64 basenc chcon chroot cksum comm csplit cut dd
>           df dir dircolors du expand factor fmt fold hostid join kill link
>           logname mknod nice nl nohup nproc numfmt od paste pathchk pinky pr
>           printenv ptx realpath runcon seq shred sha1sum sha224sum sha256sum
>           sha384sum sha512sum shuf split stdbuf stty sum sync tac tee timeout
>           truncate tsort tty unexpand unlink users vdir wc who yes"
> for t in $U2; do
>  gtest -e /usr/bin/g$t -a ! -e /usr/bin/$t && gln -sf g$t /usr/bin/$t
>  gtest -e /bin/g$t -a ! -e /bin/$t && gln -sf g$t /bin/$t
> done
> ```


Advice on how to fix an interrupted update is valid use of News items.


> The current implementation of app-alternatives/coreutils does not
> switch shell completions, so `cp` uses gnu completions, `uu-cp` uses
> uutils completions, and `gcp` does not complete. This will be
> addressed progressively, in collaboration with upstreams.


... but this is more distracting messages regarding "nothing changed".
None of this is useful to news readers.


> ## Further reading
> 
> [0] https://wiki.gentoo.org/wiki/Project:Base/Alternatives
> [1] https://www.gentoo.org/support/news-items/2022-12-27-alternatives-introduction.html
> [2] https://bugs.gentoo.org/961068


Overall I recommend completely re-aligning this News item to match the
purpose of the news: tell people affected by a default/mandatory change
to packages/repos/profiles they have installed or used, that *they* will
*need* to do or be careful about something.

GNU defaults are not currently expected to ever change. The proposal is
valid insomuch as Gentoo supports choice, including the choice to use
terrible, racy, buggy software like uutils. That is opt-in.

But the support migration to unlock choice is itself something
potentially worthy of a news item, solely because it may break systems
which do not intend to locally set any USE flags. Thus, the news item
should stick to describing how to successfully update.



-- 
Eli Schwartz
OpenPGP_signature.asc (application/pgp-signature, 236 B)
-----BEGIN PGP SIGNATURE-----

wnsEABYIACMWIQTnFNnmK0TPZHnXm3qEp9ErcA0vVwUCab3KPwUDAAAAAAAKCRCEp9ErcA0vV0Ho
AQCbZUMv18Dmi6307OCgf/qnsUARghi701YVhd7hLnNDLAD9HJ4QgjTL1Rc+iO3SQeTfAZ2QaWzt
KcAyouglSnia+Ac=
=HpYs
-----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.