FESCo (Fedora Engineering Steering Committee), mis vastutab Fedora Linux'i jaotuse tehnilise arendamise eest, kinnitas projekti, mis tagab korduvate pakettide koostamiste teostamise Fedora 43 sĂŒgisversioonis. Initsiatiivi eesmĂ€rk on vĂ”imaldada korduvate koostamiste kasutamist vĂ€hemalt 99% pakettidest hoidlas.
Korduvad koostamised annavad vĂ”imaluse luua oma RPM-pakette, mis vastavad allalaadimiseks pakutavatele valmis binaarpakettidele. Vastavus tagatakse pĂ”himetainfo ja paketti kuuluvate failide tasemel (erinevused tekivad vaid ehitusaja, ehitushostiga ja digitaalse allkirjaga seotud metainfotest). Kasutaja saab isiklikult veenduda, et pakettides levitatavad binaarfailid on koostatud esitatavatest allikatest ja ei sisalda varjatud muudatusi. Binaarse koostamise ĂŒhtekuuluvuse kontrollimine vĂ”imaldab mitte tugineda vaid usaldusvÀÀrsusele jaotuse koostamisstruktuuri suhtes, kuna kompileerija vĂ”i koostamisvahendi kompromiteerimine vĂ”ib viia peidetud tagakiusajate paigutamiseni.
Lisaks turvalisusele on korduvad koostamised ka kasulikud kvaliteedikontrolli jaoks â probleemid korduvate koostamiste saavutamisel on sageli pĂ”hjustatud vigadest vĂ”i segadusest koodis, nĂ€iteks pakettides, mis on mĂ€rgitud kui 'noarch', spetsiifiliste riistvaraarhitektuuridega seotud sĂ”ltuvustest. Korduvad koostamised lihtsustavad ka pakettide arendamist â pĂ€rast vĂ€ikeseid muudatusi erinevad uuesti koostatud paketid vaid nendest elementidest, mis on otseselt seotud tehtud muudatusega, mis oluliselt lihtsustab pakettide versioonide vĂ”rdlemist ja muudatuste analĂŒĂŒsi.
Korduvate ehituste toimetamisel arvestatakse selliseid nĂŒansse nagu tĂ€pne sĂ”ltuvuste vastavus; muutumatute koostamisriistade koostisosade ja versioonide kasutamine; identsed vaikeseadete valikud ja sĂ€tted; failide koostamise jĂ€rjekorra sĂ€ilitamine (sama sorteerimismeetodi rakendamine); kompilaatori poolt ebastabiilse abiteabe, nagu juhuslikud vÀÀrtused, failiteede lingid ja ehitamise kuupĂ€evad ning kellaajad, lisamise vĂ€ljalĂŒlitamine. Ehitusprotsesside korduvusele mĂ”jutavad ka vead ja kiirusvĂ”istlused tööriistade seas.
Fedora projekti infrastruktuur on juba ette valmistatud korduvate ehituste teostamiseks. NĂ€iteks on varasemates vĂ€ljaannetes ehitussĂŒsteemi tehtud muudatused, mis sĂŒnkroniseerivad failide muudatuste metainfo originaalkoodiga (mtime ei sĂ”ltu enam ehituse ajast), samuti tagavad pideva metainfo ja struktuuride loendi jĂ€rjekorra binaarfailides. Praegu hinnatakse korduvate ehituste katvust 90%-le. ĂlejÀÀnud 10% korduvate ehituste tagamiseks on vajalik probleemsete paketide hooldajate osalemine. Selliste pakettide parandamise soodustamiseks kavatsetakse ehituse korduvate ehituste ebaĂ”nnestumisi kĂ€sitleda kui ehituse vigu.
Sarnased projektid korduvate ehituste toetamiseks arendavad ka jaotusi Debian, Arch Linux, openSUSE ja NixOS.
Allikas: opennet.ru
