Software Distributor Administrator Guide (September 2010)
11.5.1 Details Common to All Control Scripts
• The agent runs as the superuser, therefore control scripts are always executed as
the superuser. Use appropriate caution.
• Control scripts are only executed for software being installed, removed or verified
in the primary root (“/”) or an alternate root directory. Scripts are never executed
for software in a depot.
• Each script must set its own PATH variable, using SW_PATH.
• Neither swinstall nor swremove require that the system be shut down. Control
scripts must work correctly on both quiet single-user systems and active multi-user
systems. They must deal properly with unremovable running programs. They
might have to shut down or start up processes that they own themselves to succeed.
• Control scripts can be re-executed. If a script is run more than once, it should
produce the same results each time. The second execution should not produce any
error messages or leave the system in a state different than before it was run.
A script should be executable after its fileset was loaded without damaging the
new fileset with which it is associated.
For example, if you must copy a file from under /usr/newconfig to another
location, use the cpio -p command to copy it rather than the cp command to
move it, or check for the absence of the /usr/newconfig version before
attempting the move. (The cpio(1) command may be preferred over cp(1) because
cpio copies the mode, owner, and group permissions.)
• Control scripts can exit with one of the following return values:
— SUCCESS (0) - Exit with no errors or warnings.
— ERROR (1) - Exit with serious errors.
— WARNING (2) - Exit with warnings.
— REBOOT (12) -Exits and indicates that a reboot of the system is required when
a fileset is installed. This return value may only be used on a fileset-level
checkinstall script. With Software Distributor versions prior to
B.11.31.1009.348 and B.11.23.1009.348, the return value can only be used for
filesets with the dynamic_module attribute set.
NOTE: HP recommends you to specify the is_reboot flag instead of
returning the REBOOT code from the control scripts for rebooting the system.
All messages produced by control scripts are redirected to the agent logfile.
• The set of control scripts executed during a particular phase of a task are always
executed in prerequisite order the scripts of each prerequisite product/fileset are
executed before the script of the dependent fileset.
• All control scripts are readable by any other control script.
282 Using Control Scripts