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 upgradectrlcommand, thepkg:/entirepackage 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
parentdependency. -
variant.arch -
This package can be installed on both SPARC and x86 systems.
-
parentdependency -
This package can be installed in a non-global zone only if it is already installed in the global zone.
-
requiredependency -
The
upgradectrlpackage can be installed only if thepkg://solaris/entirepackage is already installed or can be installed in this same operation. -
incorporatedependency -
The
pkg://solaris/entirepackage must be installed at the specified version. More than one version can satisfy anincorporatedependency, depending on how many places of accuracy are specified. In this example,0.175.1.0specifies 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:/entireconstraint package to be updated.