Go to file
Ville Skyttä 75a56c5d24 Fix default groups lookup when the rpm package is not installed.
git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@1688 9bc8b190-ac0f-0410-8968-dc7d1f502856
2015-07-09 16:43:36 +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 Output complete found macro candidate in misspelled macro related messages. 2015-07-09 16:43:34 +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 Code cleanups. 2015-07-09 16:43:35 +03:00
ConfigCheck.py Code cleanups. 2015-07-09 16:43:33 +03:00
DistributionCheck.py Replace bunch of trivial regexps with simple string searches. 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 Add check for version magic in byte-compiled Python files (David Malcolm, 2015-07-09 16:43:36 +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 Note enchant dependency. 2015-07-09 16:43:35 +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 0.92. 2015-07-09 16:43:36 +03:00
MenuCheck.py Replace bunch of trivial regexps with simple string searches. 2015-07-09 16:43:36 +03:00
MenuXDGCheck.py Code cleanups. 2015-07-09 16:43:34 +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 Fix default groups lookup when the rpm package is not installed. 2015-07-09 16:43:36 +03:00
PostCheck.py Replace bunch of trivial regexps with simple string searches. 2015-07-09 16:43:36 +03:00
README Add check for version magic in byte-compiled Python files (David Malcolm, 2015-07-09 16:43:36 +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 Code cleanups. 2015-07-09 16:43:34 +03:00
SpecCheck.py Trivial code cleanup, works around pychecker bug. 2015-07-09 16:43:36 +03:00
TagsCheck.py Warn only once per misspelled word per tag. 2015-07-09 16:43:36 +03:00
ZipCheck.py Code cleanups. 2015-07-09 16:43:34 +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 check for version magic in byte-compiled Python files (David Malcolm, 2015-07-09 16:43:36 +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 -o/--option option for overriding config options. 2015-07-09 16:43:35 +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 Use alternative Python 2/3 'print' compatibility hack; drop rlprint, rename rlwarn to warn. 2015-07-09 16:43:36 +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).

Available options:

name			type		default
========================================================
BadnessThreshold	integer		-1 (< 0 means disabled)
DanglingSymlinkExceptions list of pairs (['consolehelper$', 'usermode'],)
Distribution		string		""
ExtraMenuNeeds		list of strings
ExtractDir		string		tempfile.gettempdir()
ForbiddenWords		regex		''
IconFilename		regex		'.*\.png$'
InvalidRequires		list of regexps see DEFAULT_INVALID_REQUIRES in
					TagsCheck.py
KernelModuleRPMsOK	boolean		True
MaxLineLength		integer		79
MetaPackageRegexp	regex		'^(bundle|task)-' 
Packager		regex		''
PerlVersionTrick	boolean		True
PythonDefaultVersion	string		None
ReleaseExtension	regex or None	''
RpmGamesGroup		regex		'Games'
SkipDocsRegexp		regex		'\.(rtf|x?html?|ml[ily]?)$'
StandardGroups		list of strings	see DEFAULT_STANDARD_GROUPS in
					FilesCheck.py
StandardUsers		list of strings	see DEFAULT_STANDARD_USERS in
					FilesCheck.py 
SystemLibPaths		list of strings	('/lib', '/usr/lib', '/usr/X11R6/lib')
UseBzip2		boolean		True
UseLzma			boolean		False
UseXz			boolean		False
UseDefaultRunlevels	boolean		True
UseEpoch		boolean		False
UseIndexedJars		boolean		True
UseRelativeSymlinks	boolean		True
UseVersionInChangelog	boolean		True
UsrLibBinaryException	regex		'^/usr/lib/(perl|python|menu|pkgconfig|lib[^/]+\.(so|l?a)$)'
UseUTF8			boolean		(autodetected)
UseEnchant		boolean		True (falls back if Enchant is N/A)
ValidBuildHost		regex		''
ValidGroups		list of strings
ValidLicenses		list of strings
ValidMenuSections	list of strings
ValidShells		list of strings	('/bin/sh', '/bin/bash', '/usr/bin/perl')
ValidSrcPerms		list of modes	(0644, 0755)
Vendor			string		""