pkgmk
Create installable software packages
TLDR
Make and download a package
Install the package after making it
Upgrade the package after making it
Ignore the footprint when making a package
Ignore the MD5 sum when making a package
Update the package's footprint
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
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.