> I see a problem with ports however. Due to the way *nix software is > typically organized, absolute paths are often compiled into the > application. The prefix that is currently used when building this > software is /boot/common. This requires the software to be actually > installed to this location. While this might not be a major problem > at the moment, but once Haiku is multi-user capable, users will not > be able to run these applications without having the administrator > install them to /boot/common. > > I don't think this can be solved by means of links, as users can not > create these if they do not have the necessary permissions. Plus > links are not user local, but system wide. > > In > //www.freelists.org/post/haiku-development/software-management-proposal > I proposed to implement assigns (yes, again from AmigaOS :). A port's > prefix could then be set to "/portname-portversion-portrevision". The > assign is simply a virtual directory that points to a real directory > on the filesystem. There would be both system wide assigns and user > local assigns. > > As for the handling of dependencies and the search PATH, assigns > could be useful too as I described in that same thread. This would > require an equivalent to AmigaOS' assign ADD capability. > > Perhaps there are other possibilities? I found the RISCos approach to be quite interesting: each program is contained in a folder, and is lauched when you click that folder. These folders name start with ! to mark them (like . for hidden files). This allows for easy install/copy/uninstall of the program. But i'm not sure how that can be applied to Haiku. Anyways, assigns are a really nice and useful feature, and I would enjoy having it in haiku. Note that amigaos assigns PROGDIR: to the direcory where the executable is. This is a special program-wide assign that will point to a different directory for each running program. This way it does not cripple the user-wide assigns list with an entry for each running program.