Approvato il supporto per build ripetibili in Fedora 43

Il Comitato FESCo (Fedora Engineering Steering Committee), responsabile della parte tecnica dello sviluppo della distribuzione Fedora Linux, ha approvato un progetto per garantire build ripetibili dei pacchetti nell'edizione autunnale di Fedora 43. L'obiettivo dell'iniziativa è dichiarare la possibilità di applicare build ripetibili per almeno il 99% dei pacchetti nel repository.

Le build ripetibili consentiranno di creare i propri pacchetti RPM, corrispondenti ai pacchetti binari pronti per il download. La corrispondenza è garantita a livello di metadati principali e dei file inclusi nel pacchetto (differiranno solo i metadati relativi al tempo di build, all'host di build e alla firma digitale). Gli utenti potranno verificare personalmente che i file binari distribuiti nei pacchetti siano stati costruiti dai sorgenti forniti e non contengano modifiche occulte. La verifica dell'identità della build binaria permette di non fare affidamento solo sulla fiducia nell'infrastruttura di build della distribuzione, poiché la compromissione del compilatore o degli strumenti di compilazione potrebbe portare all'inserimento di backdoor nascoste.

Oltre alla sicurezza, le build ripetibili saranno utili anche per il controllo della qualità: i problemi nel tentativo di ottenere build ripetibili sono spesso causati da errori o disordini nel codice, ad esempio, dall'utilizzo nei pacchetti contrassegnati come «noarch» di dipendenze legate a specifiche architetture hardware. Le build ripetibili semplificheranno anche lo sviluppo dei pacchetti: dopo piccole modifiche, i pacchetti ricostruiti differiranno solo per gli elementi direttamente collegati alla modifica, rendendo così molto più semplice il confronto delle versioni dei pacchetti e l'analisi delle modifiche.

Nella formazione delle build ripetibili si tengono conto di dettagli come la corrispondenza esatta delle dipendenze; l'uso di un insieme invariato di versioni e strumenti di build; un set identico di opzioni e impostazioni predefinite; la conservazione dell'ordine di costruzione dei file (applicazione degli stessi metodi di ordinamento); disabilitazione dell'aggiunta di informazioni di servizio non costanti da parte del compilatore, come valori casuali, riferimenti ai percorsi dei file e dati sulla data e l'ora della build. Anche gli errori e le condizioni di competizione negli strumenti influiscono sulla riproducibilità delle build.

L'infrastruttura del progetto Fedora è già pronta per realizzare build ripetibili. Ad esempio, nelle versioni precedenti, il sistema di build ha subito modifiche che sincronizzano i metadati riguardanti il tempo di modifica dei file con il codice sorgente di riferimento (mtime ora non dipende più dal tempo di build), e garantiscono anche un ordine costante nell'elenco dei metadati e delle strutture nei file binari. In questa fase, la copertura delle build ripetibili è stimata al 90%. Per garantire build ripetibili nell'ulteriore 10%, è necessaria la partecipazione dei maintainer dei pacchetti problematici. Per incentivare la correzione di tali pacchetti, i fallimenti durante le build ripetibili saranno trattati come errori di build.

Progetti simili per garantire supporto a build ripetibili sono anche in fase di sviluppo per le distribuzioni Debian, Arch Linux, openSUSE e NixOS.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster