Google ha empezado a probar el empaquetado Flatpak para Chrome y Chromium en Linux. El código experimental, integrado esta semana en el repositorio de Chromium, permite generar versiones del navegador en este formato de distribución universal, aunque la compañía insiste en que todavía no se trata de un compromiso de soporte oficial. La prueba busca, sobre todo, evaluar configuraciones de sandboxing más restrictivas y ampliar el uso de los portales XDG.
El cambio lo firma Tom Anderson, del equipo de navegadores de Google, que el 25 de agosto fusionó el soporte experimental en el árbol principal de Chromium. El propio mensaje del cambio precisa que la prioridad es facilitar pruebas internas: comprobar cómo se comporta el navegador dentro de un entorno con permisos reducidos y hasta qué punto puede aprovechar los portales XDG.
Qué cambia en el código de compilación de Chromium
La nueva carpeta chrome/installer/linux/flatpak/ agrupa los scripts de empaquetado, las plantillas de metadatos, la información de AppStream y el punto de entrada del lanzador que necesita cualquier paquete Flatpak para funcionar. Para activarla, el sistema de compilación GN incorpora el argumento enable_flatpak , desactivado por defecto, de modo que las compilaciones habituales de Chrome y Chromium no se ven afectadas mientras el experimento siga en marcha.
Vamos a ver qué implica activar ese argumento: el empaquetado para Flatpak omite los elementos pensados para integrarse con el sistema anfitrión, como los archivos de escritorio a nivel de sistema, los enlaces simbólicos en /usr/bin , los metadatos de AppStream, las entradas de aplicaciones predeterminadas de GNOME, las páginas de manual y los perfiles de AppArmor. El script common/installer.py añade además un mapeo de identificadores propio para cada variante: org.chromium.Chromium* para el proyecto de código abierto y com.google.Chrome* para el navegador de Google.
La plantilla common/desktop.template se ha generalizado para admitir tanto los comandos de ejecución dentro de un contenedor Flatpak como los de una instalación tradicional en todo el sistema, y en las compilaciones no oficiales se desactivan el sandbox setuid y la compresión zlib, dos ajustes que facilitan las pruebas dentro de este entorno restringido.
Los portales XDG explican en parte por qué esta vía interesa a Google: son la capa estándar que permite a una aplicación aislada, como las empaquetadas en Flatpak, acceder a recursos del sistema (archivos, cámara, notificaciones) sin necesidad de permisos amplios, porque la propia plataforma intermedia esas peticiones en nombre del usuario.
Por qué Flatpak interesa fuera de Debian y RPM
Como bien sabéis quienes seguís el ecosistema Linux, el formato Flatpak empaqueta la aplicación junto a sus dependencias dentro de un entorno aislado, lo que facilita instalarla en distribuciones distintas sin depender de si usan base Debian, RPM u otra. Para un proyecto tan extendido como Chromium, esta vía podría abrir una alternativa a las compilaciones específicas de cada distribución y a los paquetes de terceros que hoy cubren parte del hueco en distribuciones minoritarias.
En el ecosistema Linux convive Flatpak con otros formatos de distribución multiplataforma, como Snap, impulsado por Canonical. Ambos persiguen resolver el mismo problema: evitar que cada distribución tenga que mantener su propio paquete y que el desarrollador dependa de las bibliotecas concretas del sistema anfitrión.
El código ya está fusionado en el repositorio principal de Chromium, así que si os animáis a compilarlo con el argumento enable_flatpak activado, podríais comprobar de primera mano cómo se comporta el paquete dentro de un contenedor, incluida su interacción con los portales XDG.
Por ahora no consta ninguna fecha ni canal público para probar estos paquetes: el desarrollo permanece únicamente en el código fuente de Chromium, disponible para quien quiera compilarlo con ese argumento activado.
Si el sandboxing restringido y los portales XDG funcionan sin fricciones en las pruebas internas, Google podría valorar si esta vía experimental termina convirtiéndose en una alternativa oficial de empaquetado para Linux.
