Введение

Создайте свой первый Flatpak уже предоставил быструю демонстрацию того, как приложения создаются с помощью Flatpak. На этой странице представлен дополнительный общий обзор того, что задействовано.

flatpak-builder

Flatpak-builder - это основной инструмент для создания приложений Flatpak. Он позволяет вам взять исходные файлы для приложения и встроить их в приложение Flatpak. Он также позволяет одновременно создавать несколько других зависимостей, которые включаются в сборку.

Входными данными для Flatpak-builder является файл манифеста. Это определяет параметры для приложения, которое будет построено, например, его имя и среда выполнения, от которой оно будет зависеть. В манифесте также перечислены все модули, которые должны быть созданы как часть процесса сборки. Можно указать источник для каждого модуля, включая ссылки на файловые архивы или репозитории системы контроля версий. Один из модулей (обычно последний) - это сам код приложения.

Основной формат, используемый для вызова flatpak-builder:

$ flatpak-builder <build-dir> <manifest>

Где <build-dir> - это путь к каталогу, в который будет встроено приложение, а <manifest> - это путь к файлу манифеста. Содержимое <build-dir> может быть полезно для целей тестирования и отладки, но обычно рассматривается как артефакт процесса сборки.

При запуске Flatpak-builder:

  • Каталог сборки создается, если он еще не существует

  • Исходный код для каждого модуля загружается и проверяется

  • Исходный код для каждого модуля собран и установлен

  • Сборка завершается установкой разрешений для песочницы.

  • Результат сборки экспортируется в репозиторий (который будет создан, если он еще не существует).

Затем приложение можно установить из репозитория и запустить.

Наборы для разработки программного обеспечения (SDK)

Вместо создания с использованием среды хоста, приложения Flatpak создаются в отдельной среде, называемой SDK.

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

Каждая среда выполнения имеет сопутствующий SDK. Например, существует как среда выполнения GNOME 43, так и SDK GNOME 43. Приложения, использующие среду выполнения, создаются с использованием соответствующего SDK.

Как и среды выполнения, SDK иногда устанавливаются автоматически, но если вам нужно установить их вручную, они устанавливаются так же, как приложения и среды выполнения, например:

$ flatpak install flathub org.gnome.Sdk//43