A equipe responsável pela formação de lançamentos do Debian anunciou que a reconstrução reprodutível de pacotes será uma funcionalidade obrigatória. Ontem, foram feitas alterações no sistema de compilação que bloqueiam a transferência de novos pacotes para o repositório, que não suportam a reconstrução reprodutível. A atualização de pacotes existentes que apresentem regressões na reprodutibilidade da compilação também está proibida no repositório testing.
No Debian 13, que conta com 36.427 pacotes-fonte, o suporte a compilações repetíveis é de 96,9% para a arquitetura x86_64 e 96,8% para ARM64. Nos repositórios do Debian Testing, o nível de compilações repetíveis é avaliado em 94,5% para ARM64 e 75,7% para x86_64 ao recompilar 37.809 pacotes-fonte. O teste de compilações repetíveis no repositório Debian Testing falhou para 1.141 pacotes (3%) e 7.952 pacotes (21%) apresentaram problemas gerais ao compilar a partir do código-fonte.
As compilações repetíveis permitem que o usuário crie suas próprias compilações que correspondem bit a bit às compilações prontas disponíveis para download. O usuário pode verificar pessoalmente se os arquivos binários distribuídos nos pacotes e imagens de instalação foram compilados a partir dos fontes fornecidos e não contêm alterações ocultas. A verificação da identidade da compilação binária permite não depender apenas da confiança na infraestrutura de compilação da distribuição, já que a comprometimento do compilador ou das ferramentas de compilação pode levar à inserção de backdoors ocultos.
Ao formar compilações repetíveis, são considerados detalhes como a correspondência exata das dependências; o uso de um conjunto imutável e versões das ferramentas de compilação; um conjunto idêntico de opções e configurações padrão; a manutenção da ordem de compilação dos arquivos (uso dos mesmos métodos de ordenação); a desativação da adição de informações de serviço não persistentes pelo compilador, como valores aleatórios, referências a caminhos de arquivos e dados de data e hora da compilação. Erros e condições de corrida nas ferramentas também afetam a reprodutibilidade das compilações.
Fonte: opennet.ru
