SUN Packaging Guide -
The pkginfo file

Syntax of the pkginfo file

This file contains important information about the package itself like name of the package, version, vendor and so on. For our example it will look like this:

PKG=ARbc
NAME="bc - a binary calculator"
ARCH=sparc
VERSION=1.0.6
CATEGORY=utility
DESC="bc - a binary commandline calculator often used in shellscripts for
calculating"
VENDOR="(C) 2002 Garex Inc."
VSTOCK="123456"
HOTLINE="+49-123456-TOLL-FREE"
EMAIL="garex@garex.net"
BASEDIR=/
MAXINST=1
INTONLY=1
CLASSES=application none
ISTATES="S 2 3"
RSTATES="S 2 3"
PSTAMP="20020718 19:35"
ULIMIT=20
ORDER=none application

The variables have the following meaning:

PKG Package name (up to 10 characters)
ARCH Solaris architecture (sparc/x86)
VERSION The version of the package
CATEGORY Kind of software (system/application/library/utility etc). Can be freely defined.
DESC This is the long description
VENDOR Self-explaining :)
VSTOCK Number of product (stock number)
HOTLINE Self-explaining (put a telephone number here)
EMAIL Self-explaining (put a valid email address for contact here)
BASEDIR Describes the top-level directory for installing the packaged files from and for searching the files to be packaged
MAXINST Maximum number of simultaneously installed instances of the same package
INTONLY Interactive Only. (value not equal to "0" means user interaction required)
CLASSES Needed to define installation classes.
ISTATES Init States the package is allowed to be installed
RSTATES Init States the package is allowed to be removed
PSTAMP Production time stamp (package creation time stamp)
ULIMIT Parameter for the ulimit command for maximum file size. (equal to ulimit -f; value will be calculated in 512 byte blocks)
ORDER Defines the installation order for the specified classes


Most variables mentioned here are required:
PKG, ARCH, CATEGORY, DESC, BASEDIR, VERSION
For instance, if you delete the VERSION variable, you will get an error like this during "pkgmk":

$ pkgmk -o -b / -r /
## Building pkgmap from package prototype file.
## Processing pkginfo file.
WARNING: parameter <VERSION> set to "Dev Release 07/19/2002"
...

Of course you can define other variables as well. When creating the package, those variables come into action while the packaging process is running. Additionally, those variables can be used by installation or removal scripts, e.g. for doing dependancy checks. NOTE: If you don't specify PSTAMP with your own format, then a PSTAMP entry of the kind <hostname><YYMMDDhhmm> will be created for you and added to the pkginfo file.