Having something like the bin directory is very useful because then a multiuser system can use binaries from anywhere in the system. This is something missing from UniVerse and multivalue in general it seems. There is no way to have a set of utilities available outside of the master dictionary and the master dictionary is local to the account. To access things outside the account you need to add Q pointers.
This means that one way of creating a set of utilities is to create a new account for just those utilities and then adding q pointers to that account and then cataloging programs against that account. This means that when you catalog you can overwrite existing records with no way of getting it back. At least with linux, you can overwrite binaries via the path but you always have the original available just higher up in the path.
I’m thinking about adding a new account for my package manager and having it install things in that account. Then you can use the package manager to run things. This way you can not pollute your master dictionary. You would also have the option of running an enable command that would catalog the package in the current account. This way you can add things to your local master dictionary without having to go through package manager. This method seems like the best way to install a bunch of utilities to many different UniVerse installation.
This would also let me freely write programs with dependencies. So far I’ve written my programs with the idea that they should be single files so that it is easier to move them around and safer to have them as I won’t be overwriting existing programs.
Still not a fan of this idea however and I’m still mulling over having to create an account. Ideally I’d like to just create a directory to install to and have UniVerse pick up binaries from it rather than have to create an account, create Q pointers and then catalog against it if need be.