Bylo schváleno zajištění opakovatelných sestavení ve Fedoře 43

Výbor FESCo (Fedora Engineering Steering Committee), odpovědný za technickou část vývoje distribuce Fedora Linux, schválil projekt na zajištění opakovatelných sestavení balíčků v podzimním vydání Fedora 43. Cílem iniciativy je umožnit použití opakovatelných sestavení pro alespoň 99 % balíčků v repozitáři.

Opakovatelná sestavení umožní vytvářet vlastní RPM balíčky, které se shodují s nabízenými ke stažení připravenými binárními balíčky. Shody budou zajištěny na úrovni základních metadat a součástí balíčku (lišit se budou pouze metadata s časem sestavení, hostitelem sestavení a potvrzením digitálním podpisem). Uživatel se tak může osobně přesvědčit, že distribuované binární soubory byly sestaveny z poskytovaných zdrojových textů a neobsahují skryté změny. Kontrola shody binární sestavy umožňuje nespoléhat se pouze na důvěru v sestavovací infrastrukturu distribuce; kompromitace překladače nebo sestavovacího nástroje může vést k vložení skrytých zadních vrátek.

Kromě bezpečnosti budou opakovatelná sestavení také užitečná pro kontrolu kvality — problémy při pokusech o dosažení opakovatelných sestavení jsou často způsobeny chybami nebo nepořádkem v kódu, například použitím v balíčcích označených jako „noarch“ závislostí vázaných na určité hardwarové architektury. Opakovatelná sestavení také zjednoduší vývoj balíčků — po drobných úpravách se přestavěné balíčky budou lišit pouze prvky přímo souvisejícími se změnami, což výrazně usnadní srovnávání verzí balíčků a analýzu změn.

Při vytváření reprodukovatelných sestavení se zohledňují takové nuance, jako je přesné dodržování závislostí; použití neměnného složení a verzí sestavovacího nástroje; identická sada možností a nastavení ve výchozím stavu; zachování pořadí sestavení souborů (aplikace stejných metod třídění); zákaz přidávání náhodných hodnot, odkazů na cestu k souborům a dat o datu a čase sestavení kompilátorem. Na reprodukovatelnost sestavení také působí chyby a závodní stavy v nástrojích.

Infrastruktura projektu Fedora je již připravena k provádění opakovatelných sestavení. Například v minulých vydáních byly do sestavovacího systému zavedeny změny, které synchronizují metadata o čase modifikace souborů s referenčním zdrojovým kódem (mtime nyní nezávisí na čase sestavení) a také zajišťují stálý pořádek výčtu metadat a struktur v binárních souborech. V tomto stádiu je pokrytí opakovatelnými sestaveními odhadováno na 90 %. Pro zajištění opakovatelných sestavení v zbývajících 10 % je zapotřebí účast správců problémových balíčků. Pro povzbuzení oprav v těchto balíčcích mají být selhání při provádění opakovatelných sestavení považována za chyby při sestavení.

Podobné projekty na podporu opakovatelných sestavení také rozvíjejí distribuce Debian, Arch Linux, openSUSE a NixOS.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster