Objavljivanje uutils 0.3, varijante GNU Coreutils na jeziku Rust

Objavljen je izdanak projekta uutils coreutils 0.3.0 (Rust Coreutils), koji razvija ekvivalent GNU Coreutils paketa, napisan u jeziku Rust. Coreutils uključuje više od stotinu alata, uključujući sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln i ls. Cilj projekta je stvaranje alternativne višepalne implementacije Coreutils, koja, između ostalog, može raditi na platformama Windows, Redox i Fuchsia.

Rust Coreutils je zadan po zadanom u izdanju Ubuntu 25.10 i koristi se u distribucijama AerynOS (Serpent OS) i Apertis (razvija ga tvrtka Collabora). Za razliku od GNU Coreutils, implementacija na Rustu distribuira se pod permisivnom licenci MIT, umjesto copyleft licence GPL. Nadalje, isti tim programera razvija analogne alate napisanih na Rustu za pakete util-linux, diffutils, findutils i procps, kao i programe sed i login.

U novoj verziji Rust Coreutils:

  • Značajno je poboljšana izvedba nekih alata, na primjer, u usporedbi s GNU Coreutils alat sort sada je brži 3.72 puta prilikom uobičajenog sortiranja i 1.46 puta prilikom sortiranja brojeva, base64 je brži 1.2 puta, expand 1.8 puta, unexpand — 1.5 puta, nl — 1.57 puta, fold — 1.19 puta, 'uniq -c' 1.13 puta.
  • Na temelju alata CodSpeed stvorena je infrastruktura za praćenje performansi. U kontinuiranoj integraciji osigurano je otkrivanje regresija u performansama. Dodani su testovi performansi za 15 alata, uključujući sort, ls, uniq, du i base64.
  • Za alate rm, du, chmod i chgrp implementirana je sigurna uporaba relativnih putanja direktorija, temeljena na korištenju funkcija openat i unlinkat.
  • Povećana je sigurnost korištenjem crate-paketa nix umjesto unsafe poziva libc.
  • Poboljšana je obrada pogrešaka i približena GNU Coreutils obradi pogrešaka u mnogim alatima.
  • Poboljšana je kompatibilnost s Coreutils pri radu s putanjama datoteka koje sadrže i ne sadrže UTF8 znakove.
  • Poboljšana je kompatibilnost s referentnim skupom testova GNU Coreutils, tijekom kojeg je uspješno provedeno 532 testa (u prošloj verziji 538), 68 (52) testa nije prošlo, a 33 (27) testa je propušteno. Izvještava se o razini kompatibilnosti od 83.91% (bilo je 87.06%). Smanjenje razine kompatibilnosti objašnjava se dodavanjem 16 novih testova u skup testova.
  • U alatu date implementirana je opcija '—reference=file' za prikaz vremena modifikacije datoteke. Zbog nedostatka ove opcije u Ubuntu prestao je raditi skript za automatsko provjeravanje ažuriranja. U alatu date također je konsolidirana logika parsiranja vremena, poboljšana je kompatibilnost s GNU date u implementaciji opcije '-d' i dodana je opcija '—resolution' za prikaz podataka o točnosti praćenja vremena.
  • Implementirane su opcije: 'basenc —base58', 'id -a', 'ls -f', 'pinky —lookup', 'realpath -E', 'rm —progress'.
  • Proširene su mogućnosti, otklonjeni problemi i dodane nedostajuće opcije za alate base64, basenc, chgrp, chmod, cksum, cp, csplit, date, df, dirname, du, expand, expr, fold, hashsum, hostname, id, install, ln, ls, mv, nl, nohup, numfmt, od, pinky, ptx, realpath, rm, seq, sort, stat, stdbuf, stty, tail, timeout, touch, tsort, unexpand, uniq, uname, wc, who, uucore.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster