Jóváhagyva a Fedora 43-ban a megismételhető építések biztosítását

A FESCo (Fedora Engineering Steering Committee) bizottság, amely a Fedora Linux disztribúció fejlesztésének technikai részéért felelős, jóváhagyta a projektet, amely célja a csomagok ismételhető összeállításainak biztosítása a Fedora 43 őszi kiadásában. A kezdeményezés célja, hogy az ismételhető összeállításokat a tárolóban lévő csomagok legalább 99%-ában alkalmazni lehessen.

Az ismételhető összeállítások lehetővé teszik, hogy saját RPM-csomagokat hozzunk létre, amelyek megfelelnek a letöltésre kínált előre készített bináris csomagoknak. Az azonosítást az alapvető metadaták és a csomagba beépített fájlok szintjén biztosítják (csak a build időpontjára, a build hostra és a digitális aláírás ellenőrzésére vonatkozó metadaták fognak eltérni). A felhasználó személyesen is megbizonyosodhat arról, hogy a csomagokban terjesztett bináris fájlok a rendelkezésre álló forráskódokból lettek összeállítva, és nem tartalmaznak rejtett változtatásokat. A bináris összeállítások azonosságának ellenőrzése lehetővé teszi, hogy ne csupán a disztribúció építési infrastruktúrájára bízzunk, mivel a fordító vagy az építési eszköztár kompromittálása rejtett hátsó ajtók beillesztéséhez vezethet.

A biztonság mellett az ismételhető összeállítások a minőségellenőrzés szempontjából is hasznosak lesznek — az ismételhető összeállítások elérésére tett kísérletek során gyakran a kódban fellépő hibák vagy rendetlenségek okozzák a problémákat, például a «noarch» megjelöléssel ellátott csomagokban a bizonyos hardverarchitektúrákhoz kötődő függőségek használata. Az ismételhető összeállítások egyszerűsítik a csomagok fejlesztését is — néhány apró módosítás után a módosított csomagok csak a közvetlenül a végrehajtott változtatásokkal összefüggő elemekben fognak eltérni, ami jelentősen megkönnyíti a csomagverziók összehasonlítását és a változások elemzését.

When creating reproducible builds, nuances such as exact dependency matching, using an immutable set and versions of the build tools, identical sets of options and defaults, preservation of file build order (using the same sorting methods), and disabling the addition of compiler non-deterministic metadata, such as random values, file path references, and build date and time information, are taken into account. Build reproducibility is also affected by bugs and race conditions in the toolchain.

A Fedora projekt infrastruktúrája már fel van készülve ismételhető build-ok végrehajtására. Például a korábbi kiadásokban a build rendszerbe olyan módosítások kerültek, amelyek szinkronizálják a fájlok módosítási idejéről szóló metaadatokat a referencia forráskóddal (az mtime most nem függ a build idejétől), valamint állandó sorrendet biztosítanak a metaadatok és struktúrák felsorolásában a bináris fájlokban. Jelenleg az ismételhető build-ok lefedettsége 90%-ra becsülhető. Az ismételhető build-ok biztosításához a fennmaradó 10%-ban a problémás csomagok maintenereinek részvételére van szükség. Az ilyen csomagok javításának ösztönzésére a hibák ismételhető build-ok során építésiként való kezelését tervezik.

Hasonló projekteket, amelyek az ismételhető build-ok támogatását segítik, a Debian, Arch Linux, openSUSE és NixOS disztribúciók is fejlesztenek.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster