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) - ако тези библиотеки се актуализират, както старата, така и новата версия трябва да са налични за успешно възстановяване.
Друго ограничение беше несигурността с реда на изграждане - в хранилището на Arch Git Linux Пакетите често се добавят непоследователно, което прави автоматичното възстановяване неподходящо без преизчисляване на цялата верига от зависимости. Освен това, опитите за изграждане на стари версии са възпрепятствани от промени в инфраструктурата на проекта – изходният код може да бъде преместен, проектът може да бъде преместен в друга услуга за хостинг на Git, контролните суми на Git кода могат да се променят поради замяната на къси хешове с дълги, а автоматизираните изтегляния могат да бъдат блокирани от защита срещу ботове.
Инструментариумът за CI, разработен от проекта Holo Core, е способен да изчисли пълното дърво на зависимостите и да възпроизведе историята на изграждане на Arch. Linux От първоначалното зареждане до крайното състояние, обхващащо всички необходими междинни реконструкции. Публикуваната тестова версия съответства на версиите на пакетите в Arch хранилището. Linux към 18 ноември 2025 г. и представлява своеобразен прототип, демонстриращ готовността на създадената инфраструктура за формиране на крайни продукти.
След като системата бъде отстранена, се планира синхронизирането ѝ с версиите на пакетите, използвани при разработването на бъдещи версии на SteamOS за архитектурата x86_64. Кодът за разработените CI инструменти ще бъде публикуван под отворен лиценз и ще бъде предложен за внедряване в проекта Arch. Linux, на който в момента липсва CI инфраструктура. Те също така планират да допринесат с работа по основния проект за създаване на официален Arch порт. Linux за архитектурата AArch64.
Източник: opennet.ru
