PKGINFO(4-SVR4) RISC/os Reference Manual PKGINFO(4-SVR4)
NAME
pkginfo - packaging information file format
DESCRIPTION
pkginfo files describe the configuration of software pack-
ages. They are used to drive both the packaging and instal-
lation tools as they operate on a package. Every software
package has an associated pkginfo file, $Pkg/pkginfo (where
$Pkg is the root of the packaging information tree for the
release being packaged or installed.)
Typically, they are read by a program, also named pkginfo,
which is used by both the packaging and installation scripts
to extract particular information about the software package
being operated upon. (See pkginfo(1M) for details.)
It is important for persons desiring to package MIPS
software to understand the syntax and semantics of pkginfo
files, as setting up the pkginfo file is among the first
steps in packaging software.
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. Each parameter is described
below. Only fields marked with an asterisk are mandatory.
PKG* Abbreviation for the package being
installed, generally three characters in
length (for example, dir or pkg). All char-
acters 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.
NAME* Text that specifies the package name (max-
imum length of 256 ASCII characters).
ARCH* A comma-separated list of alphanumeric
tokens that indicate the architecture (for
example, 3B2) associated with the package.
The pkgmk 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.
VERSION* Text that specifies the current version
associated with the software package. The
Printed 11/19/92 Page 1
PKGINFO(4-SVR4) RISC/os Reference Manual PKGINFO(4-SVR4)
maximum length is 256 ASCII characters and
the first character cannot be a left
parenthesis. The pkgmk tool may be used to
create or modify this value when actually
building the package.
CATEGORY* A comma-separated list of categories under
which a package may be displayed. A package
must at least belong to the system or appli-
cation category. Categories are case-
insensitive and may contain only alphanumer-
ics. Each category is limited in length to
16 characters.
DESC Text that describes the package (maximum
length of 256 ASCII characters).
VENDOR Used to identify the vendor that holds the
software copyright (maximum length of 256
ASCII characters).
HOTLINE Phone number and/or mailing address where
further information may be received or bugs
may be reported (maximum length of 256 ASCII
characters).
EMAIL An electronic address where further informa-
tion is available or bugs may be reported
(maximum length of 256 ASCII characters).
VSTOCK The vendor stock number, if any, that iden-
tifies this product (maximum length of 256
ASCII characters).
CLASSES A space-separated list of classes defined
for a package. The order of the list deter-
mines 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.
ISTATES A list of allowable run states for package
installation (for example, "S s 1").
RSTATES A list of allowable run states for package
removal (for example, "S s 1").
BASEDIR 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
Page 2 Printed 11/19/92
PKGINFO(4-SVR4) RISC/os Reference Manual PKGINFO(4-SVR4)
not be installed. An administrator can
override the default directory.
ULIMIT If set, this parameter is passed as an argu-
ment to the ulimit command, which estab-
lishes the maximum size of a file during
installation.
ORDER A list of classes defining the order in
which they should be put on the medium.
Used by pkgmk in creating the package.
Classes not defined in this field are placed
on the medium using the standard ordering
procedures.
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
package is allowed. This parameter must be
set in order to have multiple instances of a
package.
PSTAMP Production stamp used to mark the pkgmap
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 "YYMMDDHHMM" (year, month, date,
hour, minutes).
INTONLY Indicates that the package should only be
installed interactively when set to any
non-NULL value.
PREDEPEND Used to maintain compatibility with pre-SVR4
package dependency checking. Pre-SVR4
dependency checks were based on whether or
not the name file for the required package
existed in the /var/options directory. This
directory is not maintained for SVR4 pack-
ages since the depend file is used for
checking dependencies. However, entries can
be created in this directory to maintain
compatibility. Setting the PREDEPEND param-
eter to y or yes creates a /usr/option entry
for the package. (Packages that are new for
SVR4 do not need to use this parameter.)
EXAMPLE PKGINFO FILE
Please look over the following example pkginfo file; it will
Printed 11/19/92 Page 3
PKGINFO(4-SVR4) RISC/os Reference Manual PKGINFO(4-SVR4)
help you to understand the explanations given below:
#
# An example pkginfo file
#
package="riscos"
id="RISC/os binary with nfs"
version=2.1 timestamp=558806400
os
media=Q24 media=Q11h
subpackage=root
id="os binary with nfs basic root filesystem"
minirootonly
splitboms="v.root.*"
bom="74-00021-002.0"
media=Q24 media=Q11h
subpackage=usr
id="os binary with nfs basic user filesystem"
splitboms="v.usr.*"
bom="74-00021-002.1"
subpackage=pascal
id="pascal binary"
optional
version=1.21
splitboms="p.*"
bom="74-00023-002"
GENERAL
pkginfo files are text files which consist of an ordered set
of attributes describing a software package, separated by
whitespace. Lines which contain the character # in column
one are comments, and are ignored by programs which read
pkginfo files.
Attributes may be either boolean or valued. Boolean attri-
butes are specified simply by naming them, for example:
optional
Attributes with values are specified with the syntax
attribute=value, for example:
version=1.21
values which include whitespace can be specified by sur-
rounding the value with double quotes, for example:
Page 4 Printed 11/19/92
PKGINFO(4-SVR4) RISC/os Reference Manual PKGINFO(4-SVR4)
id="RISC/os binary with NFS"
Multiple attributes may be specified per line, but an attri-
bute may not be split up onto more than one line. It is a
good idea to indent and group attributes for readability.
A pkginfo file begins with a package attribute section which
describes the top-level package. This is followed by a set
of subpackage attribute sections, which define the subpack-
ages of which the top-level package is comprised. The sub-
package attribute sections may be interspersed with media
attributes, which control the grouping of subpackages onto
multiple tape volumes.
PACKAGE ATTRIBUTE SECTION
Consider the following excerpt from the example pkginfo
file:
package="riscos"
id="RISC/os binary with nfs"
version=2.1 timestamp=558806400
os
The package attribute indicates the start of the package
attribute section, and assigns a short name to the top-level
package. The id attribute assigns a longer identification
string to the package. The version attribute assigns a ver-
sion number to the package. This version number is, by
default, inherited by each subpackage in the package. The
timestamp attribute assigns the release timestamp value for
the package. Release timestamps are the number of seconds
since the epoch, midnight December 31, 1969. The boolean
attribute os specifies that this is an operating system
release, which can be installed from scratch, including the
formatting of disk drive and initialization of new file sys-
tems.
SUBPACKAGE ATTRIBUTE SECTION
Consider the following excerpt from the example pkginfo
file:
subpackage=root
id="os binary with nfs basic root filesystem"
minirootonly
splitboms="v.root.*"
bom="74-00021-002.0"
The subpackage attribute begins the subpackage attribute
section and assigns a short name to the subpackage. The id
attribute assigns a longer identification string to the
package. The boolean attribute minirootonly specifies that
this subpackage may only be installed from the miniroot.
Printed 11/19/92 Page 5
PKGINFO(4-SVR4) RISC/os Reference Manual PKGINFO(4-SVR4)
This is usually specified only for root filesystem subpack-
ages within operating system releases. The splitboms attri-
bute gives a filename specification indicating which split
bom files belong to the subpackage. It can contain Bourne
shell filename pattern matching (wildcard) characters. The
bom attribute gives the filename for the merged bom file for
the subpackage. Note that in the example above, the 74-
level part number for the subpackage is used as the bom
name. This is a conventional decision, and is not imposed by
the packaging/installation system tools.
Consider the following excerpt from the example pkginfo
file:
subpackage=pascal
id="pascal binary"
optional
version=1.21
splitboms="p.*"
bom="74-00023-002"
This example subpackage illustrates two additional possible
subpackage attributes. optional is a boolean attribute that
specifies that this subpackage is optional, that is, the
installer will be given the choice of whether to install
this subpackage at install time. In general, this attribute
should be specified for all but the root and usr filesystem
subpackages within operating system releases. It effects the
default answer to the ``install subpackage...?'' prompt in
the ``select subpackages'' section of the installation pro-
cedure. The version attribute, if given for a subpackage,
overrides the version value set in the package attribute
section. This is useful for subpackages, such as the MIPS
compiler system, which maintain version numbers separately
from the rest of the subpackages in the top-level package.
(The compiler system may be considered to be both a stand-
alone package as well as a subpackage within a RISC/os
binary package.)
MEDIA ORGANIZATION
The media attribute is used to control the placement of sub-
packages within multiple volumes of tape. By placing a
media=type attribute before a subpackage, the packaging
tools will be told to start a new volume with the following
subpackage when packaging for media of type type.
Currently, the values of type supported are Q11h and Q24
(for QIC 11 w/ISI headers and QIC 24).
SEE ALSO
pkginfo(1M), pkginst(1M) in the System Administrator's
Reference Manual.
Page 6 Printed 11/19/92
PKGINFO(4-SVR4) RISC/os Reference Manual PKGINFO(4-SVR4)
Printed 11/19/92 Page 7