At this level, we find the source structure corresponding to (directly descended from the version root of) a particular version of a particular package. Among these entries, we might typically find:
Note: Figure 1 does not show all these directories, but they are clearly implied by the accompanying narrative. Also, Figure 1 labels the ``include/'' directory with the package name; however, this name is not a requirement of the structure but one which we recommend. This is because it reflects the including convention adopted in the code: #include pkgname/incname (see section B.3.2).
Recall that binary files are not intended to be located here. However, one could conceive of additional directories here, such as ``test/'' or ``examples/'' or ``tools/'', not necessarily part of all packages.
The guiding principle is that, at this level, the logical structure of a package ought to dictate the directory structure. For reasons to become clear shortly, the ``include/'' directory is required, and must contain all those files that are visible to, and hence may be included by, any other packages or user software.
The Unix-style man pages are put in the ``man/'' area of the directory structure. The UPS project setup file modifies the users MANPATH to include this area.