Comitetul FESCo (Fedora Engineering Steering Committee), responsabil de partea tehnică a dezvoltării distribuției Fedora Linux, a aprobat furnizarea unei excepții de la reguli, care permite includerea unui fișier executabil și a bibliotecilor compilate pentru platforma macOS în pachetul cu instalatorul asahi-installer. Excepția a fost solicitată de dezvoltatorii ediției Fedora Asahi Remix, destinat instalării pe computere Mac echipate cu cipuri ARM AppleSilicon.
În locul instalatorului Anaconda standard pentru Fedora, în Fedora Asahi Remix este utilizat propriul instalator asahi-installer. Procesul de instalare a Fedora Asahi Remix este inițiat din sistemul de operare macOS deja existent pe computerul Mac, pentru care în pachetul asahi-installer este inclus o aplicație, care se lansează din macOS și recoveryOS (un mediu redus al macOS). Pe lângă această aplicație, instalatorul conține și un modul în Python, utilizat pentru extragerea și plasarea firmware-ului. Pachetul cu modulul pentru dezasamblarea firmware-ului a fost deja acceptat în depozitul Fedora, dar plasarea pachetului cu instalatorul în sine este îngreunată de necesitatea includerii în pachet a fișierelor executabile compilate pentru platforma macOS.
Deoarece instalatorul este scris în Python, pentru a-l rula în macOS este necesar un interpret Python și biblioteca libffi, a căror cod sursă este distribuit sub licențe deschise. Deoarece compilarea acestor componente pentru macOS din coduri sursă în medii Linux este problematică, dezvoltatorii Fedora Asahi Remix au solicitat o excepție de la reguli, care să le permită să adauge în pachetul asahi-installer un interpret Python deja compilat pentru macOS (python-3.9.6-macos11.pkg) și biblioteca libffi (libffi-3.4.6-macos.tar.gz). Adăugarea acestor fișiere în pachetul cu coduri sursă ale instalatorului va permite utilizarea infrastructurii standard Fedora pentru compilarea instalatorului, în locul descărcării de componente gata preparate din proiectul Asahi Linux.
Regulile de formare a pachetelor pentru Fedora stabilesc că toate fișierele binare de program și bibliotecile incluse în pachetele finale trebuie să fie compilate din sursele furnizate în pachetul cu cod sursă. Această cerință este determinată de faptul că fișierele binare pot conține funcționalitate ascunsă sau modificări dăunătoare, este problematic să te asiguri de funcționalitatea lor și este imposibil să efectuezi corecții prin intermediul patch-urilor. În plus, executabilele binare și bibliotecile pot fi compilate fără utilizarea flag-urilor de compilare stipulate în Fedora, care includ anumite mecanisme de protecție și optimizare.
Sursa: opennet.ro
