O Shelly-ALPM, gerenciador de pacotes moderno desenvolvido como uma interface gráfica e de linha de comando para Arch Linux, chegou à versão 3.1.3. A atualização, detalhada no repositório oficial da Seafoam Labs, introduz um novo utilitário próprio para provisionamento de ambientes de compilação, além de trazer ferramentas há muito esperadas para o controle de armazenamento de pacotes do AUR.
Diferente de soluções gráficas que atuam apenas como interfaces para comandos do terminal, o Shelly interage diretamente com o libalpm, biblioteca central do pacman. Esta nova atualização refina a estabilidade da ferramenta, corrigindo comportamentos no processamento de receitas de instalação (PKGBUILD) e expandindo a autonomia do software com a introdução do Shellystrap.
O que isso muda na prática
Para os usuários de Arch Linux e distribuições derivadas (como o CachyOS, que já adota o projeto), o Shelly-ALPM tem o objetivo de unificar a instalação de pacotes de repositórios oficiais, do AUR, além de Flatpaks e AppImages. Com a versão 3.1.3, gerenciar essas múltiplas fontes fica mais organizado.
Aqueles que instalam frequentemente programas pelo Arch User Repository (AUR) agora contam com opções para apagar rapidamente arquivos desnecessários de compilação. Simultaneamente, usuários que dependem de AppImages ganham controle total sobre variáveis de sistema para aplicações individuais, algo que evita incompatibilidades na área de trabalho.
Limpeza inteligente de cache do AUR

Ao compilar pacotes do AUR, os arquivos compactados gerados podem se acumular e consumir espaço considerável. O Shelly 3.1.3 resolve isso adicionando o parâmetro --aur-cache ao comando de limpeza.
Ao executar shelly purify standard --aur-cache, o gerenciador remove os arquivos instaladores gerados pelo AUR e suas respectivas assinaturas. O sistema de limpeza é projetado para preservar os arquivos cruciais, como os diretórios de construção originais, códigos-fonte e históricos, afetando apenas o que é considerado supérfluo. O comando pode ser testado com a bandeira --dry-run para visualizar previamente o que será apagado.
Para administradores que preferem não lidar com caixas de diálogo durante as atualizações gerais do sistema, a equipe de desenvolvimento introduziu o comando shelly config set DisableCacheClean true. A alteração instrui o utilitário (durante um shelly upgrade all, por exemplo) a pular a fase de exclusão de cache, devolvendo o controle da manutenção ao usuário.
Shellystrap: a evolução dos builds isolados
A principal alteração arquitetural desta atualização ocorre nos bastidores. Os processos isolados de compilação do Shelly passam a utilizar o Shellystrap, um recurso auxiliar desenvolvido sobre o libalpm.
A ferramenta substitui a dependência anterior do utilitário pacstrap. Segundo a documentação oficial, a troca garante que as instâncias do sistema de arquivos permaneçam contidas dentro dos namespaces privados do próprio Shelly. Outra vantagem é permitir que chaves criptográficas transitem de forma segura do chaveiro do usuário principal diretamente para o ambiente enclausurado.
Com a atualização, os mantenedores do projeto alertam que desenvolvedores fazendo uso das compilações isoladas devem se certificar de ter a ferramenta unshare (do pacote util-linux) instalada, juntamente com o systemd-nspawn.
Suporte refinado para arquivos PKGBUILD
A versão 3.1.3 também resolve problemas incômodos na interpretação dos arquivos PKGBUILD. Entre as correções documentadas no código, destacam-se:
- Aplicação uniforme da variável SOURCE_DATE_EPOCH durante todo o processo (útil para quem busca builds reproduzíveis).
- Um novo sistema independente de descompressão antes da fase
prepare(), que suporta nativamente pacotes em gzip, bzip2, xz e zstd, respeitando parâmetros que exigem a não extração do código. - Resolução de falhas críticas que interrompiam a compilação por conta de campos de atribuição declarados vazios (como
install=''). - Caso um binário não possa ser enxugado pela ferramenta nativa da arquitetura hospedeira durante a fase de limpeza (strip), o sistema agora emite um alerta formal em vez de abortar abruptamente a geração do pacote.
Variáveis nativas para AppImages e integração com Flathub
Em relação aos pacotes em formato universal, cada AppImage gerido pelo aplicativo agora suporta variáveis de ambiente exclusivas e persistentes. Isso significa que é possível adicionar um parâmetro de hardware a um software (forçando aceleração gráfica, por exemplo) sem alterar o sistema inteiro.
A alteração pode ser configurada na interface ou via linha de comando usando a estrutura:
shelly config appimage "NomeDoApp" --set-env "CHAVE=valor"
No que diz respeito ao suporte Flatpak, o trabalho mais recente corrige a manipulação de URIs, garantindo que links oriundos do portal Flathub iniciem a busca e instalação do respectivo software adequadamente, mesmo se a interface do programa estiver ociosa e aguardando na bandeja do sistema.
Downloads dinâmicos e avisos transparentes
Por fim, falhas relativas à simultaneidade de tráfego foram sanadas. O carregamento de repositórios e programas agora obedece rigorosamente ao parâmetro ParallelDownloadCount do Arch Linux. O sistema aceita a delimitação entre 1 e 255 conexões (com um recuo de segurança para o padrão de 100 conexões caso detecte um valor defeituoso configurado pelo usuário).
As mensagens de erro também se tornaram mais claras. Telas relatando quebras e conflitos de dependências informarão de maneira descritiva qual aplicativo exato necessitará ser desinstalado e quem o substituirá caso a instalação seja autorizada pelo usuário.
