I am planning on moving the install locations of all the rox-base/* and
rox-extra/* applications from their current location (/usr/lib/rox) to
something a little more FHS-correct and tolerant of multilib support.
The main reason for this change is that I got a bug from amd64 because
the /usr/lib path is hard-coded all over the place (ie, not multilib
compliant), but it's always sort of bugged me that these packages are
in /usr/lib - They're not actually libaries (except for rox-clib).
These rox applications are a new special case that don't fit into the
FHS, called "Application Directories", and I need a good place to
Please note that every rox application creates a symlink in /usr/bin
which runs the application regardless of where it exists in the
filesystem, so from an end-user perspective this doesn't really
matter. (Except a small bit of migration when I actually do move these
packages, which will be the topic for another day).
I'd like input from any interested parties on where the proper
location may be. Here are some ideas with their justifications and
problems, as I see them:
/usr/libexec/rox - libexec isn't actually in the FHS (that I could
see), and /usr/libexec is usually assumed to contain executable
code, so it may be a "safe" place to put things. That said, libexec
is considered by some to be dead or about to disappear, so it may
not be the right place to go.
/usr/rox - This isn't in the FHS either, I would be creating it. The
problem is that the FHS specifically says "Large software packages
must not use a direct subdirectory under the /usr hierarchy."
/opt/rox - This is FHS-safe, but the gentoo convention is to
reserve /opt for binary packages only, and these appdirs are not.
/usr/bin/rox-desktop - This may be the most correct, since the FHS
does allow subdirectories here, and doesn't explicitly prohibit new
ones. Also, these are actually executable commands. The problem is
that (at least considering my currently installed packages) no one
else has created any subdirectories in /usr/bin. I don't know if
that's a problem. Also, I can't use the name 'rox' in this place
because that conflicts with a filename from rox-base/rox.
I'm currently tending toward one of the last two, but am open to
suggestions to persuade me toward or away from any of these, or
any other, better suggestion.
Inside this new location I will be further reorganizing the packages so
most apps will be inside an 'Apps' subdirectory of this new location,
and rox-lib will be in a 'lib' subdirectory.
Now, one last thing to consider is rox-clib, which is actually a C
library. However, thanks to the way rox software works with application
directories, it doesn't need to be in the normal library search
path at all to function properly. I think that it would make
sense then for me to also take it out of /usr/lib altogether, and
instead put it alongside rox-lib in the new location. It already has
an internal directory structure that provides a unique location for any
32- versus 64-bit versions of itself.
Thanks for your help!
 http://article.gmane.org/gmane.linux.gentoo.devel/44751 (and others)
Gentoo/Linux Developer (rox)