pkgmk -- produce an installable package


/usr/binpkgmk [-o] [-c] [-d device] [-r rootpath] [-b basedir] [-l limit] [-B blocksize] [-a arch] [-v version] [-p pstamp] [-f prototype] [variable=value ...] [pkginst]


pkgmk produces an installable package to be used as input to the pkgadd command. The package contents will be in directory structure format. A package is a collection of related files and executables that can be independently installed.

The command uses the package prototype file as input and creates a pkgmap file. The contents for each entry in the prototype file is copied to the appropriate output location. Information concerning the contents (checksum, file size, modification date) is computed and stored in the pkgmap file, along with attribute information specified in the prototype file.

Overwrites the same instance, package instance will be overwritten if it already exists.

Compresses non-information files. You must also specify the -r option when using -c.

Indicates that a key is required. This is equivalent to the entry of ACTKEY=YES in the pkginfo file.

-d device
Creates the package on device. device can be a full pathname to a directory or the identifier for a removable block device (for example, diskette1). The default device is the installation spool directory. The device named must already exist.

-r rootpath
Uses the indicated rootpath with the source pathname in the prototype file appended to locate objects on the source machine.

-b basedir
Prepends the indicated basedir to locate relocatable objects on the source machine.

-l limit
Specifies the maximum size in 512-byte blocks of the output device as limit. By default, if the output file is a directory or a mountable device, pkgmk will employ the df command to dynamically calculate the amount of available space on the output device. Useful in conjunction with pkgtrans to create package with datastream format.

-B blocksize
Block size of the actual destination of the package. Useful when the path specified with the -d option is only a temporary spool location and not the intended output for distribution. (Note, if distribution is to be in datastream format only, use -B 512.)

-a arch
Overrides the architecture information provided in the pkginfo file with arch.

-v version
Overrides version information provided in the pkginfo file with version.

-p pstamp
Overrides the production stamp definition in the pkginfo file with pstamp.

-f prototype
Uses the file prototype as input to the command. The default name for this file is either Prototype or prototype.

Places the indicated variable in the packaging environment. [See prototype(F) for definitions of packaging variables.]

A short string used to designate an abbreviation for the package name. pkgmk will automatically create a new instance if the version and/or architecture is different. A user should specify only a package abbreviation; a particular instance should not be specified unless the user is overwriting it.

Exit codes

Successful completion of script.

Fatal error. Installation process is terminated at this point.

Internal error.

Differences between versions

For SCO OpenServer Release 5.0.5a and later releases, this command is identical to the UnixWare 7 command of the same name. For earlier SCO OpenServer releases, the -c and -B options are not supported.


language-specific message file; see LANG on environ(M).


pkginfo(F), pkgparam(C), pkgproto(C), pkgtrans(C), setinfo(F)


Entries in the prototype file that reference relative paths above the rootpath specification will not be compressed.

When the -c option is specified, any !search commands found in the prototype(F) file.

Any files that were already compressed (that is, only those in ".Z" form) before being processed by pkgmk will not be uncompressed by the pkgadd command.

You can use pkgproto to create the prototype file. In this case, you must manually add in the entries for any installation scripts and files you are using in the package. You only need entries for those files and scripts that you use. However, you must always add an entry for the pkginfo file for the package. See pkgproto(C) for more information.

pkgmk does not work with tape devices.

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