18776 man pages need to be in nroff format
authorDanek Duvall <danek.duvall@oracle.com>
Fri, 05 Aug 2011 14:59:57 -0700
changeset 2494 106731ab1e98
parent 2493 5db1603f0c3f
child 2495 2c0855a9d082
18776 man pages need to be in nroff format
.hgignore
src/man/Makefile
src/man/packagemanager.1
src/man/packagemanager.1.txt
src/man/pkg.1
src/man/pkg.1.txt
src/man/pkg.5
src/man/pkg.5.txt
src/man/pkg.depotd.1m
src/man/pkg.depotd.1m.txt
src/man/pkg.sysrepo.1m
src/man/pkg.sysrepo.1m.txt
src/man/pkgdepend.1
src/man/pkgdepend.1.txt
src/man/pkgdiff.1
src/man/pkgdiff.1.txt
src/man/pkgfmt.1
src/man/pkgfmt.1.txt
src/man/pkglint.1
src/man/pkglint.1.txt
src/man/pkgmerge.1
src/man/pkgmerge.1.txt
src/man/pkgmogrify.1
src/man/pkgmogrify.1.txt
src/man/pkgrecv.1
src/man/pkgrecv.1.txt
src/man/pkgrepo.1
src/man/pkgrepo.1.txt
src/man/pkgsend.1
src/man/pkgsend.1.txt
src/man/pkgsign.1
src/man/pkgsign.1.txt
src/man/pm-updatemanager.1
src/man/pm-updatemanager.1.txt
src/pkg/manifests/package%2Fpkg%2Fpackage-manager.p5m
src/pkg/manifests/package%2Fpkg%2Fsystem-repository.p5m
src/pkg/manifests/package%2Fpkg%2Fupdate-manager.p5m
src/pkg/manifests/package%2Fpkg.p5m
src/pkg/transforms/defaults
src/setup.py
--- a/.hgignore	Thu Aug 04 13:17:33 2011 -0700
+++ b/.hgignore	Fri Aug 05 14:59:57 2011 -0700
@@ -29,7 +29,6 @@
 ^src/gui/data/packagemanager-preferences.schemas$
 ^src/gui/data/packagemanager.desktop$
 ^src/gui/help/.*/package-manager.xml$
-^src/man/.*\.(1m?|5)$
 ^src/pkg/Makefile.link
 ^src/pkg/pkgtmp/
 ^src/tests/.coverage$
--- a/src/man/Makefile	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License (the "License").
-# You may not use this file except in compliance with the License.
-#
-# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-# or http://www.opensolaris.org/os/licensing.
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-
-#
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
-#
-
-all := TARGET = all
-
-all:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/packagemanager.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,273 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH packagemanager 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+packagemanager \- GUI for the Image Packaging System
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/packagemanager [\fIoptions\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/packagemanager [-hiRu] [--help]
+    [--info-install \fIfile\fR] [--update-all]
+    [--image-dir \fIdir\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/packagemanager [\fIfile\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpackagemanager\fR is the graphical user interface for \fBpkg\fR(5), the Image Packaging System software.
+.sp
+.LP
+The Package Manager enables you to perform the following tasks:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Search, install, and remove packages.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Add, remove, and modify publishers.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Create, remove, and manage boot environments.
+.RE
+.sp
+.LP
+If the \fIfile\fR operand is specified and its suffix is \fB\&.p5i\fR, \fBpackagemanager\fR launches in Web Install mode, which adds one or more publishers and a number of packages for each publisher.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR or \fB--help\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR or \fB--info-install\fR \fIfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Allows you to specify a \fB\&.p5i\fR file to run \fBpackagemanager\fR in Web Install mode. The \fIfile\fR must have the suffix \fB\&.p5i\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR or \fB--image-dir\fR \fIdir\fR\fR
+.ad
+.sp .6
+.RS 4n
+Operate on the image rooted at \fIdir\fR, rather than the image discovered automatically.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR or \fB--update-all\fR\fR
+.ad
+.sp .6
+.RS 4n
+Update all installed packages that have updates available.
+.LP
+Note - 
+.sp
+.RS 2
+If the \fBpackage/pkg\fR, \fBpackage/pkg/package-manager\fR, or \fBpackage/pkg/update-manager\fR packages need to be updated, \fBpackagemanager\fR first updates these packages and then restarts to carry out any remaining updates.
+.RE
+.RE
+
+.SH OPERANDS
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.RS 8n
+.rt  
+A Web Install file. This file must have the suffix \fB\&.p5i\fR. See the Package Manager online help for more information about Web Install.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fROperate on the Current Image
+.sp
+.LP
+Invoke \fBpackagemanager\fR on the current image.
+
+.sp
+.in +2
+.nf
+$ \fBpackagemanager\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fROperate on a Specified Image
+.sp
+.LP
+Invoke \fBpackagemanager\fR in the image stored at \fB/aux0/example_root\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpackagemanager -R /aux0/example_root\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRInvoke in Web Install Mode
+.sp
+.LP
+Invoke \fBpackagemanager\fR in Web Install mode.
+
+.sp
+.in +2
+.nf
+$ \fBpackagemanager ~/test.p5i\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt  
+Everything worked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.SH FILES
+.sp
+.LP
+Since \fBpkg\fR(5) images can be located arbitrarily within a larger file system, the token \fB$IMAGE_ROOT\fR is used to distinguish relative paths. For a typical system installation, \fB$IMAGE_ROOT\fR is equivalent to /.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$IMAGE_ROOT/var/pkg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Metadata directory for a full or partial image.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$IMAGE_ROOT/.org.opensolaris,pkg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Metadata directory for a user image.
+.sp
+Within the metadata of a particular image, certain files and directories contain information useful during repair and recovery. The token \fB$IMAGE_META\fR is used to refer to the top-level directory that contains the metadata. \fB$IMAGE_META\fR is typically one of the two paths given above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$IMAGE_META/gui-cache\fR\fR
+.ad
+.sp .6
+.RS 4n
+Location for cached metadata maintained by \fBpackagemanager\fR to speed up program startup and switching between publishers.
+.RE
+
+.sp
+.LP
+Other paths within the \fB$IMAGE_META\fR directory hierarchy are Private, and are subject to change.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg/package-manager\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpm-updatemanager\fR(1), \fBpkg\fR(1), \fBpkg\fR(5)
+.sp
+.LP
+Package Manager online help
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
+.SH NOTES
+.sp
+.LP
+\fBpackagemanager\fR needs to be invoked with sufficient privilege to operate on an image's files and directories.
--- a/src/man/packagemanager.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-User Commands                                 packagemanager(1)
-
-
-NAME
-     packagemanager - GUI for the Image Packaging System
-
-SYNOPSIS
-     /usr/bin/packagemanager [options]
-
-     /usr/bin/packagemanager [-hiRU] [--help] [--info-install file]
-         [--update-all] [--image-dir dir]
-     /usr/bin/packagemanager [file]
-
-DESCRIPTION
-     packagemanager(1) is the graphical user interface for pkg(5), the
-     Image Packaging System software.
-
-     The Package Manager enables you to perform the following tasks:
-
-     - Search, install and remove packages.
-
-     - Add,  remove and modify publishers.
-
-     - Create, remove and manage boot environments.
-
-     If file operand is specified and its suffix is .p5i,
-     packagemanager(1) will launch in Web Install mode, which will add
-     one or more publishers and a number of packages for each publisher.
-
-OPTIONS
-     The following options are supported:
-
-     --help or -h
-          Displays a usage message.
-
-     --info-install or -i file
-          Allows you to specify a .p5i file to run packagemanager(1) in
-          Web Install mode. The file which is specified must have suffix
-          .p5i.
-
-     --image-dir or -R dir
-          Operate on the image rooted at dir, rather than the one discovered
-          automatically.
-
-     --update-all or -U
-          Update all packages. When the user chooses Updates option in
-          packagemanager(1) and the packages containing the pkg(1) or
-          packagemanager(1) clients need to be updated before an image
-          update can be successfully performed, packagemanager(1) is
-          called with this option after the packages have been updated.
-
-EXAMPLES
-     Example 1:  Invoke packagemanager(1) on the current image.
-
-     $ packagemanager
-
-     Example 2:  Invoke packagemanager(1) in image stored at /aux0/example_root.
-
-     $ packagemanager -R /aux0/example_root
-
-     Example 3:  Invoke packagemanager(1) in Web Install mode.
-
-     $ packagemanager ~/test.p5i
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Everything worked.
-
-     1     Something bad happened.
-
-     2     Invalid command line options were specified.
-
-FILES
-     Since pkg(5) images can be located arbitrarily within a larger file
-     system, we use the token $IMAGE_ROOT to distinguish relative paths.
-     For a typical system installation, $IMAGE_ROOT is equivalent to
-     "/".
-
-     $IMAGE_ROOT/var/pkg        Metadata directory for a full or partial
-                                image.
-
-     $IMAGE_ROOT/.org.opensolaris,pkg
-                                Metadata directory for a user image.
-
-     Within a particular image's metadata, certain files and directories
-     can contain information useful during repair and recovery.  We use
-     the token $IMAGE_META to refer to the top-level directory
-     containing the metadata.  $IMAGE_META is typically one of the two
-     paths given above.
-
-     $IMAGE_META/gui-cache      Location for cached metadata maintained
-                                by packagemanager(1) to speed up program
-                                start-up and switching between
-                                publishers.
-
-     Other paths within the $IMAGE_META directory hierarchy are Private,
-     and are subject to change.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | SUNWipkg-gui                |
-    |                             | pkg:/package/pkg/           |
-    |                             |             packagemanager  |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     pkg(1), attributes(5), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at:
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
-
-     packagemanager(1) needs to be invoked with sufficient privilege to
-     operate on an image's files and directories.  Typically,
-     packagemanager(1) is invoked using gksu(1) as follows:
-
-     $ gksu dbus-launch /usr/bin/packagemanager
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkg.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,2154 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkg 1 "28 Jul 2011" "" ""
+.SH NAME
+pkg \- Image Packaging System retrieval client
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkg [\fIoptions\fR] command [\fIcmd_options\fR] [\fIoperands\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg refresh [--full] [\fIpublisher\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg install [-nvq] [-g \fIpath_or_uri\fR ...] [--accept]
+    [--licenses] [--no-be-activate] [--no-index]
+    [--no-refresh] [--deny-new-be | --require-new-be]
+    [--be-name \fIname\fR] [--reject \fIpkg_fmri_pattern\fR ...]
+    \fIpkg_fmri_pattern\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg uninstall [-nvq] [--no-be-activate]
+    [--no-index] [--deny-new-be | --require-new-be]
+    [--be-name \fIname\fR] \fIpkg_fmri_pattern\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg update [-fnvq] [-g \fIpath_or_uri\fR ...] [--accept]
+    [--licenses] [--no-be-activate] [--no-index]
+    [--no-refresh] [--deny-new-be | --require-new-be]
+    [--be-name \fIname\fR] [--reject \fIpkg_fmri_pattern\fR ...]
+    [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg list [-Hafnsuv] [-g \fIpath_or_uri\fR ...]
+    [--no-refresh] [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg info [-lr] [-g \fIpath_or_uri\fR ...] [--license]
+    [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg contents [-Hmr] [-a \fIattribute\fR=\fIpattern\fR ...]
+    [-g \fIpath_or_uri\fR ...] [-o \fIattribute\fR ...] [-s \fIsort_key\fR]
+    [-t \fIaction_type\fR ...] [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg search [HIaflpr] [-o \fIattribute\fR ...]
+    [-s \fIrepo_uri\fR] \fIquery\fR
+.fi
+
+.LP
+.nf
+/usr/bin/pkg verify [-Hqv] [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg fix [--accept] [--licenses] [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg revert [-nv] [--no-be-activate]
+    [--be-name \fIname\fR] [--deny-new-be | --require-new-be]
+    (--tagged \fItag-name\fR ... | \fIpath-to-file\fR ...)
+.fi
+
+.LP
+.nf
+/usr/bin/pkg mediator [-aH] [-F \fIformat\fR] [\fImediator\fR ...]
+.fi
+
+.LP
+.nf
+usr/bin/pkg set-mediator [-nv] [-I \fIimplementation\fR]
+    [-V \fIversion\fR] [--no-be-activate]
+    [--deny-new-be | --require-new-be]
+    [--be-name \fIname\fR] \fImediator\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg unset-mediator [-nvIV] [--no-be-activate]
+    [--deny-new-be | --require-new-be] [--be-name \fIname\fR]
+    \fImediator\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg variant [-H] [\fIvariant_spec\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg change-variant [-nvq] [-g \fIpath_or_uri\fR ...]
+    [--accept] [--licenses] [--no-be-activate]
+    [--deny-new-be | --require-new-be]
+    [--be-name \fIname\fR] \fIvariant_spec\fR=\fIinstance\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg facet [-H] [\fIfacet_spec\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg change-facet [-nvq] [-g \fIpath_or_uri\fR ...]
+    [--accept] [--licenses] [--no-be-activate]
+    [--deny-new-be | --require-new-be]
+    [--be-name \fIname\fR] \fIfacet_spec\fR=[True|False|None] ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg avoid [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg unavoid [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg freeze [-n] [-c \fIreason\fR] [\fIpkg_fmri_pattern\fR] ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg unfreeze [-n] [\fIpkg_name_pattern\fR] ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg property [-H] [\fIpropname\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg set-property \fIpropname\fR \fIpropvalue\fR
+.fi
+
+.LP
+.nf
+/usr/bin/pkg add-property-value \fIpropname\fR \fIpropvalue\fR
+.fi
+
+.LP
+.nf
+/usr/bin/pkg remove-property-value \fIpropname\fR \fIpropvalue\fR
+.fi
+
+.LP
+.nf
+/usr/bin/pkg unset-property \fIpropname\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg publisher [-HPn] [\fIpublisher\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg set-publisher [-Ped] [-k \fIssl_key\fR] [-c \fIssl_cert\fR]
+    [-g \fIorigin_to_add\fR | --add-origin \fIorigin_to_add\fR ...]
+    [-G \fIorigin_to_remove\fR | --remove-origin \fIorigin_to_remove\fR ...]
+    [-m \fImirror_to_add\fR | --add-mirror \fImirror_to_add\fR ...]
+    [-M \fImirror_to_remove\fR | --remove-mirror \fImirror_to_remove\fR ...]
+    [-p \fIrepo_uri\fR] [--enable] [--disable] [--no-refresh]
+    [--reset-uuid] [--non-sticky] [--sticky]
+    [--search-after \fIpublisher\fR] [--search-before \fIpublisher\fR]
+    [--search-first]
+    [--approve-ca-cert \fIpath_to_CA\fR]
+    [--revoke-ca-cert \fIhash_of_CA_to_remove\fR]
+    [--unset-ca-cert \fIhash_of_CA_to_remove\fR]
+    [--set-property \fIname_of_property\fR=\fIvalue\fR]
+    [--add-property-value \fIname_of_property\fR=\fIvalue_to_add\fR]
+    [--remove-property-value \fIname_of_property\fR=\fIvalue_to_remove\fR]
+    [--unset-property \fIname_of_property_to_delete\fR]
+    [\fIpublisher\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg unset-publisher \fIpublisher\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkg history [-Hl] [-t [\fItime\fR | \fItime\fR-\fItime\fR],...]
+    [-o \fIcolumn\fR,...] [-n \fInumber\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/pkg purge-history
+.fi
+
+.LP
+.nf
+/usr/bin/pkg rebuild-index
+.fi
+
+.LP
+.nf
+/usr/bin/pkg update-format
+.fi
+
+.LP
+.nf
+/usr/bin/pkg version
+.fi
+
+.LP
+.nf
+/usr/bin/pkg help
+.fi
+
+.LP
+.nf
+/usr/bin/pkg image-create [-FPUfz] [--force]
+    [--full | --partial | --user] [--zone]
+    [-k \fIssl_key\fR] [-c \fIssl_cert\fR]
+    [--no-refresh] [--variant \fIvariant_spec\fR=\fIinstance\fR ...]
+    [-g \fIpath_or_uri\fR | --origin \fIpath_or_uri\fR ...]
+    [-m \fIuri\fR | --mirror \fIuri\fR ...]
+    [--facet \fIfacet_spec\fR=(True|False) ...]
+    [(-p | --publisher) [\fIname\fR=]\fIrepo_uri\fR] \fIdir\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkg\fR is the retrieval client for the Image Packaging System. With a valid configuration, \fBpkg\fR can be invoked to create locations for packages to be installed, called images, and install packages into those images. Packages are published by publishers, who can make their packages available at one or more repositories, or in package archives. \fBpkg\fR retrieves packages from a publisher's repository or package archives and installs the packages into an image.
+.sp
+.LP
+A publisher name identifies a person, group of persons, or an organization as the source of one or more packages. To avoid publisher name collisions and help identify the publisher, a best practice is to use a domain name that represents the entity publishing the packages as a publisher name.
+.sp
+.LP
+A repository is a location where clients can publish and retrieve package content (files contained within the package such as programs and documents) and metadata (information about the package such as its name and description). As an example, a publisher named \fBexample.org\fR might have their repository located at the URI \fBhttp://example.org/repository\fR.
+.sp
+.LP
+\fBpkg\fR can also uninstall packages, refresh publisher metadata (such as the list of available packages), validate package installation in an image, and query the image for various tokens. These queries can also be made of \fBpkg\fR(5) repositories.
+.sp
+.LP
+Images can be of three types: full images, capable of providing a complete system; partial images, which are linked to a full image (parent image), but do not provide a complete system on their own; and user images.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB-R\fR \fIdir\fR
+.ad
+.sp .6
+.RS 4n
+Operate on the image rooted at directory \fIdir\fR. If no directory was specified or determined based on environment, the default is /. See the "Environment Variables" section for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB--help\fR or \fB-?\fR
+.ad
+.sp .6
+.RS 4n
+Display a usage message.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBrefresh\fR [\fB--full\fR] [\fIpublisher\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Updates the client's list of available packages and publisher metadata for each publisher specified. If no publishers are specified, the operation is performed for all publishers.
+.sp
+With \fB--full\fR, force a full retrieval of all publisher metadata, instead of attempting an incremental update, and request that any proxies used during the operation ignore cached data. This option exists for troubleshooting purposes and should not be used on a regular basis.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinstall\fR [\fB-nvq\fR] [\fB-g\fR \fIpath_or_uri\fR ...] [\fB--accept\fR] [\fB--licenses\fR] [\fB--no-be-activate\fR] [\fB--no-index\fR] [\fB--no-refresh\fR] [\fB--deny-new-be\fR | \fB--require-new-be\fR] [\fB--be-name\fR \fIname\fR] [\fB--reject\fR \fIpkg_fmri_pattern\fR ...] \fIpkg_fmri_pattern\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Installs and updates packages to the newest version that match \fIpkg_fmri_pattern\fR allowed by the packages installed in the image. To explicitly request the latest version of a package, use \fBlatest\fR for the version portion of \fIpkg_fmri_pattern\fR. For example, specify \fBvim@latest\fR.
+.sp
+Some configuration files might be renamed or replaced during the installation process. For more information on how the package system determines which files to preserve, and how they are preserved during package operations, see "File Actions" in \fBpkg\fR(5).
+.sp
+If a package is on the avoid list, installing it removes it from that list.
+.sp
+With \fB-g\fR, temporarily add the specified package repository or archive to the list of sources in the image from which to retrieve package data. If packages from the specified sources are also available from configured publishers in the image, the client will retrieve content for those packages from the specified sources only. When deciding which version of a package to use, publishers configured in the image, but not found in the given sources take precedence. After install or update, any packages provided by publishers not found in the image are added to the image configuration without an origin. This option can be specified multiple times.
+.sp
+With \fB-n\fR, perform a trial run of the operation with no package changes made.
+.sp
+With \fB-q\fR, hide progress messages during the requested operation.
+.sp
+With \fB-v\fR, issue verbose progress messages during the requested operation, and display detailed planning information (such as changing facets, mediators, and variants). This option can be specified multiple times to increase the amount of planning information displayed.
+.sp
+With \fB--accept\fR, you indicate that you agree to and accept the terms of the licenses of the packages that are updated or installed. If you do not provide this option, and any package licenses require acceptance, the installation operation fails.
+.sp
+With \fB--licenses\fR, display all of the licenses for the packages that are installed or updated as part of this operation.
+.sp
+With \fB--no-be-activate\fR, if a boot environment is created, do not set it as the active BE on the next boot. See \fBbeadm\fR(1M) for more information.
+.sp
+With \fB--no-index\fR, do not update the search indices after the operation has completed successfully.
+.sp
+With \fB--no-refresh\fR, do not attempt to contact the repositories for the image's publishers to retrieve the newest list of available packages and other metadata.
+.sp
+With \fB--be-name\fR, rename the newly created boot environment to be the argument given. This option is only valid if a new boot environment is created during the operation. See also \fBbeadm\fR(1M).
+.sp
+With \fB--require-new-be\fR, always create a new boot environment. Without this option, a boot environment is created automatically if needed.
+.sp
+With \fB--deny-new-be\fR, do not create a new boot environment. This operation is not performed if a new boot environment is required.
+.sp
+With \fB--reject\fR, prevent packages with names matching the given pattern from being installed. If matching packages are already installed, they are removed as part of this operation. Rejected packages that are the target of group dependencies are placed on the avoid list.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuninstall\fR [\fB-nvq\fR] [\fB--no-be-activate\fR] [\fB--no-index\fR] [\fB--deny-new-be\fR | \fB--require-new-be\fR] [\fB--be-name\fR \fIname\fR] \fIpkg_fmri_pattern\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Removes installed packages that match \fIpkg_fmri_pattern\fR.
+.sp
+If a package is the subject of a group dependency, uninstalling it  places it on the avoid list. See the \fBavoid\fR subcommand below.
+.sp
+For all other options, refer to the \fBinstall\fR command above for usage and their effects.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBupdate\fR [\fB-fnvq\fR] [\fB-g\fR \fIpath_or_uri\fR ...] [\fB--accept\fR] [\fB--licenses\fR] [\fB--no-be-activate\fR] [\fB--no-index\fR] [\fB--no-refresh\fR] [\fB--deny-new-be\fR | \fB--require-new-be\fR] [\fB--be-name\fR \fIname\fR] [\fB--reject\fR \fIpkg_fmri_pattern\fR ...] [\fIpkg_fmri_pattern\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+With no arguments, or if asterisk (*) is one of the patterns provided, update all installed packages in the current image to the newest version allowed by the constraints imposed on the system by installed packages and publisher configuration. To explicitly request the latest version of a package, use \fBlatest\fR for the version portion of \fIpkg_fmri_pattern\fR. For example, specify \fBvim@latest\fR.
+.sp
+If \fIpkg_fmri_pattern\fR is provided, \fBupdate\fR replaces packages that are installed, and that match \fIpkg_fmri_pattern\fR, with the newest version allowed by the patterns and the constraints imposed on the system by installed packages and publisher configuration. Versions older or newer than what is already installed can be specified to perform in-place downgrades or upgrades of specific packages. Updating specific packages across package rename or obsolete boundaries is not supported.
+.sp
+Any preserved configuration files that are part of packages to be downgraded by \fBupdate\fR and that have been changed since the original version was installed are renamed using the extension \fB\&.update\fR. For more information about how the package system determines which files to preserve, and how these files are preserved during package upgrades, see "File Actions" in \fBpkg\fR(5).
+.sp
+With the \fB-f\fR option, do not execute the client up-to-date check when updating all installed packages.
+.sp
+For all other options, refer to the \fBinstall\fR command above for usage and their effects.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlist\fR [\fB-Hafnsuv\fR] [\fB-g\fR \fIpath_or_uri\fR ...] [\fB--no-refresh\fR] [\fIpkg_fmri_pattern\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Display a list of packages in the current image, including state and other information. By default, package variants for a different architecture or zone type are excluded. The usual output is in three columns:
+.sp
+.in +2
+.nf
+NAME (PUBLISHER)            VERSION           IFO
+system/core-os              0.5.11-0.169      i--
+x11/wm/fvwm (fvwm.org)      2.6.1-3           i--
+.fi
+.in -2
+
+The first column contains the name of the package. If the publisher from which the package is installed (or available, if not installed) is not the first in the publisher search order, then the publisher name is listed in parentheses after the package name. The second column contains the release and branch versions of the package. See \fBpkg\fR(5) for information about release and branch versions.
+.sp
+.LP
+The last column contains a set of flags that show the status of the package:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+An \fBi\fR in the \fBI\fR column shows that the package is installed.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+An \fBf\fR in the \fBF\fR column shows that the package is frozen.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+An \fBo\fR in the \fBO\fR column shows that the package is obsolete. An \fBr\fR in the \fBO\fR column shows that the package has been renamed (a form of obsoletion).
+.RE
+With \fB-H\fR, omit the headers from the listing.
+.sp
+With \fB-a\fR, list installed packages and the newest version of packages that are available for installation. Packages are considered to be available for installation if they are allowed by the installed incorporations and by the image's variants. If one or more patterns are specified, then the newest version matching the specified pattern and allowed by any installed incorporations and the image's variants is listed. Without \fB-a\fR, list only installed packages.
+.sp
+With \fB-f\fR and \fB-a\fR, list all versions of all packages for all variants regardless of incorporation constraints or installed state. To explicitly list the latest version of a package when using these options, use \fBlatest\fR for the version portion of \fIpkg_fmri_pattern\fR. For example, specify \fBvim@latest\fR.
+.sp
+With \fB-g\fR, use the specified package repository or archive as the source of package data for the operation. This option can be specified multiple times. Use of \fB-g\fR implies \fB-a\fR if \fB-n\fR is not specified.
+.sp
+With \fB-n\fR, display the newest versions of all known packages, regardless of installed state.
+.sp
+With \fB-s\fR, display a one-line short-form giving the package name and summary. This option can be used with \fB-a\fR, \fB-n\fR, \fB-u\fR or \fB-v\fR.
+.sp
+With \fB-u\fR, list only packages with newer versions available. This option cannot be used with \fB-g\fR.
+.sp
+With \fB-v\fR, show full package FMRIs, including publisher and complete version, all in the first column (the VERSION column disappears). This option can be used with \fB-a\fR, \fB-n\fR, or \fB-u\fR.
+.sp
+With \fB--no-refresh\fR, do not attempt to contact the repositories for the image's publishers to retrieve the newest list of available packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinfo\fR [\fB-lr\fR] [\fB-g\fR \fIpath_or_uri\fR ...] [\fB--license\fR] [\fIpkg_fmri_pattern\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Display information about packages in a human-readable form. Multiple FMRI patterns can be specified. With no patterns, display information on all installed packages in the image.
+.sp
+With \fB-g\fR, use the specified package repository or archive as the source of package data for the operation. This option can be specified multiple times. Use of \fB-g\fR implies \fB-r\fR.
+.sp
+With \fB-l\fR, only display information for installed packages. This is the default.
+.sp
+With \fB-r\fR, match packages based on the newest available versions, retrieving information for packages not currently installed (if necessary) from the repositories of the image's configured publishers. At least one package must be specified when using this option. Without \fB-r\fR, only installed packages are displayed by default.
+.sp
+With \fB--license\fR, display the license texts for the packages. This option can be combined with \fB-l\fR or \fB-r\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcontents\fR [\fB-Hmr\fR] [\fB-a\fR \fIattribute\fR=\fIpattern\fR ...] [\fB-g\fR \fIpath_or_uri\fR ...] [\fB-o\fR \fIattribute\fR,...] [\fB-s\fR \fIsort_key\fR] [\fB-t\fR \fIaction_type\fR ...] [\fIpkg_fmri_pattern\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Display the contents (action attributes) of packages in the current image. By default, only the \fBpath\fR attribute is displayed. The attributes displayed can be determined with the \fB-o\fR option. The \fB-o\fR option can be specified multiple times, or multiple attributes can be specified as the argument to one \fB-o\fR option by separating the attribute names with commas. Only actions that have the requested attributes are displayed. The \fB-m\fR option can also be used, as a shorthand for \fB-Ho action.raw\fR.
+.sp
+With \fB-a\fR, limit the output to those actions that have an attribute named in the option argument with a value that matches the (glob) pattern in the option argument (following the attribute name with an equals sign). If multiple \fB-a\fR options are given, then actions matching any of them are displayed.
+.sp
+With \fB-g\fR, use the specified package repository or archive as the source of package data for the operation. This option can be specified multiple times. Use of \fB-g\fR implies \fB-r\fR.
+.sp
+With \fB-r\fR, match packages based on the newest available versions, retrieving information for packages not currently installed (if necessary) from the repositories of the image's configured publishers. At least one package must be specified when using this option. Without \fB-r\fR, only installed packages are displayed by default.
+.sp
+With \fB-s\fR, sort actions by the specified action attribute. If not provided, the default is to sort by path or by the first attribute specified by the \fB-o\fR option. The \fB-s\fR option can be specified multiple times.
+.sp
+With \fB-t\fR, only list actions of the type specified. Multiple types can be specified in a comma-separated list. This option can be specified multiple times.
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.sp
+With no arguments, the output includes all installed packages. Alternatively, multiple FMRI patterns can be specified, which restricts the display to the contents of the matching packages. When using \fB-r\fR, one or more \fIpkg_fmri_pattern\fR must be specified.
+.sp
+Several special pseudo attribute names are available for convenience:
+.sp
+.ne 2
+.mk
+.na
+\fBaction.hash\fR
+.ad
+.RS 17n
+.rt  
+Corresponds to the value of the action's hash, if the action carries a payload.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaction.key\fR
+.ad
+.RS 17n
+.rt  
+Corresponds to the value of the action's key attribute. For example, for a file action, this is the path to the file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaction.name\fR
+.ad
+.RS 17n
+.rt  
+Corresponds to the name of the action. For example, for a file action, this is \fBfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaction.raw\fR
+.ad
+.RS 17n
+.rt  
+Corresponds to the complete contents of the action as represented in the package manifest. This corresponds to the lines of output of \fBpkg contents -m\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpkg.fmri\fR
+.ad
+.RS 17n
+.rt  
+Corresponds to the full form FMRI of the package containing the action, such as \fBpkg://solaris/web/[email protected],5.11-0.169:20110705T153434Z\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpkg.name\fR
+.ad
+.RS 17n
+.rt  
+Corresponds to the name of the package containing the action, such as \fBweb/amp\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpkg.publisher\fR
+.ad
+.RS 17n
+.rt  
+Corresponds to the publisher of the package containing the action, such as \fBsolaris\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpkg.shortfmri\fR
+.ad
+.RS 17n
+.rt  
+Corresponds to the short form FMRI of the package containing the action, such as \fBpkg://solaris/web/[email protected],5.11-0.169\fR
+.RE
+
+The \fBcontents\fR and \fBsearch\fR subcommands are related: Both are used to query the system for the contents of packages. The \fBcontents\fR subcommand displays actions in one or more packages, filtering the output based on the options chosen by the user. The \fBsearch\fR subcommand approaches the query from the other direction, looking for packages that contain a user-supplied token.
+.sp
+Each subcommand is capable of formulating some queries of which the other is capable. Care should be taken in choosing the subcommand, as a given query can be more naturally formulated in one than in the other.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsearch\fR [\fB-HIaflpr\fR] [\fB-o\fR \fIattribute\fR,...] [\fB-s\fR \fIrepo_uri\fR] \fIquery\fR
+.ad
+.sp .6
+.RS 4n
+Search for matches to the \fIquery\fR, and display the results. Which tokens are indexed are action-dependent, but can include content hashes and path names. By default, queries are interpreted as a series of terms to be matched exactly. The \fB?\fR and \fB*\fR characters can be used as \fBglob\fR(3C)-style wildcards, allowing more flexible query matches.
+.sp
+With \fB-H\fR, omit the headers.
+.sp
+With \fB-I\fR, use a case-sensitive search.
+.sp
+By default, and with \fB-a\fR, perform the search and display information about the matching actions.
+.sp
+By default, \fBsearch\fR prunes results from packages older than the currently installed version and from package versions excluded by current incorporations. Use \fB-f\fR to show all results, regardless of package version.
+.sp
+With \fB-l\fR, search the image's installed packages.
+.sp
+With \fB-o\fR, the columns of the results can be controlled. The \fB-o\fR option can be specified multiple times, or multiple attributes can be specified as the argument to one \fB-o\fR option by separating the attribute names with commas. In addition to the pseudo attributes outlined above, the following attributes are defined for search results:
+.sp
+.ne 2
+.mk
+.na
+\fBsearch.match\fR
+.ad
+.RS 21n
+.rt  
+Corresponds to the string that matched the search query.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsearch.match_type\fR
+.ad
+.RS 21n
+.rt  
+Corresponds to the attribute that contained the string that matched the search query.
+.RE
+
+With \fB-p\fR, display packages that have some actions that match each query term. Using this option is equivalent to putting angle brackets (\fB<>\fR) around each term in the query. See below for more description of the \fB<>\fR operator.
+.sp
+By default, and with \fB-r\fR, search the repositories corresponding to the image's publishers.
+.sp
+With \fB-s\fR, search the \fBpkg\fR(5) repository located at the given URI. This can be specified multiple times. Package archives are not supported.
+.sp
+Both \fB-l\fR and \fB-r\fR (or \fB-s\fR) can be specified together, in which case both local and remote searches are performed.
+.sp
+In addition to simple token matching and wildcard search, a more complicated query language is supported. Phrases can be searched for by using single or double quotation marks (\fB\&'\fR or \fB"\fR). Be sure to take your shell into account so that \fBpkg\fR actually sees the \fB\&'\fR or \fB"\fR.
+.sp
+Boolean search using AND and OR is supported. Field, or structured, queries are supported. The syntax for these is \fB\fIpkg_name\fR:\fIaction_type\fR:\fIkey\fR:\fItoken\fR. Missing fields are implicitly wildcarded. A search for \fB:basename:pkg\fR matches all action types in all packages with a key of \fBbasename\fR and that match the token \fBpkg\fR. Explicit wildcards are supported in the \fBpkg_name\fR and \fBtoken\fR fields. The \fBaction_type\fR and \fBkey\fR must match exactly.
+.sp
+To convert actions to the packages that contain those actions, use \fB<>\fR\&. With the \fB-a\fR option, searching for \fBtoken\fR results in information about the actions matching \fBtoken\fR, while searching for \fB<token>\fR results in a list of packages containing actions that matched \fBtoken\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBverify\fR [\fB-Hqv\fR] [\fIpkg_fmri_pattern\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Validate the installation of packages in the current image. If current signature policy for related publishers is not \fBignore\fR, the signatures of each package are validated based on policy. See \fBsignature-policy\fR in "Image Properties" below for an explanation of how signature policies are applied.
+.sp
+With \fB-H\fR, omit the headers from the verification output.
+.sp
+With \fB-q\fR, print nothing, but return failure if there are any fatal errors.
+.sp
+With \fB-v\fR, include informational messages regarding packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfix\fR [\fB--accept\fR] [\fB--licenses\fR] [\fIpkg_fmri_pattern\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Fix any errors reported by \fBpkg verify\fR. Verification of installed package content is based on a custom content analysis that might return different results than those of other programs.
+.sp
+With \fB--accept\fR, you indicate that you agree to and accept the terms of the licenses of the packages that are updated or installed. If you do not provide this option, and any package licenses require acceptance, the operation fails.
+.sp
+With \fB--licenses\fR, display all of the licenses for the packages to be installed or updated as part of this operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrevert\fR [\fB-nv\fR] [\fB--no-be-activate\fR] [\fB--be-name\fR \fIname\fR] [\fB--deny-new-be\fR | \fB--require-new-be\fR] (\fB--tagged\fR \fItag-name\fR ... | \fIpath-to-file\fR ...)\fR
+.ad
+.sp .6
+.RS 4n
+Revert files to their as-delivered condition. Either all files tagged with a particular value, or individual files can be reverted. File ownership and protections are also restored.
+.LP
+Caution - 
+.sp
+.RS 2
+Reverting some editable files to their default values can make the system unbootable, or cause other malfunctions.
+.RE
+For all other options, refer to the \fBinstall\fR command above for usage and their effects.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmediator\fR [\fB-aH\fR] [\fB-F\fR \fIformat\fR] [\fImediator\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Display the current selected version and/or implementation of all mediators, or with arguments, only the mediators specified.
+.sp
+With \fB-a\fR, list the mediations that can be set for currently installed packages.
+.sp
+With \fB-F\fR, specify an alternative output format. Currently, only \fBtsv\fR (Tab Separated Values) is valid.
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset-mediator\fR [\fB-nv\fR] [\fB-I\fR \fIimplementation\fR] [\fB-V\fR \fIversion\fR] [\fB--no-be-activate\fR] [\fB--deny-new-be\fR | \fB--require-new-be\fR] [\fB--be-name\fR \fIname\fR] \fImediator\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Set the version and/or implementation for the specified mediators in the current image.
+.sp
+With \fB-I\fR, set the implementation of the mediated interface to use. By default, if no version is specified, all implementation versions are allowed. To specify an implementation with no version, append an at sign (@).
+.sp
+With \fB-V\fR, set the version of the mediated interface to use.
+.sp
+If the specified mediator version and/or implementation is not currently available, any links using the specified mediators are removed.
+.sp
+For all other options, refer to the \fBinstall\fR command above for their usage and effects.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunset-mediator\fR [\fB-nvIV\fR] [\fB--no-be-activate\fR] [\fB--deny-new-be\fR | \fB--require-new-be\fR] [\fB--be-name\fR \fIname\fR] \fImediator\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Revert the version and/or implementation of the specified mediators to the system default.
+.sp
+With \fB-I\fR, revert only the implementation of the mediated interface.
+.sp
+With \fB-V\fR, revert only the version of the mediated interface.
+.sp
+For all other options, refer to the \fBinstall\fR command above for their usage and effects.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBvariant\fR [\fB-H\fR] [\fIvariant_spec\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display the current values of all variants, or with arguments, only the variants specified.
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBchange-variant\fR [\fB-nvq\fR] [\fB-g\fR \fIpath_or_uri\fR ...] [\fB--accept\fR] [\fB--licenses\fR] [\fB--no-be-activate\fR] [\fB--deny-new-be\fR | \fB--require-new-be\fR] [\fB--be-name\fR \fIname\fR] \fIvariant_spec\fR=\fIinstance\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Change the specified variants in the current image.
+.sp
+For option usage and effects, refer to the \fBinstall\fR command above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfacet\fR [\fB-H\fR] [\fIfacet_spec\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Without arguments, displays the current values of all facets. With arguments, evaluate whether each facet would be true or false and print the result.
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBchange-facet\fR [\fB-nvq\fR] [\fB-g\fR \fIpath_or_uri\fR ...] [\fB--accept\fR] [\fB--licenses\fR] [\fB--no-be-activate\fR] [\fB--deny-new-be\fR | \fB--require-new-be\fR] [\fB--be-name\fR \fIname\fR] \fIfacet_spec\fR=[True|False|None] ...\fR
+.ad
+.sp .6
+.RS 4n
+Change the specified facets in the current image.
+.sp
+Facets can be set to \fBTrue\fR or \fBFalse\fR. Setting one to \fBNone\fR removes that facet specification from the current image.
+.sp
+For option usage and effects, refer to the \fBinstall\fR command above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBavoid\fR [\fIpkg_fmri_pattern\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Avoids the specified packages if they are the target of a group dependency by placing the package names that currently match the specified patterns on the avoid list. Only packages that are not currently installed can be avoided. If a package is currently the target of a group dependency, uninstalling the package places it on the avoid list.
+.sp
+Without any arguments, display each avoided package along with any packages that have a group dependency on that package.
+.sp
+Packages that are on the avoid list are installed if needed to satisfy a required dependency. If that dependency is removed, the package is uninstalled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunavoid\fR [\fIpkg_fmri_pattern\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Remove the specified packages from the avoid list. Packages on the avoid list that match an installed package's group dependency cannot be removed using this subcommand. To remove a package from the avoid list that matches a group dependency, install the package.
+.sp
+Without any arguments, display the list of avoided packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfreeze\fR [\fB-n\fR] [\fB-c\fR \fIreason\fR] [\fIpkg_fmri_pattern\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Freeze the specified packages to the versions specified. If no version is given, the package must be installed and is frozen at that installed version. When a package that is frozen is installed or updated, it must end up at a version that matches the version at which it was frozen. For example, if a package was frozen at 1.2, then it could be updated to 1.2.1, 1.2.9, 1.2.0.0.1, and so on. That package could not end up at 1.3, or 1.1. A publisher presented in the \fIpkg_fmri_pattern\fR is used to find matching packages. However, publisher information is not recorded as part of the freeze. A package is frozen with respect to its version only, not its publisher. Freezing a package that is already frozen replaces the freeze version with the newly specified version.
+.sp
+If no packages are provided, information about currently frozen packages is displayed: package names, versions, when the package was frozen, and any associated reasons.
+.sp
+Freezing a package does not prevent removal of the package. No warning is displayed if the package is removed.
+.sp
+With \fB-c\fR, record the \fIreason\fR with the packages that are frozen. The reason is shown if a freeze prevents an installation or update from succeeding.
+.sp
+With \fB-n\fR, perform a trial run of the operation, displaying the list of packages that would be frozen without freezing any packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunfreeze\fR [\fB-n\fR] [\fIpkg_name_pattern\fR] ...\fR
+.ad
+.sp .6
+.RS 4n
+Remove the constraints that freezing imposes from the specified packages. Any versions provided are ignored.
+.sp
+With \fB-n\fR, perform a trial run of the unfreeze, displaying the list of packages that would be unfrozen without unfreezing any packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBproperty\fR [\fB-H\fR] [\fIpropname\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Display image property information. With no argument, display the names and values for all image properties. If a specific list of property names is requested, display the names and values for those properties.
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset-property\fR \fIpropname\fR \fIpropvalue\fR
+.ad
+.sp .6
+.RS 4n
+Update an existing image property or add a new image property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBadd-property-value\fR \fIpropname\fR \fIpropvalue\fR
+.ad
+.sp .6
+.RS 4n
+Add a value to an existing image property or add a new image property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBremove-property-value\fR \fIpropname\fR \fIpropvalue\fR
+.ad
+.sp .6
+.RS 4n
+Remove a value from an existing image property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunset-property\fR \fIpropname\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Remove an existing image property or properties.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpublisher\fR [\fB-HPn\fR] [\fIpublisher\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Display publisher information. With no arguments, display the list of all publishers, their origin URIs, and mirrors in order of search preference. If specific publishers are requested, display detailed configuration for those publishers.
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.sp
+With \fB-P\fR, display only the first publisher in the publisher search order.
+.sp
+With \fB-n\fR, display only enabled publishers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset-publisher\fR [\fB-Ped\fR] [\fB-k\fR \fIssl_key\fR] [\fB-c\fR \fIssl_cert\fR] [\fB-g\fR \fIorigin_to_add\fR | \fB--add-origin\fR \fIorigin_to_add\fR ...] [\fB-G\fR \fIorigin_to_remove\fR | \fB--remove-origin\fR \fIorigin_to_remove\fR ...] [\fB-m\fR \fImirror_to_add\fR | \fB--add-mirror\fR \fImirror_to_add\fR ...] [\fB-M\fR \fImirror_to_remove\fR | \fB--remove-mirror\fR \fImirror_to_remove\fR ...] [\fB-p\fR \fIrepo_uri\fR] [\fB--enable\fR] [\fB--disable\fR] [\fB--no-refresh\fR] [\fB--reset-uuid\fR] [\fB--non-sticky\fR] [\fB--sticky\fR] [\fB--search-after\fR \fIpublisher\fR] [\fB--search-before\fR \fIpublisher\fR] [\fB--search-first\fR] [\fB--approve-ca-cert\fR \fIpath_to_CA\fR] [\fB--revoke-ca-cert\fR \fIhash_of_CA_to_remove\fR] [\fB--unset-ca-cert\fR \fIhash_of_CA_to_remove\fR] [\fB--set-property\fR \fIname_of_property\fR=\fIvalue\fR] [\fB--add-property-value\fR \fIname_of_property\fR=\fIvalue_to_add\fR] [\fB--remove-property-value\fR \fIname_of_property\fR=\fIvalue_to_remove\fR] [\fB--unset-property\fR \fIname_of_property_to_delete\fR] [\fIpublisher\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Update an existing publisher or add a package publisher. If no options affecting search order are specified, new publishers are appended to the search order and are thus searched last.
+.sp
+With \fB-P\fR or \fB--search-first\fR, set the specified publisher first in the search order. When installing new packages, this publisher is searched first. Updates to already installed packages come from the same publisher that originally provided the package as long as that publisher remains sticky. When \fB-P\fR or \fB--search-first\fR is used with \fB-p\fR, only added publishers are placed first in search order.
+.sp
+With \fB--non-sticky\fR, specify that higher ranked publishers than this one can provide updates to packages originally installed from this publisher.
+.sp
+With \fB--sticky\fR, specify that updates to packages that were installed from this publisher must also come from this publisher. This is the default behavior.
+.sp
+With \fB--search-before\fR, alter the publisher search order so that the publisher being modified is searched before the specified publisher. When used with \fB-p\fR, \fB--search-before\fR only applies to added publishers.
+.sp
+With \fB--search-after\fR, alter the publisher search order so that the publisher being modified is searched after the specified publisher. When used with \fB-p\fR, \fB--search-after\fR only applies to added publishers.
+.sp
+With \fB--approve-ca-cert\fR, add the given certificate as a CA certificate that is trusted. The hashes of the PEM representation of the user-approved CA certificates are listed in the detailed output of the \fBpkg publisher\fR command.
+.sp
+With \fB--revoke-ca-cert\fR, treat the certificate with the given hash of its PEM representation as revoked. The hashes of the user-revoked CA certificates are listed in the detailed output of the \fBpkg publisher\fR command.
+.sp
+With \fB--unset-ca-cert\fR, remove the certificate with the given hash from the list of approved certificates and the list of revoked certificates.
+.sp
+With \fB--set-property\fR, update an existing publisher property or add a new publisher property.
+.sp
+With \fB--add-property-value\fR, add a value to an existing publisher property or add a new publisher property.
+.sp
+With \fB--remove-property-value\fR, remove a value from an existing publisher property.
+.sp
+With \fB--unset-property\fR, remove an existing publisher property.
+.sp
+With \fB-c\fR and \fB-k\fR, specify client SSL certificate and key respectively.
+.sp
+With \fB-g\fR (\fB--add-origin\fR), add the specified URI or path as an origin for the given publisher. This should be the location of a package repository or archive.
+.sp
+With \fB-G\fR (\fB--remove-origin\fR), remove the URI or path from the list of origins for the given publisher. The special value \fB*\fR can be used to remove all origins.
+.sp
+With \fB--no-refresh\fR, do not attempt to contact the repositories for the image's publishers to retrieve the newest list of available packages and other metadata.
+.sp
+With \fB--reset-uuid\fR, choose a new unique identifier that identifies this image to its publisher.
+.sp
+With \fB-m\fR (\fB--add-mirror\fR), add the URI as a mirror for the given publisher.
+.sp
+With \fB-M\fR (\fB--remove-mirror\fR), remove the URI from the list of mirrors for the given publisher. The special value \fB*\fR can be used to remove all mirrors.
+.sp
+With \fB-p\fR, retrieve publisher configuration information from the specified repository URI. If a publisher is specified, then only the matching publisher is added or updated. If no publisher is specified, all publishers are added or updated as appropriate. This option cannot be combined with the \fB-g\fR, \fB--add-origin\fR, \fB--G\fR, \fB--remove-origin\fR, \fB-m\fR, \fB--add-mirror\fR, \fB-M\fR, \fB--remove-mirror\fR, \fB--disable\fR, \fB--enable\fR, \fB--no-refresh\fR, or \fB--reset-uuid\fR options.
+.sp
+With \fB-e\fR (\fB--enable\fR), enable the publisher. With \fB-d\fR (\fB--disable\fR), disable the publisher. A disabled publisher is not used when populating the package list or in certain package operations (install, uninstall, and update). However, the properties for a disabled publisher can still be set and viewed. If only one publisher exists, it cannot be disabled.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunset-publisher\fR \fIpublisher\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Remove the configuration associated with the given publisher or publishers.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhistory\fR [\fB-Hl\fR] [\fB-t\fR [\fItime\fR | \fItime\fR-\fItime\fR],...] [\fB-o\fR \fIcolumn\fR,...] [\fB-n\fR \fInumber\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Display the command history of the applicable image.
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.sp
+With \fB-t\fR, display log records for a comma-separated list of timestamps, formatted with \fB%Y-%m-%dT%H:%M:%S\fR (see \fBstrftime\fR(3C)). To specify a range of times, use a hyphen (-) between a start and finish timestamp. The keyword \fBnow\fR can be used as an alias for the current time. If the timestamps specified contain duplicate timestamps or overlapping date ranges, only a single instance of each duplicate history event is printed.
+.sp
+With \fB-l\fR, display log records in long format, which, in addition to the standard format, includes the outcome of the command, the time the command completed, the version and name of the client used, the name of the user who performed the operation, and any errors that were encountered while executing the command.
+.sp
+With \fB-n\fR, display only the specified number of most recent entries.
+.sp
+With \fB-o\fR, display output using the specified comma-separated list of column names. Valid column names are:
+.sp
+.ne 2
+.mk
+.na
+\fBbe\fR
+.ad
+.RS 15n
+.rt  
+The name of the boot environment this operation was started on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbe_uuid\fR
+.ad
+.RS 15n
+.rt  
+The \fBuuid\fR of the boot environment this operation was started on.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBclient\fR
+.ad
+.RS 15n
+.rt  
+The name of the client.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBclient_ver\fR
+.ad
+.RS 15n
+.rt  
+The version of the client.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcommand\fR
+.ad
+.RS 15n
+.rt  
+The command line used for this operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfinish\fR
+.ad
+.RS 15n
+.rt  
+The time that this operation finished.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBid\fR
+.ad
+.RS 15n
+.rt  
+The user id that started this operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnew_be\fR
+.ad
+.RS 15n
+.rt  
+The new boot environment created by this operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnew_be_uuid\fR
+.ad
+.RS 15n
+.rt  
+The \fBuuid\fR of the new boot environment created by this operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoperation\fR
+.ad
+.RS 15n
+.rt  
+The name of the operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoutcome\fR
+.ad
+.RS 15n
+.rt  
+A summary of the outcome of this operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreason\fR
+.ad
+.RS 15n
+.rt  
+Additional information on the outcome of this operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsnapshot\fR
+.ad
+.RS 15n
+.rt  
+The snapshot taken during this operation. This is only recorded if the snapshot was not automatically removed after successful operation completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstart\fR
+.ad
+.RS 15n
+.rt  
+The time that this operation started.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtime\fR
+.ad
+.RS 15n
+.rt  
+The total time taken to perform this operation. For operations that take less than a second, 0:00:00 is shown).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuser\fR
+.ad
+.RS 15n
+.rt  
+The username that started this operation.
+.RE
+
+If the \fBcommand\fR or \fBreason\fR columns are specified, they must be the last item in the \fB-o\fR list, in order to preserve output field separation. These two columns cannot be shown in the same \fBhistory\fR command.
+.sp
+An asterisk (*) is shown after the values for \fBbe\fR or \fBnew_be\fR if the boot environment is no longer present on the system.
+.sp
+The values for \fBbe\fR and \fBnew_be\fR are obtained by looking up the current boot environment name, using the \fBbe_uuid\fR or \fBnew_be_uuid\fR fields. If a boot environment was subsequently renamed, and later deleted, the values displayed for \fBbe\fR and \fBnew_be\fR are the values recorded at the time of the \fBpkg\fR operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpurge-history\fR
+.ad
+.sp .6
+.RS 4n
+Deletes all existing history information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrebuild-index\fR
+.ad
+.sp .6
+.RS 4n
+Rebuilds the index used by \fBpkg search\fR. This is a recovery operation not intended for general use.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBupdate-format\fR
+.ad
+.sp .6
+.RS 4n
+Updates the format of the image to the current version. Once this operation has completed, the image can no longer be used with older versions of the \fBpkg\fR(5) system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBversion\fR
+.ad
+.sp .6
+.RS 4n
+Display a unique string identifying the version of \fBpkg\fR(1). This string is not guaranteed to be comparable in any fashion between versions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBimage-create\fR [\fB-FPUfz\fR] [\fB--force\fR] [\fB--full\fR | \fB--partial\fR | \fB--user\fR] [\fB--zone\fR] [\fB-k\fR \fIssl_key\fR] [\fB-c\fR \fIssl_cert\fR] [\fB--no-refresh\fR] [\fB--variant\fR \fIvariant_spec\fR=\fIinstance\fR ...] [\fB-g\fR \fIpath_or_uri\fR | \fB--origin\fR \fIpath_or_uri\fR ...] [\fB-m\fR \fIuri\fR | \fB--mirror\fR \fIuri\fR ...] [\fB--facet\fR \fIfacet_spec\fR=(True|False) \&...] [(\fB-p\fR | \fB--publisher\fR) [\fIname\fR=]\fIrepo_uri\fR] \fIdir\fR
+.ad
+.sp .6
+.RS 4n
+At the location given by \fIdir\fR, create an image suitable for package operations. The default image type is user, as given by the \fB-U\fR (\fB--user\fR) option. The image type can be set to a full image (\fB--F\fR or \fB--full\fR) or to a partial image (\fB-P\fR or \fB--partial\fR) linked to the full image enclosing the given \fIdir\fR path. Additional origins can be specified using \fB-g\fR or \fB--origin\fR. Additional mirrors can be specified using \fB--m\fR or \fB--mirror\fR.
+.sp
+A package repository URI must be provided using the \fB-p\fR or \fB--publisher\fR option. If a publisher name is also provided, then only that publisher is added when the image is created. If a publisher name is not provided, then all publishers known by the specified repository are added to the image. An attempt to retrieve the catalog associated with this publisher is made following the initial creation operations.
+.sp
+For publishers using client SSL authentication, a client key and client certificate can be registered via the \fB-c\fR and \fB-k\fR options. This key and certificate are used for all publishers added during image creation.
+.sp
+If the image is to be run within non-global zone context, then the \fB-z\fR (\fB--zone\fR) option can be used to set an appropriate variant.
+.sp
+With \fB-f\fR (\fB--force\fR), force the creation of an image over an existing image. This option should be used with care.
+.sp
+With \fB--no-refresh\fR, do not attempt to contact the repositories for the image's publishers to retrieve the newest list of available packages and other metadata.
+.sp
+With \fB--variant\fR, set the specified variant to the indicated value.
+.sp
+With \fB--facet\fR, set the specified facet to the indicated value.
+.RE
+
+.SH IMAGE PROPERTIES
+.sp
+.LP
+The following properties are part of the image and can be set using the \fBset-property\fR subcommand. The values of these properties are viewable with the \fBproperty\fR subcommand.
+.sp
+.ne 2
+.mk
+.na
+\fBca-path\fR
+.ad
+.sp .6
+.RS 4n
+(string) A path name that points to a directory where CA certificates are kept for SSL operations. The format of this directory is specific to the underlying SSL implementation. To use an alternate location for trusted CA certificates, change this value to point to a different directory. See the \fBCApath\fR portions of \fBSSL_CTX_load_verify_locations\fR(3openssl) for requirements for the CA directory.
+.sp
+Default value: \fB/etc/openssl/certs\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcheck-certificate-revocation\fR
+.ad
+.sp .6
+.RS 4n
+(string) If this is set to True, the package client attempts to contact any CRL distribution points in the certificates used for signature verification to determine whether the certificate has been revoked since being issued.
+.sp
+Default value: \fBFalse\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBflush-content-cache-on-success\fR
+.ad
+.sp .6
+.RS 4n
+(boolean) If this is set to True, the package client removes the files in its content-cache when install or update operations complete. For update operations, the content is removed only from the source BE. When a packaging operation next occurs in the destination BE, the package client flushes its content cache if this option has not been changed.
+.sp
+This property can be used to keep the content-cache small on systems with limited disk space. This property can cause operations to take longer to complete.
+.sp
+Default value: \fBFalse\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmirror-discovery\fR
+.ad
+.sp .6
+.RS 4n
+(boolean) This property tells the client to discover link-local content mirrors using mDNS and DNS-SD. If this property is set to True, the client attempts to download package content from mirrors it dynamically discovers. To run a mirror that advertises its content via mDNS, see \fBpkg.depotd\fR(1M).
+.sp
+Default value: \fBFalse\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsend-uuid\fR
+.ad
+.sp .6
+.RS 4n
+(boolean) Send the image's Universally Unique Identifier (UUID) when performing network operations. Although users can disable this option, some network repositories might refuse to talk to clients that do not supply a UUID.
+.sp
+Default value: \fBTrue\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsignature-policy\fR
+.ad
+.sp .6
+.RS 4n
+(string) Determine what checks will be performed on manifests when installing, updating, modifying, or verifying packages in the image. The final policy applied to a package depends on the combination of image policy and publisher policy. The combination will be at least as strict as the stricter of the two policies taken individually. By default, the package client does not check whether certificates have been revoked. To enable those checks, which might require the client to contact external web sites, set the \fBcheck-certificate-revocation\fR image property to \fBtrue\fR. The following values are allowed:
+.sp
+.ne 2
+.mk
+.na
+\fBignore\fR
+.ad
+.RS 22n
+.rt  
+Ignore signatures for all manifests. This is the default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBverify\fR
+.ad
+.RS 22n
+.rt  
+Verify that all manifests with signatures are validly signed, but do not require all installed packages to be signed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrequire-signatures\fR
+.ad
+.RS 22n
+.rt  
+Require that all newly installed packages have at least one valid signature. The \fBpkg fix\fR and \fBpkg verify\fR commands also warn if an installed package does not have a valid signature.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrequire-names\fR
+.ad
+.RS 22n
+.rt  
+Follow the same requirements as \fBrequire-signatures\fR but also require that the strings listed in the \fBsignature-required-names\fR property appear as a common name of the certificates used to verify the chains of trust of the signatures.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsignature-required-names\fR
+.ad
+.sp .6
+.RS 4n
+(list of strings) A list of names that must be seen as common names of certificates while validating the signatures of a package.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtrust-anchor-directory\fR
+.ad
+.sp .6
+.RS 4n
+(string) The path name of the directory that contains the trust anchors for the image. This path is relative to the image. The default value is \fBignore\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuse-system-repo\fR
+.ad
+.sp .6
+.RS 4n
+(boolean) This property indicates whether the image should use the system repository as a source for image and publisher configuration and as a proxy for communicating with the publishers provided. The default value is \fBignore\fR. See \fBpkg.sysrepo\fR(1M) for information about system repositories.
+.RE
+
+.SH PUBLISHER PROPERTIES
+.sp
+.LP
+The following properties are part of the image and can be set using the \fB--set-property\fR option of the \fBset-publisher\fR subcommand.
+.sp
+.ne 2
+.mk
+.na
+\fBsignature-policy\fR
+.ad
+.sp .6
+.RS 4n
+(string) This property functions identically to the image property of the same name except that it only applies to packages from the particular publisher.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsignature-required-names\fR
+.ad
+.sp .6
+.RS 4n
+(list of strings) This property functions identically to the image property of the same name except that it only applies to packages from the particular publisher.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreate an Image With Publisher Configured
+.sp
+.LP
+Create a new, full image, with publisher \fBexample.com\fR, stored at \fB/aux0/example_root\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg image-create -F -p example.com=http://pkg.example.com:10000 \e\fR
+\fB/aux0/example_root\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreate an Image, Specifying Additional Origins and Mirror
+.sp
+.LP
+Create a new, full image, with publisher \fBexample.com\fR, that also has an additional mirror, two additional origins, and is stored at \fB/aux0/example_root\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg image-create -F -p example.com=http://pkg.example.com:10000 \e\fR
+\fB-g http://alternate1.example.com:10000/ \e\fR
+\fB-g http://alternate2.example.com:10000/ \e\fR
+\fB-m http://mirror.example.com:10000/ \e\fR
+\fB/aux0/example_root\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRCreate an Image With No Publisher Configured
+.sp
+.LP
+Create a new, full image with no publishers configured at \fB/aux0/example_root\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg image-create -F /aux0/example_root\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRInstall a Package
+.sp
+.LP
+Install the latest version of the \fBwidget\fR package in the current image.
+
+.sp
+.in +2
+.nf
+$ \fBpkg install application/widget\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRList Specified Contents of a Package
+.sp
+.LP
+List the contents of the \fBsystem/file-system/zfs\fR package. Display the action name, the mode of the file (if defined), the size (if defined), the path, and the target (if a link). Limit the action to types \fBdir\fR, \fBfile\fR, \fBlink\fR, and \fBhardlink\fR, since specifying the \fBaction.name\fR attribute, which is available for all actions, displays a line for all actions, which is not desired here.
+
+.sp
+.in +2
+.nf
+$ \fBpkg contents -t dir,file,link,hardlink \e\fR
+\fB-o action.name,mode,pkg.size,path,target system/file-system/zfs\fR
+ACTION.NAME MODE PKG.SIZE PATH                 TARGET
+dir         0755          etc
+dir         0755          etc/fs
+dir         0755          etc/fs/zfs
+link                      etc/fs/zfs/mount     ../../../usr/sbin/zfs
+link                      etc/fs/zfs/umount    ../../../usr/sbin/zfs
+dir         0755          etc/zfs
+dir         0755          kernel
+dir         0755          kernel/drv
+dir         0755          kernel/drv/amd64
+file        0755  1706744 kernel/drv/amd64/zfs
+file        0644      980 kernel/drv/zfs.conf
+dir         0755          kernel/fs
+dir         0755          kernel/fs/amd64
+hardlink                  kernel/fs/amd64/zfs  ../../../kernel/drv/amd64/zfs
+\&...
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRList Specified Contents of Two Packages
+.sp
+.LP
+List the contents of \fBweb/browser/firefox\fR and \fBmail/thunderbird\fR, limiting the display to just the package name and path attributes of actions whose \fBpath\fR attribute ends in \fB\&.desktop\fR or \fB\&.png\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg contents -o pkg.name,path -a path=\e*.desktop \e\fR
+\fB-a path=\e*.png web/browser/firefox mail/thunderbird\fR
+PKG.NAME            PATH
+web/browser/firefox usr/share/applications/firefox.desktop
+mail/thunderbird    usr/share/applications/thunderbird.desktop
+web/browser/firefox usr/share/pixmaps/firefox-icon.png
+mail/thunderbird    usr/share/pixmaps/thunderbird-icon.png
+\&...
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRSearch for a Package
+.sp
+.LP
+Search the package database for the token \fBbge\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg search bge\fR
+INDEX       ACTION VALUE                      PACKAGE
+driver_name driver bge                        pkg:/driver/network/[email protected]
+basename    file   kernel/drv/sparcv9/bge     pkg:/driver/network/[email protected]
+basename    file   kernel/drv/amd64/bge       pkg:/driver/network/[email protected]
+pkg.fmri    set    solaris/driver/network/bge pkg:/driver/network/[email protected]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+The token is in the package \fBdriver/network/bge\fR both as the basename for the file action representing \fB/kernel/drv/\fIarch\fR/bge\fR and as a driver name.
+
+.LP
+\fBExample 8 \fRSearch for Packages that Depend on the Specified Package
+.sp
+.LP
+Search for installed packages that depend on \fBpackage/pkg\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg search -l 'depend::package/pkg'\fR
+INDEX       ACTION VALUE                    PACKAGE
+incorporate depend package/[email protected] pkg:/consolidation/ips/[email protected]
+require     depend package/[email protected] pkg:/system/[email protected]
+require     depend package/[email protected] pkg:/package/pkg/[email protected]
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRSearch for Dependencies
+.sp
+.LP
+Search for all \fBincorporate\fR dependencies in installed packages.
+
+.sp
+.in +2
+.nf
+$ \fBpkg search -l 'depend:incorporate:'\fR
+INDEX       ACTION VALUE                           PACKAGE
+incorporate depend pkg:/[email protected],5.11-0.133  pkg:/consolidation/osnet/[email protected]
+incorporate depend pkg:/[email protected],5.11-0.133 pkg:/consolidation/osnet/[email protected]
+\&...
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRAdd a Publisher
+.sp
+.LP
+Add a new publisher \fBexample.com\fR, with a repository located at \fBhttp://www.example.com/repo\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher -g http://www.example.com/repo example.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 11 \fRAdd a Publisher With Key and Certificate
+.sp
+.LP
+Add a new publisher \fBexample.com\fR, with a secure repository located at \fBhttps://secure.example.com/repo\fR, and a key and certificate stored in the directory \fB/root/creds\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher -k /root/creds/example.key \e\fR
+\fB-c /root/creds/example.cert -g https://secure.example.com/repo \e\fR
+\fBexample.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 12 \fRAdd and Automatically Configure a Publisher
+.sp
+.LP
+Add a new publisher with a repository located at \fB/export/repo\fR using automatic configuration.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher -p /export/repo\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 13 \fRAdd and Manually Configure a Publisher
+.sp
+.LP
+Add a new publisher \fBexample.com\fR with a repository located at \fB/export/repo/example.com\fR using manual configuration.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher -g /export/repo example.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 14 \fRVerify All Signed Packages
+.sp
+.LP
+Configure an image to verify all signed packages.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-property signature-policy verify\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 15 \fRRequire All Packages To Be Signed
+.sp
+.LP
+Configure an image to require all packages to be signed, and require the string \fBexample.com\fR to be seen as a common name for one of the certificates in the chain of trust.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-property signature-policy require-names example.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 16 \fRRequire All Packages From a Specified Publisher To Be Signed
+.sp
+.LP
+Configure an image so that all packages installed from publisher \fBexample.com\fR must be signed.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher --set-property signature-policy=require-signatures \e\fR
+\fBexample.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 17 \fRRequire a Specified String in the Chain of Trust
+.sp
+.LP
+Add the string \fBfoo\fR to the image's list of common names that must be seen in a signature's chain of trust to be considered valid.
+
+.sp
+.in +2
+.nf
+$ \fBpkg add-property-value signature-require-names foo\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 18 \fRRemove a String From the Chain of Trust for a Specified Publisher
+.sp
+.LP
+Remove the string \fBfoo\fR from the list of common names that must be seen to validate a signature for the publisher \fBexample.com\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher --remove-property-value signature-require-names=foo \e\fR
+\fBexample.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 19 \fRAdd a Trusted CA Certificate
+.sp
+.LP
+Add the certificate stored in \fB/tmp/example_file.pem\fR as a trusted CA certificate for the publisher \fBexample.com\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher --approve-ca-cert /tmp/example_file.pem \e\fR
+\fBexample.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 20 \fRRevoke a Certificate
+.sp
+.LP
+Revoke the certificate with the hash \fBa12345\fR for publisher \fBexample.com\fR, preventing the certificate from validating any signatures for packages from \fBexample.com\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher --revoke-ca-cert a12345 example.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 21 \fRForget About a Certificate
+.sp
+.LP
+Make \fBpkg\fR forget that the certificate \fBa12345\fR was ever added or revoked by the user.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher --unset-ca-cert a12345 example.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 22 \fRDowngrade a Package
+.sp
+.LP
+Downgrade the installed package \[email protected]\fR to an older version.
+
+.sp
+.in +2
+.nf
+$ \fBpkg update [email protected]\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 23 \fRSwitch Conflicting Package Installation
+.sp
+.LP
+In the case of two conflicting packages, change which package is installed. Suppose package A depends on either package B or package C, and B and C are mutually exclusive. If A and B are installed, use the following command to switch to using C instead of B without uninstalling A:
+
+.sp
+.in +2
+.nf
+$ \fBpkg install --reject B C\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 24 \fRList Packages in a Package Archive
+.sp
+.LP
+List all versions of all packages in a package archive.
+
+.sp
+.in +2
+.nf
+$ \fBpkg list -f -g /my/archive.p5p\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 25 \fRList Packages in a Package Repository
+.sp
+.LP
+List all versions of all packages in a repository.
+
+.sp
+.in +2
+.nf
+$ \fBpkg list -f -g http://example.com:10000\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 26 \fRDisplay Information About a Package in a Package Archive
+.sp
+.LP
+Display the package information for the latest version of a package in a package archive. The package might or might not be currently installed.
+
+.sp
+.in +2
+.nf
+$ \fBpkg info -g /my/archive.p5p pkg_name\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 27 \fRDisplay Contents of a Package in a Package Archive
+.sp
+.LP
+Display the contents of a package in a package archive. The package is not currently installed.
+
+.sp
+.in +2
+.nf
+$ \fBpkg contents -g /my/archive.p5p pkg_name\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 28 \fRRemove All Publisher Origins and Mirrors
+.sp
+.LP
+Remove all of the origins and mirrors for a publisher and add a new origin.
+
+.sp
+.in +2
+.nf
+$ \fBpkg set-publisher -G '*' -M '*' -g http://example.com:10000 \e\fR
+\fBexample.com\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fBPKG_IMAGE\fR
+.ad
+.sp .6
+.RS 4n
+The directory containing the image to use for package operations. Ignored if \fB-R\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPKG_CLIENT_CONNECT_TIMEOUT\fR
+.ad
+.sp .6
+.RS 4n
+Seconds to wait trying to connect during transport operations (for each attempt) before the client aborts the operation. The default value is 60.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPKG_CLIENT_LOWSPEED_TIMEOUT\fR
+.ad
+.sp .6
+.RS 4n
+Seconds below the \fBlowspeed\fR limit (1024 bytes/sec) during transport operations before the client aborts the operation. The default value is 30.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPKG_CLIENT_MAX_CONSECUTIVE_ERROR\fR
+.ad
+.sp .6
+.RS 4n
+Maximum number of transient transport errors before the client aborts the operation. The default value is 4.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPKG_CLIENT_MAX_REDIRECT\fR
+.ad
+.sp .6
+.RS 4n
+Maximum number of HTTP or HTTPS redirects allowed during transport operations before a connection is aborted. The default value is 5.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPKG_CLIENT_MAX_TIMEOUT\fR
+.ad
+.sp .6
+.RS 4n
+Maximum number of transport attempts per host before the client aborts the operation. The default value is 4.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhttp_proxy\fR, \fBhttps_proxy\fR
+.ad
+.sp .6
+.RS 4n
+HTTP or HTTPS proxy server.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB3\fR
+.ad
+.RS 6n
+.rt  
+Multiple operations were requested, but only some of them succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB4\fR
+.ad
+.RS 6n
+.rt  
+No changes were made - nothing to do.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB5\fR
+.ad
+.RS 6n
+.rt  
+The requested operation cannot be performed on a live image.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB6\fR
+.ad
+.RS 6n
+.rt  
+The requested operation cannot be completed because the licenses for the packages being installed or updated have not been accepted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB7\fR
+.ad
+.RS 6n
+.rt  
+The image is currently in use by another process and cannot be modified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB99\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH FILES
+.sp
+.LP
+A \fBpkg\fR(5) image can be located arbitrarily within a larger file system. In the following file descriptions, the token \fB$IMAGE_ROOT\fR is used to distinguish relative paths. For a typical system installation, \fB$IMAGE_ROOT\fR is equivalent to \fB/\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB$IMAGE_ROOT/var/pkg\fR
+.ad
+.sp .6
+.RS 4n
+Metadata directory for a full or partial image.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$IMAGE_ROOT/.org.opensolaris,pkg\fR
+.ad
+.sp .6
+.RS 4n
+Metadata directory for a user image.
+.RE
+
+.sp
+.LP
+Within a particular image's metadata, certain files and directories can contain information useful during repair and recovery. The token \fB$IMAGE_META\fR refers to the top-level directory containing the metadata. \fB$IMAGE_META\fR is typically one of the two paths given above.
+.sp
+.ne 2
+.mk
+.na
+\fB$IMAGE_META/lost+found\fR
+.ad
+.RS 26n
+.rt  
+Location of conflicting directories and files moved during a package operation. Location of unpackaged contents of a removed directory.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB$IMAGE_META/publisher\fR
+.ad
+.RS 26n
+.rt  
+Contains a directory for each publisher. Each directory stores publisher-specific metadata.
+.RE
+
+.sp
+.LP
+Other paths within the \fB$IMAGE_META\fR directory hierarchy are private and are subject to change.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkgsend\fR(1), \fBpkg.depotd\fR(1M), \fBglob\fR(3C), \fBpkg\fR(5), \fBbeadm\fR(1M)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkg.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1433 +0,0 @@
-User Commands                                            pkg(1)
-
-
-NAME
-     pkg - image packaging retrieval client
-
-SYNOPSIS
-     /usr/bin/pkg [options] command [cmd_options] [operands]
-
-     /usr/bin/pkg refresh [--full] [publisher ...]
-
-     /usr/bin/pkg install [-nvq] [-g path_or_uri ...] [--accept] [--licenses]
-         [--no-be-activate] [--no-index] [--no-refresh] [--deny-new-be |
-         --require-new-be] [--be-name name] [--reject pkg_fmri_pattern ...]
-         pkg_fmri_pattern ...
-
-     /usr/bin/pkg uninstall [-nvq] [--no-be-activate] [--no-index]
-         [--deny-new-be | --require-new-be] [--be-name name]
-         pkg_fmri_pattern ...
-
-     /usr/bin/pkg update [-fnvq] [-g path_or_uri ...] [--accept] [--licenses]
-         [--no-be-activate] [--no-index] [--no-refresh] [--deny-new-be |
-         --require-new-be] [--be-name name] [--reject pkg_fmri_pattern ...]
-         [pkg_fmri_pattern ...]
-
-     /usr/bin/pkg list [-Hafnsuv] [-g path_or_uri ...] [--no-refresh]
-         [pkg_fmri_pattern ...]
-     /usr/bin/pkg info [-lr] [-g path_or_uri ...] [--license]
-         [pkg_fmri_pattern ...]
-     /usr/bin/pkg contents [-Hmr] [-a attribute=pattern ...]
-         [-g path_or_uri ...] [-o attribute ...] [-s sort_key]
-         [-t action_type ...] [pkg_fmri_pattern ...]
-     /usr/bin/pkg search [-HIaflpr] [-o attribute ...] [-s repo_uri]
-         query
-
-     /usr/bin/pkg verify [-Hqv] [pkg_fmri_pattern ...]
-     /usr/bin/pkg fix [--accept] [--licenses] [pkg_fmri_pattern ...]
-     /usr/bin/pkg revert [-nv] [--no-be-activate] [--be-name name]
-         [--deny-new-be | --require-new-be] (--tagged tag-name ... |
-         path-to-file ...)
-
-     /usr/bin/pkg mediator [-aH] [-F format] [<mediator> ...]
-     /usr/bin/pkg set-mediator [-nv] [-I <implementation>] [-V <version>]
-         [--no-be-activate] [--deny-new-be | --require-new-be]
-         [--be-name name] <mediator> ...
-     /usr/bin/pkg unset-mediator [-nvIV] [--no-be-activate]
-         [--deny-new-be | --require-new-be] [--be-name name] <mediator> ...
-
-     /usr/bin/pkg variant [-H] [<variant_spec>]
-     /usr/bin/pkg change-variant [-nvq] [-g path_or_uri ...] [--accept]
-         [--licenses] [--no-be-activate] [--deny-new-be | --require-new-be]
-         [--be-name name] <variant_spec>=<instance> ...
-
-     /usr/bin/pkg facet [-H] [<facet_spec>]
-     /usr/bin/pkg change-facet [-nvq] [-g path_or_uri ...] [--accept]
-         [--licenses] [--no-be-activate] [--deny-new-be | --require-new-be]
-         [--be-name name] <facet_spec>=[True|False|None] ...
-
-     /usr/bin/pkg avoid [pkg_fmri_pattern ... ]
-     /usr/bin/pkg unavoid [pkg_fmri_pattern ... ]
-
-     /usr/bin/pkg freeze [-n] [-c reason] [pkg_fmri_pattern] ...
-     /usr/bin/pkg unfreeze [-n] [pkg_name_pattern] ...
-
-     /usr/bin/pkg property [-H] [propname ...]
-     /usr/bin/pkg set-property propname propvalue
-     /usr/bin/pkg add-property-value propname propvalue
-     /usr/bin/pkg remove-property-value propname propvalue
-     /usr/bin/pkg unset-property propname ...
-
-     /usr/bin/pkg publisher [-HPn] [publisher ...]
-     /usr/bin/pkg set-publisher [-Ped] [-k ssl_key] [-c ssl_cert]
-         [-g origin_to_add|--add-origin=origin_to_add ...]
-         [-G origin_to_remove|--remove-origin=origin_to_remove ...]
-         [-m mirror_to_add|--add-mirror=mirror_to_add ...]
-         [-M mirror_to_remove|--remove-mirror=mirror_to_remove ...]
-         [-p repo_uri] [--enable] [--disable] [--no-refresh]
-         [--reset-uuid] [--non-sticky] [--sticky]
-         [--search-after=publisher] [--search-before=publisher]
-         [--search-first]
-         [--approve-ca-cert=path_to_CA]
-         [--revoke-ca-cert=hash_of_CA_to_remove]
-         [--unset-ca-cert=hash_of_CA_to_remove]
-         [--set-property name_of_property=value]
-         [--add-property-value name_of_property=value_to_add]
-         [--remove-property-value name_of_property=value_to_remove]
-         [--unset-property name_of_property_to_delete]
-         [publisher]
-     /usr/bin/pkg unset-publisher publisher ...
-
-     /usr/bin/pkg history [-Hl] [-t [time|time-time],...] [-o column,...]
-         [-n number]
-     /usr/bin/pkg purge-history
-
-     /usr/bin/pkg rebuild-index
-
-     /usr/bin/pkg update-format
-
-     /usr/bin/pkg version
-     /usr/bin/pkg help
-
-     /usr/bin/pkg image-create [-FPUfz] [--force]
-         [--full|--partial|--user] [--zone] [-k ssl_key] [-c ssl_cert]
-         [--no-refresh] [--variant <variant_spec>=<instance> ...]
-         [-g path_or_uri|--origin=path_or_uri ...]
-         [-m uri|--mirror=uri ...] [--facet <facet_spec>=(True|False) ...]
-         [(-p|--publisher) [<name>=]<repo_uri>] dir
-
-DESCRIPTION
-     pkg is the retrieval client for the image packaging system.  With
-     a valid configuration, pkg can be invoked to create locations for
-     packages to be installed, called 'images', and install packages
-     into those images.  Packages are published by publishers, who may
-     make their packages available at one or more repositories, or in
-     package archives.  pkg, then, retrieves packages from a publisher's
-     repository or package archives and installs them into an image.
-
-     A publisher is a forward domain name that can be used to identify a
-     person, group of persons, or an organization as the source of one or
-     more packages.  The name of a publisher does not have to be contained
-     within the URIs that identify the locations of publisher repositories.
-     For example, the name of a publisher might be "example.com", but its
-     repositories may be hosted at "example.org" or "example.net".
-
-     A repository is a location where clients can publish and retrieve
-     package content (files contained within the package such as programs,
-     documents, etc.) and metadata (information about the package such as
-     its name, description, etc.).  As an example, a publisher named
-     "example.org" may have their repository located at the URI
-     "http://example.org/repository".
-
-     pkg can also uninstall packages, refresh publisher metadata (such as
-     the list of available packages), validate package installation in an
-     image, and query the image for various tokens.  These queries can also
-     be made of pkg(5) repositories.
-
-     Images can be of three types: full images, capable of providing a
-     complete system; partial images, which are linked to a full image
-     (parent image), but do not provide a complete system on their own;
-     and user images, which contain only relocatable packages.  (See
-     NOTES on user images.)
-
-OPTIONS
-     The following options are supported:
-
-     -R dir
-          Operate on the image rooted at directory dir.  If no directory
-          was specified or determined based on environment, the default is
-          '/'.  See also ENVIRONMENT VARIABLES.
-
-     --help or -?
-          Displays a usage message.
-
-SUBCOMMANDS
-     The following subcommands are supported:
-
-     refresh [--full] [publisher ...]
-
-          Updates the client's list of available packages and publisher
-          metadata for each publisher specified.  If no publishers are
-          specified, the operation will be performed for all publishers.
-
-          With --full, force a full retrieval of all publisher metadata,
-          instead of attempting an incremental update, and request that
-          any proxies used during the operation ignore cached data.  This
-          option only exists for troubleshooting purposes and should not
-          be used on a regular basis.
-
-     install [-nvq] [-g path_or_uri ...] [--accept] [--licenses]
-       [--no-be-activate] [--no-index] [--no-refresh] [--deny-new-be |
-       --require-new-be] [--be-name] [--reject pkg_fmri_pattern ...]
-       pkg_fmri_pattern ...
-
-          Installs and updates packages to the newest version that match
-          pkg_fmri_pattern allowed by the packages installed in the
-          image.  To explicitly request the latest version of a package,
-          use 'latest' for the pattern version (e.g. 'vim@latest').
-
-          Some configuration files may be renamed or replaced during the
-          install process.  For more information on how the package system
-          determines which files to preserve, and how they are preserved
-          during package operations, see "File Actions" in pkg(5).
-
-          If a package is on the avoid list, installing it will remove
-          it from that list.
-
-          With -g, temporarily add the specified package repository or archive
-          to the list of sources in the image from which to retrieve package
-          data.  If packages from the specified source(s) are also available
-          from configured publishers in the image, the client will retrieve
-          content for those packages from the specified source(s) only.  When
-          deciding which version of a package to use, publishers configured in
-          the image, but not found in the given source(s) will take precedence.
-          After install or update, any packages provided by publishers not found
-          in the image will be added to the image configuration without an
-          origin.  This option may be specified multiple times.
-
-          With -n, perform a trial run of the operation with no package
-          changes made.
-
-          With -q, hide progress messages during the requested operation.
-
-          With -v, issue verbose progress messages during the requested
-          operation and display detailed planning information (such as
-          changing facets, mediators, and variants).  This option may be
-          specified multiple times to increase the amount of planning
-          information displayed.
-
-          With --accept, you indicate that you agree to and accept the
-          terms of the licenses of the packages that are updated or
-          installed.  If you do not provide this option, and any
-          package licenses require acceptance, the operation will
-          fail.
-
-          With --licenses, display all of the licenses for the
-          packages that will be installed or updated as part of this
-          operation.
-
-          With --no-be-activate, if a boot environment is created, do not
-          set it as the active BE on the next boot.  See beadm(1M) for more
-          information.
-
-          With --no-index, do not update the search indices after the
-          operation has completed successfully.
-
-          With --no-refresh, do not attempt to contact the repositories
-          for the image's publishers to retrieve the newest list of
-          available packages and other metadata.
-
-          With --be-name, rename the newly created boot environment to
-          be the argument given.  This option is only valid if a new
-          boot environment is created during the operation.  See also
-          beadm(1M).
-
-          With --require-new-be, always create a new boot environment.
-          Without this option, a boot environment is created
-          automatically if needed.
-
-          With --deny-new-be, disallow creation of a new boot
-          environment; the operation will not be performed if
-          a new boot environment is required.
-
-          With --reject, prevent packages with names matching the given
-          pattern from being installed.  If matching packages are
-          already installed, they will be removed as part of the
-          operation.  Rejected packages that are the target of group
-          dependencies will be placed on the avoid list.
-
-     uninstall [-nvq] [--no-be-activate] [--no-index] [--deny-new-be |
-       --require-new-be] [--be-name name] pkg_fmri_pattern ...
-
-          Removes installed packages that match pkg_fmri_pattern.
-
-          If a package is the subject of a group dependency, uninstalling
-          it will place it on the avoid list.  See the avoid subcommand
-          below.
-
-          For all other options, refer to the install command above
-          for usage and their effects.
-
-     update [-fnvq] [-g path_or_uri ...] [--accept] [--licenses]
-       [--no-be-activate] [--no-index] [--no-refresh] [--deny-new-be |
-       --require-new-be] [--be-name name] [--reject pkg_fmri_pattern ... ]
-       [pkg_fmri_pattern ...]
-
-          With no arguments, or if '*' is one of the patterns provided,
-          update all installed packages in the current image to the newest
-          version allowed by the constraints imposed on the system by
-          installed packages and publisher configuration.  To explicitly
-          request the latest version of a package, use 'latest' for the
-          pattern version (e.g. 'vim@latest').
-
-          If pkg_fmri_pattern is provided, update will replace packages
-          that are installed, and that match pkg_fmri_pattern, with the
-          newest version allowed by the pattern(s) and the constraints
-          imposed on the system by installed packages and publisher
-          configuration.  Versions older or newer than what is already
-          installed may be specified to perform in place downgrades or
-          upgrades of specific packages.  Please note that updating
-          specific packages across package rename or obsolete boundaries
-          is not supported.
-
-          Any preserved configuration files that are part of packages to
-          be downgraded by update and that have been changed since the
-          original version was installed will be renamed using the
-          extension '.update'.  For more information on how the package
-          system determines which files to preserve, and how these files
-          are preserved during package upgrades, see "File Actions" in
-          pkg(5).
-
-          With the -f option, don't execute the client up to date check
-          when updating all installed packages.
-
-          For all other options, refer to the install command above for
-          usage and their effects.
-
-     list [-Hafnsuv] [-g path_or_uri ...] [--no-refresh]
-       [pkg_fmri_pattern ...]
-
-          Display a list of packages in the current image, including
-          state and other information.  By default, package variants
-          for a different architecture or zone type are excluded.
-          The usual output is in four columns:
-
-            NAME (PUBLISHER)                  VERSION          IFO
-            SUNWcs                            0.5.11-0.126     i--
-            web/firefox/plugin/flash (extra)  10.0.32.18-0.111 i--
-
-          The first column contains the name of the package.  If the publisher
-          from which it is installed (or available, if not installed) is not the
-          first in the publisher search order, then the publisher name is listed
-          in parentheses after the package name.  The second column contains the
-          release and branch versions of the package (see pkg(5)).  The last
-          column contains a set of flags that show the status of the package:
-
-              - an "i" in the "I" column shows that it is installed;
-
-              - an "f" in the "F" column shows that this version has
-                been frozen (not implemented);
-
-              - an "o" in the "O" column shows that it is obsolete,
-                while an "r" shows that it has been renamed (a form of
-                obsoletion).
-
-          With -H, omit the headers from the listing.
-
-          With -a, list installed packages and the newest version of
-          packages that are available for installation.  Packages are
-          considered to be available for installation if they are
-          allowed by the installed incorporations and by the image's
-          variants.  If one or more patterns are specified, then the
-          newest version matching the specified pattern and is also
-          allowed by any installed incorporations and the image's
-          variants will be listed.  Without -a, list only installed
-          packages.
-
-          With -f and -a, list all versions of all packages for all
-          variants regardless of incorporation constraints or installed
-          state.  To explicitly list the latest version of a package when
-          using these options, use 'latest' for the pattern version (e.g.
-          'vim@latest').
-
-          With -g, use the specified package repository or archive as the
-          source of package data for the operation.  This option may be
-          specified multiple times.  Use of -g implies -a if -n is not
-          specified.
-
-          With -n, display the newest versions of all known packages,
-          regardless of installed state.
-
-          With -s, display a one-line short-form giving the package name
-          and summary.  This option may be used with -a, -n, -u or -v.
-
-          With -u, list only packages with newer versions available.  This
-          option may not be used with -g.
-
-          With -v, show full package FMRIs, including publisher and
-          complete version, all in the first column (the VERSION column
-          disappears).  This option may be used with -a, -n, or -u.
-
-          With --no-refresh, do not attempt to contact the repositories
-          for the image's publishers to retrieve the newest list of
-          available packages.
-
-     info [-lr] [-g path_or_uri ...] [--license] [pkg_fmri_pattern ...]
-
-          Display information about packages in a human-readable form.
-          Multiple FMRI patterns may be specified; with no patterns,
-          display information on all installed packages in the image.
-
-          With -g, use the specified package repository or archive as the
-          source of package data for the operation.  This option may be
-          specified multiple times.  Use of -g implies -r.
-
-          With -l, only display information for installed packages.  This
-          is the default.
-
-          With -r, match packages based on the newest available versions,
-          retrieving information for packages not currently installed (if
-          necessary) from the repositories of the image's configured
-          publishers.  At least one package must be specified when using
-          this option.  Without -r, only installed packages are displayed
-          by default.
-
-          With --license, display the license texts for the packages.
-          This may be combined with -l or -r.
-
-     contents [-Hmr] [-a attribute=pattern ...] [-g path_or_uri ...]
-       [-o attribute ...] [-s sort_key] [-t action_type ...]
-       [pkg_fmri_pattern ...]
-
-          Display the contents (action attributes) of packages in the
-          current image.  By default, only the path attribute is displayed,
-          but the attribute set may be determined with the -o option.  The
-          -o option may be specified multiple times, or multiple attributes
-          may be specified as the argument to one -o option by separating
-          the attribute names with commas.  Only actions which have the
-          requested attributes will be displayed.  The -m option may
-          also be used, as a shorthand for '-Ho action.raw'.
-
-          With -a, limit the output to those actions which have an attribute
-          named in the option argument with a value that matches the (glob)
-          pattern in the option argument (following the attribute name with
-          an equals sign).  If multiple -a options are given, then actions
-          matching any of them will be displayed.
-
-          With -g, use the specified package repository or archive as the
-          source of package data for the operation.  This option may be
-          specified multiple times.  Use of -g implies -r.
-
-          With -r, match packages based on the newest available versions,
-          retrieving information for packages not currently installed (if
-          necessary) from the repositories of the image's configured
-          publishers.  At least one package must be specified when using
-          this option.  Without -r, only installed packages are displayed
-          by default.
-
-          With -s, sort actions by the specified action attribute.  If not
-          provided, the default is to sort by path.  This option may be
-          specified multiple times.
-
-          With -t, only list actions of the type specified.  Multiple types
-          may be specified in a comma-separated list.  This option may be
-          specified multiple times.
-
-          With -H, omit the headers from the listing.
-
-          With no arguments, the output includes all installed packages.
-          Alternatively, multiple FMRI patterns may be specified, which
-          restricts the display to the contents of the matching packages.
-          When using -r, one or more pkg_fmri_patterns must be specified.
-
-          Several special "pseudo" attribute names are available for
-          convenience:
-
-          action.hash           Corresponds to the value of the action's
-                                hash, if the action carries a payload.
-
-          action.key            Corresponds to the value of the action's
-                                key attribute.  For example, for a file
-                                action, this is the path to the file.
-
-          action.name           Corresponds to the name of the action.
-                                For example, for a file action, this is
-                                "file"
-
-          action.raw            Corresponds to the complete contents of
-                                the action as represented in the package
-                                manifest.  This corresponds to the
-                                lines of output of 'pkg contents -m'.
-
-          pkg.fmri              Corresponds to the full form FMRI of the
-                                package containing the action, such as
-                                pkg://extra/[email protected],5.11-0.101:
-                                20090702T175410Z.
-
-          pkg.name              Corresponds to the name of the package
-                                containing the action, such as "SUNWcs".
-
-          pkg.publisher         Corresponds to the publisher of the
-                                the package containing the action, such
-                                as "opensolaris.org".
-
-          pkg.shortfmri         Corresponds to the short form FMRI of the
-                                package containing the action, such as
-                                pkg://opensolaris.org/[email protected].
-
-          The contents and search subcommands are related: both are used to
-          query the system for the contents of packages.  The contents
-          subcommand displays actions in one or more packages, filtering
-          the output based on the options chosen by the user.  The search
-          subcommand approaches the query from the other direction, looking
-          for packages which contain a user-supplied token.
-
-          Each subcommand is capable of formulating some queries of which
-          the other is capable.  Care should be taken in choosing the
-          subcommand, as a given query may be more naturally formulated in
-          one than in the other.
-
-     search [-HIaflpr] [-o attribute ...] [-s repo_uri] query
-
-          Search for matches to the query, and display the results.
-          Which tokens are indexed are action-dependent, but may
-          include content hashes and pathnames.  By default, queries are
-          interpreted as a series of terms to be matched exactly.  The
-          '?' and '*' characters can be used as glob(3C)-style
-          wildcards, allowing more flexible query matches.
-
-          With -H, omit the headers.
-
-          With -I, use a case-sensitive search.
-
-          By default, and with -a, perform the search and display information
-          about the matching actions.
-
-          By default, search prunes results from packages older than the
-          currently installed version and from package versions excluded by
-          current incorporations.  Use -f to show all results, regardless of
-          package version.
-
-          With -l, search the image's installed packages.
-
-          With -o, the columns of the results may be controlled.  The
-          -o option may be specified multiple times, or multiple attributes
-          may be specified as the argument to one -o option by separating
-          the attribute names with commas.  In addition to the "pseudo"
-          attributes outlined above, more are defined for search results:
-
-          search.match          Corresponds to the string which matched the
-                                search query.
-
-          search.match_type     Corresponds to the attribute which contained
-                                the string that matched the search query.
-
-          With -p, display packages which have some actions that match each
-          query term.  Using this option is equivalent to putting '<>' around
-          each term  in the query.  (For a description of the '<>' operator,
-          please see below.)
-
-          By default, and with -r, search the repositories corresponding
-          to the image's publishers.
-
-          With -s, search the pkg(5) repository located at the given URI.
-          This may be specified multiple times.  Package archives are not
-          supported.
-
-          Both -l and -r (or -s) may be specified together, in which case both
-          local and remote searches will be performed.
-
-          In addition to simple token matching and wildcard search, a more
-          complicated query language is supported.  Phrases may be searched for
-          by using ' or ".  Note: Please make sure to take your shell into
-          account so that pkg actually sees the ' or ".
-
-          Boolean search using AND and OR is supported.  Field, or structured,
-          queries are supported.  The syntax for these is
-          pkg_name:action_type:key:token.  Missing fields are implicitly
-          wildcarded.  A search for :basename:pkg would match all actions
-          types in all packages with a key of basename and which matched
-          the token 'pkg'.  Explicit wildcards are supported in the pkg_name
-          and token fields, action_type and key must match exactly.
-
-          To convert actions to the packages which contain those actions,
-          use '<>'.  With the -a option, Searching for 'token' results in
-          information about the actions matching token, while searching for
-          '<token>' results in a list of packages containing actions which
-          matched token.
-
-     verify [-Hqv] [pkg_fmri_pattern ...]
-
-          Validate the installation of packages in the current image.  If
-          current signature policy for related publisher(s) is not 'ignore',
-          the signatures of each package will be validated based on policy.
-          See signature-policy in IMAGE PROPERTIES below for an explanation
-          of how signature policies are applied.
-
-          Please note that verification of installed package content is
-          based on a custom content analysis that may return different
-          results than those of other programs.
-
-          With -H, omit the headers from the verification output.
-
-          With -q, print nothing, but return failure if there are any
-          fatal errors.
-
-          With -v, include informational messages regarding packages.
-
-     fix [--accept] [--licenses] [pkg_fmri_pattern ...]
-
-          Fix any errors reported by pkg verify.  Please note that
-          verification of installed package content is based on a
-          custom content analysis that may return different results
-          than those of other programs.
-
-          With --accept, you indicate that you agree to and accept the
-          terms of the licenses of the packages that are updated or
-          installed.  If you do not provide this option, and any package
-          licenses require acceptance, the operation will fail.
-
-          With --licenses, display all of the licenses for the packages that
-          will be installed or updated as part of this operation.
-
-     revert [-nv] [--no-be-activate] [--be-name name] [--deny-new-be |
-       --require-new-be] (--tagged tag-name ... | path-to-file ...)
-          Revert files to their as-delivered condition.  Either all
-          files tagged with a particular value, or individual files
-          may be reverted.  File ownership and protections are also
-          restored.  Caution: reverting some editable files to their
-          default values may make the system unbootable, or cause
-          other malfunctions.
-
-          For all other options, refer to the install command above for
-          usage and their effects.
-
-     mediator [-aH] [-F format] [<mediator> ...]
-
-          Display the current selected version and/or implementation of all
-          mediators, or with arguments, only the mediators specified.
-
-          With -a, list the mediations that can be set for currently installed
-          packages.
-
-          With -F, specify an alternative output format.  Currently,
-          only 'tsv' (Tab Separated Values) is valid.
-
-          With -H, omit the headers from the listing.
-
-     set-mediator [-nv] [-I <implementation>] [-V <version>] [--no-be-activate]
-          [--deny-new-be | --require-new-be] [--be-name name] <mediator> ...
-
-          Set the version and/or implementation for the specified mediator(s) in
-          the current image.
-
-          With -I, set the implementation of the mediated interface to use.  By
-          default, if no version is specified, all implementation versions are
-          allowed.  To specify an implementation with no version, append '@'.
-
-          With -V, set the version of the mediated interface to use.
-
-          If the specified mediator version and/or implementation is not
-          currently available, any links using the specified mediator(s) will
-          be removed.
-
-          For all other options, refer to the install command above for
-          usage and their effects.
-
-     unset-mediator [-nvIV] [--no-be-activate] [--deny-new-be | --require-new-be]
-          [--be-name name] <mediator> ...
-
-          Revert the version and/or implementation of the specified mediator(s)
-          to the system default.
-
-          With -I, revert only the implementation of the mediated interface.
-
-          With -V, revert only the version of the mediated interface.
-
-          For all other options, refer to the install command above for
-          usage and their effects.
-
-     variant [-H] [<variant_spec> ...]
-
-          Display the current values of all variants, or with arguments,
-          only the variants specified.
-
-          With -H, omit the headers from the listing.
-
-     change-variant [-nvq] [-g path_or_uri ...] [--accept] [--licenses]
-       [--no-be-activate] [--deny-new-be | --require-new-be] [--be-name name]
-       <variant_spec>=<instance> ...
-
-          Change the specified variants in the current image.
-
-          For option usage and effects, refer to the install command above.
-
-     facet [-H] [<facet_spec> ...]
-
-          Without arguments, displays the current values of all facets.  With
-          argument(s), evaluate if each facet would be true or false and print
-          the result.
-
-          With -H, omit the headers from the listing.
-
-     change-facet [-nvq] [-g path_or_uri ...] [--accept] [--licenses]
-       [--no-be-activate] [--deny-new-be | --require-new-be] [--be-name name]
-       <facet_spec>=[True|False|None] ...
-
-          Change the specified facets in the current image.
-
-          Facets may be set to True or False.  Setting one to None removes
-          that facet specification from the current image.
-
-          For option usage and effects, refer to the install command above.
-
-     avoid [pkg_fmri_pattern ...]
-          Avoids the specified packages if they are the target of a group
-          dependency by placing the package names that currently match
-          the specified patterns on the avoid list.  Only packages that
-          are not current installed may be avoided; if a package is currently
-          the target of a group dependency, uninstalling it will place it
-          on the avoid list.
-
-          Without any arguments, display each avoided package along with
-          any packages that have a group dependency on that package.
-
-          Packages that are on the avoid list will be installed if needed
-          to satisfy a required dependency.  Should that dependency be removed,
-          the package will be uninstalled.
-
-     unavoid [pkg_fmri_pattern ...]
-          Remove the specified packages from the avoid list.  Packages
-          on the avoid list that match an installed package's group
-          dependency cannot be removed using this subcommand.  To remove
-          a package from the avoid list that matches a group dependency,
-          install the package.
-
-          Without any arguments, display the list of avoided packages.
-
-     freeze [-n] [-c reason] [pkg_fmri_pattern] ...
-          Freeze the specified packages to the versions specified.  If no
-          version is given, the package must be installed and is frozen at the
-          version at which it's installed.  If a package is frozen, then when it
-          is installed or updated, it must end up at a version which matches the
-          version at which it was frozen.  For example, if a package was frozen
-          at 1.2, then it could be updated to 1.2.1, 1.2.9, 1.2.0.0.1, and so
-          on. It could not end up at 1.3, or 1.1.  While publishers presented in
-          the fmri patterns will be used to find matching packages, the
-          publisher information will not be recorded as part of the freeze. A
-          package is frozen with respect to its version only, not its publisher.
-          Freezing a package that's already frozen replaces the version it was
-          frozen at with the newly specified version.
-
-          If no packages are provided, the currently frozen package names,
-          versions, when the package was frozne, and any associated reasons, are
-          shown.
-
-          Freezing a package will not prevent its removal, nor cause a warning
-          to be displayed on removal.
-
-          With -c, record the reason provided with the packages that are frozen.
-          The reason is shown if a freeze prevents an install or update from
-          succeeding.
-
-          With -n, perform a trial run of the operation, displaying the list of
-          packages that would be affected by the freeze without freezing any
-          packages.
-
-     unfreeze [-n] [pkg_name_pattern] ...
-          Remove the constraints that freezing imposes from the specified
-          packges; any versions provided will be ignored.
-
-          With -n, perform a trial run of the freeze, displaying the list of
-          packages that will be unfrozen without unfreezing any packages.
-
-     property [-H] [propname ...]
-
-          Display image property information.  With no argument, display the
-          names and values for all image properties.  If a specific list of
-          property names is requested, display the names and values for those
-          properties.
-
-          With -H, omit the headers from the listing.
-
-     set-property propname propvalue
-
-          Update an existing image property or add a new image property.
-
-     add-property-value propname propvalue
-
-          Add a value to an existing image property or add a new image property.
-
-     remove-property-value propname propvalue
-
-          Remove a value from an existing image property.
-
-     unset-property propname ...
-
-          Remove an existing image property or properties.
-
-     publisher [-HPn] [publisher ...]
-
-          Display publisher information.  With no arguments, display
-          the list of all publishers, their origin URIs, and mirrors
-          in order of search preference.  If specific publishers are
-          requested, display detailed configuration for those publishers.
-
-          With -H, omit the headers from the listing.
-
-          With -P, display only the first publisher in the publisher search
-          order.
-
-          With -n, display only enabled publishers.
-
-     set-publisher [-Ped] [-k ssl_key] [-c ssl_cert]
-       [-g origin_to_add|--add-origin=origin_to_add ...]
-       [-G origin_to_remove|--remove-origin=origin_to_remove ...]
-       [-m mirror_to_add|--add-mirror=mirror_to_add]
-       [-M mirror_to_remove|--remove-mirror=mirror_to_remove]
-       [-p repo_uri] [--enable] [--disable] [--no-refresh]
-       [--reset-uuid] [--non-sticky] [--sticky]
-       [--search-after=publisher] [--search-before=publisher]
-       [--search-first] [--approve-ca-cert path_to_CA]
-       [--revoke-ca-cert hash_of_CA_to_remove]
-       [--unset-ca-cert hash_of_CA_to_remove]
-       [--set-property name_of_property=value]
-       [--add-property-value name_of_property=value_to_add]
-       [--remove-property-value name_of_property=value_to_remove]
-       [--unset-property name_of_property_to_delete]
-       [publisher]
-
-          Update an existing publisher or add an additional package
-          publisher.  If no options affecting search order are specified,
-          new publishers are appended to the search order and are thus
-          searched last.
-
-          With -P or --search-first, set the specified publisher first in the
-          search order.  When installing new packages, this publisher will be
-          searched first.  Updates to already installed packages will come from
-          the same publisher that originally provided the package so long as
-          that publisher remains sticky.  When used with -p, only new publishers
-          added will be placed first in search order.
-
-          With --non-sticky, specify that higher ranked publishers than
-          this one may provide updates to packages originally installed
-          from this publisher.
-
-          With --sticky, return to the default behavior of always sourcing
-          updates from the same publisher that provided the package originally.
-
-          With --search-before, alter the publisher search order so that
-          the publisher being modified is now searched before the specified
-          publisher.  When used with -p, it is only applied to new
-          publishers.
-
-          With --search-after, alter the publisher search order so that
-          the publisher being modified is now searched after the specified
-          publisher.  When used with -p, it is only applied to new
-          publishers.
-
-          With --approve-ca-cert, add the given certificate as a CA certificate
-          that is trusted.  The hashes of the PEM representation of the user-
-          approved CA certificates are listed in the detailed output of "pkg
-          publisher."
-
-          With --revoke-ca-cert, treat the certificate with the given hash of
-          its PEM representation as revoked.  The hashes of the user-revoked CA
-          certificates are listed in the detailed output of "pkg publisher."
-
-          With --unset-ca-cert, remove the certificate with the given hash from
-          the list of approved and the list of revoked certificates.
-
-          With --set-property, update an existing publisher property or add a
-          new publisher property.
-
-          With --add-property-value, add a value to an existing publisher
-          property or add a new publisher property.
-
-          With --remove-property-value, remove a value from an existing
-          publisher property.
-
-          With --unset-property, remove an existing publisher property.
-
-          With -c and -k, specify client SSL certificate and key respectively.
-
-          With -g (--add-origin), add the specified URI or path as an origin
-          for the given publisher.  This should be the location of a package
-          repository or archive.
-
-          With -G (--remove-origin), remove the URI or path from the list of
-          origins for the given publisher.  The special value '*' may be used
-          to remove all origins.
-
-          With --no-refresh, do not attempt to contact the repositories
-          for the image's publishers to retrieve the newest list of
-          available packages and other metadata.
-
-          With --reset-uuid, choose a new unique identifier that identifies
-          this image to its publisher.
-
-          With -m (--add-mirror), add the URI as a mirror for the given
-          publisher.
-
-          With -M (--remove-mirror), remove the URI from the list of mirrors
-          for the given publisher.  The special value '*' may be used to
-          remove all mirrors.
-
-          With -p, retrieve publisher configuration information from the
-          specified repository URI.  If a publisher is specified, then only
-          the matching one will be added or updated.  If no publisher is
-          specified, all will be added or updated as appropriate.  This option
-          may not be combined with the -g, --add-origin, -G, --remove-origin,
-          -m, --add-mirror, -M, --remove--mirror, --disable, --enable,
-          --no-refresh, or --reset-uuid options.
-
-          With -e (--enable), enable the publisher; with -d (--disable), disable
-          the publisher.  A disabled publisher is not used when populating the
-          package list or in certain package operations (install, uninstall, and
-          update).  However, the properties for a disabled publisher can still
-          be set and viewed.  If only one publisher exists, it cannot be
-          disabled.
-
-     unset-publisher publisher ...
-
-          Remove the configuration associated with the given publisher
-          or publishers.
-
-     history [-Hl] [-t [time|time-time],...] [-n number] [-o column,...]
-
-          Display the command history of the applicable image.
-
-          With -H, omit the headers from the listing.
-
-          With -t, display log records for a comma-separated list of
-          timestamps, formatted with "%Y-%m-%dT%H:%M:%S" (see strftime(3C)).
-          To specify a range of times, use a "-" between a start and
-          finish timestamp.  The keyword "now" can be used as an alias for
-          the current time.  If the timestamps specified contain duplicate
-          timestamps or overlapping date ranges, only a single instance of
-          each duplicate history event is printed.
-
-          With -l, display log records in long format, which, in addition to
-          the standard format, includes the outcome of the command, the time
-          the command completed, the version and name of the client used, the
-          name of the user who performed the operation, and any errors that
-          were encountered while executing the command.
-
-          With -n, display only the specified number of most recent entries.
-
-          With -o, display output using the specified comma-separated list of
-          column names.  Valid column names are:
-
-          be            The name of the boot environment this operation was
-                        started on
-          be_uuid       The uuid of the boot environment this operation was
-                        started on
-          client        The name of the client
-          client_ver    The version of the client
-          command       The command line used for this operation
-          finish        The time that this operation finished
-          id            The user id that started this operation
-          new_be        The new boot environment created by this operation
-          new_be_uuid   The uuid of the new boot environment created by this
-                        operation
-          operation     The name of the operation
-          outcome       A summary of the outcome of this operation
-          reason        Additional information on the outcome of this operation
-          snapshot      The snapshot taken during this operation.  This is only
-                        recorded if the snapshot was not automatically removed
-                        after successful operation completion
-          start         The time that this operation started
-          time          The total time taken to perform this operation
-                        (for operations that take less than a second, "0:00:00"
-                        will be printed)
-          user          The username that started this operation
-
-          If the "command" or "reason" columns are specified, they must be the
-          last item in the -o list, in order to preserve output field
-          separation.  These columns cannot be printed at the same time.
-
-          A "*" is printed after the values for "be" or "new_be" if the boot
-          environment is no longer present on the system.
-
-          The values for "be" and "new_be" are obtained by looking up the
-          current boot environment name, using the "be_uuid" or
-          "new_be_uuid fields".  If a boot environment was subsequently renamed,
-          and later deleted, the values for "be" and "new_be" displayed
-          are those recorded at the time of the pkg operation.
-
-     purge-history
-
-          Deletes all existing history information.
-
-     rebuild-index
-
-          Rebuilds the index used by 'pkg search'.  This is a recovery operation
-          not intended for general use.
-
-     update-format
-
-          Updates the format of the image to the current version.  Once
-          this operation has completed, the image may no longer be used
-          with older versions of the pkg(5) system.
-
-     version
-
-          Display a unique string identifying the version of pkg(1).  This
-          string is not guaranteed to be comparable in any fashion between
-          versions.
-
-     image-create [-FPUfz] [--force] [--full|--partial|--user] [--zone]
-       [-k ssl_key] [-c ssl_cert] [--no-refresh]
-       [--variant <variant_spec>=<instance> ...]
-       [-g uri|--origin=uri ...] [-m uri|--mirror=uri ...]
-       [--facet <facet_spec>=[True|False] ...]
-       (-p|--publisher) [<name>=]<repo_uri> dir
-
-          Create, at location given by dir, an image suitable for package
-          operations.  The default image type is user, as given by the -U
-          (--user) option.  The image type may be set to a full image (-F
-          or --full) or to a partial image (-P or --partial) linked to the
-          full image enclosing the given dir path.  Additional origins can
-          be specified using -g or --origin, while additional mirrors can
-          be specified using -m or --mirror.
-
-          A package repository URI must be provided using the -p or
-          --publisher option.  If a publisher name is also provided, then
-          only that publisher will be added when the image is created.  If
-          a publisher name is not provided, then all publishers known by the
-          specified repository will be added to the image.  An attempt to
-          retrieve the catalog associated with this publisher will be made
-          following the initial creation operations.
-
-          For publishers using client SSL authentication, a client key and
-          client certificate may be registered via the -c and -k options,
-          and will be used for all publishers added during image creation.
-
-          If the image is to be run within non-global zone context, then
-          the -z (--zone) option can be used to set an appropriate variant.
-
-          With -f (--force), force the creation of an image over an existing
-          image.  This option should be used with care.
-
-          With --no-refresh, do not attempt to contact the repositories
-          for the image's publishers to retrieve the newest list of
-          available packages and other metadata.
-
-          With --variant, set the specified variant to the indicated value.
-
-          With --facet, set the specified facet to the indicated value.
-
-IMAGE PROPERTIES
-     The following properties are part of the image and may be set using
-     the set-property subcommand.  The values of these properties are
-     viewable with the property subcommand.
-
-     ca-path
-          (string)  A pathname that points to a directory where CA certs are
-          kept for SSL operations.  The format of this directory is specific
-          to the underlying SSL implementation.  If the administrator
-          would like to use an alternate location for trusted CA
-          certificates, this value should be changed to point to a
-          different directory.  Please see the 'CApath' portions of
-          SSL_CTX_load_verify_locations(3openssl) for requirements
-          about the CA directory.
-
-          Default value: /etc/openssl/certs
-
-     check-certificate-revocation
-          (string) If this is set to True, the package client will attempt to
-          contact any CRL distribution points in the certificates used for
-          signature verification to determine whether the certificate has been
-          revoked since being issued.
-
-          Default value: False
-
-     flush-content-cache-on-success
-          (boolean)  If this is set to True, the package client will remove
-          the files in its content-cache when install or update operations
-          complete.  For update operations, the content is removed only
-          from the source BE.  When a packaging operation next occurs in
-          the destination BE, it will flush its content cache, provided
-          this option has not been changed.
-
-          This property may be used to keep the content-cache small on
-          systems with limited disk space, but it may cause operations
-          to take longer to complete.
-
-          Default value: False
-
-     mirror-discovery
-          (boolean)  Mirror-discovery tells the client to discover
-          link-local content mirrors using mDNS and DNS-SD.  If this is
-          set to True, the client will attempt to download package content
-          from mirrors it dynamically discovers.  To run a mirror that
-          advertises its content via mDNS, see pkg.depotd(1M).
-
-          Default value: False
-
-     send-uuid
-          (boolean)  Send the image's Universally Unique Identifier
-          (UUID) when performing network operations.  Although users may
-          disable this option, some network repositories may refuse to talk
-          to clients that do not supply a UUID.
-
-          Default value: True
-
-     signature-policy
-          (string)  Determine what checks will be performed on manifests when
-          installing, updating, modifying, or verifying packages in the image.
-          The final policy applied to a package depends on the combination of
-          image policy and publisher policy.  The combination will be at least
-          as strict as the stricter of the two policies taken individually.  By
-          default, the package client does not check to see if certificates have
-          been revoked.  To enable those checks, which may require the client
-          to contact external websites, set the 'check-certificate-revocation'
-          image property to "true".  The following values are allowed:
-
-          ignore
-               Ignore signatures for all manifests.
-          verify
-               Verify that all manifests with signatures are validly
-               signed, but do not require all installed packages to be
-               signed.
-          require-signatures
-               Require that all newly installed packages have at least
-               one valid signature.  'pkg fix' and 'pkg verify' will also
-               warn if an installed package does not have a valid
-               signature.
-          require-names
-               Follow the same requirements as 'require-signatures' but
-               also require that the strings listed in the
-               'signature-required-names' property appear as a common
-               name of the certificates used to verifiy the chains
-               of trust of the signatures.
-
-     signature-required-names
-          (list of strings)  A list of names which must be seen as common
-          names of certificates while validating the signatures of a
-          package.
-
-     trust-anchor-directory
-          (string)  The pathname of the directory that contains the trust
-          anchors for the image.  This path is relative to the image.
-
-     use-system-repo
-          (boolean)  This property indicates whether the image should use the
-          system-repository (see pkg.sysrepo(1M)) as a source for image and
-          publisher configuration and as a proxy for communicating with the
-          publishers provided.
-
-PUBLISHER PROPERTIES
-     The following properties are part of the image and may be set using
-     the set-property option of the set-publisher subcommand.
-
-     signature-policy
-          (string)  This property functions identically to the image
-          property of the same name except it only applies to packages
-          from the particular publisher.
-
-     signature-required-names
-          (list of strings)  This property functions identically to the
-          image property of the same name except it only applies to
-          packages from the particular publisher.
-
-EXAMPLES
-     Example 1:  Create a new, full image, with publisher example.com,
-     stored at /aux0/example_root.
-
-     $ pkg image-create -F -p example.com=http://pkg.example.com:10000 \
-          /aux0/example_root
-
-     Example 2:  Create a new, full image, with publisher example.com,
-     that also has an additional mirror, two additional origins and is
-     stored at /aux0/example_root.
-
-     $ pkg image-create -F -p example.com=http://pkg.example.com:10000 \
-          -g http://alternate1.example.com:10000/ \
-          -g http://alternate2.example.com:10000/ \
-          -m http://mirror.example.com:10000/ \
-          /aux0/example_root
-
-     Example 3:  Create a new, full image with no publishers configured at
-     /aux0/example_root.
-
-     $ pkg image-create -F /aux0/example_root
-
-     Example 4:  Install the latest version of the widget package in the
-     current image.
-
-     $ pkg install application/widget
-
-     Example 5:  List the contents of the SUNWzfs package.  Display the
-     action name, the mode of the file (if defined), the size (if defined),
-     the path, and the target (if a link).  Limit the action to types dir,
-     file, link, and hardlink, since specifying the action.name attribute,
-     which is available for all actions, will display a line for all
-     actions, which is not desired here.
-
-     $ pkg contents -t dir,file,link,hardlink \
-          -o action.name,mode,pkg.size,path,target SUNWzfs
-     NAME  MODE   SIZE PATH                                TARGET
-     dir   0755        etc
-     dir   0755        etc/fs
-     dir   0755        etc/fs/zfs
-     link              etc/fs/zfs/mount                    ../../../sbin/zfs
-     link              etc/fs/zfs/umount                   ../../../sbin/zfs
-     dir   0755        etc/zfs
-     dir   0755        lib
-     dir   0755        lib/amd64
-     link              lib/amd64/libzfs.so                 libzfs.so.1
-     file  0755 469616 lib/amd64/libzfs.so.1
-     file  0644  62057 lib/amd64/llib-lzfs.ln
-     link              lib/libzfs.so                       libzfs.so.1
-     ....
-
-     Example 6:  List the contents of SUNWfirefox and SUNWthunderbird,
-     limiting the display to just the package name and path attributes of
-     actions whose "path" attribute ends in ".desktop" or ".png".
-
-     $ pkg contents -o pkg.name,path -a path=\*.desktop \
-         -a path=\*.png SUNWfirefox SUNWthunderbird
-     PKG.NAME        PATH
-     SUNWfirefox     usr/lib/firefox/chrome/icons/default/default16.png
-     SUNWfirefox     usr/lib/firefox/chrome/icons/default/default32.png
-     SUNWfirefox     usr/lib/firefox/chrome/icons/default/default48.png
-     SUNWfirefox     usr/lib/firefox/icons/document.png
-     SUNWfirefox     usr/lib/firefox/icons/mozicon128.png
-     SUNWfirefox     usr/lib/firefox/res/html/folder.png
-     SUNWfirefox     usr/share/applications/firefox.desktop
-     SUNWthunderbird usr/share/applications/thunderbird.desktop
-     SUNWfirefox     usr/share/pixmaps/firefox-icon.png
-     SUNWthunderbird usr/share/pixmaps/thunderbird-icon.png
-
-     Example 7:  Search the package database for the token "bge".
-
-     $ pkg search bge
-     INDEX       ACTION VALUE                   PACKAGE
-     basename    file   kernel/drv/bge          pkg:/[email protected]
-     driver_name driver bge                     pkg:/[email protected]
-
-     The token shows up in the package SUNWbge both as the basename for the
-     file action representing /kernel/drv/bge and as a driver name.
-
-     Example 8: Search for installed packages which depend on SUNWipkg.
-
-     $ pkg search -l 'depend::SUNWipkg'
-     INDEX       ACTION VALUE                   PACKAGE
-     incorporate depend [email protected]   pkg:/[email protected]
-     require     depend [email protected]   pkg:/[email protected]
-     require     depend [email protected]   pkg:/[email protected]
-
-     Example 9: Search for all incorporate dependencies in installed packages.
-
-     $ pkg search -l 'depend:incorporate:'
-     INDEX       ACTION VALUE                   PACKAGE
-     incorporate depend [email protected]    pkg:/[email protected]
-     incorporate depend [email protected]    pkg:/[email protected]
-     ....
-
-     Example 10:  Add new publisher example.org, with a repository located at
-     http://www.example.org/repo:
-
-     $ pkg set-publisher -g http://www.example.org/repo example.org
-
-     Example 11:  Add new publisher example.com, with a secure repository
-     located at https://secure.example.com/repo, and a key and cert stored
-     in the directory /root/creds:
-
-     $ pkg set-publisher -k /root/creds/example.key \
-          -c /root/creds/example.cert -g https://secure.example.com/repo \
-          example.com
-
-     Example 12:  Add new publisher with a repository located at
-     /export/repo using automatic configuration:
-
-     $ pkg set-publisher -p file:/export/repo
-
-     Example 13:  Add new publisher example.org with a repository located
-     at /export/repo/example.com using manual configuration:
-
-     $ pkg set-publisher -g file:/export/repo example.com
-
-     Example 14:  Configure an image to verify all signed packages.
-
-     $ pkg set-property signature-policy verify
-
-     Example 15:  Configure an image to require all packages to be signed and
-     the string "opensolaris.org" has to be seen as a common name for one of
-     the certificates in the chain of trust.
-
-     $ pkg set-property signature-policy require-names opensolaris.org
-
-     Example 16:  Configure an image so that all packages installed from
-     publisher foo must be signed.
-
-     $ pkg set-publisher --set-property signature-policy=require-signatures
-
-     Example 17:  Add the string "foo" to the image's list of common names that
-     must be seen in a signature's chain of trust to be considered valid.
-
-     $ pkg add-property-value signature-require-names foo
-
-     Example 18:  Remove the string "foo" from publisher test's list of common
-     names that must be seen to validate a signature.
-
-     $ pkg set-publisher --remove-property-value signature-require-names=foo \
-         test
-
-     Example 19:  Add the certificate stored in /tmp/example_file.pem as a
-     trusted CA certificate for the publisher test.
-
-     $ pkg set-publisher --approve-ca-cert /tmp/example_file.pem
-
-     Example 20:  Revoke the certificate with the hash a12345 for publisher
-     test, preventing it from validating any signatures for packages from test.
-
-     $ pkg set-publisher --revoke-ca-cert a12345
-
-     Example 21:  Make pkg forget that the certificate a12345 was ever added or
-     revoked by the user.
-
-     $ pkg set-publisher --unset-ca-cert a12345
-
-     Example 22:  Downgrade the installed package [email protected] to an older
-     version:
-
-     $ pkg update [email protected]
-
-     Example 23:  In the case of two conflicting packages, change which
-     package is installed.  Suppose package A depends on either package B
-     or package C, and B and C are mutually exclusive.  If A and B are
-     installed, we can go to using C without uninstalling A via:
-
-     $ pkg install --reject B C
-
-     Example 24:  List all versions of all packages in a package archive:
-
-     $ pkg list -g /my/archive.p5p -f
-
-     Example 25:  List all versions of all packages in a repository:
-
-     $ pkg list -g http://example.com:10000 -f
-
-     Example 26:  Display the package information for the latest version of
-     a package in a package archive that may not be currently installed:
-
-     $ pkg info -g /my/archive.p5p pkg_name
-
-     Example 27:  Display the contents of a package in a package archive
-     that is not currently installed:
-
-     $ pkg contents -g /my/archive.p5p pkg_name
-
-     Example 28:  Remove all of the origins and mirrors for a publisher
-     and add a new origin:
-
-     $ pkg set-publisher -G '*' -M '*' -g http://example.com:10000 \
-          example.com
-
-ENVIRONMENT VARIABLES
-     PKG_IMAGE
-          Specifies the directory containing the image to use for package
-          operations; ignored if -R is specified.
-
-     PKG_CLIENT_CONNECT_TIMEOUT
-          Seconds to wait trying to connect during transport operations
-          (for each attempt) before client aborts the operation.  The
-          default value is 60.
-
-     PKG_CLIENT_LOWSPEED_TIMEOUT
-          Seconds below lowspeed limit (1024 bytes/sec) during transport
-          operations before client aborts the operation.  The default
-          value is 30.
-
-     PKG_CLIENT_MAX_CONSECUTIVE_ERROR
-          Maximum number of transient transport errors before client aborts
-          the operation.  The default value is 4.
-
-     PKG_CLIENT_MAX_REDIRECT
-          Maximum number of HTTP(S) redirects allowed during transport
-          operations before a connection is aborted.  The default value
-          is 5.
-
-     PKG_CLIENT_MAX_TIMEOUT
-          Maximum number of transport attempts per-host before client
-          aborts the operation.  The default value is 4.
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Command succeeded.
-
-     1     An error occurred.
-
-     2     Invalid command line options were specified.
-
-     3     Multiple operations were requested, but only some of them
-           succeeded.
-
-     4     No changes were made - nothing to do.
-
-     5     The requested operation cannot be performed on a live
-           image.
-
-     6     The requested operation cannot be completed as the licenses
-           for the packages being installed or updated have not been
-           accepted.
-
-     7     The image is currently in use by another process and cannot
-           be modified.
-
-FILES
-     A pkg(5) image can be located arbitrarily within a larger file
-     system.  In the following, the token $IMAGE_ROOT is used to
-     distinguish relative paths.  For a typical system installation,
-     $IMAGE_ROOT is equivalent to "/".
-
-     $IMAGE_ROOT/var/pkg        Metadata directory for a full or partial
-                                image.
-
-     $IMAGE_ROOT/.org.opensolaris,pkg
-                                Metadata directory for a user image.
-
-     Within a particular image's metadata, certain files and directories
-     can contain information useful during repair and recovery.  We use
-     the token $IMAGE_META to refer to the top-level directory
-     containing the metadata.  $IMAGE_META is typically one of the two
-     paths given above.
-
-     $IMAGE_META/lost+found     Location of conflicting directories and
-                                files moved during a package operation.
-
-     $IMAGE_META/publisher      Contains a directory for each publisher.
-                                Each directory stores publisher-specific
-                                metadata.
-
-     Other paths within the $IMAGE_META directory hierarchy are Private,
-     and are subject to change.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | SUNWipkg                    |
-    |                             | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     pkgsend(1), pkg.depotd(1M), pkg.sysrepo(1M), glob(3C), attributes(5),
-     pkg(5), beadm(1M)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at:
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
-
-     At present, user images are not restricted to relocatable
-     packages--but they will be.
-
-     The pkg(1) command recognizes use of the http_proxy and https_proxy
-     environment variables to select a suitable HTTP or HTTPS proxy
-     server.  At present, particular care is needed when using local
-     repository URIs--such as http://localhost:10000/--with the
-     http_proxy environment variable; this behavior may change in a
-     future version of image packaging.
-
-     At present, pkg(1), on directory removal, will move unpackaged
-     contents of that directory to $IMAGE_META/lost+found.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkg.5	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,1151 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkg 5 "29 Jul 2011" "SunOS 5.11" "Standards, Environments, and Macros"
+.SH NAME
+pkg \- Image Packaging System
+.SH DESCRIPTION
+.sp
+.LP
+The image packaging system, \fBpkg\fR(5), is a framework that provides for software lifecycle management (installation, upgrade, and removal). Image packaging manages software in units of packages, which are collections of actions, defined by a set of key/value pairs and possibly a data payload. In many cases, actions are files found in a file system, but they also represent other installable objects, such as drivers, services, and users.
+.SH PACKAGE FMRIS AND VERSIONS
+.sp
+.LP
+Each package is represented by a fault management resource identifier (FMRI) with the scheme \fBpkg:\fR. The full FMRI for a package consists of the scheme, a publisher, the package name, and a version string in the following format:
+.sp
+.in +2
+.nf
+pkg://opensolaris.org/library/[email protected],5.11-0.75:20071001T163427Z
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+\fBopensolaris.org\fR is the publisher. \fBlibrary/libc\fR is the package name. Although the namespace is hierarchical and arbitrarily deep, there is no enforced containment; the name is essentially arbitrary. The publisher information is optional, but must be preceded by \fBpkg://\fR if present. An FMRI that includes the publisher is often referred to as being "fully qualified." If publisher information is not present, then the package name should generally be preceded by \fBpkg:/\fR.
+.sp
+.LP
+Packaging clients often allow the scheme of an FMRI to be omitted if it does not contain publisher information. For example, \fBpkg:/library/libc\fR can be written as \fBlibrary/libc\fR. If the scheme is omitted, clients also allow omission of all but the last component of a package name for matching purposes. For example, \fBlibrary/libc\fRcould be written as \fBlibc\fR, which would then match packages named \fBlibc\fR or package names ending in \fB/libc\fR.
+.sp
+.LP
+A publisher name identifies a person, group of persons, or an organization as the source of one or more packages. To avoid publisher name collisions and help identify the publisher, a best practice is to use a domain name that represents the entity publishing the packages as a publisher name.
+.sp
+.LP
+The version follows the package name, separated by an at sign (@). The version consists of four sequences of numbers, separated by punctuation. The elements in the first three sequences are separated by dots, and the sequences are arbitrarily long. Leading zeros in version components (for example, 01.1 or 1.01) are not permitted. Trailing zeros (for example, 1.10) are permitted.
+.sp
+.LP
+The first part of the version is the component version. For components tightly bound to the operating system, this is usually the value of \fBuname -r\fR for that version of the operating system. For a component with its own development lifecycle, this sequence is a dotted release number, such as 2.4.10.
+.sp
+.LP
+The second part of the version, which if present must follow a comma (,), is the build version. The build version specifies what version of the operating system the contents of the package were built on, providing a minimum bound on which operating system version the contents can be expected to run successfully.
+.sp
+.LP
+The third part of the version, which if present must follow a hyphen (\fB-\fR), is the branch version. The branch version is a versioning component that provides vendor-specific information. The branch version can be incremented when the packaging metadata is changed, independently of the component version. The branch version might contain a build number or other information.
+.sp
+.LP
+The fourth part of the version, which if present must follow a colon (:), is a timestamp. The timestamp represents when the package was published.
+.sp
+.LP
+When performing comparisons between versions, no component of the full version is considered unless the components to its left are the same. Thus, "4.3\(hy1" is greater than "4.2-7" because "4.3" is greater than "4.2", and "4.3-3" is greater than "4.3-1" because "3" is greater than "1".
+.sp
+.LP
+Many parts of the system, when appropriate, abridge FMRIs when displaying them, and accept input in shorter forms to reduce the volume of information displayed or required. Typically, the scheme, publisher, build version, and timestamp can be elided. Sometimes all of the versioning information can be omitted.
+.SH ACTIONS
+.sp
+.LP
+Actions represent the installable objects on a system. Actions are described in the manifest of a package. Every action consists primarily of its name and a key attribute. Together, these refer to a unique object as it follows a version history. Actions can have other attributes. Some attributes are interpreted directly by the packaging system. Other attributes might be useful only to the system administrator or the end-user.
+.sp
+.LP
+Actions have a simple text representation:
+.sp
+.in +2
+.nf
+\fIaction_name\fR \fIattribute1\fR=\fIvalue1\fR \fIattribute2\fR=\fIvalue2\fR ...
+.fi
+.in -2
+
+.sp
+.LP
+Names of attributes cannot have whitespace, quotation marks, or equals signs (=) in them. All characters after the first equals sign belong to the value. Values can have all of those, though spaces must be enclosed in single or double quotation marks. Single quotation marks do not need to be escaped inside a string that is enclosed in double quotation marks, and double quotation marks do not need to be escaped inside a string that is enclosed in single quotation marks. A quotation mark can be prefixed with a backslash (\) character to avoid terminating the quoted string. A backslash can be escaped with a backslash.
+.sp
+.LP
+Attributes can be named more than once with multiple values. These are treated as unordered lists.
+.sp
+.LP
+Actions with many attributes can create long lines in a manifest file. Such lines can be wrapped by terminating each incomplete line with a backslash. Note that this continuation character must occur between attribute/value pairs. Neither attributes nor their values nor the combination can be split.
+.sp
+.LP
+The attributes listed below are not an exhaustive set. In fact, the attributes that can be attached to an action are arbitrary, and the standard sets of attributes are easy to augment to incorporate future developments.
+.sp
+.LP
+Certain action attributes cause additional operations to be executed outside of the packaging context. These attributes are documented in the "Actuators" section below.
+.SS "File Actions"
+.sp
+.LP
+The \fBfile\fR action represents an ordinary file. The \fBfile\fR action references a payload, and has four standard attributes:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpath\fR\fR
+.ad
+.RS 9n
+.rt  
+The file system path where the file is installed. This is a \fBfile\fR action's key attribute. 
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmode\fR\fR
+.ad
+.RS 9n
+.rt  
+The access permissions (in numeric form) of the file. These are simple permissions only, not ACLs. 
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBowner\fR\fR
+.ad
+.RS 9n
+.rt  
+The name of the user that owns the file. 
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroup\fR\fR
+.ad
+.RS 9n
+.rt  
+The name of the group that owns the file. 
+.RE
+
+.sp
+.LP
+The payload is a positional attribute in that it is not named. It is the first word after the action name. In a published manifest, it is the \fBSHA-1\fR hash of the file contents. If present in a manifest that has yet to be published, it represents the path where the payload can be found. See \fBpkgsend\fR(1). The hash attribute can be used instead of the positional attribute, should the value include an equals sign. Both can be used in the same action. However, the hashes must be identical.
+.sp
+.LP
+Other attributes include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpreserve\fR\fR
+.ad
+.RS 12n
+.rt  
+This specifies that the file's contents should not be overwritten on upgrade if the contents are determined to have changed since the file was installed or last upgraded. On initial installs, if an existing file is found, the file is salvaged (stored in \fB/var/pkg/lost+found\fR).
+.sp
+If the value of \fBpreserve\fR is \fBrenameold\fR, then the existing file is renamed with the extension \fB\&.old\fR, and the new file is put in its place.
+.sp
+If the value of \fBpreserve\fR is \fBrenamenew\fR, then the existing file is left alone, and the new file is installed with the extension \fB\&.new\fR.
+.sp
+If the value of \fBpreserve\fR is \fBlegacy\fR, then this file is not installed for initial package installs. On upgrades, any existing file is renamed with the extension \fB\&.legacy\fR, and then the new file is put in its place.
+.sp
+If the value of \fBpreserve\fR is \fBtrue\fR (or a value not listed above, such as \fBstrawberry\fR), then the existing file is left alone, and the new file is not installed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoverlay\fR\fR
+.ad
+.RS 12n
+.rt  
+This specifies whether the action allows other packages to deliver a file at the same location or whether it delivers a file intended to overlay another. This functionality is intended for use with configuration files that do not participate in any self-assembly (for example, \fB/etc/motd\fR) and that can be safely overwritten.
+.sp
+If \fBoverlay\fR is not specified, multiple packages cannot deliver files to the same location.
+.sp
+If the value of \fBoverlay\fR is \fBallow\fR, one other package is allowed to deliver a file to the same location. This value has no effect unless the \fBpreserve\fR attribute is also set.
+.sp
+If the value of \fBoverlay\fR is \fBtrue\fR, the file delivered by the action overwrites any other action that has specified \fBallow\fR. Changes to the installed file are preserved based on the value of the \fBpreserve\fR attribute of the overlaying file. On removal, the contents of the file are preserved if the action being overlaid is still installed, regardless of whether the \fBpreserve\fR attribute was specified. Only one action can overlay another, and the \fBmode\fR, \fBowner\fR, and \fBgroup\fR attributes must match.
+.RE
+
+.sp
+.LP
+Files can also be "tasted," and depending on the flavor, can have additional attributes. For ELF files, the following attributes are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBelfarch\fR\fR
+.ad
+.RS 17n
+.rt  
+The architecture of the ELF file. This is the output of \fBuname -p\fRon the architecture for which the file is built.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBelfbits\fR\fR
+.ad
+.RS 17n
+.rt  
+This is \fB32\fR or \fB64\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBelfhash\fR\fR
+.ad
+.RS 17n
+.rt  
+This is the hash of the "interesting" ELF sections in the file. These are the sections that are mapped into memory when the binary is loaded. These are the only sections necessary to consider when determining whether the executable behavior of two binaries will differ.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBoriginal_name\fR\fR
+.ad
+.RS 17n
+.rt  
+This attribute is used to handle editable files moving from package to package or from place to place, or both. The form this takes is the name of the originating package, followed by a colon and the original path to the file. Any file being deleted is recorded either with its package and path, or with the value of the \fBoriginal_name\fR attribute if specified. Any editable file being installed that has the \fBoriginal_name\fR attribute set uses the file of that name if it is deleted as part of the same packaging operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBrevert-tag\fR\fR
+.ad
+.RS 17n
+.rt  
+This attribute is used to tag editable files that should be reverted as a set. Multiple revert-tag values can be specified. The file reverts to its manifest-defined state when \fBpkg rever\fRt is invoked with any of those tags specified. See \fBpkg\fR(1).
+.RE
+
+.SS "Directory Actions"
+.sp
+.LP
+The \fBdir\fR action is like the \fBfile\fR action in that it represents a file system object. The \fBdir\fR action represents a directory instead of an ordinary file. The \fBdir\fR action has the same four standard attributes as the \fBfile\fR action, and \fBpath\fR is the key attribute.
+.sp
+.LP
+Directories are reference counted in IPS. When the last package that either explicitly or implicitly references a directory no longer does so, that directory is removed. If that directory contains unpackaged file system objects, those items are moved into \fB$IMAGE_META/lost+found\fR. See the "Files" section for more      information about \fB$IMAGE_META\fR.
+.sp
+.LP
+To move unpackaged contents into a new directory, the following attribute might be useful:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsalvage-from\fR\fR
+.ad
+.RS 16n
+.rt  
+This names a directory of salvaged items. A directory with such an attribute inherits on creation the salvaged directory contents if they exist.
+.RE
+
+.SS "Link Actions"
+.sp
+.LP
+The \fBlink\fR action represents a symbolic link. The \fBlink\fR action has the following standard attributes:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpath\fR\fR
+.ad
+.sp .6
+.RS 4n
+The file system path where the symbolic link is installed. This is a \fBlink\fR action's key attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtarget\fR\fR
+.ad
+.sp .6
+.RS 4n
+The target of the symbolic link. The file system object to which the link resolves.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmediator\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the entry in the mediation namespace shared by all path names participating in a given mediation group (for example, \fBpython\fR). Link mediation can be performed based on \fBmediator-version\fR and/or \fBmediator-implementation\fR.  All mediated links for a given path name must specify the same mediator. However, not all mediator versions and implementations need to provide a link at a given path. If a mediation does not provide a link, then the link is removed when that mediation is selected. A \fBmediator\fR, in combination with a specific version and/or implementation represents a mediation that can be selected for use by the packaging system.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmediator-version\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the version (expressed as a dot-separated sequence of nonnegative integers) of the interface described by the \fBmediator\fR attribute. This attribute is required if \fBmediator\fR is specified and \fBmediator-implementation\fR is not. A local system administrator can set the version to use explicitly. The value specified should generally match the version of the package delivering the link (for example, \fBruntime/python-26\fR should use \fBmediator-version=2.6\fR), although this is not required.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmediator-implementation\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the implementation of the mediator for use in addition to or instead of the \fBmediator-version\fR. Implementation strings are not considered to be ordered and a string is arbitrary selected by \fBpkg\fR(5) if not explicitly specified by a system administrator.
+.sp
+The value can be a string of arbitrary length composed of alphanumeric characters and spaces.  If the implementation itself can be versioned or is versioned, then the version should be specified at the end of the string, after a @ (expressed as a dot-separated sequence of nonnegative integers). If multiple versions of an implementation exist, the default behavior is to select the implementation with the greatest version.
+.sp
+If only one instance of an implementation mediation link at a particular path is installed on a system, then that one is chosen automatically. If future links at the path are installed, the link is not switched unless a vendor, site, or local override applies, or if one of the links is version mediated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmediator-priority\fR\fR
+.ad
+.sp .6
+.RS 4n
+When resolving conflicts in mediated links, \fBpkg\fR(5) normally chooses the link with the greatest value of \fBmediator-version\fR or based on \fBmediator-implementation\fR if that is not possible. This attribute is used to specify an override for the normal conflict resolution process.
+.sp
+If this attribute is not specified, the default mediator selection logic is applied.
+.sp
+If the value is \fBvendor\fR, the link is preferred over those that do not have a \fBmediator-priority\fR specified.
+.sp
+If the value is \fBsite\fR, the link is preferred over those that have a value of \fBvendor\fR or that do not have a \fBmediator-priority\fR specified.
+.sp
+A local system administrator can override the selection logic described above.
+.RE
+
+.SS "Hardlink Actions"
+.sp
+.LP
+The \fBhardlink\fR action represents a hard link. It has the same attributes as the \fBlink\fR action, and \fBpath\fR is also its key attribute.
+.SS "Driver Actions"
+.sp
+.LP
+The \fBdriver\fR action represents a device driver. The \fBdriver\fR action does not reference a payload. The driver files themselves must be installed as \fBfile\fR actions. The following attributes are recognized (see \fBadd_drv\fR(1M) for more information):
+.sp
+.ne 2
+.mk
+.na
+\fB\fBname\fR\fR
+.ad
+.RS 15n
+.rt  
+The name of the driver. This is usually, but not always, the file name of the driver binary. This is the \fBdriver\fR action's key attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBalias\fR\fR
+.ad
+.RS 15n
+.rt  
+This represents an alias for the driver. A given driver can have more than one \fBalias\fR attribute. No special quoting rules are necessary.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclass\fR\fR
+.ad
+.RS 15n
+.rt  
+This represents a driver class. A given driver can have more than one \fBclass\fR attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBperms\fR\fR
+.ad
+.RS 15n
+.rt  
+This represents the file system permissions for the driver's device nodes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBclone_perms\fR\fR
+.ad
+.RS 15n
+.rt  
+This represents the file system permissions for the clone driver's minor nodes for this driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpolicy\fR\fR
+.ad
+.RS 15n
+.rt  
+This specifies additional security policy for the device. A given driver can have more than one \fBpolicy\fR attribute, but no minor device specification can be present in more than one attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprivs\fR\fR
+.ad
+.RS 15n
+.rt  
+This specifies privileges used by the driver. A given driver can have more than one \fBprivs\fR attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdevlink\fR\fR
+.ad
+.RS 15n
+.rt  
+This specifies an entry in \fB/etc/devlink.tab\fR. The value is the exact line to go into the file, with tabs denoted by \fB\t\fR. See \fBdevlinks\fR(1M) for more information. A given driver can have more than one \fBdevlink\fR attribute.
+.RE
+
+.SS "Depend Actions"
+.sp
+.LP
+The \fBdepend\fR action represents an inter-package dependency. A package can depend on another package because the first requires functionality in the second for the functionality in the first to work, or even to install. Dependencies can be optional. If a dependency is not met at the time of installation, the packaging system attempts to install or update the dependent package to a sufficiently new version, subject to other constraints.
+.sp
+.LP
+The following attributes are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBfmri\fR\fR
+.ad
+.RS 14n
+.rt  
+The FMRI representing the dependent package. This is the \fBdependency\fR action's key attribute. The \fBfmri\fR value must not include the publisher. The package name is assumed to be complete. Dependencies of type \fBrequire-any\fR can have multiple \fBfmri\fR attributes. A version is optional on the \fBfmri\fR value, though for some types of dependencies, an \fBfmri\fR with no version has no meaning.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBtype\fR\fR
+.ad
+.RS 14n
+.rt  
+The type of the dependency.
+.sp
+If the value is \fBrequire\fR, then the dependency is required and must have a version equal to or greater than the version specified in the \fBfmri\fR attribute. If the version is not specified, any version satisfies the dependency. A package cannot be installed if any of its required dependencies cannot be satisfied.
+.sp
+If the value is \fBoptional\fR, then the dependency, if present, must be at the specified version level or greater.
+.sp
+If the value is \fBexclude\fR, then the containing package cannot be installed if the dependency is present at the specified version level or greater. If no version is specified, the dependent package cannot be installed concurrently with the package specifying the dependency.
+.sp
+If the value is \fBincorporate\fR, then the dependency is optional, but the version of the dependent package is constrained. See "Constraints and Freezing" below.
+.sp
+If the value is \fBrequire-any\fR, then any one of multiple dependent packages as specified by multiple \fBfmri\fR attributes can satisfy the dependency, following the same rules as the \fBrequire\fR dependency type.
+.sp
+If the value is \fBconditional\fR, the dependency is required only if the package defined by the \fBpredicate\fR attribute is present on the system.
+.sp
+If the value is \fBorigin\fR, the dependency must, if present, be at the specified value or better on the image to be modified prior to installation. If the value of the \fBroot-image\fR attribute is \fBtrue\fR, the dependency must be present on the image rooted at / in order to install this package.
+.sp
+If the value is \fBgroup\fR, the dependency is required unless the package is on the image avoid list. Note that obsolete packages silently satisfy the group dependency. See the \fBavoid\fR subcommand in \fBpkg\fR(1).
+.sp
+If the value is \fBparent\fR, then the dependency is ignored if the image is not a child image. If the image is a child image then the dependency is required to be present in the parent image. The package version matching for a \fBparent\fR dependency is the same as that used for \fBincorporate\fR dependencies.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpredicate\fR\fR
+.ad
+.RS 14n
+.rt  
+The FMRI representing the predicate for \fBconditional\fR dependencies.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBroot-image\fR\fR
+.ad
+.RS 14n
+.rt  
+Has an effect only for \fBorigin\fR dependencies as mentioned above.
+.RE
+
+.SS "License Actions"
+.sp
+.LP
+The \fBlicense\fR action represents a license or other informational file associated with the package contents. A package can deliver licenses, disclaimers, or other guidance to the package installer through the use of the \fBlicense\fR action.
+.sp
+.LP
+The payload of the \fBlicense\fR action is delivered into the image metadata directory related to the package, and should only contain human-readable text data. It should not contain HTML or any other form of markup. Through attributes, \fBlicense\fR actions can indicate to clients that the related payload must be displayed and/or require acceptance of it. The method of display and/or acceptance is at the discretion of clients.
+.sp
+.LP
+The following attributes are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlicense\fR\fR
+.ad
+.RS 16n
+.rt  
+This is a \fBlicense\fR action's key attribute. This attribute provides a meaningful description for the license to assist users in determining the contents without reading the license text itself. Some example values include:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+ABC Co. Copyright Notice
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+ABC Co. Custom License
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Common Development and Distribution License 1.0 (CDDL)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+GNU General Public License 2.0 (GPL)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+GNU General Public License 2.0 (GPL) Only
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+MIT License
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Mozilla Public License 1.1 (MPL)
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Simplified BSD License
+.RE
+Wherever possible, including the version of the license in the description is recommended as shown above. The \fBlicense\fR value must be unique within a package.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmust-accept\fR\fR
+.ad
+.RS 16n
+.rt  
+When \fBtrue\fR, this license must be accepted by a user before the related package can be installed or updated. Omission of this attribute is equivalent to \fBfalse\fR. The method of acceptance (interactive or configuration-based, for example) is at the discretion of clients.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmust-display\fR\fR
+.ad
+.RS 16n
+.rt  
+When \fBtrue\fR, the action's payload must be displayed by clients during packaging operations. Omission of this value is equivalent to \fBfalse\fR. This attribute should not be used for copyright notices, only actual licenses or other material that must be displayed during operations. The method of display is at the discretion of clients.
+.RE
+
+.SS "Legacy Actions"
+.sp
+.LP
+The \fBlegacy\fR action represents package data used by a legacy packaging system. The attributes associated with this action are added into the legacy system's databases so that the tools querying those databases can operate as if the legacy package were actually installed. In particular, this should be sufficient to convince the legacy system that the package named by the \fBpkg\fR attribute is installed on the system, so that the package can be used to satisfy dependencies.
+.sp
+.LP
+The following attributes, named in accordance with the parameters on \fBpkginfo\fR(4), are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBcategory\fR\fR
+.ad
+.RS 12n
+.rt  
+The value for the \fBCATEGORY\fR parameter. The default value is \fBsystem\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdesc\fR\fR
+.ad
+.RS 12n
+.rt  
+The value for the \fBDESC\fR parameter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhotline\fR\fR
+.ad
+.RS 12n
+.rt  
+The value for the \fBHOTLINE\fR parameter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBname\fR\fR
+.ad
+.RS 12n
+.rt  
+The value for the \fBNAME\fR parameter. The default value is \fBnone provided\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg\fR\fR
+.ad
+.RS 12n
+.rt  
+The abbreviation for the package being installed. The default value is the name from the FMRI of the package. This is a \fBlegacy\fR action's key attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvendor\fR\fR
+.ad
+.RS 12n
+.rt  
+The value for the \fBVENDOR\fR parameter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBversion\fR\fR
+.ad
+.RS 12n
+.rt  
+The value for the VERSION parameter. The default value is the version from the FMRI of the package.
+.RE
+
+.SS "Set Actions"
+.sp
+.LP
+The \fBset\fR action represents a package-level attribute, or metadata, such as the package description.
+.sp
+.LP
+The following attributes are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBname\fR\fR
+.ad
+.RS 9n
+.rt  
+The name of the attribute.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBvalue\fR\fR
+.ad
+.RS 9n
+.rt  
+The value given to the attribute.
+.RE
+
+.sp
+.LP
+The \fBset\fR action can deliver any metadata the package author chooses. However, there are a number of well defined attribute names that have specific meaning to the packaging system.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinfo.classification\fR\fR
+.ad
+.RS 23n
+.rt  
+One or more tokens that a \fBpkg\fR(5) client can use to classify the package. The value should have a scheme (such as "org.opensolaris.category.2008" or "org.acm.class.1998") and the actual classification, such as "Applications/Games", separated by a colon (:).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg.description\fR\fR
+.ad
+.RS 23n
+.rt  
+A detailed description of the contents and functionality of the package, typically a paragraph or so in length.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg.obsolete\fR\fR
+.ad
+.RS 23n
+.rt  
+When \fBtrue\fR, the package is marked obsolete. An obsolete package can have no actions other than more set actions, and must not be marked renamed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg.renamed\fR\fR
+.ad
+.RS 23n
+.rt  
+When \fBtrue\fR, the package has been renamed. There must be one or more \fBdepend\fR actions in the package as well that point to the package versions to which this package has been renamed. A package cannot be marked both renamed and obsolete, but otherwise can have any number of set actions.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg.summary\fR\fR
+.ad
+.RS 23n
+.rt  
+A short, one-line description of the package.
+.RE
+
+.SS "Group Actions"
+.sp
+.LP
+The \fBgroup\fR action defines a UNIX group as defined in \fBgroup\fR(4). No support is present for group passwords. Groups defined with this action initially have no user list. Users can be added with the \fBuser\fR action. The following attributes are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroupname\fR\fR
+.ad
+.RS 13n
+.rt  
+The value for the name of the group.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgid\fR\fR
+.ad
+.RS 13n
+.rt  
+The group's unique numerical id. The default value is the first free group under 100.
+.RE
+
+.SS "User Actions"
+.sp
+.LP
+The \fBuser\fR action defines a UNIX user as defined in \fB/etc/passwd\fR, \fB/etc/shadow\fR, \fB/etc/group\fR, and \fB/etc/ftpd/ftpusers\fR files. Users defined with this attribute have entries added to the appropriate files.
+.sp
+.LP
+The following attributes are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBusername\fR\fR
+.ad
+.RS 15n
+.rt  
+The unique name of the user
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpassword\fR\fR
+.ad
+.RS 15n
+.rt  
+The encrypted password of the user. Default value is \fB*LK*\fR. See \fBshadow\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuid\fR\fR
+.ad
+.RS 15n
+.rt  
+The unique uid of the user. Default value is first free value under 100.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroup\fR\fR
+.ad
+.RS 15n
+.rt  
+The name of the user's primary group. Must be found in \fB/etc/group\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgcos-field\fR\fR
+.ad
+.RS 15n
+.rt  
+The value of the \fBgcos\fR field in \fB/etc/passwd\fR. Default value is \fBusername\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBhome-dir\fR\fR
+.ad
+.RS 15n
+.rt  
+The user's home directory. Default value is /.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlogin-shell\fR\fR
+.ad
+.RS 15n
+.rt  
+The user's default shell. Default value is empty.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBgroup-list\fR\fR
+.ad
+.RS 15n
+.rt  
+Secondary groups to which the user belongs. See \fBgroup\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBftpuser\fR\fR
+.ad
+.RS 15n
+.rt  
+Can be set to \fBtrue\fR or \fBfalse\fR. The default value of \fBtrue\fR indicates that the user is permitted to login via FTP. See \fBftpusers\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlastchg\fR\fR
+.ad
+.RS 15n
+.rt  
+The number of days between January 1, 1970,  and the  date that  the password was last modified. Default value is empty. See \fBshadow\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmin\fR\fR
+.ad
+.RS 15n
+.rt  
+The minimum  number  of  days  required  between password changes. This field must be set to 0 or above to enable password aging. Default value is empty. See \fBshadow\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBmax\fR\fR
+.ad
+.RS 15n
+.rt  
+The maximum  number  of  days  the  password  is valid. Default value is empty. See \fBshadow\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBwarn\fR\fR
+.ad
+.RS 15n
+.rt  
+The number of days before password expires that the user is warned. See \fBshadow\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBinactive\fR\fR
+.ad
+.RS 15n
+.rt  
+The number of days  of  inactivity allowed for that  user. This is counted on a per-machine basis. The information about the last login is taken from the machine's  \fBlastlog\fR file. See \fBshadow\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexpire\fR\fR
+.ad
+.RS 15n
+.rt  
+An absolute date expressed as the number of days since the UNIX Epoch (January 1, 1970). When this number is reached, the login can no longer be used. For example, an expire value of 13514 specifies a login expiration of January 1, 2007. See \fBshadow\fR(4).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflag\fR\fR
+.ad
+.RS 15n
+.rt  
+Set to empty. See \fBshadow\fR(4).
+.RE
+
+.SH ACTUATORS
+.sp
+.LP
+In certain contexts, additional operations can be appropriate to execute in preparation for or following the introduction of a particular action. These additional operations are generally needed only on a live system image, and are operating system specific. When multiple actions involved in a package installation or removal have identical actuators, then the operation corresponding to actuator presence is executed once for that installation or removal.
+.sp
+.LP
+Incorrectly specified actuators can result in package installation failure, if the actuator cannot determine a means of making safe installation progress.
+.sp
+.LP
+The following actuators are defined:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBreboot-needed\fR\fR
+.ad
+.sp .6
+.RS 4n
+Can be set to \fBtrue\fR or \fBfalse\fR. If an action with this actuator set to \fBtrue\fR is installed or updated during a package installation, then the packaging transaction can be advertised as requiring a reboot. Certain client implementations might take additional steps, such as performing the entire package operation using a clone of the image, in the case that the image is the live system image.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdisable_fmri\fR, \fBrefresh_fmri\fR, \fBrestart_fmri\fR, \fBsuspend_fmri\fR\fR
+.ad
+.sp .6
+.RS 4n
+Each of these actuators takes the value of an FMRI of a service instance to operate on during the package installation or removal. \fBdisable_fmri\fR causes the given FMRI to be disabled prior to action removal, per the \fBdisable\fR subcommand to \fBsvcadm\fR(1M). \fBrefresh_fmri\fR and \fBrestart_fmri\fR cause the given FMRI to be refreshed or restarted after action installation or update, per the respective subcommands of \fBsvcadm\fR(1M). Finally, \fBsuspend_fmri\fR causes the given FMRI to be disabled temporarily prior to the action install phase, and then enabled after the completion of that phase.
+.sp
+The value can contain a pattern that matches multiple service instances. However, it must do so explicitly with a glob as accepted by \fBsvcs\fR(1), rather than doing so implicitly by not indicating any instances.
+.RE
+
+.SH CONSTRAINTS AND FREEZING
+.sp
+.LP
+When a package is transitioned to a new version, or when it is added to or removed from the system, the version that is chosen, or whether removal is allowed, is determined by a variety of constraints put on the package. Those constraints can be defined by other packages in the form of dependencies, or by the administrator in the form of freezes.
+.sp
+.LP
+The most common form of constraint is delivered by the \fBrequire\fR dependency, as described in "Depend Actions" above. Such a constraint prevents the package from being downgraded or removed.
+.sp
+.LP
+Most parts of the operating system are encapsulated by packages called \fBincorporations\fR. These packages primarily deliver constraints represented by the \fBincorporate\fR dependency.
+.sp
+.LP
+As described above, an incorporated package need not be present on the system, but if it is, then it specifies both an inclusive minimum version and an exclusive maximum version. For example, if the dependent FMRI has a version of 1.4.3, then no version less than 1.4.3 would satisfy the dependency, and neither would any version greater than or equal to 1.4.4.  However, versions that merely extended the dotted sequence, such as 1.4.3.7, would be allowed.
+.sp
+.LP
+Incorporations are used to force parts of the system to upgrade synchronously. For some components, such as the C library and the kernel, this is a basic requirement. For others, such as a simple userland component on which nothing else has a dependency, the synchronous upgrade is used merely to provide a known and tested set of package versions that can be referred to by a particular version of the incorporation.
+.sp
+.LP
+Since an incorporation is simply a package, it can be removed, and all the constraints it delivers are therefore relaxed. However, many of the incorporations delivered by Oracle Solaris are required by the packages they incorporate because that relaxation would not be safe.
+.sp
+.LP
+Attempting an upgrade of a package to a version that is not allowed by an installed incorporation will not attempt to find a newer version of the incorporation in order to satisfy the request, but will instead fail. If the constraint itself must be moved, and the incorporation specifying it cannot be removed, then the incorporation must be upgraded to a version that specifies a desired version of the constraint. Upgrading an incorporation causes all of the incorporated packages that would not satisfy the constraints delivered by the new version to be upgraded as well.
+.sp
+.LP
+A system administrator can constrain a package by using the \fBpkg freeze\fR command. The named package is constrained to the version installed on the system if no version is provided.  If a versioned package is provided, then this administrative constraint, or freeze, acts as if an incorporate dependency were installed where the \fBfmri\fR attribute had the value of the provided package version.
+.sp
+.LP
+A freeze is never be lifted automatically by the packaging system. To relax a constraint, use the \fBpkg unfreeze\fR command.
+.SH PUBLISHERS AND REPOSITORIES
+.sp
+.LP
+As detailed above, a publisher is simply a name that package clients use to identify the provider of packages. Publishers can distribute their packages using package repositories and/or package archives. There are two types of repositories currently supported by the package system: origin repositories and mirror repositories.
+.sp
+.LP
+An \fBorigin\fR is a package repository that contains all of the metadata (such     as catalogs, manifests, and search indexes) and content (files) for one or more packages. If multiple origins are configured for a given publisher in an image, the package client API attempts to choose the best origin to retrieve package data from. This is the most common type of repository, and is implicitly created whenever \fBpkgsend\fR or \fBpkgrecv\fR is used on a package repository.
+.sp
+.LP
+A \fBmirror\fR is a package repository that contains only package content (files). If one or more mirrors are configured for a given publisher in an image, the client API prefers the mirrors for package content retrieval and attempts to choose the best one to retrieve package content from. If the mirror is unreachable, does not have the required content, or is slower, the client API retrieves the content from any configured origin repositories. Mirrors are intended for content sharing among a trusted set of clients using the dynamic mirror functionality of \fBpkg.depotd\fR(1M). Mirrors are also intended to be used to authenticate access to package metadata, but distribute the package content without authentication. For example, a client might be configured with an \fBhttps\fR origin that requires an SSL key and certificate pair to access, and with an \fBhttp\fR mirror that provides the package content. In this way, only authorized clients can install or update the packages, while the overhead of authentication for package content retrieval is avoided. A mirror can be created by removing all subdirectories of a repository except those named \fBfile\fR and their parents. An origin repository can be also be provisioned as a mirror by using the mirror mode of \fBpkg.depotd\fR(1M).
+.SH PROPERTIES
+.sp
+.LP
+Images can have one or more properties associated with them. These properties can be used to store information about the purpose, content, and behavior of the image. See \fBpkg\fR(1) for a complete list.
+.SH IMAGE POLICIES
+.sp
+.LP
+Policies are defined by image properties with boolean values. The supported policies include:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBflush-content-cache-on-success\fR\fR
+.ad
+.sp .6
+.RS 4n
+When true, the cache of downloaded files is erased after a successful install of a package. Default value: \fBFalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsend-uuid\fR\fR
+.ad
+.sp .6
+.RS 4n
+When true, a unique identifier (UUID) that identifies the image to the publisher is sent on all requests. Default value: \fBTrue\fR.
+.RE
+
+.SH FILES
+.sp
+.LP
+Since \fBpkg\fR(5) images can be located arbitrarily within a larger file system, the token \fB$IMAGE_ROOT\fR is used to distinguish relative paths. For a typical system installation, \fB$IMAGE_ROOT\fR is equivalent to /.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$IMAGE_ROOT/var/pkg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Metadata directory for a full or partial image.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$IMAGE_ROOT/.org.opensolaris,pkg\fR\fR
+.ad
+.sp .6
+.RS 4n
+Metadata directory for a user image.
+.RE
+
+.sp
+.LP
+Within the metadata of a particular image, certain files and directories can contain information useful during repair and recovery. The token \fB$IMAGE_META\fR is used to refer to the top-level directory that contains the metadata. \fB$IMAGE_META\fR is typically one of the two paths given above.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$IMAGE_META/lost+found\fR\fR
+.ad
+.RS 26n
+.rt  
+Location of conflicting directories and files moved during a package operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$IMAGE_META/publisher\fR\fR
+.ad
+.RS 26n
+.rt  
+Contains a directory for each publisher. Each directory stores publisher-specific metadata.
+.RE
+
+.sp
+.LP
+Other paths within the \fB$IMAGE_META\fR directory hierarchy are Private, and are subject to change.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(1), \fBpkgsend\fR(1), \fBpkg.depotd\fR(1M), \fBsvcadm\fR(1M), \fBpkginfo\fR(4)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkg.5.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,776 +0,0 @@
-Standards, Environments, and Macros                       pkg(5)
-
-
-NAME
-     pkg - image packaging system
-
-DESCRIPTION
-     The image packaging system, pkg(5), is a framework which provides for
-     software lifecycle management (installation, upgrade, and removal).
-     Image packaging manages software in units of packages, which are
-     collections of 'actions', defined by a set of key/value pairs and
-     possibly a data payload.  In many cases, actions are files found in
-     a filesystem, but they also represent other installable objects,
-     such as drivers, services, and users.
-
-  Package FMRIs and Versions
-     Each package is represented by a fault management resource identifier
-     (FMRI) with the scheme 'pkg:'.  The full FMRI for a package consists
-     of the scheme, a publisher, the package name, and a version string in
-     the following format:
-
-         pkg://opensolaris.org/library/[email protected],5.11-0.75:20071001T163427Z
-
-     'opensolaris.org' is the publisher.  'library/libc' is the package
-     name.  Although the namespace is hierarchical and arbitrarily deep,
-     there is no enforced containment -- the name is essentially arbitrary.
-     The publisher information is optional, but must be preceded by 'pkg://'
-     if present.  An FMRI that includes the publisher is often referred to as
-     being "fully qualified".  If publisher information is not present, then
-     the package name should generally be preceded by 'pkg:/'.
-
-     Packaging clients often allow the scheme of an FMRI to be omitted if it
-     does not contain publisher information.  For example, 'pkg:/library/libc'
-     may be written as 'library/libc'.  If the scheme is omitted, clients also
-     allow omission of all but the last component of a package name for matching
-     purposes.  For example, 'library/libc' could be written as 'libc', which
-     would then match packages named 'libc' or package names ending in '/libc'.
-
-     A publisher's identifying name is a forward domain name that can be used
-     to identify a person, group of persons, or an organization as the source
-     of one or more packages.  A publisher name should be constructed from an
-     Internet domain name that is owned, managed, or represented by or on
-     behalf of a publisher.  Other constructions may lead to collisions and be
-     unsafe for general use.
-
-     The version follows the package name, separated by an '@'.  It
-     consists of four sequences of numbers, separated by punctuation.  The
-     elements in the first three sequences are separated by dots, and the
-     sequences are arbitrarily long.  Leading zeros in version components
-     (e.g. 01.1 or 1.01) are not permitted, although trailing zeros are
-     (e.g. 1.10).
-
-     The first part is the component version.  For components tightly bound
-     to the operating system, this will usually be the value of 'uname -r'
-     for that version of the operating system.  For a component with its own
-     development lifecycle, this sequence will be the dotted release number,
-     such as '2.4.10'.
-
-     The second part, which if present must follow a comma, is the build
-     version, specifying what version of the operating system the contents
-     of the package were built on, providing a minimum bound on which
-     operating system version the contents can be expected to run
-     successfully.
-
-     The third part, which if present must follow a dash, is the branch
-     version, a versioning component, providing vendor-specific information.
-     This may be incremented when the packaging metadata is changed,
-     independently of the component, may contain a build number, or some
-     other information.
-
-     The fourth part, which if present must follow a colon, is a timestamp.
-     It represents when the package was published.
-
-     Many parts of the system, when appropriate, will contract FMRIs when
-     displaying them, and accept input in shorter forms to reduce the volume
-     of information displayed or required.  Typically, the scheme, publisher,
-     build version, and timestamp can be elided, and sometimes the versioning
-     information altogether.
-
-  Actions
-     Actions represent the installable objects on a system.  They are
-     described in a package's manifest.  Every action consists primarily of
-     its name and a key attribute.  Together, these refer to a unique
-     object as it follows a version history.  Actions may have other
-     attributes.  Some of these will be interpreted directly by the
-     packaging system, others may be useful only to the system
-     administrator or the end-user.
-
-     Actions have a simple text representation:
-
-         <action name> <attribute1>=<value1> <attribute2>=<value2> ...
-
-     Names of attributes cannot have whitespace, quotes, or equals signs
-     ("=") in them -- all characters after the first equals sign belong to
-     the value.  Values may have all of those, though spaces must be
-     enclosed in single or double quotes.  Single quotes need not be
-     escaped inside of a double-quoted string, and vice versa, though a
-     quote may be prefixed with a backslash ("\") so as not to terminate
-     the quoted string.  Backslashes may be escaped with backslashes.
-
-     Attributes may be named more than once with multiple values; these are
-     treated as unordered lists.
-
-     Attributes with many attributes may create long lines in a manifest
-     file.  Such lines can be wrapped by terminating each incomplete line
-     with a backslash.  Note that this continuation character must occur
-     between attribute/value pairs; neither attributes nor their values nor
-     the combination may be split.
-
-     The attributes listed below are not an exhaustive set; indeed, the
-     attributes which may be attached to an action are arbitrary, and
-     indeed, the standard sets are easily augmented to incorporate future
-     developments.
-
-     Certain action attributes cause additional operations to be
-     executed outside of the packaging context.  These are documented
-     below, under the topic "Actuators".
-
-  File Actions
-     The 'file' action is perhaps the most common action, and represents an
-     'ordinary file'.  It references a payload, and has four standard
-     attributes:
-
-     path   The filesystem path where the file is installed.  This is a
-            file action's key attribute.
-
-     mode   The access permissions (in numeric form) of the file.  These
-            are simple permissions only, not ACLs.
-
-     owner  The name of the user which owns the file.
-
-     group  The name of the group which owns the file.
-
-     The payload is a "positional" attribute, in that it is not named.  It
-     is the first word after the action name.  In a published manifest, it
-     is the SHA-1 hash of the file contents.  If present in a manifest that
-     has yet to be published, it represents the path at which the payload
-     may be found (see pkgsend(1)).  The "hash" attribute may be used
-     instead of the positional attribute, should the value include an
-     equals sign.  Both may be used in the same action; however, the hashes
-     must be identical.
-
-     Other attributes include:
-
-     preserve  This specifies that the file's contents should not be
-               overwritten on upgrade if they are determined to have
-               changed since it was installed or last upgraded.  On
-               initial installs, if an existing file is found, it will
-               be salvaged (i.e. stored in /var/pkg/lost+found).
-
-               If the value of preserve is 'renameold', then the existing
-               file will be renamed with the extension '.old', and the new
-               file will be put in its place.
-
-               If the value of preserve is 'renamenew', then the existing
-               file will be left alone, and the new file will be installed
-               with the extension '.new'.
-
-               If the value of preserve is 'legacy', then this file will not
-               be installed for initial package installs.  On upgrades, any
-               existing file will be renamed with the extension '.legacy',
-               and then the new file will be put in its place.
-
-               If the value of preserve is 'true' (or a value not listed
-               above, such as 'strawberry'), then the existing file will
-               be left alone, and the new file will not be installed.
-
-     overlay   This specifies whether the action allows other packages to
-               deliver a file at the same location or whether it delivers
-               a file intended to overlay another.  This functionality is
-               intended for use with configuration files that don't
-               participate in any self-assembly (e.g. /etc/motd) and that
-               can be safely overwritten.
-
-               If overlay is not specified, multiple packages may not deliver
-               files to the same location.
-
-               If the value of overlay is 'allow', one other package is
-               allowed to deliver a file to the same location.  This value
-               has no effect unless the preserve attribute is also set.
-
-               If the value of overlay is 'true', the file delivered by the
-               action will overwrite any other action that has specified
-               'allow'.  Changes to the installed file will be preserved
-               based on the value of the preserve attribute of the overlaying
-               file.  On removal, the contents of the file will be preserved
-               if the action being overlayed is still installed regardless of
-               whether the preserve attribute was specified.  Only one action
-               may overlay another, and the 'mode', 'owner', and 'group'
-               attributes must match.
-
-     Files may also be 'tasted', and depending on the flavor, may have
-     additional interesting attributes.  For ELF files, the following
-     attributes are recognized:
-
-     elfarch  The architecture of the ELF file.  This will be the output of
-              'uname -p' on the architecture for which the file is built.
-
-     elfbits  This will be '32' or '64'.
-
-     elfhash  This is the hash of the 'interesting' ELF sections in
-              the file.  These are the sections that are mapped into
-              memory when the binary is loaded, and are the only ones
-              necessary to consider when determining whether two
-              binaries' executable behavior will differ.
-
-     original_name This attribute is used to handle editable files moving
-                   from package to package or from place to place, or both.
-                   The form this takes is the name of the originating package,
-                   followed by a colon and the original path to the file.
-                   Any file being deleted is recorded either with its
-                   package and path, or with the value of the original_name
-                   attribute if specified.  Any editable file being installed
-                   that has the original_name attribute set will use the
-                   file of that name if it is deleted as part of the same
-                   packaging operation.
-
-     revert-tag This attribute is used to tag editable files that should
-                be reverted as a set.  Multiple revert-tag values may
-                be specified; the file will revert to its manifest-defined
-                state when pkg revert is invoked with any of those tags
-                specified.  See pkg(1).
-
-  Directory Actions
-     The 'dir' action is like the file action in that it represents a
-     filesystem object, but a directory instead of an ordinary file.  It
-     has the same four standard attributes as the file action, and 'path'
-     is the key attribute.
-
-     Directories are reference counted in IPS.  When the last package
-     that either explicitly or implicitly references a directory no
-     longer does so, that directory is removed.  If there are
-     unpackaged file system objects under that directory, those items
-     will be moved into $IMAGE_META/lost+found.  See FILES for more
-     information about $IMAGE_META.
-
-     If it is desirable to move unpackaged contents into a new directory,
-     this attribute will be useful:
-
-     salvage-from:
-          This names a directory of salvaged items.  A directory with
-	  such an attribute will inherit on creation the salvaged directory
-	  contents if they exist.
-
-  Link Actions
-     The 'link' action represents a symbolic link.  It has two standard
-     attributes:
-
-     path
-          The filesystem path where the symlink is installed.  This is a
-          link action's key attribute.
-
-     target
-          The target of the symlink; the filesystem object to which the
-          link resolves.
-
-     mediator
-          Specifies the entry in the mediation namespace shared by all
-          pathnames participating in a given mediation group (e.g. 'python').
-          Link mediation may be performed based on 'mediator-version' and/or
-          'mediator-implementation'.  All mediated links for a given pathname
-          must specify the same mediator.  However, not all mediator versions
-          and implementations need to provide a link at a given path.  If a
-          mediation doesn't provide a link, then the link is removed when that
-          mediation is selected.  A mediator, in combination with a specific
-          version and/or implementation represents a 'mediation' that can be
-          selected for use by the packaging system.
-
-     mediator-version
-          Specifies the version (expressed as a dot-separated sequence
-          of non-negative integers) of the interface described by the
-          'mediator' attribute.  This attribute is required if 'mediator'
-          is specified and 'mediator-implementation' is not.  A local
-          system administrator may set the version to use explicitly.  The
-          value specified should generally match the version of the package
-          delivering the link (e.g. runtime/python-26 should use mediator-
-          version=2.6), although this is not required.
-
-     mediator-implementation
-          Specifies the implementation of the mediator for use in addition to
-          or instead of the 'mediator-version'.  Implementation strings are
-          not considered to be ordered and one will be arbitrary selected by
-          pkg(5) if not explicitly specified by a system administrator.
-
-          The value can be a string of arbitrary length composed of alpha-
-          numeric characters and spaces.  If the implementation itself can
-          be or is versioned, then the version should be specified at the
-          end of the string, after a '@' (expressed as a dot-separated
-          sequence of non-negative integers).  If multiple versions of an
-          implementation exist, the default behvaiour is to select the
-          implementation with the greatest version.
-
-          If only one instance of an implementation-mediation link at a
-          particular path is installed on a system, then that one will be
-          chosen automatically.  If future links at the path are installed,
-          the link will not be switched unless a vendor, site, or local
-          override applies, or if one of the links is version-mediated.
-
-     mediator-priority
-          When resolving conflicts in mediated links, pkg(5) will normally
-          choose the link with the greatest value of 'mediator-version' or
-          based on 'mediator-implementation' if that is not possible.  This
-          attribute is used to specify an override for the normal conflict
-          resolution process.
-
-          If this attribute is not specified, the default mediator selection
-          logic will be applied.
-
-          If the value is 'vendor', the link will be preferred over those
-          that do not have a 'mediator-priority' specified.
-
-          If the value is 'site', the link will be preferred over those that
-          have a value of 'vendor' or that do not have a 'mediator-priority'
-          specified.
-
-          A local system administrator may override the selection logic
-          described above.
-
-  Hardlink actions
-     The 'hardlink' action represents a hard link.  It has the same
-     attributes as the link action, and 'path' is also its key attribute.
-
-  Driver actions
-     The 'driver' action represents a device driver.  It does not reference
-     a payload: the driver files themselves must be installed as file
-     actions.  The following attributes are recognized (see add_drv(1M) for
-     more information):
-
-     name         The name of the driver.  This is usually, but not always,
-                  the filename of the driver binary.  This is the driver
-                  action's key attribute.
-
-     alias        This represents an alias for the driver.  There may be
-                  more than one alias attribute for any given driver.
-                  There are no special quoting rules necessary.
-
-     class        This represents a driver class.  There may be more than
-                  one class attribute for any given driver.
-
-     perms        This represents the filesystem permissions for the
-                  driver's device nodes.
-
-     clone_perms  This represents the filesystem permissions for the
-                  "clone" driver's minor nodes for this driver.
-
-     policy       This specifies additional security policy for the device.
-                  There may be more than one policy attribute for any given
-                  driver, but no minor device specification may be present in
-                  more than one attribute.
-
-     privs        This specifies privileges used by the driver.  There may
-                  be more than one privs attribute for any given driver.
-
-     devlink      This specifies an entry in /etc/devlink.tab.  The value
-                  is the exact line to go into the file, with tabs denoted
-                  by "\t".  See devlinks(1M) for more information.  There
-                  may be more than one devlink attribute for any given
-                  driver.
-
-  Depend actions
-     The 'depend' action represents an inter-package dependency.  A package
-     may depend on another package because the first requires functionality
-     in the second for the functionality in the first to work, or even to
-     install.  Dependencies may be optional.
-
-     The following attributes are recognized:
-
-     type  The type of the dependency.  If the value is 'require', then the
-           dependency is required.  A package cannot be installed if any of
-           its required dependencies cannot be satisfied.
-
-           If the value is 'optional', then the dependency, if present, must
-           be at the specified version level or greater.
-
-           If the value is 'exclude', then the containing package cannot
-           be installed if the dependency is present at the specified
-           version level or greater.
-
-           If the value is 'incorporate', then the dependency is
-           optional, but the version of the dependent package will
-           become constrained.  See 'Constraints and Freezing' below.
-
-           If the value is 'require-any', then any one of multiple dependent
-           packages as specified by multiple 'fmri' attributes will satisfy
-           the dependency
-
-           If the value is 'conditional', the dependency is required
-           only if the package defined by the predicate attribute is present
-           on the system.
-
-           If the value is 'origin', the dependency must, if present,
-           be at the specified value or better on the image to be modified
-           prior to installation.  If the value of the 'root-image' attribute
-           is 'true', the dependency must be present on the image rooted at '/'
-           in order to install this package.
-
-           If the value is 'group', the dependency is required unless the
-           package is on the image avoid list.  Note that obsolete packages
-           silently satisfy the group dependency.  See the avoid subcommand
-           in pkg(1).
-
-           If the value is 'parent', then the dependency is ignored if
-           the image is not a child image.  If the image is a child
-           image then it's required that the dependency be present in
-           the parent image.  The package version matching for a
-           'parent' dependency is the same as that used for 'incorporate'
-           dependencies.
-
-     fmri  The FMRI representing the depended-upon package.  It must not
-           include the publisher.  In the case of require-any dependencies,
-           there may be multiple values.  This is the dependency action's
-           key attribute.
-
-     predicate  The FMRI representing the predicate for 'conditional'
-           dependencies.
-
-     root-image Has an effect only for origin dependencies as mentioned
-           above.
-
-  License actions
-    The 'license' action represents a license or other informational
-    file associated with the package contents.  A package may deliver
-    licenses, disclaimers, or other guidance to the package installer
-    through the use of the license action.
-
-    The payload of the license action will be delivered into the image
-    metadata directory related to the package, and should only contain
-    human-readable textual data.  It should not contain HTML or any
-    other form of markup. License actions, through attributes, may
-    indicate to clients that the related payload must be displayed
-    and/or require "acceptance" of it.  Please note that the exact
-    method of display and/or acceptance is at the discretion of
-    clients.
-
-    The following attributes are recognized:
-
-    license         This attribute provides a meaningful description
-                    for the license to assist users in determining
-                    the contents without reading the license text
-                    itself.  Some example values might include:
-
-                    "ABC Co. Copyright Notice"
-                    "ABC Co. Custom License"
-                    "Common Development and Distribution License 1.0 (CDDL)"
-                    "GNU General Public License 2.0 (GPL)"
-                    "GNU General Public License 2.0 (GPL) Only"
-                    "MIT License"
-                    "Mozilla Public License 1.1 (MPL)"
-                    "Simplified BSD License"
-
-                    Wherever possible, including the version of the
-                    license in the description is recommended as shown
-                    above.  This value must be unique within a package.
-
-    must-accept     When "true", this license must be accepted by a
-                    user before the related package can be installed
-                    or updated.  Omission of this attribute will be
-                    considered equivalent to "false".  The method of
-                    acceptance (interactive, configuration-based,
-                    etc.) is at the discretion of clients.
-
-    must-display    When "true", the action's payload must be displayed
-                    by clients during packaging operations.  Omission of
-                    this value is considered equivalent to "false".
-                    This attribute should not be used for copyright
-                    notices, only actual licenses or other material
-                    that must be displayed during operations.  The
-                    method of display is at the discretion of
-                    clients.
-
-    The 'license' attribute is the key attribute for the license action.
-
-  Legacy actions
-    The 'legacy' action represents package data used by a legacy
-    packaging system.  The attributes associated with this action are
-    added into the legacy system's databases in order that the tools
-    querying those databases might operate as if the legacy package were
-    actually installed.  In particular, this should be sufficient to
-    convince the legacy system that the package named by the 'pkg'
-    attribute is installed on the system, so that it may be used to
-    satisfy dependencies.
-
-    The following attributes, named in accordance with the parameters on
-    pkginfo(4), are recognized:
-
-    category  The value for the CATEGORY parameter.  The default value
-              is "system".
-
-    desc      The value for the DESC parameter.
-
-    hotline   The value for the HOTLINE parameter.
-
-    name      The value for the NAME parameter.  The default value is
-              "none provided".
-
-    pkg       The abbreviation for the package being installed.  The
-              default value is the name from the package's FMRI.
-
-    vendor    The value for the VENDOR parameter.
-
-    version   The value for the VERSION parameter.  The default value is
-              the version from the package's FMRI.
-
-    The 'pkg' attribute is the key attribute for the legacy action.
-
-  Set actions
-     The 'set' action represents a package-level attribute, or metadata,
-     such as the package description.
-
-     The following attributes are recognized:
-
-     name   The name of the attribute.
-
-     value  The value given to the attribute.
-
-     The set action can deliver any metadata the package author chooses;
-     however, there are a number of well-defined attribute names which have
-     specific meaning to the packaging system.
-
-     info.classification   One or more tokens which a pkg(5) client may use
-                           to classify the package.  The value should have
-                           a scheme (such as "org.opensolaris.category.2008"
-                           or "org.acm.class.1998") and the actual
-                           classification, such as "Applications/Games",
-                           separated by a colon (:).
-
-     pkg.description       A detailed description of the contents and
-                           functionality of the package, typically a
-                           paragraph or so in length.
-
-     pkg.obsolete          When "true", the package is marked obsolete.  An
-                           obsolete package may have no actions other than
-                           more set actions, and must not be marked renamed.
-
-     pkg.renamed           When "true", the package has been renamed.
-                           There must be one or more "depend" actions in
-                           the package as well which point to the package
-                           versions to which this package has been renamed.
-                           A package may not be marked both renamed and
-                           obsolete, but otherwise may have any number of
-                           set actions.
-
-     pkg.summary           A short, one-line description of the package.
-
-  Group actions
-     The 'group' action defines a Unix group as defined in group(4).
-     No support is present for group passwords.  Groups defined with
-     this action initially have no user-list; users may be added with
-     the 'user' action.  The following attributes are recognized:
-
-     groupname   The value for the name of the group.
-
-     gid         The groups unique numerical id.  The default value is the first
-                 free group under 100.
-
-  User actions
-     The 'user' action defines a Unix user as defined in /etc/passwd,
-     /etc/shadow, /etc/group and /etc/ftpd/ftpusers files.  Users defined
-     with this attribute have entries added to the appropriate files.
-
-     The following attributes are recognized:
-
-     username    The unique name of the user
-
-     password    The encrypted password of the user.  Default value is '*LK*'.
-                 See shadow(4).
-
-     uid         The unique uid of the user. Default value is first free value
-                 under 100.
-
-     group       The name of the users primary group.  Must be
-                 found in /etc/group
-
-     gcos-field  The value of the gecos field in /etc/passwd.  Default value is
-                 username.
-
-     home-dir    The user's home directory.  Default value is '/'.
-
-     login-shell The user's default shell.  Default value is empty.
-
-     group-list  secondary groups to which the user belongs.  See group(4).
-
-     ftpuser     Can be set to "true" or "false".  The default value
-                 of "true" indicates that the user is permitted to
-                 login via FTP.  See ftpusers(4).
-
-     lastchg     The number of days between January 1, 1970,  and
-                 the  date  that  the password was last modified.
-                 Default value is empty.  See shadow(4).
-
-     min         The minimum  number  of  days  required  between
-                 password changes. This field must be set to 0 or
-                 above to enable password aging.  Default value is
-                 empty. See shadow(4).
-
-     max         The maximum  number  of  days  the  password  is
-                 valid.  Default value is empty.  See shadow(4).
-
-     warn        The number of days before password expires  that
-                 the user is warned.  See shadow(4).
-
-     inactive    The number of days  of  inactivity  allowed  for
-                 that  user.  This  is  counted  on a per-machine
-                 basis; the information about the last  login  is
-                 taken  from  the  machine's  lastlog  file.  See
-                 shadow(4).
-
-     expire      An absolute date expressed as the number of days
-                 since  the  Unix  Epoch  (January 1, 1970). When
-                 this number is reached the login can  no  longer
-                 be  used.  For example, an expire value of 13514
-                 specifies a login expiration of January 1, 2007.
-                 See shadow(4).
-
-     flag        set to empty. See shadow(4).
-
-
-  Actuators
-
-     In certain contexts, additional operations may be appropriate to
-     execute in preparation for or following the introduction of a
-     particular action.  These additional operations are generally
-     needed only on a live system image, and are operating
-     system-specific.  When multiple actions involved in a package
-     installation or removal have identical actuators, then the
-     operation corresponding to actuator presence is executed once for
-     that installation or removal.
-
-     Incorrectly specified actuators may result in package installation
-     failure, if the actuator cannot determine a means of making
-     safe installation progress.
-
-     The following actuators are defined:
-
-     reboot-needed  Can be set to "true" or "false".  If an action
-                 with this actuator set to "true" is installed or
-                 updated during a package installation, then the
-                 packaging transaction can be advertised as requiring a
-                 reboot.  Certain client implementations may take
-                 additional steps, such as performing the entire package
-                 operation using a clone of the image, in the case that
-                 the image is the live system image.
-
-     disable_fmri
-     refresh_fmri
-     restart_fmri
-     suspend_fmri  Each of these actuators take the value of an FMRI of
-                 a service instance to operate upon during the package
-                 installation or removal.  disable_fmri causes the
-                 mentioned FMRI to be disabled prior to action removal, per
-                 the disable subcommand to svcadm(1M).  refresh_fmri and
-                 restart_fmri cause the given FMRI to be refreshed or
-                 restarted after action installation or update, per the
-                 respective subcommands of svcadm(1M).  Finally,
-                 suspend_fmri causes the given FMRI to be disabled
-                 temporarily prior to the action install phase, and then
-                 enabled after the completion of that phase.
-
-                 The value may contain a pattern matching multiple service
-                 instances.   However, it must do so explicitly with a glob
-                 as accepted by svcs(1), rather than doing so implicitly by
-                 not indicating any instances.
-
-  Constraints and Freezing
-     TBD
-
-  Client-Server Operation
-     TBD
-
-  Publishers and Repositories
-     As detailed above, a publisher is simply a name that package clients
-     use to identify the provider of packages.  Publishers can distribute their
-     packages using package repositories and/or package archives.  There are two
-     types of repositories currently supported by the package system: 'origin'
-     and 'mirror'.
-
-     An 'origin' is a package repository that contains all of the metadata (such
-     as catalogs, manifests, search indexes, etc.) and content (files) for one
-     or more packages.  If multiple origins are configured for a given publisher
-     in an image, the package client API will attempt to choose the "best"
-     origin to retrieve package data from.  This is the most common type of
-     repository, and is implicitly created whenever pkgsend or pkgrecv is used
-     on a package repository.
-
-     A 'mirror' is a package repository that contains only package content
-     (files).  If one or more mirrors are configured for a given publisher in an
-     image, the client API will prefer the mirrors for package content retrieval
-     and attempt to choose the "best" one to retrieve package content from.  If
-     the mirror is unreachable, does not have the required content, or is
-     slower, the client API will fallback to retrieving the content from any
-     configured origin repositories.  Mirrors are intended for content sharing
-     among a trusted set of clients using pkg.depotd(1M)'s dynamic mirror
-     functionality, or when there is a need to authenticate access to package
-     metadata, but the package content is more efficiently distributed without
-     authentication.  For example, a client may be configured with an https
-     origin that requires an SSL key / certificate pair to access, and with an
-     http mirror that provides the package content.  In this way, only
-     authorized clients may install or update the packages, while the overhead
-     of authentication for package content retrieval is avoided.  A mirror may
-     be created by removing all subdirectories of a repository except those
-     named 'file' and their parents.  An origin repository can be also be
-     provisioned as a mirror by using pkg.depotd(1M)'s mirror mode.
-
-  Images and Substrates
-     TBD
-
-  Properties
-     Images can have one or more properties associated with them.
-     These properties can be used to store information about the purpose,
-     content and behavior of the image.
-
-  Image Policies
-     Policies are defined by image properties with boolean values.  The
-     supported policies include:
-
-        flush-content-cache-on-success
-            When true, the cache of downloaded files is erased after a
-            successful install of a package.  Default value: False.
-
-        send-uuid
-            When true, a unique identifier (UUID) that identifies the
-            image to the publisher is sent on all requests.  Default
-            value: True.
-
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | SUNWipkg                    |
-    |                             | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-FILES
-     Since pkg(5) images can be located arbitrarily within a larger file
-     system, we use the token $IMAGE_ROOT to distinguish relative paths.
-     For a typical system installation, $IMAGE_ROOT is equivalent to
-     "/".
-
-     $IMAGE_ROOT/var/pkg
-         Metadata directory for a full or partial image.
-
-     $IMAGE_ROOT/.org.opensolaris,pkg
-         Metadata directory for a user image.
-
-     Within a particular image's metadata, certain files and directories
-     can contain information useful during repair and recovery.  We use
-     the token $IMAGE_META to refer to the top-level directory
-     containing the metadata.  $IMAGE_META is typically one of the two
-     paths given above.
-
-     $IMAGE_META/lost+found
-         Location of conflicting directories and files moved during a
-         package operation.
-
-     $IMAGE_META/publisher
-         Contains a directory for each publisher.  Each directory stores
-         publisher-specific metadata.
-
-     Other paths within the $IMAGE_META directory hierarchy are Private,
-     and are subject to change.
-
-SEE ALSO
-     pkg(1), pkgsend(1), pkg.depotd(1M), svcadm(1M), pkginfo(4),
-     attributes(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at
-
-         http://hub.opensolaris.org/bin/view/Project+pkg/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkg.depotd.1m	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,811 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkg.depotd 1m "28 Jul 2011" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pkg.depotd \- Image Packaging System depot server
+.SH SYNOPSIS
+.LP
+.nf
+/usr/lib/pkg.depotd [-a \fIaddress\fR] [-d \fIinst_root\fR] [-p \fIport\fR]
+    [-s \fIthreads\fR] [-t \fIsocket_timeout\fR] [--add-content]
+    [--cfg] [--content-root] [--debug feature_list]
+    [--disable-ops=\fIop\fR[/1][,...]]
+    [--log-access] [--log-errors] [--mirror]
+    [--proxy-base \fIurl\fR] [--readonly] [--rebuild]
+    [--ssl-cert-file] [--ssl-dialog] [--ssl-key-file]
+    [--writable-root]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkg.depotd\fR is the depot server for the image packaging system. It provides network access to the data contained within a package repository. Clients that do not support direct access to a repository through the file system, or for which network access is the only available or preferred method of transport, typically use the package depot.
+.sp
+.LP
+Clients such as \fBpkg\fR(1), the retrieval client, can retrieve a list of packages and package metadata from a repository directly or through the depot server. \fBpkgsend\fR(1), the publication client, can send new versions of packages to a repository directly or through the depot server. \fBpkgrepo\fR(1) can be used to create repositories for use with the depot server, or to manage them both directly and through the depot server.
+.sp
+.LP
+\fBpkg.depotd\fR is typically run as a service on the system. Package and software developers might want to run private copies for testing.
+.sp
+.LP
+The depot does not provide any access control methods of its own. By default, all of the clients that are able to connect are able to read all package data and publish new package versions. The exception is that when running under Service Management Facility (SMF), the default is to run in read-only mode. The "Notes" section below describes some best practices for maintaining a public depot server with evolving content.
+.SH SMF PROPERTIES
+.sp
+.LP
+The \fBpkg.depot\fR server is generally configured via the \fBsmf\fR(5) properties associated with its service. The following properties are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/address\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBnet_address\fR) The IP address on which to listen for connections. The default value is 0.0.0.0 (\fBINADDR_ANY\fR), which listens on all active interfaces. To listen on all active IPv6 interfaces, use \fB::\fR. Only the first value is used.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/content_root\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The file system path at which the instance should find its static and other web content. The default value is \fB/usr/share/lib/pkg\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/debug\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) A comma-separated list of debug features to enable. Possible values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBheaders\fR\fR
+.ad
+.RS 11n
+.rt  
+Logs the headers of every request to the error log.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/disable_ops\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) A comma-separated list of operations that should be disabled for the depot server. Operations are given as \fIoperation\fR[/\fIversion\fR] (\fBcatalog\fR or \fBsearch_1\fR, for example).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/file_root\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The root of the file content for this repository. If undefined, this defaults to \fIinst_root\fR/\fIfile\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/inst_root\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The file system path at which the instance should find its repository data. Required unless \fBfile_root\fR or \fBPKG_REPO\fR has been provided. The default value is \fB/var/pkgrepo\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/log_access\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The destination for any access related information logged by the depot process. Possible values are: \fBstderr\fR, \fBstdout\fR, \fBnone\fR, or an absolute path name. The default value is \fBstdout\fR if \fBstdout\fR is a \fBtty\fR. If \fBstdout\fR is not a \fBtty\fR, the default value is \fBnone\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/log_errors\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The destination for any errors or other information logged by the depot process. Possible values are: \fBstderr\fR, \fBstdout\fR, \fBnone\fR, or an absolute path name. The default value is \fBstderr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/mirror\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBboolean\fR) Sets whether package mirror mode is used. When true, publishing and metadata operations are disabled and only a limited browser user interface is provided. This property cannot be true when the \fBpkg/readonly\fR property is true. The default value is \fBfalse\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/port\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBcount\fR) The port number on which the instance should listen for incoming package requests. If SSL certificate and key information has not been provided, the default value is 80; otherwise, the default value is 443.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/proxy_base\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBuri\fR) This changes the base URL for the depot server and is most useful when running behind Apache or some other web server in a reverse proxy configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/readonly\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBboolean\fR) Sets whether modifying operations, such as those initiated by \fBpkgsend\fR(1), are disabled. Retrieval operations are still available. This property cannot be true when the \fBpkg/mirror\fR property is true. The default value is \fBtrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/socket_timeout\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBcount\fR) The maximum number of seconds the server should wait for a response from a client before closing a connection. The default value is 60.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/sort_file_max_size\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBcount\fR) The maximum size of the indexer sort file. Used to limit the amount of RAM the depot uses for indexing, or increase it for speed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/ssl_cert_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The absolute path name to a PEM-encoded Certificate file. The default value is \fBnone\fR. This property must be used with \fBssl_key_file\fR. The depot only responds to SSL requests if both \fBssl_cert_file\fR and \fB/ssl_key_file\fR are provided.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/ssl_dialog\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) Specifies what method should be used to obtain the passphrase used to decrypt the \fBssl_key_file\fR. Possible values are:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBbuiltin\fR\fR
+.ad
+.RS 25n
+.rt  
+Prompt for the passphrase. This is the default value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexec:\fI/path/to/program\fR\fR\fR
+.ad
+.RS 25n
+.rt  
+Execute the specified external program to obtain the passphrase. The first argument to the program is \fB\&''\fR, and is reserved. The second argument to the program is the port number of the server. The passphrase is printed to \fBstdout\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBsmf:fmri\fR\fR
+.ad
+.RS 25n
+.rt  
+Attempt to retrieve the value of the property \fBpkg_secure/ssl_key_passphrase\fR from the service instance related to the FMRI.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/ssl_key_file\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The absolute path name to a PEM-encoded Private Key file. This property must be used with the property \fBssl_cert_file\fR. The depot only responds to SSL requests if both \fB/ssl_key_file\fR and \fBssl_cert_file\fR are provided.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/threads\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBcount\fR) The number of threads started to serve requests. The default value is 60. Suitable only for small deployments. This value should be approximately 20 times the number of concurrent clients. The maximum value of \fBthreads\fR is 5000.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/writable_root\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The file system path to a directory to which the program has write access. This is used with the \fB-readonly\fR option to enable the depot server to create files, such as search indices, without needing write access to the package information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg_secure/ssl_key_passphrase\fR\fR
+.ad
+.sp .6
+.RS 4n
+(\fBastring\fR) The password to use to decrypt the \fBpkg/ssl_key_file\fR. This value is read-authorization protected using the attribute \fBsolaris.smf.read.pkg-server\fR.
+.RE
+
+.sp
+.LP
+The presentation and behavior of the Browser User Interface (BUI) of the depot server is controlled using the following properties:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg_bui/feed_description\fR\fR
+.ad
+.RS 28n
+.rt  
+(\fBastring\fR) A descriptive paragraph for the RSS/Atom feed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg_bui/feed_icon\fR\fR
+.ad
+.RS 28n
+.rt  
+(\fBastring\fR) The path name of a small image used to visually represent the RSS/Atom feed. The path name should be relative to the \fBcontent_root\fR. The default value is \fBweb/_themes/pkg-block-icon.png\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg_bui/feed_logo\fR\fR
+.ad
+.RS 28n
+.rt  
+(\fBastring\fR) The path name of a large image that will be used to visually brand or identify the RSS/Atom feed. This value should be relative to the \fBcontent_root\fR. The default value is \fBweb/_themes/pkg-block-icon.png\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg_bui/feed_name\fR\fR
+.ad
+.RS 28n
+.rt  
+(\fBastring\fR) A short, descriptive name for RSS/Atom feeds generated by the depot serving the repository. The default value is "package repository feed".
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg_bui/feed_window\fR\fR
+.ad
+.RS 28n
+.rt  
+(\fBcount\fR) The number of hours before the feed for the repository was last generated, to include when generating the feed.
+.RE
+
+.sp
+.LP
+The package depot is also able to act as a mirror server for local client images from \fBpkg\fR(5). This enables clients that share a subnet on a LAN to mirror their file caches. Clients can download files from one another, thereby reducing load on the package depot server. This functionality is available as an alternate depot service configured by \fBsmf\fR(5). It uses mDNS and \fBdns-sd\fR for service discovery.
+.sp
+.LP
+The mDNS mirror is generally configured via the \fBsmf\fR(5) properties associated with its service. The following properties are recognized:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/file_root\fR\fR
+.ad
+.RS 17n
+.rt  
+(\fBastring\fR) The file system path at which the instance should find its file content. The default value is \fB/var/pkg/download\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkg/port\fR\fR
+.ad
+.RS 17n
+.rt  
+(\fBcount\fR) The port number on which the instance should listen for incoming package requests. The default value is 80.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+\fBpkg.depotd\fR can read its base configuration information from a file or from the property data of an existing \fBsmf\fR(5) service instance.
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--cfg\fR \fIsource\fR\fR
+.ad
+.RS 16n
+.rt  
+The path name of the file to use when reading and writing configuration data, or a string of the form \fBsmf:\fIfmri\fR\fR where \fIfmri\fR is the service fault management resource identifier (FMRI) of the instance to read configuration data from. See "Depot Configuration" below for details on the format of the file specified.
+.RE
+
+.sp
+.LP
+If no preexisting configuration source is available, or to override values read from a configuration file provided using \fB--cfg\fR, the following options can be used to alter the default behavior of the depot server:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR \fIaddress\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/address\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--content-root\fR \fIroot_dir\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/content_root\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIinst_root\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/inst_root\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--debug\fR \fIfeatures\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/debug\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--disable-ops\fR \fIop_list\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/disable_ops\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--file-root\fR \fIpath\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/file_root\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--log-access\fR \fIdest\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/log_access\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--log-errors\fR \fIdest\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/log_errors\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--mirror\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/mirror\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIport\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/port\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--proxy-base\fR \fIurl\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/proxy_base\fR above. This option is ignored if an empty value is provided.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--readonly\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/readonly\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIthreads\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/threads\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s-ort-file-max-size\fR \fIbytes\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/sort_file_max_size\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--ssl-cert-file\fR \fIsource\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/ssl_cert_file\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--ssl-dialog\fR \fItype\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/ssl_dialog\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--ssl-key-file\fR \fIsource\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/ssl_key_file\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fIsocket_timeout\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/socket_timeout\fR above.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--writable-root\fR \fIpath\fR\fR
+.ad
+.RS 30n
+.rt  
+See \fBpkg/writable_root\fR above.
+.RE
+
+.sp
+.LP
+Additional administrative and management functionality for package repositories is provided by \fBpkgrepo\fR(1).
+.SH DEPOT CONFIGURATION
+.sp
+.LP
+When a configuration file is provided (instead of an \fBsmf\fR(5) FMRI) by using the \fB--cfg\fR option, the depot server reads and writes all configuration data in a simple text format. The configuration data is described in "SMF Properties" above. The configuration data consists of sections, lead by a \fB[\fIsection\fR]\fR header, and followed by \fBname = \fIvalue\fR\fR entries. Continuations are in the style of RFC 822. Values can be split over multiple lines by beginning continuation lines with whitespace.
+.sp
+.LP
+Any required values not provided in the configuration file must be provided using the option listed in "Options" above. A sample configuration file might look like this:
+.sp
+.in +2
+.nf
+[pkg]
+port = 80
+inst_root = /export/repo
+
+[pub_example_com]
+feed_description = example.com's software
+  update log
+.fi
+.in -2
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREnabling the Depot Server
+.sp
+.in +2
+.nf
+# \fBsvcadm enable application/pkg/server\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRChanging the Listening Port of the Server.
+.sp
+.in +2
+.nf
+# \fBsvccfg -s application/pkg/server setprop pkg/port = 10000\fR
+# \fBsvcadm refresh application/pkg/server\fR
+# \fBsvcadm restart application/pkg/server\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fREnabling the Mirror
+.sp
+.in +2
+.nf
+# \fBsvcadm enable application/pkg/dynamic-mirror\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPKG_REPO\fR\fR
+.ad
+.RS 21n
+.rt  
+Specifies the directory that contains the repository to serve. This value is ignored if \fB-d\fR is specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPKG_DEPOT_CONTENT\fR\fR
+.ad
+.RS 21n
+.rt  
+Specifies the directory that contains static content served by the depot. The files listed below under "Files" should be present in this directory, although their content can differ from the supplied default content.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Successful operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/pkg\fR\fR
+.ad
+.RS 22n
+.rt  
+Default presentation content location. Modify \fBpkg/content_root\fR to select an alternate location.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBdns-sd\fR(1), \fBmdnsd\fR(1), \fBpkg\fR(1), \fBpkgrepo\fR(1), \fBpkgsend\fR(1), \fBsyslogd\fR(1M), \fBsmf\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
+.SH NOTES
+.sp
+.LP
+The \fBpkd.depotd\fR service is managed by SMF under the service identifier \fBsvc:/application/pkg/server\fR.
+.sp
+.LP
+The mDNS mirror service is managed by SMF under the service identifier \fBsvc:/application/pkg/dynamic-mirror\fR.
+.sp
+.LP
+To control read access to the depot, you can use an HTTP reverse proxy in combination with authentication methods such as client based SSL certificate access, which \fBpkg\fR(1) natively supports.
+.sp
+.LP
+Changes to configuration, or changes to package data using file system based operations, require a restart of the depot server process so that the changes can be reflected in operations and output. Use one of the following methods to restart the depot server process:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Use \fBsvcadm\fR(1M) to restart the \fBapplication/pkg/server\fR instance.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Send a \fBSIGUSR1\fR signal to the depot server process using \fBkill\fR(1). This executes a "graceful restart" that leaves the process intact but reloads all configuration, package, and search data:
+.sp
+.in +2
+.nf
+# \fBkill -USR1 \fIpid\fR\fR
+.fi
+.in -2
+.sp
+
+.RE
--- a/src/man/pkg.depotd.1m.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +0,0 @@
-System Administration Commands                         pkg.depotd(1M)
-
-
-NAME
-     pkg.depotd - image packaging system depot server
-
-SYNOPSIS
-     /usr/lib/pkg.depotd [-a address] [-d inst_root] [-p port] [-s threads]
-         [-t socket_timeout] [--add-content] [--cfg] [--content-root]
-         [--debug feature_list] [--disable-ops=<op[/1]>[,...]] [--log-access]
-         [--log-errors] [--mirror] [--proxy-base url] [--readonly]
-         [--rebuild] [--ssl-cert-file] [--ssl-dialog] [--ssl-key-file]
-         [--writable-root]
-
-DESCRIPTION
-     pkg.depotd is the depot server for the image packaging system.
-     It provides network access to the data contained within a package
-     repository.  Clients that do not support direct access to a
-     repository through the filesystem, or are in situations where
-     networkaccess may be the only available or preferred method of
-     transport typically use the package depot.
-
-     Clients such as pkg(1), the retrieval client, can retrieve a list
-     of packages and package metadata from a repository directly or
-     through the depot server.  pkgsend(1), the publication client,
-     can send new versions of packages to a repository directly or
-     through the depot server.  pkgrepo(1) can be used to create
-     repositories for use with the depot server, or to manage them
-     both directly and through the depot server.  See the man pages
-     of each program for more information about supported operations.
-
-     pkg.depotd is typically run as a service on the system.  Package
-     and software developers may wish to run private copies for
-     testing.
-
-     The depot currently does not provide any access control methods
-     of its own.  By default, all of the clients that are able to
-     connect are able to read all package data and publish new
-     package versions (with the exception that when running under SMF,
-     the default is to run in read-only mode).  The NOTES section
-     below describes some best practices for maintaining a public
-     depot server with evolving content.
-
-     The pkg.depot server is generally configured via the smf(5)
-     properties associated with its service.  The following
-     properties are recognized:
-
-     pkg/address                (net_address) The IP address on which to
-                                listen for connections.  The default value
-                                is 0.0.0.0 (INADDR_ANY) which will listen
-                                on all active interfaces.  To listen on all
-                                active IPv6 interfaces, use '::'.  Only the
-                                first value will be used.
-
-     pkg/content_root           (astring) The file system path at which
-                                the instance should find its static and
-                                other web content.  The default value is
-                                /usr/share/lib/pkg.
-
-     pkg/debug                  (astring) A comma-separated list of
-                                debug features to enable.  Possible
-                                values are:
-
-                                  headers
-                                        Logs the headers of every
-                                        request to the error log.
-
-     pkg/disable_ops            (astring) A comma-separated list of
-                                operations that should be disabled for
-                                the depot server.  Operations are
-                                given as <operation>[/<version>]
-                                (e.g. catalog, search_1).
-
-     pkg/file_root              (astring) The root of the file content
-                                for this repository.  If undefined,
-                                this defaults to <inst_root>/file.
-
-     pkg/inst_root              (astring) The file system path at
-                                which the instance should find its
-                                repository data.  Required unless
-                                file_root or PKG_REPO has been
-                                provided.  The default value is
-                                /var/pkgrepo.
-
-     pkg/log_access             (astring) The destination for any
-                                access related information logged by
-                                the depot process.  Possible values
-                                are: stderr, stdout, none, or an
-                                absolute pathname.  The default value
-                                is stdout if stdout is a tty; if it
-                                is not a tty, the default value is
-                                none.
-
-     pkg/log_errors             (astring) The destination for any
-                                errors or other information logged by
-                                the depot process.  Possible values
-                                are: stderr, stdout, none, or an
-                                absolute pathname.  The default value
-                                is stderr.
-
-     pkg/mirror                 (boolean) Sets whether package mirror
-                                mode is used.  When true, publishing
-                                and metadata operations are disabled
-                                and only a limited browser user
-                                interface is provided.  This property
-                                may not be true when the pkg/readonly
-                                property is true.  The default value
-                                is false.
-
-     pkg/port                   (count) The port number on which the
-                                instance should listen for incoming
-                                package requests.  The default value
-                                is 80 if ssl certificate and key
-                                information has not been provided;
-                                otherwise, the default value is 443.
-
-     pkg/proxy_base             (uri) This changes the base URL for
-                                the depot server and is most useful
-                                when running behind Apache or some
-                                other webserver in a reverse proxy
-                                configuration.
-
-     pkg/readonly               (boolean) Sets whether modifying
-                                operations, such as those initiated
-                                by pkgsend(1M) are disabled. Retrieval
-                                operations are still available. This
-                                property may not be true when the
-                                pkg/mirror property is true. The
-                                default value is true.
-
-     pkg/socket_timeout         (count) The maximum number of seconds
-                                the server should wait for a response
-                                from a client before closing a conn-
-                                ection.  The default value is 60.
-
-     pkg/sort_file_max_size     (count) The maximum size of the
-                                indexer sort file. Used to limit the
-                                amount of RAM the depot uses for
-                                indexing, or increase it for speed.
-
-     pkg/ssl_cert_file          (astring) The absolute pathname to a
-                                PEM-encoded Certificate file.  The
-                                default value is none.  This property
-                                must be used with ssl_key_file.  The
-                                depot will only respond to SSL
-                                requests if provided.
-
-     pkg/ssl_dialog             (astring) Specifies what method should
-                                be used to obtain the passphrase used
-                                to decrypt the ssl_key_file.  Possible
-                                values are: exec:/path/to/program,
-                                builtin, or smf:fmri.  builtin will
-                                prompt for the passphrase; exec will
-                                execute the specified external program
-                                to obtain the passphrase, which should
-                                be printed to stdout.  The first
-                                argument to the program will be '',
-                                and is reserved.  The second argument
-                                to the program will be the port number
-                                of the server.  smf:fmri will attempt
-                                to retrieve the value of the property
-                                pkg_secure/ssl_key_passphrase from the
-                                service instance related to the fmri.
-                                The default value is builtin.
-
-     pkg/ssl_key_file           (astring) The absolute pathname to a
-                                PEM-encoded Private Key file.  This
-                                property must be used with the
-                                property ssl_cert_file.  The depot
-                                will only respond to SSL requests if
-                                provided.
-
-     pkg/threads                (count) The number of threads that
-                                will be started to serve requests.
-                                The default value is 60; suitable only
-                                for small deployments.  This value should
-                                be approximately 20 * number of concurrent
-                                clients and has a maximum of 5000.
-
-     pkg/writable_root          (astring) The file system path to a
-                                directory to which the program has
-                                write access.  This is used with
-                                --readonly to allow the depot server
-                                to create files, such as search
-                                indices, without needing write
-                                access to the package information.
-
-     pkg_secure/ssl_key_passphrase (astring) The password to use to
-                                   decrypt the pkg/ssl_key_file.
-                                   This value is read-authorization
-                                   protected using the attribute
-                                   'solaris.smf.read.pkg-server'.
-
-     The presentation and behavior of the Browser User Interface
-     (BUI) of the depot server is controlled using the following
-     properties:
-
-     pkg_bui/feed_description   (astring) A descriptive paragraph
-                                for the RSS/Atom feed.
-
-     pkg_bui/feed_icon          (astring) The pathname of a small
-                                image that will be used to visually
-                                represent the RSS/Atom feed.  The
-                                pathname should be relative to the
-                                content_root.  The default value is
-                                "web/_themes/pkg-block-icon.png"
-
-     pkg_bui/feed_logo          (astring) The pathname of a large
-                                image that will be used to visually
-                                brand or identify the RSS/Atom feed.
-                                This value should be relative to the
-                                content_root.  The default value is
-                                "web/_themes/pkg-block-icon.png".
-
-     pkg_bui/feed_name          (astring) A short, descriptive name
-                                for RSS/Atom feeds generated by the
-                                depot serving the repository.  The
-                                default value is "package repository
-                                feed".
-
-     pkg_bui/feed_window        (count) A numeric value representing
-                                the number of hours, before the feed
-                                for the repository was last generated,
-                                to include when generating the feed.
-
-     The pkg depot is also able to act as a mirror server for local
-     client images from pkg(5).  This allows clients that share a
-     subnet on a LAN to mirror their file caches.  Clients may
-     download files from one another, thereby reducing load on the
-     package depot server.  This functionality is available as an
-     alternate depot service configured by smf(5).  It uses mDNS and
-     dns-sd for service discovery.
-
-     The mDNS mirror is generally configured via the smf(5) properties
-     associated with its service.  The following properties are
-     recognized:
-
-     pkg/file_root  (astring) The file system path at which the
-                    instance should find its file content.  The
-                    default value is /var/pkg/download.
-
-     pkg/port       (count) The port number on which the instance
-                    should listen for incoming package requests.
-                    The default value is 80.
-
-OPTIONS
-     pkg.depotd(1m) can read its base configuration information from
-     a file or from the property data of an existing smf(5) service
-     instance:
-
-     --cfg source   The pathname of the file to use when reading and
-                    writing configuration data, or a string of the
-                    form 'smf:fmri' where fmri is the service fault
-                    management resource identifier (FMRI) of the
-                    instance to read configuration data from.  See
-                    DEPOT CONFIGURATION below for details on the
-                    format of the file specified.
-
-     If no pre-existing configuration source is available, or to
-     override values read from a provided configuration file using
-     '--cfg', the following options can be used to alter the default
-     behavior of the depot server:
-
-     -a address                 See pkg/address above.
-
-     -d inst_root               See pkg/inst_root above.
-
-     -p port                    See pkg/port above.
-
-     -s threads                 See pkg/threads above.
-
-     -t socket_timeout          See pkg/socket_timeout above.
-
-     --content-root root_dir    See pkg/content_root above.
-
-     --disable-ops op_list      See pkg/disable_ops above.
-
-     --debug features           See pkg/debug above.
-
-     --file-root path           See pkg/file_root above.
-
-     --log-access dest          See pkg/log_access above.
-
-     --log-errors dest          See pkg/log_errors above.
-
-     --mirror                   See pkg/mirror above.
-
-     --proxy-base url           See pkg/proxy_base above; ignored if
-                                empty value is provided.
-
-     --readonly                 See pkg/readonly above.
-
-     --sort-file-max-size bytes See pkg/sort_file_max_size above.
-
-     --ssl-cert-file source     See pkg/ssl_cert_file above.
-
-     --ssl-dialog type          See pkg/ssl_dialog above.
-
-     --ssl-key-file source      See pkg/ssl_key_file above.
-
-     --writable-root path       See pkg/writable_root above.
-
-     Additional administrative and management functionality for
-     package repositories is provided by pkgrepo(1).
-
-DEPOT CONFIGURATION
-
-     When a configuration file is provided (instead of an smf(5) FMRI)
-     using the --cfg option, the depot server will read and write all
-     configuration data (listed in DESRIPTION above) in a simple text
-     format that consists of sections, lead by a "[section]" header,
-     and followed by "name = value" entries, with continuations, etc.
-     in the style of RFC 822.  Values can be split over multiple lines
-     by beginning continuation lines with whitespace.
-
-     Any required values not provided in the configuration file must
-     be provided using the option listed in OPTIONS above.  A sample
-     configuration file might look like this:
-
-     [pkg]
-     port = 80
-     inst_root = /export/repo
-
-     [pub_example_com]
-     feed_description = example.com's software
-       update log
-
-EXAMPLES
-     Example 1:  Enabling the depot server.
-
-     # svcadm enable application/pkg/server
-
-     Example 2:  Changing the listening port of the server.
-
-     # svccfg -s application/pkg/server setprop pkg/port = 10000
-     # svcadm refresh application/pkg/server
-     # svcadm restart application/pkg/server
-
-     Example 3:  Enabling the mirror.
-
-     # svcadm enable application/pkg/dynamic-mirror
-
-     Example 4:  Changing the listening port of the server.
-
-     # svccfg -s application/pkg/server setprop pkg/port = 20000
-     # svcadm refresh application/pkg/server
-     # svcadm restart application/pkg/server
-
-ENVIRONMENT VARIABLES
-     PKG_REPO                   Specifies the directory containing the
-                                repository to server.  This will be
-                                ignored if -d was used.
-
-     PKG_DEPOT_CONTENT          Specifies the directory containing
-                                static content served by the depot.
-                                The files listed below under FILES
-                                should be present in this directory,
-                                although their content may differ
-                                from the supplied default content.
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Successful operation.
-
-     1     Error encountered.
-
-     2     Invalid command line options were specified.
-
-FILES
-     /usr/share/lib/pkg         Default presentation content location;
-                                modify pkg/content_root to select an
-                                alternate location.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | SUNWipkg                    |
-    |                             | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     dns-sd(1), mdnsd(1), pkg(1), pkgrepo(1), pkgsend(1), syslogd(1M),
-     attributes(5), smf(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all
-     subject to change.  Development is hosted in the OpenSolaris
-     community at:
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
-
-     The pkd.depotd service is managed by the service management
-     facility, smf(5), under the service identifier:
-
-          svc:/application/pkg/server
-
-     The mDNS mirror service is managed by the service management
-     facility, smf(5), under the service identifier:
-
-          svc:/application/pkg/dynamic-mirror
-
-     Because the depot server and mirror expect to be run by an smf(5)
-     restarter, they do not daemonize.  Error messages are generally
-     sent to standard output, or to the syslogd(1M) system.
-
-     When publishing individual package files that are greater than
-     128MB in size, filesystem-based publication must be used due to
-     publication protocol limitations.  See pkgsend(1) for more
-     information.
-
-     For controlling read access to the depot, it is suggested that
-     administrators use an HTTP reverse proxy in combination with
-     authentication methods such as client-based SSL certificate
-     access which pkg(1) natively supports.
-
-     If new package versions must be added to a public depot, it is
-     suggested that filesystem-based publication be performed instead,
-     and that the depot server process be restarted afterwards.  For
-     more information about filesystem-based publication, see
-     pkgsend(1).
-
-     Changes to configuration, or changes to package data using file-
-     system based operations require a restart of the depot server
-     process so that they can be reflected in operations and output.
-     This can be done by using one of the following methods:
-
-        * using svcadm(1M) to restart the application/pkg/server
-          instance
-
-        * sending a SIGUSR1 signal to the depot server process using
-          kill(1), which will execute a 'graceful restart' that leaves
-          the process intact, but reloads all configuration, package,
-          and search data:
-
-            kill -USR1 <pid>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkg.sysrepo.1m	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,149 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkg.sysrepo 1m "28 Jul 2011" "SunOS 5.11" "System Administration Commands"
+.SH NAME
+pkg.sysrepo \- Image Packaging System system repository configuration
+.SH SYNOPSIS
+.LP
+.nf
+pkg.sysrepo -p \fIport\fR [-c \fIcache_dir\fR] [-s \fIcache_size\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkg.sysrepo\fR is used to generate the configuration files for the Image Packaging System (IPS) system repository. \fBpkg.sysrepo\fR is called by the \fBsvc:/application/pkg/system-repository\fR Service Management Facility (SMF) service. Changes in configuration should be made to the properties in the SMF service.
+.sp
+.LP
+The system repository is responsible for providing access to the package repositories configured in a reference image through a centralized proxy. Publisher configuration changes made to that reference image are seen immediately by any clients configured to use the system repository.
+.sp
+.LP
+The system repository is primarily used in the global zone to allow non-global zones to access the repositories configured in the global zone. The SMF services \fBsvc:/application/pkg/zones-proxyd\fR and \fBsvc:/application/pkg/zones-proxy-client\fR are responsible for providing the transport between non-global zones and the global zone. This transport is only used by \fBpkg\fR(5).
+.sp
+.LP
+Note that only http, https, and v4 file repositories are supported. p5p-based file repositories or older file repository formats are not supported. See \fBpkgrepo\fR(1) for more information about repository versions.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcache_dir\fR\fR
+.ad
+.RS 17n
+.rt  
+The absolute path to a directory that should be used by the system repository for caching responses from the publishers configured.
+.sp
+By default, a file-cache is used. However, the special value \fBmemory\fR can be used to indicate the an in-memory cache should be used. The special value \fBNone\fR can be used to indicate that the system repository should not perform any caching. This setting should be configured using the \fBconfig/cache_dir\fR SMF property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIport\fR\fR
+.ad
+.RS 17n
+.rt  
+The port that the system repository should use to listen for requests. This setting should be configured using the \fBconfig/port\fR SMF property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIcache_size\fR\fR
+.ad
+.RS 17n
+.rt  
+An integer value in megabytes that defines the maximum cache size of the system repository. This setting should be configured using the \fBconfig/cache_max\fR SMF property.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fREnabling the System Repository
+.sp
+.in +2
+.nf
+$ \fBsvcadm enable svc:/application/pkg/system-repository\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+Command failed to write a valid configuration.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(1), \fBpkgdepotd\fR(1M), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkg.sysrepo.1m.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-System Administration Commands                    pkg.sysrepo(1M)
-
-
-NAME
-     pkg.sysrepo - image packaging system system repository  con-
-     figuration
-
-SYNOPSIS
-     pkg.sysrepo -p <port> [ -c cache_dir] [-s cache_size]
-           [ -w http_proxy ] [ -W https_proxy ]
-
-DESCRIPTION
-     pkg.sysrepo(1M) is used to generate the configuration  files
-     for  the  IPS  System Repository.  This command is called by
-     the  svc:/application/pkg/system-repository   SMF   service.
-     Changes in configuration should be made to the properties in
-     the SMF service.
-
-     The system repository is responsible for providing access to
-     the  package  repositories  configured  in a reference image
-     through  a  centralized  proxy.    Publisher   configuration
-     changes  made  to  that reference image will be seen immedi-
-     ately by any clients configured to use  the  system  reposi-
-     tory.
-
-     The system repository is primarily used in the  global  zone
-     to allow non-global zones to access the repositories config-
-     ured   in   the   global    zone.     The    SMF    services
-     svc:/application/pkg/zones-proxyd                        and
-     svc:/application/pkg/zones-proxy-client are responsible  for
-     providing  the  transport  between  non-global zones and the
-     global zone.  This transport is only used by pkg(5).
-
-     Note that only http, https and v4 file repositories are sup-
-     ported: p5p-based file repositories or older file-repository
-     formats are not supported. See pkgrepo(1) for more  informa-
-     tion about repository versions.
-
-OPTIONS
-     The following options are supported:
-
-
-     -c cache_dir         The absolute path to a  directory  that
-                          should be used by the system repository
-                          for caching responses from the publish-
-                          ers configured.
-
-                          By default, a file-cache is used,  how-
-                          ever, the special value 'memory' can be
-                          used  to  indicate  that  an  in-memory
-                          cache  should  be  used.   The  special
-                          value 'None' can be  used  to  indicate
-                          that  the  system repository should not
-                          perform  any  caching.   This   setting
-                          should    be   configured   using   the
-                          'config/cache_dir' SMF property.
-
-
-SunOS 5.11          Last change: 20 Jul 2011                    1
-
-
-System Administration Commands                    pkg.sysrepo(1M)
-
-
-
-     -p port              The port which  the  system  repository
-                          should  use  on  which  to  listen  for
-                          requests.  This setting should be  con-
-                          figured  using  the  'config/port'  SMF
-                          property.
-
-
-     -s cache_size        An integer value,  expressed  in  mega-
-                          bytes  which  defines the maximum cache
-                          size of  the  system  repository.  This
-                          setting  should be configured using the
-                          'config/cache_max' SMF property.
-
-
-     -w http_proxy        A     string      of      the      form
-                          scheme://hostname[:port]  which defines
-                          a web proxy that the system  repository
-                          should use to access http-based package
-                          repositories. This  setting  should  be
-                          configured           using          the
-                          'config/http_proxy' SMF property.
-
-
-
-     -W https_proxy       A     string      of      the      form
-                          scheme://hostname[:port]  which defines
-                          a web proxy that the system  repository
-                          should  use to access https-based pack-
-                          age repositories. This  setting  should
-                          be       configured      using      the
-                          'config/https_proxy' SMF property.
-
-
-
-
-
-
-EXAMPLES
-     Example 1:  Enabling the system repository
-
-
-       $ svcadm enable svc:/application/pkg/system-repository
-
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0   Command succeeded.
-
-
-     1   Command failed to write a valid configuration.
-
-
-     2   Invalid command line options were specified.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the  following  attri-
-     butes:
-
-SunOS 5.11          Last change: 20 Jul 2011                    2
-
-
-System Administration Commands                    pkg.sysrepo(1M)
-
-
-
-  /usr/lib/pkg.sysrepo
-          ____________________________________________________________
-         |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-         |_____________________________|_____________________________|
-         | Availability                | pkg:/package/pkg            |
-         |_____________________________|_____________________________|
-         | Interface Stability         | None / Under Development    |
-         |_____________________________|_____________________________|
-
-
-SEE ALSO
-     pkg(1), pkg.depotd(1M), pkg(5)
-
-
-NOTES
-     The image packaging system is an under-development  feature.
-     Command  names,  invocation, formats, and operations are all
-     subject to change.  Development is hosted in the OpenSolaris
-     community at:
-
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
-
-
-
-SunOS 5.11          Last change: 20 Jul 2011                    3
-
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgdepend.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,384 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgdepend 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgdepend \- Image Packaging System dependency analyzer
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgdepend [\fIoptions\fR] \fIcommand\fR [\fIcmd_options\fR] [\fIoperands\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/pkgdepend generate [-IMm] -d \fIdir\fR [-d \fIdir\fR]
+    [-D \fIname\fR=\fIvalue\fR] [-k \fIpath\fR] \fImanifest_path\fR
+.fi
+
+.LP
+.nf
+/usr/bin/pkgdepend resolve [-moSv] [-d \fIoutput_dir\fR]
+    [-s \fIsuffix\fR] \fImanifest_path\fR ...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgdepend\fR is used to generate and resolve dependencies for packages. A package might depend on files from other packages. \fBpkgdepend\fR is typically used in two passes: file dependency generation and file-to-package resolution.
+.sp
+.LP
+The \fBgenerate\fR subcommand examines the content of a package and determines what external files the package needs.
+.sp
+.LP
+The \fBresolve\fR subcommand takes the list of files from the \fBgenerate\fR step, and searches a reference set of packages to determine the names of the packages that contain those dependent files. The reference set of packages that are searched for the dependent files are the packages that are currently installed on the publisher's system.
+.sp
+.LP
+Several components of delivered files are used as sources of dependency information:
+.sp
+.ne 2
+.mk
+.na
+\fBELF\fR
+.ad
+.RS 14n
+.rt  
+ELF headers in delivered files are analyzed for dependency information, with the \fB-k\fR and \fB-D\fR options modifying the information obtained. For more details on ELF dependencies, see \fBldd\fR(1) and the \fILinker and Libraries Guide\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBScripts\fR
+.ad
+.RS 14n
+.rt  
+Shell scripts that contain \fB#!\fR lines referencing an interpreter result in a dependency on the package that delivers that interpreter.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBPython\fR
+.ad
+.RS 14n
+.rt  
+Python scripts are first analyzed as scripts. In addition, any imports the script declares might also serve as sources of dependency information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBHard links\fR
+.ad
+.RS 14n
+.rt  
+Hard links in manifests result in a dependency on the package that delivers the link target.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBSMF\fR
+.ad
+.RS 14n
+.rt  
+Delivered SMF service manifests that include \fBrequire_all\fR dependencies result in dependencies on the packages that deliver the SMF manifests that provide those FMRIs.
+.RE
+
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR \fIdir\fR\fR
+.ad
+.RS 16n
+.rt  
+Operate on the image rooted at directory \fIdir\fR. If no directory was specified or determined based on environment, the default is /. See the "Environment Variables" section for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--help\fR or \fB-?\fR\fR
+.ad
+.RS 16n
+.rt  
+Displays a usage message.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBgenerate\fR [\fB-IMm\fR] \fB-d\fR \fIdir\fR [\fB-d\fR \fIdir\fR] [\fB-D\fR \fIname\fR=\fIvalue\fR] [\fB-k\fR \fIpath\fR] \fImanifest_path\fR
+.ad
+.sp .6
+.RS 4n
+Produce the dependencies on files of the manifest specified by \fImanifest_path\fR.
+.sp
+With \fB-I\fR, show the dependencies that are satisfied within the given manifest.
+.sp
+With \fB-M\fR, display a list of file types that could not be analyzed.
+.sp
+With \fB-m\fR, repeat the original manifest with any discovered dependencies added after.
+.sp
+With \fB-d\fR, add \fIdir\fR to a list of directories to search for the manifest's files.
+.sp
+For each \fB-D\fR, add the \fIvalue\fR as a way to expand the token \fIname\fR in run paths for ELF file dependencies.
+.sp
+For each \fB-k\fR, add the \fIpath\fR to the list of run paths to search for kernel modules. Using the \fB-k\fR argument removes the default paths, which are \fB/kernel\fR and \fB/usr/kernel\fR.
+.sp
+Run paths such as those specified by the \fB-k\fR option can also be specified per action or per manifest by using the action or manifest attribute \fBpkg.depend.runpath\fR. The value of the \fBpkg.depend.runpath\fR attribute is a colon-separated string of the paths to use.
+.sp
+The use of \fB-k\fR is overridden by any \fBpkg.depend.runpath\fR attributes set in the manifest or action.
+.sp
+The special token \fB$PKGDEPEND_RUNPATH\fR can be used as one component of the \fBpkg.depend.runpath\fR attribute value in order to include the standard system run path for the file being analyzed.
+.sp
+In some cases, you might want to prevent automatic generation of dependencies. For example, if a package delivers a sample Python script that imports a set of modules, those modules imported by the sample script are not dependencies for the package that delivers the sample script. Use the action or manifest attribute \fBpkg.depend.bypass-generate\fR to prevent generating dependencies against the specified files.
+.sp
+The \fBpkg.depend.bypass-generate\fR values are \fBperl5\fR regular expressions that match file names. The regular expressions are implicitly anchored at the start and end of the file path. The value given in the following example matches \fBthis/that\fR but does not match \fBsomething/this/that/the/other\fR.
+.sp
+.in +2
+.nf
+pkg.depend.bypass-generate=this/that
+.fi
+.in -2
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBresolve\fR [\fB-moSv\fR] [\fB-d\fR \fIoutput_dir\fR]     [\fB-s\fR \fIsuffix\fR] \fImanifest_path\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Transform dependencies on files into dependencies on the packages that deliver those files. Dependencies are first resolved against the manifests given on the command line and then against the packages installed on the system. By default, the dependencies for each manifest are placed in a file named \fB\fImanifest_path\fR.res\fR.
+.sp
+With \fB-m\fR, repeat the manifest, with any dependencies produced by the \fBgenerate\fR step removed, before adding the resolved dependencies.
+.sp
+With \fB-o\fR, write the results to standard output. This option is intended for human consumption. Appending this output to a file might result in an invalid manifest. The \fB-d\fR or \fB-s\fR options are strongly recommended instead of \fB-o\fR for use in a pipe line for manifest processing.
+.sp
+With \fB-d\fR, write the resolved dependencies for each manifest provided in a separate file in \fIoutput_dir\fR. By default, each file has the same base name as the manifest that was the source of the dependencies written to that file.
+.sp
+With \fB-s\fR, for each output file, append \fIsuffix\fR to the base name of the file that was the source of the resolved dependencies. A "." is prepended to \fIsuffix\fR if it is not provided.
+.sp
+With \fB-S\fR, only resolve against the manifests given on the command line and not against the manifests installed on the system.
+.sp
+With \fB-v\fR, include additional package dependency debugging metadata.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRGenerate Dependencies
+.sp
+.LP
+Generate the dependencies for the manifest written in \fBfoo\fR, whose content directory is in \fB\&./bar/baz\fR, and store the results in \fBfoo.fdeps.\fR
+
+.sp
+.in +2
+.nf
+$ \fBpkgdepend generate -d ./bar/baz foo > foo.fdeps\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRResolve Dependencies
+.sp
+.LP
+Resolve the file dependencies in \fBfoo.fdeps\fR and \fBbar.fdeps\fR against each other and against the packages currently installed on the system.
+
+.sp
+.in +2
+.nf
+$ \fBpkgdepend resolve foo.fdeps bar.fdeps\fR
+$ \fBls *.res\fR
+foo.fdeps.res    bar.fdeps.res
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRGenerate and Resolve Dependencies For Two Manifests
+.sp
+.LP
+Generate the file dependencies for two manifests (\fBfoo\fR and \fBbar\fR) and retain all the information in the original manifests. Then resolve the file dependencies and place the resulting manifests in \fB\&./res\fR. These resulting manifests can be used with \fBpkgsend publish\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgdepend generate -d /proto/foo -m foo > ./deps/foo\fR
+$ \fBpkgdepend generate -d /proto/bar -m bar > ./deps/bar\fR
+$ \fBpkgdepend resolve -m -d ./res ./deps/foo ./deps/bar\fR
+$ \fBls ./res\fR
+foo    bar
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRAdd Values To Tokens For ELF File Dependencies
+.sp
+.LP
+Replace all \fBPLATFORM\fR tokens in the run paths in ELF files with \fBsun4v\fR and \fBsun4u\fR while generating the dependencies for the manifest written in \fBfoo\fR whose content directory is in /.
+
+.sp
+.in +2
+.nf
+$ \fBpkgdepend generate -d / -D 'PLATFORM=sun4v' -D 'PLATFORM=sun4u' foo\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRSpecify a Kernel Module Directory
+.sp
+.LP
+Specify \fB/kmod\fR as the directory in which to find kernel modules when generating the dependencies for the manifest written in \fBfoo\fR whose content directory is in /.
+
+.sp
+.in +2
+.nf
+$ \fBpkgdepend generate -d / -k /kmod foo\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRBypass Dependency Generation
+.sp
+.LP
+Append \fBopt/python\fR to the standard Python run path for a given Python script, and bypass dependency generation against all Python modules called \fBtest\fR for a file delivered as \fBopt/python/foo/file.py\fR.
+
+.sp
+.LP
+Avoid generating dependencies against any file delivered in \fBusr/lib/python2.6/vendor-packages/xdg\fR.
+
+.sp
+.in +2
+.nf
+$ \fBcat manifest.py\fR
+set name=pkg.fmri value=pkg:/[email protected],1.0
+set name=pkg.summary value="My test package"
+dir path=opt mode=0755 group=sys owner=root
+dir path=opt/python mode=0755 group=sys owner=root
+dir path=opt/python/foo mode=0755 group=sys owner=root
+file NOHASH path=opt/python/__init__.py mode=0644 group=sys owner=root
+file NOHASH path=opt/python/foo/__init__.py mode=0644 group=sys owner=root
+#
+# Add runpath and bypass-generate attributes:
+#
+file NOHASH path=opt/python/foo/file.py mode=0644 group=sys owner=root \e
+    pkg.depend.bypass-generate=^.*/test.py.*$ \e
+    pkg.depend.bypass-generate=^.*/testmodule.so$ \e
+    pkg.depend.bypass-generate=^.*/test.so$ \e
+    pkg.depend.bypass-generate=^usr/lib/python2.6/vendor-packages/xdg/.*$ \e
+    pkg.depend.runpath=$PKGDEPEND_RUNPATH:/opt/python
+
+$ \fBpkgdepend generate -d proto manifest.py\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPKG_IMAGE\fR\fR
+.ad
+.RS 13n
+.rt  
+Specifies the directory that contains the image to use for package operations. This value is ignored if \fB-R\fR is specified.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Everything worked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkgdepend.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-User Commands                                             pkgdepend(1)
-
-
-NAME
-     pkgdepend - image packaging system dependency analyzer
-
-SYNOPSIS
-     /usr/bin/pkgdepend [options] command [cmd_options] [operands]
-
-     /usr/bin/pkgdepend generate [-IMm] -d dir [...] [-D name=value]
-         [-k path] manifest_path
-
-     /usr/bin/pkgdepend resolve [-dmosSv] manifest_path ...
-
-DESCRIPTION
-     pkgdepend(1) is used to generate and resolve dependencies for
-     packages.  A package may depend upon files from other packages.
-     pkgdepend(1) is typically used in two passes:  file dependency
-     generation and file-to-package resolution.
-
-     The generate subcommand examines a package's content and discovers
-     what external files the package needs.
-
-     The resolve subcommand takes the list of files from the generate
-     step, and figures out the name of the packages, limited to some
-     reference set of packages, that contain the dependent files.
-     Currently, the reference set of packages is defined as the packages
-     currently installed on the publisher's system.
-
-     Several aspects of delivered files are used as sources of
-     dependency information:
-
-     ELF             ELF headers in delivered files are analyzed for
-                     dependency information, with the -k and -D options
-                     modifying the information obtained.  For more
-                     details on ELF dependencies, please see ldd(1)
-                     and the Solaris Linker and Libraries Guide.
-
-     Scripts         Shell scripts that contain '#!' lines referencing
-                     an interpreter will result in a dependency on the
-                     package that delivers that interpreter.
-
-     Python          Python scripts are first analyzed as scripts.  In
-                     addition, any imports the script declares may also
-                     serve as sources of dependency information.
-
-     Hard links      Hard links in manifests will result in a
-                     dependency on the package that delivers the link
-                     target.
-
-     SMF             SMF service manifests delivered that include
-                     "require_all" dependencies will result in
-                     dependencies on the packages that deliver the SMF
-                     manifests that provide those FMRIs.
-
-OPTIONS
-     The following options are supported:
-
-     -R dir
-          Operate on the image rooted at dir.  If no dir was specified or
-          determined based on environment, the default is '/'.  See also
-          ENVIRONMENT VARIABLES.
-
-     --help or -?
-          Displays a usage message.
-
-SUBCOMMANDS
-     The following subcommands are supported:
-
-     generate [-IMm] -d dir [-d dir] [-D name=value] [-k path] manifest_path
-          Produce the dependencies on files of the manifest specified by
-          manifest_path.
-
-          With -I, the dependencies which are satisfied within the
-          manifest given will be shown.
-
-          With -M, a list of those file types which could not be
-          analyzed will be displayed.
-
-          With -m, the original manifest will be repeated with any
-          discovered dependencies added after.
-
-          With -d, add the directory provided to a list of directories
-          to search for the manifest's files.
-
-          For each -D, add the 'value' as a way to expand the token
-          'name' in run paths for elf file dependencies.
-
-          For each -k, add the path given to the list of run paths
-          declared in which to look for kernel modules.  Using the -k
-          argument removes the default paths which are /kernel and
-          /usr/kernel.
-
-          Run paths, such as those specified by the -k option, can also
-          be specified on per-action or per-manifest basis using the
-          action or manifest attribute "pkg.depend.runpath" with a
-          single value set to a colon-separated string of the paths
-          that should be used.
-
-          The use of -k is overridden by any pkg.depend.runpath
-          attributes set in the manifest or action.
-
-          The special token "$PKGDEPEND_RUNPATH" can be used as one
-          component of the pkg.depend.runpath attribute value in order
-          to include the standard system run path for the file
-          being analyzed.
-
-          In some cases, it may be necessary to prevent automatic
-          generation of dependencies.  An example where this may be
-          needed is if a package delivers a sample Python script that
-          imports a set of modules: those modules may not be considered
-          to be real dependencies for that package.
-
-          The action or manifest attribute "pkg.depend.bypass-generate"
-          can be used to indicate that we should not generate dependencies
-          against given files.
-
-          pkg.depend.bypass-generate values are perl5 regular expressions,
-          used to match file names.  The regular expressions are implicitly
-          anchored at the start and end of the file path,
-
-          eg.
-               pkg.depend.bypass-generate=this/that
-          matches:
-               this/that
-          but not:
-               something/this/that/the/other
-
-     resolve [-mov] [-d output_dir] [-s suffix] manifest_path ...
-          Transform dependencies on files into dependencies on the
-          packages which deliver those files.  Dependencies are first
-          resolved against the manifests given on the command line and
-          then against the packages installed on the system.  By
-          default, the dependencies for each manifest are placed in a
-          file whose name is determined by appending ".res" to the
-          manifest's path.
-
-          With -m, repeat the manifest, with any dependencies produced
-          by the generate step removed, before adding the resolved
-          dependencies.
-
-          With -o, write the results to standard output.  This option is
-          intended for human consumption.  If its output is appended to a file,
-          it may result in an invalid manifest.  For use in a pipe line for
-          manifest processing, using -d or -s instead of -o is strongly
-          recommended.
-
-          With -d, write the resolved dependencies for each manifest
-          provided in a separate file in output_dir.  By default, each
-          file will have the same basename as the manifest that was the
-          source of the dependencies written to that file.
-
-          With -s, for each output file, append the given suffix (a "."
-          will be added to the argument if not provided) to the basename
-          of the file that was the source of the resolved dependencies.
-
-          With -S, only resolve against the manifests given on the command
-          line and not against those installed on the system.
-
-          With -v, include additional package dependency debugging
-          metadata.
-
-EXAMPLES
-     Example 1: Generate the dependencies for the manifest written in
-     foo, whose content directory is in ./bar/baz and store the results
-     in foo.fdeps.
-
-     $ pkgdepend generate foo ./bar/baz > foo.fdeps
-
-     Example 2: Resolve the file dependencies in foo.fdeps, and
-     bar.fdeps against each other, and the packages currently installed
-     on the system.
-
-     $ pkgdepend resolve foo.fdeps bar.fdeps
-     $ ls *.res foo.fdeps.res bar.fdeps.res
-
-     Example 3: Generate the file dependencies for two manifests (foo
-     and bar) and retain all the information in the original manifests.
-     Then resolve the file dependencies and place the resulting
-     manifests, which could be used with pkgsend publish, in ./res
-
-     $ pkgdepend generate -m foo > ./deps/foo
-     $ pkgdepend generate -m bar > ./deps/bar
-     $ pkgdepend resolve -m -d ./res ./deps/foo ./deps/bar
-     $ ls ./res foo     bar
-
-     Example 4: Replace all $PLATFORM tokens in the run paths in elf
-     files with sun4v and sun4u while generating the dependencies for the
-     manifest written in foo whose content directory is in /.
-
-     $ pkgdepend generate -D 'PLATFORM=sun4v' -D 'PLATFORM=sun4u' foo /
-
-     Example 5: Use /kmod as the directory in which to find kernel
-     modules when generating the dependencies for the manifest written
-     in foo whose content directory is in /.
-
-     $ pkgdepend generate -k /kmod foo /
-
-     Example 6: Append opt/python to the standard Python run path for a given
-     python script, and bypass dependency generation against all Python
-     modules called "test" for a file delivered as opt/python/foo/file.py.
-
-     We also avoid generating dependencies against any file delivered in
-     usr/lib/python2.6/vendor-packages/xdg.
-
-     $ cat manifest.py
-     set name=pkg.fmri value=pkg:/[email protected],1.0
-     set name=pkg.summary value="My test package"
-     dir path=opt mode=0755 group=sys owner=root
-     dir path=opt/python mode=0755 group=sys owner=root
-     dir path=opt/python/foo mode=0755 group=sys owner=root
-     file NOHASH path=opt/python/__init__.py mode=0644 group=sys owner=root
-     file NOHASH path=opt/python/foo/__init__.py mode=0644 group=sys owner=root
-     #
-     # We add runpath and bypass-generate attributes below:
-     #
-     file NOHASH path=opt/python/foo/file.py mode=0644 group=sys owner=root \
-         pkg.depend.bypass-generate=^.*/test.py.*$ \
-         pkg.depend.bypass-generate=^.*/testmodule.so$ \
-         pkg.depend.bypass-generate=^.*/test.so$ \
-         pkg.depend.bypass-generate=^usr/lib/python2.6/vendor-packages/xdg/.*$ \
-         pkg.depend.runpath=$PKGDEPEND_RUNPATH:/opt/python
-
-     $ pkgdepend generate -d proto manifest.py
-
-ENVIRONMENT VARIABLES
-     PKG_IMAGE
-          Specifies the directory containing the image to use for package
-          operations; ignored if -R is specified.
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Everything worked.
-
-     1     Something bad happened.
-
-     2     Invalid command line options were specified.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | SUNWipkg                    |
-    |                             | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     attributes(5), pkg(5)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgdiff.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,185 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgdiff 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgdiff \- compare package manifests
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgdiff [-i \fIattribute\fR ...] [-o \fIattribute\fR]
+    [-v \fIname\fR=\fIvalue\fR ...] \fIfile1\fR \fIfile2\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgdiff\fR compares two package manifests and reports differences. \fBpkgdiff\fR sorts each manifest and action into a consistent order before comparison.
+.sp
+.LP
+Output is in the following form:
+.sp
+.ne 2
+.mk
+.na
+\fB+ \fIcomplete_action\fR\fR
+.ad
+.RS 21n
+.rt  
+This action is in \fIfile2\fR but not in \fIfile1\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB- \fIcomplete_action\fR\fR
+.ad
+.RS 21n
+.rt  
+This action is in \fIfile1\fR but not in \fIfile2\fR.
+.RE
+
+.sp
+.in +2
+.nf
+\fIactionname\fR \fIkeyvalue\fR [\fIvariant values, if any\fR]
+.fi
+.in -2
+
+.sp
+.ne 2
+.mk
+.na
+\fB- \fIattribute1\fR=\fIvalue1\fR\fR
+.ad
+.RS 23n
+.rt  
+This \fIattribute\fR,\fIvalue\fR is in \fIfile1\fR but not in \fIfile2\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB+ \fIattribute2\fR=\fIvalue2\fR\fR
+.ad
+.RS 23n
+.rt  
+This \fIattribute\fR,\fIvalue\fR is in \fIfile2\fR but not in \fIfile1\fR.
+.RE
+
+.sp
+.LP
+Actions with different variants but the same type and key attribute value are treated as separate actions for purposes of comparison. Thus, actions that change attributes are shown in their complete form rather than as attribute changes.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR \fIattribute\fR\fR
+.ad
+.RS 17n
+.rt  
+Ignore \fIattribute\fR if present during comparisons. File hash values can be ignored with \fB-i\fR \fIhash\fR. This option cannot be used with the \fB-o\fR option. This option can be repeated.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIattribute\fR\fR
+.ad
+.RS 17n
+.rt  
+Only report differences in \fIattribute\fR. This option cannot be used with the \fB-i\fR option. This option elides any action changes that do not affect \fIattribute\fR on an action.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR \fIname\fR=\fIvalue\fR\fR
+.ad
+.RS 17n
+.rt  
+Only compute differences for this variant value. For example, only compute differences for \fBarch=sparc\fR. This variant tag is removed for all actions before comparison. Only one value can be specified per variant. This option can be repeated for different variants.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+No differences were found.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+Differences were found.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>1\fR\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkgdiff.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-User Commands                                            pkgdiff(1)
-
-
-NAME
-     pkgdiff - compare package manifests
-
-SYNOPSIS
-     /usr/bin/pkgdiff [-i attribute ...] [-o attribute] [-v name=value ...]
-         file1 file2
-
-DESCRIPTION
-     pkgdiff compares two package manifests and reports on differences.
-     pkgdiff sorts each manifest & action into a consistent order before
-     comparison.
-
-     Output is of the form:
-
-     + <complete action> if this action is in file2 but not in file1
-     - <complete action> if this action is in file1 but not in file2
-
-     actionname keyvalue <variant values, if any>
-       - attribute1=value1         if this attribute,value is in file1
-                                   but not in file2
-       + attribute2=value2         if this attribute,value is in file2
-                                   but not in file1
-
-     Note that actions with different variants but the same type and key
-     attribute value are treated as separate actions for purposes of
-     comparison, so actions changing attributes will appear in their
-     complete form rather than as attribute changes.
-
-OPTIONS
-
-     -i attribute    Ignore this attribute if present during comparisons
-                     File hash values may be ignored with -i hash.  May
-                     not be used with -o option.  This option may be
-                     repeated.
-
-     -o attribute    Only report differences in this attribute.  May
-                     not be used with -i option.  Will elide any action
-                     changes that don't affect this attribute on an
-                     action.
-
-     -v name=value   Only compute differences for this variant value.
-                     An example would be -v arch=sparc.  Note that this
-                     variant tag will be removed for all actions before
-                     comparison, and that only one value may be specified
-                     per variant, but this option may be repeated for
-                     different variants.
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     No differences were found
-
-     1     Differences were found
-
-     >1    An error occurred
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | SUNWipkg                    |
-    |                             | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     attributes(5), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgfmt.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,133 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgfmt 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgfmt \- format a package manifest
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgfmt [-c|-d|-u] [\fIpackage-manifest-file\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgfmt\fR without the \fB-c\fR or \fB-d\fR options formats a package manifest in a consistent manner, including wrapping lines at 80 characters, sorting actions by type, and sorting attributes. Lines that do not parse into actions (such as macros, comments, or transforms) do not appear in sorted order.
+.sp
+.LP
+If no arguments are given, \fBpkgfmt\fR reads \fBstdin\fR until EOF, and then writes the formatted manifest to \fBstdout\fR. Any manifests specified on the command line are formatted in place.
+.sp
+.LP
+\fBpkgfmt\fR with the \fB-c\fR option checks whether the manifests are formatted in \fBpkgfmt\fR style. The \fB-d\fR option displays the differences if the file is not properly formatted.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR\fR
+.ad
+.RS 6n
+.rt  
+Check whether the manifest is formatted in the \fBpkgfmt\fR style.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR\fR
+.ad
+.RS 6n
+.rt  
+Display manifest differences from the formatted version in unified form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-u\fR\fR
+.ad
+.RS 6n
+.rt  
+Do not wrap lines at 80 characters. This option is useful for applying traditional text processing tools to package manifests.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+The \fB-c\fR or \fB-d\fR options were specified, and one or more manifests are not in \fBpkgfmt\fR normal form, or an error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkgfmt.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-User Commands                                            pkgfmt(1)
-
-
-NAME
-     pkgfmt - format a package manifest
-
-SYNOPSIS
-     /usr/bin/pkgfmt [-c|-d|-u] [package-manifest-file]
-
-
-DESCRIPTION
-
-     pkgfmt without the -c or -d options will format a package manifest in
-     a consistent manner, wrapping lines at 80 characters, sorting actions
-     by type, sorting attributes, etc.  pkgfmt tries to be robust in the
-     case of lines that don't parse into actions (such as macros, comments,
-     or transforms); such lines will not appear in sorted order.
-
-     If no arguments are given, pkgfmt will read stdin until EOF, and then
-     write the formatted manifest to stdout.  Any manifests specified on
-     the command line are formatted in place.
-
-     pkgfmt with the -c option will check to make sure the manifest(s) are
-     formatted in pkgfmt style; the -d option will display those
-     differences if the file is not properly formatted.
-
-OPTIONS
-     -c   Check if the manifest is formatted in the pkgfmt style.
-
-     -d   Display manifest differences from the formatted version in
-          unified form.
-
-     -u   Do not wrap lines at 80 characters; this is useful for
-          applying traditional text processing tools to package
-          manifests.
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Command succeeded.
-
-     1     The -c or -d options were specified, and one or more
-           manifests are not in pkgfmt-normal form, or an error
-           occurred.
-
-     2     Invalid command line options were specified.
-
-     99    An unanticipated exception occurred.
-
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     attributes(5), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkglint.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,392 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkglint 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkglint \- Image Packaging System package lint
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkglint [-c \fIdir\fR] [-r \fIuri\fR] [-p \fIregexp\fR]
+    [-f \fIrcfile\fR] [-b \fIbuild_no\fR] [-v]
+    [-l \fIuri\fR] | \fImanifest\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkglint -L [-v]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkglint\fR runs a series of checks on one or more package manifests, optionally referencing another repository.
+.sp
+.LP
+\fBpkglint\fR should be used during the package authoring process, prior to package publication. \fBpkglint\fR performs exhaustive testing on the manifests that might be too expensive to perform during normal operation of \fBpkgsend\fR(1) or \fBpkg.depotd\fR(1M). \fBpkglint\fR checks include tests for duplicate actions, missing attributes, and unusual file permissions.
+.sp
+.LP
+Manifests for linting can be passed as a space-separated list of local files on the command line, or manifests can be retrieved from a repository.
+.sp
+.LP
+When retrieving manifests from repositories, on first run \fBpkglint\fR creates and populates \fBpkg\fR(5) user images in the specified cache directory. If the \fB-r\fR option is supplied, a user image  named \fIcache_dir\fR\fB/ref_image\fR is created for the reference repository. If the \fB-l\fR option is supplied, a user image named \fIcache_dir\fR\fB/lint_image\fR is created for the lint repository. No content is installed in these images. These images are only used by \fBpkglint\fR to retrieve manifests from the repositories.
+.sp
+.LP
+Subsequent invocations of \fBpkglint\fR can reuse the cache directory and can omit any \fB-r\fR or \fB-l\fR arguments.
+.sp
+.LP
+\fBpkglint\fR provides limited support for configuring publishers in the cache directory. Use \fBpkg\fR(1) to perform more complex publisher configuration on these images.
+.sp
+.LP
+\fBpkglint\fR allows package authors to bypass checks for a given manifest or action. A manifest or action that contains the attribute \fBpkg.linted\fR set to \fBTrue\fR does not produce any lint output for that manifest or action.
+.sp
+.LP
+More granular \fBpkg.linted\fR settings can be made using substrings of \fBpkglint\fR check names. For example, \fBpkg.linted.\fIcheck\fR.\fIid\fR\fR set to \fBTrue\fR bypasses all checks with the name \fB\fIcheck\fR.\fIid\fR\fR for the given manifest or action.
+.sp
+.LP
+The behavior of \fBpkglint\fR can be configured by specifying a\fBpkglintrc\fR file. By default, \fBpkglint\fR searches in \fB/usr/share/lib/pkg/pkglintrc\fR and \fB$HOME/.pkglintrc\fR for configuration options. Use the \fB-f\fR option to specify a different configuration file.
+.sp
+.LP
+During the lint run, any errors or warnings encountered are printed to \fBstderr\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR \fIbuild_no\fR\fR
+.ad
+.RS 18n
+.rt  
+Specify a build number used to narrow the list of packages used during linting from lint and reference repositories. If no \fB-b\fR option is specified, the latest versions of packages are used. See also the \fBversion.pattern\fR configuration property.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcache_dir\fR\fR
+.ad
+.RS 18n
+.rt  
+Specify a local directory used for caching package metadata from the lint and reference repositories.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR \fIlint_uri\fR\fR
+.ad
+.RS 18n
+.rt  
+Specify a URI representing the location of the lint repository. Both HTTP and file system based publication are supported. If you specify \fB-l\fR, then you must also specify \fB-c\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 18n
+.rt  
+List the known and excluded lint checks and then exit. Display the short name and description of each check. When combined with the \fB-v\fR flag, display the method that implements the check instead of the description.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-f\fR \fIconfig_file\fR\fR
+.ad
+.RS 18n
+.rt  
+Configure the \fBpkglint\fR session using the \fIconfig_file\fR configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-p\fR \fIregexp\fR\fR
+.ad
+.RS 18n
+.rt  
+Specify a regular expression used to narrow the list of packages to be checked from the lint repository. All manifests from the reference repository are loaded  (assuming they match the value for \fB-b\fR, if supplied), ignoring this pattern.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIrepo_uri\fR\fR
+.ad
+.RS 18n
+.rt  
+Specify a URI representing the location of the reference repository. If you specify \fB-r\fR, then you must also specify \fB-c\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 18n
+.rt  
+Run \fBpkglint\fR in a verbose mode, overriding any \fBlog_level\fR settings in the configuration file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--help\fR or \fB-?\fR\fR
+.ad
+.RS 18n
+.rt  
+Display a usage message.
+.RE
+
+.SH FILES
+.sp
+.LP
+The \fBpkglintrc\fR configuration file takes the following key/value arguments:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBlog_level\fR\fR
+.ad
+.RS 24n
+.rt  
+The minimum level at which to emit lint messages. Lint messages lower than this level are discarded. The default value is \fBINFO\fR.
+.sp
+Log levels in order of least to most severe are \fBDEBUG\fR, \fBINFO\fR, \fBWARNING\fR, \fBERROR\fR, and \fBCRITICAL\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdo_pub_checks\fR\fR
+.ad
+.RS 24n
+.rt  
+If \fBTrue\fR, perform checks that might only make sense for published packages. The default value is \fBTrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkglint.ext.\fR*\fR
+.ad
+.RS 24n
+.rt  
+The plugin mechanism of \fBpkglint\fR allows for additional lint modules to be added at runtime. Any key that starts with \fBpkglint.ext.\fR takes a value that must be a fully-specified Python module. See the "Developers" section for more information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBpkglint.exclude\fR\fR
+.ad
+.RS 24n
+.rt  
+A space-separated list of fully specified Python modules, classes, or function names to omit from the set of checks performed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBuse_progress_tracker\fR\fR
+.ad
+.RS 24n
+.rt  
+If \fBTrue\fR, use a progress tracker when iterating over manifests during lint runs. The default value is \fBTrue\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBversion.pattern\fR\fR
+.ad
+.RS 24n
+.rt  
+A version pattern, used when specifying a build number to lint against (\fB-b\fR). If not specified in the configuration file, the \fB-b\fR option uses the pattern \fB*,5.11-0.\fR, matching all components of the 5.11 build, with a branch prefix of 0.
+.RE
+
+.SH DEVELOPERS
+.sp
+.LP
+To extend the set of checks performed by \fBpkglint\fR, subclass \fBpkg.lint.base.Checker\fR and its subclasses, \fBManifestChecker\fR, \fBActionChecker\fR, and \fBContentChecker\fR. Add the Python module name that contains those classes to a new \fBpkglint.ext.\fR key in the configuration file.
+.sp
+.LP
+Instances of those new subclasses are created by \fBpkglint\fR on startup. Methods inside each subclass with the special keyword argument \fBpkglint_id\fR are invoked during the course of the lint session. Those methods should have the same signature as the corresponding \fBcheck()\fR method in the super class. Methods should also be assigned a \fBpkglint_desc\fR attribute, which is used as the description printed by \fBpkglint -L\fR.
+.sp
+.LP
+Parameters are available to \fBChecker\fR subclasses, allowing them to tune their behavior. The recommended parameter naming convention is \fB\fIpkglint_id\fR.\fIname\fR\fR. Parameter values can be stored in the configuration file, or accessed in manifests or actions retrieved using the \fBLintEngine.get_param()\fR method. When accessing parameters from the manifest, the prefix \fBpkg.lint\fR is prepended to the key name to ensure that \fBpkglint\fR parameters do not overlap with any existing action or manifest values.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRFirst Run on a Particular Repository
+.sp
+.LP
+Running a \fBpkglint\fR session for the first time on a given repository.
+
+.sp
+.in +2
+.nf
+$ \fBpkglint -c /space/cache -r http://localhost:10000 mymanifest.mf\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSubsequent Run on the Same Repository
+.sp
+.LP
+A subsequent run against the same repository used in Example 1.
+
+.sp
+.in +2
+.nf
+$ \fBpkglint -c /space/cache mymanifest-fixed.mf\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUsing a Lint Repository With a Narrowed Manifest Set
+.sp
+.LP
+Running a \fBpkglint\fR session with a lint repository and specifying a subset of manifests to check.
+
+.sp
+.in +2
+.nf
+$ \fBpkglint -c /space/othercache -l http://localhost:10000 \e\fR
+\fB-p '.*firefox.*'\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRSpecifying a Build
+.sp
+.LP
+Running a \fBpkglint\fR session against a given build in verbose mode.
+
+.sp
+.in +2
+.nf
+$ \fBpkglint -c /space/cache -r http://localhost:10000 \e\fR
+\fB-l http://localhost:12000 -b 147 -v\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRModifying a Configuration File
+.sp
+.LP
+A configuration file with a new lint module, excluding some checks.
+
+.sp
+.in +2
+.nf
+$ \fBcat ~/.pkglintrc\fR
+[pkglint]
+
+log_level = DEBUG
+# log_level = INFO
+
+pkglint.ext.mycheck = org.timf.mychecks
+pkglint.ext.opensolaris = pkg.lint.opensolaris
+pkglint.exclude: pkg.lint.opensolaris.OpenSolarisActionChecker
+pkg.lint.pkglint.PkgActionChecker.unusual_perms pkg.lint.pkglint.PkgManifestChecker
+pkg.lint.opensolaris.OpenSolarisManifestChecker
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+One or more lint checks emitted output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(1), \fBpkg.depotd\fR(1M), \fBpkgsend\fR(1), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkglint.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-
-
-
-User Commands                                          pkglint(1)
-
-
-
-NAME
-     pkglint - image packaging system package lint
-
-SYNOPSIS
-     /usr/bin/pkglint [ -c dir ] [ -r uri ] [ -p regexp ]
-                      [ -f rcfile ] [ -b build_no ] [ -v ]
-                      [ -l uri ] | manifest ...
-     /usr/bin/pkglint -L [ -v ]
-
-
-DESCRIPTION
-     pkglint(1) runs a series of checks on one  or  more  package
-     manifests, optionally referencing another repository.
-
-     pkglint should be used during the package authoring process,
-     prior  to  invoking pkgsend(1) on a set of manifests to per-
-     form exhaustive testing on the  packages  that  may  be  too
-     expensive  to  perform during normal operation of pkgsend(1)
-     or pkg.depotd(1M).  The checks include tests  for  duplicate
-     actions, missing attributes and unusual file permissions.
-
-     Manifests for linting can be  passed  as  a  space-separated
-     list of local files on the command line, or can be retrieved
-     from a repository.
-
-     If using repositories, on first-run, pkglint will create and
-     populate pkg(5) user-images in the supplied cache directory,
-     one for the reference repository, if the -r option  is  sup-
-     plied,  and one for the lint repository, if the -l option is
-     supplied.  No content is installed in these images, they are
-     only used by pkglint(1) to retrieve manifests from the repo-
-     sitories.   The  reference  and  lint   images   are   named
-     <cache_dir>/ref_image  and  <cache_dir>/lint_image,  respec-
-     tively.
-
-     Subsequent invocations of pkglint(1) can  re-use  the  cache
-     directory and can omit any -r or -l arguments.
-
-     Limited support is provided in  pkglint(1)  for  configuring
-     publishers  in  the  cache  directory.   It  is assumed that
-     pkg(1) will be used on these images to perform more  complex
-     publisher configuration.
-
-     pkglint(1) allows package authors to  bypass  checks  for  a
-     given manifest or action. Manifests or actions containing an
-     attribute "pkg.linted" set to "True" will  not  produce  any
-     lint output for that manifest or action.
-
-     More granular pkg.linted settings can  be  made  using  sub-
-     strings of pkglint check names, eg. "pkg.linted.<check>.<id>"
-     set to "True" will bypass all checks with the name
-     <check>.<id>  for the given manifest or action.
-
-
-
-SunOS 5.11          Last change: 13 Jun 2011                    1
-
-
-
-
-
-
-User Commands                                          pkglint(1)
-
-
-
-     The behavior of pkglint can  be  changed  using  a  supplied
-     pkglintrc   file.    By   default,   the  tool  searches  in
-     /usr/share/lib/pkg/pkglintrc and $HOME/.pkglintrc for confi-
-     guration  options. The command line option -f can be used to
-     specify a different configuration file.
-
-     During the lint run, any errors or warnings encountered  are
-     printed to stderr.
-
-OPTIONS
-     The following options are supported:
-
-     -b build_no          A build number used to narrow the  list
-                          of  packages  used  during linting from
-                          lint and reference repositories.  If no
-                          -b option is specified, the latest ver-
-                          sions of packages are  used.  See  also
-                          the   "version.pattern"   configuration
-                          property.
-
-
-     -c cache_dir         A  local  directory  used  for  caching
-                          package  metadata  from  the  lint  and
-                          reference repositories.
-
-
-     -l lint_uri          A URI representing the location of  the
-                          lint    repository.   Both   HTTP   and
-                          filesystem-based publication  are  sup-
-                          ported.
-
-
-     -L                   List  the  known  and   excluded   lint
-                          checks,  showing the short name of each
-                          check, and its description  then  exit.
-                          When  combined  with  the  -v flag, the
-                          method that  implements  the  check  is
-                          printed instead of the description.
-
-
-     -f config_file       Configure the pkglint session using the
-                          config file provided.
-
-
-     -p regexp            A regular expression used to narrow the
-                          list  of packages from the lint reposi-
-                          tory that are to be checked.  Note that
-                          all  manifests from the reference repo-
-                          sitory are loaded (assuming they  match
-                          the value for -b, if supplied) ignoring
-                          this pattern.
-
-
-     -r repo_uri          A URI representing the location of  the
-                          reference repository.
-
-
-
-
-SunOS 5.11          Last change: 13 Jun 2011                    2
-
-
-
-
-
-
-User Commands                                          pkglint(1)
-
-
-
-     -v                   Run the tool in a verbose  mode,  over-
-                          riding  any  log_level  settings in the
-                          config file.
-
-
-     --help or -?         Displays a usage message.
-
-
-CONFIGURATION FILE
-     The pkglintrc config file takes a number of key/value  argu-
-     ments, which are listed below:
-
-     log_level            The minimum level at which to emit lint
-                          messages. Lint messages lower than this
-                          level are discarded.
-
-                          By default, this is set  to  INFO.  Log
-                          levels in order of least to most severe
-                          are:
-
-                          DEBUG, INFO, WARNING, ERROR, CRITICAL
-
-     do_pub_checks        Whether to  perform  checks  which  may
-                          only make sense for published packages.
-                          Set to True by default.
-
-
-     pkglint.ext.*        The plugin mechanism of pkglint  allows
-                          for additional lint modules to be added
-                          at  runtime.  Any  key  starting   with
-                          "pkglintext" takes a value that must be
-                          a fully-specified Python module. (  See
-                          section "Developers", below )
-
-
-     pkglint.exclude      A space-separated list of fully  speci-
-                          fied  Python  modules, classes or func-
-                          tion names which should be omitted from
-                          the set of checks performed.
-
-
-     use_progress_tracker Whether to use a progress tracker  when
-                          iterating  over  manifests  during lint
-                          runs, set to True by default.
-
-
-     version.pattern      A version pattern, used when specifying
-                          a build number to lint against (-b). If
-                          not specified in the rcfile, this  pat-
-                          tern  is "*,5.11-0.", matching all com-
-                          ponents of the  '5.11'  build,  with  a
-                          branch prefix of '0.'
-
-
-
-SunOS 5.11          Last change: 13 Jun 2011                    3
-
-
-
-
-
-
-User Commands                                          pkglint(1)
-
-
-
-DEVELOPERS
-     Developers wishing to extend the  set  of  checks  performed
-     should  subclass  pkg.lint.base.Checker  and its subclasses,
-     ManifestChecker,  ActionChecker  and   ContentChecker.   The
-     Python  module name containing those classes should be added
-     to a new "pkglint.ext." key in the configuration file.
-
-     Instances of those new subclasses are created by  pkglint(1)
-     on  startup,  and methods inside each subclass with the spe-
-     cial keyword argument, "pkglint_id" are invoked  during  the
-     course  of  the lint session.  Those methods should have the
-     same signature as the corresponding check(..) method in  the
-     super   class.    Methods   should   also   be   assigned  a
-     "pkglint_desc" attribute, which is used as the  description,
-     printed by pkglint -L.
-
-     Parameters are available  to  Checker  subclasses,  allowing
-     them  to  tune  their behaviour.  It is recommended they are
-     named using the convention "<pkglint_id>.<name>".  Parameter
-     values  can be stored in the configuration file, or accessed
-     in   manifest    or    actions,    retrieved    using    the
-     <LintEngine>.get_param(..)  method.   When accessing parame-
-     ters from the manifest, the prefix "pkg.lint"  is  prepended
-     to  the  key  name (to ensure that pkglint parameters do not
-     overlap with any existing action or manifest values)
-
-EXAMPLES
-     Example 1:  Running a pkglint session for the first time.
-
-
-       $ pkglint -c /space/cache -r http://localhost:10000 mymanifest.mf
-
-
-     Example 2:  A subsequent run  against  the  same  repository
-     used in Example 1.
-
-          $ pkglint -c /space/cache mymanifest-fixed.mf
-
-
-     Example 3:  Running a pkglint session with  a  lint  reposi-
-     tory, specifying a subset of packages to run checks on.
-
-            $ pkglint -c /space/othercache -l http://localhost:10000 -p '.*firefox.*'
-
-
-     Example 4:  Running a pkglint session against a given  build
-     in verbose mode.
-
-           $ pkglint -c /space/cache -r http://localhost:10000 -l http://localhost:12000 -b 147
-
-
-     Example 5:  A configuration file with  a  new  lint  module,
-     excluding some checks.
-
-            $ cat ~/.pkglintrc
-     [pkglint]
-
-     log_level = DEBUG
-     # log_level = INFO
-
-     pkglint.ext.mycheck = org.timf.mychecks
-     pkglint.ext.opensolaris = pkg.lint.opensolaris
-
-
-
-SunOS 5.11          Last change: 13 Jun 2011                    4
-
-
-
-
-
-
-User Commands                                          pkglint(1)
-
-
-
-     pkglint.exclude: pkg.lint.opensolaris.OpenSolarisActionChecker pkg.lint.pkglint.PkgActionChecker.unusual_perms
-          pkg.lint.pkglint.PkgManifestChecker pkg.lint.opensolaris.OpenSolarisManifestChecker
-
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0
-
-         Command succeeded.
-
-
-     1
-
-         One or more lint checks emitted output.
-
-
-     2
-
-         Invalid command line options were specified.
-
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the  following  attri-
-     butes:
-
-  /usr/bin/pkglint
-          ____________________________________________________________
-         |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-         |_____________________________|_____________________________|
-         | Availability                | pkg:/package/pkg            |
-         |_____________________________|_____________________________|
-         | Interface Stability         | None / Under Development    |
-         |_____________________________|_____________________________|
-
-
-SEE ALSO
-     pkg(1), pkg.depotd(1M), pkgsend(1), pkg(5)
-
-
-NOTES
-     The image packaging system is an under-development  feature.
-     Command  names,  invocation, formats, and operations are all
-     subject to change.  Development is hosted in the OpenSolaris
-     community at:
-
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
-
-
-
-
-SunOS 5.11          Last change: 13 Jun 2011                    5
-
-
-
-
-
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgmerge.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,414 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgmerge 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgmerge \- Image Packaging System package merging utility
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgmerge [-n] -d \fIdest_repo\fR
+    -s \fIvariant\fR=\fIvalue\fR[,...],\fIsrc_repo\fR ...
+    [\fIpkg_fmri_pattern\fR ...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgmerge\fR is a package publication tool for creating multi-variant packages. It does this by merging packages with identical names and versions (excluding time stamp), tagging actions that are unique in the versions being merged with the specified variant name and value for the given source, and then publishing the new packages to the target repository. Only the newest version of every package from each source is used.
+.sp
+.LP
+If an action has the attribute \fBpkg.merge.blend\fR set to the name of the variant being merged, that action is copied to the other manifests prior to merging so that the action appears without any added variant tags in the final output. Note that the attribute \fBpkg.merge.blend\fR itself is removed from any actions in the output manifest. This attribute can be repeated with different values for multiple pass merges.
+.sp
+.LP
+Non-identical actions that deliver to the same path in an input manifest result in \fBpkgmerge\fR exiting with an error.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIdest_repo\fR\fR
+.ad
+.sp .6
+.RS 4n
+The file system path or URI of the target repository to publish the merged packages to. The target repository must already exist. New repositories can be created using \fBpkgrepo\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.sp .6
+.RS 4n
+Perform a trial run with no changes made to the target repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIvariant\fR=\fIvalue\fR[,...],\fIsrc_repo\fR\fR
+.ad
+.sp .6
+.RS 4n
+The variant name and value to use for packages from this source, followed by the file system path or URI of the source repository or package archive to retrieve packages from. Multiple variants can be specified separated by commas. The same variants must be named for all sources. This option can be specified multiple times.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--help\fR or \fB-?\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a usage message.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+The following environment variable is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTMPDIR\fR\fR
+.ad
+.RS 10n
+.rt  
+The absolute path of the directory where temporary data should be stored during program execution. If not set, the default is to store temporary data in \fB/var/tmp\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSpecify Variant Name and Value
+.sp
+.LP
+Tag each package found in the specified source with the given variant name and value specified for the source it was retrieved from:
+
+.sp
+.in +2
+.nf
+$ \fBpkgmerge -s arch=sparc,http://src.example.com \e\fR
+\fB-d http://dest.example.com\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Sample package:
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Sample package after operation:
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
+set name=variant.arch value=sparc
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRMerge and Publish Packages
+.sp
+.LP
+Merge the newest version of each package from the given sources and publish the new packages to the target repository:
+
+.sp
+.in +2
+.nf
+$ \fBpkgmerge -s arch=sparc,http://src1.example.com \e\fR
+\fB-s arch=i386,http://src2.example.com \e\fR
+\fB-d /\fIpath/to/target/repository\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Sample package from source 1 (SPARC):
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T121410Z
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Sample package from source 2 (i386):
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Merged package:
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
+set name=variant.arch value=sparc value=i386
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.LP
+\fBExample 3 \fRMerge Debug and Non-Debug Packages for i386 and SPARC Systems
+.sp
+.LP
+Merge the newest version of each package in a set of debug and non-debug repositories for i386 and SPARC systems:
+
+.sp
+.in +2
+.nf
+$ \fBpkgmerge -s arch=sparc,debug=false,/repo/sparc-nondebug \e\fR
+\fB-s arch=sparc,debug=true,/repo/sparc-debug \e\fR
+\fB-s arch=i386,debug=false,/repo/i386-nondebug \e\fR
+\fB-s arch=i386,debug=true,/repo/i386-debug \e\fR
+\fB-d /\fIpath/to/target/repository\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Sample package from source 1 (SPARC non-debug):
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T121410Z
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Sample package from source 2 (SPARC debug):
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T121411Z
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Sample package from source 3 (i386 non-debug):
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Sample package from source 4 (i386 debug):
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163428Z
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Merged package:
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163428Z
+set name=variant.arch value=sparc value=i386
+set name=variant.debug value=false value=true
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc variant.debug=false
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc variant.debug=true
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 variant.debug=false
+file \fIid\fR mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 variant.debug=true
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.LP
+\fBExample 4 \fRMerge Using \fBpkg.merge.blend\fR
+.sp
+.LP
+Merge packages for two architectures that do not collide, using the \fBpkg.merge.blend\fR attribute.
+
+.sp
+.in +2
+.nf
+$ \fBpkgmerge -s arch=sparc,http://src1/example.com \e\fR
+\fB-s arch=i386,http://src2.example.com \e\fR
+\fB-d /\fIpath/to/target/repository\fR\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Sample package from source 1 (SPARC):
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T121410Z
+file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root \e
+    group=bin path=usr/bin/sparc/foo pkg.merge.blend=arch
+file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \e
+    group=bin path=usr/bin/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Sample package from source 2 (i386):
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
+file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root \e
+    group=bin path=usr/bin/i386/foo pkg.merge.blend=arch
+file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \e
+    group=bin path=usr/bin/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.sp
+.LP
+Merged package:
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
+set name=variant.arch value=sparc value=i386
+file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \e
+    group=bin path=usr/bin/foo
+file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root \e
+    group=bin path=usr/bin/i386/foo
+file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root \e
+    group=bin path=usr/bin/sparc/foo
+dir group=sys mode=0755 owner=root path=usr
+.fi
+.in -2
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkgrepo\fR(1), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkgmerge.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-User Commands                                            pkgmerge(1)
-
-
-NAME
-     pkgmerge - image packaging system package merging utility
-
-SYNOPSIS
-     /usr/bin/pkgmerge [-n] -d dest_repo -s variant=value[,...],src_repo
-          ... [pkg_fmri_pattern ...]
-
-DESCRIPTION
-     pkgmerge is a package publication tool for creating multi-variant
-     packages.  It does this by merging packages with identical names
-     and versions (excluding timestamp), tagging actions that are
-     unique in the versions being merged with the specified variant
-     name and value for the given source, and then publishing the new
-     packages to the target repository.  Only the newest version of
-     every package from each source is used.
-
-     If an action has the attribute "pkg.merge.blend" set to the name
-     of the variant being merged, that action is copied to the other
-     manifests prior to merging so that the action will appear without
-     any added variant tags in the final output.  Note that the
-     attribute "pkg.merge.blend" itself will be removed from any
-     actions in the the output manifest.  This attribute may be
-     repeated with different values for multi-pass merges.
-
-     Non-identical actions that deliver to the same path in an input
-     manifest will result in pkgmerge exiting with an error.
-
-OPTIONS
-     The following options are supported:
-
-     -d dest_repo
-          The filesystem path or URI of the target repository to publish
-          the merged packages to.  The target repository must already
-          exist; new repositories can be created using pkgrepo(1).
-
-     -n
-          Perform a trial run with no changes made to the target
-          repository.
-
-     -s variant=value[,...],src_repo
-          The variant name and value to use for packages from this source,
-          followed by the filesystem path or URI of the source repository
-          or package archive to retrieve packages from.  Multiple variants
-          may be specified separated by commas.  The same variants must
-          be named for all sources.  This option may be specified multiple
-          times.
-
-     --help or -?
-          Displays a usage message.
-
-ENVIRONMENT VARIABLES
-     The following environment variables are supported:
-
-     TMPDIR
-          The absolute path of the directory where temporary data should be
-          stored during program execution.  If not set, the default is to
-          store temporary data in /var/tmp.
-
-EXAMPLES
-     Example 1:  Tag each package found in the specified source with the
-     given variant name and value specified for the source it was retrieved
-     from:
-
-     $ pkgmerge -s arch=sparc,http://src.example.com \
-         -d http://dest.example.com
-
-        Sample package:
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
-          dir group=sys mode=0755 owner=root path=usr
-
-        Sample package after operation:
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
-          set name=variant.arch value=sparc
-          dir group=sys mode=0755 owner=root path=usr
-
-     Example 2:  Merge the newest version of each package from the given
-     sources and publish the new packages to the target repository:
-
-     $ pkgmerge -s arch=sparc,http://src1.example.com \
-          -s arch=i386,http://src2.example.com \
-          -d /path/to/target/repository
-
-        Sample package from source 1 (sparc):
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T121410Z
-          file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root group=bin path=usr/bin/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-        Sample package from source 2 (i386):
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
-          file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root group=bin path=usr/bin/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-        Merged package:
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
-          set name=variant.arch value=sparc value=i386
-          file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc
-          file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386
-          dir group=sys mode=0755 owner=root path=usr
-
-     Example 3:  Merge the newest version of each package in a set of debug
-     and non-debug repositories for i386 and sparc systems:
-
-     $ pkgmerge -s arch=sparc,debug=false,/repo/sparc-nondebug \
-         -s arch=sparc,debug=true,/repo/sparc-debug \
-         -s arch=i386,debug=false,/repo/i386-nondebug \
-         -s arch=i386,debug=true,/repo/i386-debug \
-         -d /path/to/target/repository
-
-        Sample package from source 1 (sparc non-debug):
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T121410Z
-          file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root group=bin path=usr/bin/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-        Sample package from source 2 (sparc debug):
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T121411Z
-          file dd5eac1aab628317f9c088d21e4afda9c754aa70 mode=0555 owner=root group=bin path=usr/bin/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-        Sample package from source 3 (i386 non-debug):
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
-          file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root group=bin path=usr/bin/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-        Sample package from source 4 (i386 debug):
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163428Z
-          file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root group=bin path=usr/bin/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-        Merged package:
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163428Z
-          set name=variant.arch value=sparc value=i386
-          set name=variant.debug value=false value=true
-          file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc variant.debug=false
-          file dd5eac1aab628317f9c088d21e4afda9c754aa70 mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc variant.debug=true
-          file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 variant.debug=false
-          file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 variant.debug=true
-          dir group=sys mode=0755 owner=root path=usr
-
-     Example 4:  Merge packages for two architectures that don't collide together using
-     the pkg.merge.blend attribute.
-
-     $ pkgmerge -s arch=sparc,http://src1.example.com \
-          -s arch=i386,http://src2.example.com \
-          -d /path/to/target/repository
-
-        Sample package from source 1 (sparc):
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T121410Z
-          file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root \
-	      group=bin path=usr/bin/sparc/foo pkg.merge.blend=arch
-          file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \
-	      group=bin path=usr/bin/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-        Sample package from source 2 (i386):
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
-          file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root \
-   	      group=bin path=usr/bin/i386/foo pkg.merge.blend=arch
-          file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \
-	      group=bin path=usr/bin/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-        Merged package:
-          set name=pkg.fmri value=pkg://example.com/[email protected],5.11-0.200:20381001T163427Z
-          set name=variant.arch value=sparc value=i386
-          file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \
-	      group=bin path=usr/bin/foo
-          file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root \
-	      group=bin path=usr/bin/i386/foo
-          file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root \
-	      group=bin path=usr/bin/sparc/foo
-          dir group=sys mode=0755 owner=root path=usr
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0    Command succeeded.
-
-     1    An error occurred.
-
-     2    Invalid command line options were specified.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     pkgrepo(1), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all
-     subject to change.  Development is hosted in the OpenSolaris
-     community at:
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgmogrify.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,609 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgmogrify 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgmogrify \- Image Packaging System manifest transmogrifier
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgmogrify [-vi] [-I \fIincludedir\fR ...]
+    [-D \fImacro\fR=\fIvalue\fR ...] [-O \fIoutputfile\fR]
+    [-P \fIprintfile\fR] [\fIinputfile\fR ...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgmogrify\fR provides for programmatic editing of package manifests to simplify the typical transformations needed when automating software builds and package publication.
+.sp
+.LP
+\fBpkgmogrify\fR provides the following:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Macro replacement to facilitate sharing of a single manifest across various architectures and platforms.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Inclusion of other manifests or manifest fragments such as standard components and transforms.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Transformation of package actions, including the modification, deletion, or addition of action attributes.
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR \fIname\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Defines \fIname\fR as a macro, with the value \fIvalue\fR. Macros appear in the input file as \fB$(macro)\fR. Substitution is repeated until no more translations are found. Common idioms include:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Elimination of lines in a manifest on other architectures by using an architecture-specific tag at the beginning of the line:
+.sp
+.in +2
+.nf
+$(sparc_ONLY)file ...
+.fi
+.in -2
+
+When processing the SPARC architecture, this macro would be set to the empty string. When processing other architectures, this macro would be set to \fB#\fR on the command line, thus eliminating this action from the manifest on the current architecture.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Specifying platform-specific portions of path names, such as the name of the 64-bit architecture directory for executables and libraries:
+.sp
+.in +2
+.nf
+file NOHASH path=usr/bin/$(ARCH64)/cputrack ...
+.fi
+.in -2
+
+These macros should be set to the desired value on the command line. There are no predefined macro values.
+.RE
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR \fIinclude_directory\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds the specified directory to the search path for both files specified on the command line and embedded include directives.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-O\fR \fIoutputfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write manifest output to the specified file. The file is not written if an error occurs or if a transform directive causes an abort operation. By default, manifest output is written to \fBstdout\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR \fIprintfile\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write output resulting from transform directive print operations to the specified file. The file is not written if an error occurs or if a transform directive causes an abort operation. By default, print output is written to \fBstdout\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.sp .6
+.RS 4n
+Ignore include directives in files. Only files specified on the command line (or \fBstdin\fR) are processed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write comments into the output manifest showing the effect of transforms. This information can aid in debugging.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--help\fR or \fB-?\fR\fR
+.ad
+.sp .6
+.RS 4n
+Displays a usage message.
+.RE
+
+.SH EMBEDDED DIRECTIVES
+.sp
+.LP
+Two types of directives are supported in manifest files: include directives and transform directives.
+.sp
+.LP
+Include directives are of the form:
+.sp
+.in +2
+.nf
+<include \fIfile\fR>
+.fi
+.in -2
+
+.sp
+.LP
+This directive causes \fBpkgmogrify\fR to search for a file named \fBfile\fR first in the current directory and then in the directories specified with the \fB-I\fR option. If found, the contents of the file are inserted into the manifest at the point at which the directive is encountered. If not found, \fBpkgmogrify\fR exits with an error.
+.sp
+.LP
+Transform directives are of the form:
+.sp
+.in +2
+.nf
+<transform \fImatching-criteria\fR -> \fIoperation\fR>
+.fi
+.in -2
+
+.sp
+.LP
+These directives are accumulated until all inputs have been read into memory, and then applied to the actions in the order in which they were encountered.
+.sp
+.LP
+Matching criteria are of the form:
+.sp
+.in +2
+.nf
+[\fIaction-type\fR ... ] [\fIattribute\fR=<\fIvalue-regexp\fR> ...]
+.fi
+.in -2
+
+.sp
+.LP
+One of the \fIaction-types\fR specified must match. All of the \fIattributes\fR specified must match. The regular expression syntax used is that of Python. For more information about Python regular expression syntax, use the command \fBpydoc re\fR or see more complete documentation at \fBhttp://docs.python.org/dev/howto/regex.html\fR. The regular expression is anchored at the beginning but not at the end. Therefore, a regular expression matching files by their extensions must include a leading \fB\&.*\fR and should include a trailing \fB$\fR.
+.sp
+.LP
+Multiple criteria can be specified, separated by spaces.
+.sp
+.LP
+The following operations are available:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBadd\fR\fR
+.ad
+.RS 11n
+.rt  
+Add a value to an attribute. This operation takes two arguments. The first argument is the name of the attribute, and the second is the value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdefault\fR\fR
+.ad
+.RS 11n
+.rt  
+Set the value of an attribute if it doesn't already exist. This operation takes the same two arguments as the \fBadd\fR operation.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdelete\fR\fR
+.ad
+.RS 11n
+.rt  
+Remove attribute values. This operation takes two arguments. The first argument is the name of the attribute. The second argument is a regular expression to match the attribute values deleted. Unlike the regular expression used to match an action, this expression is unanchored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBdrop\fR\fR
+.ad
+.RS 11n
+.rt  
+Discards this action.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBedit\fR\fR
+.ad
+.RS 11n
+.rt  
+Modifies an attribute of the action. This operation takes three arguments. The first argument is the name of the attribute, and the second is a regular expression matching the attribute value. The third argument is the replacement string substituted for the portion of the value matched by the regular expression. Unlike the regular expression used to match an action, this expression is unanchored. Normal regular expression backreferences, of the form \fB\e1\fR, \fB\e2\fR, and so on, are available in the replacement string if groups are defined in the regular expression.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBemit\fR\fR
+.ad
+.RS 11n
+.rt  
+Emit a line to the manifest output stream. This must be a valid action string, empty (resulting in a blank line), or a comment (a \fB#\fR followed by arbitrary text).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBexit\fR\fR
+.ad
+.RS 11n
+.rt  
+Terminate manifest processing. No manifest is output and no \fBprint\fR operations are applied. If one argument is given, it must be an integer, and it is used as the exit code. The default is 0. If two arguments are given, the first is the exit code, and the second is a message to be printed to \fBstderr\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBprint\fR\fR
+.ad
+.RS 11n
+.rt  
+Print a message to the output file specified with \fB-P\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBset\fR\fR
+.ad
+.RS 11n
+.rt  
+Set the value of an attribute. This operation takes the same two arguments as the \fBadd\fR operation.
+.RE
+
+.sp
+.LP
+All operations except for \fBdelete\fR and \fBdrop\fR take (possibly optional) arguments whose contents go to the output stream. These strings can contain three different kinds of special tokens which allow the output to contain information that is not based on a fixed transformation of each action.
+.sp
+.LP
+The first kind of substitution allows the operation to refer to the values of attributes of the current action by putting the name of the attribute inside parentheses following a percent sign. For example, \fB%(alias)\fR refers to the value of the action's \fBalias\fR attribute.
+.sp
+.LP
+Several synthetic attributes exist. Two are unique to \fBpkgmogrify\fR:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBpkg.manifest.filename\fR refers to the name of the file in which the action was found.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBpkg.manifest.lineno\fR refers to the line on which the action was found.
+.RE
+.sp
+.LP
+Three synthetic attributes are similar to ones used in \fBpkg\fR(1):
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBaction.hash\fR refers to the hash value of the action if the action carries a payload. For actions with payloads, the \fBset\fR operation can change the hash of the action by operating on the \fBaction.hash\fR attribute.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBaction.key\fR refers to the value of the key attribute.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBaction.name\fR refers to the name of the action type.
+.RE
+.sp
+.LP
+If the attribute whose value is requested does not exist, \fBpkgmogrify\fR exits with an error. To prevent exiting with an error, follow the attribute name with \fB;notfound=\fR and a value to substitute in place of the attribute value. For example, \fB%(alias;notfound='no alias')\fR prints the value of the attribute \fBalias\fR if it exists, and prints \fBno alias\fR otherwise.
+.sp
+.LP
+If the attribute whose value is requested is multi-valued, each value is printed, separated by spaces. Similarly to the \fBnotfound\fR token, the tokens \fBprefix\fR, \fBsuffix\fR, and \fBsep\fR can be used to change this behavior. The string denoted by \fBprefix\fR is prepended to each value, the string denoted by \fBsuffix\fR is appended to each value, and \fBsep\fR is placed in between the suffix of one value and the prefix of the next.
+.sp
+.LP
+Similarly to action attributes, \fBpkgmogrify\fR directives can reference package attributes using braces instead of parentheses: \fB%{pkg.fmri}\fR. At the point at which the transform directive is applied, the attribute must have been defined in a \fBset\fR action, or it is treated as \fBnotfound\fR, described above. When the processing reaches the end of the manifest file describing the package, the attributes are cleared for the next package.
+.sp
+.LP
+It is useful not only to reference package attributes as if they were action attributes, but also to match on them, and even temporarily modify them. Therefore a synthetic action name, \fBpkg\fR, is available (only in the context of \fBpkgmogrify\fR) for use in these situations.
+.sp
+.LP
+When \fBpkgmogrify\fR finishes reading a manifest specified on the command line and that manifest defined a \fBpkg.fmri\fR package attribute, \fBpkgmogrify\fR creates this synthetic \fBpkg\fR action, whose attributes are the package's attributes. A \fB<transform>\fR directive can then match on this action, just like any other action type.
+.sp
+.LP
+Operations on a \fBpkg\fR action are special in that they take place only in memory and do not directly affect the emitted manifest. For instance, trying to set an attribute on a \fBpkg\fR action via the \fBadd\fR, \fBdefault\fR, or \fBset\fR operations does not result in a \fBset\fR action being added to the manifest, though it will be available for other \fB<transform>\fR directives to match on. Attempting to \fBemit\fR a \fBpkg\fR action causes an error. To add a package attribute, \fBemit\fR a \fBset\fR action instead.
+.sp
+.LP
+The third kind of substitution is a backreference. This substitution is not like the ones usable in the \fBedit\fR operation, but is a reference to groups listed in the transformation match on the left-hand side of the \fB->\fR. These are indicated by \fB%<1>\fR, \fB%<2>\fR, and so on, in the order seen in the matching criteria.
+.sp
+.LP
+The order of processing is as follows:
+.RS +4
+.TP
+1.
+Lines are read from input files.
+.RE
+.RS +4
+.TP
+2.
+Macros are applied.
+.RE
+.RS +4
+.TP
+3.
+\fB<include ...>\fR and \fB<transform>\fR directives are processed, causing additional files to be found and read.
+.RE
+.RS +4
+.TP
+4.
+Once all input has been accumulated, each line in the input is converted into actions and all transforms applied.
+.RE
+.RS +4
+.TP
+5.
+Once processing is complete and successful, the output is written.
+.RE
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRAdd Tags To SMF Manifests
+.sp
+.LP
+Add tags to Service Management Facility (SMF) manifests so they get imported when the package is installed on a live system.
+
+.sp
+.in +2
+.nf
+<transform file path=(var|lib)/svc/manifest/.*\e.xml -> \e
+    add restart_fmri svc:/system/manifest-import:default>
+.fi
+.in -2
+
+.LP
+\fBExample 2 \fRMove Files
+.sp
+.LP
+Move files from \fBusr/sfw/bin\fR to \fBusr/bin\fR.
+
+.sp
+.in +2
+.nf
+<transform file -> edit path usr/sfw/bin usr/bin>
+.fi
+.in -2
+
+.LP
+\fBExample 3 \fRSpecify Reboot Needed
+.sp
+.LP
+Add \fBreboot-needed\fR tags to files under \fB/kernel\fR that are not \fB\&.conf\fR files. Note that this example leverages how transforms are applied to each action in the order seen in the input files.
+
+.sp
+.in +2
+.nf
+<transform file path=kernel/.* -> set reboot-needed true>
+<transform file path=kernel/.*\e.conf -> delete reboot-needed .*>
+.fi
+.in -2
+
+.sp
+.LP
+This can also be done in a single transform rule with regular expressions.
+
+.LP
+\fBExample 4 \fRConvert FMRI Attribute To Depend Action
+.sp
+.LP
+Convert the package attribute \fBpkg.fmri\fR into a \fBdepend\fR action to become part of an incorporation.
+
+.sp
+.in +2
+.nf
+<transform set name=pkg.fmri -> \e
+    emit depend type=incorporate fmri=%(value)>
+<transform set name=pkg.fmri -> drop>
+.fi
+.in -2
+
+.LP
+\fBExample 5 \fRPrint a List of Bug Numbers
+.sp
+.LP
+Print a comma-separated list of quoted and prefixed bug numbers.
+
+.sp
+.in +2
+.nf
+set name=bugs value=12345 value=54321 value=13579 value=97531
+<transform set name=bugs -> \e
+    print %(value;sep=",";prefix="bug='";suffix="'")>
+.fi
+.in -2
+
+.LP
+\fBExample 6 \fRAllow For Missing Attributes
+.sp
+.LP
+Safely print a message even when an attribute is missing.
+
+.sp
+.in +2
+.nf
+<transform driver -> print Found aliases: %(alias;notfound=<none>)>
+.fi
+.in -2
+
+.LP
+\fBExample 7 \fRSet Default Values
+.sp
+.LP
+Set default owner, group, and permission values.
+
+.sp
+.in +2
+.nf
+<transform file dir -> default owner root>
+<transform file dir -> default group bin>
+<transform file -> default mode 0444>
+<transform dir -> default mode 0755>
+.fi
+.in -2
+
+.LP
+\fBExample 8 \fRAdd Dependencies To Packages That Are Not Marked Obsolete
+.sp
+.LP
+For any package that is not marked obsolete, add a dependency on the incorporation for the consolidation that delivers the package. This set of transforms must occur after the manifest has been read in, or the dependency will always be emitted. Because modifying a \fBpkg\fR action has no permanent effect, there is no need to clean up attributes matching \fBpkg.obsolete=false\fR.
+
+.sp
+.in +2
+.nf
+<transform pkg -> default pkg.obsolete false>
+<transform pkg pkg.obsolete=false -> emit depend \e
+    fmri=consolidation/$(CONS)/$(CONS)-incorporation type=require>
+.fi
+.in -2
+
+.LP
+\fBExample 9 \fRExit and Print a Message When an Error Is Found
+.sp
+.LP
+Error out with a message when an obsolete attribute is found in a manifest.
+
+.sp
+.in +2
+.nf
+<transform file dir link hardlink opensolaris.zone=.* -> \e
+    exit 1 The opensolaris.zone attribute is obsolete.>
+.fi
+.in -2
+
+.LP
+\fBExample 10 \fRSet the Appropriate Locale Facet
+.sp
+.LP
+Set the locale facet appropriate for the path name under consideration.
+
+.sp
+.in +2
+.nf
+<transform dir file link hardlink path=.*/locale/([^/]+).* -> \e
+    default facet.locale.%<1> true>
+.fi
+.in -2
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Everything worked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+Something bad but anticipated happened.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+Unexpected processing error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(1), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkgmogrify.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-User Commands                                            pkgmogrify(1)
-
-
-NAME
-     pkgmogrify - image packaging system manifest transmogrifier
-
-SYNOPSIS
-     /usr/bin/pkgmogrify [-vi] [-I includedir ...] [-D macro=value ...]
-           [-O outputfile] [-P printfile] [inputfile ...]
-
-DESCRIPTION
-     pkgmogrify(1) provides for programmatic editing of package manifests
-     to simplify the typical transformations needed when automating
-     software builds and package publication.
-
-     pkgmogrify(1) provides the following:
-
-     * Macro replacement to facilitate sharing of a single manifest across
-       various architectures and platforms.
-
-     * Inclusion of other manifests or manifest fragments such as standard
-       components and transforms.
-
-     * Transformation of package actions, including the modification,
-       deletion, or addition of action attributes.
-
-OPTIONS
-     The following options are supported:
-
-     -D name=value
-          Defines "name" as a macro, with the value "value".  Macros appear
-          in the input file as "$(macro)"; substitution is repeated until
-          no more translations are found.  Common idioms include:
-
-      *   Elimination of lines in a manifest on other architectures by
-          using an architecture-specific tag at the beginning of the line:
-
-              $(sparc_ONLY)file ....
-
-          When processing the SPARC architecture, this macro would be set
-          to the empty string.  When processing other architectures, this
-          macro would be set to '#' on the command line, thus eliminating
-          this action from the manifest on the current architecture.
-
-      *   Specifying platform-specific portions of pathnames, such as the
-          name of the 64-bit architecture directory for executables and
-          libraries:
-
-              file NOHASH path=usr/bin/$(ARCH64)/cputrack ...
-
-          Again, the expectation is that these macros would be set to the
-          desired value on the command line; there are no predefined macro
-          values.
-
-     -I include_directory
-          Adds the specified directory to the search path for both files
-          specified on the command line and embedded include directives.
-
-     -O outputfile
-          Write manifest output to the specified file.  The file is not
-          written if an error occurs or if a transform directive causes an
-          abort operation.  By default, manifest output is written to
-          stdout.
-
-     -P printfile
-          Write output resulting from transform directive print operations
-          to the specified file.  The file is not written if an error
-          occurs or if a transform directive causes an abort operation.  By
-          default, print output is written to stdout.
-
-     -i   Ignore include directives in files; only files specified on the
-          command line (or stdin) are processed.
-
-     -v   Write out comments into output manifest showing effect of
-          transforms to aid debugging.
-
-     --help or -?
-          Displays a usage message.
-
-EMBEDDED DIRECTIVES
-     There are two types of directives supported in manifest files: include
-     directives and transform directives.
-
-     Include directives are of the form:
-
-         <include file>
-
-     This causes pkgmogrify(1) to search for a file named "file" first in
-     the current directory and then in the directories specified with the
-     -I option.  If found, the contents of the file are inserted into the
-     manifest at the point at which the directive is encountered.  If not
-     found, pkgmogrify(1) exits with an error.
-
-     Transform directives are of the form:
-
-         <transform matching-criteria -> operation>
-
-     These are accumulated until all inputs have been read into memory, and
-     then applied to the actions in the order in which they were
-     encountered.
-
-     Matching criteria are of the form:
-
-         [action-type ... ] [attribute=<value-regexp> ...]
-
-     One of the action-types specified must match.  All of the attributes
-     specified must match.  The regular expression syntax used is that of
-     Python; more information is available via the command "pydoc re" or
-     (more completely) at http://docs.python.org/dev/howto/regex.html.  The
-     regular expression is anchored at the beginning, but not the end, so
-     the regular expression matching files by their extensions would have
-     to include a leading ".*" and, for safety, a trailing "$".
-
-     Multiple criteria may be specified, separated by spaces.
-
-     The following operations are available:
-
-     add       Add a value to an attribute.  Two arguments are taken.  The
-               first is the name of the attribute, and the second is the
-               value.
-
-     default   Set the value of an attribute if it doesn't already exist.
-               The same two arguments are taken as for "add".
-
-     delete    Remove attribute values.  Two arguments are taken.  The
-               first is the name of the attribute, and the second is a
-               regular expression to match the attribute values deleted.
-               Unlike the regular expression used to match an action, this
-               expression is unanchored.
-
-     drop      Discards this action.
-
-     edit      Modifies an attribute of the action.  Three arguments are
-               taken.  The first is the name of the attribute, the second
-               is a regular expression matching the attribute value, and
-               the third is the replacement string substituted for the
-               portion of the value matched by the regular expression.
-               Unlike the regular expression used to match an action, this
-               expression is unanchored.  Normal regular expression
-               backreferences, of the form '\1', '\2', etc., are available
-               in the replacement string, if there are groups defined in
-               the regular expression.
-
-     emit      Emit a line to the manifest output stream.  This must be a
-               valid action string, empty (which will result in a blank
-               line), or a comment (a "#" followed by arbitrary text).
-
-     exit      Terminate manifest processing.  No manifest is output and no
-               print operations are applied.  If one argument is given, it
-               must be an integer, and it is used as the exit code.  The
-               default is 0.  If two arguments are given, the first is the
-               exit code, and the second is a message to be printed to
-               stderr.
-
-     print     Print a message to the output file specified with -P.
-
-     set       Set the value of an attribute.  The same two arguments are
-               taken as for "add".
-
-     All operations aside from "delete" and "drop" take (possibly optional)
-     arguments whose contents will end up in the output stream.  These
-     strings can contain three different kinds of special tokens which
-     allow the output to contain information that isn't based on a fixed
-     transformation of each action.
-
-     The first kind of substitution allows the operation to refer to the
-     values of attributes of the current action by putting the name of the
-     attribute inside parentheses following a percent sign.  For example,
-     "%(alias)" refers to the value of the action's "alias" attribute.
-
-     Several synthetic attributes exist.  Two are unique to pkgmogrify(1):
-     pkg.manifest.filename and pkg.manifest.lineno.  These refer to the name
-     of the file in which the action was found and the line on which it was
-     found, respectively.  Three others are similar to ones used in pkg(1):
-     action.hash, action.key, and action.name, which refer to the hash
-     value of the action if the action carries a payload, the value of the
-     key attribute, and the name of the action type, respectively.  For
-     actions with payloads, the "set" operation can change the hash of the
-     action by operating on the action.hash attribute.
-
-     If the attribute whose value is requested doesn't exist, pkgmogrify(1)
-     will exit with an error.  To prevent this, the attribute name may be
-     followed by ";notfound=" and a value to substitute in its place.  For
-     example "%(alias;notfound='no alias')" will print the value of the
-     attribute "alias" if it exists, and "no alias" otherwise.
-
-     If the attribute whose value is requested is multi-valued, each value
-     will be printed, separated by spaces.  Similarly to the "notfound"
-     token, the tokens "prefix", "suffix, and "sep" may be used to change
-     this behavior.  The string denoted by "prefix" is prepended to each
-     value, the string denoted by "suffix" is appended to each value, and
-     "sep" is placed in between the suffix of one value and the prefix of
-     the next.
-
-     Similarly to action attributes, pkgmogrify(1) directives may reference
-     package attributes using braces instead of parentheses: "%{pkg.fmri}".
-     At the point at which the transform directive is applied, the
-     attribute must have been defined in a set action, or it is treated as
-     "notfound", described above.  When the processing reaches the end of
-     the manifest file describing the package, the attributes are cleared
-     for the next package.
-
-     It is useful not only to reference package attributes as if they were
-     action attributes, but also to match on them, and even temporarily
-     modify them.  Therefore a synthetic action name, "pkg", is available
-     (only in the context of pkgmogrify(1)) for use in these situations.
-
-     When pkgmogrify(1) finishes reading a manifest specified on the
-     commandline and that manifest defined a "pkg.fmri" package attribute,
-     it will create this synthetic "pkg" action, whose attributes are the
-     package's attributes.  A <transform> directive may then match on this
-     action, just like any other action type.
-
-     Operations on a "pkg" action are special, though, in that they take
-     place only in memory, and do not directly affect the emitted manifest.
-     For instance, trying to set an attribute on a "pkg" action via the
-     "add", "default", or "set" operations will not result in a "set"
-     action being added to the manifest, though it will be available for
-     other <transform> directives to match on.  Attempting to "emit" a
-     "pkg" action will cause an error.  If you wish to add a package
-     attribute, emit a "set" action instead.
-
-     The third kind of substitution is a backreference, not like the ones
-     usable in the "edit" operation, but a reference to groups listed in
-     the transformation match on the left-hand side of the "->".  These are
-     indicated by "%<1>", "%<2>", etc., in the order seen in the matching
-     criteria.
-
-     The order of processing is as follows:
-
-     1) Lines are read from input file(s).
-     2) Macros are applied.
-     3) <include ...>  and <transform> directives are processed causing
-        additional files to be found and read in.
-     4) Once all input has been accumulated, each line in the input is
-        converted into actions and all transforms applied.
-     5) Once processing is complete and successful, the output is written.
-
-EXAMPLES
-     Example 1:  Add tags to SMF manifests so they get imported when the
-     package is installed on a live system.
-
-         <transform file path=(var|lib)/svc/manifest/.*\.xml -> \
-             add restart_fmri svc:/system/manifest-import:default>
-
-     Example 2:  Move files from usr/sfw/bin to usr/bin.
-
-         <transform file -> edit path usr/sfw/bin usr/bin>
-
-     Example 3:  Add "reboot-needed" tags to files under /kernel which
-     aren't .conf files.  This can also be done in a single transform rule
-     with regular expression magic, but this formulation will make more
-     sense to most people.  Note that this leverages how transforms are
-     applied to each action in the order seen in the input files.
-
-         <transform file path=kernel/.* -> set reboot-needed true>
-         <transform file path=kernel/.*\.conf -> delete reboot-needed .*>
-
-     Example 4:  Convert the package attribute "pkg.fmri" into a depend
-     action to become part of an incorporation.
-
-         <transform set name=pkg.fmri -> \
-             emit depend type=incorporate fmri=%(value)>
-         <transform set name=pkg.fmri -> drop>
-
-     Example 5:  Print a comma-separated list of quoted and prefixed bug
-     numbers.
-
-         set name=bugs value=12345 value=54321 value=13579 value=97531
-         <transform set name=bugs -> \
-             print %(value;sep=",";prefix="bug='";suffix="'")>
-
-     Example 6:  Safely print a message even when an attribute is missing.
-
-         <transform driver -> print Found aliases: %(alias;notfound=<none>)>
-
-     Example 7:  Set some default permissions.
-
-         <transform file dir -> default owner root>
-         <transform file dir -> default group bin>
-         <transform file -> default mode 0444>
-         <transform dir -> default mode 0755>
-
-     Example 8:  For any package which isn't marked obsolete, add a
-     dependency on the incorporation for the consolidation that delivers
-     it.  This set of transforms must occur after the manifest has been
-     read in, or the dependency will always be emitted.  Because modifying
-     a "pkg" action has no permanent effect, there is no need to clean up
-     attributes matching "pkg.obsolete=false".
-
-         <transform pkg -> default pkg.obsolete false>
-         <transform pkg pkg.obsolete=false -> emit depend \
-             fmri=consolidation/$(CONS)/$(CONS)-incorporation type=require>
-
-     Example 9:  Error out with a message when an obsolete attribute is
-     found in a manifest.
-
-         <transform file dir link hardlink opensolaris.zone=.* -> \
-             exit 1 The opensolaris.zone attribute is obsolete.>
-
-     Example 10: Set the locale facet appropriate for the pathname under
-     consideration.
-
-         <transform dir file link hardlink path=.*/locale/([^/]+).* -> \
-             default facet.locale.%<1> true>
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Everything worked.
-
-     1     Something bad but anticipated happened.
-
-     2     Invalid command line options were specified.
-
-     99    Unexpected processing error
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | SUNWipkg                    |
-    |                             | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     pkg(1), attributes(5), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgrecv.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,464 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgrecv 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgrecv \- Image Packaging System content retrieval utility
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgrecv [-s \fIsrc_uri\fR] [-a] [-d (\fIpath\fR|\fIdest_uri\fR)]
+    [-c \fIcache_dir\fR] [-kr] [-m \fImatch\fR] [-n] [--raw]
+    [--key \fIkeyfile\fR --cert \fIcertfile\fR] (\fIfmri\fR|\fIpattern\fR) ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrecv [-s \fIsrc_uri\fR] --newest
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgrecv\fR allows the user to retrieve packages from a \fBpkg\fR(5) repository or package archive. \fBpkgrecv\fR can also optionally republish the retrieved packages to a different package repository or archive them. By default, packages are retrieved in package repository format suitable for use with \fBpkg\fR(1), \fBpkg.depotd\fR(1M), and package publication tools.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-a\fR\fR
+.ad
+.RS 19n
+.rt  
+Store the retrieved package data in a \fBpkg\fR(5) archive at the location specified by \fB-d\fR. The file cannot already exist. This option can be used only with file system based destinations. Although not required, using a file extension of \fB\&.p5p\fR (for example, \fBarchive.p5p\fR) is strongly suggested. This option cannot be combined with \fB--raw\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-c\fR \fIcache_dir\fR\fR
+.ad
+.RS 19n
+.rt  
+The path to a directory that will be used to cache downloaded content. If this directory is not supplied, the client automatically selects a cache directory. In the case where a download is interrupted, and a cache directory was automatically chosen, use this option to resume the download. See the "Environment Variables" section below for details about how to set the location used for temporary data storage.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR \fIpath_or_uri\fR\fR
+.ad
+.RS 19n
+.rt  
+The file system path or URI of the target to republish packages to. The target must already exist. New repositories can be created using \fBpkgrepo\fR(1). If \fB-a\fR is specified, the target is assumed to be a new package archive.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR\fR
+.ad
+.RS 19n
+.rt  
+Display a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-k\fR\fR
+.ad
+.RS 19n
+.rt  
+Keep the retrieved package content compressed. This option is ignored when republishing. Compressed package content should not be used with \fBpkgsend\fR(1).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR \fImatch\fR\fR
+.ad
+.RS 19n
+.rt  
+Controls matching behavior using the following values:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall-timestamps\fR\fR
+.ad
+.RS 18n
+.rt  
+Includes all matching timestamps, not just the latest (implies \fBall-versions\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBall-versions\fR\fR
+.ad
+.RS 18n
+.rt  
+Includes all matching versions, not just the latest.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 19n
+.rt  
+Perform a trial run with no changes made.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR\fR
+.ad
+.RS 19n
+.rt  
+Recursively retrieves all dependencies for the provided list of packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR \fIsrc_repo_uri\fR\fR
+.ad
+.RS 19n
+.rt  
+A URI representing the location of a \fBpkg\fR(5) repository or package archive from which to receive package data.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--cert\fR \fIfile\fR\fR
+.ad
+.RS 19n
+.rt  
+Specify a client SSL certificate file to use for package retrieval from an HTTPS repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--key\fR \fIfile\fR\fR
+.ad
+.RS 19n
+.rt  
+Specify a client SSL key file to use for package retrieval from an HTTPS repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--newest\fR\fR
+.ad
+.RS 19n
+.rt  
+List the most recent versions of the packages available from the specified repository and exit. (All other options except \fB-s\fR are ignored.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB--raw\fR\fR
+.ad
+.RS 19n
+.rt  
+Retrieve and store the raw package data in a set of directory structures by stem and version at the location specified by \fB-d\fR. This option can be used only with file system based destinations. This package data can be used to conveniently modify and republish packages, perhaps by correcting file contents or providing additional package metadata. This option cannot be combined with \fB-a\fR.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRList Newest Packages
+.sp
+.LP
+List the newest packages available from the repository on the system named \fBtest\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s http://test --newest\fR
+pkg:/[email protected],5.11-0.79:20080221T125720Z
+pkg:/[email protected],5.11-0.79:20080221T123955Z
+pkg:/[email protected],5.11-0.79:20080221T125728Z
+pkg:/[email protected],5.11-0.79:20080221T125730Z
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRRetrieve Raw Package Data
+.sp
+.LP
+Receive the \fBSUNWlibC\fR, \fBSUNWfreetype\fR, and \fBSUNWlibm\fR packages from Example 1 in a format suitable for use with \fBpkgsend include\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s http://test \e\fR
+\[email protected],5.11-0.79:20080221T125720Z --raw\fR
[email protected],5.11-0.79:20080221T123955Z
[email protected],5.11-0.79:20080221T125728Z
+$ \fBls -d SUNW*\fR
+SUNWfreetype2  SUNWlibC       SUNWlibm
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRetrieve Dependencies From a System
+.sp
+.LP
+Receive the package \fBSUNWvim\fR and all of its dependencies from the system named \fBtest\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s http://test -r SUNWvim\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRRetrieve All Versions
+.sp
+.LP
+Receive all versions of the package \fBSUNWvim\fR from the system named \fBtest\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s http://test -m all-versions SUNWvim\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRRetrieve All Versions and Republish Locally
+.sp
+.LP
+Receive all versions of the package \fBSUNWvim\fR from the system named \fBtest\fR and republish it to a local repository.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s http://test -d /local/repo SUNWvim\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRRetrieve All Versions and Republish Remotely
+.sp
+.LP
+Receive all versions of the package \fBSUNWzlib\fR from the system named \fBtest\fR and republish it to a remote repository on the system named \fBremote\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s http://test -d http://remote:10000 SUNWzlib\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRRetrieve Dependencies From a Repository
+.sp
+.LP
+Receive the package \fBSUNWemacs\fR and all of its dependencies from the repository located at \fB/export/repo\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s /export/repo -r SUNWemacs\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRRetrieve Additional Packages
+.sp
+.LP
+Receive all packages that do not already exist from the repository located at \fBhttp://example.com:10000\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s http://example.com:10000 -d /my/pkg/repo '*'\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRCreate a Package Archive
+.sp
+.LP
+Create a package archive containing the package \fBSUNWemacs\fR and all of its dependencies from the repository located at \fBhttp://example.com:10000\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s http://example.com:10000 -d /my/emacs.p5p -a -r SUNWemacs\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 10 \fRCopy Packages From an Archive to a Repository
+.sp
+.LP
+Copy all of the packages in a package archive to an existing repository located at \fB/export/repo\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrecv -s /my/archive.p5p -d /export/repo '*'\fR
+.fi
+.in -2
+.sp
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+The following environment variables are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPKG_DEST\fR\fR
+.ad
+.RS 12n
+.rt  
+The path of a directory to save the retrieved package to, or the file system path or URI of a repository or package archive where the packages will be copied.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBPKG_SRC\fR\fR
+.ad
+.RS 12n
+.rt  
+A URI or file system path representing the location of a \fBpkg\fR(5) repository or package archive from which to retrieve packages.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTMPDIR\fR\fR
+.ad
+.RS 12n
+.rt  
+The absolute path of the directory where temporary data should be stored during program execution. If not set, the default is to store temporary data in \fB/var/tmp\fR.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 6n
+.rt  
+Multiple operations were requested, but only some of them succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkgrepo\fR(1), \fBpkgsend\fR(1), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkgrecv.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-User Commands                                            pkgrecv(1)
-
-
-NAME
-     pkgrecv - image packaging system content retrieval utility
-
-SYNOPSIS
-     /usr/bin/pkgrecv [-s src_uri] [-a] [-d (path|dest_uri)] [-c cache_dir]
-         [-kr] [-m match] [-n] [--raw] [--key keyfile --cert certfile]
-         (fmri|pattern) ...
-     /usr/bin/pkgrecv [-s src_uri] --newest
-
-DESCRIPTION
-     pkgrecv allows the user to retrieve packages from a pkg(5) repository
-     or package archive.  It can also optionally republish the retreived
-     packages to a different package repository or archive them.  By
-     default, packages are retrieved in package repository format suitable
-     for use with pkg(1), pkg.depotd(1M), and package publication tools.
-
-OPTIONS
-     The following options are supported:
-
-     -a              Store the retrieved package data in a pkg(5) archive
-                     at the location specified by -d.  The file may not
-                     already exist, and this option may only be used with
-                     filesystem-based destinations.  Although not required,
-                     it is strongly suggested that a file extension of
-                     '.p5p' is used (e.g. 'archive.p5p').  This option may
-                     not be combined with --raw.
-
-     -c cache_dir    The path to a directory that will be used to cache
-                     downloaded content.  If one is not supplied, the
-                     client will automatically pick a cache directory.
-                     In the case where a download is interrupted, and a
-                     cache directory was automatically chosen, use this
-                     option to resume the download.  See ENVIRONMENT
-                     VARIABLES below for details on how to set the location
-                     used for temporary data storage.
-
-     -d path_or_uri  The filesystem path or URI of the target to republish
-                     packages to.  The target must already exist.  New
-                     repositories can be created using pkgrepo(1).  If
-                     -a is specified, the target is assumed to be a new
-                     package archive.
-
-     -h              Display usage message.
-
-     -k              Keep the retrieved package content compressed, ignored
-                     when republishing.  Should not be used with pkgsend(1).
-
-     -m match        Controls matching behavior using the following values:
-                         all-timestamps
-                             includes all matching timestamps, not just
-                             latest (implies all-versions)
-                         all-versions
-                             includes all matching versions, not just latest
-
-     -n              Perform a trial run with no changes made.
-
-     -r              Recursively retrieves all dependencies for the provided
-                     list of packages.
-
-     -s src_repo_uri A URI representing the location of a pkg(5) repository
-                     or package archive from which to receive package data.
-
-     --cert file     Specify a client SSL certificate file to use for package
-                     retrieval from an HTTPS repository.
-
-     --key file      Specify a client SSL key file to use for package retrieval
-                     from an HTTPS repository.
-
-     --newest        List the most recent versions of the packages available
-                     from the specified repository and exit.  (All other
-                     options except -s will be ignored.)
-
-     --raw           Retrieve and store the raw package data in a set of
-                     directory structures by stem and version at the location
-                     specified by -d.  May only be used with filesystem-
-                     based destinations.  This can be used with pkgsend(1)
-                     include to conveniently modify and republish packages,
-                     perhaps by correcting file contents or providing
-                     additional package metadata.  This option may not be
-                     combined with -a.
-
-
-
-EXAMPLES
-     Example 1:  List newest packages available from the repository on
-     the system named 'test'.
-
-     $ pkgrecv -s http://test --newest
-     pkg:/[email protected],5.11-0.79:20080221T125720Z
-     pkg:/[email protected],5.11-0.79:20080221T123955Z
-     pkg:/[email protected],5.11-0.79:20080221T125728Z
-     pkg:/[email protected],5.11-0.79:20080221T125730Z
-
-     Example 2: Receive the SUNWlibC, SUNWfreetype, and SUNWlibm
-     packages from example 1 in a format suitable for use with
-     pkgsend(1) include.
-
-     $ pkgrecv -s http://test [email protected],5.11-0.79:20080221T125720Z \
-         --raw
-     [email protected],5.11-0.79:20080221T123955Z
-     [email protected],5.11-0.79:20080221T125728Z
-     $ ls -d SUNW*
-     SUNWfreetype2  SUNWlibC       SUNWlibm
-
-     Example 3: Receive the package "SUNWvim" and all of its dependencies
-     from the system named 'test'.
-
-     $ pkgrecv -s http://test -r SUNWvim
-
-     Example 4: Receive all versions of the package "SUNWvim" from the
-     system named 'test'.
-
-     $ pkgrecv -s http://test -m all-versions SUNWvim
-
-     Example 5: Receive all versions of the package "SUNWvim" from the
-     system named 'test' and republish it to a local repository.
-
-     $ pkgrecv -s http://test -d /local/repo SUNWvim
-
-     Example 6: Receive all versions of the package "SUNWzlib" from the
-     system named 'test' and republish it to a remote repository on the
-     system named 'remote'.
-
-     $ pkgrecv -s http://test -d http://remote:10000 SUNWzlib
-
-     Example 7: Receive the package "SUNWemacs" and all of its dependencies
-     from the repository located at '/export/repo'.
-
-     $ pkgrecv -s /export/repo -r SUNWemacs
-
-     Example 8: Receive all packages that do not already exist from the
-     repository located at 'http://example.com:10000':
-
-     $ pkgrecv -s http://example.com:10000 -d /my/pkg/repo '*'
-
-     Example 9: Create a package archive containing the package "SUNWemacs"
-     and all of its dependencies from the repository located at
-     http://example.com:10000:
-
-     $ pkgrecv -s http://example.com:10000 -d /my/emacs.p5p -a -r SUNWemacs
-
-     Example 10: Copy all of the packages in a package archive to an
-     existing repository located at '/export/repo':
-
-     $ pkgrecv -s /my/archive.p5p -d /export/repo '*'
-
-ENVIRONMENT VARIABLES
-     The following environment variables are supported:
-
-     PKG_DEST
-          The path of a directory to save the retrieved packages to, or the
-          filesystem path or URI of a repository or package archive where
-          the packages will be copied.
-
-     PKG_SRC
-          A URI or filesystem path representing the location of a pkg(5)
-          repository or package archive from which to retrieve packages.
-
-     TMPDIR
-          The absolute path of the directory where temporary data should be
-          stored during program execution.  If not set, the default is to
-          store temporary data in /var/tmp.
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Command succeeded.
-
-     1     An error occurred.
-
-     2     Invalid command line options were specified.
-
-     3     Multiple operations were requested, but only some of them
-           succeeded.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                |                             |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     pkgrepo(1), pkgsend(1), attributes(5), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at
-
-     http://opensolaris.org/os/project/pkg/
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgrepo.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,697 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgrepo 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgrepo \- Image Packaging System repository management utility
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgrepo create [--version] \fIuri_or_path\fR
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo add-publisher -s \fIrepo_uri_or_path\fR \fIpublisher\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo get [-F \fIformat\fR] [-p \fIpublisher\fR ...]
+    -s \fIrepo_uri_or_path\fR [\fIsection/property\fR ...]
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo info [-F \fIformat\fR] [-H] [-p \fIpublisher\fR ...]
+    -s \fIrepo_uri_or_path\fR
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo rebuild [-p \fIpublisher\fR ...]
+    -s \fIrepo_uri_or_path\fR [--no-catalog] [--no-index]
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo refresh [-p \fIpublisher\fR ...]
+    -s \fIrepo_uri_or_path\fR [--no-catalog] [--no-index]
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo remove [-n] [-p \fIpublisher\fR ...]
+    -s \fIrepo_uri_or_path\fR \fIpkg_fmri_pattern\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo set [-p \fIpublisher\fR] -s \fIrepo_uri_or_path\fR
+    \fIsection/property\fR=[\fIvalue\fR] ... or
+    \fIsection/property\fR=([\fIvalue\fR]) ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo help
+.fi
+
+.LP
+.nf
+/usr/bin/pkgrepo version
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgrepo\fR provides the ability to create and manage \fBpkg\fR(5) package repositories. Package repositories are a predefined set of directories and files that permit the storage and retrieval of package data by \fBpkg\fR(1) and publication clients such as \fBpkgsend\fR(1) or \fBpkgrecv\fR(1). In addition, when network-based access to a package repository is needed, \fBpkg.depotd\fR(1m) can provide clients access to the repository to store and/or retrieve package data.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB--help\fR or \fB-?\fR
+.ad
+.RS 16n
+.rt  
+Displays a usage message.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBcreate\fR [\fB--version\fR] \fIuri_or_path\fR
+.ad
+.sp .6
+.RS 4n
+Creates a \fBpkg\fR(5) repository at the specified location.
+.sp
+This subcommand can be used only with file system based repositories.
+.sp
+With \fB--version\fR, create a repository in a format compatible with the specified version. By default, version 4 repositories are created. Supported versions are:
+.sp
+
+.sp
+.TS
+tab();
+lw(.33i) lw(5.17i) 
+lw(.33i) lw(5.17i) 
+.
+3T{
+Supports storage of packages for a single publisher, catalog version 1, and search version 1.
+T}
+4T{
+Supports storage of packages for multiple publishers, catalog version 1, and search version 1.
+T}
+.TE
+
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBadd-publisher\fR \fB-s\fR \fIrepo_uri_or_path\fR \fIpublisher\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Adds the specified publishers to the repository. The new publishers have no packages or content.
+.sp
+This subcommand can be used only with version 4 file system based repositories.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBget\fR [\fB-F\fR \fIformat\fR] [\fB-p\fR \fIpublisher\fR ...] \fB-s\fR \fIrepo_uri_or_path\fR [\fIsection/property\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Displays the property information for the repository or its publishers.
+.sp
+By default, each property and its value are printed on separate lines. Empty ASCII string values are represented by a pair of double quotation marks (\fB""\fR). The following Bourne shell metacharacters, and newline, space, and tab, in ASCII string values must be escaped by backslash characters (\fB\e\fR):
+.sp
+.in +2
+.nf
+; & ( ) | ^ < > \e " ' `
+.fi
+.in -2
+
+See the "Examples" section.
+.sp
+For a list of possible properties and the purpose and value of each property, see the \fBset\fR subcommand below.
+.sp
+With \fB-F\fR, specify an alternative output format. The only value for \fIformat\fR is \fBtsv\fR (Tab Separated Values).
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.sp
+With \fB-p\fR, display the property information for the given publisher. The special value \fBall\fR displays the properties for all publishers. This option can be specified multiple times.
+.sp
+With \fB-s\fR, operate on the repository located at the given URI or file system path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinfo\fR [\fB-F\fR \fIformat\fR] [\fB-H\fR] [\fB-p\fR \fIpublisher\fR ...] \fB-s\fR \fIrepo_uri_or_path\fR
+.ad
+.sp .6
+.RS 4n
+Displays a listing of the package publishers known by the repository. The listing includes the number of packages for each publisher, when the publisher's package data was last updated, and the status of the publisher's package data (such as whether it is currently being processed).
+.sp
+With \fB-F\fR, specify an alternative output format. The only value for \fIformat\fR is \fBtsv\fR (Tab Separated Values).
+.sp
+With \fB-H\fR, omit the headers from the listing.
+.sp
+With \fB-p\fR, only display the data for the given publisher. If not provided, the data for all publishers is displayed. This option can be specified multiple times.
+.sp
+With \fB-s\fR, operate on the repository located at the given URI or file system path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrebuild\fR [\fB-p\fR \fIpublisher\fR ...] \fB-s\fR \fIrepo_uri_or_path\fR [\fB--no-catalog\fR] [\fB--no-index\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Discards all catalog, search, and other cached information found in the repository, and then recreates it based on the current contents of the repository.
+.sp
+With \fB-p\fR, perform the operation only for the given publisher. If not provided, or if the special value \fBall\fR is specified, the operation is performed for all publishers. This option can be specified multiple times.
+.sp
+With \fB-s\fR, operate on the repository located at the given URI or file system path.
+.sp
+With \fB--no-catalog\fR, do not rebuild package data.
+.sp
+With \fB--no-index\fR, do not rebuild search indexes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrefresh\fR [\fB-p\fR \fIpublisher\fR ...] \fB-s\fR \fIrepo_uri_or_path\fR [\fB--no-catalog\fR] [\fB--no-index\fR]\fR
+.ad
+.sp .6
+.RS 4n
+Catalogs any new packages found in the repository and updates all search indexes. This is intended for use with deferred publication (\fB--no-catalog\fR or \fB--no-index\fR options of \fBpkgsend\fR).
+.sp
+With \fB-p\fR, perform the operation only for the given publisher. If not provided, or if the special value \fBall\fR is specified, the operation is performed for all publishers. This option can be specified multiple times.
+.sp
+With \fB-s\fR, operate on the repository located at the given URI or file system path.
+.sp
+With \fB--no-catalog\fR, do not add any new packages.
+.sp
+With \fB--no-index\fR, do not update search indexes.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBremove\fR [\fB-n\fR] [\fB-p\fR \fIpublisher\fR ...] \fB-s\fR \fIrepo_uri_or_path\fR \fIpkg_fmri_pattern\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Removes the packages matching the specified patterns from the repository, including any files they reference that are not in use by any other package.
+.LP
+Note - 
+.sp
+.RS 2
+All search index data for related publishers is removed.
+.RE
+This subcommand can be used only with file system based repositories.
+.LP
+Caution - 
+.sp
+.RS 2
+This operation is not reversible and should not be used while other clients are accessing the repository since it might cause them to fail during retrieval operations.
+.RE
+With \fB-n\fR, perform a trial run of the operation with no package changes made. A list of the packages to be removed is displayed before exiting.
+.sp
+With \fB-p\fR, only remove matching packages for the given publisher. If not provided, any matching packages are removed for all publishers. This option can be specified multiple times.
+.sp
+With \fB-s\fR, operate on the repository located at the given URI or file system path.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset\fR [\fB-p\fR \fIpublisher\fR] \fB-s\fR \fIrepo_uri_or_path\fR \fIsection/property\fR=[\fIvalue\fR] ... or \fIsection/property\fR=([\fIvalue\fR]) ...\fR
+.ad
+.sp .6
+.RS 4n
+Sets the value of the specified properties for the repository or publisher.
+.sp
+This subcommand can be used only with file system based repositories.
+.sp
+With \fB-p\fR, only set property data for the given publisher. If the publisher does not already exist, it is added. The special value \fBall\fR can be used to set the property for all publishers.
+.sp
+With \fB-s\fR, operate on the repository located at the given URI or file system path.
+.sp
+Properties and values can be specified using one of the following forms:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsection\fR/\fIproperty\fR=\fR
+.ad
+.sp .6
+.RS 4n
+Clear the property value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsection\fR/\fIproperty\fR=\fIvalue\fR\fR
+.ad
+.sp .6
+.RS 4n
+Replace the property value with the given value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIsection\fR/\fIproperty\fR=(\fIvalue1\fR \fIvalue2\fR \fIvalueN\fR)\fR
+.ad
+.sp .6
+.RS 4n
+Replace the property value with the list of values.
+.RE
+
+For repository versions 3 and 4, the following properties can be set for the repository:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpublisher\fR/\fIprefix\fR\fR
+.ad
+.sp .6
+.RS 4n
+A string that represents the name of the default publisher. The first character must be a-z, A-Z, or 0-9. The remainder of the string can only contain the characters 0-9, -, ., a-z, and A-Z. This value indicates the publisher that should be used when more than one publisher's packages are present, or when packages are published to the repository and a publisher is not specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpublisher\fR/\fIsigning_ca_certs\fR\fR
+.ad
+.sp .6
+.RS 4n
+A list of strings that contain the hashes of signing CA certificates that should be used for this publisher.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpublisher\fR/\fIintermediate_certs\fR\fR
+.ad
+.sp .6
+.RS 4n
+A list of strings that contain the hashes of intermediate certificates that should be used for this publisher.
+.RE
+
+For repository versions 3 and 4, the following properties can be set for individual publishers in the repository:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIpublisher\fR/\fIalias\fR\fR
+.ad
+.sp .6
+.RS 4n
+A string that represents the default alias that clients should use when adding a publisher using the repository's configuration data. The first character must be a-z, A-Z, or 0-9. The remainder of the string can only contain the characters 0-9, -, ., a-z, and A-Z.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIcollection_type\fR\fR
+.ad
+.sp .6
+.RS 4n
+Can have the value \fBcore\fR or \fBsupplemental\fR, indicating the type of packages offered in this repository.
+.sp
+The \fBcore\fR type indicates that the repository contains all of the dependencies declared by packages in the repository. The \fBcore\fR type is primarily used for operating system repositories.
+.sp
+The \fBsupplemental\fR type indicates that the repository contains packages that rely on or are intended to be used with packages located in another repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIdescription\fR\fR
+.ad
+.sp .6
+.RS 4n
+A paragraph of plain text that describes the purpose and contents of the repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIdetailed_url\fR\fR
+.ad
+.sp .6
+.RS 4n
+A URI that represents the location of a document (such as a web page) that provides additional information about the repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIlegal_uris\fR\fR
+.ad
+.sp .6
+.RS 4n
+A list of locations (URIs) for documents that provide additional legal information about the repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fImirrors\fR\fR
+.ad
+.sp .6
+.RS 4n
+A list of locations (URIs) of repositories that contain a copy of the repository's package content but not the package metadata.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIname\fR\fR
+.ad
+.sp .6
+.RS 4n
+A plain text string that contains the name of the repository.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIorigins\fR\fR
+.ad
+.sp .6
+.RS 4n
+A list of locations (URIs) of repositories that contain a complete copy of the repository's package metadata and content.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIrefresh_seconds\fR\fR
+.ad
+.sp .6
+.RS 4n
+An integer value that represents the number of seconds clients should wait before checking the repository for updated package data after each update check.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIregistration_uri\fR\fR
+.ad
+.sp .6
+.RS 4n
+A URI that represents the location of a resource that must be used to obtain credentials for access to the repository. A registration web page is one example.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIrepository\fR/\fIrelated_uris\fR\fR
+.ad
+.sp .6
+.RS 4n
+A list of locations (URIs) of repositories that contain packages that users might be interested in.
+.RE
+
+Properties not documented here, but listed in the output of the \fBget\fR subcommand, are reserved for internal use and should not be set.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBversion\fR
+.ad
+.sp .6
+.RS 4n
+Displays a unique string that identifies the version of the \fBpkg\fR(5) system. The values produced by the \fBversion\fR operation are not sortable and are not safe for comparison beyond equality.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreate a Package Repository
+.sp
+.in +2
+.nf
+$ \fBpkgrepo create /my/repository\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRDisplay Information
+.sp
+.LP
+Display a summary of publishers and the number of packages in a repository.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrepo info -s /my/repository\fR
+PUBLISHER   PACKAGES STATUS UPDATED
+example.com 5        online 2011-07-22T18:09:09.769106Z
+$ \fBpkgrepo info -s http://pkg.oracle.com/solaris/release/\fR
+PUBLISHER PACKAGES STATUS UPDATED
+solaris   3941     online 2010-11-12T19:24:25.967246Z
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRRebuild Catalogs and Search Data
+.sp
+.LP
+Rebuild the repository's catalogs and search data.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrepo rebuild -s /my/repository\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 4 \fRRefresh Catalogs and Search Data
+.sp
+.LP
+Refresh the repository's catalogs and search data.
+
+.sp
+.in +2
+.nf
+$ \fBpkgrepo refresh -s /my/repository\fR
+$ \fBpkgrepo refresh -s http://example.com/repository\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 5 \fRDisplay All Repository Properties
+.sp
+.in +2
+.nf
+$ \fBpkgrepo get -s /my/repository\fR
+SECTION    PROPERTY VALUE
+publisher  prefix   ""
+repository version  4
+$ \fBpkgrepo get -s http://pkg.oracle.com/solaris/release/\fR
+SECTION    PROPERTY VALUE
+publisher  prefix   solaris
+repository version  4
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 6 \fRDisplay All Publisher Properties
+.sp
+.in +2
+.nf
+$ \fBpkgrepo get -s http://pkg.oracle.com/solaris/release/ -p all\fR
+PUBLISHER SECTION    PROPERTY         VALUE
+solaris   publisher  alias
+solaris   publisher  prefix           solaris
+solaris   repository collection-type  core
+solaris   repository description      This\e repository\e serves\e the\e Oracle\e Solaris\e 11\e Package\e repository.
+solaris   repository legal-uris       ()
+solaris   repository mirrors          (http://pkg-cdn1.oracle.com/solaris.release/)
+solaris   repository name             Oracle\e Solaris\e 11\e Package\e Repository
+solaris   repository origins          ()
+solaris   repository refresh-seconds
+solaris   repository registration-uri ""
+solaris   repository related-uris     ()
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 7 \fRSet the Default Publisher
+.sp
+.in +2
+.nf
+$ \fBpkgrepo set -s /my/repository publisher/prefix=example.com\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 8 \fRSet a Publisher Property
+.sp
+.in +2
+.nf
+$ \fBpkgrepo set -s /my/repository -p example.com \e\fR
+\fBrepository/origins=http://example.com/repository\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 9 \fRAdd a New Publisher To the Repository
+.sp
+.in +2
+.nf
+$ \fBpkgrepo add-publisher -s /my/repository example.com\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB3\fR
+.ad
+.RS 6n
+.rt  
+Multiple operations were requested, but only some of them succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB4\fR
+.ad
+.RS 6n
+.rt  
+No changes were made, nothing to do.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB99\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(1), \fBpkgrecv\fR(1), \fBpkgsend\fR(1), \fBpkg.depotd\fR(1M), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkgrepo.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-User Commands                                            pkgrepo(1)
-
-
-NAME
-     pkgrepo - image packaging system repository management utility
-
-SYNOPSIS
-     pkgrepo create [--version] uri_or_path
-
-     pkgrepo add-publisher -s repo_uri_or_path publisher ...
-
-     pkgrepo get [-F format] [-p publisher ...] -s repo_uri_or_path
-         [section/property ...]
-
-     pkgrepo info [-F format] [-H] [-p publisher ...]
-         -s repo_uri_or_path
-
-     pkgrepo rebuild [-p publisher ...] -s repo_uri_or_path
-         [--no-catalog] [--no-index]
-
-     pkgrepo refresh [-p publisher ...] -s repo_uri_or_path
-         [--no-catalog] [--no-index]
-
-     pkgrepo remove [-n] [-p publisher ...] -s repo_uri_or_path
-         pkg_fmri_pattern ...
-
-     pkgrepo set [-p publisher] -s repo_uri_or_path
-         section/property=[value] ... or
-         section/property=([value]) ...
-
-     pkgrepo help
-     pkgrepo version
-
-DESCRIPTION
-     pkgrepo provides the ability to create and manage pkg(5) package
-     repositories.  Package repositories are a pre-defined set of
-     directories and files that permit the storage and retrieval of
-     package data by pkg(1) and publication clients such as pkgsend(1)
-     or pkgrecv(1).  In addition, when network-based access to a
-     package repository is needed, pkg.depotd(1m) can provide clients
-     access to the repository to store and/or retrieve package data.
-
-OPTIONS
-     The following options are supported:
-
-     --help or -?
-          Displays a usage message.
-
-SUBCOMMANDS
-     The following subcommands are supported:
-
-     create [--version] <uri_or_path>
-          May only be used with filesystem-based repositories.
-
-          Creates a pkg(5) repository at the specified location.
-
-          With --version, create a repository in a format compatible
-          with the specified version.  By default, version 4
-          repositories are created.  Supported versions are:
-
-               3    Supports storage of packages for a single
-                    publisher, catalog version 1, and search
-                    version 1.
-
-               4    Supports storage of packages for multiple
-                    publishers, catalog version 1, and search
-                    version 1.
-
-     add-publisher -s repo_uri_or_path publisher ...
-          May only be used with version 4 filesystem-based repositories.
-
-          Add the specified publisher(s) to the repository.  The new
-          publisher(s) will not have any packages or content.
-
-     get [-F format] [-H] [-p publisher ...] -s repo_uri_or_path
-       [section/property ...]
-          Displays the property information for the repository or
-          its publishers.
-
-          By default, each property and its value are printed on
-          separate lines.  Empty ASCII string values are represented
-          by a  pair of double  quotes ("").  Bourne  shell  meta-
-          characters (';', '&', '(', ')', '|', '^', '<', '>', newline,
-          space, tab, backslash, '"', single-quote, '`') in ASCII
-          string values are quoted by backslashes (\).
-
-          For a list of possible properties, the purpose of each and its
-          value, see the set subcommand below.
-
-          With -F, specify an alternative output format.  Currently,
-          only 'tsv' (Tab Separated Values) is valid.
-
-          With -H, omit the headers from the listing.
-
-          With -p, display the property information for the given
-          publisher.  The special value 'all' can be used to display
-          the properties for all publishers.  This option may be
-          specified multiple times.
-
-          With -s, operate on the repository located at the given URI
-          or filesystem path.
-
-     info [-F format] [-H] [-p publisher ...] -s repo_uri_or_path
-          Displays a listing of the package publishers known by the
-          repository.  The listing includes the number of packages
-          for each publisher, when the publisher's package data was
-          last updated, and the status of the publisher's package
-          data (such as whether it is currently being processed).
-
-          With -F, specify an alternative output format.  Currently,
-          only 'tsv' (Tab Separated Values) is valid.
-
-          With -H, omit the headers from the listing.
-
-          With -p, only display the data for the given publisher.
-          If not provided, the data for all publishers will be
-          displayed.  This option may be specified multiple times.
-
-          With -s, operate on the repository located at the given URI
-          or filesystem path.
-
-     rebuild [-p publisher ...] -s repo_uri_or_path [--no-catalog]
-       [--no-index]
-          Discards all catalog, search, and other cached information
-          found in the repository and then re-creates it based on the
-          current contents of the repository.
-
-          With -p, perform the operation only for the given publisher.
-          If not provided, or if the special value 'all' is specified,
-          the operation will be performed for all publishers.  This
-          option may be specified multiple times.
-
-          With -s, operate on the repository located at the given URI
-          or filesystem path.
-
-          With --no-catalog, don't rebuild package data.
-
-          With --no-index, don't rebuild search indexes.
-
-     refresh [-p publisher ...] -s repo_uri_or_path [--no-catalog]
-       [--no-index]
-          Catalogs any new packages found in the repository and
-          updates all search indexes.  This is intended for use with
-          deferred publication (--no-catalog or --no-index options of
-          pkgsend).
-
-          With -p, perform the operation only for the given publisher.
-          If not provided, or if the special value 'all' is specified,
-          the operation will be performed for all publishers.  This
-          option may be specified multiple times.
-
-          With -s, operate on the repository located at the given URI
-          or filesystem path.
-
-          With --no-catalog, don't add any new packages.
-
-          With --no-index, don't update search indexes.
-
-     remove [-n] [-p publisher ...] -s repo_uri_or_path
-       pkg_fmri_pattern ...
-          May only be used with filesystem-based repositories.
-
-          WARNING: This operation is not reversible and should not be used
-          while other clients are accessing the repository as it may cause
-          them to fail during retrieval operations.
-
-          Remove the packages matching the specified patterns from the
-          repository (including any files they reference that are not in
-          use by any other package).  Please note that all search index
-          data for related publishers will be removed.
-
-          With -n, perform a trial run of the operation with no package
-          changes made.  A list of the packages to be removed will be
-          displayed before exiting.
-
-          With -p, only remove matching packages for the given publisher.
-          If not provided, any matching packages will be removed for all
-          publishers.  This option may be specified multiple times.
-
-          With -s, operate on the repository located at the given URI
-          or filesystem path.
-
-     set [-p publisher] -s repo_uri_or_path [section/property=value ...]
-          May only be used with filesystem-based repositories.
-
-          Sets the value of the specified properties for the repository
-          or publishers.
-
-          With -p, only set property data for the given publisher.  If
-          the publisher does not already exist, it will be added.  The
-          special value 'all' may be used to set the property for all
-          publishers.
-
-          With -s, operate on the repository located at the given URI
-          or filesystem path.
-
-          Properties and values may be specified using one of the
-          following forms:
-
-               section/property=
-                    The property's value will be cleared.
-
-               section/property=value
-                    The property's value will replaced with the given
-                    value.
-
-               section/property=(value1 value2 valueN)
-                    The property's value will be replaced with the list of
-                    values.
-
-          For repository versions 3 and 4, the following properties can be
-          set for the repository:
-
-               publisher/prefix
-                    A string representing the name of the default
-                    publisher.  The first character must be a-z, A-Z, or
-                    0-9.  The remainder of the string may only contain the
-                    characters 0-9, -, ., a-z, and A-Z.  This value
-                    indicates the publisher that should be used when more
-                    than one publisher's packages are present, or when
-                    packages are published to the repository, and a
-                    publisher is not specified.
-
-               publisher/signing_ca_certs
-                    A list of strings containing the hashes of signing CA
-                    certificates that should be used for this publisher.
-
-               publisher/intermediate_certs
-                    A list of strings containing the hashes of intermediate
-                    certificates that should be used for this publisher.
-
-          For repository versions 3 and 4, the following properties can be
-          set for individual publishers in the repository:
-
-               publisher/alias
-                    A string representing the default alias that clients
-                    should use when adding a publisher using the
-                    repository's configuration data.  The first character
-                    must be a-z, A-Z, or 0-9.  The remainder of the string
-                    may only contain the characters 0-9, -, ., a-z, and
-                    A-Z.
-
-               repository/collection_type
-                    May have the value 'core' or 'supplemental', indicating
-                    the type of packages offered in this repository.
-
-                    The 'core' type indicates that the repository contains
-                    all of the dependencies declared by packages in the
-                    repository.  It is primarily used for operating system
-                    repositories.
-
-                    The 'supplemental' type indicates that the repository
-                    contains packages that rely on or are intended to be
-                    used with packages located in another repository.
-
-               repository/description
-                    A paragraph of plain text describing the purpose and
-                    contents of the repository.
-
-               repository/detailed_url
-                    A URI representing the location of a document (such as
-                    a web page) that provides additional information about
-                    the repository.
-
-               repository/legal_uris
-                    A list of locations (URIs) for documents that provide
-                    additional legal information about the repository.
-
-               repository/mirrors
-                    A list of locations (URIs) of repositories that contain
-                    a copy of the repository's package content (but not the
-                    package metadata).
-
-               repository/name
-                    A plain text string containing the name of the
-                    repository.
-
-               repository/origins
-                    A list of locations (URIs) of repositories that contain
-                    a complete copy of the repository's package metadata
-                    and content.
-
-               repository/refresh_seconds
-                    An integer value representing the number of seconds
-                    clients should wait before checking the repository
-                    for updated package data after each update check.
-
-               repository/registration_uri
-                    A URI representing the location of a resource that
-                    must be used to obtain credentials for access to the
-                    repository.  (Such as a registration web page.)
-
-               repository/related_uris
-                    A list of locations (URIs) of repositories that contain
-                    packages that users may be interested in.
-
-          Properties not documented here, but listed in the output of the
-          get subcommand, are reserved for internal use and should not be
-          set.
-
-     version
-          Display a unique string identifying the version of the
-          pkg(5) system.  The values produced by the version
-          operation are not sortable, or safe for comparison
-          beyond equality.
-
-EXAMPLES
-     Example 1:  Create a package repository.
-
-     $ pkgrepo create /my/repository
-
-     Example 2:  Display a summary of publishers and the number of
-         packages in a repository:
-
-     $ pkgrepo info -s /my/repository
-     PUBLISHER   PACKAGES STATUS UPDATED
-     example.com 5        online May 22, 2010 12:06:03 PM
-
-     $ pkgrepo info -s http://example.com/repository
-     PUBLISHER   PACKAGES STATUS UPDATED
-     example.com 5        online May 22, 2010 12:06:03 PM
-
-     Example 3:  Rebuild the repository's catalogs and search data.
-
-     $ pkgrepo rebuild -s /my/repository
-
-     Example 4:  Refresh the repository's catalogs and search data.
-
-     $ pkgrepo refresh -s /my/repository
-
-     $ pkgrepo refresh -s http://example.com/repository
-
-     Example 5:  Display all repository properties.
-
-     $ pkgrepo get -s /my/repository
-     PUBLISHER SECTION    PROPERTY VALUE
-               publisher  prefix   example.com
-
-     Example 6:  Display all publisher properties.
-
-     $ pkgrepo get -s /my/repository -p all
-     PUBLISHER   SECTION    PROPERTY VALUE
-     example.com repository origins  http://example.com/repository
-     example.net repository origins  http://example.net/repository
-
-     Example 7:  Set the default publisher.
-
-     $ pkgrepo set -s /my/repository publisher/prefix=example.com
-
-     Example 8:  Set a publisher property.
-
-     $ pkgrepo set -s /my/repository -p example.com \
-         repository/origins=http://example.com/repository
-
-     Example 9:  Add a new publisher to the repository.
-
-     $ pkgrepo add-publisher -s /my/repository example.com
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0    Command succeeded.
-
-     1    An error occurred.
-
-     2    Invalid command line options were specified.
-
-     3    Multiple operations were requested, but only some of them
-          succeeded.
-
-     4    No changes were made - nothing to do.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     pkg(1), pkgrecv(1), pkgsend(1), pkg.depotd(1M), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all
-     subject to change.  Development is hosted in the OpenSolaris
-     community at:
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgsend.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,337 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgsend 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgsend \- Image Packaging System publication client
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgsend [\fIoptions\fR] \fIcommand\fR [\fIcmd_options\fR] [\fIoperands\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/pkgsend generate [-T \fIpattern\fR] [--target \fIfile\fR]
+    \fIsource\fR ...
+.fi
+
+.LP
+.nf
+/usr/bin/pkgsend publish [-b \fIbundle\fR ...] [-d \fIsource\fR ...] 
+    [-s \fIrepo_uri_or_path\fR] [-T \fIpattern\fR] [--no-catalog]
+    [\fImanifest\fR ...]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgsend\fR enables the publication of new packages and new package versions to an image packaging repository using package manifests. To create or manage repositories, see \fBpkgrepo\fR(1). To create package archives from packages in an existing repository, see \fBpkgrecv\fR(1). For more information about package manifests, see \fBpkg\fR(5).
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB--help\fR or \fB-?\fR
+.ad
+.RS 16n
+.rt  
+Displays a usage message.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The following subcommands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fBgenerate\fR [\fB-T\fR \fIpattern\fR] [\fB--target\fR \fIfile\fR] \fIsource\fR ...\fR
+.ad
+.sp .6
+.RS 4n
+Read each \fIsource\fR (such as an SVR4 package, a directory, or a \fBtar\fR file) and emit the manifest that describes the \fIsource\fR to \fBstdout\fR. The output manifest can then be annotated, have dependencies added or analyzed using \fBpkgdepend\fR(1), and have its correctness verified using \fBpkglint\fR(1) before being passed to the \fBpublish\fR subcommand. The following are supported sources:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Filesystem format SVR4 packages
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Datastream format SVR4 packages
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+\fBtar\fR files
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+Directories
+.RE
+If the base name of files in the source match the patterns specified with \fB-T\fR, the timestamp of the file is added to the action for that file. The \fIpattern\fR uses shell matching rules:
+.sp
+.ne 2
+.mk
+.na
+\fB*\fR
+.ad
+.RS 20n
+.rt  
+Matches everything.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB?\fR
+.ad
+.RS 20n
+.rt  
+Matches any single character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB[\fIseq\fR]\fR
+.ad
+.RS 20n
+.rt  
+Matches any character in \fIseq\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB![\fIseq\fR]\fR
+.ad
+.RS 20n
+.rt  
+Matches any character not in \fIseq\fR.
+.RE
+
+When the specified source is a directory, there is no clear way to distinguish a \fBfile\fR action from a \fBhardlink\fR action when there are multiple path names for a single inode. Normally, the first one found in the file system walk is treated as a file and the rest as hardlinks. This can be arbitrary, depending on the implementation of the file system. To specify which path names should be treated as files, pass each path name as an argument to the \fB--target\fR option. This option has no effect on other types of sources because they are capable of expressing which path names are files and which are hardlinks.
+.sp
+When SVR4 packages are provided as a source, \fBpkgsend\fR checks that no files with class action scripts are present and no preinstall, postinstall, preremove, or postremove scripts are present. An exception is made for any SMF manifests installed with the \fBmanifest\fR class. \fBBASEDIR\fR is removed from all relocatable paths.
+.sp
+The SVR4 \fBDESC\fR parameter is converted to a \fBpkg.description\fR value. The SVR4 \fBNAME\fR parameter is converted to a \fBpkg.summary\fR value.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpublish\fR [\fB-b\fR \fIbundle\fR ...] [\fB-d\fR \fIsource\fR ...] [\fB-s\fR \fIrepo_uri_or_path\fR] [\fB-T\fR \fIpattern\fR] [\fB--no-catalog\fR] [\fImanifest\fR ...]\fR
+.ad
+.sp .6
+.RS 4n
+Publishes a package using the specified package manifests to the target package repository, retrieving files for the package from the provided sources. If multiple manifests are specified, they are joined in the order provided. If a manifest is not specified, the manifest is read from \fBstdin\fR.
+.sp
+With \fB-b\fR, add the specified bundle to the list of sources to search when looking for files in the manifest. Bundles are sources such as tar files and SVR4 packages. If this option is specified multiple times, sources are searched in the order they appear on the command line. If both \fB-b\fR and \fB-d\fR are specified, \fB-d\fR sources are searched first. For a description of supported bundles and how they are used, refer to the \fBgenerate\fR subcommand above.
+.sp
+With \fB-d\fR, add the specified directory to the list of sources to search when looking for files in the manifest. If this option is specified multiple times, sources are searched in the order they appear on the command line. For a description of supported sources and how they are used, refer to the \fBgenerate\fR subcommand above.
+.sp
+With \fB-s\fR, publish the package to the repository located at the given URI or file system path. See the "Notes" section below for more information about restrictions and suggestions for publication. See also the "Environment Variables" section.
+.sp
+With \fB--no-catalog\fR, do not add the package to the publisher's catalog. This option is recommended whenever multiple packages are being published at one time as updates to publisher catalogs must be performed serially. Once publication is complete, the \fBrefresh\fR subcommand of \fBpkgrepo\fR(1) can be used to add the new packages to the respective publisher catalogs.
+.sp
+For all other options, refer to the \fBgenerate\fR subcommand above for usage and their effects.
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fBPKG_REPO\fR
+.ad
+.RS 12n
+.rt  
+The path or URI of the destination repository.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRGenerate and Publish a Package
+.sp
+.LP
+Create a package using \fBpkgsend generate\fR and publish it.
+
+.sp
+.in +2
+.nf
+$ \fBpkgsend generate /path/to/proto > /path/to/manifests/foo.p5m\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+Add the package FMRI for the \fBexample.com\fR publisher to the beginning of \fBfoo.p5m\fR.
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected]
+.fi
+.in -2
+
+.sp
+.LP
+The resulting manifest should look like this:
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected]
+dir group=sys mode=0755 owner=root path=usr
+dir group=bin mode=0755 owner=root path=usr/bin
+file usr/bin/foo group=bin mode=0555 owner=root path=usr/bin/foo
+.fi
+.in -2
+
+.sp
+.in +2
+.nf
+$ \fBpkgsend publish -s http://example.com:10000 -d /path/to/proto \e\fR
+\fB/path/to/manifests/foo.p5m\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRCreate and Publish a Trivial Package
+.sp
+.LP
+Create a manifest for publisher \fBexample.com\fR containing the following lines:
+
+.sp
+.in +2
+.nf
+set name=pkg.fmri value=pkg://example.com/[email protected]
+file /exdir/foo mode=0555 owner=root group=bin path=/usr/bin/foo
+.fi
+.in -2
+
+.sp
+.LP
+Publish the package:
+
+.sp
+.in +2
+.nf
+$ \fBpkgsend publish -s http://example.com:10000 -d /exdir\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRUse a Preexisting Manifest
+.sp
+.LP
+Publish a package using file system based publication and a preexisting manifest.
+
+.sp
+.in +2
+.nf
+$ \fBpkgsend publish -s /tmp/example_repo -d /tmp/pkg_files \e\fR
+\fB/tmp/pkg_manifest\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB0\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB1\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB2\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB99\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkgdepend\fR(1), \fBpkgrepo\fR(1), \fBpkg.depotd\fR(1M), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
+.SH NOTES
+.sp
+.LP
+Because of publication protocol limitations, file system based publication must be used when publishing individual package files that are greater than 128 MB in size. File system based publication is also recommended when access control for a repository is needed.
+.sp
+.LP
+When using file system based publication, any \fBpkg.depotd\fR processes that are serving the target repository must be restarted after publication is completed for the changes to be reflected in its web interface or search responses. See \fBpkg.depotd\fR(1M) for more information.
--- a/src/man/pkgsend.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-User Commands                                            pkgsend(1)
-
-
-NAME
-     pkgsend - image packaging system publication client
-
-SYNOPSIS
-     /usr/bin/pkgsend [options] command [cmd_options] [operands]
-
-     /usr/bin/pkgsend generate [-T pattern] [--target file] source ...
-
-     /usr/bin/pkgsend publish [-d source ...] [-s repo_uri_or_path] [-T pattern]
-       [--no-catalog] [manifest ...]
-
-DESCRIPTION
-     pkgsend allows the publication of new packages and new package
-     versions to an image packaging repository using package manifests.
-     To create or manage repositories, see pkgrepo(1).  To create package
-     archives from packages in an existing repository, see pkgrecv(1).
-     For more information about package manifests see pkg(5).
-
-OPTIONS
-     The following options are supported:
-
-     --help or -?
-          Displays a usage message.
-
-SUBCOMMANDS
-     The following subcommands are supported:
-
-     generate [-T pattern] [--target file] source ...
-
-          Read each given source (such as an SVR4 package, directory, tarfile,
-          etc.) and emit the manifest describing the sources to stdout.  The
-          emitted  manifest can be annotated, have dependencies added or analyzed
-          using pkgdepend(1), and its correctness can be verified using pkglint(1),
-          etc. before being passed to the publish subcommand.  Supported sources are:
-
-            - filesystem format SVR4 packages
-            - datastream format SVR4 packages
-            - tar files
-            - directories
-
-          If the basename of files in the source match the pattern(s) specified
-          with -T, the timestamp of the file is added to the action for that file.
-          The pattern uses shell matching rules:
-
-               *      matches everything
-               ?      matches any single character
-               [seq]  matches any character in seq
-               [!seq] matches any character not in seq
-
-          When the specified source is a directory, there is no clear way to
-          distinguish a file action from a hardlink action when there are
-          multiple pathnames for a single inode.  Normally, the first one
-          found in the filesystem walk is treated as a file and the rest as
-          hardlinks.  This may be arbitrary, depending on the implementation
-          of the filesystem.  To specify which pathnames should be treated as
-          files, pass each pathname as an argument to the --target option.
-          This option has no effect on other types of sources, as they are
-          capable of expressing which pathnames are files and which are
-          hardlinks.
-
-          When SVR4 packages are provided as a source, pkgsend(1) will check that
-          no files with class action scripts are present and no preinstall,
-          postinstall, preremove or postremove scripts are present.  An exception
-          is made for any SMF manifests installed with the "manifest" class.
-          BASEDIR will be removed from all relocatable paths.
-
-          Any SVR4 package parameters not listed in pkginfo(4) are automatically
-          converted to "set" actions, with the name "pkg.send.convert.<name>"
-          where <name> is the lower case name of the SVR4 package parameter.  An
-          exception is made for the SVR4 parameter "SUNW_PKG_HOLLOW", which, if
-          set to "true" will result in all generated actions getting a
-          "pkg.send.convert.sunw-pkg-hollow=true" attribute, allowing future
-          pkgmogrify(1) transforms to be performed on these actions if necessary.
-
-          The SVR4 "DESC" parameter is converted to a pkg.description value.
-          The SVR4 "NAME" parameter is converted to a pkg.summary value.
-
-     publish [-b bundle ...] [-d basedir ...] [-s repo_uri_or_path] [-T pattern]
-       [--no-catalog] [manifest ...]
-
-          Publishes a package using the specified package manifest(s) to the
-          target package repository, retrieving files for the package from
-          the provided source(s).  If multiple manifests are specified, they
-          will be joined in the order provided.  If a manifest is not specified,
-          the manifest will be read from stdin.
-
-          With -b, add the specified bundle to the list of sources to search
-          when looking for files in the manifest.  Bundles are sources such as
-          tar files and SVR4 packages.  If this option is specified multiple
-          times, sources are searched in the order they appear on the command
-          line.  If both -b and -d are specified, -d sources are searched first.
-          For a description of supported bundles and how they are used, refer to
-          the generate subcommand above.
-
-          With -d, add the specified directory to the list of sources to search
-          when looking for files in the manifest.  If this option is specified
-          multiple times, sources are searched in the order they appear on the
-          command line.  For a description of supported sources and how they
-          are used, refer to the generate subcommand above.
-
-          With -s, publish the package to the repository located at the given URI
-          or filesystem path.  See the NOTES section below for more information
-          about restrictions and suggestions for publication.  See also
-          ENVIRONMENT VARIABLES.
-
-          With --no-catalog, do not add the package to the publisher's catalog.
-          This option is recommended whenever multiple packages are being
-          published at a time as updates to publisher catalogs must be performed
-          serially.  Once publication is complete, the refresh subcommand of
-          pkgrepo(1) can be used to add the new packages to the respective
-          publisher catalogs.
-
-          For all other options, refer to the generate subcommand above for usage
-          and their effects.
-
-ENVIRONMENT VARIABLES
-     PKG_REPO
-          The path or URI of the destination repository.
-
-EXAMPLES
-     Example 1:  Create a package using pkgsend generate and publish it.
-
-       $ pkgsend generate /path/to/proto > /path/to/manifests/foo.p5m
-
-     Add the package FMRI for the example.com publisher to the beginning of
-     foo.p5m:
-       set name=pkg.fmri value=pkg://example.com/[email protected]
-
-     The resulting manifest should look like this:
-       set name=pkg.fmri value=pkg://example.com/[email protected]
-       dir group=sys mode=0755 owner=root path=usr
-       dir group=bin mode=0755 owner=root path=usr/bin
-       file usr/bin/foo group=bin mode=0555 owner=root path=usr/bin/foo
-
-       $ pkgsend publish -s http://example.com:10000 -d /path/to/proto \
-           /path/to/manifests/foo.p5m
-
-     Example 2:  Create and publish a trivial package.
-
-     Create a manifest for publisher example.com containing the following lines:
-       set name=pkg.fmri value=pkg://example.com/[email protected]
-       file /exdir/foo mode=0555 owner=root group=bin path=/usr/bin/foo
-
-     Publish the package:
-       $ pkgsend publish -s http://example.com:10000 -d /exdir
-
-     Example 3:  Publish a package using filesystem-based publication
-         and a pre-existing manifest.
-
-       $ pkgsend publish -s /tmp/example_repo -d /tmp/pkg_files \
-           /tmp/pkg_manifest
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Command succeeded.
-
-     1     An error occurred.
-
-     2     Invalid command line options were specified.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                |                             |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     pkgdepend(1), pkgrepo(1), pkg.depotd(1M), attributes(5), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at:
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
-
-     Other package source formats can be created.  Other forms of package
-     publication, via the underlying Python API or via the web API, are
-     also possible.
-
-     When publishing individual package files that are greater than 128MB
-     in size, filesystem-based publication must be used due to publication
-     protocol limitations.  It is also the recommended method of publication
-     when access control for a repository is needed.
-
-     When using filesystem-based publication, any pkg.depot(1M) processes
-     serving the target repository must be restarted after publication is
-     completed for the changes to be reflected in its web interface or
-     search responses.  See pkg.depotd(1M) for more information.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pkgsign.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,169 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pkgsign 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pkgsign \- Image Packaging System signing utility
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pkgsign [-a \fIhash_algorithm\fR]
+    [-c \fIpath_to_signing_certificate\fR]
+    [-i \fIpath_to_intermediate_cert\fR] ...
+    [-k \fIpath_to_private_key\fR] [-n] -s \fIpath_or_uri\fR
+    [--help] [--no-index] [--no-catalog]
+    (\fIfmri\fR|\fIpattern\fR) ...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpkgsign\fR updates the manifest for the given FMRIs in place in the repository by adding a signature action using the provided key and certificates. The modified package retains the original timestamp.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.LP
+With \fB-a\fR, use the signature algorithm \fIhash_algorithm\fR instead of the default. The default signature algorithm is \fBrsa-sha256\fR. Supported signature algorithms are \fBrsa-sha256\fR, \fBrsa-sha384\fR, \fBrsa-sha512\fR, \fBsha256\fR, \fBsha384\fR, and \fBsha512\fR. A signature algorithm that only specifies a hash algorithm causes the signature value to be the hash of the manifest of the package. A signature algorithm that specifies \fBrsa\fR and a hash algorithm causes the signature value to be the hash of the manifest signed with the private key provided (see the \fB-c\fR and \fB-k\fR options).
+.sp
+.LP
+With \fB-c\fR, add the certificate \fIpath_to_signing_certificate\fR as the certificate to use when verifying the value of the signature in the action. The \fB-c\fR option can only be used with the \fB-k\fR option.
+.sp
+.LP
+With \fB-i\fR, add the certificate \fIpath_to_intermediate_cert\fR as a certificate to use when validating the certificate \fIpath_to_signing_certificate\fR given as an argument to \fB-c\fR. Multiple certificates can be provided by specifying \fB-i\fR multiple times.
+.sp
+.LP
+With \fB-k\fR, use the private key stored in \fIpath_to_private_key\fR to sign the manifest. The \fB-k\fR option can only be used with the \fB-c\fR option. If \fB-k\fR is not set, then the signature value is the hash of the manifest.
+.sp
+.LP
+With \fB-n\fR, perform a trial run that does not change the repository in any way.
+.sp
+.LP
+With \fB-s\fR, sign packages in the repository at \fIpath_or_uri\fR.
+.sp
+.LP
+With \fB--help\fR, display a usage message.
+.sp
+.LP
+With \fB--no-index\fR, do not update the repository search indices after the signed manifest has been republished.
+.sp
+.LP
+With \fB--no-catalog\fR, do not update the repository catalog after the signed manifest has been republished.
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRSign Using the Hash Value of the Manifest
+.sp
+.LP
+Sign a package published to \fBhttp://localhost:10000\fR using the hash value of the manifest. This is often useful for testing.
+
+.sp
+.in +2
+.nf
+$ \fBpkgsign -s http://localhost:10000 -a sha256 \e\fR
+\[email protected],5.11-0:20100626T030108Z\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRSign Using a Key and Certificate
+.sp
+.LP
+Sign a package published into the file repository in \fB/foo/bar\fR  using \fBrsa-sha384\fR to hash and sign the manifest. The signature key is in \fB/key/usr2.key\fR, its associated certificate is in \fB/key/usr2.cert\fR, and a certificate needed to validate the certificate is in \fB/icerts/usr1.cert\fR.
+
+.sp
+.in +2
+.nf
+$ \fBpkgsign -s file:///foo/bar/ -a rsa-sha384 \e\fR
+\fB-k /key/usr2.key -c /key/usr2.cert -i /icerts/usr1.cert \e\fR
+\[email protected],5.11-0:20100626T031341Z\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt  
+Command succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 6n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 6n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB3\fR\fR
+.ad
+.RS 6n
+.rt  
+Multiple operations were requested, but only some of them succeeded.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB99\fR\fR
+.ad
+.RS 6n
+.rt  
+An unanticipated exception occurred.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpkg\fR(1), \fBpkgrecv\fR(1), \fBpkgsend\fR(1), \fBpkgrepo\fR(1M), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
--- a/src/man/pkgsign.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-User Commands                                        pkgsign(1)
-
-
-NAME
-     pkgsign - image packaging system signing utility
-
-SYNOPSIS
-     /usr/bin/pkgsign [-a hash_algorithm] [-c path_to_signing_certificate]
-         [-i path_to_intermediate_cert] ... [-k path_to_private_key] [-n]
-         -s path_or_uri [--help] [--no-index] [--no-catalog] (fmri|patten) ...
-
-DESCRIPTION
-     pkgsign updates the manifest for the given fmri(s) in place in the
-     repository by adding a signature action using the provided key and
-     certificates.  The package modified will retain the original timestamp.
-
-OPTIONS
-     The following options are supported:
-
-     With -a, use the signature algorithm provided instead of the default,
-     which is rsa-sha256.  The following are the currently supported signature
-     algorithms: rsa-sha256, rsa-sha384, rsa-sha512, sha256, sha384, sha512.
-     A signature algorithm which only specifies a hash algorithm will cause the
-     signature value to be the hash of the manifest of the package.  A signature
-     algorithm which specifies rsa and a hash algorithm will cause the signature
-     value to be the hash of the manifest signed with the private key provided
-     (see the -c and -k options).
-
-     With -c, add the certificate provided as the certificate to use when
-     verifying the value of the signature in the action.  It can only be used if
-     -k is also used.
-
-     With -i, add the certificate provided as a certificate to use when
-     validating the certificate given as an argument to -c.  Multiple
-     certificates may be provided by using -i multiple times.
-
-     With -k, use the private key stored in the given path to sign the
-     manifest.  It can only be used if -c is also used.  If -k is not set,
-     then the signature value will be the hash of the manifest.
-
-     With -n, perform a trial run which does not change the repository in any
-     way.
-
-     With -s, sign packages in the repository at the given path or URI.
-
-     With --help, show the usage information for the command.
-
-     With --no-index, tell the repository not to update the search indices
-     after the signed manifest has been republished.
-
-     With --no-catalog, tell the repository not to update the catalog after
-     the signed manifest has been republished.
-
-EXAMPLES
-     Example 1:  Sign a package published to http://localhost:10000 using the
-     hash value of the manifest.  This is often useful for testing.
-
-     $ pkgsign -s http://localhost:10000 -a sha256 \
-          [email protected],5.11-0:20100626T030108Z
-
-     Example 2: Sign a package published into the file repository in /foo/bar
-     using rsa-sha384 to hash and sign the manifest, the key in /key/usr2.key,
-     its associated certificate in /key/usr2.cert, and a certificate needed to
-     validate the certificate in /icerts/usr1.cert.
-
-     $ pkgsign -s file:///foo/bar/ -a rsa-sha384 -k /key/usr2.key \
-          -c /key/usr2.cert -i /icerts/usr1.cert \
-          [email protected],5.11-0:20100626T031341Z
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0    Command succeeded.
-
-     1    An error occurred.
-
-     2    Invalid command line options were specified.
-
-     3    Multiple operations were requested, but only some of them
-          succeeded.
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | pkg:/package/pkg            |
-    |_____________________________|_____________________________|
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     pkg(1), pkgrecv(1), pkgsend(1), pkgrepo(1M), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all
-     subject to change.  Development is hosted in the OpenSolaris
-     community at:
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/man/pm-updatemanager.1	Fri Aug 05 14:59:57 2011 -0700
@@ -0,0 +1,165 @@
+'\" te
+.\" Copyright (c) 2007, 2011, Oracle and/or its
+.\" affiliates. All rights reserved.
+.TH pm-updatemanager 1 "28 Jul 2011" "SunOS 5.11" "User Commands"
+.SH NAME
+pm-updatemanager \- application to update packages
+.SH SYNOPSIS
+.LP
+.nf
+/usr/bin/pm-updatemanager [\fIoptions\fR]
+.fi
+
+.LP
+.nf
+/usr/bin/pm-updatemanager [-hdR] [--help] [--debug]
+    [--image-dir \fIdir\fR]
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpm-updatemanager\fR checks for and installs available updates for the packages installed on the system.
+.LP
+Note - 
+.sp
+.RS 2
+If the \fBpackage/pkg\fR, \fBpackage/pkg/package-manager\fR, or \fBpackage/pkg/update-manager\fR packages need to be updated, \fBpm-updatemanager\fR first updates these packages and then restarts to carry out any remaining updates.
+.RE
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-h\fR or \fB--help\fR\fR
+.ad
+.RS 25n
+.rt  
+Displays a usage message.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-d\fR or \fB--debug\fR\fR
+.ad
+.RS 25n
+.rt  
+Runs \fBpm-updatemanager\fR in debug mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR or \fB--image-dir\fR \fIdir\fR\fR
+.ad
+.RS 25n
+.rt  
+Operate on the image rooted at \fIdir\fR, rather than on the image discovered automatically.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRUpdate the Current Image
+.sp
+.LP
+Invoke \fBpm-updatemanager\fR on the current image. This checks for and installs all available updates for packages installed in the current image.
+
+.sp
+.in +2
+.nf
+$ \fB/usr/lib/pm-launch pm-updatemanager\fR
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+This is the same command that the desktop menu option System>Administration>Update Manager invokes.
+
+.LP
+\fBExample 2 \fRUpdate a Specified Image
+.sp
+.LP
+Invoke \fBpm-updatemanager\fR on the image stored at \fB/aux0/example_root\fR.
+
+.sp
+.in +2
+.nf
+$ \fB/usr/lib/pm-launch pm-updatemanager -R /aux0/example_root\fR
+.fi
+.in -2
+.sp
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 5n
+.rt  
+Everything worked.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB1\fR\fR
+.ad
+.RS 5n
+.rt  
+An error occurred.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB2\fR\fR
+.ad
+.RS 5n
+.rt  
+Invalid command line options were specified.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i) 
+lw(2.75i) |lw(2.75i) 
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+Availability\fBpackage/pkg/update-manager\fR
+_
+Interface StabilityUncommitted
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBpackagemanager\fR(1), \fBpkg\fR(1), \fBpkg\fR(5)
+.sp
+.LP
+\fBhttp://hub.opensolaris.org/bin/view/Project+pkg/\fR
+.SH NOTES
+.sp
+.LP
+When operating on an image you do not own, \fBpm-updatemanager\fR needs to be invoked with enough privilege. You will normally invoke \fBpm-updatemanager\fR using \fB/usr/lib/pm-launch\fR under these circumstances.
--- a/src/man/pm-updatemanager.1.txt	Thu Aug 04 13:17:33 2011 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-User Commands                                  pm-updatemanager(1)
-
-
-NAME
-     pm-updatemanager - application to update packages.
-
-SYNOPSIS
-     /usr/bin/pm-updatemanager [options]
-
-     /usr/bin/pm-updatemanager [-hdR]  [--help] [--debug] [--image-dir dir]
-
-DESCRIPTION
-     pm-updatemanager is a program which you can use to check for and install available
-     updates for the installed packages on your system.
-     Note: when pm-updatemanager is run and the packages containing package/pkg,
-     package/pkg/packagemanger or package/pkg/updatemanager need to be updated before
-     doing any updates, pm-updatemanager first updates these packages and then restarts
-     to carry out any remaining updates.
-
-OPTIONS
-     The following options are supported:
-
-     --help or -h
-          Displays a usage message.
-
-     --debug or -d
-          Run pm-updatemanger in debug mode.
-
-     ---image-dir or -R dir
-          Operate on the image rooted at dir, rather than the one discovered
-          automatically.
-
-EXAMPLES
-     Example 1:  Invoke pm-updatemanager on the current image. This checks for and
-     installs all available Updates for the current image and is how it is invoked from
-     the menu item under Administration-> Update Manager.
-
-     $ /usr/lib/pm-launch pm-updatemanager
-
-     Example 2:  Invoke pm-updatemanager on image stored at /aux0/example_root.
-
-     $ /usr/lib/pm-launch pm-updatemanager -R /aux0/example_root
-
-EXIT STATUS
-     The following exit values are returned:
-
-     0     Everything worked.
-
-     1     Something bad happened.
-
-     2     Invalid command line options were specified.
-
-FILES
-     None
-
-ATTRIBUTES
-     See attributes(5) for descriptions of the following attributes:
-     ____________________________________________________________
-    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
-    |_____________________________|_____________________________|
-    | Availability                | SUNWipkg-um                 |
-    | Interface Stability         | None / Under Development    |
-    |_____________________________|_____________________________|
-
-SEE ALSO
-     packagemanager(1), pkg(1), attributes(5), pkg(5)
-
-NOTES
-     The image packaging system is an under-development feature.
-     Command names, invocation, formats, and operations are all subject
-     to change.  Development is hosted in the OpenSolaris community
-     at:
-
-     http://hub.opensolaris.org/bin/view/Project+pkg/
-
-     When operating on an image you do not own pm-updatemanager needs to be invoked
-     with enough privilege. You will normally invoke pm-updatemanager using
-     /usr/lib/pm-launch under these circumstances.
--- a/src/pkg/manifests/package%2Fpkg%2Fpackage-manager.p5m	Thu Aug 04 13:17:33 2011 -0700
+++ b/src/pkg/manifests/package%2Fpkg%2Fpackage-manager.p5m	Fri Aug 05 14:59:57 2011 -0700
@@ -197,8 +197,8 @@
 dir  path=usr/share/locale/zh_TW/LC_MESSAGES
 file path=usr/share/locale/zh_TW/LC_MESSAGES/pkg.mo
 dir  path=usr/share/man
-dir  path=usr/share/man/cat1
-file path=usr/share/man/cat1/packagemanager.1
+dir  path=usr/share/man/man1
+file path=usr/share/man/man1/packagemanager.1
 dir  path=usr/share/mime
 dir  path=usr/share/mime/packages
 file path=usr/share/mime/packages/packagemanager-info.xml
--- a/src/pkg/manifests/package%2Fpkg%2Fsystem-repository.p5m	Thu Aug 04 13:17:33 2011 -0700
+++ b/src/pkg/manifests/package%2Fpkg%2Fsystem-repository.p5m	Fri Aug 05 14:59:57 2011 -0700
@@ -41,8 +41,8 @@
 file path=lib/svc/method/svc-pkg-sysrepo
 dir  path=usr
 file path=usr/lib/pkg.sysrepo mode=0755
-dir  path=usr/share/man/cat1m
-file path=usr/share/man/cat1m/pkg.sysrepo.1m
+dir  path=usr/share/man/man1m
+file path=usr/share/man/man1m/pkg.sysrepo.1m
 dir  path=var
 dir  path=var/cache
 dir  path=var/cache/pkg owner=pkg5srv
--- a/src/pkg/manifests/package%2Fpkg%2Fupdate-manager.p5m	Thu Aug 04 13:17:33 2011 -0700
+++ b/src/pkg/manifests/package%2Fpkg%2Fupdate-manager.p5m	Fri Aug 05 14:59:57 2011 -0700
@@ -71,8 +71,8 @@
 dir  path=usr/share/icons/hicolor/48x48/apps
 file path=usr/share/icons/hicolor/48x48/apps/updatemanager.png
 dir  path=usr/share/man
-dir  path=usr/share/man/cat1
-file path=usr/share/man/cat1/pm-updatemanager.1
+dir  path=usr/share/man/man1
+file path=usr/share/man/man1/pm-updatemanager.1
 dir  path=usr/share/update-manager
 dir  path=usr/share/update-manager/icons
 dir  path=usr/share/update-manager/icons/HighContrast
--- a/src/pkg/manifests/package%2Fpkg.p5m	Thu Aug 04 13:17:33 2011 -0700
+++ b/src/pkg/manifests/package%2Fpkg.p5m	Fri Aug 05 14:59:57 2011 -0700
@@ -283,22 +283,22 @@
 file path=usr/share/lib/pkg/web/robots.txt
 file path=usr/share/lib/pkg/web/shared.shtml
 dir  path=usr/share/man
-dir  path=usr/share/man/cat1
-file path=usr/share/man/cat1/pkg.1
-file path=usr/share/man/cat1/pkgdepend.1
-file path=usr/share/man/cat1/pkgdiff.1
-file path=usr/share/man/cat1/pkgfmt.1
-file path=usr/share/man/cat1/pkglint.1
-file path=usr/share/man/cat1/pkgmerge.1
-file path=usr/share/man/cat1/pkgmogrify.1
-file path=usr/share/man/cat1/pkgrecv.1
-file path=usr/share/man/cat1/pkgrepo.1
-file path=usr/share/man/cat1/pkgsend.1
-file path=usr/share/man/cat1/pkgsign.1
-dir  path=usr/share/man/cat1m
-file path=usr/share/man/cat1m/pkg.depotd.1m
-dir  path=usr/share/man/cat5
-file path=usr/share/man/cat5/pkg.5
+dir  path=usr/share/man/man1
+file path=usr/share/man/man1/pkg.1
+file path=usr/share/man/man1/pkgdepend.1
+file path=usr/share/man/man1/pkgdiff.1
+file path=usr/share/man/man1/pkgfmt.1
+file path=usr/share/man/man1/pkglint.1
+file path=usr/share/man/man1/pkgmerge.1
+file path=usr/share/man/man1/pkgmogrify.1
+file path=usr/share/man/man1/pkgrecv.1
+file path=usr/share/man/man1/pkgrepo.1
+file path=usr/share/man/man1/pkgsend.1
+file path=usr/share/man/man1/pkgsign.1
+dir  path=usr/share/man/man1m
+file path=usr/share/man/man1m/pkg.depotd.1m
+dir  path=usr/share/man/man5
+file path=usr/share/man/man5/pkg.5
 group groupname=pkg5srv gid=97
 user username=pkg5srv gcos-field="pkg(5) server UID" group=pkg5srv uid=97
 legacy pkg=SUNWipkg version=0.0.0
--- a/src/pkg/transforms/defaults	Thu Aug 04 13:17:33 2011 -0700
+++ b/src/pkg/transforms/defaults	Fri Aug 05 14:59:57 2011 -0700
@@ -69,7 +69,7 @@
 <transform file path=usr/share/icons/.* -> add restart_fmri svc:/application/desktop-cache/icon-cache:default>
 <transform file path=usr/share/mime/packages/.*\.xml -> add restart_fmri svc:/application/desktop-cache/mime-types-cache:default>
 
-# Add facets
+# Add locale facets
 <transform dir file \
     path=usr/share/locale/([a-z]{2,3}(_[A-Z]{2,3})?)([.@][^/]+)?(/.+)?$ -> \
     default facet.locale.%<1> true>
@@ -80,6 +80,10 @@
     path=usr/share/omf/package-manager/package-manager-([a-z]{2,3}(_[A-Z]{2,3})?)\.omf$ -> \
     default facet.locale.%<1> true>
 
+# Add manpage facets
+<transform dir file link hardlink path=usr.*/man(/.+){0,1}$ -> \
+    default facet.doc.man true>
+
 # Default values for legacy actions
 <transform legacy -> default name %{pkg.summary}>
 <transform legacy -> default desc %{pkg.description}>
--- a/src/setup.py	Thu Aug 04 13:17:33 2011 -0700
+++ b/src/setup.py	Fri Aug 05 14:59:57 2011 -0700
@@ -94,9 +94,9 @@
 lib_dir = 'usr/lib'
 svc_method_dir = 'lib/svc/method'
 
-man1_dir = 'usr/share/man/cat1'
-man1m_dir = 'usr/share/man/cat1m'
-man5_dir = 'usr/share/man/cat5'
+man1_dir = 'usr/share/man/man1'
+man1m_dir = 'usr/share/man/man1m'
+man5_dir = 'usr/share/man/man5'
 resource_dir = 'usr/share/lib/pkg'
 smf_app_dir = 'lib/svc/manifest/application/pkg'
 execattrd_dir = 'etc/security/exec_attr.d'
@@ -442,8 +442,6 @@
                 Also, make sure that cherrypy and other external dependencies
                 are installed.
                 """
-                for f in man1_files + man1m_files + man5_files:
-                        file_util.copy_file(f + ".txt", f, update=1)
 
                 _install.run(self)