Het Debian-releaseteam heeft aangekondigd dat het reproduceerbaar herbouwen van pakketten nu een verplichte functie is. Gisteren zijn er wijzigingen aangebracht in het buildsysteem die voorkomen dat nieuwe pakketten die geen ondersteuning bieden voor reproduceerbaar herbouwen, naar de repository worden gepusht. De testrepository verbiedt ook het bijwerken van bestaande pakketten waarvan is vastgesteld dat ze problemen vertonen met de reproduceerbaarheid van het buildproces.
In Debian 13, dat 36427 bronpakketten bevat, bedraagt het percentage reproduceerbare builds 96.9% voor de x86_64-architectuur en 96.8% voor de ARM64-architectuur. In de Debian Testing-repositories wordt het percentage reproduceerbare builds geschat op 94.5% voor de ARM64-architectuur en 75.7% voor x86_64, gebaseerd op 37809 opnieuw gecompileerde bronpakketten. De test voor reproduceerbare builds in de Debian Testing-repository mislukte voor 1141 pakketten (3%), en 7952 pakketten (21%) ondervonden algemene problemen bij het compileren vanuit de broncode.
Reproduceerbare builds stellen gebruikers in staat om aangepaste builds te maken die bit voor bit identiek zijn aan de vooraf gebouwde builds die beschikbaar zijn om te downloaden. Gebruikers kunnen zelf controleren of de binaire bestanden die in pakketten en opstartimages worden gedistribueerd, zijn gebouwd vanuit de meegeleverde broncode en geen verborgen wijzigingen bevatten. Door de identiteit van de binaire build te verifiëren, hoeft men niet langer volledig te vertrouwen op de buildinfrastructuur van de distributie, waar een gecompromitteerde compiler of buildtoolset zou kunnen leiden tot het invoegen van verborgen achterdeuren.
Bij het vormen van herhaalbare assemblages wordt rekening gehouden met nuances zoals exacte matching van afhankelijkheden; gebruik van ongewijzigde samenstelling en versies van montagegereedschappen; identieke set opties en standaardinstellingen; de volgorde van de bestandsverzameling behouden (met behulp van dezelfde sorteermethoden); Hiermee schakelt u uit dat de compiler vluchtige service-informatie toevoegt, zoals willekeurige waarden, bestandspadverwijzingen en informatie over de datum en tijd van de build. De reproduceerbaarheid van builds wordt ook beïnvloed door bugs en race-omstandigheden in de toolchain.
Bron: opennet.ru
