LinuxCommandLibrary

pacman-deptest

Test package dependencies without installing it

TLDR

Print the package names of the dependencies that are not installed

$ pacman -T [package1 package2 ...]
copy

Check if the installed package satisfies the given minimum version
$ pacman -T "[bash>=5]"
copy

Check if a later version of a package is installed
$ pacman -T "[bash>5]"
copy

Display [h]elp
$ pacman -Th
copy

SYNOPSIS

pacman-deptest [options] [PKGBUILD directory]

PARAMETERS

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

-q, --quiet
    Suppress non-error output.

-v, --verbose
    Increase verbosity level (can be used multiple times).

-d, --directory
    Specify the PKGBUILD directory (defaults to current directory).

-c, --config
    Specify a configuration file to use. Defaults to /etc/devtools/pacman-deptest.conf

-p, --profile
    Specify a profile to use for the build environment. Profiles are specified in the configuration file.

DESCRIPTION

The pacman-deptest command, part of the `devtools` package in Arch Linux, is a tool used to analyze the dependencies of Arch Linux packages.
It helps identify missing or unnecessary dependencies within a PKGBUILD file. This is crucial for ensuring that packages are built correctly and that end-users have all the required libraries and utilities installed to run the software.
It compares the dependencies listed in the PKGBUILD's `depends`, `makedepends`, `checkdepends`, and `optdepends` arrays against the actual dependencies required during the build process. This is done by building the package in a clean chroot environment, and tracking access to undefined shared objects or execution of undeclared binaries. This facilitates creating cleaner and more robust packages by catching potential runtime issues and dependency errors early in the development cycle.

CONFIGURATION

The pacman-deptest command uses a configuration file (usually `/etc/devtools/pacman-deptest.conf`) to define profiles for the build environment. These profiles specify the base packages and environment settings used during the dependency analysis.

USAGE EXAMPLE

To analyze dependencies for a package in the current directory:
pacman-deptest

To specify a directory containing the PKGBUILD:
pacman-deptest -d /path/to/pkgbuild

To use a specific profile named 'custom' defined in the config:
pacman-deptest -p custom

SEE ALSO

makepkg(1), PKGBUILD(5)

Copied to clipboard