Packaging your software applications


The pkgmk(C) command takes all of the package objects residing on the development machine, optionally compresses them, copies them onto the installation medium, and places them into a fixed directory structure. You are not required to know the details of the fixed directory structure because pkgmk takes care of the formatting.

Files can be unstructured on the development machine and pkgmk will structure them correctly on the medium based on information supplied in the prototype(F) file. The installation medium onto which a package is formatted can be removable (a disk, for example) or it can be a directory on a machine.

pkgmk requires the presence of two information files on the development machine, the prototype(F) and the pkginfo(F) files (other package information files might be present). The pkginfo file defines the values for a number of package parameters, such as the package abbreviation and the package name. The prototype file provides a complete list of the package contents. pkgmk creates the pkgmap(F) file, the package contents file on the installation medium, by processing the prototype file and then adding three fields to each entry.

pkgmk follows these steps when processing a package:

  1. Processes all of the command lines in the input prototype file. prototype command lines can tell pkgmk where to look for package objects, merge other prototype files into this one, define default mode owner group for package objects, and place parameter values in the packaging environment.

  2. Copies the objects of a package onto the installation medium, using the prototype file as a listing of contents. If desired, the objects placed on the installation medium can be compressed.

  3. Puts the package objects into the proper format.

  4. Divides a package into pieces and distributes those pieces on multiple volumes, if necessary.

  5. Creates the pkgmap file. (the content listing file that is placed on the installation medium). It resembles the prototype file except that all command lines are processed, and the volno, size, cksum, and modtime fields are added to each entry.

Next topic: pkgtrans
Previous topic: The package creation tools

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003