Conceptos de Flatpak

ID de la aplicación

Cada aplicación necesita de un identificador único de aplicación (ID), basado en un dominio de nombre reservado. Por ejemplo, org.gnome.Maps. Todos los recursos se exportan por la aplicación que debe prefijarse por este identificador. Este incluye el fichero desktop, el fichero de appdata para la aplicación, y multitud de iconos que estén referenciados por el fichero desktop.

Appdata

El fichero appdata para un Flatpak se utiliza para mostrar información acerca de la prioridad de la aplicación en la instalación. Mira en Normas de los ficheros de AppData de empaquetado de Fedora.

Tiempos de ejecución y combinaciones de librerías

Cuando se ejecuta un Flatpak, los ficheros de la aplicación vienen desde dos lugares:

  • El Flatpak_runtime_, está montado en /usr. Este contiene las librerías y archivos de datos compartidos por todos los Flatpaks de Fedora. Este es una versión del tiempo de ejecución para cada versión de Fedora liberada.

  • La Flatpak_application_, se monta en /app. Este contiene el código de la aplicación en sí misma, pero también contiene todas las librerías que están combinadas con la aplicación. La aplicación y las librerías debe estar integradas con este prefijo - este está terminado para incluirlos como su módulo.

Módulos

El empaquetado de flatpaks en Fedora hace uso de Modularidad. La aplicación y el manojo de librerías están construidas en un módulo - esto da un par de ventajas:

  • El módulo tiene una configuración de buildroot diferente con macros que dan como resultado que los RPMs en el módulo se construyen con un prefijo /app.

  • El autor de la aplicación tiene el control de las particulares versiones de las librerías que se incluyen. Incluso si su aplicación se basa en el tiempo de ejecución f37, usted puede usar librerías desde una versión de Fedora más nueva o más antigua si es requerido por su aplicación.

Advierta que los módulos Flatpak no trabajarán fuera del contexto Flatpak, ya que contienen los RPMs reconstruidos con el prefijo /app y el mismo nombre de las librerías del sistema - no puede usar dnf module enable para instalarlos.

Imágenes OCI

Para Fedora, los tiempos de ejecución y las aplicaciones Flatpak están construidas como Imágenes OCI y distribuidas por medio de https://registry.fedoraproject.org. Esto permite que Flatpaks sea manejado de un modo muy similar a los contenedores del lado servidor. (Flatpaks también se distribuye comúnmente por medio de ostree.)