USAGE for upgrade.sh v4.2.0: upgrade.sh [-c] [-p] [-n] [-L ] [-d|-D] or upgrade.sh [-h|-man] DESCRIPTION: This script upgrades the following Helix Core software: * p4d, the Perforce Helix Core server * p4broker, the Helix Broker server * p4p, the Helix Proxy server * p4, the command line client Details of each upgrade are described below. Prior to executing any upgrades, a preflight check is done to help ensure upgrades will go smoothly. Also, checks are done to determine what (if any) of the above software products need to be updated. To prepare for an upgrade, new binaries must be placed in the /p4/sdp/helix_binaries directory. Binaries in this directory are not referenced by live running servers, and so it is safe to ugprade files in this directory to stage for a future upgrade at any time. The SDP PATH does not include this directory. Upgrading p4d, the Perforce Helix Core Server Upgrading p4broker and p4p (P4Proxy) Upgrading p4, the command line client If your server can reach the Perforce FTP server over the public internet, a script can be used from the /p4/sdp/helix_binaries directory to get the latest binaries: cd /p4/sdp/helix_binaries get_helix_binaries.sh OPTIONS: Specify the SDP instance name to add. This is a reference to the Perforce Helix Core data set. This defaults to the current instance based on the $SDP_INSTANCE shell environment variable. If the SDP shell environment is not loaded, this option is required. -c Specify '-c' to execute a command to upgrade the Protections table comment format after the p4d upgrade, by using a command like: p4 protect --convert-p4admin-comments -o | p4 -s protect -i By default, this Protections table conversion is not performed. In some environments with custom policies related to update of the protections table, this command may not work. -p Specify '-p' to halt processing after preflight checks are complete, and before actual processing starts. By default, procesing starts immediately upon successful completion of prelfight checks. -L Specify the path to a log file, or the special value 'off' to disable logging. By default, all output (stdout and stderr) goes to this file in the /p4/N/logs directory (where N is the SDP instance name): upgrade.p4_N..log NOTE: This script is self-logging. That is, output displayed on the screen is simultaneously captured in the log file. Do not run this script with redirection operators like '> log' or '2>&1', and do not use 'tee.' NOTE: Logging can only be disabled with '-L off' if the '-n' or '-p' flags are used. Disabling logging for actual upgrades is not allowed. DEBUGGING OPTIONS: -n No-Op. In No-Op mode, no actions that affect data or structures are taken. Instead, commands that would be run are displayed. -d Increase verbosity for debugging. -D Set extreme debugging verbosity, using bash '-x' mode. Also implies -d. HELP OPTIONS: -h Display short help message -man Display man-style help message EXAMPLES: Typical usage is with just the SDP instance name as an argument, e.g. instance '1' in this example: $ cd /p4/common/bin $ ./upgrade.sh 1 This executes the upgrade after successful completion of preflight checks, and aborts if preflight checks detected any issues. Alternately, to see if an upgrade is needed without starting, use the '-p' flag to execute only the preflight checks, as in this example: $ cd /p4/common/bin $ ./upgrade.sh 1 -p