Komiteti FESCo (Fedora Engineering Steering Committee), përgjegjës për anën teknike të zhvillimit të shpërndarjes Fedora Linux, ka miratuar projektin për garantimin e build-eve të riprodhueshme të paketave në versionin vjeshtor Fedora 43. Qëllimi i nismës është që build-et e riprodhueshme të mund të zbatohen për të paktën 99% të paketave në depo.
Build-et e riprodhueshme do të bëjnë të mundur krijimin e paketave RPM vetjake që përputhen me paketat binare të gatshme të ofruara për shkarkim. Përputhja sigurohet në nivelin e metadata-ve kryesore dhe të skedarëve të përfshirë në paketë (do të ndryshojnë vetëm metadata-t që lidhen me kohën e build-it, hostin e build-it dhe nënshkrimin dixhital). Përdoruesi do të mund të verifikojë vetë se skedarët binarë të shpërndarë në paketa janë ndërtuar nga kodi burimor i ofruar dhe nuk përmbajnë ndryshime të fshehura. Verifikimi i identitetit të build-it binar bën të mundur që të mos mbështeteni vetëm te besimi ndaj infrastrukturës së build-it të shpërndarjes, komprometimi i kompajlerit ose i mjeteve të build-it në të cilën mund të çojë në futjen e backdoor-eve të fshehura.
PĂ«rveç sigurisĂ«, build-et e riprodhueshme do tĂ« jenĂ« tĂ« dobishme edhe pĂ«r kontrollin e cilĂ«sisĂ« â problemet gjatĂ« pĂ«rpjekjeve pĂ«r tĂ« arritur build-e tĂ« riprodhueshme shpesh shkaktohen nga gabime ose çrregullime nĂ« kod, pĂ«r shembull nga pĂ«rdorimi nĂ« paketa tĂ« shĂ«nuara si «noarch» i varĂ«sive tĂ« lidhura me arkitektura tĂ« caktuara harduerike. Build-et e riprodhueshme do ta thjeshtojnĂ« gjithashtu zhvillimin e paketave â pas ndryshimeve tĂ« vogla, paketat e rindĂ«rtuara do tĂ« dallohen vetĂ«m nga elementet qĂ« lidhen drejtpĂ«rdrejt me ndryshimin e bĂ«rĂ«, gjĂ« qĂ« do ta lehtĂ«sojĂ« ndjeshĂ«m krahasimin e versioneve tĂ« paketave dhe analizĂ«n e ndryshimeve.
Gjatë krijimit të ndërtimeve të riprodhueshme merren parasysh nuanca të tilla si përputhja e saktë e varësive; përdorimi i një përbërjeje të pandryshueshme dhe i versioneve të njëjta të veglave të ndërtimit; i njëjti grup opsionesh dhe cilësimesh parazgjedhje; ruajtja e rendit të ndërtimit të skedarëve (duke përdorur të njëjtat metoda renditjeje); çaktivizimi i shtimit nga kompajleri i informacionit ndihmës jo të qëndrueshëm, si vlera të rastësishme, referenca ndaj rrugëve të skedarëve dhe të dhëna për datën dhe orën e ndërtimit. Në riprodhueshmërinë e ndërtimeve ndikojnë gjithashtu gabimet dhe kushtet e garës në veglat e përdorura.
Infrastruktura e projektit Fedora është tashmë e përgatitur për zbatimin e ndërtimeve të riprodhueshme. Për shembull, në versionet e kaluara janë bërë ndryshime në sistemin e ndërtimit që sinkronizojnë metadatat e kohës së modifikimit të skedarëve me kodin burimor referencë (mtime tani nuk varet nga koha e ndërtimit), si edhe sigurojnë një renditje të pandryshueshme të listimit të metadatave dhe strukturave në skedarët binarë. Në këtë fazë, mbulimi me ndërtime të riprodhueshme vlerësohet në 90%. Për të siguruar ndërtime të riprodhueshme në 10% e mbetur, kërkohet pjesëmarrja e mirëmbajtësve të paketave problematike. Për të nxitur aplikimin e korrigjimeve në paketa të tilla, dështimet gjatë realizimit të ndërtimeve të riprodhueshme synohet të trajtohen si gabime ndërtimi.
Projekte të ngjashme për mbështetjen e ndërtimeve të riprodhueshme po zhvillohen edhe nga shpërndarjet Debian, Arch Linux, openSUSE dhe NixOS.
Burimi: opennet.ru
