Objavljen je projekat uutils coreutils 0.7.0 (Rust Coreutils), razvoj GNU Coreutils paketa, napisanog u Rustu. coreutils uključuje preko 100 uslužnih programa, uključujući sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln i ls. Cilj projekta je stvoriti višeplatformsku alternativu za Coreutils, sposobnu za rad na platformama uključujući Windows, Redoks i Fuksija.
Rust Coreutils je podrazumevano omogućen u ovom izdanju Ubuntu 25.10 и применяется в дистрибутивах AerynOS (Serpent OS) и Apertis (развивается компанией Collabora). В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL. Дополнительно той же командой разработчиков развиваются написанные на Rust аналоги наборов утилит util-linux, diffutils, findutils, procps и acl, а также программ sed и login.
U novoj verziji Rust Coreutils-a:
- Stopa kompatibilnosti sa GNU Coreutils benchmark paketom bila je 94.59% (smanjenje sa 96.28%). Prošlo je 629 testova, što je 7 više nego u prethodnoj verziji (622). 23 testa su bila neuspješna (smanjenje sa 16), a 13 testova je preskočeno (smanjenje sa 7). Smanjenje kompatibilnosti je posljedica ažuriranja benchmark paketa na verziju GNU Coreutils 9.10, koja je dodala 19 novih testova. Što se tiče ukupnog broja testova, Rust Coreutils prolazi 7 testova više nego u prethodnom izdanju.
- Najznačajnija poboljšanja kompatibilnosti zabilježena su za uslužne programe date, fmt, kill, ptx, numfmt i cksum. Manje značajna poboljšanja kompatibilnosti zabilježena su za uslužne programe cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor i wc.
- Pružena je podrška za Rust biblioteku num-prime, koja se koristi za testiranje u uslužnom programu factor.
- Brže implementacije rustc-hash-a u ls, du, tsort, shuf, mv i foldhash u sort-u su omogućene.
- Optimizovano rukovanje ASCII znakovima u uslužnim programima za unexpand i expand, što rezultira ubrzanjem od 14% pri korištenju čitanja iz međuspremnika.
- Operacije alokacije memorije u uslužnim programima shuf, split, sort i du su optimizirane, ubrzavajući du za 3–6%, a shuf za 4%.
- Konverzija brojeva u stringove u nl uslužnom programu je ubrzana.
- Veličina izvršnih datoteka je smanjena, a pokretanje uslužnih programa true i false je ubrzano.
- Više od 20 uslužnih programa, uključujući echo, date, sort, expr, hostname, id, comm, pr i dircolors, su ispravljeni zbog rušenja sistema kada nije moguće pisati u stderr (preusmjeravanje na /dev/full).
- U umask, mkdirat, mknod i drugim uslužnim programima, nesigurni libc pozivi su zamijenjeni sigurnim vezama iz nix crate paketa.
- Opcija "--preserve-root" u uslužnom programu "rm" sada ispravno radi prilikom specificiranja simboličkih linkova.
- Улучшена поддержка платформ NetBSD, Windows и NixOS. Улучшена сборка для архитектуры PowerPC.
- Proširene mogućnosti, riješeni problemi i dodane nedostajuće opcije za sljedeće uslužne programe: 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.
izvor: opennet.ru
