Go to file
Ville Skyttä 7b1cc95039 Update checkout instructions. 2015-07-09 16:43:41 +03:00
test Recognize patches applied via some common pipe usages. 2015-07-09 16:43:40 +03:00
tools Add ISO 639-2 3-letter terminology codes for langs without 639-1 2-letter code. 2015-07-09 16:43:41 +03:00
.gitignore Tell git to ignore generated files. 2015-07-09 16:43:41 +03:00
AbstractCheck.py Fix indentation. 2015-07-09 16:43:41 +03:00
BinariesCheck.py Get rid of some unnecessary regexps. 2015-07-09 16:43:41 +03:00
COPYING Update FSF's address, copy current GPL from gnu.org as-is. 2015-07-09 16:42:46 +03:00
Config.py Drop unnecessary global statements. 2015-07-09 16:43:41 +03:00
ConfigCheck.py Get rid of app-defaults-must-not-be-conffile check, it's covered by non-etc-or-var-file-marked-as-conffile. 2015-07-09 16:43:38 +03:00
DistributionCheck.py Wrap bunch of long lines, tune comments and info messages. 2015-07-09 16:43:37 +03:00
DocFilesCheck.py pylint warning cleanups. 2015-07-09 16:43:41 +03:00
FHSCheck.py Code cleanups. 2015-07-09 16:43:33 +03:00
FilesCheck.py Warn about svgz icons installed in scalable icon dirs. 2015-07-09 16:43:41 +03:00
Filter.py Fix traceback when outputting non-unicode strings to non-TTY (#308, Toshio Kuratomi). 2015-07-09 16:43:41 +03:00
I18NCheck.py Use rpm.RPMTAG_HEADERI18NTABLE instead of assuming it's 100. 2015-07-09 16:43:39 +03:00
INSTALL Clarify that python 3 is not yet supported. 2015-07-09 16:43:41 +03:00
InitScriptCheck.py Get rid of some unnecessary regexps. 2015-07-09 16:43:41 +03:00
LSBCheck.py Make sure details are available for -i also for early loaded check modules. 2015-07-09 16:43:32 +03:00
Makefile Release 1.4. 2015-07-09 16:43:41 +03:00
MenuCheck.py Prepare for rpm-python possibly returning script progs as arrays. 2015-07-09 16:43:41 +03:00
MenuXDGCheck.py Wrap bunch of long lines, tune comments and info messages. 2015-07-09 16:43:37 +03:00
NamingPolicyCheck.py Wrap bunch of long lines, tune comments and info messages. 2015-07-09 16:43:37 +03:00
PamCheck.py Wrap bunch of long lines, tune comments and info messages. 2015-07-09 16:43:37 +03:00
Pkg.py pylint warning cleanups. 2015-07-09 16:43:41 +03:00
PostCheck.py Spelling fix. 2015-07-09 16:43:41 +03:00
README Move list of available config options to "config", improve documentation. 2015-07-09 16:43:37 +03:00
README.devel Update checkout instructions. 2015-07-09 16:43:41 +03:00
RpmFileCheck.py Wrap bunch of long lines, tune comments and info messages. 2015-07-09 16:43:37 +03:00
SignatureCheck.py Wrap bunch of long lines, tune comments and info messages. 2015-07-09 16:43:37 +03:00
SourceCheck.py Code cleanups, avoid deeply nested blocks etc. 2015-07-09 16:43:38 +03:00
SpecCheck.py Avoid traceback on files we get from spec objects but not rpm headers. 2015-07-09 16:43:41 +03:00
TagsCheck.py pylint warning cleanups. 2015-07-09 16:43:41 +03:00
ZipCheck.py Wrap bunch of long lines, tune comments and info messages. 2015-07-09 16:43:37 +03:00
__isocodes__.py Add ISO 639-2 3-letter terminology codes for langs without 639-1 2-letter code. 2015-07-09 16:43:41 +03:00
authors.xml add my new uid to authors.xml 2015-07-09 16:43:21 +03:00
authors.xsl Generate AUTHORS from authors.xml. 2015-07-09 16:43:22 +03:00
config Add UseVarLockSubsys option for forbidding use of /var/lock/subsys (Ludwig Nussel). 2015-07-09 16:43:40 +03:00
rpmdiff Comment spelling fix. 2015-07-09 16:43:41 +03:00
rpmlint Add --rawout option (Ludwig Nussel). 2015-07-09 16:43:41 +03:00
rpmlint.1 Force plain ASCII quotes in man page examples. 2015-07-09 16:43:41 +03:00
rpmlint.bash-completion Hush when trying to load _rpm_installed_packages. 2015-07-09 16:43:41 +03:00
test.sh Delete trailing whitespace. 2015-07-09 16:43:40 +03:00

README

rpmlint is a tool for checking common errors in rpm packages.  rpmlint
can be used to test individual packages before uploading or to check
an entire distribution.  By default all applicable checks are
performed but specific checks can be performed by using command line
parameters.

rpmlint can check binary rpms (files and installed ones), source rpms,
and plain specfiles, but all checks do not apply to all argument
types.  For best check coverage, run rpmlint on source rpms instead of
plain specfiles, and installed binary rpms instead of uninstalled
binary rpm files.

The idea for rpmlint is from the lintian tool of the Debian project.

Comments and new checks welcome. See the project home page at
http://rpmlint.zarb.org/ for mailing list information, bug tracking
system and other project resources.

Implemented checks:

	o Tag checks (TagsCheck).
	o Distribution specific checks (MandrakeCheck).
	o Binary checks (BinaryCheck).
	o Configuration file checks (ConfigCheck).
	o Location, permission, group and owner checks (FileCheck).
	o suid warnings (FileCheck).
	o Signature checks (SignatureCheck).
	o FHS checks (FHSCheck).
	o Source specific checks (SourceCheck).
	o i18n checks (I18NCheck).
	o Menu system checks (MenuCheck).
	o %post; %pre, %postun and %preun script checks (PostCheck).
	o /etc/rc.d/init.d checks (InitScriptCheck).
	o Spec file checks (SpecCheck).
	o Zip/Jar file checks (ZipCheck).
	o Pam configuration file checks (PamCheck).
	o Rpm file checks (RpmFileCheck).

If you want to change configuration options or the list of checks, use
the global configuration files /etc/rpmlint/*config or the user
configuration file $XDG_CONFIG_HOME/rpmlint (~/.config/rpmlint if
$XDG_CONFIG_HOME is empty or not set).

Configuration files are Python source files and should begin with the
following line:

from Config import *

to load configuration functions.

Configuration functions:

resetChecks() resets the list of checks.

addCheck(check) adds the check to the list of checks to try.

addCheckDir(path) adds a path to look for checks.

setOption(name, value) sets the value of the configuration option.
See below for the list of available options.

addFilter(regexp) adds a filter to remove the output of a check, and
removeFilter(regexp) removes one (for use eg. in per-user configuration
files to remove filters added in system config files).

See the file "config" shipped with rpmlint for examples, available
options and their default values.