mkpkg
[ -d ]
[ -i | -u ]
[ -r
path ]
[ -F ]
[ -n ]
[ -w ]
[ -g
file ]
mkpkg -o
{ d | e | u }
mkpkg -c
[ d ][ f ][ s ]
mkpkg -u
{ f | s | x | p }
mkpkg -x
mkpkg -t
mkpkg -pmkpkg
reads a
MAKEPKG(5)
file from the current directory, downloads sources, verifies
checksums and signatures, and produces a binary package archive.
The build pipeline executes in this order:
shell() [pre] setup wrappers (runs in port directory) download fetch sources to PKGMK_SOURCE_DIR checksums verify sha256sums or b2sums signature verify port signature extract() or auto unpack sources into $SRC patch() apply patches (runs in $SRC) build() compile and install to $PKG (runs in $SRC) post_build() post-build fixups (runs in $SRC) strip strip binaries (unless -n) compress gzip man pages meta write declarative metadata to package footprint generate and check .footprint shell() [post] cleanup wrappers (runs in port directory)The
shell()
hook runs twice: the first definition runs before download,
the second after packaging.
Both run in the port directory (PKGMK_SOURCE_DIR) and source
/etc/mkpkg.conf .
The
extract()
and
patch()
hooks do
not
source mkpkg.conf since they don't need build flags. The build(), post_build(), andshell()
hooks source mkpkg.conf for access to CC, CFLAGS, etc.mkpkgmkpkg -dmkpkg -imkpkg -umkpkg -r pathmkpkg -odmkpkg -oemkpkg -oumkpkg -cmkpkg -cdmkpkg -cfmkpkg -csmkpkg -cdfsmkpkg -ufmkpkg -usmkpkg -uxmkpkg -upsignify() public key in the MAKEPKG file. Reads the public key matching the configured secret key and writes it into a signify() function block.mkpkg -xmkpkg -tmkpkg -psignify() function.mkpkg -Ifmkpkg -INmkpkg -Ismkpkg -Ic-w run, the existing work/src is reused (resume) and only work/pkg is recreated.-g file, --config file$PKG$SRC$PKGMK_SOURCE_DIRmkpkg was invoked from.$name$version$release01-10