LinuxCommandLibrary

pkgmk

Create installable software packages

TLDR

Make and download a package

$ pkgmk -d
copy

Install the package after making it
$ pkgmk -d -i
copy

Upgrade the package after making it
$ pkgmk -d -u
copy

Ignore the footprint when making a package
$ pkgmk -d -if
copy

Ignore the MD5 sum when making a package
$ pkgmk -d -im
copy

Update the package's footprint
$ pkgmk -uf
copy

SYNOPSIS

pkgmk [options]

PARAMETERS

-A, --ignorearch
    Ignore architecture checking.

-c, --clean
    Clean up work directory after building.

-d, --nodeps
    Skip dependency checking.

-f, --force
    Overwrite existing packages.

-g, --geninteg
    Generate integrity checks for source files.

-h, --help
    Show help message and exit.

-i, --install
    Install the package after building.

-L, --log
    Enable logging.

-m, --nocolor
    Disable color output.

-p , --pkgbuild=
    Specify PKGBUILD to use. Defaults to './PKGBUILD'.

-r, --repackage
    Rebuild an existing package.

-s, --syncdeps
    Install missing dependencies using pacman.

-S, --skipinteg
    Skip integrity checking.

-o, --nobuild
    Do not build the package but only prepare the sources and dependencies.

-v, --verbose
    Enable verbose output.

--holdver
    Use the version from PKGBUILD and skip VCS updates.

--verifysource
    Run 'gpg --verify' on all source files

DESCRIPTION

The pkgmk command is a utility in Arch Linux used for building packages from a PKGBUILD file. It automates the process of downloading sources, verifying checksums, resolving dependencies, compiling and installing software, and creating a package archive in the .pkg.tar.zst format. The PKGBUILD file contains all the necessary information to build the package, including sources, dependencies, build instructions, and installation commands. pkgmk simplifies package creation and management, allowing users to easily build and distribute their own software or modified versions of existing packages.

pkgmk relies heavily on the `makepkg.conf` file for configuration. It is commonly used within the Arch Build System (ABS) to maintain consistency and reproducibility of packages across different systems. It offers features such as dependency resolution, checksum verification, and package signing.

CAVEATS

pkgmk must be run in the same directory as the PKGBUILD file. The makepkg.conf file contains global settings for building packages, and incorrect settings can lead to build failures.

PKGBUILD FORMAT

The PKGBUILD file is a shell script that defines how to build a package. It contains variables like pkgname, pkgver, pkgrel, arch, license, depends, source, build(), and package(). Understanding the PKGBUILD syntax is crucial for creating and maintaining packages. The build() function defines how to compile the software and the package() function defines how to prepare the installation files.

PACKAGE SIGNING

pkgmk can be configured to sign packages with GPG. This ensures the integrity and authenticity of the package. Package signing is enabled in makepkg.conf and requires a valid GPG key.

SEE ALSO

makepkg(1), pacman(8)

Copied to clipboard