ADEQUATE(1)
Okay bestie, welcome to the adequate man page π (General Commands Manual, section 1, we're serving full nerd realness today π
).
β¨ NAME β¨
adequate is the Debian package quality testing tool π¦ It's basically a vibe check for your packages.
β¨ SYNOPSIS β¨
adequate [options] package-name...
adequate [options] --all
adequate [options] --apt-preinst
adequate [options] --pending
adequate --list-tags
adequate --help
β¨ DESCRIPTION β¨
Okay so adequate goes through the packages installed on your system and calls out bugs and policy violations π No cap, it's giving detective energy.
β¨ OPTIONS β¨
--allβ Runs checks on every single installed package π--tags tag1[,tag2...]β Only emits these tags π―--tags -tag1[,tag2...]β Doesn't emit these tags, so you can mute the drama π€«--debconfβ Reports issues through debconf(7) π--failβ Exits with status 2 if at least one tag got emitted π--root directoryβ Changes the root directory (using chroot(2)) π§--user user[:group]β Switches user and group before running any checks π This is most useful together with--rootor--pending, which need superuser privileges.--apt-preinstβ Reads APT configuration and .deb filenames from stdin, then appends package names to/var/lib/adequate/pendingfor later processing (see--pending) π«Ά This one is used internally by the APT hook. The hook is disabled by default, so edit/apt/apt.conf.d/20adequateif you want to turn it on β¨--pendingβ Runs checks on the packages listed in/var/lib/adequate/pending, then empties the file π§Ή--list-tagsβ Lists all tag names and exits π--helpβ Displays help and exits π
β¨ TAGS β¨
Here's the full tea on every tag β Each one has its own little personality.
bin-or-sbin-binary-requires-usr-lib-library
This package ships a binary in /bin or /sbin that requires a library in /usr/lib. It's obsolete now, see https://wiki.debian.org/UsrMerge π
broken-binfmt-detector
The detector registered with update-binfmts(8) does not exist. Lowkey tragic π
broken-binfmt-interpreter
The interpreter registered with update-binfmts(8) does not exist. Also tragic π
broken-symlink
This package ships a symlink that points to a file that doesn't exist π
incompatible-licenses
The licenses of the libraries the binary is linked to are incompatible. This one is obsolete as of adequate version 0.16.19 ποΈ
invalid-dbus-user-or-group
A D-Bus configuration file specifies an invalid user or group π«
invalid-systemd-user-or-group
A systemd service unit script specifies an invalid user or group π«
invalid-sysvinit-user-or-group
A sysvinit script specifies an invalid user or group π«
ldd-failure
Running ldd -r on the file failed unexpectedly. This is most likely a bug in libc or in adequate itself π See https://bugs.debian.org/710521
library-not-found
The binary is linked with a library, and that library cannot be found π« Debian Policy Β§8.6
missing-alternative
This package is a provider of the virtual package x-terminal-emulator, but it doesn't register itself as an alternative for /usr/bin/x-terminal-emulator. Or, it's a provider of the virtual package x-window-manager, but it doesn't register itself as an alternative for /usr/bin/x-window-manager. Debian Policy Β§11.8.3, Debian Policy Β§11.8.4 πͺ
missing-copyright-file
The copyright file for this package is missing π This often happens if /usr/share/doc// used to be a real directory in an earlier version of the package, but it's now a symlink. dpkg never replaces a directory with a symlink to a directory, so it's a whole mess. Debian Policy Β§12.5, Β§6.6
missing-pkgconfig-dependency
A dependency of a pkg-config (.pc) file shipped by this package couldn't be satisfied. Debian Policy Β§8.4 π§©
missing-symbol-version-information
The binary uses versioned symbols, but the library only provides unversioned ones π’
obsolete-conffile
The current version of this package no longer ships a conffile, even though it used to in the past. However, the conffile hasn't been removed on upgrade π§Ή See https://wiki.debian.org/DpkgConffileHandling and dpkg-maintscript-helper(1)
program-name-collision
This package ships a program with the same name as another program π― Debian Policy Β§10.1
py-file-not-bytecompiled
This package ships Python modules that are not byte-compiled π Python Policy Β§2.6
pyshared-file-not-bytecompiled
This package ships Python modules in /usr/share/pyshared that are not byte-compiled π Python Policy Β§2.6, Β§1.5
symbol-size-mismatch
The symbol has changed size since the package was built. This might mean the library broke ABI. If ABI wasn't broken, and the library bumped shlibs (or symbols), the package should be binNMUed π
undefined-symbol
The symbol has not been found in the libraries linked with the binary. Either the binary needs to be linked with an additional shared library, or the dependency on the shared library package that provides this symbol is too weak π³οΈ Debian Policy Β§3.5, Β§8.6, Β§10.2
β¨ EXAMPLES β¨
Let's get into some looks π
adequate coreutils
Checks the coreutils package πΈ
adequate --tags obsolete-conffile --all
Checks all the packages for obsolete conffiles π§Ή
adequate --tags -py-file-not-bytecompiled,pyshared-file-not-bytecompiled --all
Checks all the packages while ignoring Python bytecompilation issues ππ
β¨ EXIT STATUS β¨
0β No tags were emitted, or--failwasn't set π1β Invalid invocation π₯²2β At least one tag was emitted and--failwas set π¨
β¨ REPORTING BUGS β¨
Okay, so if you find a bug with adequate, please use these usertags so the right people see it π«Ά
User: debian-qa@lists.debian.org
Usertags: adequate tag-name
Real talk: adequate is not perfect, so false positives are possible π Don't report a bug unless you actually understand the underlying problem. When in doubt, ask debian-qa@lists.debian.org first, bestie π
β¨ SEE ALSO β¨
- Debian Policy:
/usr/share/doc/debian-policy/policy.txt.gzorhttps://www.debian.org/doc/debian-policy/π - Python Policy:
/usr/share/doc/python/python-policy.txt.gzorhttps://www.debian.org/doc/packaging-manuals/python-policy/π - lintian(1), piuparts(1) π¦
That's the whole page, babe π Signing off from ADEQUATE(1), the General Commands Manual, where the footer is just the name and nothing else πΈβ¨
π¦ where this page comes from
- debian trixie: adequate 0.17.5+b5 Β· MIT
- ubuntu questing: adequate 0.17.5
- ubuntu resolute: adequate 0.17.6 Β· MIT
- ubuntu stonking: adequate 0.17.6 Β· MIT
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms