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

Anna Vyalkova <[email protected]>
Newsgroups gmane.linux.gentoo.devel
Message-ID <[email protected]>
On 2026-03-21, 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.

As it has been pointed out, there's barely any need for a news item. It 
looks like an advertisement that most users won't find useful.

To me, "rewriting coreutils in Rust" looks like a move against copyleft.  
If authors of uutils did not intend it, companies like Canonical switch 
to uutils not because it's better but because they hate GPL. But 
whatever, Gentoo is about choice.

> ## 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:
> 
> ```
>>=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

Markdown syntax is not supported for gentoo news items. Please keep it 
formatted in plain text.

> # 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
> ```
> 
> 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.
> 
> ## 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
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.