Packaging your software applications

Contents of a package

A software package is a group of components that together create the software. These components naturally include the executables that comprise the software, but they also include at least two information files and can optionally include other information files and scripts.

As shown in Figure 8-1, a package's contents fall into three categories:

The contents of a package

Required components

A package must contain at least the following components:

Package objects
These are the objects that make up the software. They can be files (executable or data), directories, or named pipes. Objects can be manipulated in groups during installation by placing them into classes. You will learn more about classes in ``3. Placing objects into classes''.

The pkginfo(4) file
This required package information file defines parameter values that describe a package. For example, this file defines values for the package abbreviation, the full package name, and the package architecture.

The prototype(4) file
This required package information file lists the contents of the package. There is one entry for each deliverable object consisting of several fields of information that describes the object. All package components, including the pkginfo(4) file, must be listed in the prototype(4) file.
Both required package information files are described further in ``The package information files'' and on their respective manual pages.

Optional package information files

The four optional package information files that you can add to your package are:

defines previous versions of the package that are compatible with this version

defines any software dependencies associated with this package

defines disk space requirements for the target environment beyond that used by objects defined in the prototype(4) file (for example, files that will be dynamically created at installation time)

defines the text for a copyright message that will be printed on the terminal at the time of package installation or removal

Every package information file used must have an entry in the prototype file. All of these files are described further in ``The package information files'' and on their respective manual pages.

Optional installation scripts

Your package can use three types of installation scripts, although no scripts are required. Many of the tasks executed in a pre-UNIX System V Release 4 installation script are now accomplished automatically by pkgadd(1M). However, you can use scripts with a UNIX System V Release 4 package to perform customized actions. An installation script must be executable by sh (for example, a shell script or executable program). The three script types are the request script (solicits installer input), class action script (defines a set of actions to perform on a group of objects), and the procedure script (defines actions that will occur at particular points during installation).

Packaging scripts are described in detail in ``The installation scripts''. Example scripts can be found in the case studies.

Next topic: Quick steps to packaging
Previous topic: Packaging your software applications

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 27 April 2004