30.09.2023

Новые выпуски вариантов coreutils и findutils, переписанных на языке Rust

Доступен выпуск инструментария uutils coreutils 0.0.18, в рамках которого развивается аналог пакета GNU Coreutils, переписанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, способной работать в том числе на платформах Windows, Redox и Fuchsia, а также распространение под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL.

Основные изменения:

  • Улучшена совместимость с эталонным тестовым набором GNU Coreutils, при прохождении которого успешно выполнено 340 тестов, 210 тестов завершились неудачей, а 50 тестов были пропущены. В качестве эталонного задействован выпуск GNU Coreutils 9.2.
  • Расширены возможности, улучшена совместимость и добавлены недостающие опции для утилит cksum, chmod, chroot, comm, cp, cut, date, dd, du, expand, env, factor, hashsum, install, ln, ls, mktemp, mv, nice, nproc, od, ptx, pwd, rm, shred, sleep, stdbuf, stty, tail, touch, timeout, tr, uname, uniq, utmpx, uptime, wc,
  • В утилитах ln, cp и mv улучшена работа интерактивного режима (-i).
  • Улучшена обработка сигналов в утилитах yes, tee и timeout.
  • Для определения терминала осуществлён переход на пакет is_terminal вместо atty.

Одновременно выпущен пакет uutils findutils 0.4.0 с реализацией на языке Rust утилит из набора GNU Findutils (find, locate, updatedb и xargs). В новой версии:

  • Добавлена поддержка GNU-совместимой функции printf.
  • Реализована утилита xargs.
  • Добавлена поддержка регулярных выражений, POSIX-масок и подстановок «{}».
  • Добавлена поддержка опций «-print0», «-lname», «-ilname», «-empty», «-xdev», «-and», «-P», «—«, «-quit», «-mount», «-inum» и «-links».

Источник: https://www.opennet.ru/opennews/art.shtml?num=58910 Источник.