Although Haiku has a good package management, and knowing the [common insert untrusted binary download warning here] that we know about, would be interesting to have some kind of bundled app that include the required dependencies for big apps?
Something like AppImage on Linux (or FlatPak/Snappy, but those require a server, i mean ones for standalone apps), or just port the AppImage tools to make Haiku AppImages.
Note: not remove/replace packages, but for an alternative way to have apps on the system
Ps: The world is quite small, and seems like Alexander Larsson is the author of a precursor of FlatPak and also the same author for the Broadway backend i talked about in the GTK3 topic.
Well, why not just copy packages? Thatās usually what I do and itās easy enough, provided the systems are the same hrev. Packages usually have what they depend on, so itās usually just a matter of rounding up what you need into a folder or what not and copying it.
Personally, Iām usually very open minded about new ideas, but after all the work put into the PackageFS, itād be a shame to slow down Haiku development to pursue app images. Just my little opinion. And maybe others might think AppImage or the like is a wonderful idea. So, anyways, thatās just meā¦
A lot of Windows applications are still distributed as a zip file with the executable as well as every dll file that the application depends on. You can extract it anywhere you want and itās ready to be used. I would very much like to see more of this in Haiku.
That may not be a good idea in long-term use since what happens with most users is that they will be scattered almost everywhere throughout the file system. Many will be in the Downloads/User/Home folder, others on the desktop, in a different drive, some seemingly random location, et cetera. Perhaps something like AppImage (if not that per se) would be the better approach, where all the files are stored in a container format (not containers) that can just be brought around and executed instead of extracting the contents and creating a mess.
Because you cant have (that i know of) a GTK2 application that uses cairo 1.13.x (providing pkg-config library ācairoā) and this new app GTK3 that rocks but requires cairo 1.14.12 (same ācairoā pkg-config name). You can, so statement is not a good example.
Also, because there might not be a recipe yet for a dependency.
If the packages are available, then yes, packages all the way, just pkgman-em.
Just imagine trying to play a Linux game that came out 10 years ago and hasnāt received any updates. It would take weeks to gather all the libraries it needs, if it would at all be possible to play.
You can distribute your hpkg and the package manager will automatically download dependencies when users install it. So it works just as an AppImage: double click to install, then run. Escept it also allows us to distribute security updates without relying on the application developers to do so.
Of course you can on Haiku. We ship libpng 1.2, 1.5 and 1.6 side by side for backward compatibility with old BeOS and Haiku apps, for example. We can do the same for Cairo if it ends up being needed.
You can have development files installed only for one version, but the lib can have multiple versions.
As i spent most of my time on the porting / dev side, i think i just found the ādevelopment filesā part (hence why I imagined that several versions were not so possible). Glad to be wrong.
Also, i dont mean remove package system (it works and it does very well), nor replace it.
I just meant having an alternative way of bundle one app, for one time or only some times usage, or whatever, not so much as āinstallā.
Like my portable apps on windows, or the Etcher app thatās recommended for usb flashing of haiku.
Just put the needed files in a .zip and call it a day then. No need for something fancier. By default the OS will find libs in a ālibā folder next to the executable so you can just put your libs there.
There isnāt much point in doing that nowadays I think, but itās the way BeOS apps worked and itās of course still supported. There is no need for a custom bundle thing when a plain zipfile does everything we need, right?
Oh yeah man, that would solve a lot of use cases for what i meant.
I dont know why it wasnt done with the standard env variables for lib āpreloadā, but i would take it.
Will the os look on the lib folder before or after checking the ācommonā lib paths?
Hello, AppImage lead here. AppImage is just like a zip file except that you donāt have to unpack it because it is a self-mounting filesystem like dmg on macOS.
Being able to execute programs from random locations is the great thing, really. Myself, I like to execute applications from USB thumb drives and network shares, for example.
The real question here is whether Haiku supports FUSE. If yes, then porting AppImage to Haiku should not be a problem.