Aggiornamento del pacchetto GNU Coreutils, riscritto in linguaggio Rust

È stato rilasciato uutils coreutils 0.0.12, un progetto che sviluppa un'alternativa al pacchetto GNU Coreutils sviluppato in Rust. Coreutils include oltre un centinaio di utility, tra cui sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. È stato anche rilasciato il pacchetto uutils findutils 0.3.0, che implementa in Rust strumenti dal set GNU Findutils (find, locate, updatedb e xargs).

La motivazione per la creazione del progetto e l'uso del linguaggio Rust è il desiderio di sviluppare una realizzazione alternativa cross-platform di Coreutils e Findutils, in grado di funzionare anche su piattaforme come Windows, Redox e Fuchsia. Un'altra importante differenza di uutils è che è distribuito con una licenza permissiva MIT, invece della licenza copyleft GPL.

Attualmente, l'implementazione di 88 utility è stata completamente portata al pari delle GNU Coreutils. Sono state individuate alcune mancanze in 18 utility, tra cui cp, dd, date, df, install, ls, more, sort, split, tail e test. L'unica utility non implementata rimane stty. Durante l'esecuzione del set di test del progetto GNU Coreutils, 214 test hanno avuto successo, ma 313 test del corrispondente su Rust al momento non passano. Nel frattempo, l'intensità di sviluppo del progetto è aumentata notevolmente, con 400-470 patch aggiunte al mese da 20-50 sviluppatori, rispetto a 30-60 patch da 3-8 sviluppatori di un anno fa.

Aggiornamento del pacchetto GNU Coreutils, riscritto in linguaggio Rust

Tra i recenti successi si segnala l'ottimizzazione delle prestazioni: attualmente molte utility, come head e cut, superano significativamente le versioni delle GNU Coreutils. La copertura del set di test è stata ampliata dal 55% al 75% dell'intero codice (l'obiettivo minimo è l'80%). È stata effettuata una rifattorizzazione del codice per semplificarne la manutenzione, ad esempio, è stata unificata la gestione degli errori in vari programmi, e nel codice di chgrp e chown è stata unita la logica per la gestione dei permessi. Sono state apportate numerose modifiche per migliorare la compatibilità con le GNU Coreutils.

Tra i piani futuri si segnala l'implementazione dello strumento stty, il proseguimento del lavoro per migliorare la compatibilità con GNU Coreutils, l'aggiunta di ottimizzazioni per ridurre le dimensioni dei file eseguibili, nonché la continuazione degli esperimenti sull'uso delle utilità uutils in Debian e Ubuntu al posto di GNU Coreutils e GNU Findutils (uno dei principali sviluppatori di uutils aveva precedentemente lavorato a un progetto per garantire la compilazione di Debian GNU/Linux utilizzando il compilatore Clang). Inoltre, si segnala la preparazione del pacchetto uutils-coreutils per macOS, esperimenti con la sostituzione di GNU Coreutils con uutils coreutils in NixOS, l'intenzione di utilizzare uutils coreutils come predefinito nella distribuzione Apertis e l'adattamento del set di uutils per Redox OS.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster