O Comitê FESCo (Fedora Engineering Steering Committee), responsável pela parte técnica do desenvolvimento da distribuição Fedora Linux, aprovou a concessão de uma exceção às regras, permitindo a inclusão no pacote do instalador asahi-installer de um arquivo executável e bibliotecas compiladas para a plataforma macOS. A exceção foi solicitada pelos desenvolvedores da edição Fedora Asahi Remix, destinada à instalação em computadores Mac equipados com chips ARM AppleSilicon.
Em vez do instalador Anaconda padrão do Fedora, o Fedora Asahi Remix utiliza seu próprio instalador asahi-installer. O processo de instalação do Fedora Asahi Remix é iniciado a partir do sistema operacional macOS já existente no computador Mac, para o qual o asahi-installer inclui um aplicativo que é executado a partir do macOS e do recoveryOS (um ambiente reduzido do macOS). Além desse aplicativo, o instalador também contém um módulo em Python, usado para extrair e colocar o firmware. O pacote com o módulo para descompactação do firmware já foi aceito no repositório do Fedora, mas a inclusão do pacote com o próprio instalador é dificultada pela necessidade de incluir nos pacotes arquivos executáveis compilados para a plataforma macOS.
Como o instalador é escrito em Python, para sua execução no macOS é necessário um interpretador Python e a biblioteca libffi, cujos códigos-fonte são disponibilizados sob licenças abertas. Uma vez que compilar esses componentes para macOS a partir de códigos-fonte em um ambiente Linux é problemático, os desenvolvedores do Fedora Asahi Remix solicitaram a concessão de uma exceção às regras, permitindo que adicionem ao pacote asahi-installer o interpretador Python já compilado para macOS (python-3.9.6-macos11.pkg) e a biblioteca libffi (libffi-3.4.6-macos.tar.gz). A adição desses arquivos ao pacote com os códigos-fonte do instalador permitirá utilizar a infraestrutura padrão do Fedora para compilar o instalador, em vez de carregar componentes prontos de terceiros do projeto Asahi Linux.
As regras de empacotamento para o Fedora determinam que todos os arquivos binários de programas e bibliotecas incluídos nos pacotes finais devem ser construídos a partir dos códigos-fonte fornecidos no pacote com os códigos-fonte. Essa exigência surge porque os arquivos binários podem conter funcionalidades ocultas ou modificações maliciosas, tornando complicado verificar sua funcionalidade e impossível corrigir por meio de patches. Além disso, arquivos executáveis binários e bibliotecas podem ser construídos sem o uso das flags de compilação prescritivas no Fedora, que incluem certos mecanismos de proteção e otimização.
Fonte: opennet.ru
