Create the Custom Constraint Package Manifest
The following example shows a manifest named upgradectrl.p5m
for a custom constraint package that controls the version of the pkg:/entire
package that can be installed. Some of the settings in this manifest are described below.
set name=pkg.fmri value=upgradectrl@1.0 set name=pkg.summary value="Package to constrain the version of the OS" set name=pkg.description value="This package controls the version of \ pkg://solaris/entire that can be installed." set name=info.classification value="org.opensolaris.category.2008:Meta Packages/Incorporations" set name=pkg.depend.install-hold value=core-os set name=variant.opensolaris.zone value=global value=nonglobal set name=variant.arch value=sparc value=i386 depend fmri=feature/package/dependency/self type=parent variant.opensolaris.zone=nonglobal depend fmri=pkg://solaris/entire type=require depend fmri=pkg://solaris/entire@0.5.11,5.11-0.175.1.0 type=incorporate
-
pkg.depend.install-hold
-
If a user enters the
pkg update upgradectrl
command, thepkg:/entire
package is automatically updated as well. -
variant.opensolaris.zone
-
This package can be installed in both global and non-global zones. See also the description of the
parent
dependency. -
variant.arch
-
This package can be installed on both SPARC and x86 systems.
-
parent
dependency -
This package can be installed in a non-global zone only if it is already installed in the global zone.
-
require
dependency -
The
upgradectrl
package can be installed only if thepkg://solaris/entire
package is already installed or can be installed in this same operation. -
incorporate
dependency -
The
pkg://solaris/entire
package must be installed at the specified version. More than one version can satisfy anincorporate
dependency, depending on how many places of accuracy are specified. In this example,0.175.1.0
specifies Oracle Solaris 11.1 SRU 0. This upgrade control package will keep systems at Oracle Solaris 11.1 with no support updates. This upgrade control package will, however, allow packages that are not constrained by thepkg:/entire
constraint package to be updated.