De release van de uutils coreutils 0.0.12 is gepresenteerd, een project dat het GNU Coreutils-pakket nabootst, herschreven in de programmeertaal Rust. Het coreutils-pakket omvat meer dan honderd hulpprogramma's, waaronder sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln en ls. Tegelijkertijd is het uutils findutils 0.3.0-pakket uitgebracht, met implementaties in Rust van de GNU Findutils (find, locate, updatedb en xargs).
De reden voor het opzetten van het project en het gebruik van Rust is de wens om een cross-platform alternatieve implementatie van Coreutils en Findutils te creëren, die ook kan functioneren op platforms zoals Windows, Redox en Fuchsia. Een ander belangrijk kenmerk van uutils is de distributie onder de permissieve MIT-licentie, in plaats van de copyleft GPL-licentie.
Momenteel is de implementatie van 88 hulpprogramma's volledig gelijkwaardig aan die van GNU Coreutils. Er zijn enkele tekortkomingen bij 18 hulpprogramma's, waaronder cp, dd, date, df, install, ls, more, sort, split, tail en test. Alleen de stty-hulpprogramma is nog niet geïmplementeerd. Tijdens het doorlopen van de testset van het GNU Coreutils-project worden 214 tests succesvol uitgevoerd, maar 313 tests zijn nog niet geslaagd voor de Rust-variant. Bovendien is de ontwikkelsnelheid van het project aanzienlijk toegenomen — er worden maandelijks 400-470 patches toegevoegd door 20-50 ontwikkelaars, in vergelijking met 30-60 patches van 3-8 ontwikkelaars een jaar geleden.

Van de recente prestaties is de prestatie-optimalisatie te noemen — momenteel presteren veel hulpprogramma's, zoals head en cut, aanzienlijk beter dan hun GNU Coreutils-tegenhangers. De dekking van de testset is uitgebreid van 55% naar 75% van de totale code (het doel is 80%). Code-refactoring is uitgevoerd om het onderhoud te vereenvoudigen, zoals de uniforme foutafhandeling in verschillende programma's, en in chgrp en chown is de code voor het beheren van toegangsrechten samengevoegd. Er zijn talrijke wijzigingen doorgevoerd om de compatibiliteit met GNU Coreutils te verbeteren.
De toekomstige plannen omvatten de implementatie van de stty-tool, het voortzetten van het werk aan de compatibiliteit met GNU Coreutils, het toevoegen van optimalisaties om de grootte van uitvoerbare bestanden te verkleinen, evenals het voortzetten van experimenten met het gebruik van uutils in plaats van GNU Coreutils en GNU Findutils in Debian en Ubuntu (een van de belangrijkste ontwikkelaars van uutils was eerder betrokken bij een project voor het bouwen van Debian GNU/Linux met de Clang-compiler). Daarnaast wordt de voorbereiding van het uutils-coreutils-pakket voor macOS vermeld, experimenten met de vervanging van GNU Coreutils door uutils coreutils in NixOS, de intentie om uutils coreutils standaard te gebruiken in de Apertis-distributie en de aanpassing van de uutils-suite voor Redox OS.
Bron: opennet.ru
