Výbor FESCo (Fedora Engineering Steering Committee), zodpovědný za technickou část vývoje distribuce Fedora Linux, schválil poskytnutí výjimky z pravidel, která umožňuje dodávat do balíčku s instalačním programem asahi-installer spustitelný soubor a knihovny, které byly sestaveny pro platformu macOS. Výjimka byla poskytnuta na žádost vývojářů edice Fedora Asahi Remix, určené pro instalaci na počítače Mac vybavené ARM čipy Apple Silicon.
Místo standardního instalačního programu Anaconda pro Fedoru je v edici Fedora Asahi Remix použit vlastní instalační program asahi-installer. Proces instalace Fedora Asahi Remix se zahajuje z již existující operačního systému macOS na počítači Mac, k čemuž je součástí asahi-installer aplikace, která se spouští z macOS a recoveryOS (omezené prostředí macOS). Kromě této aplikace instalační program také obsahuje modul v jazyce Python, který se používá pro extrakci a umístění firmwaru. Balíček s modulem pro rozbalení firmwaru byl již přijat do repozitáře Fedora, ale umístění balíčku se samotným instalačním programem brání nutnost umístění spustitelných souborů, které byly sestaveny pro platformu macOS.
Protože je instalační program napsán v jazyce Python, k jeho spuštění v macOS je vyžadován interpret Pythonu a knihovna libffi, jejichž zdrojové kódy jsou dodávány pod otevřenými licencemi. Vzhledem k tomu, že sestavení těchto komponent pro macOS ze zdrojových kódů v prostředí Linux je problematické, vývojáři Fedora Asahi Remix požádali o poskytnutí výjimky z pravidel, která by jim umožnila přidat do balíčku asahi-installer již sestavený interpret Pythonu (python-3.9.6-macos11.pkg) a knihovnu libffi (libffi-3.4.6-macos.tar.gz). Přidání uvedených souborů do balíčku se zdrojovými kódy instalačního programu umožní využít standardní infrastrukturu Fedory pro sestavení instalačního programu místo stahování již hotových komponent od projektu Asahi Linux.
Pravidla pro balení balíčků pro Fedora stanovují, že všechny binární soubory programů a knihoven zahrnuté v konečných balíčcích musí být sestaveny ze zdrojových textů dodávaných v balíčku se zdrojovými texty. Tento požadavek je založen na tom, že binární soubory mohou obsahovat skrytou funkčnost nebo škodlivé změny, je problematické ověřit jejich funkčnost a není možné provádět opravy pomocí záplat. Kromě toho mohou být binární spustitelné soubory a knihovny sestaveny bez použití předepsaných vlajek kompilace ve Fedoře, které zahrnují určité mechanismy ochrany a optimalizace.
Zdroj: opennet.ru
