Empaquetage des environnements d’exécution
As we’ve seen, each Flatpak targets a particular runtime, which provides shared binaries, libraries, and data files, and is mounted at /usr
when the Flatpak is run.
Tous les Flatpak de Fedora ciblent l’environnement d’exécution org.fedora.Platform
. L’utilisation d’un seul environnement d’exécution simplifie la maintenance et évite aux utilisateurs d’avoir à télécharger plusieurs environnements d’exécution. En général, vous n’aurez pas besoin de modifier cet environnement d’exécution lors de la création d’une application, puisque tous les paquets supplémentaires dont vous aurez besoin seront fournis avec l’application. Toutefois, si vous trouvez un bogue dans l’environnement d’exécution et que vous souhaitez aider à le corriger, ou si vous voulez participer à la maintenance des environnements d’exécution Fedora, il est utile de savoir comment les environnements d’exécution sont construits.
In addition to the org.fedora.Platform
, three other runtimes are built in Fedora infrastructure
org.fedoraproject.Sdk
-
This is a SDK that extends
org.fedora.Platform
with compilers and header files to enable building applications against it using the flatpak-builder tool. org.fedoraproject.BasePlatform
-
This is a smaller runtime. It is similar to the upstream
org.freedesktop
runtime. The idea of this runtime is that it establishes a package set that can be carried over into an enterprise-linux runtime that will have long-term support and stability. org.fedoraproject.BaseSdk
-
The SDK corresponding to
org.fedoraproject.BasePlatform
Les environnements d’exécution sont définis de manière similaire aux Flatpak. Le contenu des environnements d’exécution est défini dans le module flatpak-runtime. Les différents profils du module définissent les différents environnements d’exécution.
ce qui suit décrit la façon dont les choses seront organisées. Actuellement, seul le flatpak-runtime principal est construit, et est défini directement dans modules/flatpak-runtime
|
Ensuite, les environnements d’exécution sont intégrés dans des conteneurs — mais comme il y a plusieurs conteneurs construits pour le même environnement d’exécution, la simplification consistant à avoir à la fois le module et la définition du conteneur dans un seul dépôt git ne fonctionne pas. Au lieu de cela, les définitions des conteneurs se trouvent dans des dépôts git séparés : flatpaks/flatpak-runtime
, flatpaks/flatpak-sdk
, flatpaks/flatpak-base-runtime
et flatpaks/flatpak-base-sdk
. Ces dépôts git doivent être étroitement synchronisés avec l’environnement d’exécution, mais n’ont pas besoin d’être modifiés très souvent.
Les listes de paquets dans flatpak-runtime.yaml
sont maintenues avec des scripts qui se trouvent également dans le module flatpak-runtime. L’idée est que le contenu de l’environnement d’exécution devrait être un surensemble de l’environnement d’exécution org.gnome.Platform
, avec l’ajout de bibliothèques qui sont fréquemment utilisées par des applications populaires non-GNOME, telles que qt5 et SDL. Pour plus d’informations sur les scripts de maintenance, voir README.md dans le module.
The module definition for flatpak-runtime
has an xmd section that includes extra information that is used at application build time to allow the resulting Flatpak to automatically depend on the right runtime and version without requiring it to be separately specified.
Want to help? Learn how to contribute to Fedora Docs ›