OpenCSW installs into an already installed Solaris system, and follows the general rule of not conflicting with existing Solaris files.
The outermost installation directories are:
The /opt/csw directory and everything below is considered read-only. It’s a common practice to set up non-global sparse zones with shared /opt/csw. In this setup, non-global zones see /opt/csw as mounted read-only. Any local state needs to be kept under /var/opt/csw.
Inside the /opt/csw prefix, the typical hierarchy rules apply. You can consult the Debian filesystem hierarchy standard for an overview. A short version is:
What’s special about the Solaris directory hierachy, including OpenCSW is the possibility to include binaries for multiple architectures in a single package. The standard is to create a subdirectory under bin named after the processor architecture name, as returned by the isalist utility. For example, 32-bit binaries might be in /opt/csw/bin and 64-bit Intel binaries would be in /opt/csw/bin/amd64.
[1] | Shared /opt/csw configuration files |