Aktualizace varianty GNU Coreutils, přepsané v jazyce Rust

Byl uveden na trh nástroj uutils coreutils 0.0.12, v rámci kterého se vyvíjí analog balíčku GNU Coreutils přepsaný v jazyce Rust. Složení coreutils zahrnuje více než sto utilit, včetně sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln a ls. Současně byl vydán balíček uutils findutils 0.3.0 s implementací utilit z balíčku GNU Findutils (find, locate, updatedb a xargs) přepsaných v jazyce Rust.

Jako důvod vzniku projektu a použití jazyka Rust je uvedena touha vytvořit multiplatformní alternativní implementaci Coreutils a Findutils, která by mohla fungovat také na platformách Windows, Redox a Fuchsia. Dalším důležitým rozdílem uutils je šíření pod permisivní licencí MIT namísto copyleftové licence GPL.

V současnosti je plně vyvinuta implementace 88 utilit, která je paritní s GNU Coreutils. Určité nedostatky jsou zaznamenány u 18 utilit, včetně cp, dd, date, df, install, ls, more, sort, split, tail a test. Pouze utilita stty zůstává nerealizována. Při provádění testovacího souboru projektu GNU Coreutils bylo úspěšně provedeno 214 testů, ale 313 testů analog na Rust zatím neprochází. Přitom intenzita vývoje projektu se výrazně zvýšila — měsíčně se přidává 400-470 patchů od 20-50 vývojářů, místo 30-60 od 3-8 vývojářů před rokem.

Aktualizace varianty GNU Coreutils, přepsané v jazyce Rust

Z nedávných úspěchů se uvádí optimalizace výkonu — v současném stavu mnohé utility, jako head a cut, překonávají varianty z GNU Coreutils z hlediska výkonu. Pokrytí testovacím souborem bylo rozšířeno z 55 % na 75 % celého kódu (dostačujícím cílem je 80 %). Proběhl refactoring kódu pro zjednodušení údržby, například byla unifikována správa chyb v různých programech a v chgrp a chown byl sloučen kód pro práci s oprávněními. Bylo přidáno řada změn pro zlepšení kompatibility s GNU Coreutils.

Mezi plány do budoucna je realizace nástroje stty, pokračování práce na zlepšení kompatibility s GNU Coreutils, přidání optimalizací pro snížení velikosti spustitelných souborů a pokračování experimentů s použitím nástrojů uutils místo GNU Coreutils a GNU Findutils v Debianu a Ubuntu (jeden z hlavních vývojářů uutils se dříve podílel na projektu pro zajištění sestavení Debian GNU/Linux pomocí kompilátoru Clang). Dále se uvádí příprava balíčku uutils-coreutils pro macOS, experimenty s výměnou GNU Coreutils za uutils coreutils v NixOS, záměr používat uutils coreutils jako výchozí v distribuci Apertis a adaptace sady uutils pro Redox OS.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster