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

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

  • The module has a different buildroot configuration with macros that result in RPMs in the module being built with a prefix of /app.

  • The application author is in control of the particular versions of libraries that are included. Even if your application is built on the f33 runtime, you can use libraries from a newer or older version of Fedora, if required by your application.

Note that Flatpak modules will not work outside the Flatpak context, since they contain RPMs rebuilt with a prefix of /app with the same name as system ibraries - you cannot use dnf module enable to install them.

OCI Images

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