Go to main content

Packaging and Delivering Software With the Image Packaging System in Oracle® Solaris 11.3

Exit Print View

Updated: July 2017
 
 

Specifying System Changes on Package Actions

First determine which actions should cause a change to the system when they are installed, updated, or removed. For example, some system changes are needed to implement the software self-assembly concept described in Software Self-Assembly.

For each of those package actions, determine which existing SMF service provides the necessary system change. Alternatively, write a new service that provides the needed functionality and ensure that service is delivered to the system as described in Delivering an SMF Service.

When you have determined the set of actions that should cause a change to the system when they are installed, tag those actions in the package manifest to cause that system change to occur. The value of a tag that causes system change to occur is called an actuator.

The following actuator tags can be added to any action in a manifest:

reboot-needed

This actuator takes the value true or false. This actuator declares that update or removal of the tagged action must be performed in a new boot environment if the package system is operating on a live image. Creation of a new boot environment is controlled by the be-policy image property. See the “Image Properties” section in the pkg(1) man page for more information about the be-policy property.

SMF Actuators

These actuators are related to SMF services.

SMF actuators take a single service FMRI as a value, possibly including globbing characters to match multiple FMRIs. If the same service FMRI is tagged by multiple actions, possibly across multiple packages being operated on, IPS only triggers that actuator once.

The following list of SMF actuators describes the effect on the service FMRI that is the value of each named actuator. In these descriptions, “uninstalling the package” also includes moving the file action that delivers the service to a different package.

disable_fmri

Disable (svcadm disable) the specified service prior to uninstalling the package.

refresh_fmri

Refresh (svcadm refresh) the specified service after installing, updating, or uninstalling the package.

restart_fmri

Restart (svcadm restart) the specified service after installing, updating, or uninstalling the package.

suspend_fmri

Temporarily disable (svcadm disable -t) the specified service prior to installing the package, and then enable (svcadm enable) the service after installing the package.

These SMF actuators are not executed in the following cases:

  • When operating on an alternate root (pkg -R /path/to/BE).

  • When recursing from the global zone (pkg subcommand -r).