Closed fabianloewe closed 7 years ago
Besides aesthetic beauty, is this really a problem? AppImage is not optimizing for memory or storage efficiency (use Flatpak if these are your main concerns), but for convenience/ease-of-use (no management tools needed), portability (one file = one app), and robustness (don't have to fiddle around).
What is so bad about, say, Scribus and Inkscape both coming with their private bundled Python environment? It is a big advantage that the person putting together an AppImage can decide what goes inside, and can rely on specific (patched, if needed) versions.
Yes, it is not but it should give the user the option to do so if you ask me. A packager or developer usually decides what goes into it in the hope of targeting as many distributions as possible. An user could optimize it a lot better for his/her system (maybe also using other implementations) or use the generic one for sharing etc. .
It isn't supposed to be a 'must-have'/'must-do' feature, just a nice option to have. I don't want to make people to have to download the daemon I just want to give them more possiblities to work with their AppImages.
The option is there already now:
--appimage-extract
on the newer type 2 images)appimagetool
)Ok, that's true. I actually forgot to have this option. My fault...
The idea is to be able to add and remove content of an AppImage with the appimagetool or automatically if the appimaged is installed.
Problem: Duplication of files/runtimes/interpreters
Example: Multiple Python apps might come in the future with Python packed into the AppImage. Most modern Python apps use Python 3 today and may then ship the same version.
Solution: It would be nice to have the possibility of locally cutting out stuff you already have installed or present in other AppImages. If you want to share your image with somebody or copy it to another computer you could repack it to its initial state so it works again on every Linux distribution.
Pro:
Contra:
Additional thoughts: Maybe it shouldn't be allowed to repack an AppImage so you would instead have to download the official image. This could improve security by not allowing to embed malicious payloads.