Wichmann, Mats D wrote:
Without providing an answer to your more complex
"conditional dependency" problem, you might consider
letting the FHS guide you on placement of files...
http://www.pathname.com/fhs/:
----
/opt : Add-on application software packages
Purpose
/opt is reserved for the installation of add-on application software
packages.
Yes, it but it doesn't say that applications should or must be
installed on /opt, as far as I can tell. And it also says
It really does try to say that. It uses the terminology
add-on software as distinguished from distribution provided
application packages.
Yes, but where exactly does it say that add-on software *has to* be
installed on /opt? (I don't ask that question just to make an argument,
I really want to know.) All I could find was
/opt is reserved for the installation of add-on application software
packages.
which (I think) says that anything not classified as add-on software
must not be installed on /opt, but not that add-on software must not be
installed on /usr.
Applications may use a single subdirectory under /usr/lib.
I think this is intended to apply to distribution provided
applications (as opposed to "add-on" software)
Shouldn't most of these also be defined as "add-on" software? I mean, we
know by now that for instance a web browser can't be an integral part of
an operating system ;-)
Also, I don't think I'm the kind of person that will so something just
because everyone else does (if I were, I probably wouldn't be here, if
you know what I mean...), but I can't help noticing that most or all
files from "add-on" distributions like Fedora Extras or Freshrpms, as
well as the major proprotion of rpms distributed separately on the net,
will be installed under /usr.
, and is documented
this way because elsewhere it says you can't create a subdirectory
directly under /usr; but you're right this isn't terribly clearly
stated.
I've always thought that it makes most sense to let rpm = the native
package manager on the system install to /usr, and reserve /opt for
other types of installation. Also, I think the standard may be
interpreted as saying that rpms depending on others whose data
reside on /usr (or generally rpms that depend on each other, really)
should *not* install to /opt.
Hmmm.
The point is mainly that everything installed using rpm is
indistinguishable from the operating system components (on an rpm-based
system) for purposes of system upgrades etc.; you can't really tell by
looking at an rpm if it is from the "OS distribution" or somewhere else
(OK, there is the Vendor: tag, but since you can set that to anything
you like...), and if "add-ons" link with libraries provided with the OS,
they definitely need to be taken into account during an upgrade - so
they aren't the kind of "isolated" components the FHS seems to imply
that packages on /opt must be.
Another question is whether /opt packages may depend on system libs, or
libs from other packages on /opt, since the standard states that all
(static) files needed must be stored on /opt/<package>. And, can't
Distributions may install software in /opt, but must not modify or
delete software installed by the local system administrator without
the assent of the local system administrator.
be taken to mean that "yum upgrade" or up2date (which should be allowed
to upgrade our software) may not update anything on /opt?
- Toralf