Il Comitato FESCo (Fedora Engineering Steering Committee), responsabile della parte tecnica dello sviluppo della distribuzione Fedora Linux, ha approvato la concessione di un'eccezione alle regole, che permette di includere nel pacchetto dell'installer asahi-installer file eseguibili e librerie compilati per la piattaforma macOS. L'eccezione è stata concessa su richiesta degli sviluppatori della versione Fedora Asahi Remix, destinata all'installazione su computer Mac dotati di chip ARM AppleSilicon.
Al posto dell'installer Anaconda di default per Fedora, nella Fedora Asahi Remix viene utilizzato un installer proprietario asahi-installer. Il processo di installazione di Fedora Asahi Remix viene avviato dall'attuale sistema operativo macOS presente sul computer Mac, per questo motivo il pacchetto asahi-installer include un'applicazione che può essere eseguita da macOS e recoveryOS (ambiente ridotto di macOS). Oltre a questa applicazione, l'installer contiene anche un modulo in Python utilizzato per estrarre e posizionare il firmware. Il pacchetto con il modulo per l'estrazione del firmware è già stato accettato nel repository Fedora, ma la distribuzione del pacchetto con l'installer è ostacolata dalla necessità di includere file eseguibili, compilati per la piattaforma macOS.
Poiché l'installer è scritto in Python, per eseguirlo in macOS è necessario un interprete Python e la libreria libffi, i cui sorgenti sono forniti sotto licenze aperte. Dato che compilarne questi componenti per macOS a partire dai sorgenti in un ambiente Linux è problematico, gli sviluppatori di Fedora Asahi Remix hanno richiesto un'eccezione alle regole che consenta loro di aggiungere al pacchetto asahi-installer l'interprete Python già compilato per macOS (python-3.9.6-macos11.pkg) e la libreria libffi (libffi-3.4.6-macos.tar.gz). L'aggiunta di questi file nel pacchetto con i sorgenti dell'installer consentirà di utilizzare l'infrastruttura standard di Fedora per la compilazione dell'installer, invece di dover caricare componenti pronti di terze parti dal progetto Asahi Linux.
Le regole per la preparazione dei pacchetti per Fedora stabiliscono che tutti i file binari delle applicazioni e le librerie incluse nei pacchetti finali devono essere compilati dai codici sorgente forniti nel pacchetto con i codici sorgente. Tale requisito è dovuto al fatto che i file binari possono contenere funzionalità nascoste o modifiche dannose, rendendo problematica la verifica della loro funzionalità e impossibile applicare correzioni tramite patch. Inoltre, i file binari eseguibili e le librerie possono essere compilati senza utilizzare i flags di compilazione prescritti in Fedora, che includono meccanismi di protezione e ottimizzazione specifici.
Fonte: opennet.ru
