Reproducible builds (Português)

Status de tradução:
Esse artigo é uma tradução de
Reproducible builds
. Data da última tradução: 2022-09-05. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
O Arch Linux está atualmente trabalhando para tornar todos os pacotes reproduzíveis. Isso permite que usuários e pesquisadores verifiquem os pacotes distribuídos do Arch Linux. Para a definição exata de compilações reproduzíveis e seus benefícios, dê uma olhada no
site do projeto
.
Compilações de verificação
Repositório vs. recompilação
Uma instância experimental
rebuilderd
foi configurada em nossa própria infraestrutura com uma
página de status
. O Rebuilderd recompila nossos pacotes de repositório e verifica se eles são idênticos bit a bit. Se eles não forem reproduzíveis, há um bug no conjunto de ferramentas, o pacote não é reproduzível ou o pacote não foi construído corretamente.
Uma lista de problemas conhecidos está localizada em
/Status
.
Recompilação vs. outra recompilação com variações
O projeto
Reproducible Builds
recompila pacotes do Arch Linux e os compara com outra recompilação em um ambiente diferente. O status do pacote e variações do ambiente estão listadas na
página dedicada do Arch Linux
.
Ajudando
Ferramental
Ajude a corrigir bugs e adicionar recursos ao
repro
.
Executando uma instância de Rebuilder
A
Configuração do rebuilderd
para compilar pacotes do Arch Linux ajuda a verificar de forma independente os pacotes dos repositórios.
Verificando pacotes com repro e encontrando problemas
Uma ótima maneira de ajudar é encontrar um pacote não reproduzível e descobrir como ele pode ser reproduzido.
Baixe um pacote Arch Linux ou obtenha um do
Arch Linux Archive
Execute repro no pacote baixado ou em um pacote do cache do pacman. Idealmente com
repro -d
para obter a saída do difoscope. Por exemplo,
repro -d /var/cache/pacman/pkg/curl-7.73.0-1-x86_64.pkg.tar.zst
Investigue se é um problema com o empacotamento do Arch Linux ou do upstream, problemas podem ser adicionados na
página de status
. Mais informações podem ser encontradas no
site Reproducible Builds
[
link inativo
2022-09-23 ⓘ]
.
Trabalhar em problemas na infraestrutura de tests.reproducible-builds.org
Os usuários do Arch podem ajudar a contribuir para os problemas do Reproducible Build consultando o
ambiente de reprodução contínua
. Existem vários problemas que podem ser resolvidos:
FTBS (falha ao compilar a partir da fonte): reproduza a falha de compilação localmente e crie um relatório de bug se o pacote não puder ser
compilado a partir de um
chroot
limpo
(
extra-x86_64-build
ou
multilib-build
).
Falha ao baixar fontes, reproduzir o problema (
makepkg -o -d
) e criar um relatório de bug no rastreador de erros do Arch.
Falha ao reproduzir. Localmente você pode reproduzir pacotes usando
reprotest
. Observe que nem todas as variações podem ser usadas. Para testes simples relacionados ao tempo:
$ reprotest --variations '+time' 'sudo extra-x86_64-build' '*.pkg.tar.zst'
Pode haver várias razões para um pacote não ser reproduzível, mas antes de investigar dê uma olhada no repositório upstream ou o status reprodutível no
Debian
.
This article or section is out of date.
Reason:
glibc
2.35-6 inclui C.UTF-8. (Discuss in
Talk:Reproducible builds (Português)
)
Falha ao executar testes, essas falhas estão fortemente no ambiente de teste. Provavelmente devido a
LANG=C
estar definido e o Arch não oferecer suporte a
LANG=C.UTF-8
.
Se você estiver interessado no código que executa o ambiente de reprodução contínua, o primeiro código de compilação começa aqui em
salsa
Nota
O ambiente de reprodução contínua em tests.reproducible-builds.org NÃO reproduz pacotes oficiais do arch. Sua finalidade é apenas mexer com os pacotes e tentar encontrar o maior número possível de bugs, para que possam ser relatados no upstream.
Problemas conhecidos
Verificação de GPG
Existe um possível cenário de reconstrução em que as chaves GPG não serão verificadas, pois o empacotador foi removido do chaveiro ou revogado, pois usamos o chaveiro mais recente e um pacote no arquivo que precisamos ser assinado por uma chave revogada que não podemos verificar e a compilação falhará.
Contato
#archlinux-reproducible
— Canal principal para o progresso de compilações reproduzíveis no Arch Linux