Bol uverejnený vydanie projektu uutils coreutils 0.7.0 (Rust Coreutils), rozvíjajúceho analóg balíka GNU Coreutils, napísaného v jazyku Rust. Súčasťou coreutils je viac ako sto utilít, vrátane sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln a ls. Cieľom projektu je vytvorenie multiplatformovej alternatívnej implementácie Coreutils, medzi iným schopnej fungovať na platformách Windows, Redox a Fuchsia.
Rust Coreutils je predvolene zahrnutý v release Ubuntu 25.10 a používa sa v distribúciách AerynOS (Serpent OS) a Apertis (rozvíjaný spoločnosťou Collabora). Na rozdiel od GNU Coreutils je implementácia v Ruste distribuovaná pod permissívnou licenciou MIT, namiesto copyleft licencie GPL. Rovnako tímto vývojárom sú vyvíjané analógy utilít util-linux, diffutils, findutils, procps a acl napísané v Rust, ako aj programy sed a login.
V novej verzii Rust Coreutils:
- Úroveň kompatibility s etalónovým testovacím súborom GNU Coreutils predstavovala 94.59% (bolo 96.28%). Úspešne sa vykonalo 629 testov, čo je o 7 viac než v predchádzajúcej verzii (622). 23 (bolo 16) testov zlyhalo, zatiaľ čo 13 (bolo 7) testov bolo preskočených. Zníženie úrovne kompatibility je vysvetlené aktualizáciou testovacích súborov na stav vydania GNU Coreutils 9.10, v ktorom bolo pridaných 19 nových testov. Ak sa berie do úvahy celkový počet testov, Rust Coreutils poskytuje prechod o 7 testov viac než minulé vydanie.
- Najvýraznejšie zlepšenie kompatibility bolo zaznamenané pre utility date, fmt, kill, ptx, numfmt a cksum. Menej významné zlepšenia kompatibility boli zaznamenané v utilitách cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor a wc.
- Zabezpečil sa support Rust knižnice num-prime, použitý na testovanie v utilite factor.
- Boli zapojené rýchlejšie implementácie hashov rustc-hash v ls, du, tsort, shuf, mv a foldhash v sort.
- Práca s ASCII znakmi v utilitách unexpand a expand bola optimalizovaná, čo umožnilo urýchliť prácu pri buffered čítaní o 14%.
- Operácie alokácie pamäte v utilitách shuf, split, sort a du boli optimalizované, čo umožnilo urýchliť du o 3–6% a shuf o 4%.
- Urýchlené prevod čísel na reťazce v utilite nl.
- Znížená veľkosť vykonateľných súborov a urýchlený štart utilít true a false.
- Vo viac ako 20 utilitách, vrátane echo, date, sort, expr, hostname, id, comm, pr a dircolors, boli vyriešené problémy so zlyhaním pri neschopnosti zapísať do stderr (presmerovanie do /dev/full).
- V umask, mkdirat, mknod a ďalších utilitách boli nahradené nebezpečné výzvy libc chránenými obalmi z crate balíka nix.
- Zabezpečená správna funkcia možnosti „—preserve-root“ v utilite „rm“ pri zadávaní symbolických odkazov.
- Zlepšená podpora platforiem NetBSD, Windows a NixOS. Zlepšené zostavovanie pre architektúru PowerPC.
- Možnosti boli rozšírené, problémy vyriešené a chýbajúce možnosti pridali do nástrojov cat, cksum, chroot, comm, cp, csplit, cut, date, dd, df, dircolors, du, echo, env, expand, expr, factor, false, fmt, fold, hostname, id, install, kill, ln, ls, mktemp, mknod, mv, nl, nproc, numfmt, od, paste, pr, printfm, ptx, readlink, rm, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, test, tr, true, tsort, unexpand, uniq, uptime, vdir, wc, whoami.
Zdroj: opennet.ru
