Peter Apian-Bennewitz wrote:
Francesco Anselmo wrote:
>According to the File System Hierarchy Standard the executables are
>copied to /usr/bin, the library files are put inside /usr/share/radiance,
>the man files are sent to /usr/share/man and all the documentation
>is saved inside /usr/share/radiance/doc.
>
Well- thanks for your work, especially the upcoming static version and
the pmap binaries. Roland will surely appreciate that. Your link was
added to the list of binaries at radiance-online.
However, FHS (http://www.pathname.com/fhs/2.2/fhs-3.12.html) recommends
//opt is reserved for the installation of add-on application software
packages/. , which is pretty much the category for Radiance.
Solves the conflict with vim's rview too, users could add the Radiance
path before the standard directories, getting Radiance's rview.
Well, Peter was quicker to post this short reply while I was
still typing out all the details and arguments. Anyway, here
we go:
Personally, I'm very uncomfortable with Radiance spreading
several hundred files all across /usr/*. There are simply too
many of them for this to be a good idea. But looking at the FHS
specification, there's an obvious alternative:
http://www.pathname.com/fhs/2.2/fhs-3.12.html
3.12 /opt : Add-on application software packages
3.12.1 Purpose
/opt is reserved for the installation of add-on application
software packages.
A package to be installed in /opt must locate its static files
in a separate /opt/<package> directory tree, where <package> is
a name that describes the software package.
3.12.2 Requirements
"/opt" "Add-on application software packages"
<package> Static package objects
Radiance *is* an "add-on application software package", right?
So I would suggest to all the folks packaging Radiance for *nix
based systems to simply to this:
/opt/radiance3.5/bin/*
/opt/radiance3.5/share/lib/*.cal
/opt/radiance3.5/share/lib/*.pic
/opt/radiance3.5/share/lib/*.dat
/opt/radiance3.5/share/demo/*/*
/opt/radiance3.5/share/doc/ps/*.ps
/opt/radiance3.5/man/man#/*.#
And eventually:
/opt/radiance3.5/lib/*.#.so
/opt/radiance3.5/lib/*.h
This has several advantages:
- We don't need to worry about name space clashes with other
software (eg. rview with vim). The choice is simply made by
placing one bin directory in front of the other in your PATH.
- You can install and use several different Radiance versions on
the same machine, by the same selection method.
- Installation is easy with or without any sophisticated package
manager (installing in /usr/* is completely unmanageable
without one).
- You can uninstall by removing a single directory (or through a
pagkage manager if you prefer).
Disadvantages:
- Currently, I think the default library paths etc. are
hardcoded into the executables, which means you need to decide
about their location at compile time.
Actually, this is not so much a disadvantage of installing in
/opt, but simply a feature of Radiance that we might want to
improve on.
It would probably be a good idea for Radiance to automatically
add the standard directories to RAYPATH, if they are found
relative to the location of the executed binary. So if eg. rpict
is run from /opt/radiance3.5/bin/rpict, then it would expect
*.cal files to be found in /opt/radiance3.5/share/lib, and prefer
to run eg. xform from its own directory. This would simplify the
use of parallel installations considerably.
-schorsch
···
--
Georg Mischler -- simulations developer -- schorsch at schorsch com
+schorsch.com+ -- lighting design tools -- http://www.schorsch.com/