Примеры#
Раздел собирает разобранные по шагам сценарии упаковки реальных программ в Flatpak. Каждый пример доводит до рабочей сборки, которую можно установить и запустить, и попутно показывает разрешения песочницы, зависимости и приёмы, нужные для конкретного класса приложений.
Общий путь#
Приложение из пакета репозитория - самый частый случай: программа из репозитория Astra от разбора зависимостей до установки и проверки готовой сборки.
Тулчейн как расширение SDK - тулчейн отдельным расширением к SDK: точка расширения, раскладка дерева пакета, подключение при сборке приложения.
По графическому стеку#
Примеры разбирают выбор среды выполнения и SDK, характерные разрешения и подводные камни каждого стека. Заодно они закрывают разные виды поставки: пакет репозитория, готовый deb, архив и исходники.
Приложение на Qt5 - среда
org.astra.Qt: сборка из исходников через cmake, а также варианты для готового deb поставщика и пакета из репозитория.Приложение на Qt6 - среда
org.astra.Qt6: сборка из исходников и упаковка из архива, включая то, как этот архив собрать и по каким правилам он раскладывается.Приложение на GTK - среда
org.astra.Gtk: сборка meson, перенос уже установленной в системе программы, схемы GSettings.Приложение на Electron - готовая Electron-поставка в deb: обёртка zypak из базового приложения, переименование desktop-файла и иконок, отключение самообновления.
Приложение на PySide6 - связка Python и Qt6 через базовое приложение PySide6, очистка сборки от того, что нужно только при сборке.
Отдельные случаи#
Сборка Wine-приложений во Flatpak с помощью AFT - упаковка Windows-приложения вместе с Wine в один Flatpak: готовый или портативный WINEPREFIX, скрипт-обёртка запуска, разрешения для Wine (multiarch, devel) и полный пример с игрой SuperTuxKart.