pkginfo is an ASCII file that describes the characteristics of the package along with information that helps control the flow of installation. 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:
There is no required order in which the parameters must be specified within the file. Each parameter is described below. Only fields marked with an asterisk are mandatory.
Abbreviation for the package being installed. All characters in the abbreviation must be alphanumeric and the first may not be numeric. The abbreviation is limited to a maximum length of nine 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.
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.
A comma-separated list of alphanumeric tokens that indicate the architecture associated with the package. The pkgmk(1) tool may 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 2 and Solaris 7's installation software meaningfully uses only one architecture token of the form:
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, sun4d, and sun4m for the SPARC(R) instruction set and i86pc for the i386 instruction set. See uname(1) and isalist(1) for more details.
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 may be used to create or modify this value when actually building the package. Current Solaris and Solaris-compatible software practice is to assign this parameter monotonically increasing Dewey decimal values of the form:
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.
A comma-separated list of categories under which a package may be displayed. A package must at least belong to the system or application category. Categories are case-insensitive and may contain only alphanumerics. Each category is limited in length to 16 characters.
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 parameters work together so that a pkginfo -l will provide a fairly comprehensive textual description of the package.
Used to identify the vendor that holds the software copyright (maximum length of 256 ASCII characters).
Phone number and/or mailing address where further information may be received or bugs may be reported (maximum length of 256 ASCII characters).
An electronic address where further information is available or bugs may be reported (maximum length of 256 ASCII characters).
The vendor stock number, if any, that identifies this product (maximum length of 256 ASCII characters).
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 will be installed first (on a media by media basis). This parameter may be modified by the request script.
A list of allowable run states for package installation (for example, "S s 1" allows run states of S, s or 1). Solaris 2 and Solaris 7 support 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.
A list of allowable run states for package removal (for example, "S s 1" allows run states of S, s or 1). Solaris 2 and Solaris 7 support 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.
The pathname to a default directory where "relocatable" files may be installed. If blank, the package is not relocatable and any files that have relative pathnames will not be installed. An administrator can override the default directory.
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.
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.
The maximum number of package instances that should be allowed on a machine at the same time. By default, only one instance of a package 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.
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 system machine name followed by the string "YYYYMMDDHHMM" (year, month, date, hour, minutes).
Indicates that the package should only be installed interactively when set to any non-null value.
Solaris 2 and Solaris 7-only parameter indicating the name of the product this package is a part of or comprises (maximum length of 256 ASCII characters). A few examples of currently used SUNW_PRODNAME values are: "SunOS", "OpenWindows", and "Common Desktop Environment".
Solaris 2 and Solaris 7-only parameter indicating the version or release of the product described in SUNW_PRODNAME (maximum length of 256 ASCII characters). 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 7, the string is "5.7". If the SUNW_PRODNAME parameter is NULL, so should be the SUNW_PRODVERS parameter.
Solaris 2 and Solaris 7-only parameter indicating of version of the Solaris 2 or Solaris 7 package interface. It is used to indicate the version of the Solaris 2 or Solaris 7-specific software packaging interfaces.
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".
Solaris 2 and Solaris 7-only parameter for Sun internal use only. Required for packages part of the Solaris 2 and Solaris 7 releases which install into the /, /usr, /usr/kvm, and /usr/openwin file systems. The Solaris 2 and Solaris 7 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 2 and Solaris 7-compatible add-on software. See the SUNW_PKGTYPE parameter in packagetoc(4) for further information.
Solaris 2 and Solaris 7-only optional parameter that indicates a software package contains 64-bit objects if it is set to sparc9. If this parameter is not set, the default ISA (instruction set architecture) is set to the value of the ARCH parameter.
Solaris 2 and Solaris 7-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 International Language Environments Guide.
<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 utility Software Manager.
Solaris 2 and Solaris 7-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:
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 will be 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.
Here is a sample pkginfo file:
SUNW_PRODNAME="SunOS" SUNW_PRODVERS="5.5" SUNW_PKGTYPE="usr" 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|
|Interface Stability||See entries below|
Developers may 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. ".