Skip to content

flatpak: Use FlatpakTransaction to install, remove and update

Richard Hughes requested to merge wip/hughsie/FlatpakTransaction into master

This ensures we will get the same set of extensions and runtimes as the flatpak CLI tool, and allows us to make the plugin considerably simpler. Rather than using the plugin cache for the transaction, add each app and runtime being processed to a per-transaction cache which cleans up the cache model a lot.

This allows us to remove gs_app_{g|s}et_update_runtime(); nobody every properly understood what this was doing, and it's no longer required.

The counterpart matching also gets cut out; it was a huge layering violation and didn't work very well when there were two FlatpakInstallations with the same scope. If the GsApp scope is unknown, ask each GsFlatpak instance to refine the state until it returns without error.

This also allows the runtime to use a different FlatpakInstallation than the application itself.

Merge request reports