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.