How does package managers work?

Typically on Linux, applications are shared via “dependencies”, hence this reduces disk consumption compared to Windows.

What is Haiku’s package manager system like? Is it similar to Linux?

There is plenty documentation contract-work reports scattered around the haiku-os.org site. Consider to use the search function.

1 Like

The techical details can be found here: https://git.haiku-os.org/haiku/tree/docs/develop/packages/

This old blog post by mmadia gives a short overview: A brief summary of HAIKU's package management. | Haiku Project

So, a HPKG declares its dependencies and the package_daemon makes sure those dependencies are met, i.e. are downloaded if not present. That might be similar to Linux, I don’t know. What makes Haiku’s PM unique (I think) is that those compressed HPKG don’t get unpacked and their files spread to the different system folders. The packages are mounted in a package filesystem that merges the files/folders of all packages, so it appears there’s just one apps/bin/cache/data/lib/ etc. folder with all those files of the packages.
All files still being actually in their HPKG means they are not modifyable, and if the package gets removed/uninstalled all files disappear instantly as well. Nothing’s left behind (aside from user settings).

I think I got that right, corrections welcome.

4 Likes

I presented a talk at PackagingCon last month on Haiku’s package management Packaging Conference - #17 by rjzak

Echoing @extrowerk, there is a search capability :slight_smile:

5 Likes