Adding and Updating Software in Oracle® Solaris 11.2

Exit Print View

Updated: July 2014
 
 

Package Facets and Variants

Software can have components that are optional and components that are mutually exclusive. Examples of optional components include locales and documentation. Examples of mutually exclusive components include SPARC or x86 and debug or non-debug binaries. In IPS, an optional component is called a facet and a mutually exclusive component is called a variant.

Facets and variants are special properties set on the image. Facets and variants are also tags set on actions in a package manifest. The values of facet and variant tags on an action compared with the values of facets and variants set in the image determine whether that package action can be installed. For example, if you set a particular locale facet to false in the image, any file actions that specify that facet will not be installed, and currently installed file actions that specify that facet are uninstalled.

Most variants can have arbitrary values. Facet tags set on an action can only have the value true. Facet properties set on the image can only have the value true or false.

The following algorithm describes how the facets and variants set on the image affect whether a particular action is installed:

  • Actions with no facet or variant tags are always installed.

  • Actions with facet tags are installed unless all of the facets or facet patterns matching the tags are set to false on the image. If any facet is set to true or is not explicitly set (true is the default), then the action is installed.

  • Actions with variant tags are installed only if the values of all the variant tags are the same as the values set in the image.

  • Actions with both facet and variant tags are installed if both the facets and the variants allow the action to be installed.

To view or modify the values of the facets and variants set on the image, see Controlling Installation of Optional Components.