Some extensions are used against multiple runtimes like org.gtk.Gtk3theme and org.freedesktop.Platform.GL.nvidia.
Since 1.6 is being phased out we are encountering a situation where these extensions are pulling in the old runtime even though it got pulled in by 19.08 for example.
One possible solution is to add metadata saying that the extension point has no runtime ("--metadata=NoRuntime") similar to the existing metadata the nvidia extension already uses.
EDIT: Actually using metadata to solve this is problematic for the gtk themes since that requires updating 100 packages...
Hmm, this is a regression from https://github.com/flatpak/flatpak/pull/2954
Before that we never installed runtimes that an extension depends upon, because that is not generally needed, since you never run the extension directly.
I think we should change this code to only pull the extension if the extension uses extra-data.
Eh, only pull the runtime i mean.
I don't think that solves the problem with the NVIDIA driver extension, or the openh264 extension (when I actually find time to finish it). Neither of these extensions (will, in the openh264 case) actually need a runtime installed to install themselves. Perhaps it could be restricted to "only pull the runtime if the extension uses extra-data AND the extension does not specify NoRuntime in the ExtraData metadata"?
Yeah, that too.
Most helpful comment
I don't think that solves the problem with the NVIDIA driver extension, or the openh264 extension (when I actually find time to finish it). Neither of these extensions (will, in the openh264 case) actually need a runtime installed to install themselves. Perhaps it could be restricted to "only pull the runtime if the extension uses extra-data AND the extension does not specify
NoRuntimein the ExtraData metadata"?