Identification, which is the patch version and patch ID
Applicability, which is the operating system type, operating system version, and architecture
Dependencies, such as requires and obsoletes
Properties, such as requires a reboot afterwards
One or more packages to patch, where each package contains:
The version of the package to which the patches can be applied
Patch information, such as ID, obsoletes, and requires
One or more components of the package to be patched
When the patchadd command is used to apply a patch, the patch information is used to determine whether the patch is applicable to the currently running system. If determined to be not applicable, the patch is not applied. Patch dependencies are also checked against all of the zones on the system. If any required dependencies are not met, the patch is not applied. This could include the case in which a later version of the patch is already installed.
Each package contained in the patch is checked. If the package is not installed on any zone, then the package is bypassed and not patched.
If all dependencies are satisfied, all packages in the patch that are installed on any zone are used to patch the system. The package and patch databases are also updated.
Solaris 10 3/05 through Solaris 10 11/06: If a package is installed with pkgadd -G or has the pkginfo setting SUNW_PKG_THISZONE=true, the package can only be patched with patchadd -G. This restriction is removed in the Solaris 8/07 release.