Como devo inspecionar um PKGBUILD?

2

Com o AUR, espera-se que você verifique manualmente o arquivo PKGBUILD e instale os scripts.

Como e como você deve fazer isso? Quais são algumas bandeiras vermelhas para procurar, quais são as coisas comuns feitas por pacotes legítimos que estão "ok"?

Muitas vezes os pacotes que eu vejo baixam alguns scripts ou arquivos, e então executam coisas dentro deles. O próprio PKGBUILD não parece estar fazendo nada de mal, mas está enrolando um arquivo com centenas de arquivos e então os executando. A maioria das ferramentas da AUR nem sequer tem uma maneira de ver nada além do PKGBUILD e do script de instalação, e espera que você tome uma decisão baseada apenas naquelas. Eu deveria procurar os arquivos baixados, gastar horas (ou dias) lendo todo o código (o que provavelmente excede meu próprio conhecimento de programação) e depois voltar e "decidir" instalar o pacote AUR?

    
por Bagalaw 22.06.2018 / 21:04

1 resposta

4

PKGBUILDs são apenas scripts bash. Eles são projetados para serem legíveis.

O Wiki do Arch tem um guia para as diferentes funções e o que você deve esperar em cada um deles.

Variações estranhas aqui, particularmente nas funções prepare ou install , devem ser escrutinadas cuidadosamente. A remoção de arquivos ou instalações que tocam $HOME ou $PATH devem ser tratados com suspeita e totalmente investigados.

Estes incluem validpgpkeys e checksums de integridade, que garantem que a origem que você baixa é válida. O Makepkg irá avisá-lo se algum destes falhar, isso seria uma grande bandeira vermelha para não prosseguir.

Você também pode ler os padrões do Arch Packaging para entender como os PKGBUILDs devem ser criados.

Quanto à fonte upstream atual, supondo que seja válida, essa é uma chamada que só você pode fazer. Há softwares mal-intencionados em estado selvagem, mas os usuários confiáveis fazem um excelente trabalho ao mantê-los do AUR. Se você estiver usando PKGBUILDs de outras fontes, estará sozinho.

Há também PKGBUILDs quebrados por meio do empacotador erro que pode ter consequências catastróficas. Portanto, faz sentido lê-los, sempre que possível, antes de executá-los.

    
por 22.06.2018 / 21:52

Tags