Комитетът FESCo (Fedora Engineering Steering Committee), който отговаря за техническата част на разработването на дистрибуцията Fedora Linux, одобри предоставянето на изключение от правилата, което позволява доставки в пакета с инсталатора asahi-installer на изпълним файл и библиотеки, компилирани за платформата macOS. Изключението бе предоставено по искане на разработчиците на изданието Fedora Asahi Remix, предназначено за инсталиране на компютри Mac, оборудвани с ARM процесори AppleSilicon.
Вместо стандартния инсталатор Anaconda за Fedora, в Fedora Asahi Remix е използван собствен инсталатор asahi-installer. Процесът на инсталиране на Fedora Asahi Remix започва от съществуващата на компютъра Mac операционна система macOS, затова в състава на asahi-installer е включено приложение, стартирано от macOS и recoveryOS (съкратена среда на macOS). Освен това приложение инсталаторът включва модул на Python, използван за извличане и поставяне на фърмуера. Пакетът с модула за разопаковане на фърмуера вече е приет в репозитория Fedora, но размещението на пакета с самия инсталатор затруднява необходимостта от включване на изпълними файлове, компилирани за платформата macOS.
Тъй като инсталаторът е написан на Python, за да работи в macOS, е необходим интерпретатор на Python и библиотека libffi, чиито изходни кодове се предоставят под открити лицензи. Поради трудностите при компилирането на тези компоненти за macOS от изходния код в Linux, разработчиците на Fedora Asahi Remix поискаха предоставяне на изключение от правилата, позволяващо им да добавят в пакета asahi-installer вече компилиран интерпретатор Python (python-3.9.6-macos11.pkg) и библиотека libffi (libffi-3.4.6-macos.tar.gz). Добавянето на посочените файлове в пакета с изходните кодове на инсталатора ще позволи използването на стандартната инфраструктура на Fedora за изграждане на инсталатора, вместо да се изтеглят готови компоненти от проекта Asahi Linux.
Правилата за оформяне на пакети за Fedora определят, че всички входящи в крайния пакет бинарни файлове на програми и библиотеки трябва да се изграждат от изходни текстове, предоставени в пакета с изходни текстове. Това изискване е обусловено от факта, че бинарните файлове могат да съдържат скрита функционалност или злонамерени изменения, трудно е да се увериш в тяхната работоспособност и е невъзможно да се направят корекции с помощта на патчове. Освен това бинарните изпълними файлове и библиотеки могат да бъдат изградени без използването на предписаните в Fedora флагове за компилация, които включват определени механизми за защита и оптимизация.
Източник: opennet.ru
