pkginfo(4) pkginfo(4)
NAME
pkginfo - package characteristics file
pkginfo is an ASCII file that describes the characteristics of the package along with information that helps control the flow of installa-
tion. It is created by the software package developer.
Each entry in the pkginfo file is a line that establishes the value of a parameter in the following form:
PARAM="value"
There is no required order in which the parameters must be specified within the file. The PKG, NAME, ARCH, VERSION and CATEGORY parameters
are mandatory. Other parameters are optional.
pkginfo provides optional parameters and an environment variable in support of the zones (multiple Solaris environments) feature. See
zones(5).
The following paramaters are mandatory:
ARCH
A comma-separated list of alphanumeric tokens that indicate the architecture associated with the package. The pkgmk(1) tool can be used
to create or modify this value when actually building the package. The maximum length of a token is 16 characters and it cannot include
a comma.
Solaris's installation software meaningfully uses only one architecture token of the form:
<instruction_set_architecture>[.<platform_group>]
where platform_group is intended only for Solaris installation packages. Third party application software should restrict itself to
ARCH values from the following Solaris-supported instruction set architectures (uname -p): sparc, i386, and ppc. Examples of Solaris'
platform groups (uname -m) are sun4u for the SPARC instruction set and i86pc for the i386 instruction set. See uname(1) and isalist(1)
for more details.
CATEGORY
A comma-separated list of categories under which a package can be displayed. A package must at least belong to the system or applica-
tion category. Categories are case-insensitive and can contain only alphanumerics. Each category is limited in length to 16 characters.
NAME
Text that specifies the package name (maximum length of 256 ASCII characters). Use the NAME parameter as the foundation for describing
the functionality and purpose of the package; spell out any acronyms and avoid internal product/project code names. The DESC parameter
can then be used to expand the descriptive information. Use the NAME parameter to state as specifically as possible the use of the
package, why a user would need to load it, and so on.
PKG
Abbreviation for the package being installed. All characters in the abbreviation must be alphanumeric. You can also use the - and +
characters in the abbreviation. The first character cannot be numeric, a + or a -.
The abbreviation is limited to a maximum length of 32 characters. install, new, and all are reserved abbreviations. It is customary to
make the first four letters unique to your company, such as the company's stock symbol.
VERSION
Text that specifies the current version associated with the software package. The maximum length is 256 ASCII characters and the first
character cannot be a left parenthesis. The pkgmk(1) tool can be used to create or modify this value when actually building the pack-
age. Current Solaris software practice is to assign this parameter monotonically increasing Dewey decimal values of the form:
<major_revision>.<minor_revision>[.<micro_revision>]
where all the revision fields are integers. The versioning fields can be extended to an arbitrary string of numbers in Dewey-decimal
format, if necessary.
The following parameters are optional:
BASEDIR
The pathname to a default directory where "relocatable" files can be installed. If blank, the package is not relocatable and any files
that have relative pathnames are not installed. An administrator can override the default directory.
CLASSES
A space-separated list of classes defined for a package. The order of the list determines the order in which the classes are installed.
Classes listed first are installed first (on a media by media basis). This parameter can be modified by the request script.
DESC
Text that describes the package (maximum length of 256 ASCII characters). This parameter value is used to provide the installer with a
description of what the package contains and should build on the description provided in the NAME parameter. Try to make the two param-
eters work together so that a pkginfo -l provides a fairly comprehensive textual description of the package.
EMAIL
An electronic address where further information is available or bugs can be reported (maximum length of 256 ASCII characters).
HOTLINE
Phone number and/or mailing address where further information can be received or bugs can be reported (maximum length of 256 ASCII
characters).
INTONLY
Indicates that the package should only be installed interactively when set to any non-null value.
ISTATES
A list of allowable run states for package installation (for example, "S s 1" allows run states of S, s or 1). The Solaris operating
environment supports the run levels s, S, 0, 1, 2, 3, 5, and 6. Applicable run levels for this parameter are s, S, 1, 2, and 3. See
init(1M) for details.
MAXINST
The maximum number of package instances that should be allowed on a machine at the same time. By default, only one instance of a pack-
age is allowed. This parameter must be set in order to have multiple instances of a package. In order to support multiple instances of
packages (for example, packages that differ in their ARCH or VERSION parameter value), the value of this parameter must be high enough
to allow for all instances of a given package, including multiple versions coexisting on a software server.
ORDER
A list of classes defining the order in which they should be put on the medium. Used by pkgmk(1) in creating the package. Classes not
defined in this field are placed on the medium using the standard ordering procedures.
PSTAMP
Production stamp used to mark the pkgmap(4) file on the output volumes. Provides a means for distinguishing between production copies
of a version if more than one is in use at a time. If PSTAMP is not defined, the default is used. The default consists of the UNIX sys-
tem machine name followed by the string "YYYYMMDDHHMMSS" (year, month, date, hour, minutes, seconds).
RSTATES
A list of allowable run states for package removal (for example, "S s 1" allows run states of S, s or 1). The Solaris operating envi-
ronment supports the run levels s, S, 0, 1, 2, 3, 5, and 6. Applicable run levels for this parameter are s, S, 1, 2, and 3 See init(1M)
for details.
SUNW_ISA
Solaris-only optional parameter that indicates a software package contains 64-bit objects if it is set to sparcv9. If this parameter is
not set, the default ISA (instruction set architecture) is set to the value of the ARCH parameter.
SUNW_LOC
Solaris-only optional parameter used to indicate a software package containing localization files for a given product or application.
The parameter value is a comma-separated list of locales supported by a package. It is only used for packages containing localization
files, typically the message catalogues. The allowable values for this string field are those found in the table of Standard Locale
Names located in the .
SUNW_LOC="<locale_name>,<locale_name>,..,<locale_name>"
where
<locale_name>::= <language>[_<territory>][.<codeset>]
<language>::= the set of names from ISO 639
<territory>::= the set of territories specified
in ISO 3166
<codeset>::= is a string corresponding to the coded
character set
Since a value of C specifies the traditional UNIX system behavior (American English, en_US), packages belonging to the C locale are
viewed as non-localized packages, and thus must not have SUNW_LOC and SUNW_PKGLIST included in their pkginfo file. See also the
SUNW_LOC parameter in packagetoc(4) and setlocale(3C) for more information. This keyword is not recognized by the add-on software util-
ity Software Manager.
SUNW_PKG_DIR
A value set by pkgadd that contains the location of the installing package. This value is provided to any install time package proce-
dure scripts that need to know where the installing package is located. This parameter should never be set manually from within a
pkginfo file.
SUNW_PKG_ALLZONES
Defines whether a package, when installed, must be installed and must be identical in all zones. Assigned value can be true or false.
The default value is false. The setting of SUNW_PKG_ALLZONES has the effects described below.
If set to true, the following conditions are in effect:
o The package must be installed in the global zone.
o The package must be installed in any non-global zone that is created.
o The package must be identical in all zones.
o The package can be installed only by the global zone administrator.
o The package cannot be installed by a non-global zone administrator.
If set to false, the following conditions are in effect:
o The package is not required to be installed in all zones.
o The package is not required to be identical across all zones.
o The package can be installed by the global zone administrator or by a non-global zone administrator.
Packages that must be identical across all zones must set this variable to true. This would include packages that deliver components
that are part of the core operating system, or that are dependent on interfaces exported by the core operating system, or that deliver
device drivers, or runtime libraries that use or export operating system interfaces that are not guaranteed to be stable across minor
releases.
Packages that deliver components that are not part of the core operating system (such as application programs) that can be different
between any two zones must set this variable to false.
With respect to SUNW_PKG_ALLZONES, keep in mind the following:
o Use of pkgadd in the global zone installs packages in all zones unless -G is specified, in which case packages are installed in
the global zone only. The setting of SUNW_PKG_ALLZONES does not change this behavior. For example, a package that has a setting of
SUNW_PKG_ALLZONES=false is not installed in the global zone only.
o The SUNW_PKG_ALLZONES attribute controls whether a package must be installed in all zones (and must be the same in all zones) when
it is installed.
o Use of the -G option to pkgadd with a package that has SUNW_PKG_ALLZONES=true is an error and causes installation of that package
to fail.
SUNW_PKG_HOLLOW
Defines whether a package should be visible in any non-global zone if that package is required to be installed and be identical in all
zones (for example, a package that has SUNW_PKG_ALLZONES=true). Assigned value can be true or false. The default value is false. The
package is not required to be installed, but if it is installed, the setting of SUNW_PKG_HOLLOW has the effects described below.
Packages that must be identical across all zones must set this variable to true. This would include packages that deliver components
that are part of the core operating system, or that are dependent on interfaces exported by the core operating system, or that deliver
device drivers, or runtime libraries that use or export operating system interfaces that are not guaranteed to be stable across minor
releases. All other packages must set this variable to false.
If set to true, the following conditions are in effect:
o When installed in the global zone, all components of the package are installed.
o Directories are created, files are installed, and class action and other scripts are run as appropriate when the package is
installed.
o Directories and files are removed, and class action and other scripts are run as appropriate when the package is removed.
o When installed in a non-global zone, the package is recognized as having been installed, but no components of the package are
installed. No directories are created, no files are installed, and no class action or other install scripts are run when the pack-
age is installed.
o When removed from a non-global zone, the package is recognized as not having been completely installed. No directories are cre-
ated, or files are removed, and no class action or other install scripts are run when the package is removed.
o The package is recognized as being installed in all zones for purposes of dependency checking by other packages that rely on this
package being installed.
If SUNW_PKG_ALLZONES is set to false, the value of this variable has no meaning. It is a package construction error to set
SUNW_PKG_ALLZONES to false, then set SUNW_PKG_HOLLOW to true.
SUNW_PKG_THISZONE
Defines whether a package must be installed in the current zone only. Assigned value can be true or false. The default value is false.
The setting of SUNW_PKG_THISZONE has the effects described below.
If set to true, the following conditions are in effect:
o The package is installed in the current zone only.
o If installed in the global zone, the package is not added to any currently existing or yet-to-be-created non-global zones. This is
the same behavior that would occur if the -G option were specified to pkgadd.
If set to false, the following conditions are in effect:
o If pkgadd is run in a non-global zone, the package is installed in the current zone only.
o If pkgadd is run in the global zone, the package is installed in the global zone, and is also installed in all currently installed
non-global zones. In addition, the package will be propagated to all future, newly installed non-global zones.
SUNW_PKGLIST
Solaris-only optional parameter used to associate a localization package to the package(s) from which it is derived. It is required
whenever the SUNW_LOC parameter is defined. This parameter value is an comma-separated list of package abbreviations of the form:
SUNW_PKGLIST="pkg1[:version],pkg2[:version],..."
where version (if specified) should match the version string in the base package specified (see VERSION parameter in this manual page).
When in use, SUNW_PKGLIST helps determine the order of package installation. The packages listed in the parameter are installed before
the localization package in question is installed. When left blank, SUNW_PKGLIST="", the package is assumed to be required for the
locale to function correctly. See the SUNW_PKGLIST parameter in packagetoc(4) for more information. This keyword is not recognized by
the add-on software utility Software Manager.
SUNW_PKGTYPE
Solaris-only parameter for Sun internal use only. Required for packages part of the Solaris operating environment releases which
install into the /, /usr, /usr/kvm, and /usr/openwin file systems. The The Solaris operating environment installation software must
know which packages are part of which file system to properly install a server/client configuration. The currently allowable values for
this parameter are root, usr, kvm, and ow. If no SUNW_PKGTYPE parameter is present, the package is assumed to be of BASEDIR=/opt.
SUNW_PKGTYPE is optional only for packages which install into the /opt name space as is the case for the majority of Solaris add-on
software. See the SUNW_PKGTYPE parameter in packagetoc(4) for further information.
SUNW_PKGVERS
Solaris-only parameter indicating of version of the Solaris operating environment package interface.
SUNW_PKGVERS="<sunw_package_version>"
where <unw_package_version> has the form x.y[.z] and x, y, and z are integers. For packages built for this release and previous
releases, use SUNW_PKGVERS="1.0".
SUNW_PRODNAME
Solaris-only parameter indicating the name of the product this package is a part of or comprises (maximum length of 256 ASCII charac-
ters). A few examples of currently used SUNW_PRODNAME values are: "SunOS", "OpenWindows", and "Common Desktop Environment".
SUNW_PRODVERS
Solaris-only parameter indicating the version or release of the product described in SUNW_PRODNAME (maximum length of 256 ASCII charac-
ters). For example, where SUNW_PRODNAME="SunOS", and the Solaris 2.x Beta release, this string could be "5.x BETA", while for the
Solaris 2.x FCS release, the string would be "5.x". For Solaris 8, the string is "5.8". If the SUNW_PRODNAME parameter is NULL, so
should be the SUNW_PRODVERS parameter.
ULIMIT
If set, this parameter is passed as an argument to the ulimit(1) command (see limit(1)), which establishes the maximum size of a file
during installation.
VENDOR
Used to identify the vendor that holds the software copyright (maximum length of 256 ASCII characters).
VSTOCK
The vendor stock number, if any, that identifies this product (maximum length of 256 ASCII characters).
The following environment variable is available to package class action scripts and to preinstall, postinstall, and check installation
scripts.
SUNW_PKG_INSTALL_ZONENAME
This variable is set during the initial installation of a zone.
If this variable is not set, the system does not support the zones(5) feature. If the variable is set to global, the package is being
installed to or removed from the global zone. If the variable is not set to global, the package is being installed to or removed from
the non-global zone named ${SUNW_PKG_INSTALL_ZONENAME}.
Example 1: A Sample pkginfo File
Here is a sample pkginfo file:
SUNW_PRODNAME="SunOS"
SUNW_PRODVERS="5.5"
SUNW_PKGTYPE="usr"
SUNW_PKG_ALLZONES=false
SUNW_PKG_HOLLOW=false
PKG="SUNWesu"
NAME="Extended System Utilities"
VERSION="11.5.1"
ARCH="sparc"
VENDOR="Sun Microsystems, Inc."
HOTLINE="Please contact your local service provider"
EMAIL=""
VSTOCK="0122c3f5566"
CATEGORY="system"
ISTATES="S 2"
RSTATES="S 2"
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
|Interface Stability |See entries below |
+-----------------------------+-----------------------------+
|PKG value |Evolving |
+-----------------------------+-----------------------------+
|VERSION value |Evolving |
+-----------------------------+-----------------------------+
|NAME value |Evolving |
+-----------------------------+-----------------------------+
|DESC value |Evolving |
+-----------------------------+-----------------------------+
|ARCH value |Evolving |
+-----------------------------+-----------------------------+
|CATEGORY value |Evolving |
+-----------------------------+-----------------------------+
|BASEDIR value |Evolving |
+-----------------------------+-----------------------------+
|ISTATES value |Evolving |
+-----------------------------+-----------------------------+
|RSTATES value |Evolving |
+-----------------------------+-----------------------------+
|MAXINST value |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PKG_ALLZONES |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PKG_HOLLOW |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PKG_THISZONE |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PRODNAME |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PRODVERS |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PKGVERS |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PKGTYPE |Unstable |
+-----------------------------+-----------------------------+
|SUNW_LOC |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PKGLIST |Evolving |
+-----------------------------+-----------------------------+
|SUNW_PKG_DIR |Evolving |
+-----------------------------+-----------------------------+
isalist(1), limit(1), pkgmk(1), uname(1), init(1M), setlocale(3C), clustertoc(4), order(4), packagetoc(4), pkgmap(4), attributes(5),
zones(5)
Developers can define their own installation parameters by adding a definition to this file. A developer-defined parameter must begin with
a capital letter.
Trailing white space after any parameter value is ignored. For example, VENDOR="Sun Microsystems, Inc." is the same as VENDOR="Sun
Microsystems, Inc. ".
30 Jun 2005 pkginfo(4)