Pular para o conteúdo
yay v13 traz suporte a hooks Lua e exibe data de modificação do PKGBUILD

yay v13 traz suporte a hooks Lua e exibe data de modificação do PKGBUILD

Versão 13 do yay adiciona hooks extensíveis em Lua, mostra a última modificação do PKGBUILD e melhora a revisão de pacotes AUR.

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.lua pode 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, AURPreInstall e AURPostDownload.
    • 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.
  • Compatibilidade e migração
    O suporte a config.json permanece, garantindo que scripts e setups existentes continuem funcionando. Caso o arquivo init.lua nã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 durante yay -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

  1. Atualize o yay (yay -Syu yay).
  2. Crie o arquivo de configuração Lua, por exemplo:
    mkdir -p ~/.config/yay && nano ~/.config/yay/init.lua
  3. Consulte a documentação completa da API em https://jguer.github.io/yay/lua.html.
  4. Copie o template pronto em doc/init.lua no repositório do yay para adaptar às suas necessidades.

Referências e recursos

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.

Via jguer.space. Você pode conferir o post original em inglês:

yay v13

Por · Última atualização: