Ettevõte Collabora esitleb projekti Holo Core, mille raames on koos Valve'iga loodud Arch Linuxi jaotus versioon AArch64 platvormile. Holo Core on välja töötatud SteamOS-i kasutamiseks Steam Frame seadmes, mis ühendab personaalarvuti, 3D-prillid ja kaks 3D-kontrollerit. Holo Core'i arendamine oli vajalik, kuna Arch Linux, mis on SteamOS-i aluseks, on saadaval ainult x86_64 arhitektuurile, samas kui Steam Frame seade põhineb ARM64 arhitektuuri kasutaval Snapdragon 8 kiibil. Testimiseks on saadaval algkoodi paketid, mis on kohandatud ARM64 arhitektuurile, ning valmis binaarsed paketid ja Docker-formaadis konteineripilt.
Projekti peamiseks ülesandeks on luua pideva integreerimise infrastruktuur, mis korraldab automatiseeritud ehitusi, jälgib pidevalt uuendatavaid Arch Linuxi hoidlaid ja tuvastab vajalikud sõltuvused. Lisaks nendele, et luua patch'e, mis on vajalikud teatud pakettide tööks Aarch64 süsteemides, tuli projekti rakendamisel lahendada mitu probleemi.
Osa probleemidest on tingitud sellest, et pidevalt uuendatavas Arch Linuxi hoidlas sõltub uue oleku mõned paketid vanadest ja buildimiseks tuleb reprodutseerida kogu olekute ahel (näiteks rust 1.91 uuendamiseks peab olema rust 1.90, mille jaoks on omakorda vajalik rust 1.89 jne). Sarnane olukord on ka teekide puhul, millele on tugevalt toetatud ehitusvahendid (näiteks icu ja gpgme, mida kasutab pacman) — kui nende teekide versioonid uuenevad, on eduka uuesti ehitamiseks vajalik nii vana kui ka uus versioon.
Teiseks piiranguks oli määramatus kogumise järjekorras — Arch Linuxi Git-repositooriumis lisatakse pakette sageli mitte järjestikku, mis muudab automatiseeritud kogumise võimatuks, ilma et oleks vaja üle vaadata kogu sõltuvuste ahel. Lisaks takistavad vanade versioonide kogumist upstream-projektide infrastruktuuri muudatused — lähtekood võib olla paigutatud teise kohta, projekt võib minna teisele git-hostingule, kontrollsummad võivad git-s muutuda lühikestelt hash'delt pikkadele ning automatiseeritud allalaadimist võib takistada antibot-kaitse.
Holo Core projekti raames loodud CI- tööriist on suuteline arvutama täispuu sõltuvustest ja "taasalustama" (replay) Arch Linuxi kogumise ajalugu algse bootstrap'ist kuni valitud seisundini, hõlmates kõiki vajalikke vahepealseid kogumisi. Avaldatud testversioon vastab Arch Linuxi repositooriumis olevate pakettide versioonidele seisuga 18. november 2025 ja on omamoodi prototüüp, mis näitab välja töötatud infrastruktuuri valmisolekut lõpptoodete loomiseks.
Kui süsteem on paika pandud, kavatsetakse see sünkroonida pakettide versioonidega, mida kasutatakse SteamOSi tulevaste versioonide arendamiseks x86_64 arhitektuuril. Areneva CI-tööriista kood avaldatakse avatud litsentsi alusel ja pakutakse kasutamiseks Arch Linuxi projektis, millel pole hetkel CI-infrastruktuuri. Peaprojekti kavatsetakse edastada ka portide loomise tulemusi Arch Linuxile AArch64 arhitektuurile.
Allikas: opennet.ru
