Zatwierdzono zapewnienie powtarzalnych kompilacji w Fedora 43.

Komitet FESCo (Fedora Engineering Steering Committee), odpowiedzialny za techniczną część rozwoju dystrybucji Fedora Linux, zatwierdził projekt zapewnienia powtarzalnych budów pakietów w jesiennej wersji Fedora 43. Celem inicjatywy jest umożliwienie stosowania powtarzalnych budów dla co najmniej 99% pakietów w repozytorium.

Powtarzalne budowy umożliwią tworzenie własnych pakietów RPM, które będą zgodne z dostępnymi do pobrania gotowymi pakietami binarnymi. Zgodność będzie zapewniona na poziomie podstawowych metadanych oraz plików zawartych w pakiecie (różnić się będą tylko metadane dotyczące czasu budowy, hosta budowy i potwierdzenia podpisem cyfrowym). Użytkownik będzie mógł osobiście przekonać się, że dystrybuowane w pakietach pliki binarne zostały zbudowane z dostarczanych źródeł i nie zawierają ukrytych zmian. Weryfikacja tożsamości budowy binarnej pozwala unikać polegania jedynie na zaufaniu do infrastruktury budowlanej dystrybucji; kompromitacja kompilatora lub narzędzi budowlanych może prowadzić do wprowadzenia ukrytych backdoorów.

Oprócz bezpieczeństwa powtarzalne budowy będą również przydatne do kontroli jakości — problemy w dążeniu do osiągnięcia powtarzalnych budów często są spowodowane błędami lub chaosem w kodzie, na przykład użyciem w pakietach oznaczonych jako „noarch” zależności przypisanych do określonych architektur sprzętowych. Powtarzalne budowy również uproszczą rozwój pakietów — po niewielkich poprawkach zrekonstruowane pakiety będą różnić się tylko elementami bezpośrednio związanymi z wprowadzoną zmianą, co znacznie ułatwi porównywanie wersji pakietów i analizowanie zmian.

Podczas formowania powtarzalnych budów uwzględniane są takie niuanse, jak dokładne dopasowanie zależności; użycie niezmiennego zestawu i wersji narzędzi budowlanych; identyczny zestaw opcji i ustawień domyślnych; zachowanie kolejności budowy plików (stosowanie tych samych metod sortowania); wyłączenie dodawania przez kompilator nieprzewidywalnych informacji pomocniczych, takich jak losowe wartości, odniesienia do ścieżek plików oraz dane o dacie i czasie budowy. Na reprodukowalność budów wpływają również błędy i stany wyścigu w narzędziach budowlanych.

Infrastruktura projektu Fedora jest już przygotowana do realizacji powtarzalnych kompilacji. Na przykład, w poprzednich wydaniach w systemie kompilacyjnym wprowadzono zmiany synchronizujące metadane dotyczące czasu modyfikacji plików z referencyjnym kodem źródłowym (mtime nie zależy już od czasu kompilacji), a także zapewniające stałą kolejność wyliczania metadanych i struktur w plikach binarnych. Na obecnym etapie zasięg powtarzalnych kompilacji szacowany jest na 90%. Aby zapewnić powtarzalne kompilacje w pozostałych 10%, konieczny jest udział opiekunów problematycznych pakietów. Aby zachęcić do wprowadzania poprawek w takich pakietach, usterki podczas powtarzalnych kompilacji zamierzają traktować jako błędy kompilacji.

Podobne projekty mające na celu wsparcie powtarzalnych kompilacji rozwijają również dystrybucje Debian, Arch Linux, openSUSE i NixOS.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster