Software Distributor Administration Guide HP-UX 11i v1, 11i v2, and 11i v3 (5900-2488, September 2012)
• The POSIX recommendation for response file format is the SVR4 model of attribute/value pairs.
Answers should be written to the response file inenv_var=value format so that the response
files can be easily used by other control scripts.
• When you use a request script to get install information, HP recommends that you use a
checkinstall script to check for proper execution of the request script. The checkinstall script
should:
◦ Verify that the response file exists.
◦ Prevent swinstall from “hanging” if:
– A script tries to read a response file that does not exist.
– The install or configuration relies on information in the missing response file.
11.6 Execution of Other Commands by Control Scripts
Every command executed by a control script is a potential source of failure because the command
may not exist on the target system. Your script can use any command conditionally, if it checks
first for its existence and executability, and if it does not fail when the command is unavailable.
• If the target system(s) conform with the POSIX 1003.2 Shells and Utilities standard, then the
Execution Environment Utilities of this standard will also be available.
• If a fileset has a prerequisite dependency on another product/fileset, then most of the control
scripts for the dependent fileset can use the commands of the required product/fileset, if the
$ROOT_DIRECTORY is /. (All commands perform their tasks in prerequisite order).
• Commands should be referenced relative to the path components specified in the PATH
variable. (See the discussion of PATH and the SW_PATH environment variable above.)
11.7 Control Script Input and Output
• Except for request scripts, control scripts must not be interactive. This includes messages such
as, Press return to continue.
• Except for request scripts, all control scripts are executed by the agent on the target systems.
Request scripts are executed by the controller (swinstall, swconfig, or swask).
• Except for request scripts, no method of input to control scripts is supported. Request script
data is input by the user through the swask command or the ask option for swinstall or
swconfig.
• Control scripts must write messages for error and warning conditions to stderr (echo &>2),
and write all other messages to stdout. Control scripts must not write directly to /dev/console
or attempt any other method of writing directly to the display.
The stdout and stderr from a control script is redirected by the agent to the log file (var/
adm/sw/swagent.log) within the primary or alternate root directory in which the task is
being performed.
For interactive swinstall and swremove sessions, you can display and browse this logfile.
• Only minimal, essential information should be emitted by control scripts. Ideally, no output is
emitted if the script successfully performs all of its actions.
• In the agent logfile, the execution of each control script is prefaced by a “begin execution”
message:
* Running "checkinstall" script for product "PRODUCT"
* Running "checkinstall" script for fileset
"PRODUCT.FILESET".
222 Using Control Scripts