Сборка сред выполнения (runtimes)
Как мы уже видели, каждый Flatpak использует определённую среду выполнения (runtime), которая предоставляет общие двоичные файлы, библиотеки и данные и монтируется в /usr при запуске Flatpak.
Большинство Flatpak в Fedora используют среду org.fedoraproject.Platform, которая указывается как runtime-name: flatpak-runtime в container.yaml. Она аналогична последней версии вышестоящей среды org.gnome.Platform, но с некоторыми дополнениями. Обычно изменять эту среду при создании приложения не требуется, так как все необходимые пакеты включаются в само приложение. Однако, если вы нашли ошибку в среде и хотите помочь её исправить или участвовать в поддержке сред Fedora, полезно знать, как они собираются.
Помимо org.fedoraproject.Platform, в инфраструктуре Fedora собираются ещё пять сред выполнения:
org.fedoraproject.Sdk-
Это SDK, расширяющее
org.fedoraproject.Platformкомпиляторами и заголовочными файлами для сборки приложений с использованием flatpak-builder. org.fedoraproject.KDE6Platform-
Эта среда включает Qt 6 и KDE Frameworks 6. Она аналогична последней версии 6.x вышестоящей среды
org.kde.Platform. Вcontainer.yamlуказывается какruntime-name: flatpak-kde6-runtime. org.fedoraproject.KDE6Sdk-
SDK, соответствующий
org.fedoraproject.KDE6Platform org.fedoraproject.KDE5Platform-
Эта среда включает Qt 5 и KDE Frameworks 5. Она аналогична последней версии 5.15-YY.MM вышестоящей среды
org.kde.Platform. Вcontainer.yamlуказывается какruntime-name: flatpak-kde5-runtime. org.fedoraproject.KDE5Sdk-
SDK, соответствующий
org.fedoraproject.KDE5Platform
Среды выполнения определяются аналогично Flatpak. Содержимое сред задаётся в файле container.yaml каждого репозитория: flatpaks/flatpak-runtime, flatpaks/flatpak-sdk, flatpaks/flatpak-kde6-runtime, flatpaks/flatpak-kde6-sdk, flatpaks/flatpak-kde5-runtime, flatpaks/flatpak-kde5-sdk. Эти репозитории должны быть синхронизированы друг с другом, но изменяются нечасто.
Списки пакетов в каждом container.yaml поддерживаются с помощью скриптов, которые генерируют определения для среды и SDK одновременно. Подробнее о скриптах см. README.md для flatpak-runtime и flatpak-sdk, или README.md для сред KDE.
Want to help? Learn how to contribute to Fedora Docs ›