New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add RequireRef to pull in target app of extension #5768
base: main
Are you sure you want to change the base?
Conversation
b8abb14
to
59ea5bc
Compare
Also refactored op_get_runtime_ref a bit. If the extension needs to run an apply-extra script, and it specifies RequireRef, we don't need to pull in the runtime, just the ref because the ref will pull in the target's runtime as well. Fixes flatpak#4566
59ea5bc
to
58f34d0
Compare
I am still not convinced #4566 is an actual bug. How does that work with |
It doesn't need to. Those kinds of extensions could still exist. This is an opt-in feature for extensions that require their target app. For example, installing a gimp plugin without gimp is not useful. This isn't a breaking change, just another flag. Look at the included test. |
What happens if this GIMP plugin is compatible with other apps than GIMP?
|
It can be used by other applications without restriction.
You install an extension and if it specifies a
There's no need to check; an extension defines a If that's inappropriate for an extension because there is no single definitive requirement, then it should not opt-in for this behaviour. |
The app that is pulled in is the one defined in Confusingly, the way to define the ref above is using the
It looks like a 2 step install where the app is installed before the extension. If the runtime is missing too, it's a 3 step install.
I think the use case here are for 1:1 extensions that only have one supporting app. Like I said earlier, this is opt-in. The many-to-one extensions don't have use for this. This kind of relationship already exists in the inverse context with the |
Also refactored op_get_runtime_ref a bit. If the extension needs to run an apply-extra script, and it specifies RequireRef, we don't need to pull in the runtime, just the ref because the ref will pull in the target's runtime as well.
Fixes #4566