Collabora a dévoilé le projet Holo Core, développé en collaboration avec Valve pour créer une version de la distribution Arch. Linux Holo Core a été créé pour la plateforme AArch64 afin d'exécuter SteamOS sur le Steam Frame, un appareil combinant un ordinateur, un casque 3D et deux manettes 3D. Le développement de Holo Core était nécessaire car la distribution Arch LinuxLa plateforme SteamOS est uniquement disponible pour l'architecture x86_64, tandis que le Steam Frame est basé sur une puce Snapdragon 8, qui utilise l'architecture ARM64. Le code source des paquets adaptés à l'architecture ARM64, ainsi que des paquets binaires précompilés et une image de conteneur Docker, sont disponibles pour les tests.
L'objectif principal du projet est de construire une infrastructure d'intégration continue pour organiser les compilations automatisées et surveiller l'état des dépôts Arch mis à jour en continu. Linux et la définition des dépendances requises. Outre la création de correctifs nécessaires au fonctionnement de certains paquets sur les systèmes Aarch64, le projet a nécessité la résolution de plusieurs problèmes.
Certains problèmes sont dus au fait que le dépôt d'Arch est mis à jour en continu. Linux L'état actuel de certains paquets est lié à leur état précédent, et leur reconstruction nécessite de reproduire la chaîne complète d'états (par exemple, la reconstruction de Rust 1.91 requiert Rust 1.90, qui lui-même requiert Rust 1.89, et ainsi de suite). Une situation similaire s'observe pour les bibliothèques liées à la chaîne d'outils de compilation (par exemple, icu et gpgme, utilisées dans pacman) : si ces bibliothèques sont mises à jour, les anciennes et nouvelles versions doivent être présentes pour qu'une reconstruction réussisse.
Une autre limitation résidait dans l'incertitude quant à l'ordre de compilation dans le dépôt Git d'Arch. Linux Les paquets sont souvent ajoutés de manière désordonnée, ce qui rend la reconstruction automatisée impossible sans recalculer l'intégralité de la chaîne de dépendances. De plus, les tentatives de compilation d'anciennes versions sont entravées par les modifications apportées à l'infrastructure du projet en amont : le code source peut être déplacé, le projet peut être transféré vers un autre service d'hébergement Git, les sommes de contrôle du code Git peuvent changer (les hachages courts étant remplacés par des hachages longs), et les téléchargements automatisés peuvent être bloqués par la protection anti-robots.
L'outil d'intégration continue développé par le projet Holo Core est capable de calculer l'arbre de dépendances complet et de rejouer l'historique de compilation d'Arch. Linux De l'amorçage initial à l'état final, en incluant toutes les reconstructions intermédiaires nécessaires. La version de test publiée correspond aux versions des paquets du dépôt Arch. Linux À compter du 18 novembre 2025, il s'agit d'une sorte de prototype démontrant que l'infrastructure créée est prête pour la formation des produits finaux.
Une fois le système débogué, il est prévu de le synchroniser avec les versions des paquets utilisées pour le développement des futures versions de SteamOS pour l'architecture x86_64. Le code des outils d'intégration continue développés sera publié sous une licence libre et proposé pour intégration au projet Arch. LinuxCe projet, qui ne dispose actuellement d'aucune infrastructure d'intégration continue, prévoit également de contribuer au projet principal afin de créer un portage officiel pour Arch. Linux pour l'architecture AArch64.
Source: opennet.ru
