NAME
mkpk —
    packaging system using Plan9
  mk
SYNOPSIS
mkpk | 
    [operation] [package] | 
DESCRIPTION
mkpk is a helper tool passing specific
    mkfiles to mk(1) to manage
    packages. operation can be one of the following:
mkpkbuildpackage- Builds the most recent version of a package tarball
      and puts it into 
PKGDIR. mkpkfetchpackage- Downloads the necessary sources to build package to
      the directory 
SRCBASEDIR. mkpkinfopackage- Shows information about the installed tarball of a package.
 mkpkinstallpackage- Installs the files from a built tarball of a package having the most recent version.
 mkpklistpackage- Lists files from the installed tarball of a package.
 mkpkuninstallpackage- Uninstalls the installed package by unlinking files from the filelist of its tarball.
 mkpkupdate- Updates the mkfiles repository.
 mkpkupgradepackage- Upgrades the existing package, as if the following
      was executed, in order:
    
$ mkpk fetch package $ mkpk build package $ mkpk uninstall package $ mkpk install package
 
ENVIRONMENT
You can see the full list of relevant environment variables used
    by mkpk in the file
    /lib/mkpk/defaults.mk (default location).
mkpklib- Directory holding the library mkfiles. By default, /lib/mkpk.
 BINDDIRS- Passed to PRoot as an argument. Defaults to 
-b /etc, which bind-mounts /etc when creating a package. MKFILESREPO- URL of the repository with the mkfiles with information on how to build individual packages. Defaults to galeb-mkfiles repository.
 NOBINDDIRS- If set to 1, no directories will be bind-mounted by PRoot when creating a package.
 PKG- Full name of a package, including the full version. For example, “gcc-12.1.0-2” or “vim-9.0.135”.
 PKGBASE- Base name of a package. For example, “gcc” or “vim”.
 PKGDB- Package database; TSV file holding the names, versions and installation timestamps of all installed packages. By default, /pkg/pkgdb.tsv.
 SKIPCLEAN- If set to 1, pkgroot won't be deleted after creating a package.
 SRCBASEDIR- Base directory for source code. Defaults to /src.
 SRCDIRS- Space-separated list of directories which are created by extracting archives.
 SRCCRDIRS- Space-separated list of directories to be created, to which the archives are to be extracted. Useful when a source archive doesn't have a root directory like it should.
 SRCEXDIRS- Space-separated list of directories to which the archive will be
      extracted.
      An alternative to 
SRCCRDIRS, when the directories already exist. SRCTODIRS- Space-separated list of directories
      to which the
      directories from 
SRCDIRSwill be renamed after extracting source archives. SRCTOTARBALLS- Space-separated list of tarball names to which the tarballs will be saved. Useful eg. for Github tarballs which have only version in their name.
 SRCMKFILES- Directory containing mkfiles. By default, /src/mkfiles.
 
FILES
- /pkg/*.tar.xz
 - Tarballs containing built binaries, ready to be extracted to /.
 - /pkg/pkgdb.tsv
 - Package database; TSV file holding the names, versions and installation timestamps of all installed packages.
 - /lib/mkpk/*.mk
 - Mkfiles to be included into individual package's mkfiles or called by the
      
mkpkhelper. - /src/[package]-[version]
 - Main source directory for a package.
 - /src/mkfiles/[package]
 - Mkfiles with instructions on how to build each individual package. Copied to /src/[package]-[version].
 
SEE ALSO
AUTHORS
Strahinya Radich ⟨contact@strahinja.org⟩, 2022-2023.