PKGMK(8) System Manager's Manual PKGMK(8)

pkgmkmake an installable software package

pkgmk [option ...]

The pkgmk utility makes an installable software package to be used as input to the pkgadd(1) command. The package itself is an archive of files, and its contents have a directory structure format.

The following archive formats are supported:

• .pkg.tar.gz
 
• .pkg.tar.bz2
 
• .pkg.tar.lz
 
• .pkg.tar.zst
 
• .pkg.tar.xz
 

To prepare to use pkgmk, you must write a file named Pkgfile, that describes how the package should be build. See Pkgfile(5) for more information how-to write Pkgfile(s). Once a suitable Pkgfile exists, each time you change some source files, you simple execute pkgmk to bring the package up to date. The pkgmk program uses Pkgfile file and the last-modification times of the source files to decide if the package needs to be updated. Global configuration file is stored in /etc/pkgmk.conf. This file is read by pkgmk at startup.

The options are as follows:

, --download
Download missing source files.
, --download-only
Do not build, only download missing source files.
, --up-to-date
Do not build, only check if the package is up to date.
, --update-footprint
Update footprint and treat last build as successful.
, --ignore-footprint
Build package without checking footprint.
, --ignore-new
Build package, ignore new files in a footprint mismatch.
, --update-md5sum
Update md5sum using the current source files.
, --ignore-md5sum
Build package without checking md5sum first.
, --check-md5sum
Check md5sum without building the package.
, --no-strip
Do not strip executable binaries or libraries.
, --force
Build package even if it appears to be up to date.
, --clean
Remove the (previously built) package and the downloaded source files.
, --keep-work
Keep temporary working directory.
conffile, --config-file=conffile
Specify an alternate configuration file instead of the default /etc/pkgmk.conf.
, --version
Print version and exit.
, --help
Print help and exit.

Pkgfile
Package build description. See Pkgfile(5) for more information.
.nostrip
Exceptions for strip(1) executable binaries and/or libraries.
.footprint
Package footprint (used for regression testing).
.md5sum
MD5 checksum of source files.
/etc/pkgmk.conf
Global package make configuration. See pkgmk.conf(5) for more information.

0
No error occurred.
1
A general error has occurred.
2
The Pkgfile is invalid.
3
The source or build directory is missing or is lacking read/write permissions.
4
An error occurred during the download of source files.
5
An error occurred during unpacking of source files.
6
An md5sum mismatch occurred.
7
A footprint mismatch occurred.
8
An error occurred while running the function.

Pkgfile(5), pkgmk.conf(5)

The original implementation of pkgmk was done by Per Lidén <per@fukt.bth.se>, the author of CRUX, as part of “pkgutils” package, and was maintained for years (and still maintaining) by CRUX team.

This implementation was extensively re-worked for Zeppe-Lin by Alexandr Savca <alexandr.savca89@gmail.com>.

September 6, 2023 Zeppe-Lin