Se ha publicado la versión 0.7.0 del proyecto uutils coreutils (Rust Coreutils). Desarrolla un análogo del paquete GNU Coreutils escrito en el lenguaje Rust. Coreutils incluye más de cien utilidades, entre ellas sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln y ls. El objetivo del proyecto es crear una implementación alternativa multiplataforma de Coreutils, entre otras, compatible con plataformas Windows, Redox y Fuchsia.
Rust Coreutils se incluye por defecto en Ubuntu 25.10 y se utiliza en las distribuciones AerynOS (Serpent OS) y Apertis (desarrollado por Collabora). A diferencia de GNU Coreutils, la implementación de Rust se distribuye bajo la licencia MIT, en lugar de la GPL con copyleft. El mismo equipo de desarrolladores también está desarrollando versiones basadas en Rust de las suites de utilidades util-linux, diffutils, findutils, procps y acl, así como de los programas sed e login.
En la nueva versión de Rust Coreutils:
- La tasa de compatibilidad con el conjunto de pruebas GNU Coreutils fue del 94.59 % (frente al 96.28 %). Se aprobaron 629 pruebas, 7 más que en la versión anterior (622). Se fallaron 23 pruebas (frente a 16) y se omitieron 13 pruebas (frente a 7). Esta disminución de la compatibilidad se debe a la actualización del conjunto de pruebas a GNU Coreutils 9.10, que añadió 19 pruebas nuevas. En cuanto al total de pruebas, Rust Coreutils supera 7 pruebas más que en la versión anterior.
- Las mejoras de compatibilidad más significativas se observaron en las utilidades date, fmt, kill, ptx, numfmt y cksum. Se observaron mejoras de compatibilidad menos significativas en las utilidades cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor y wc.
- Se ha proporcionado soporte para la biblioteca num-prime de Rust, que se utiliza para realizar pruebas en la utilidad factor.
- Se habilitan implementaciones más rápidas de rustc-hash en ls, du, tsort, shuf, mv y foldhash en sort.
- Se optimizó el manejo de caracteres ASCII en las utilidades de expansión y desexpandición, lo que da como resultado una aceleración del 14 % cuando se utiliza lectura en búfer.
- Las operaciones de asignación de memoria en las utilidades shuf, split, sort y du se han optimizado, acelerando du entre un 3 y un 6 % y shuf un 4 %.
- Se ha acelerado la conversión de números a cadenas en la utilidad nl.
- Se ha reducido el tamaño de los archivos ejecutables y se ha acelerado el lanzamiento de las utilidades verdaderas y falsas.
- Se han corregido los fallos que provocaban más de 20 utilidades, entre ellas echo, date, sort, expr, hostname, id, comm, pr y dircolors, cuando no se podía escribir en stderr (redireccionado a /dev/full).
- En umask, mkdirat, mknod y otras utilidades, las llamadas libc inseguras han sido reemplazadas con enlaces seguros del paquete nix.
- La opción "--preserve-root" en la utilidad "rm" ahora funciona correctamente al especificar enlaces simbólicos.
- Compatibilidad mejorada con plataformas NetBSD, Windows y NixOS. Compilación mejorada para la arquitectura PowerPC.
- Se ampliaron las capacidades, se solucionaron los problemas y se agregaron las opciones faltantes para las siguientes utilidades: cat, cksum, chroot, comm, cp, csplit, cut, date, dd, df, dircolors, du, echo, env, expand, expr, factor, false, fmt, fold, hostname, id, install, kill, ln, ls, mktemp, mknod, mv, nl, nproc, numfmt, od, paste, pr, printfm, ptx, readlink, rm, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, test, tr, true, tsort, unexpand, uniq, uptime, vdir, wc, whoami.
Fuente: opennet.ru
