Flatpak

Builder has a small amount of Flatpak integration. We would like to push this heavily for 3.22.

Goals

  • We need to support the flatpak build-finish command
  • We need to add UI to the configuration system to enable filesystem, network, and other sandbox escapes for xdg-app.
  • We want to be able to export an Flatpak as a static delta, that can be distributed.
  • We want to be able to build an entire project, including its dependencies in the xdg-app build root.
    • This requires some basic Build API integration, and the ability to use xdg-app-builder
  • It should be possible to keep your xdg-app runtime/sdk ostree in sync with a remote
  • BONUS: Deploy to an external device using `adb'
  • BONUS: Deploy your project to a web server of your choice

Build Process

We want to reuse the flatpak-builder as much as possible. However, we don't want to use it for building the application in Builder for a couple reasons. First, it doesn't get us incremental builds. Second, it would require that we export/commit changes before every build. This would be extra problematic for non-git version control systems (such as a plain directory with no VCS).

So the first step would be to build up to the application dependency. flatpak-builder now has an option called --stop-at which provides exactly this. We just need to figure out how to know what the app-id is that we need to stop at. (Maybe this belongs in .buildconfig).

We should be able to use flatpak build-finish as normal since the flatpak-builder and flatpak build will use the same directories for building.

Apps/Builder/Flatpak (last edited 2016-08-26 03:45:55 by ChristianHergert)