Non-packaged folder question

I continue to discover Haiku more deeply since this year and I was wondering if my understanding regarding the “non-packaged” folder is correct.

I notice that compared to system folder, this “non-packaged” folder has write permission for the user.

It means I can manually install whatever I want inside it.
For instance put a symlink of my “manual installed favorite app” in /system/non-packaged/bin/

I’ve done that for instance to have the maven (mvn) command recognized on Haiku.

Am I right regarding the usage of this folder ?

That’s pretty much what it is. By default it is pretty bare, but you can create an entire duplicate of the system hierarchy in there. apps, bin, lib, even the deskbar menu.

In case of a name conflict, “non-packaged” even gets priority IIRC.

Since you have the same thing in /home/config, it allows a lot of customisation.
Though you have to keep in mind that what you put in these folders won’t be updated. Smaller the tweak, easier it is to forget about it. And as michel says it gets priority. So, in case of troubles, it’s a good idea to check the mess you made in these folders.

Typical open source applications can be built for it –
configure --prefix=/boot/system/non-packaged/

You can see (and manage) command search order in the PATH environment variable.

2 Likes

I do a lot of checking with cmake projects for which I got a script, this also uses -DCMAKE_INSTALL_PREFIX=/boot/home/config/non-packaged, mostly these provide a uninstall option, so not much left behind after checking a new project.