Foram publicados os resultados do experimento de substituição do pacote GNU Coreutils pelo uutils no ambiente do Gentoo, com o objetivo de verificar a possibilidade de compilar e instalar pacotes nesse ambiente usando o gerenciador de pacotes Portage, que depende das funcionalidades do Coreutils. O projeto uutils coreutils desenvolve uma alternativa multiplataforma ao pacote GNU Coreutils, escrita em Rust, distribuída sob uma licença permissiva MIT (em vez da licença copyleft GPL) e capaz de operar não apenas no Linux.
Como resultado, foi possível adaptar o uutils para funcionar com o Portage. Para aqueles que desejam continuar os experimentos, um repositório foi preparado contendo uma versão do Gentoo stage 3 com as modificações necessárias para o uso do uutils, adequada para ser executada em um ambiente chroot. Dentre as alterações feitas, destacam-se:
- Desativação da compilação de utilitários fornecidos fora do pacote coreutils (more, hostname, kill, uptime, groups) que entram em conflito com outros pacotes (util-linux, net-tools, procps, shadow).
- Remoção do prefixo 'uu-' dos comandos.
- Criação de wrappers para utilitários ausentes (por exemplo,
md5sum e sha256sum são implementados através da chamada 'cksum -a md5/sha256 --untagged'). - Instalação como arquivos executáveis separados em vez de um único arquivo executável e links simbólicos para ele (o utilitário emerge chama o arquivo executável install-xattr, que expande os links simbólicos antes da execução, fazendo com que o arquivo executável geral do uutils não consiga identificar qual comando foi iniciado).
Fonte: opennet.ru
