Go to file
Ville Skyttä b1314de24e Force overwrite when symlinking bash completion to allow repeated installs 2015-07-09 16:43:45 +03:00
test Clean up test dir structure 2015-07-09 16:43:45 +03:00
tools flake8 cleanups 2015-07-09 16:43:44 +03:00
.gitignore AUTHORS is no longer generated. 2015-07-09 16:43:41 +03:00
AUTHORS AUTHORS is no longer generated. 2015-07-09 16:43:41 +03:00
AbstractCheck.py flake8 cleanups 2015-07-09 16:43:44 +03:00
AppDataCheck.py AppDataCheck: Make checker command configurable 2015-07-09 16:43:45 +03:00
BinariesCheck.py Python 3 fixes and cleanups 2015-07-09 16:43:45 +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 flake8 cleanups 2015-07-09 16:43:44 +03:00
ConfigCheck.py Run all check_specs method for all enabled checks, separate check_binary and check_source 2015-07-09 16:43:43 +03:00
DistributionCheck.py flake8 cleanups 2015-07-09 16:43:45 +03:00
DocFilesCheck.py flake8 cleanups 2015-07-09 16:43:44 +03:00
FHSCheck.py Run all check_specs method for all enabled checks, separate check_binary and check_source 2015-07-09 16:43:43 +03:00
FilesCheck.py FilesCheck: Add Python 3.5b2 magic number 2015-07-09 16:43:45 +03:00
Filter.py flake8 fixes 2015-07-09 16:43:45 +03:00
I18NCheck.py flake8 cleanups 2015-07-09 16:43:45 +03:00
INSTALL INSTALL: Python 3 should be fine now 2015-07-09 16:43:45 +03:00
InitScriptCheck.py Python 3 fixes and cleanups 2015-07-09 16:43:45 +03:00
LSBCheck.py flake8 cleanups 2015-07-09 16:43:44 +03:00
Makefile Force overwrite when symlinking bash completion to allow repeated installs 2015-07-09 16:43:45 +03:00
MenuCheck.py Python 3 fixes and cleanups 2015-07-09 16:43:45 +03:00
MenuXDGCheck.py Python 3 compatibility tweaks 2015-07-09 16:43:43 +03:00
NamingPolicyCheck.py flake8 cleanups 2015-07-09 16:43:44 +03:00
PamCheck.py flake8 cleanups 2015-07-09 16:43:44 +03:00
Pkg.py Pkg.getstatusoutput: Close process stdout as soon as we're done with it 2015-07-09 16:43:45 +03:00
PostCheck.py Python 3 fixes and cleanups 2015-07-09 16:43:45 +03:00
README Note SCLCheck in README 2015-07-09 16:43:44 +03:00
README.devel Update checkout instructions. 2015-07-09 16:43:41 +03:00
RpmFileCheck.py Remove no longer updated CVS keywords. 2015-07-09 16:43:41 +03:00
SCLCheck.py flake8 cleanups 2015-07-09 16:43:45 +03:00
SignatureCheck.py Remove no longer updated CVS keywords. 2015-07-09 16:43:41 +03:00
SourceCheck.py Improve formatting of permissions 2015-07-09 16:43:45 +03:00
SpecCheck.py SpecCheck: Python 2 fix 2015-07-09 16:43:45 +03:00
TagsCheck.py Python 3 fixes 2015-07-09 16:43:45 +03:00
ZipCheck.py Fix jar classpath manifest check with Python 3 2015-07-09 16:43:45 +03:00
__isocodes__.py flake8 cleanups 2015-07-09 16:43:44 +03:00
config AppDataCheck: Make checker command configurable 2015-07-09 16:43:45 +03:00
rpmdiff Further Python 3 porting 2015-07-09 16:43:43 +03:00
rpmdiff.1 rpmdiff.1: Update list of valid --ignore values 2015-07-09 16:43:43 +03:00
rpmlint Make Pkg a context manager and use as such 2015-07-09 16:43:45 +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 test.sh: Use PYTHON and PYTEST from environment 2015-07-09 16:43:45 +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://sourceforge.net/p/rpmlint/ for contact 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).
	o Software Collections checks (SCLCheck).

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.