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 pkginfo(4), and there is no required order in which the parameters must be specified.
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 pkginfo(4) 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 and build variables, see "Package Environment Variables".
Trailing whitespace after any parameter value is ignored.
There are five parameters that you must define in a pkginfo file: PKG
, NAME
, ARCH
, VERSION
, and CATEGORY
. Three additional parameters: PATH
, PKGINST
, and INSTDATE
are inserted automatically when the package
is built. These eight parameters should not be modified. For information on the remaining parameters, see the pkginfo(4) man page.
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.
PKG
)A package abbreviation is a short name for a package that is defined via the PKG
parameter in the pkginfo file,
and must:
Be nine or fewer characters.
Not be one of the reserved abbreviations install, new, and all.
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.
An example package abbreviation entry in a pkginfo file might be:
PKG=SUNWcadap |
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 them in a comma-separated list.
For example, a package architecture specification in a pkginfo file might be:
ARCH=sparc |
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:
sparcv9, for a package containing 64-bit objects
sparc, for a package containing 32-bit objects
For example, the SUNW_ISA
value in a pkginfo file for a package containing 64-bit objects would be:
SUNW_ISA=sparcv9 |
If SUNW_ISA
is not set, the default instruction set architecture of the package is set to the value of the ARCH
parameter.
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.
An example version specification in a pkginfo file might be:
VERSION=release 1.0 |
NAME
)A package name is the full name of the package, which is defined via the NAME
parameter in the pkginfo file.
Because system administrators often use package names to determine whether or not a package needs to be installed, it is important to write clear, concise, and complete package names. Package names should:
State when a package is needed (for example, to provide certain commands or functionality, or state if it 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.
An example package name defined in a pkginfo file might be:
NAME=Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition. |
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:
Are alphanumeric.
Have a maximum length of 16 characters.
Are case insensitive.
If a package belongs to more than one category, specify them in a comma-separated list.
An example CATEGORY
specification in a pkginfo file might be:
CATEGORY=system |
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
, ARCH
, VERSION
, NAME
, and CATEGORY
. For
more information on these parameters, see "Creating a pkginfo File".
Add any other parameters that you like to the file.
Create your own parameters or see pkginfo(4) for information on the standard parameters.
Save your changes and quit the editor.
If you are ready to go to the next task, see "How to Organize A Package's Contents".
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".
PKG=SUNWcadap NAME=Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition. ARCH=sparc VERSION=release 1.0 CATEGORY=system BASEDIR=/opt |