Основні поняття Flatpak
Ідентифікатор програми
Кожній програмі потрібен унікальний ідентифікатор програми ID, який заснований на зворотньому доменному імені. Для прикладу org.gnome.Maps
. Усі ресурси, які експортовані програмою, повинні бути встановлені з використанням цього ідентифікатора. Сюди входить desktop file, файл програми для самої програми та будь-які іконки, на які посилається файл робочого столу.
Appdata
Файл програми для Flatpak використовується для відображення інформації про програму перед встановленням. Див. Fedora Packaging Guidelines for AppData Files.
Середовища виконання і пов’язані бібліотеки
При виконанні програми з Flatpak, файли, які бачить програма, зберігаються у двох місцях:
-
The Flatpak runtime, mounted at
/usr
. This contains libraries and data files shared by all Fedora Flatpaks. There are runtimes for each Fedora release. -
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 rebuilding them for flatpaks.
RPM builds
Packaging flatpaks in Fedora makes use of RPM builds. The application and bundled libraries are rebuilt in Fedora’s build system (Koji) with a special build target - this gives a couple of advantages:
-
The same RPM spec file used to create the regular RPM build is also used to create the Flatpak RPM build.
-
The Flatpak RPM build target has a different buildroot configuration with macros that result in RPMs being built with a prefix of
/app
.
Note that Flatpak RPM builds will not work outside the Flatpak context, since they are rebuilt with a prefix of /app
with the same name as system libraries - you cannot use dnf install
to install them.
Образи OCI
Середовища виконання і програми Flatpak для Fedora збирають як образи OCI і поширюють за допомогою https://registry.fedoraproject.org. Це надає змогу працювати з Flatpak у спосіб, який є дуже подібним до контейнерів на боці сервера. (Крім того, пакунки Flatpak поширюються за допомогою ostree.)
Want to help? Learn how to contribute to Fedora Docs ›