A fost publicată versiunea proiectului uutils coreutils 0.7.0 (Rust Coreutils). Acesta dezvoltă un analog al pachetului GNU Coreutils scris în limbajul Rust. coreutils include peste o sută de utilitare, inclusiv sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln și ls. Scopul proiectului este de a crea o implementare alternativă multi-platformă a Coreutils, printre altele, capabilă să ruleze pe platformele Windows, Redox și Fuchsia.
Rust Coreutils este inclus în mod implicit în Ubuntu 25.10 și este utilizat în distribuțiile AerynOS (Serpent OS) și Apertis (dezvoltat de Collabora). Spre deosebire de GNU Coreutils, implementarea Rust este distribuită sub licența permisivă MIT, și nu sub licența copyleft GPL. Aceeași echipă de dezvoltatori dezvoltă, de asemenea, echivalente bazate pe Rust ale suitelor de utilitare util-linux, diffutils, findutils, procps și acl, precum și programele sed și login.
În noua versiune de Rust Coreutils:
- Rata de compatibilitate cu suita de teste de referință GNU Coreutils a fost de 94.59% (în scădere de la 96.28%). Au fost promovate 629 de teste, cu 7 mai multe decât în versiunea anterioară (622). 23 de teste au eșuat (în scădere de la 16), iar 13 teste au fost omise (în scădere de la 7). Scăderea compatibilității se datorează actualizării suitei de teste de referință la versiunea GNU Coreutils 9.10, care a adăugat 19 teste noi. În ceea ce privește numărul total de teste, Rust Coreutils a promovat cu 7 teste mai mult decât în versiunea anterioară.
- Cele mai semnificative îmbunătățiri de compatibilitate au fost observate pentru utilitarele date, fmt, kill, ptx, numfmt și cksum. Îmbunătățiri de compatibilitate mai puțin semnificative au fost observate pentru utilitarele cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor și wc.
- A fost oferit suport pentru biblioteca Rust num-prime, care este utilizată pentru testare în utilitarul factor.
- Sunt activate implementări mai rapide ale rustc-hash în ls, du, tsort, shuf, mv și foldhash în sort.
- Gestionarea optimizată a caracterelor ASCII în utilitarele de extindere și dezactivare a extinderii, rezultând o accelerare cu 14% la utilizarea citirii în buffer.
- Operațiunile de alocare a memoriei din utilitarele shuf, split, sort și du au fost optimizate, accelerând du cu 3–6% și shuf cu 4%.
- Conversia numerelor în șiruri de caractere în utilitarul nl a fost accelerată.
- Dimensiunea fișierelor executabile a fost redusă, iar lansarea utilitarelor „true” și „false” a fost accelerată.
- Peste 20 de utilitare, inclusiv echo, date, sort, expr, hostname, id, comm, pr și dircolors, au fost remediate, ceea ce ducea la blocarea erorilor atunci când nu se putea scrie în stderr (redirecționate către /dev/full).
- În umask, mkdirat, mknod și alte utilitare, apelurile libc nesigure au fost înlocuite cu legături securizate din pachetul nix crate.
- Opțiunea „--preserve-root” din utilitarul „rm” funcționează acum corect la specificarea legăturilor simbolice.
- Suport îmbunătățit pentru platformele NetBSD, Windows și NixOS. Compilare îmbunătățită pentru arhitectura PowerPC.
- Capacități extinse, probleme rezolvate și opțiuni lipsă adăugate pentru următoarele utilitare: 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.
Sursa: opennet.ru
