The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В Fedora одобрена поставка в пакете asahi-installer исполняемых файлов для macOS

29.05.2024 23:32

Комитет FESCo (Fedora Engineering Steering Committee), отвечающий за техническую часть разработки дистрибутива Fedora Linux, одобрил предоставление исключения из правил, дающего возможность поставлять в составе пакета с инсталлятором asahi-installer исполняемого файла и библиотеки, собранных для платформы macOS. Исключение предоставлено по просьбе разработчиков редакции Fedora Asahi Remix, предназначенной для установки на компьютеры Mac, оснащённые ARM-чипами AppleSilicon.

Вместо штатного для Fedora инсталлятора Anaconda в Fedora Asahi Remix задействован собственный инсталлятор asahi-installer. Процесс установки Fedora Asahi Remix инициируется из уже имеющейся на компьютере Mac операционной системы macOS, для чего в состав asahi-installer входит приложение, запускаемое из macOS и recoveryOS (урезанное окружение macOS). Помимо данного приложения инсталлятор также содержит модуль на языке Python, применяемый для извлечения и размещения прошивки. Пакет с модулем для распаковки прошивки уже принят в репозитории Fedora, но размещению пакета с самим инсталлятором мешает необходимость размещения в пакете исполняемых файлов, собранных для платформы macOS.

Инсталлятор написан на языке Python и для его запуска в macOS требуется интерпретатор Python и библиотека libffi, исходные тексты которой поставляются под лицензией MIT. Так как собирать данные компоненты для macOS из исходных текстов в окружении Linux проблематично, разработчики Fedora Asahi Remix попросили предоставить исключение из правил, разрешающее им добавить в пакет asahi-installer уже собранный для macOS интерпретатор Python (python-3.9.6-macos11.pkg) и библиотеку libffi (libffi-3.4.6-macos.tar.gz). Добавление указанных файлов в пакет с исходными текстами инсталлятора позволит использовать штатную инфраструктуру Fedora для сборки инсталлятора, вместо загрузки готовых сторонних компонентов от проекта Asahi Linux.

Правила оформления пакетов для Fedora определяют, что все входящие в итоговые пакеты бинарные файлы программ и библиотеки должны собираться из исходных текстов, поставляемых в пакете с исходными текстами. Подобное требование обусловлено тем, что бинарные файлы могут содержать скрытую функциональность или вредоносные изменения, проблематично удостовериться в их работоспособности и невозможно внести исправления при помощи патчей. Кроме того, бинарные исполняемые файлы и библиотеки могут быть собраны без использования предписанных в Fedora флагов компиляции, включающих определённые механизмы защиты и оптимизации.

