Every file in an SSO has two attributes:
In practice, an SSO generally consists of approximately 90% shared (read-only) data and 10% non-shared (read-write) data. As the developer, you must determine which files are shared and which files are non-shared.
To specify the shared and non-shared files when you create the distribution tree, put the shared files in the SHARED directory, and the non-shared files in CLIENT. Another way to accomplish this is to define the shared and non-shared files in the CDMT input files. Set the distTreeRootSHARED attribute to the directory containing the shared files and distTreeRootCLIENT to the directory containing the non-shared files. Set these attributes in the COMP record in *.cmpnt, or PKG record in *.pkg. See cdmtInput(CDMT) for details.
For example, if you want custom(ADM) to place a non-shared file in the /var/opt/K/SCO/WServer/1.0.0/lib directory, either put the distribution file in the distTreeRoot/CLIENT/lib directory or set the COMP record distTreeRootCLIENT attribute to the directory containing the non-shared files.
When you first convert to the SSO standard, mark all files in the SSO as public; later, you can specify private files using the SSO Path Mapping API.
To mark files as public, set the FILE record exportPath attribute in the *.pkg file. See cdmtInput(CDMT).