RELOCATABLE PACKAGES
====================

Relocatable packages are a way to give the user a little control
over the installation location of a package.  For example, a vendor
may distribute their software to install in "/opt" but you'd like
it to install in "/usr/opt".  If the vendor were distributing a
relocatable RPM package, it would be easy.

Building a Relocatable Package
------------------------------

Not all software can be "relocatable".  Before continuing you should
think about how the program works, what files it accesses, what other
programs access *it* (and expect it to be in a certain place), etc.
If you determine that the location of the package doesn't matter,
then it can probably be built as "relocatable".

All you need to do to build a relocatable package is put:

  Prefix: <dir>

in your spec file.  The "<dir>" will usually be something like "/usr",
"/usr/local", or "/opt".  Every file in your %files list must start
with that prefix.  For example, if you have "Prefix: /usr" and your
%files list contains "/etc/foo.conf", the build will fail.

Installing Relocatable Packages
-------------------------------

By default, RPM will install a relocatable package in the prefix
directory listed in the spec file.  You can override this on the
RPM install command line with "--prefix <dir>".  For example, if
the package in question were going to be installed in "/opt" but
you don't have enough disk space there (and it is a relocatable
package), you could install it "--prefix /usr/opt".
