Projekt uutils coreutils 0.6.0 (Rust Coreutils), vývoj balíčku GNU Coreutils napsaného v Rustu, byl vydán. coreutils obsahuje přes 100 utilit, včetně sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln a ls. Cílem projektu je vytvořit multiplatformní alternativu ke Coreutils, schopnou běžet na platformách včetně... Windows, Redox a fuchsie.
Rust Coreutils je ve verzi standardně povolen Ubuntu 25.10 a používá se v distribucích AerynOS (Serpent OS) a Apertis (vyvinutý společností Collabora). Na rozdíl od GNU Coreutils je implementace Rust distribuována pod permisivní licencí MIT, nikoli pod copyleftovou licencí GPL. Stejný tým vývojářů také vyvíjí ekvivalenty sad utility utility-linux, diffutils, findutils, procps a acl založené na Rustu, stejně jako programy sed a login.
V nové verzi Rust Coreutils:
- Kompatibilita s benchmarkovým balíčkem GNU Coreutils dosáhla 96.28 % (oproti 87.75 %). Úspěšně bylo dokončeno 622 testů, což je o 56 více než v předchozí verzi (566). Šestnáct testů selhalo (oproti 55) a sedm bylo přeskočeno (oproti 23). Nejvýznamnější vylepšení kompatibility byla zaznamenána u utilit sort, ls, date, cksum a tail.
- Kód, který používal klíčové slovo „unsafe“, byl odstraněn z nástrojů date, sort, locale.rs a dalších.
- Volání standardní knihovny libc byla nahrazena ekvivalentními chráněnými voláními poskytovanými balíčkem nix.
- Vylepšené zpracování chyb, eliminace pádů při zápisu do /dev/full.
- Nástroj pro práci s datem nyní podporuje lokalizaci názvů měsíců a dnů s ohledem na ICU. Nyní je podporováno formátování hodin a kalendáře s ohledem na místní nastavení.
- Utilita sort umožňuje třídění čísel s oddělovači tisíců a implementuje zpracování parametrů +POS/-POS.
- Nástroj join nyní podporuje vlastnost locale „collation“, která umožňuje provádět porovnání s ohledem na význam znaků (například při porovnávání se nemusí brát v úvahu diakritika).
- Výkon utilit base32, base64, basenc a df byl optimalizován.
- Nástroj uniq má sníženou spotřebu paměti při spuštění v režimu bez rozlišení velkých a malých písmen.
- Utilita shuf optimalizovala číselný výstup a přidala volbu „--random-seed“.
- tsort se vyhýbá načítání všech vstupních dat do paměti.
- Do utility tail byl přidán příznak „--debug“.
- Nástroj chmod vyřešil problémy s rekurzivními operacemi a přidal volbu „--preserve-root“.
- Na unixových systémech bylo vylepšeno zabezpečení pro procházení adresářů.
- Do utilit ls, id, mkdir, mkfifo a mknod byla přidána podpora pro mechanismus povinného řízení přístupu SMACK.
- Systém průběžné integrace byl aktualizován a nyní zahrnuje kontrolu sestavení na 64bitových systémech RISC-V s knihovnou musl.
- Zlepšený výkon v Windows pomocí Cygwinu.
- Rozšířené funkce, opravené problémy a přidány chybějící možnosti pro následující utility: arch, base64, basename, cat, chgrp, chmod, chroot, cksum, comm, cp, csplit, date, dd, df, dir, dirname, du, echo, env, expand, expr, fmt, fold, groups, hashsum, head, hostid, id, install, join, kill, ln, logname, ls, mkdir, mkfifo, mknod, mktemp, more, mv, nice, nl, nohup, nproc, numfmt, pr, printenv, printf, ptx, readlink, rm, rmdir, runcon, seq, shred, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, tee, test, timeout, touch, truncate, tsort, uname, unexpand, uniq, uptime, users, wc ano, ucore, uucore, uudoc.
Zdroj: opennet.ru
