Swapping GNU coreutils for uutils coreutils on Gentoo Linux
Replacing GNU coreutils with the Rust-based uutils coreutils on Gentoo Linux is prompting questions about compatibility, stability, and how best to integrate such a swap into the distribution’s packaging system. Commenters point to concrete bugs and edge cases, warn that long‑established GNU behaviors are relied on by countless scripts and build systems, and argue this kind of change should remain an opt‑in experiment for users who can handle fallout. The attempt also revives broader debates over merged `/usr` layouts, the merits of GPL versus permissive licenses, and whether memory safety and easier hacking justify re‑implementing mature system tools.
Maturity and Compatibility of uutils coreutils
- Several commenters warn against casually replacing GNU coreutils, citing real bugs in uutils (e.g., mishandled SIGPIPE leading to visible exceptions instead of clean exits).
- uutils is said to reuse the GNU coreutils test suite, but people note that behavior compatibility in odd edge cases is still lacking.
- Suggestions to stress-test uutils by building large, crusty projects (Chromium, Gentoo itself) or by systematically comparing results against GNU coreutils.
Gentoo and Filesystem Layout (/bin, /usr/bin, usr-merge)
- Tangent debate about merged
/bin//sbin//usr/bin//usr/sbin. - Some dislike the merge, see it as needless churn and “less Unix-like,” and fear breakage (scripts with hardcoded paths, boot issues, initramfs complexity).
- Others argue the historical separation was mostly about old hardware constraints; symlink-based merging is practical and used by other Unix-like systems (e.g., Solaris).
- There’s disagreement on whether this actually causes concrete problems versus being largely a philosophical dispute.
Licensing: GPL vs Permissive Reimplementations
- Strong debate over whether permissively licensed reimplementations (MIT/BSD) of GPL tools are “disrespectful,” “dangerous,” or a healthy alternative.
- Pro-GPL side: GPL protects the commons, forces corporate contributions, and underpinned Linux’s success; permissive licenses enable proprietary forks and “free riding.”
- Pro-permissive side: permissive licenses ease commercial use, contribution from employers, and don’t reduce existing freedoms; users can always keep using the free versions.
- Broader discussion of how corporations exploit different licenses (Linux vs BSD vs macOS, consoles, drivers).
Motivations for uutils and Rust Rewrites
- Stated motivations include memory safety, learning Rust, avoiding GPL in some environments, and escaping “autotools hell.”
- Critics see “rewrite X in Y” as low-value compared to solving new problems, and worry more about compatibility than safety for tools like
cp/ls. - Supporters welcome alternatives, argue multiple implementations improve portability and standards compliance.
Gentoo Packaging and Alternatives
- Some Gentoo users say the article’s method (overwriting the coreutils package) is a hack; suggest using
package.provided, virtuals, or installing under/usr/localplus careful unmerging. - Others respond that this was an intentional, quick experiment on a personal system, not a proposal for official Gentoo policy.