Η Collabora αποκάλυψε το project 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 και τον ορισμό των απαιτούμενων εξαρτήσεων. Εκτός από τη δημιουργία ενημερώσεων κώδικα (patches) που απαιτούνται για να λειτουργούν ορισμένα πακέτα σε συστήματα Aarch64, το έργο απαιτούσε την επίλυση αρκετών ζητημάτων.
Μερικά από τα προβλήματα προκαλούνται από το γεγονός ότι το αποθετήριο του Arch ενημερώνεται συνεχώς Linux Η νέα κατάσταση ορισμένων πακέτων συνδέεται με την παλιά και η ανακατασκευή απαιτεί την αναπαραγωγή ολόκληρης της αλυσίδας καταστάσεων (για παράδειγμα, η ανακατασκευή του rust 1.91 απαιτεί rust 1.90, η οποία με τη σειρά της απαιτεί rust 1.89, και ούτω καθεξής). Παρόμοια κατάσταση παρατηρείται και για βιβλιοθήκες που είναι συνδεδεμένες με την αλυσίδα εργαλείων δημιουργίας (για παράδειγμα, icu και gpgme, που χρησιμοποιούνται στο pacman)—εάν αυτές οι βιβλιοθήκες ενημερωθούν, τόσο η παλιά όσο και η νέα έκδοση πρέπει να υπάρχουν για μια επιτυχημένη ανακατασκευή.
Ένας άλλος περιορισμός ήταν η αβεβαιότητα με τη σειρά κατασκευής - στο αποθετήριο Arch Git Linux Τα πακέτα συχνά προστίθενται εκτός σειράς, καθιστώντας την αυτοματοποιημένη ανακατασκευή ακατάλληλη χωρίς τον επανυπολογισμό ολόκληρης της αλυσίδας εξάρτησης. Επιπλέον, οι προσπάθειες δημιουργίας παλιών εκδόσεων παρεμποδίζονται από αλλαγές στην υποδομή του έργου upstream—ο πηγαίος κώδικας μπορεί να μετακινηθεί, το έργο μπορεί να μετακινηθεί σε διαφορετική υπηρεσία φιλοξενίας Git, τα checksum του κώδικα Git μπορεί να αλλάξουν λόγω αντικατάστασης μικρών hashes με μεγάλα και οι αυτοματοποιημένες λήψεις ενδέχεται να αποκλειστούν από προστασία anti-bot.
Το κιτ εργαλείων CI που αναπτύχθηκε από το έργο Holo Core είναι ικανό να υπολογίσει το πλήρες δέντρο εξαρτήσεων και να αναπαράγει το ιστορικό κατασκευής του Arch. Linux Από την αρχική εκκίνηση έως την τελική κατάσταση, καλύπτοντας όλες τις απαραίτητες ενδιάμεσες ανακατασκευές. Η δημοσιευμένη δοκιμαστική έκδοση αντιστοιχεί στις εκδόσεις πακέτων στο αποθετήριο Arch. Linux από τις 18 Νοεμβρίου 2025 και είναι ένα είδος πρωτοτύπου που καταδεικνύει την ετοιμότητα της δημιουργημένης υποδομής για τη διαμόρφωση τελικών προϊόντων.
Μόλις ολοκληρωθεί η διόρθωση σφαλμάτων στο σύστημα, έχει προγραμματιστεί ο συγχρονισμός του με τις εκδόσεις πακέτων που χρησιμοποιούνται στην ανάπτυξη μελλοντικών εκδόσεων του SteamOS για την αρχιτεκτονική x86_64. Ο κώδικας για τα εργαλεία CI που αναπτύχθηκαν θα δημοσιευτεί με ανοιχτή άδεια χρήσης και θα προσφερθεί για υλοποίηση στο έργο Arch. Linux, η οποία επί του παρόντος δεν διαθέτει υποδομή CI. Σχεδιάζουν επίσης να συνεισφέρουν στο κύριο έργο για τη δημιουργία ενός επίσημου λιμένα Arch. Linux για την αρχιτεκτονική AArch64.
Πηγή: opennet.ru
