Jump to content
From ArchWiki
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

Categories:

- Package management (Português)
- Package development (Português)

Hidden categories:

- Pages with dead links
- Pages or sections flagged with Template:Out of date