Go to file
Ville Skyttä a8f20c1d06 Require rpm-python >= 4.4.2.2 for expandMacro() in r1729.
git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@1731 9bc8b190-ac0f-0410-8968-dc7d1f502856
2015-07-09 16:43:37 +03:00
test Include noarch subpackage test in SpecCheck test. 2015-07-09 16:43:33 +03:00
tools Add option to generate *.pyc too, use py_compile directly instead of a script of our own, remove "print" check from the all target. 2015-07-09 16:43:36 +03:00
AbstractCheck.py do not execute check if the network test are marked as disabled, and simplify the logic 2015-07-09 16:43:37 +03:00
BinariesCheck.py Replace bunch of trivial regexps with simple string searches. 2015-07-09 16:43:36 +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 Move version number to __version__.py, make it available as Config.__version__. 2015-07-09 16:43:37 +03:00
ConfigCheck.py Code cleanups. 2015-07-09 16:43:33 +03:00
DistributionCheck.py Add arbitrary manpage/infopage/source compression support (#142). 2015-07-09 16:43:36 +03:00
DocFilesCheck.py Drop support for rpm < 4.4. 2015-07-09 16:43:33 +03:00
FHSCheck.py Code cleanups. 2015-07-09 16:43:33 +03:00
FilesCheck.py LSB user/group status comment update. 2015-07-09 16:43:37 +03:00
Filter.py Use alternative Python 2/3 'print' compatibility hack; drop rlprint, rename rlwarn to warn. 2015-07-09 16:43:36 +03:00
I18NCheck.py Code cleanups. 2015-07-09 16:43:33 +03:00
INSTALL Require rpm-python >= 4.4.2.2 for expandMacro() in r1729. 2015-07-09 16:43:37 +03:00
InitScriptCheck.py Replace bunch of trivial regexps with simple string searches. 2015-07-09 16:43:36 +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 0.94. 2015-07-09 16:43:37 +03:00
MenuCheck.py Replace bunch of trivial regexps with simple string searches. 2015-07-09 16:43:36 +03:00
MenuXDGCheck.py Include errors from desktop-file-validate in output (#85). 2015-07-09 16:43:36 +03:00
NamingPolicyCheck.py Make sure details are available for -i also for early loaded check modules. 2015-07-09 16:43:32 +03:00
PamCheck.py Make sure details are available for -i also for early loaded check modules. 2015-07-09 16:43:32 +03:00
Pkg.py Treat all failures opening the (installed) 'rpm' package for finding default groups as non-fatal. 2015-07-09 16:43:37 +03:00
PostCheck.py Replace bunch of trivial regexps with simple string searches. 2015-07-09 16:43:36 +03:00
README Move list of available config options to "config", improve documentation. 2015-07-09 16:43:37 +03:00
README.devel Remove flepied's email address, no need to bother him with rpmlint development nowadays. 2015-07-09 16:43:35 +03:00
RpmFileCheck.py Make sure details are available for -i also for early loaded check modules. 2015-07-09 16:43:32 +03:00
SignatureCheck.py Use alternative Python 2/3 'print' compatibility hack; drop rlprint, rename rlwarn to warn. 2015-07-09 16:43:36 +03:00
SourceCheck.py Add arbitrary manpage/infopage/source compression support (#142). 2015-07-09 16:43:36 +03:00
SpecCheck.py Output the latter occurrence of spaces/tabs as mixed-use-of-spaces-and-tabs' context line number. 2015-07-09 16:43:37 +03:00
TagsCheck.py - do not expand the format of the filename format, (patch from Per Oyvind Karlsten ) 2015-07-09 16:43:37 +03:00
ZipCheck.py Avoid embedding anything other than reason in reason id for -i to work. 2015-07-09 16:43:36 +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 Improve accuracy of config value type documentation. 2015-07-09 16:43:37 +03:00
rpmdiff Use alternative Python 2/3 'print' compatibility hack; drop rlprint, rename rlwarn to warn. 2015-07-09 16:43:36 +03:00
rpmlint Add indentation settings for vi* and *Emacs, use -tt, untabify. 2015-07-09 16:43:22 +03:00
rpmlint.1 Add ability to read spec file content from stdin (#63). 2015-07-09 16:43:37 +03:00
rpmlint.bash-completion Quote one more $cur for "compgen -W" to avoid globbing. 2015-07-09 16:43:35 +03:00
rpmlint.py Add ability to read spec file content from stdin (#63). 2015-07-09 16:43:37 +03:00
test.sh Really make it executable. 2015-07-09 16:43:35 +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.