À propos du projet

uutils coreutils est une réimplémentation multiplateforme de GNU coreutils écrite en Rust. Le projet indique que tous les programmes ont été implémentés, bien que certaines options puissent manquer ou que le comportement puisse différer. Les différences avec GNU sont traitées comme des bogues. Les objectifs incluent reproduire exactement la sortie standard et les codes d'erreur de GNU, fournir des diagnostics d'erreur d'analyse de style compilateur dans un terminal tout en conservant les messages GNU simples pour les scripts et les pipes, une prise en charge complète de l'internationalisation UTF-8, un travail continu sur les performances (les ralentissements significatifs par rapport à d'autres implémentations de coreutils sont traités comme des bogues), et des extensions optionnelles telles que --progress. Le projet vise à fonctionner sur Linux, macOS, *BSD, Windows, WASI et d'autres plateformes afin que les scripts puissent être déplacés entre elles. Il est livré par défaut sur Ubuntu depuis la version 25.10. La compilation est possible avec Cargo ou GNU Make. Cargo construit par défaut un binaire multicall (de type BusyBox) nommé coreutils ; des ensembles spécifiques à une plateforme peuvent être sélectionnés avec des fonctionnalités telles que windows, unix, ou feat_wasm pour wasm32-wasip1. Les utilitaires spécifiques à SELinux (chcon, runcon) nécessitent libselinux et libclang. Une fonctionnalité openssl peut accélérer les utilitaires de somme de contrôle en utilisant libcrypto, avec une liaison statique par défaut et une liaison dynamique optionnelle via OPENSSL_NO_VENDOR=1. Les utilitaires individuels peuvent être compilés en binaires séparés, chacun dans son propre paquet nommé uu_UTILNAME. L'installation peut être effectuée avec cargo install ou make install, avec des options pour ignorer des utilitaires, ajouter un préfixe de programme, installer un binaire multicall, définir PREFIX/DESTDIR, et ignorer les complétions ou les pages de manuel. Le binaire uudoc génère des complétions de shell pour bash, elvish, fish, powershell et zsh, ainsi que des pages de manuel pour les utilitaires individuels. La désinstallation reflète la méthode d'installation choisie. Des binaires précompilés, des pages de manuel et des complétions de shell sont fournis depuis la branche principale, avec une étiquette stable la plus récente pour un empaquetage reproductible. Il est demandé aux personnes signalant des bogues d'utiliser le binaire du dernier commit. Le README renvoie également vers un tableau de suivi de la compatibilité avec la suite de tests GNU, la documentation utilisateur et développeur, un terrain de jeu WebAssembly, et Weblate pour les traductions. Le projet est sous licence MIT, tandis que GNU Coreutils est sous GPL 3.0 ou ultérieure.