Wiederholbare Builds in Fedora 43 genehmigt

Der FESCo-Ausschuss (Fedora Engineering Steering Committee), der für den technischen Teil der Entwicklung der Fedora Linux-Distribution verantwortlich ist, hat ein Projekt zur Gewährleistung wiederholbarer Paketerstellungen in der Herbstversion von Fedora 43 genehmigt. Ziel der Initiative ist es, wiederholbare Builds für mindestens 99 % der Pakete im Repository anzubieten.

Wiederholbare Builds ermöglichen es, eigene RPM-Pakete zu erstellen, die mit den zum Download verfügbaren Binärpaketen übereinstimmen. Die Übereinstimmungen werden auf der Ebene der grundlegenden Metadaten und der in das Paket aufgenommenen Dateien gewährleistet (lediglich die Metadaten bezüglich der Erstellungszeit, des Erstellungs-Hosts und der digitalen Signatur werden unterschiedlich sein). Benutzer können persönlich überprüfen, dass die in den Paketen verbreiteten Binärdateien aus den bereitgestellten Quelltexten erstellt wurden und keine versteckten Änderungen enthalten. Die Überprüfung der Identität des Binär-Builds ermöglicht es, sich nicht nur auf das Vertrauen in die Build-Infrastruktur der Distribution zu verlassen, da eine Kompromittierung des Compilers oder der Build-Tools zu versteckten Hintertüren führen könnte.

Neben der Sicherheit werden wiederholbare Builds auch für die Qualitätskontrolle von Vorteil sein – Probleme beim Erreichen wiederholbarer Builds werden häufig durch Fehler oder Unordnung im Code verursacht, beispielsweise durch die Verwendung von Paketen mit dem Label „noarch“, die von bestimmten Hardware-Architekturen abhängen. Wiederholbare Builds werden zudem die Entwicklung von Paketen erleichtern – nach kleineren Änderungen werden die erneut erstellten Pakete sich nur durch Elemente unterscheiden, die direkt mit der vorgenommenen Änderung verbunden sind, was den Vergleich von Paketversionen und die Analyse von Änderungen erheblich vereinfacht.

Bei der Erstellung reproduzierbarer Builds müssen Aspekte wie die genaue Übereinstimmung der Abhängigkeiten, die Verwendung unveränderlicher Komponenten und Versionen des Build-Tools, ein identisches Set an Standardoptionen und -einstellungen sowie die Beibehaltung der Sortierreihenfolge der Dateien (Verwendung derselben Sortiermethoden) berücksichtigt werden. Außerdem sollte das Hinzufügen von nicht konstanten Metainformationen durch den Compiler, wie zufällige Werte, Verweise auf Dateipfade und Daten zu Datum und Uhrzeit des Builds, verhindert werden. Auch Fehler und Race Conditions im Build-Tool können die Reproduzierbarkeit von Builds beeinflussen.

Die Infrastruktur des Fedora-Projekts ist bereits auf die Umsetzung wiederholbarer Builds vorbereitet. So wurden beispielsweise in früheren Versionen Änderungen an das Build-System vorgenommen, um die Metadaten über die Änderungszeit der Dateien mit dem Referenz-Quellcode zu synchronisieren (mtime ist nun unabhängig von der Build-Zeit), und um eine konsistente Reihenfolge der Metadaten und Strukturen in den Binärdateien zu gewährleisten. In diesem Stadium wird die Abdeckung durch wiederholbare Builds auf 90 % geschätzt. Für die Gewährleistung wiederholbarer Builds in den verbleibenden 10 % ist die Mitwirkung der Maintainer problematischer Pakete erforderlich. Um die Durchführung von Änderungen in solchen Paketen zu fördern, beabsichtigen die Verantwortlichen, Fehler bei wiederholbaren Builds als Build-Fehler zu klassifizieren.

Ähnliche Projekte zur Unterstützung wiederholbarer Builds werden auch von den Distributionen Debian, Arch Linux, openSUSE und NixOS vorangetrieben.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster