doc/guide-main.rst
author Edward Pilatowicz <edward.pilatowicz@oracle.com>
Mon, 16 Sep 2013 21:26:31 -0700
changeset 2945 24196b483cc6
parent 2084 d591b4ed5cf3
permissions -rw-r--r--
17461187 packagemanager displays unexpected error message
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
     1
.. CDDL HEADER START
293
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
     2
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
     3
.. The contents of this file are subject to the terms of the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
     4
   Common Development and Distribution License (the "License").
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
     5
   You may not use this file except in compliance with the License.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
     6
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
     7
.. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
     8
   or http://www.opensolaris.org/os/licensing.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
     9
   See the License for the specific language governing permissions
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    10
   and limitations under the License.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    11
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    12
.. When distributing Covered Code, include this CDDL HEADER in each
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    13
   file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    14
   If applicable, add the following below this CDDL HEADER, with the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    15
   fields enclosed by brackets "[]" replaced with your own identifying
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    16
   information: Portions Copyright [yyyy] [name of copyright owner]
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    17
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    18
.. CDDL HEADER END
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    19
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    20
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    21
.. Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    22
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    23
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    24
=================================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    25
Image Packaging Developer's Guide
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    26
=================================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    27
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    28
*PSARC/2008/190:* pkg(5): image packaging system
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    29
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    30
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    31
:Authors: David Comay, Danek Duvall, Tim Foster, Stephen Hahn, Krister Johansen,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    32
          Dan Price, Brock Pytlik, Bart Smaalders, Shawn Walker
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    33
:Organization: http://hub.opensolaris.org/bin/view/Project+pkg/
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    34
:Contact: [email protected]
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    35
:Status: Interim draft
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    36
:Date: 2010-04-19
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    37
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    38
.. include:: macros.rst
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    39
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    40
.. sectnum::
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    41
.. contents:: Table of Contents
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    42
   :depth: 3
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    43
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    44
--------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    45
Overview
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    46
--------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    47
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    48
.. section-autonumbering
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    49
   :start: 1
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    50
   :depth: 2
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    51
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    52
About this document
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    53
===================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    54
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    55
.. admonition:: ARC Notice
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    56
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    57
   For the purposes of review, this document--a draft of the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    58
   developer guide--contains additional information that may be omitted
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    59
   from the final guide.  Such information is generally set off from the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    60
   main text.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    61
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    62
In this text, *The Image Packaging Developer's Guide*, we cover a range
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    63
of topics covering technical aspects of software delivery using |pkg5|,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    64
the image packaging system.  As you complete Parts I, II, and III of the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    65
document, you should feel comfortable
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    66
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    67
* with basic |pkg5| principles of operation and use,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    68
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    69
* with authoring packages, decorated with correct metadata and named
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    70
  according to convention,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    71
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    72
* renaming previously published packages, and
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    73
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    74
* managing simple and complex |depotd1m| deployments.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    75
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    76
Parts IV and V focus on implementing components capable of replacing
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    77
the default image packaging retrieval clients and depot servers,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    78
respectively.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    79
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    80
Introduction
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    81
============
293
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
    82
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    83
The Image Packaging System, or |pkg5|, is a software delivery mechanism
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    84
that enables the publication and retrieval of versioned, interdependent
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    85
software components.  The goal of this mechanism is to always produce a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    86
functioning image, in which each component in that image has its
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    87
dependencies on other components met in a self-consistent fashion.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    88
Usually, when we refer to an image, we are referring to the *system
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    89
image* associated with an instance of the |OS_Name| operating system,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    90
but an image can also be used to deliver an independent set of software
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    91
components, or a set linked in some fashion to yet another image.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    92
Inter-image relationships allow |pkg5| to be used in a wide variety of
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    93
software deployment contexts.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    94
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    95
The idea of a versioned component comes from recognizing that, in
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    96
general, software components change over time, as bugs are fixed, new
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    97
features introduced, component boundaries changed, or the component
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    98
itself becomes irrelevant.  We can look at the history of a component as
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
    99
a series of versions of that component, persisting indefinitely.  In the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   100
following chapters, the relationship over time of a component to other
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   101
components, and to itself, will be revisited.  The intent is to
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   102
emphasize that each software component has a lifecycle, and that there
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   103
are representative states and operations in |pkg5| as a component moves
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   104
through that lifecycle.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   105
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   106
There are a number of features in |pkg5| that make it particularly
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   107
appealing in a network context.  In general, all |pkg5| metadata is
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   108
searchable remotely, easing the discovery of available software.  |pkg5|
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   109
content delivery is bandwidth-efficient, sending only needed data to the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   110
client, and always in a compressed form.  Each publisher's depot
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   111
software has public information, which allows the identification of
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   112
other locations for software retrieval, such as mirrors for that depot
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   113
or publishers of related software.  These features are discussed as they
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   114
apply to each of the components.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   115
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   116
|pkg5|, although it has a command line client, was developed to support
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   117
both interactive use with other clients and programmatic use by higher
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   118
level management software.  We generally illustrate operations by
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   119
reviewing the command line client.  For developers and package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   120
publishers, we will identify where package metadata, such as additional
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   121
information about the package or a specific object delivered by the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   122
package, can influence these different client uses.  We, in addition,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   123
describe the more complex publication scenarios, such as signed
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   124
manifests and obsolescence.  For operators and administrators, we
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   125
discuss security, in the form of access control, and depot management.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   126
Our final sections focus on |pkg5| extensions, such as entitlement
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   127
support.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   128
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   129
Key concepts
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   130
============
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   131
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   132
In this section, we attempt to review the key concepts and indicate
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   133
where further discussion and examples can be found in this Guide.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   134
Packages may be installed into images; image contents are the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   135
consequence of package installations.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   136
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   137
Packages, package versions, actions, and actuators
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   138
--------------------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   139
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   140
Package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   141
    A package represents a set of related resources that can be
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   142
    installed into a file system location on a computing system.  In the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   143
    image packaging system, packages are distinguished by their package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   144
    names and by their package versions.  Only a single version of a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   145
    package may be installed to a file system location.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   146
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   147
Package names
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   148
    Since the name of a package often is the easiest way to identify its
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   149
    contents, the selection of a package name is an important step in
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   150
    package publication.  The set of package names, or *package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   151
    namespace* follows conventions to allow publishers to have uniquely
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   152
    named packages.  As an example, the package name for the image
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   153
    packaging system is ``pkg://opensolaris.org/package/pkg``.  Package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   154
    names can be matched on unique substrings, which is convenient for
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   155
    interactive use, so we will often abbreviate package names to their
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   156
    unique portion.  Thus, for command line invocations, we will often
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   157
    write ``pkg install package/pkg`` to update the image packaging
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   158
    system's package.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   159
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   160
Package versions
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   161
    A package version is a multiple component object.  Two versions of a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   162
    particular package can always be ordered via a comparison:  they
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   163
    will either be equal, or one will be less than the other.  In the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   164
    image packaging system, a version consists of three sub-versions and
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   165
    a timestamp.  For instance, a recent version of ``package/pkg`` is
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   166
    ``0.5.11,5.11-0.138:20100430T013957Z``.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   167
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   168
Package states
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   169
    Each package version has a specific state in each image.  For
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   170
    instance a package version may be *installed* or merely *known* by
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   171
    having an entry in a catalog.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   172
    See `Package States`_.
293
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   173
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   174
Package tags and file attributes
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   175
    As briefly mentioned, packages and their content may have additional
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   176
    information associated with them.  There are both mandatory and
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   177
    optional metadata items that package publisher can provide and
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   178
    with which client software is expected to comply.  Additionally,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   179
    specific publishers may wish to provide additional metadata for
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   180
    their own use, or for use with the search facility.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   181
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   182
Actions
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   183
    The resources that a package delivers are called actions, as
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   184
    they cause changes to the system on which the package is installed.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   185
    Actions that differ between the current and proposed package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   186
    versions are delivered; actions that do not differ are not
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   187
    delivered.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   188
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   189
    There are a number of action types for delivering content to the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   190
    file system, such as ``file``, ``directory``, and ``link``, as well
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   191
    as action types that deliver new system metadata, like the ``user``
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   192
    action, which delivers a new or modified user account.  The file
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   193
    within the package that contains its set of actions is called a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   194
    *manifest*.  An arbitrary amount of metadata may be added to any
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   195
    action; such metadata items are called *tags*.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   196
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   197
Actuators
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   198
    A special kind of action tag is the actuator, which identifies a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   199
    side effect this action will have when installed on the in-use image
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   200
    on a running system (a "live image").  Actuators have no effect on
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   201
    non-live images.  One typical actuator use is to request a restart
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   202
    of a particular |smf5| service instance.  This request is made by
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   203
    specifying the FMRI as the value for the ``restart_fmri`` actuator.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   204
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   205
Images and image types
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   206
----------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   207
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   208
Image
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   209
    We refer to a file system location configured to receive package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   210
    installations as an image.  Each collection of installed package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   211
    instances is some kind of image.  We envision three kinds:
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   212
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   213
    - entire images
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   214
        An entire image contains (and can contain) all appropriate
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   215
        packages from a repository.  It has a machine type and release.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   216
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   217
    - partial images
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   218
        A partial image contains (and can contain) all appropriate
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   219
        packages from a repository.  An partial image is tied to an
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   220
        entire image and has an identified list of non-writeable
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   221
        directory paths.  It inherits its machine type and release.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   222
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   223
    - user images
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   224
        A user image consists entirely of relocatable packages.  It is
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   225
        tied to an entire image for dependency satisfaction of
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   226
        non-relocatable packages.  It inherits its machine type and
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   227
        release.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   228
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   229
Publishers, catalogs, and repositories
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   230
--------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   231
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   232
Publishers
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   233
    Each package has a publisher, which represents the person or
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   234
    organization that has assembled the package and makes it available
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   235
    for installation.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   236
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   237
Catalogs
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   238
    Since a publisher can make one or more packages available, each
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   239
    publisher generally provides a list of all packages and versions
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   240
    currently available for retrieval.  The file that contains this list
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   241
    is called a *catalog*.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   242
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   243
Repository
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   244
    Although a package [will be able to] be distributed independently,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   245
    publishers with many packages may find it easier to publish that
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   246
    collection to a repository, which is a structured set of directories
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   247
    and files that contains the packages, their metadata, and their
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   248
    contents.  A *depot* is a network server that can respond to
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   249
    requests for specific operations on [one or more] repositories.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   250
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   251
Dependencies and constraints
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   252
----------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   253
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   254
Packages can have relationships with other packages, such as a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   255
``require`` relationship, where the presence of a package is mandatory
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   256
for a second package to be installed.  Each declaration of a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   257
relationship in a package's metadata is done using a ``depend`` action,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   258
which expresses the relationship as a *dependency*.  Dependency types
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   259
include
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   260
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   261
``require``
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   262
    A require dependency states that the package mentioned by the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   263
    ``fmri`` attribute of the ``depend`` action must also be installed
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   264
    into the image, with version at or above the specified version.  If
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   265
    no version is given, any version is allowed.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   266
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   267
``optional``
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   268
    An optional dependency states that the package mentioned by the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   269
    ``fmri`` attribute, if a version is installed in the image, that
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   270
    version must be at or above the specified version.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   271
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   272
``exclude``
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   273
    An exclude dependency states that, if the package version or a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   274
    successor mentioned by the ``fmri`` attribute is installed in the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   275
    image, the current package (containing the ``depend`` action) cannot
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   276
    be installed.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   277
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   278
``incorporate``
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   279
    An incorporation dependency expresses a special type of
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   280
    relationship, where the presence of the dependent package is
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   281
    constrained to the version range implied by the ``fmri`` portion of
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   282
    the ``depend`` action.  Incorporation dependencies are used to
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   283
    restrict the set of package versions to a known and, presumably,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   284
    tested subset of all available versions.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   285
2084
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   286
``require-any``
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   287
    A require-any dependency acts as a require dependency, except that 
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   288
    multiple fmris may be specified, and any one being present will satisfy
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   289
    the dependency.
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   290
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   291
``conditional``
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   292
    A conditional dependency states that the package mentioned by the
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   293
    ``fmri`` attribute of the ``depend`` action must also be installed
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   294
    into the image, with version at or above the specified version if the
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   295
    package named by the ``predicate`` attribute is present on the system
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   296
    at the specified level or higher.
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   297
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   298
``origin``
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   299
    A origin dependency states that the the package mentioned by
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   300
    the ``fmri`` attribute must be at the specified level or higher (if present)
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   301
    prior to installation of the containing package.  If the attribute ``root-image``
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   302
    is present and has the value ``true``, the image that is checked is the
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   303
    image rooted at '/'.
d591b4ed5cf3 16327 New dependency types desired
Bart Smaalders <Bart.Smaalders@Oracle.COM>
parents: 1923
diff changeset
   304
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   305
|OS_Name|-specific concepts
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   306
-----------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   307
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   308
Migration and compatibility
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   309
    |pkg5| supplants the historical Solaris Operating System packaging
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   310
    tools, although these are still supported for compatibility.  Moving
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   311
    a software component to the Image Packaging System requires some
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   312
    planning.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   313
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   314
|smf5| configuration transition
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   315
    Certain resource types, such as manual pages and desktop icons, are
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   316
    delivered by multiple applications.  New |smf5| service instances
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   317
    have been provided to simplify the integration of standard resources.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   318
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   319
Application configuration
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   320
    For some applications, specific operations must be taken after
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   321
    package installation or removal.  In addition to general techniques
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   322
    for handling such operations, we review specific utilities and
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   323
    services introduced for handling typical cases.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   324
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   325
Commands
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   326
========
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   327
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   328
 - **Retrieval clients.** |pkg1|, PackageManager.  UpdateManager.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   329
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   330
   - use of SSL
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   331
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   332
   - relationship with |beadm1m|, |libbe3lib|, ZFS
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   333
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   334
 - **Publication and manipulation clients.** |pkgsend1| and |pkgrecv1|
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   335
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   336
   - |pkgdepend1|, |pkgdiff1|, |pkgfmt1|, |pkgmogrify1|
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   337
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   338
   - authentication
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   339
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   340
 - **Depot servers.** |depotd1m|
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   341
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   342
   - reverse proxy
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   343
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   344
   - horizontal use
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   345
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   346
 Other commands affected.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   347
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   348
.. include:: guide-basic-ops.rst
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   349
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   350
---------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   351
Authoring and publishing packages
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   352
---------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   353
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   354
.. section-autonumbering
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   355
   :start: 1
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   356
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   357
Getting started
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   358
===============
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   359
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   360
Pick a publisher name, based on a DNS domain you control.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   361
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   362
Running a depot
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   363
---------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   364
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   365
An |smf5| service instance of ``pkg/server`` is provided with a default
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   366
OpenSolaris installation.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   367
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   368
set publisher name
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   369
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   370
set read-write to enabled
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   371
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   372
Publishing to files
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   373
-------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   374
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   375
Transaction basics
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   376
==================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   377
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   378
If we examine the process of publishing a particular version of a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   379
package, we can see there are three sets of decisions:
293
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   380
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   381
* package contents, or what files or other resources are delivered by
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   382
  this version of the package;
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   383
* package name, or what the package is called; and
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   384
* package metadata, or what additional information is provided to
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   385
  describe the package's purpose within a larger system.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   386
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   387
Before we discuss these topics, we review how publication works.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   388
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   389
.. admonition:: ARC notice
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   390
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   391
    Additional options for access control to publication operations are
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   392
    under consideration.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   393
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   394
To publish a package, we use the |pkgsend1| command to open a transaction
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   395
with an active package depot, to send actions, which are the resources
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   396
and metadata delivered by the package, and finally to close the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   397
transaction.  Upon the request for the transaction to be closed, the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   398
depot daemon will, for a valid submission, update its catalog and search
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   399
indices to reflect the newly published package version.  Clients, such
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   400
as |pkg1|, can then refresh their local catalogs and retrieve the new
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   401
package version.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   402
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   403
Let's work through the above description in the form of an example.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   404
In the following example, we wish to publish a simple package that
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   405
provides the ``/etc/release`` file, which, on a typical |OS_Name|
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   406
system, contains some descriptive information about this particular
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   407
release of the operating system.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   408
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   409
.. include:: guide-txn-states.rst
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   410
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   411
Supported Actions
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   412
-----------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   413
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   414
|pkg5| supports an extensible set of "actions", which are defined as
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   415
reversible operations that a package can request to enable its later
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   416
function on the target image.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   417
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   418
.. admonition:: ARC notice
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   419
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   420
  Packages need a limited set of operations on individual files to
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   421
  manipulate the configuration.  The current class actions are given in
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   422
  Appendix A.  It appears that if "manifest" and "rbac" were supported,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   423
  along with some management of editable files (preserve, renamenew,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   424
  initd, renameold), then the remaining operations could be deferred to
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   425
  image instantiation.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   426
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   427
We can analyze the typical delivered components of a working operating
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   428
system to identify the set of common actions.  The decision to provide
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   429
an action for a specific class of resource is strongly influenced by the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   430
need for elements of that class to be fully configured for system boot to
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   431
complete.  Resources that can be configured after initial boot are
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   432
generally not provided with actions, and are expected to use ``file``
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   433
actions to deliver content and an |smf5| service to derive and assemble
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   434
any necessary local configuration.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   435
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   436
depend
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   437
    Declare dependency on other packages.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   438
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   439
directory
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   440
    All directories.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   441
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   442
driver
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   443
    Package contains device driver Module loading will be disabled
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   444
    during operations on live images.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   445
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   446
file
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   447
    All other files.  Preservation and rename handling are managed as
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   448
    optional tags.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   449
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   450
hardlink, link
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   451
    All hard and symbolic links.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   452
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   453
set
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   454
    Set a package tag.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   455
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   456
user, group
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   457
    Package requires user, group, or other package-reference managed
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   458
    resource.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   459
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   460
legacy
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   461
    Record package attributes into legacy packaging metadata.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   462
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   463
license
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   464
    License files, which deliver into the image metadata rather than
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   465
    the image's filesystems.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   466
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   467
signature
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   468
    Deliver a cryptographic signature for the containing manifest.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   469
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   470
Interface summary::
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   471
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   472
    <interface>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   473
        <action name="dependency" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   474
        <action name="directory" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   475
        <action name="hardlink" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   476
        <action name="legacy" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   477
        <action name="license" payload="true" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   478
        <action name="link" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   479
        <action name="driver" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   480
        <action name="file" payload="true" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   481
        <action name="group" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   482
        <action name="user" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   483
        <action name="signature" payload="false" commitment="Committed" />
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   484
    </interface>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   485
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   486
.. sidebar:: Custom actions
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   487
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   488
  It is discouraged, but certainly possible to deliver custom actions
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   489
  into the appropriate ``$PYTHONROOT/vendor-packages/pkg directory``, by
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   490
  including those actions in a separate package that the new package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   491
  requires, and invoking the |pkg1| client twice--once to deliver the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   492
  custom actions and once to use them to install the new package.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   493
  (Rescanning pkg.actions would complicate the image plan/package plan
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   494
  evaluations.)
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   495
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   496
  XXX The deployer may wish to deny such actions from operating.  For this
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   497
  case, the set of known actions is fixed elsewhere in the pkg modules
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   498
  and updated with subsequent versions.  A global and per-image policy,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   499
  known-actions-only, allows the deployer to disallow operations on
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   500
  packages utilizing actions of unknown provenance.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   501
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   502
  Interface::
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   503
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   504
    <interface>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   505
        <policy name="known-actions-only" scope="global,image"
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   506
            type="boolean" commitment="Committed">
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   507
        Deployer control over execution of unknown actions.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   508
        </policy>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   509
    <interface>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   510
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   511
Actuators
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   512
~~~~~~~~~
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   513
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   514
Reboot necessity.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   515
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   516
Those system configuration steps which can be deferred.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   517
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   518
Variants and facets
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   519
~~~~~~~~~~~~~~~~~~~
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   520
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   521
Packaging considerations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   522
========================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   523
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   524
Many of the good packaging criteria present trade-offs among themselves. It
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   525
will often be difficult to satisfy all requirements equally. These criteria are
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   526
presented in order of importance; however, this sequence is meant to serve as a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   527
flexible guide depending on the circumstances. Although each of these criteria
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   528
is important, it is up to you to optimize these requirements to produce a good
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   529
set of packages.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   530
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   531
Optimize for Client-Server Configurations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   532
-----------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   533
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   534
You should consider the various patterns of software use
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   535
(client and server) when laying out packages. Good packaging
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   536
design divides the affected files to optimize installation of each
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   537
configuration type. For example, for a network protocol implementation,
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   538
it should be possible to install the client without necessarily
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   539
installing the server.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   540
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   541
Package by Functional Boundaries
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   542
--------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   543
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   544
Packages should be self-contained and distinctly identified with a set of
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   545
functionality. For example, a package containing UFS should contain all UFS
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   546
utilities and be limited to only UFS binaries.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   547
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   548
Packages should be organized from a customer's point of view into functional
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   549
units.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   550
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   551
Package Along License or Royalty Boundaries
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   552
-------------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   553
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   554
Put code that requires royalty payments due to contractual agreements or
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   555
that has distinct software license terms in a dedicated package or group
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   556
of packages. Do not to disperse the code into more packages than
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   557
necessary.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   558
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   559
Overlap in Packages
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   560
-------------------
293
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   561
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   562
When constructing the packages, ensure that duplicate files are eliminated when
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   563
possible. Unnecessary duplication of files results in support and version
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   564
difficulties. If your product has multiple packages, constantly compare the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   565
contents of these packages for redundancies.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   566
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   567
Sizing Considerations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   568
---------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   569
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   570
Size is package-specific and depends on other criteria. For example, the
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   571
maximum size of /opt should be considered. When possible, a good package should
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   572
not contain only one or two files or contain extremely large numbers of files.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   573
There are cases where a smaller or larger package might be appropriate to
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   574
satisfy other criteria.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   575
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   576
Licensing Considerations for Packages
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   577
-------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   578
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   579
If you are distributing software that uses licensing, there are several things
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   580
you need to consider:
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   581
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   582
    - Business operations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   583
    - Communication with users
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   584
    - Technology
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   585
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   586
*Business Operations.*  Before you begin distributing licensed software, set up
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   587
your business operations to distribute, price, and track licenses. There are a
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   588
variety of ways to distribute licenses, such as fax, electronic mail, or an 800
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   589
telephone number. You need to choose a method of distribution and set up all
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   590
the necessary processes. You also need to consider whether licenses need to be
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   591
upgraded with the software and how this will be done.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   592
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   593
Pricing policy and types of licenses must also be considered. You must consider
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   594
how the product is used and what kinds of licenses your users will need to use
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   595
the product effectively. Single user licenses may not be appropriate for many
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   596
situations.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   597
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   598
*Communication with Users.* Before you implement licensing, you need to inform
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   599
your users, particularly if the product has not been licensed in the past.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   600
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   601
When you do implement licensing, you may want to consider implementing it
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   602
gradually. The first step would be monitoring the use of licenses, followed by
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   603
warning that the software is being used without a license, and finally, denying
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   604
the use of the software.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   605
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   606
*Technology.* If you are going to use a commercial product for licensing, there
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   607
are many things to consider when making your choice. You need to decide what
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   608
your priorities are. For example, is ease of administration and use most
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   609
important? Or is enforcing the licensing policy more important?
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   610
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   611
You also need to consider whether the software will be used in a heterogeneous
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   612
or homogeneous environment and whether standards are important. You may also
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   613
want to look at the security provided by the product. Is it easy to get around
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   614
the enforcement of licenses?
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   615
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   616
The issues involved in choosing a commercial product will vary depending on
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   617
the kind of application and your reasons for implementing licensing.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   618
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   619
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   620
Naming your package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   621
===================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   622
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   623
.. include:: guide-naming-conventions.rst
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   624
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   625
Decorating your package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   626
=======================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   627
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   628
.. include:: guide-metadata-conventions.rst
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   629
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   630
A full packaging example
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   631
========================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   632
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   633
Delivery examples
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   634
=================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   635
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   636
In the following sections, we give examples of delivering specific
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   637
resources via the image packaging system.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   638
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   639
Device driver
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   640
-------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   641
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   642
XXX ``e1000g``
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   643
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   644
Versioned interpreter
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   645
---------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   646
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   647
XXX perl
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   648
XXX ``verexec``
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   649
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   650
|smf5| Service
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   651
--------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   652
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   653
XXX pkg.depotd
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   654
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   655
GNOME Desktop Elements
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   656
----------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   657
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   658
XXX pick a specific Gnome application
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   659
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   660
Coordinating groups of packages using incorporations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   661
----------------------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   662
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   663
Renaming a package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   664
------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   665
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   666
Making a package version obsolete
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   667
---------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   668
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   669
Moving a file between packages
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   670
------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   671
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   672
Migrating an existing package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   673
=============================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   674
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   675
Migrating a System V Package
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   676
----------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   677
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   678
XXX pkgsend
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   679
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   680
Migrating a |tar1| archive
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   681
--------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   682
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   683
XXX pkgsend
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   684
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   685
Publishing from an installation directory
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   686
-----------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   687
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   688
Pre-publication tools
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   689
=====================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   690
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   691
pkgmogrify, pkgdepend, pkgdiff, and pkgfmt.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   692
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   693
----------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   694
Depot operations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   695
----------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   696
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   697
Distributing packages with a depot
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   698
==================================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   699
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   700
XXX thread tuning
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   701
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   702
Using Apache HTTPD as a reverse proxy cache
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   703
-------------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   704
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   705
recommended
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   706
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   707
can speed up operations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   708
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   709
Running a content mirror
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   710
------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   711
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   712
From DVD
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   713
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   714
Via rsync
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   715
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   716
Long-term operations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   717
--------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   718
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   719
Splitting and spreading package retrieval load
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   720
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   721
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   722
can be load balanced
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   723
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   724
Tuning search
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   725
~~~~~~~~~~~~~
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   726
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   727
Publishing packages with a depot
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   728
================================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   729
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   730
running in r/w mode
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   731
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   732
XXX could we automate snapshots?
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   733
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   734
----------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   735
Packaging client
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   736
----------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   737
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   738
.. section-autonumbering
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   739
   :start: 1
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   740
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   741
.. include:: guide-pkg-states.rst
293
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   742
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   743
- protocol / network format
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   744
        - client side REST API
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   745
        - publication side REST API
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   746
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   747
Retrieval protocol operations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   748
=============================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   749
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   750
Publication protocol operations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   751
===============================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   752
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   753
.. include:: guide-publication-protocol.rst
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   754
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   755
Other protocol operations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   756
=========================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   757
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   758
- versions
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   759
      Version 0
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   760
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   761
      A GET operation that retrieves the current set of operations
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   762
      offered by the contacted depot.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   763
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   764
      Example:
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   765
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   766
          URL: http://pkg.opensolaris.org/versions/0
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   767
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   768
      Expects:
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   769
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   770
          No body.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   771
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   772
      Returns:
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   773
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   774
          List of operations and versions, one operation per line, space
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   775
          separated list of versions for each operation.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   776
- search
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   777
      Version 1
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   778
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   779
      A GET operation that presents a query to the search index
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   780
      capability of the contacted depot.
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   781
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   782
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   783
--------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   784
Package depots and other servers
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   785
--------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   786
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   787
.. section-autonumbering
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   788
   :start: 1
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   789
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   790
.. include:: guide-repository-format.rst
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   791
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   792
|depotd1m| implementation
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   793
=========================
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   794
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   795
.. include:: guide-implementation-depot.rst
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   796
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   797
--------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   798
Appendix: Reference manual pages
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   799
--------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   800
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   801
pkg(1)
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   802
======
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   803
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   804
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   805
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   806
   <pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   807
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   808
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   809
   :file: ../src/man/pkg.1.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   810
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   811
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   812
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   813
   </pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   814
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   815
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   816
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   817
   \begin{verbatim}
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   818
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   819
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   820
   :file: ../src/man/pkg.1.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   821
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   822
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   823
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   824
   \end{verbatim}
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   825
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   826
pkgrecv(1)
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   827
==========
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   828
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   829
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   830
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   831
   <pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   832
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   833
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   834
   :file: ../src/man/pkgrecv.1.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   835
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   836
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   837
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   838
   </pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   839
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   840
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   841
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   842
   \begin{verbatim}
