Концепции Flatpak
Идентификатор приложения
Каждому приложению необходим уникальный идентификатор приложения, основанный на обратном доменном имени. Например, org.gnome.Maps
. Все ресурсы, экспортируемые приложением, должны иметь префикс этого идентификатора. Сюда входят desktop file, файл данных приложения и любые значки, на которые ссылается файл desktop.
Смотрите Picking an application ID.
Данные приложения
Файл данных приложения для Flatpak используется для отображения информации о приложении перед установкой. См. Fedora Packaging Guidelines for AppData Files.
Среды выполнения и связанные библиотеки
Когда Flatpak выполняется, файлы, которые видит приложение, поступают из двух мест:
-
Среда выполнения Flatpak, смонтированная в
/usr
. Она содержит библиотеки и файлы данных, общие для всех пакетов Flatpak Fedora. Для каждого выпуска Fedora существует одна среда выполнения. -
The Flatpak application, mounted at
/app
. This contains the application code itself, but also contains any libraries that are bundled with the application. The application and libraries must be rebuilt with this prefix - this is done by including them in your module.
Модули
Для пакетов Flatpak в Fedora используется Модульность. Приложение и связанные библиотеки встроены в модуль — это дает пару преимуществ:
-
The module has a different buildroot configuration with macros that result in RPMs in the module being built with a prefix of
/app
. -
The application author is in control of the particular versions of libraries that are included. Even if your application is built on the
f37
runtime, you can use libraries from a newer or older version of Fedora, if required by your application.
Note that Flatpak modules will not work outside the Flatpak context, since they contain RPMs rebuilt with a prefix of /app
with the same name as system ibraries - you cannot use dnf module enable
to install them.
Образы OCI
For Fedora, Flatpak runtimes and applications are built as OCI Images and distributed via https://registry.fedoraproject.org. This allows Flatpaks to be handled in a very similar way to server side containers. (Flatpaks are also commonly distributed via ostree.)
Want to help? Learn how to contribute to Fedora Docs ›