JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library
search filter icon
search icon

Document Information


1.  IPS Design Goals, Concepts, and Terminology

2.  Packaging Software With IPS

3.  Installing, Removing, and Updating Software Packages

4.  Specifying Package Dependencies

5.  Allowing Variations

6.  Modifying Package Manifests Programmatically

7.  Automating System Change as Part of Package Installation

8.  Advanced Topics For Package Updating

9.  Signing IPS Packages

10.  Handling Non-Global Zones

11.  Modifying Published Packages

Republishing Packages

Changing Package Metadata

Changing Package Publisher

A.  Classifying Packages

B.  How IPS Is Used To Package the Oracle Solaris OS

Republishing Packages

IPS enables you to easily republish an existing package with your modifications, even if you did not originally publish the package. You can also republish new versions of the modified package so that pkg update continues to work as users expect. Modified packages install and update correctly in the image.

Of course, running a system with a modified package could adversely affect your support if any relationship is suspected between observed problems and the modified package.

Use the following steps to modify and republish a package:

  1. Use pkgrecv(1) to download the package to be republished in a raw format to a specified directory. All of the files are named by their hash value, and the manifest is named manifest. Remember to set any required proxy configuration in the http_proxy environment variable.

  2. Use pkgmogrify(1) to make the necessary modifications to the manifest. Remove any time stamp from the internal package FMRI to prevent confusion during publication.

    If changes are significant, use pkglint(1) to verify the resulting package.

  3. Use pkgsend(1) to republish the package. Note that this republication strips the package of any signatures that are present and ignores any time stamp specified by pkg.fmri. To prevent a warning message, remove signature actions in the pkgmogrify step.

    If you do not have permission to publish to the original source of the package, use pkgrepo(1) to create a repository, and then use the following command to set the new publisher ahead of the original publisher in the publisher search order:

    # pkg set-publisher --search-before=original_publisher new_publisher
  4. If necessary, use pkgsign(1) to sign the package. To prevent client caching issues, sign the package before you install the package, even for testing.