Die Veröffentlichung des uutils coreutils 0.0.12 wurde vorgestellt, in deren Rahmen eine Alternative zu den GNU Coreutils, die in Rust neu geschrieben wurden, entwickelt wird. Die coreutils umfassen ĂŒber einhundert Utilities, darunter sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln und ls. Gleichzeitig wurde das Paket uutils findutils 0.3.0 veröffentlicht, das die Rust-Implementierung der GNU Findutils-Utilities (find, locate, updatedb und xargs) beinhaltet.
Als Grund fĂŒr die Schaffung des Projekts und die Verwendung der Programmiersprache Rust wird der Wunsch genannt, eine plattformĂŒbergreifende alternative Implementierung von Coreutils und Findutils zu schaffen, die auch auf Plattformen wie Windows, Redox und Fuchsia funktionieren kann. Ein weiteres wichtiges Unterscheidungsmerkmal von uutils ist die Verbreitung unter einer permissiven MIT-Lizenz, anstelle der Copyleft-Lizenz GPL.
Derzeit sind 88 Utilities vollstĂ€ndig auf ParitĂ€t mit den GNU Coreutils gebracht. FĂŒr 18 Utilities werden einzelne MĂ€ngel festgestellt, darunter cp, dd, date, df, install, ls, more, sort, split, tail und test. Lediglich die Utility stty bleibt unerledigt. Im Testset des GNU Coreutils-Projekts werden 214 Tests erfolgreich bestanden, jedoch bestehen 313 Tests des Analogons in Rust noch nicht. Dabei hat sich die Entwicklungsgeschwindigkeit des Projekts merklich erhöht â pro Monat werden 400-470 Patches von 20-50 Entwicklern hinzugefĂŒgt, im Vergleich zu 30-60 von 3-8 Entwicklern vor einem Jahr.

Zu den jĂŒngsten Errungenschaften zĂ€hlt die Leistungsoptimierung â viele Utilities, wie head und cut, ĂŒbertreffen in ihrem aktuellen Zustand deutlich die Varianten aus den GNU Coreutils in Bezug auf die Leistung. Die Abdeckung des Testsets wurde von 55% auf 75% des gesamten Codes erweitert (ein ausreichendes Ziel sind 80%). Der Code wurde refaktoriert, um die Wartung zu vereinfachen, zum Beispiel wurde die Fehlerbehandlung in verschiedenen Programmen vereinheitlicht, und in chgrp und chown wurde der Code fĂŒr den Umgang mit Zugriffsrechten zusammengefĂŒhrt. Zahlreiche Ănderungen wurden hinzugefĂŒgt, um die KompatibilitĂ€t mit den GNU Coreutils zu verbessern.
ZukĂŒnftige PlĂ€ne umfassen die Implementierung des stty-Tools, die Weiterentwicklung der KompatibilitĂ€t mit GNU Coreutils, die HinzufĂŒgung von Optimierungen zur Reduzierung der GröĂe von ausfĂŒhrbaren Dateien sowie die Fortsetzung von Experimenten zur Verwendung von uutils anstelle von GNU Coreutils und GNU Findutils in Debian und Ubuntu (einer der Hauptentwickler von uutils arbeitete frĂŒher an einem Projekt zur Sicherstellung der Erstellung von Debian GNU/Linux unter Verwendung des Compilers Clang). DarĂŒber hinaus wird die Vorbereitung des Pakets uutils-coreutils fĂŒr macOS, Experimente mit dem Austausch von GNU Coreutils durch uutils coreutils in NixOS, die Absicht, uutils coreutils standardmĂ€Ăig in der Distribution Apertis zu verwenden, sowie die Anpassung des uutils-Sets fĂŒr Redox OS erwĂ€hnt.
Quelle: opennet.ru