293
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   843
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   844
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   845
   :file: ../src/man/pkgrecv.1.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   846
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   847
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   848
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   849
   \end{verbatim}
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   850
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   851
pkgsend(1)
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   852
==========
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   853
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   854
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   855
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   856
   <pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   857
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   858
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   859
   :file: ../src/man/pkgsend.1.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   860
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   861
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   862
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   863
   </pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   864
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   865
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   866
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   867
   \begin{verbatim}
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   868
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   869
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   870
   :file: ../src/man/pkgsend.1.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   871
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   872
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   873
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   874
   \end{verbatim}
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   875
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   876
pkg.depotd(1M)
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   877
==============
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   878
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   879
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   880
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   881
   <pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   882
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   883
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   884
   :file: ../src/man/pkg.depotd.1m.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   885
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   886
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   887
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   888
   </pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   889
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   890
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   891
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   892
   \begin{verbatim}
293
c0af9237a26a updates to spur discussion
Stephen Hahn <sch@Sun.COM>
parents:
diff changeset
   893
1923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   894
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   895
   :file: ../src/man/pkg.depotd.1m.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   896
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   897
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   898
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   899
   \end{verbatim}
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   900
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   901
pkg(5)
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   902
======
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   903
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   904
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   905
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   906
   <pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   907
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   908
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   909
   :file: ../src/man/pkg.5.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   910
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   911
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   912
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   913
   </pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   914
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   915
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   916
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   917
   \begin{verbatim}
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   918
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   919
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   920
   :file: ../src/man/pkg.5.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   921
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   922
.. raw:: latex
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   923
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   924
   \end{verbatim}
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   925
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   926
---------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   927
Appendix:  Protocol details
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   928
---------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   929
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   930
------------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   931
Appendix:  Architectural process materials
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   932
------------------------------------------
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   933
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   934
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   935
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   936
   <pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   937
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   938
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   939
   :file: one-pager-main.txt
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   940
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   941
.. raw:: html
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   942
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   943
   </pre>
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   944
8d42b7caa49d 16081 begin a developer guide for pkg(5)
Stephen Hahn <stephen.hahn@oracle.com>
parents: 293
diff changeset
   945