Tiempos de ejecución del empaquetado
Como nosotros hemos visto, cada objetivo de Flatpak tiene un tiempo de ejecución particular, que provee de librerías compartidas, librerías, y archivos de datos que serán montados en /usr
cuando Flatpak esté corriendo.
Todos los Flatpaks en Fedora tienen como objetivo un tiempo de ejecución llamado`org.fedora.Platform`. Utilizando un solo tiempo de ejecución que simplifica el mantenimiento y evita que los usuarios tengan que descargar múltiples tiempos de ejecución. En general, no tendrás que modificar este tiempo de ejecución cuando se cree una aplicación, ya que los paquetes que lo necesiten se incluirán en la aplicación. Sin embargo, si encuentras un error en el tiempo de ejecución y quieres ayudar a repararlo, o quieres participar en el mantenimiento de los tiempos de ejecución de Fedora, entonces es muy útil que sepas cómo se construyen los tiempos de ejecución.
Además de org.fedora.Platform
, tiene otros tres tiempos de ejecución incluidos en la infraestructura de Fedora.
org.fedoraproject.Sdk
-
Este es un SDK que se extiende de
org.fedora.Platform
con compiladores y ficheros de cabecera que permiten la construcción de aplicaciones utilizando la herramienta flatpak-builder. org.fedoraproject.BasePlatform
-
Este es un tiempo de ejecución muy pequeño. Es similar al tiempo de ejecución
org.freedesktop
. La idea de este tiempo de ejecución es que establece un conjunto de paquetes que se puede transferir a un tiempo de ejecución enterprise-linux y que tendrá un soporte y estabilidad duradera. org.fedoraproject.BaseSdk
-
El SDK correspondiente a
org.fedoraproject.BasePlatform
Los tiempos de ejecución están definidos en una manera similar en Flatpaks. El contenido de los tiempos de ejecución están definidos en el módulo de flatpak-runtime. Los diferentes perfiles del módulo contienen diferentes tiempos de ejecución.
A continuación se describe la forma en la que se organizarán las cosas. Actualmente, solo se construye un tiempo de ejecución principal llamado flatpak-runtime, y está definido directamente en modules/flatpak-runtime
|
Entonces los tiempos de ejecución se integran en los contenedores - pero desde que haya múltiples contenedores construidos por el mismo tiempo de ejecución, simplificar tanto la definición del módulo como la del contenedor en un solo repositorio de git no funcionará. En cambio, las definiciones de los contenedores se encuentran en repositorios git separados: flatpaks/flatpak-runtime
. flatpaks/flatpak-sdk
. flatpaks/flatpak-base-runtime
. flatpaks/flatpak-base-sdk
. Estos repositorios de git deben mantenerse sincronizados con el módulo de tiempo de ejecución, pero no necesitan modificarse muy a menudo.
La lista de paquetes en flatpak-runtime.yaml
está mantenida con scripts que se encuentran en el módulo flatpak-runtime. La idea es que los contenidos del tiempo de ejecución debería ser un superconjunto del tiempo de ejecución org.gnome.Platform
, que además contiene librerías que se utilizan por las aplicaciones populares que no pertenecen a GNOME, como QT% y SDL. Para más información sobre estos scripts de mantenimiento, puedes mirar el README.md del módulo.
La definición del módulo para flatpak-runtime
tiene una sección en xmd que incluye información extra que se utilizará cuando se construya la aplicación, permitiendo como resultado que Flatpak automáticamente detecte el tiempo de ejecución y la versión correcta sin necesitar declararlo de forma separada.
Want to help? Learn how to contribute to Fedora Docs ›