Опубликованы результаты эксперимента по замене пакета GNU Coreutils на uutils в системном окружении Gentoo, с целью проверить возможность собирать и устанавливать в таком окружении пакеты при помощи пакетного менеджера Portage, завязанного на возможности Coreutils. Проект uutils coreutils развивает кроссплатформенную альтернативу пакета GNU Coreutils, написанную на языке Rust, распространяемую под пермиссивной лицензией MIT (вместо копилефт-лицензии GPL) и способную работать не только в Linux.
В итоге удалось адаптировать uutils для работы Portage. Для желающих продолжить эксперименты подготовлен репозиторий, содержащий вариант Gentoo stage 3 с необходимыми для использования uutils изменениями, пригодную для запуска в chroot-окружении. Из внесённых изменений, отмечается:
- Отключение сборки утилит, поставляемых вне пакета coreutils (more, hostname, kill, uptime, groups) и конфликтующих с другими пакетами (util-linux, net-tools, procps, shadow).
- Избавление команд от префикса “uu-“.
- Создание обвязок для недостающих утилит (например,
md5sum и sha256sum реализованы через вызов “cksum -a md5/sha256 –untagged”). - Установка в виде отдельных исполняемых файлов вместо одного исполняемого файла и символических ссылок на него (утилита emerge вызывает исполняемый файл install-xattr, который раскрывает символический ссылки перед запуском, из-за чего общий исполняемый файл uutils не может определить какая команда запущена).