Publication de Rust Coreutils 0.6.0, qui a amélioré la compatibilité avec GNU Coreutils de 87 % à 96 %

La publication de la version 0.6.0 du projet uutils coreutils (Rust Coreutils) a eu lieu, développant un équivalent du paquet GNU Coreutils, écrit en Rust. Le package coreutils comprend plus d'une centaine d'outils, y compris sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln et ls. L'objectif du projet est de créer une implémentation alternative multiplateforme de Coreutils, capable de fonctionner sur les plateformes Windows, Redox et Fuchsia.

Rust Coreutils est utilisé par défaut dans la version Ubuntu 25.10 et est appliqué dans les distributions AerynOS (Serpent OS) et Apertis (développé par Collabora). Contrairement à GNU Coreutils, la mise en œuvre de Rust est diffusée sous la licence permissive MIT, au lieu de la licence copyleft GPL. De plus, la même équipe de développeurs développe des analogues écrits en Rust des ensembles d'utilitaires util-linux, diffutils, findutils, procps et acl, ainsi que des programmes sed et login.

Dans la nouvelle version de Rust Coreutils :

  • Le niveau de compatibilité avec le jeu de tests de référence GNU Coreutils a atteint 96,28 % (contre 87,75 % auparavant). 622 tests ont été passés avec succès, soit 56 de plus que la version précédente (566). 16 (contre 55) tests ont échoué, tandis que 7 (contre 23) tests ont été ignorés. L'augmentation de la compatibilité la plus significative a été notée pour les outils sort, ls, date, cksum et tail.
  • Le code utilisant le mot-clé « unsafe » a été supprimé de date, sort, locale.rs et d'autres outils.
  • Les appels à la bibliothèque standard libc ont été remplacés par des appels protégés équivalents fournis par le package nix.
  • Amélioration de la gestion des erreurs, les plantages lors de l'écriture dans /dev/full ont été éliminés.
  • Dans l'outil date, la localisation des noms des mois et des jours a été implémentée, prenant en compte l'ICU. Un formatage des heures et du calendrier tenant compte des paramètres régionaux a été assuré.
  • Dans l'outil sort, le tri des nombres avec séparateurs de milliers a été réalisé et la gestion des paramètres +POS/-POS a été ajouté.
  • L'outil join a ajouté le support des propriétés de locale « collation », permettant des comparaisons tenant compte du sens des caractères (par exemple, lors de la comparaison, les accents peuvent ne pas être pris en compte).
  • Une optimisation de la performance des outils base32, base64, basenc et df a été effectuée.
  • Dans l'outil uniq, la consommation de mémoire a été réduite lors du fonctionnement sans tenir compte de la casse.
  • Dans l'outil shuf, la sortie numérique a été optimisée et une option « —random-seed » a été ajoutée.
  • Dans tsort, le chargement de toutes les données d'entrée en mémoire a été exclu.
  • Dans l'outil tail, un drapeau « —debug » a été ajouté.
  • Dans l'outil chmod, les problèmes de récursivité dans l'exécution des opérations ont été résolus et une option « —preserve-root » a été ajoutée.
  • Sur les systèmes de type Unix, la sécurité lors de la navigation dans les contenus des répertoires a été renforcée.
  • Dans les outils ls, id, mkdir, mkfifo et mknod, le support du mécanisme de contrôle d'accès mandataire SMACK a été ajouté.
  • Une vérification de la compilation sur les systèmes RISC-V 64 bits avec la bibliothèque musl a été ajoutée au système d'intégration continue.
  • Amélioration de la compatibilité sous Windows avec l'utilisation de Cygwin.
  • Les fonctionnalités ont été étendues, les problèmes résolus et les options manquantes ajoutées pour les utilitaires 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, yes, ucore, uucore, uudoc.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster