Кампанія Collabora прадставіла Holo Core, порт Arch Linux для архітэктуры AArch64

Кампанія Collabora прадставіла праект Holo Core, у рамках якога сумесна з кампаніяй Valve падрыхтавана рэдакцыя дыстрыбутыва Arch. Linux для платформы AArch64. Holo Core створаны для выкарыстання SteamOS на прыладзе Steam Frame, які спалучае персанальны кампутар, 3D-шлем і два 3D-кантролера. Распрацоўка Holo Core запатрабавалася, бо дыстрыбутыў Arch Linux, які ляжыць у аснове SteamOS, даступны толькі для архітэктуры x86_64, у той час як прылада Steam Frame пабудавана на чыпе Snapdragon 8, які выкарыстоўвае архітэктуру ARM64. Для тэставання даступны зыходны код пакетаў, адаптаваных для архітэктуры ARM64, а таксама гатовыя бінарныя зборкі пакетаў і выява кантэйнера ў фармаце Docker.

Ключавой задачай праекта названа пабудова інфраструктуры бесперапыннай інтэграцыі для арганізацыі аўтаматызаваных зборак, якая адсочвае стан бесперапынна абнаўляюцца рэпазітараў Arch Linux і вызначальнай патрабаваныя залежнасці. Апроч стварэння патчаў, неабходных для працы некаторых пакетаў на сістэмах Aarch64, падчас рэалізацыі праекту запатрабавалася вырашыць некалькі праблем.

Частка праблем выклікана тым, што ў бесперапынна які абнаўляецца рэпазітары Arch Linux новы стан некаторых пакетаў завязана на стары і для зборкі патрабуецца прайграць увесь ланцужок станаў (напрыклад, для перазборкі rust 1.91 павінен прысутнічаць rust 1.90, для якога, у сваю чаргу, патрабуецца rust 1.89 і т.д.). Падобная сітуацыя назіраецца для бібліятэк, на якія завязаны зборачны інструментар (напрыклад icu і gpgme, якія выкарыстоўваюцца ў pacman) - у выпадку абнаўлення версій дадзеных бібліятэк, для паспяховай перазборкі неабходна наяўнасць як старой, так і новай версіі.

Яшчэ адным абмежаваннем стала нявызначанасць з парадкам зборкі - у Git-рэпазітары Arch Linux пакеты часта дадаюцца не паслядоўна ў парадку, непрыдатным для аўтаматызаванай перазборкі без пераліку ўсяго ланцужка залежнасцяў. Акрамя гэтага, пры спробах зборкі старых версій перашкодай становяцца змены ў інфраструктуры upstream-праектаў – зыходны код можа быць перамешчаны, праект перайсці на іншы git-хостынг, кантрольныя сумы на код у git памяняцца з-за замены кароткіх хэшаў на доўгія, а аўтаматызаваная загрузка блакавацца антыбот-

Падрыхтаваны ў рамках праекта Holo Core CI-інструментарый здольны вылічаць поўнае дрэва залежнасцяў і "прайграваць" (replay) гісторыю зборак Arch Linux ад пачатковага bootstrap-а да абранага стану, ахапляючы ўсе неабходныя прамежкавыя перазборкі. Апублікаваная тэставая версія адпавядае версіям пакетаў у рэпазітары Arch Linux па стане на 18 лістапада 2025 года і з'яўляецца свайго роду прататыпам, які дэманструе гатоўнасць створанай інфраструктуры для фарміравання канчатковых прадуктаў.

Калі сістэма будзе адладжана, яе плануюць сінхранізаваць з версіямі пакетаў, якія выкарыстоўваюцца пры распрацоўцы будучых версій SteamOS для архітэктуры x86_64. Код CI-інструментара, які развіваецца, будзе апублікаваны пад адкрытай ліцэнзіяй і прапанаваны для ўкаранення ў праекце Arch Linux, у якога пакуль няма CI-інфраструктуры. У асноўны праект таксама плануюць перадаць напрацоўкі для стварэння афіцыйнага порта Arch. Linux для архітэктуры AArch64.

Крыніца: opennet.ru

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster