NAME¶
rpmlint - check common problems in rpm packages
SYNOPSIS¶
rpmlint [OPTION]... [FILE|PACKAGE]...
DESCRIPTION¶
rpmlint is a tool for checking common errors in rpm packages. It can be
used to test individual packages and spec files before uploading or to check
an entire distribution. By default all applicable checks are processed but
specific checks can be performed by using command line parameters.
FILE can be a rpm package file, a spec file, or a
directory. In case of a directory, it is recursively searched for rpm and
spec files to check. The special value - results in standard input
being read and treated as (single) spec file content. PACKAGE is the
name of an installed package or a glob(7) pattern to match installed
packages, unless a file by that name exists.
- -i, --info
- Display explanations for reported messages.
- -I, --explain=messageid
- Display explanations for the specified message identifiers and exit. This
option may be given multiple times.
- -c, --check=check
- Run only the specified check. This option may be given multiple times to
specify multiple checks to run. check is the name of the Python
module (as it would be given to Python's import statement) containing the
check.
- -a, --all
- Check all installed packages.
- -C, --checkdir=dir
- Insert dir to the front of the list of paths to load checks from,
unless it is already in the list. The default list of check dirs typically
contains only /usr/share/rpmlint. Directories in the check dirs list are
also inserted to the front of the list of paths to load Python modules
from when the check process begins.
- -h, --help
- Display summary of command line options and exit.
- -v, --verbose
- Operate in verbose mode.
- -E, --extractdir=dir
- Base directory for extracted temporary files, default is what Python's
tempfile.gettempdir() returns.
- -V, --version
- Display version information and exit.
- -n, --noexception
- Ignore output filters.
- --rawout=file
- Write unfiltered output to file.
- -f, --file=conffile
- Load user configuration from the specified file, default is
$XDG_CONFIG_HOME/rpmlint (~/.config/rpmlint if $XDG_CONFIG_HOME is empty
or not set).
- -o, --option=value
- Override a configuration option. value is a whitespace separated
string, first word of which is the option name to set, and the Python
eval() return value for the rest is set as the value for the option.
Passing only an option name is treated as if None was passed as its value.
See the file "config" shipped with rpmlint for the list of
configuration options and their types. For example:
-o "NetworkEnabled True"
-o "Distribution 'My favorite distro'"
-o "MaxLineLength 80"
-o "ValidShells ('/bin/sh', '/bin/bash')"
CAVEATS¶
All checks do not apply to all argument types. For best check coverage, run
rpmlint on all source and binary packages your build produces. The set of
checks rpmlint runs on source packages is a superset of the one for plain
specfiles, the set of checks run for installed binary packages is a superset
of the one for uninstalled binary package files, and the source and binary
package check sets are quite different.
FILES¶
- /usr/share/rpmlint/config, /usr/share/rpmlint/config.*
- Built-in configuration. When invoked as someprefix-rpmlint,
/usr/share/rpmlint/config.someprefix is used if it exists,
otherwise /usr/share/rpmlint/config.
- /etc/rpmlint/*config
- System wide configuration.
- $XDG_CONFIG_HOME/rpmlint or ~/.config/rpmlint
- User configuration.
EXIT CODES¶
- 0
- No errors.
- 1
- Unspecified error.
- 2
- Interrupted.
- 64
- One or more error message printed.
- 66
- Badness threshold exceeded.
AUTHOR¶
Originally written by Frédéric Lepied, modified and maintained by
numerous contributors since.
COPYRIGHT¶
This program is licensed under the GNU General Public License, see the file
COPYING included in the distribution archive.