
Es va donar a conèixer recentment que el Fedora Engineering Steering Committee (FESCo), responsable del desenvolupament tècnic de Fedora, va aprovar una excepció a les regles, la qual bàsicamenti permet incloure un fitxer executable i una biblioteca compilada per a la plataforma macOS al paquet de l'instal·lador asahi-installer. Actualment, a les regles de compilació a Fedora, s'especifica que tots els fitxers i les biblioteques de programes binaris inclosos als paquets finals s'han de compilar a partir del codi font proporcionat al paquet font.
Aquest requisito és perquè els fitxers binaris poden contenir funcions ocultes o canvis maliciosos, la qual cosa dificulta verificar-ne la funcionalitat i fer correccions mitjançant pegats. A més, les biblioteques i executables binaris es poden crear sense utilitzar els indicadors de compilació prescrits per Fedora, que permeten certs mecanismes de protecció i optimització.
El motiu de realitzar aquesta excepció, és degut a que els desenvolupadors de Fedora Asahi Remix (una edició destinada a la seva instal·lació en ordinadors Mac amb xips Apple Silicon ARM) van ser els qui van realitzar la sol·licitud per a la introduccio de l'executable i la biblioteca.
Amb això, ara en lloc de fer ús de l'instal·lador estàndard utilitzat a Fedora (el qual és Anaconda), Fedora Asahi Remix utilitza el vostre propi instal·lador «asahi-installer». El procés d'instal·lació de Fedora Asahi Remix s'inicia des del sistema operatiu macOS ja existent a l'ordinador Mac. Per això, asahi-installer inclou una aplicació que s'executa des de macOS i recoveryOS (un entorn simplificat de macOS).
asahi-installer és el projecte inicial utilitzat per instal·lar Fedora Asahi Remix en sistemes Apple Silicon. Es compon de dues parts: una eina que s'executa en macOS per realitzar la instal·lació real i un mòdul de Python per extreure el microprogramari i col·locar-lo al lloc correcte.
Ens agradaria sol·licitar una excepció per poder enviar aquests dos binaris predissenyats a Fedora, perquè puguem construir l'instal·lador a la infraestructura de Fedora i enviar-lo als usuaris, en lloc d'usar el predissenyat del projecte Asahi Linux (que és el que estem fent actualment ). Volem fer-ho específicament perquè ens permetrà enviar als usuaris un m1n1 stage1 que també està integrat a Fedora (l'instal·lador d'Asahi Linux inclou el seu propi predisseny).
A més d'aquesta aplicació, l'instal·lador conté un mòdul Python que s'utilitza per extreure i instal·lar el microprogramari. Tot i que el paquet amb el mòdul per descomprimir el microprogramari ja ha estat acceptat al repositori de Fedora, la inclusió del paquet amb l'instal·lador s'ha vist obstaculitzada per la necessitat d'incloure fitxers executables compilats per a macOS.
S'esmenta que l'instal·lador està escrit a Python i, per executar-se a macOS, requereix un intèrpret de Python i la biblioteca libffi, el codi font del qual es proporciona sota la llicència MIT i per construir aquests components per a macOS a partir del codi font en un entorn Linux és problemàtic, per la qual cosa els desenvolupadors de Fedora Asahi Remix van sol·licitar una excepció a la regla. Això els permet afegir un intèrpret de Python ja compilat per a macOS (python-3.9.6-macos11.pkg) i la biblioteca libffi (libffi-3.4.6-macos.tar.gz) al paquet asahi-installer. Incloure aquests fitxers al paquet font de l'instal·lador permetrà utilitzar la infraestructura estàndard de Fedora per crear l'instal·lador, en lloc de descarregar components ja preparats del projecte Asahi Linux.
Després de la discussió, els membres del comitè FESCo van acordar proporcionar una excepció perquè la infraestructura de Fedora actualment no admet la creació de fitxers executables per a macOS. Els participants del projecte ensamblen per separat els fitxers executables llestos per utilitzar proposats per a la seva inclusió en el paquet a partir dels codis font disponibles. Quan les eines de compilació creuada estiguin disponibles per a macOS, és possible que es reconsideri la solució.
Acceptar l'excepció també permet moure el paquet d'instal·lació a Fedora, reduint així la quantitat de components externs involucrats a la distribució. En comptes d'afegir un assemblatge extern de tot l'instal·lador asahi-installer, la distribució canviarà a assemblatges externs de dos conjunts separats d'artefactes, i el paquet d'instal·lació es construirà a Fedora.
font: https://pagure.io