Udgivelsen af uutils coreutils 0.0.12-værktøjssættet præsenteres, inden for rammerne af hvilket en analog til GNU Coreutils-pakken udvikles, omskrevet til Rust-sproget. coreutils inkluderer mere end hundrede værktøjer, herunder sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln og ls. Samtidig blev uutils findutils 0.3.0-pakken udgivet med en implementering i Rust-sproget af værktøjer fra GNU Findutils-sættet (find, locate, updatedb og xargs).
Årsagen til at oprette projektet og bruge Rust-sproget er ønsket om at skabe en alternativ implementering af Coreutils og Findutils på tværs af platforme, der kan fungere på platforme som f.eks. Windows, Redox og Fuchsia. En anden vigtig forskel er, at uutils distribueres under den permissive MIT-licens i stedet for den ophavsretligt beskyttede GPL-licens.
I øjeblikket er implementeringen af 88 værktøjer blevet fuldt ud på niveau med GNU Coreutils. Individuelle mangler er bemærket i 18 værktøjer, herunder cp, dd, date, df, install, ls, more, sort, split, tail og test. Kun værktøjet stty er stadig uimplementeret. Når testpakken fra GNU Coreutils-projektet er bestået, er 214 tests gennemført med succes, men Rust-analogen består endnu ikke 313 tests. Samtidig er intensiteten af projektets udvikling steget markant - 400-470 patches tilføjes om måneden af 20-50 udviklere i stedet for 30-60 af 3-8 udviklere for et år siden.

Nylige resultater inkluderer ydeevneoptimeringer - i deres nuværende tilstand overgår mange værktøjer, såsom head og cut, deres GNU Coreutils-modstykker betydeligt. Testsuitens dækning er blevet udvidet fra 55% til 75% af hele koden (80% er et tilstrækkeligt mål). Koden er blevet refaktoreret for at forenkle vedligeholdelse, for eksempel er fejlhåndtering blevet samlet på tværs af programmer, og adgangsrettighedskoden er blevet kombineret i chgrp og chown. Talrige ændringer er blevet tilføjet for at forbedre kompatibiliteten med GNU Coreutils.
Fremtidige planer omfatter implementeringen af stty-værktøjet, fortsat arbejde med at forbedre kompatibiliteten med GNU Coreutils, tilføjelse af optimeringer for at reducere størrelsen på eksekverbare filer og fortsatte eksperimenter med at bruge Debian и Ubuntu uutils i stedet for GNU Coreutils og GNU Findutils (en af hovedudviklerne af uutils var tidligere involveret i projektet for at sikre opbygningen Debian GNU /Linux ved hjælp af Clang-compileren). Derudover er forberedelsen af uutils-coreutils-pakken bemærket for macOS, eksperimenter med at erstatte GNU Coreutils med uutils coreutils i NixOS, intentionen om at bruge uutils coreutils som standard i Apertis-distributionen og tilpasning af uutils-sættet til Redox OS.
Kilde: opennet.ru
