Herhaalbare builds in Fedora 43 goedgekeurd

Het FESCo-comité (Fedora Engineering Steering Committee), verantwoordelijk voor het technische deel van de ontwikkeling van de Fedora Linux-distributie, heeft een project goedgekeurd voor het waarborgen van reproduceerbare pakketbuilding in de herfstrelease van Fedora 43. Het doel van dit initiatief is om reproduceerbare builds te kunnen toepassen op ten minste 99% van de pakketten in de repository.

Reproduceerbare builds stellen gebruikers in staat om eigen RPM-pakketten te maken die overeenkomen met de beschikbare voorgemaakte binaire pakketten. De overeenkomsten worden gewaarborgd op het niveau van de hoofdmata-gegevens en de in het pakket opgenomen bestanden (de enige afwijkingen betreffen de metadata zoals de tijd van building, de build-host en de digitale handtekening). De gebruiker kan zelf verifiëren dat de binaire bestanden die in de pakketten worden verspreid, zijn opgebouwd uit de beschikbare bronbestanden en geen verborgen wijzigingen bevatten. De identificatie van de binaire build maakt het mogelijk om niet alleen op vertrouwen in de build-infrastructuur van de distributie te steunen, aangezien compromittering van de compiler of build-tools kan leiden tot verborgen kwetsbaarheden.

Naast veiligheid zullen reproduceerbare builds ook nuttig zijn voor kwaliteitscontrole — problemen bij pogingen om reproduceerbare builds te bereiken, worden vaak veroorzaakt door fouten of rommel in de code, bijvoorbeeld door afhankelijkheden in pakketten die als 'noarch' zijn gemarkeerd, die verbonden zijn aan bepaalde hardware-architecturen. Reproduceerbare builds zullen ook de ontwikkeling van pakketten vereenvoudigen — na kleine aanpassingen zullen de opnieuw opgebouwde pakketten alleen verschillen in de elementen die rechtstreeks verband houden met de aangebrachte wijziging, wat het vergelijken van versies van pakketten en het analyseren van wijzigingen aanzienlijk zal vereenvoudigen.

Bij het vormen van reproduceerbare builds worden nuances in overweging genomen, zoals de exacte overeenstemming van afhankelijkheden; het gebruik van onveranderde samenstellingen en versies van de build-tools; een identieke set standaardopties en -instellingen; het behouden van de volgorde van bestandsopbouw (gebruik van dezelfde sorteermethoden); en het uitschakelen van het toevoegen van veranderlijke servicedata door de compiler, zoals willekeurige waarden, bestands- en padverwijzingen en gegevens over de datum en tijd van het bouwen. De reproduceerbaarheid van builds kan ook worden beïnvloed door fouten en racecondities in de tools.

De infrastructuur van het Fedora-project is al voorbereid voor het uitvoeren van herhaalbare builds. In eerdere uitgaven zijn er wijzigingen aangebracht in het build-systeem die de metadata over de tijd van bestandwijzigingen synchroniseren met de referentiebronnen (mtime is nu niet afhankelijk van de opbouwtijd), en zorgen voor een constante volgorde van enumeratie van metadata en structuren in binaire bestanden. Op dit moment wordt de dekking van herhaalbare builds geschat op 90%. Voor de resterende 10% is de betrokkenheid van de maintainers van problematische pakketten vereist. Om het aanbrengen van verbeteringen in dergelijke pakketten te stimuleren, worden mislukkingen bij het uitvoeren van herhaalbare builds bedoeld als buildfouten.

Soortgelijke projecten ter ondersteuning van herhaalbare builds ontwikkelen ook de distributies Debian, Arch Linux, openSUSE en NixOS.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster