Re: [gentoo-dev] news item: Introdu ction of app-alternatives/coreutils
Zurab Kvachadze <[email protected]>
| Newsgroups | gmane.linux.gentoo.devel |
|---|---|
| Message-ID | <[email protected]> |
On March 20, 2026 7:35:55 PM UTC, moltonel 3x Combo <[email protected]> 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. I think GNU should be capitalised here. > The update should be transparent to most users, read on for further > details. > > ## 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. Nit: arch -> architecture. > If you want to postpone or revert the transition, mask the > corresponding ebuild versions: I suggest saying "add the corresponding ebuild versions to package.mask" but if you believe the current formulation sounds better, feel free to use that. > ``` > >=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. I think we should restate the versions here to avoid confusion. > 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. As far as I understood, the default USE is "gnu -uutils", do we need to set USE on the cmdline again? > 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 > ``` > > 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 > Thank you very much! I have a couple of remarks, please have a look below (or above, writing on mobile, not sure how this will be formatted).