Developer's Topics
Chapter 12, Custom Distribution Mastering Toolkit

Software management phases

Software management phases

The installation process for a component is divided into five ``software management phases''. Using the information in the ccs(CDMT) and cqs(CDMT) scripts, custom(ADM) performs these phases:

LOAD
copies the component from the media to the hard disk in the /opt hierarchy. The files in /opt remain read-only.

ATTACH
copies the non-shared (per-client) files from the pristine versions in the SSO in the /opt hierarchy to the component's private area in /var/opt. The files in /var/opt are read-write.

REGISTER
makes the configuration interfaces for components that provide ``system services''[1] available to components that ``consume'' system services.

CONFIGURE
configures components that consume system services into the system services. 

EXPORT
makes the component's public files in /opt visible by symbolic-linking them to external directories, such as /usr/bin.

Each phase consists of three steps:

pre step
performs component-specific preparation, defined by the developer

system step
custom performs specified operations in the ccs script

post step
performs component-specific clean-up operations, defined by the developer

The component developer controls the pre and post steps using the component control script (ccs).


NOTE: The ccs is not required to take action during each step. If it does not need to perform any work during a step, the ccs should exit with a value of 0.

The removal process runs backward through the phases, prepending the prefix UN to the step name.

The ccs phases look like this:

 -------------------------------------------------
| Installation            Removal                |
|------------------------------------------------|
| ccs PRE_LOAD            ccs PRE_UNEXPORT       |
| load system step        unexport system step   |
| ccs POST_LOAD           ccs POST_UNEXPORT      |
|------------------------------------------------|
| ccs PRE_ATTACH          ccs PRE_UNCONFIGURE    |
| attach system step      unconfigure system step|
| ccs POST_ATTACH         ccs POST_UNCONFIGURE   |
|------------------------------------------------|
| ccs PRE_REGISTER        ccs PRE_UNREGISTER     |
| register system step    unregister system step |
| ccs POST_REGISTER       ccs POST_UNREGISTER    |
|------------------------------------------------|
| ccs PRE_CONFIGURE       ccs PRE_UNATTACH       |
| configure system step   unattach system step   |
| ccs POST_CONFIGURE      ccs POST_UNATTACH      |
|------------------------------------------------|
| ccs PRE_EXPORT          ccs PRE_UNLOAD         |
| export system step      unload system step     |
| ccs POST_EXPORT         ccs POST_UNLOAD        |
|------------------------------------------------|

See also:


Footnotes

[1]
For example, the link kit and netconfig are system services. In general, SCO components are system service providers, other applications are system service consumers.