После обсуждения участники комитета FESCo согласились предоставить исключение, так как в настоящее время инфраструктура Fedora не поддерживает сборку исполняемых файлов для macOS, а предлагаемые для включения в пакет готовые исполняемые файлы отдельно собираются участниками проекта из доступных исходных текстов. После появления инструментария для кросс-компиляции для macOS решение может быть пересмотрено. Принятие исключения также позволяет переместить пакет с инсталлятором в Fedora, снизив таким образом число задействованных внешних компонентов в дистрибутиве (вместо добавления внешней сборки всего инсталлятора asahi-installer дистрибутив перейдёт на внешние сборки двух отдельных артефактов из его состава, сам же пакет с инсталлятором будет собираться в Fedora).

  1. Главная ссылка к новости (https://pagure.io/fesco/issue/...)
  2. OpenNews: В Fedora 41 одобрена поставка сборки с композитным менеджером Miracle
  3. OpenNews: Опубликован Fedora Asahi Remix 40, дистрибутив для ARM-чипов Apple
  4. OpenNews: Релиз дистрибутива Fedora Linux 40
  5. OpenNews: В Fedora 41 утверждён переход на пакетный менеджер DNF5
  6. OpenNews: В Fedora 41 намечено удаление из базовой поставки сеанса X11 для GNOME
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61270-fedora
Ключевые слова: fedora, macos
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (14) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:56, 29/05/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Так как собирать данные компоненты для macOS из исходных текстов в окружении Linux проблематично

    Они смогли зареверсить железо эпл, но не смогли настроить кросскомпиляцию.

     
     
  • 2.2, Аноним (2), 00:06, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Значит, там все не так просто, не правда ли?
     
     
  • 3.3, Аноним (1), 00:17, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • –10 +/
    Кросскомпиляция в таргет макось проще, чем кросскомпиляция в таргет линукс.
     
     
  • 4.4, НяшМяш (ok), 00:19, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Откуда куда? В макось из любого хоста, не являющегося макосью, фиг скомпилишь.
     
     
  • 5.5, Аноним (1), 00:31, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как два байта переслать.

    Из любого хоста.
    1. Нужен макос сдк, который собирается в один скрипт
    https://github.com/tpoechtrager/osxcross/blob/master/tools/gen_sdk_package.sh

    2. llvm (clang + lld)
    clang --target arm64-apple-darwin main.cpp -isysroot path/to/unpacked/sdk -fuse-ld=lld

    done

    У федоры могут быть проблемы с лицензированием, вопросами, как притащить себе сдк в билд фермы, но для отдельных разработчиков процесс крайне прост.

     
     
  • 6.6, НяшМяш (ok), 00:54, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Как два байта переслать
    > У федоры могут быть проблемы с лицензированием

    Оп, противоречие.
    > для отдельных разработчиков процесс крайне прост

    Угу, найди полулегальное сдк, накидай флагов и молись, что скомпилится то что нужно без тестирования. Просто это когда передал --target=wtf-x96 и всё.

     
  • 6.7, Женя Вертолёт (?), 06:47, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > https://github.com/tpoechtrager/osxcross/blob/master/tools/gen_sdk_package.sh

    Это скрипт от Васяна? Неа, не пойдёт.

     
     
  • 7.15, нейм (?), 12:02, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так вся федора, да и рхел - это одни сплошные Васяны. Одним больше, одним меньше - какая разница
     
     
  • 8.20, Аноним (20), 14:59, 03/06/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 7.16, Аноним (16), 13:35, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Это скрипт от Васяна? Неа, не пойдёт.

    На самом-то деле не так. А то, что построенное на реверс-инженеринге проприетарной, закрытой системы почти надёжно только разве что для энтузиастов и далёким от ИТ друзьям такое не подаришь...

    Васяны очень годно делают. Отчасти уровень видно просто просмотром коммитов в репо.

    Но тут сама задача по смыслу не в возможности надёжно сделать адаптор софта от чужой системы. А смысл только в возможности смотреть идеи и алгоритмы. Чтобы писать свой собственный и другой код под другие платформы.

     
  • 6.8, srgazh (ok), 07:03, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    pushd "$XCODE_TOOLS_DIR" &>/dev/null
     
  • 2.14, n00by (ok), 11:28, 30/05/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Так как собирать данные компоненты для macOS из исходных текстов в окружении Linux проблематично
    > Они смогли зареверсить железо эпл, но не смогли настроить кросскомпиляцию.

    Они грамотно расставили приоритеты и не стали распыляться по мелочам. Заодно показали ценность одного и другого. Ради возможности использовать результат реверса без лишних приседаний даже сделали исключение из правил.

     
     
  • 3.18, leningrib (?), 15:29, 31/05/2024 [^] [^^] [^^^] [ответить]  
  • +/
    точно. тащить блоб от корпорации - это ок. и эти люди потом что-то верещат про "бизапаснасть!!!!111"
     
     
  • 4.19, n00by (ok), 15:46, 31/05/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > точно. тащить блоб от корпорации - это ок. и эти люди потом
    > что-то верещат про "бизапаснасть!!!!111"

    BLOB расшифровывается как binary large object. Бывают простые типы int (целое), char (символ) и так далее, а бывает "большой объект" какой-то. Это вообще жаргон программистов об исходниках. Так что не надо тащить всё подряд, да ещё с таким саркастичным видом - эффект отличен от ожидаемого.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру