A ferramenta de gerenciamento de pacotes yay (Yet Another Yaourt) recebeu a versão 13, lançada em junho de 2026. Esta atualização traz duas mudanças de grande impacto para os usuários de Arch Linux: a exibição da data da última modificação dos arquivos PKGBUILD nas telas de busca e atualização, e a introdução de hooks configuráveis em Lua. O objetivo é tornar o yay mais extensível, facilitando a automação de verificações e a personalização de fluxos de instalação.
Principais novidades
-
Visibilidade da data de modificação do PKGBUILD
O yay agora indica, ao listar resultados de busca (yay -Ss) e ao apresentar o menu de atualização, há quanto tempo o PKGBUILD foi alterado. Pacotes recentemente modificados são sinalizados, alertando o usuário para revisar o código antes de instalar. O recurso foi contribuído por @rebelonion. -
Suporte a configuração e hooks em Lua
- Arquivo de configuração opcional
init.luapode ser colocado em$XDG_CONFIG_HOME/yay/init.lua(geralmente~/.config/yay/init.lua). - As opções definidas em Lua sobrescrevem as de
config.json, e as flags de linha de comando continuam com precedência. - A API Lua permite registrar autocommands para eventos como
UpgradeSelect,AURPreInstalleAURPostDownload. - Exemplos de uso incluem:
- Ignorar atualizações de AUR cujo PKGBUILD foi modificado nos últimos três dias.
- Bloquear instalações que contenham URLs de origem proibidas.
- Registrar logs de instalação ou filtrar pacotes por mudanças de mantenedor.
- Arquivo de configuração opcional
-
Compatibilidade e migração
O suporte aconfig.jsonpermanece, garantindo que scripts e setups existentes continuem funcionando. Caso o arquivoinit.luanão exista, o yay simplesmente ignora a etapa de carregamento de Lua.
Como funcionam os hooks Lua
yay.create_autocmd("UpgradeSelect", {
desc = "skip recently modified AUR upgrades",
callback = function(event)
local exclude = {}
local recent_cutoff = os.time() - (3 * 24 * 60 * 60)
for _, pkg in ipairs(event.data.upgrades) do
if pkg.repository == "aur" and pkg.last_modified >= recent_cutoff then
table.insert(exclude, pkg.name)
end
end
return { exclude = exclude, skip_menu = false }
end,
})
UpgradeSelect: disparado duranteyay -Syu, permite excluir pacotes antes do menu de seleção nativo.AURPreInstall: executado logo após o download do repositório do PKGBUILD, antes de quaisquer menus de edição.AURPostDownload: ocorre após a verificação de integridade (makepkg --verifysource), possibilitando decisões baseadas nos arquivos fonte baixados.
Múltiplos hooks podem ser registrados para o mesmo evento; as listas de exclusão são unidas, e caso algum hook retorne skip_menu = true, o menu padrão é suprimido.
Impacto para a comunidade Arch
A atualização responde a um aumento significativo de solicitações de recursos no repositório de issues do yay, especialmente relacionadas a:
- Detecção de pacotes potencialmente maliciosos.
- Rastreamento de alterações de mantenedor.
- Filtragem de pacotes recém‑submetidos ou frequentemente modificados.
Com os hooks em Lua, desenvolvedores e entusiastas podem criar regras personalizadas que automatizam a revisão de pacotes, reduzindo a necessidade de inspeção manual e aumentando a segurança do ecossistema AUR.
Como começar a usar
- Atualize o yay (
yay -Syu yay). - Crie o arquivo de configuração Lua, por exemplo:
mkdir -p ~/.config/yay && nano ~/.config/yay/init.lua - Consulte a documentação completa da API em https://jguer.github.io/yay/lua.html.
- Copie o template pronto em
doc/init.luano repositório do yay para adaptar às suas necessidades.
Referências e recursos
- Documentação oficial da API Lua: https://jguer.github.io/yay/lua.html
- Repositório do yay no GitHub: https://github.com/Jguer/yay
- Discussões e feedbacks podem ser enviados via GitHub Issues.
Com essas adições, o yay v13 oferece maior controle e transparência ao instalar pacotes do AUR, atendendo tanto a usuários avançados quanto a equipes de segurança que buscam automatizar auditorias de software livre.