Concepts propres à Flatpak

ID de l’application

Chaque application a besoin d’un identifiant unique, basé sur un nom de domaine inversé. Par exemple org.gnome.Maps. Toutes les ressources exportées par l’application doivent utiliser cet identifiant comme préfix. Cela inclut le https ://standards.freedesktop.org/desktop-entry-spec/latest/[fichier de bureau], le fichier appdata pour l’application, et toutes les icônes référencées par le fichier de bureau.

Appdata

Le fichier appdata d’un Flatpak est utilisé pour afficher des informations sur l’application avant l’installation. Voir https ://fedoraproject.org/wiki/Packaging :AppData [Directives d’empaquetage de Fedora pour les fichiers AppData].

Runtimes and bundled libraries

Lorsqu’un Flatpak est exécuté, les fichiers que l’application voit proviennent de deux endroits :

  • Le Flatpak runtime, monté dans /usr. Il contient des bibliothèques et des fichiers de données partagés par tous les Flatpaks de Fedora. Il y a une version runtime pour chaque version de Fedora.

  • Le Flatpak application, montée dans /app. Il contient le code de l’application elle-même, mais aussi toutes les bibliothèques qui sont fournies avec l’application. L’application et les bibliothèques doivent être reconstruites avec ce préfixe - cela se fait en les incluant dans votre module.

Modules

Packaging flatpaks in Fedora makes use of Modularity. The application and bundled libraries are built in a module - this gives a couple of advantages:

  • Le module a une configuration buildroot différente avec des macros qui font que les RPMs du module sont construits avec un préfixe de /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.

Notez que les modules Flatpak ne fonctionneront pas en dehors du contexte Flatpak, puisqu’ils contiennent des RPMs reconstruits avec un préfixe /app avec le même nom que les bibliothèques du système - vous ne pouvez pas utiliser la commande dnf module enable pour les installer.

Images 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.)