Collectively relocatable objects are located relative to a common installation base called the base directory. A base directory is defined in the pkginfo file, using the BASEDIR parameter. For example, a relocatable object in the prototype file named tests/generic requires that the pkginfo file define the default BASEDIR parameter. For example:
This example means that when the object is installed, it will be located in the /opt/tests/generic directory.
The /opt directory is the only directory to which software that is not part of the base Solaris software may be delivered.
Use collectively relocatable objects whenever possible. In general, the major part of a package can be relocatable with a few files (such as files in /etc or /var) specified as absolute. However, if a package contains many different relocations, consider dividing the package into multiple packages with distinct BASEDIR values in their pkginfo files.