PKG(1M-SysV) RISC/os Reference Manual PKG(1M-SysV)
NAME
pkg - front-end to tools for packaging MIPS software
releases
SYNOPSIS
pkg
DESCRIPTION
This manual page gives a simplified set of directions for
packaging MIPS software releases. Its primary aim is to
explain the process in sufficient clarity and detail to
allow a novice to set up and package a MIPS software
release.
Please refer to the pkginst(1M) manual page before attempt-
ing to package software.
OVERVIEW
The packaging tools described here are one side of a two-
sided coin. The other side of the coin is the set of ins-
tallation tools, that operate on the packages created by the
packaging tools, to install them on a target system.
The packaging tools are typically used by MIPS software QA
staff to prepare releases for distribution, either via the
network, or via tapes.
The installation tools are typically used by a user to
install a package on a target system. For more information
on the installation tools, refer to the inst(1M) manual
page.
PACKAGING RECIPE
This section gives step-by-step instructions for packaging
of a software release.
1. Establish the build tree.
The steps which follow assume that the build tree has been
established. For binary releases, it is assumed that the
package has been built successfully from the top level.
2. Establish the packaging information tree.
The packaging information tree must be created, including
the top level and the lib, boms, and bin directories.
Correct split bom files should be placed in the boms direc-
tory. If any of the subpackages in the package have
preserve lists, they should be placed in the lib directory.
If the package includes any update conversion scripts, the
conv directory should be established and they should be
placed there. (Update conversion scripts are used in cases
where local files, such as administrative configuration
files, should be adjusted to work properly with the new
Printed 1/15/91 Page 1
PKG(1M-SysV) RISC/os Reference Manual PKG(1M-SysV)
release of a package. Conversion scripts can be provided as
a service to the user to automate these conversions.) The
pkginfo file should be created and placed in the top level
packaging information directory. (Please refer to the
pkginfo(5) manual page for details on the contents of
pkginfo files).
3. Establish the $Pkgroot and $Pkg
The values of these variables tell the packaging tools what
trees to operate on. $Pkgroot should be set to the relative
root of the build tree for the software being packaged. $Pkg
should be set to the top directory of the packaging informa-
tion tree for the software being packaged. The values can be
set either from the shell, or in a shell start-up file
(.profile, .login, etc.).
4. Path to the packaging tools
You should place the path of the packaging tools binary
directory, usually $Pkgroot/usr/pkg/bin or /usr/pkg/bin, in
your search path (PATH environment variable).
$Pkgroot/usr/pkg/bin should be used for a package which
includes binaries of the packaging and installation tool
directory, /usr/pkg/bin should be used otherwise.
5. Execute the pkg command.
pkg is an interactive front-end interface that ties together
several of the packaging tool scripts. It offers the user
an opportunity to execute each of the tools, in the proper
order, along with brief explanations of when it is required
to perform each step. Some automated dependency checking is
done; if pkg believes a step can be skipped, it indicates
this by setting the default answer to the ``Execute tool?''
prompt to ``n''.
The most conservative approach is to execute all of the
pkg_* steps as they are presented by pkg. There are some
complex dependencies involved, and by executing all steps,
they need not be taken into account. The only disadvantage
to executing all of the steps is that it can take longer.
SEE ALSO
pkginst(1M), inst(1M), pkginfo(1M).
pkginfo(4), pkgtape(4) in the Programmer's Reference Manual.
Page 2 Printed 1/15/91