Creating a pkginfo File
The pkginfo file is an ASCII file that describes the characteristics of a
package along with information that helps control the flow of installation.
Each entry in the pkginfo file is a line that establishes the value
of a parameter using the format PARAM=value. PARAM can be any of
the standard parameters described in the pkginfo(4) man page. There is
no required order in which the parameters must be specified.
Note - Each value can be enclosed with single or double quotation marks (for example,
'value' or “value”). If value contains any characters that are considered special to
a shell environment, you should use quotation marks. The examples and case studies
in this book do not use quotation marks. See the pkginfo(4) man
page for an example that uses double quotation marks.
You can also create your own package parameters by assigning a value
to them in the pkginfo file. Your parameters must begin with a capital letter
followed by either uppercase or lowercase letters. An uppercase letter indicates that the
parameter (variable) will be evaluated at install time (as opposed to build time).
For information on the difference between install variables and build variables, see Package Environment Variables.
Note - Trailing whitespace after any parameter value is ignored.
You must define these five parameters in a pkginfo file: PKG, NAME,
ARCH, VERSION, and CATEGORY. The PATH, PKGINST, and INSTDATE parameters are inserted
automatically by the software when the package is built. Do not modify these
eight parameters. For information on the remaining parameters, see the pkginfo(4) man page.
Defining a Package Instance
The same package can have different versions, be compatible with different architectures, or
both. Each variation of a package is known as a package instance. A
package instance is determined by combining the definitions of the PKG, ARCH, and
VERSION parameters in the pkginfo file.
The pkgadd command assigns a package identifier to each package instance at installation time. The
package identifier is the package abbreviation with a numerical suffix, for example SUNWadm.2.
This identifier distinguishes a package instance from any other package, including instances of
the same package.
Defining a Package Abbreviation (PKG)
A package abbreviation is a short name for a package that is defined by
the PKG parameter in the pkginfo file. A package abbreviation must have these
The abbreviation must consist of alphanumeric characters. The first character cannot be a number.
The abbreviation cannot exceed 32 characters in length.
The abbreviation cannot be one of the reserved abbreviations: install, new, or all.
Note - The first four characters should be unique to your company, such as your company's stock symbol. For example, packages built by Sun MicrosystemsTM all have “SUNW” as the first four characters of their package abbreviation.
This is an example package abbreviation entry in a pkginfo file:
Specifying a Package Architecture (ARCH)
The ARCH parameter in the pkginfo file identifies which architectures are associated with
the package. The architecture name has a maximum length of 16 alphanumeric characters.
If a package is associated with more than one architecture, specify the architectures
in a comma-separated list.
This is an example of a package architecture specification in a pkginfo
Specifying a Package Instruction Set Architecture (SUNW_ISA)
The SUNW_ISA parameter in the pkginfo file identifies which instruction set architecture is
associated with a Sun Microsystems package. The values are as follows:
sparcv9, for a package that contains 64–bit objects
sparc, for a package that contains 32–bit objects
For example, the SUNW_ISA value in a pkginfo file for a package containing
64–bit objects would be:
If SUNW_ISA is not set, the default instruction set architecture of the package
is set to the value of the ARCH parameter.
Specifying a Package Version (VERSION)
The VERSION parameter in the pkginfo file identifies the version of the package.
The version has a maximum length of 256 ASCII characters, and cannot begin
with a left parenthesis.
This is an example version of a specification in a pkginfo file:
Defining a Package Name (NAME)
A package name is the full name of the package, which is defined by
the NAME parameter in the pkginfo file.
Because system administrators often use package names to determine whether a package needs
to be installed, writing clear, concise, and complete package names is important. Package
names must meet the following criteria:
State when a package is needed (for example, to provide certain commands or functionality, or state if the package is needed for specific hardware).
State what the package is used for (for example, the development of device drivers).
Include a description of the package abbreviation mnemonic, using key words that indicate the abbreviation is a short form of the description. For example, the package name for the package abbreviation SUNWbnuu is “Basic Networking UUCP Utilities, (Usr)” .
Name the partition into which the package is installed.
Use terms consistently with their industry meaning.
Take advantage of the 256–character limit.
Here is an example package name defined in a pkginfo file:
NAME=Chip designers need CAD application software to design
abc chips. Runs only on xyz hardware and is installed in the
Defining a Package Category (CATEGORY)
The CATEGORY parameter in the pkginfo file specifies in which categories a package
belongs. At a minimum, a package must belong to either the system or
application category. Category names consist of alphanumeric characters. Category names have a maximum
length of 16 characters and are case insensitive.
If a package belongs to more than one category, specify the categories
in a comma-separated list.
Here is an example CATEGORY specification in a pkginfo file:
How to Create a pkginfo File
- Using your favorite text editor, create a file named pkginfo.
You can create this file anywhere on your system.
- Edit the file and define the five required parameters.
The five required parameters are: PKG, NAME, ARCH, VERSION, and CATEGORY. For
more information on these parameters, see Creating a pkginfo File.
- Add any optional parameters to the file.
Create your own parameters or see the pkginfo(4) man page for information on
the standard parameters.
- Save your changes and quit the editor.
Example 2-1 Creating a pkginfo File
This example shows the contents of a valid pkginfo file, with the five
required parameters defined, as well as the BASEDIR parameter. The BASEDIR parameter is
discussed in more detail in The path Field.
NAME=Chip designers need CAD application software to design abc chips.
Runs only on xyz hardware and is installed in the usr partition.
See How to Organize a Package's Contents.