eg. change this:
runtime: org.gnome.Platform
runtime-version: "46"
to this:
runtimes:
- org.gnome.Platform/46
- org.gnome.Platform/45
- org.freedesktop.Platform/20.08
- org.kde.Platform/5.15
Many people complain about flatpaks taking up too much space. Allowing for more runtimes to be shared between apps would take up less space. However, this has been denied.
If I am an app developer and I know my app runs on several different runtimes, why shouldn’t I be able to specify all of those runtimes? Are there technical reasons why this is a bad idea?
EDIT: I mean a list of runtimes of which one must be installed, not a list of runtimes of which all must be installed.
What do you need 45 for if it runs with 46? Update the app that’s still on 45 instead of making sure yours runs with an outdated version.
Space is one of the least concerns for me on a computer, even if it is a phone. Besides, flatpak doesn’t consume that much space anyway.
The question was, “why is this a technical limitation?” Not, “what should I do to work around the limitation?”.
OP is trying to solve no problem. I just keep her from wasting her time.
You are the only one wasting time by giving dumbass avoidance advice instead of telling us what you know.
… What insider information do you have and why do you want to keep us ignorant???
How do you know OP is a her?
If someone has 45 already installed and then installs a new app that supports 45 and 46, one would not have to download 46.
You have to download 46 eventually anyway. What if there’s a bug in 45? Why should you stick to 45 with the newer app? There’s no reason in sticking to older versions other than stability. Runtimes are stable enough.
Say you have 8 apps that require 45 and you download one that requires 46. Now you have two environments. If the new one worked on 45, you could continue with one.
I am not advocating their position but that is what they are asking for.
It could be interesting if it stuck with the most recent that all apps support. So, if all the apps supported 45 or 46 then the system would use 46 but if one of the apps only supported 45 then it would hold the rest back to 45.
The idea with Flatpaks though is that they behave the same on all distros. So think it is better to force the right environment. It does make Flatpaks wasteful though which is one of the reasons I try to avoid them personally.
I use a distribution with lots of packages that are generally up-to-date so Flatpaks are not solving a problem for me. For most other distributions, they fill a real need. There are downsides though and this duplicated environments issue is one of them.
A runtime is about 1GB, that’s 100 photos or a 2 minute video. I don’t worry about such things. Flatpak’s size is no problem.
Apps become outdated, or at least don’t get updated in time. You’re stuck on old runtimes because you want to save 1 or 2 GBs.
If you want to save space, update the outdated app. If everything is included in 46 and nothing changed, updating is straoght forward.
I do worry about it. It is not just disk space but RAM as well to have these duplicated libraries. Often that is at a premium for me.
It is also a security problem.
It is also a pain to update. Most of my systems update with a single command.
Anyway, use Flatpaks if you like. If I used a distro with a limited package library or out of date apps, I would use it too.