Skip to main content

Source code file content

Revision: 2918

17178428 pkg history is not capturing release notes
» Project Revision History

» Checkout URL

pkg-gate / doc / dev-guide / developer-guide.txt

Size: 7867 bytes, 1 line

.. The contents of this file are subject to the terms of the
   Common Development and Distribution License (the "License").
   You may not use this file except in compliance with the License.

.. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   See the License for the specific language governing permissions
   and limitations under the License.

.. When distributing Covered Code, include this CDDL HEADER in each
   file and include the License file at usr/src/OPENSOLARIS.LICENSE.
   If applicable, add the following below this CDDL HEADER, with the
   fields enclosed by brackets "[]" replaced with your own identifying
   information: Portions Copyright [yyyy] [name of copyright owner]


.. Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.

Packaging and Delivering Software with the Image Packaging System
A developer's guide

.. raw:: pdf

        Spacer 0 100

.. class:: figure


.. raw:: pdf

        SetPageCounter 0 arabic
        Spacer 0 450

.. class:: titletable

      |                          |                    |
      |     |ologo|              |    |version|       |
      |                          |                    |

.. header::

   .. oddeven::

      .. class:: headertable

      |                     .. class:: footerright    |
      |                                               |
      |                         ###Section###         |
      |                                               |

      .. class:: headertable

      | .. class:: footerleft                         |
      |                                               |
      |     ###Section###                             |
      |                                               |

.. footer::

   .. oddeven::

      .. class:: footertableright

      |                                .. class:: pageright  |
      |                                                      |
      |                                  ###Page###          |

      .. class:: footertableleft

      | .. class:: pageleft | .. class:: footerleft          |
      |                     |                                |
      |    ###Page###       |      ###Title###               |

.. raw:: pdf

    PageBreak oneColumn


    Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
    This document is provided for information purposes only and the
    contents hereof are subject to change without notice. This document is
    not warranted to be error-free, nor subject to any other warranties or
    conditions, whether expressed orally or implied in law, including
    implied warranties and conditions of merchantability or fitness for a
    particular purpose. We specifically disclaim any liability with
    respect to this document and no contractual obligations are formed
    either directly or indirectly by this document. This document may not
    be reproduced or transmitted in any form or by any means, electronic
    or mechanical, for any purpose, without our prior written permission.
    Oracle and Java are registered trademarks of Oracle and/or its
    affiliates. Other names may be trademarks of their respective owners.

    Intel and Intel Xeon are trademarks or registered trademarks of Intel
    Corporation. All SPARC trademarks are used under license and are
    trademarks or registered trademarks of SPARC International, Inc. AMD,
    Opteron, the AMD logo, and the AMD Opteron logo are trademarks or
    registered trademarks of Advanced Micro Devices.  UNIX is a registered
    trademark licensed through X/Open Company, Ltd. 0611


        In Oracle Solaris 11 and onwards, system software is packaged with
        the Image Packaging System, or IPS.  IPS takes care of
        installing new software and upgrading that software.

        This manual is for developers and advanced administrators who want
        to better understand IPS, how to use it to package their own
        software, and want to understand how Oracle Solaris is packaged with

        Special attention is given to the underlying design
        concepts and design patterns so that readers can more readily
        understand and utilize the more advanced features of IPS.

How this book is organized

        **Chapter 1** - *Design Goals and Concepts*, outlines the basic
        design philosophy of IPS and its expression as software

        **Chapter 2** - *Package Lifecycle*, provides an overview of the
        software package lifecycle with IPS.

        **Chapter 3** - *Basic Terminology*, lays out the basic terminology
        and describes the various components that form IPS.

        **Chapter 4** - *Packaging Software with IPS*, gets
        the new user started constructing their own packages.

        **Chapter 5** - *Installing, Removing, and Updating Software Packages*,
        shows basic operation of pkg(1).

        **Chapter 6** - *Specifying Dependencies*, explains the different types
        of IPS dependencies and how they can be used to construct working
        software systems.

        **Chapter 7** - *Allowing Variations*, explains how variants, facets
        and mediated links are used to allow software publishers to
        define multiple installation forms for their packages.

        **Chapter 8** - *Modifying Package Manifests Programmatically*, explains
        how package manifests can be machine edited to permit the automated
        annotation and checking of package manifests.

        **Chapter 9** - *Causing System Change With SMF*, explains how to
        use the Service Management Facility to automatically handle
        any necessary system changes that should occur as a result of
        package installation.

        **Chapter 10**, *Advanced Update*, deals with more complex package
        upgrade issues, and describes several features in IPS designed
        to simplify these problems.

        **Chapter 11**, *Signing Packages*, explains how package signing works
        and how developers and QA organizations can sign either new
        or existing, already signed packages.

        **Chapter 12**, *Handling Non-Global Zones*, describes how IPS handles
        zones and discusses those cases where package developers should be
        aware of zones.

        **Chapter 13**, *How IPS Features Are Used When Packaging the Oracle
        Solaris OS*, describes how the packages for the operating system are
        constructed and how the various dependency types in IPS are used to
        define working package sets.

        **Chapter 14**, *Republishing Packages*, describes how administrators
        can modify existing packages if needed for local conditions.

        **Appendix A**: *Classifying Packages*, contains info.classification
        scheme definitions.

        **Appendix B**: *Converting SVR4 packages to IPS*, gives an example of
        converting an SVR4 package to IPS, and highlights some areas that might
        need special attention.

Please Confirm