Attached is a front-end script to help the management of BoKS hotfix and extension packages on Master, Replicas and Server Agents. Given a directory containing extracted hotfix and/or extension packages the script will analyze applicable packages, obsolete packages and handle conflicts.


Given a directory containing a number of unpacked hotfix and/or extension packages, the script will sort these in the correct order for installation and examine each to filter out the ones that are applicable for the current platform and BoKS version.

Main options
-i install
-l list applicable packages
-u un-install all or a selected set of packages

Dependency conflicts

The utility automatically handles conflicts between installed and new packages with common files. If there is a conflict between a new package that has been selected for installation and an already installed package, the already installed package will be de-installed and then re-installed after the new package. For this to work, both the new and the conflicting package must be available in the current directory or the directory pointed to by option -d.

Installation of missing packages (-i)

During installation all applicable packages are installed, including obsolete ones. Option -c will examine the installed and non-installed packages and remove/filter out obsolete packages.
Option -r will de-install packages that are in the way, if they are available for re-installation.  If running on a Server Agent option -s will exclude packages not applicable for Server Agent installation.

Use options -A and -I to explicitly select a set of packages to install or examine, or -E to exclude packages.

De-installation of packages (-u)

By default all packages are de-installed. This requires option -f in addition to confirm the operation. With option -U a selected set of packages can be de-installed. Any conflicting packages must be available for re-installation if necessary.

Listing applicable packages (-l)

By default a plain list of package directory names listed in order of "date created", which corresponds to the installation order. This order must be followed for packages with dependencies (contains one or more common files). The list presented is a complete list of applicable packages found for the platform and BoKS version, both installed and non-installed.

With option -v more information is displayed. The package list is commented to show already installed packages. A table of conflicting packages is also shown (if any).


List option formats

The format of the argument to the miscellaneous list options differs between options:

-I and -A takes a list of package directories to examine

-E takes a list of regular expressions for matching of package directories to exclude

-U takes a list of package IDs, e.g. 0051 rather than HFBM-0051 (the directory name)

Usage -i [-q|-v][-d basedir][-I list][-E list][-C list][-c][-r][-b|-B][-S][-s] -i [-q|-v][-d basedir] -A list [-c][-r][-b|-B][-S][-s] -l [-q|-v][-d basedir][[-A list]|[-I list][-E list][-C list]][-c][-S][-s] -u -f [-q|-v][-b|-B] -u -U list [-q|-v][-f][-I list][-E list][-b|-B]

 -A dir-list - With option -i, list of new packages to be added.
               Effectively the same as -I list-of-installed -I list-of-new.
 -B          - Skip the check for whether BoKS daemons are running.
 -b          - By default there is a check for if BoKS daemons are
               running. This option tells to stop the
               daemons before and restart them after applying any changes.
               This option has no effect if BoKS has already been stopped.
 -C dir-list - With option -i and -l, list of package directories for
               conditional exclusion of packages. Use comma or space as
               separator. Multiple -C options are accepted. For each hotfix
               in the list, the hotfix is excluded if it has a preinstall
               script that can be executed but returns a false exit code.
 -c          - With option -i, clean up and remove any obsolete packages
               installed if possible. By default all available and
               applicable packages are installed. With option -l, obsolete
               packages are excluded from the report.
 -d dir      - Path to directory where hotfix- or extension packages
               have been unpacked. Default is current directory.
 -E re-list  - With option -i and -l, list of "regular expressions"
               for exclusion of packages. Use comma or space as
               separator. Multiple -E options are accepted.
 -f            Use with -u to force de-installation of all packages
               or with -u -U list to ignore specified packages that are
               not installed.
 -I dir-list - With option -i and -l, list of package directories
               (under the base directory as given with -d) to examine
               for installation (or re-installation in case of a
               conflict). Use comma or space for separation of names.
               Multiple -I options are accepted.
 -i          - Install packages.
 -l          - Don't install anything. Report applicable packages only.
               Use option -c to only report non-obsolete packages.
               Information about installed- and non-installed packages as
               well as conflicts that would apply with option -i is given.
               The hotfix version number is included in the package names.
               With option -q only applicable package (directory) names
               are listed (without the hotfix version number).
 -q          - Quiet (or less verbose) mode. See also option -v.
 -r          - Automatically re-install conflicting packages if possible.
 -S          - Disable the disk space requirements check.
 -s          - With option -i and -l, running on a Server Agent, install and
               report Server Agent (and required dependency) hotfixes only.
               With -i non-required Master/Replica hotfixes are de-installed.
 -U id-list  - With option -u, specify list of packages to de-install.
               Use plain package IDs, same as directory names found in
               $BOKS_DIR/Hotfix- versus $BOKS_DIR/Extension and registered
               with PKG_ parameters in $BOKS_etc/ENV. E.g. 0051 (for
               HFBM-0051), PWM (for EXTBM-PWM), etc.
 -u          - De-install all or a set of installed hotfix- and
               extension packages.
 -v          - Verbose mode is enabled by default. Use -v to enable debug
               mode (lots of output) and -q for less verbosity.

Link to the hotfix install script

Current version: 1.58 2018/05/26 05:53:36 

SHA256: 7c16e2aea2f799e8bc1a516ea6747edb564b63a40bd341d1d3ff185cc75beb64

Still have questions? We can help. Submit a case to Technical Support.

Last Modified On: May 28, 2018