A patch that depends on other software in order
to install or run correctly is said to have a dependency on that other
software. In order to become fully active, a patch may require changes
to areas of the system other than those it modifies. Such a patch
may have a documented dependency on one or more patches or nonpatch
software products that are responsible for the changes in these other
areas.
For example, in Figure 3-3: “Patch Supersession Chains and Patch Dependencies”, patch PHXX_33662 depends on patch PHXX_32384, and patch PHXX_43826 depends on PHXX_33662.
Patches PHXX_31967 and PHXX_31937 depend on each other (mutual dependency).
Because HP-UX patches are cumulative, a patch
satisfies all the dependencies that all of its superseded patches
satisfy. The opposite is not true, however. A superseded patch does
not satisfy a dependency on a superseding patch. Figure 3-3: “Patch Supersession Chains and Patch Dependencies” provides an example. Patch PHXX_33662 requires patch PHXX_32384, but PHXX_43826 can also satisfy this requirement
because it supersedes PHXX_32384. However, patch PHXX_32384 does not satisfy PHXX_43826's dependency on PHXX_33662.
For more information about supersession, see “Ancestors and Supersession”.
Types of Dependencies |
 |
HP provides patch dependency information for a
patch in its patch details page and its patch
text file. The dependency information is contained in the following
fields:
Patch Dependencies
Patches that are required for proper operation.
Other Dependencies
Various dependencies that cannot be described as patch dependencies,
such as those that are needed only under specific circumstances.
 |
 |  |
 |
 | NOTE: While looking at a patch details page or a patch text file, you might notice an additional field
that is dependency related. The Hardware Dependencies field represents a different type of dependency than those presented
in this section. It does not show dependencies on other patches, but
rather gives specific system models to which a patch is limited. |
 |
 |  |
 |
Corequisites and Prerequisites |
 |
The following is a list of the most common dependency
requisite types:
A corequisite is a dependency in which one fileset
requires that another fileset be installed or configured at the same
time. For example, if fileset A requires that fileset B be installed
at the same time, fileset B is a corequisite for fileset A.
A prerequisite is a dependency in which one fileset
requires another fileset to be installed or configured before the
first fileset can be installed or configured. For example, fileset
C may require that fileset D be installed before fileset C can be
installed. Therefore, fileset D is a prerequisite for fileset C.
Advanced Topic: Determining Corequisite and Prerequisite Filesets
with the swlist Command
You can use the following command to determine
the dependent filesets. Replace dependency_type with either corequisite or prerequisite, as appropriate.
swlist -vl fileset -a dependency_type
fileset |
For example:
$ swlist -vl fileset -a corequisite PHSS_29964.DCEC-ENG-A-MAN
# Initializing...
# Contacting target "some_system"...
# PHSS_29964.DCEC-ENG-A-MAN
fileset
corequisites PHCO_24400.CORE-SHLIBS,fa=HP-UX_B.11.11_32/64
|
Enforced and Unenforced (Manual) Dependencies |
 |
A patch's dependency upon another patch will
either be enforced or unenforced by SD-UX. Starting with HP-UX 11i
v1 (B.11.11), SD-UX install commands supported the use of requisites
for automatically enforcing dependencies. Prior to HP-UX 11i v1, users
had to maintain dependencies manually.
Enforced dependencies
Dependencies that
are registered using corequisite or prerequisite attributes and managed
by SD-UX.
Unenforced dependencies (also known as manual dependencies)
Dependencies that SD-UX does not register as requisites and
thus cannot enforce when performing patch installation. You can identify
these types of dependencies by checking the manual_dependency category tag. The user must ensure that the required patches are
installed to satisfy these manual dependencies.