Go to file
Chmouel Boudjnah aabce0f92f Add modutils rules.
git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@714 9bc8b190-ac0f-0410-8968-dc7d1f502856
2003-01-09 10:49:54 +00:00
.cvsignore * added .flog and .bz2. 1999-10-23 22:10:10 +00:00
AUTHORS first version 2002-05-14 03:13:03 +00:00
AbstractCheck.py corrected warnings reported by pychecker 2001-11-14 16:34:02 +00:00
BinariesCheck.py added /usr/lib/bonobo to no binary in /usr/lib exceptions 2002-08-08 07:29:55 +00:00
COPYING Initial revision 1999-10-01 07:15:25 +00:00
ChangeLog Generated by cvs2cl the 08_Aug 2002-08-08 14:36:33 +00:00
Config.py Add modutils rules. 2003-01-09 10:49:54 +00:00
ConfigCheck.py corrected warnings reported by pychecker 2001-11-14 16:34:02 +00:00
DistributionCheck.py corrected warnings reported by pychecker 2001-11-14 16:34:02 +00:00
FHSCheck.py Add lib64 as standard subdir in /usr (that's the /lib<qual> part of FHS) 2002-07-23 08:23:06 +00:00
FilesCheck.py use default values from Config. 2002-08-08 07:31:58 +00:00
Filter.py don't print the description if the error/warning is filtered. 2001-07-15 16:52:55 +00:00
I18NCheck.py Added 'en_US' as valid locale name 2002-11-19 17:04:02 +00:00
INSTALL described policy 2002-04-24 20:12:06 +00:00
InitScriptCheck.py allow to add/del service with rpm-helper scripts. 2002-08-08 07:33:04 +00:00
LSBCheck.py Linux-Mandrake => Mandrake Linux 2001-11-25 21:41:09 +00:00
Makefile remove cvs commit from cvstag target 2002-06-04 04:14:43 +00:00
MenuCheck.py add default values from Config. 2002-08-08 07:34:27 +00:00
Pkg.py make all extracted files accessible. 2002-06-04 04:07:34 +00:00
PostCheck.py check rpm-helper prereq. 2002-08-08 07:35:54 +00:00
README added UsrLibBinaryException 2002-06-04 04:09:36 +00:00
README.CVS * give command line example. 2000-07-19 08:05:34 +00:00
SignatureCheck.py corrected warnings reported by pychecker 2001-11-14 16:34:02 +00:00
SourceCheck.py corrected warnings reported by pychecker 2001-11-14 16:34:02 +00:00
SpecCheck.py don't parse changelog section to find errors and correct source_dir_regex. 2002-12-06 07:11:41 +00:00
TagsCheck.py remove debug trace 2002-05-01 20:20:32 +00:00
check-install.py Linux-Mandrake => Mandrake Linux 2001-11-25 21:41:09 +00:00
compile.py pass the destination directory to avoid change when the byte compilation 2002-01-03 04:56:35 +00:00
config move standard exceptions to Config.py. 2000-08-31 11:24:03 +00:00
rpmdiff first version 2002-02-23 02:00:06 +00:00
rpmlint * launch python with unbuffered output. 1999-10-06 13:03:45 +00:00
rpmlint.py added a --policy option. 2002-04-24 20:04:25 +00:00
rpmlint.spec 0.47-1mdk 2002-08-08 14:17:13 +00:00
setuplist.py split old and new users/groups. 2002-08-08 07:51:32 +00:00

README

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

rpmlint idea comes from the lintian tool of the Debian project.

Comments and new checks welcome. Send feedback to
<flepied@mandrakesoft.com>.

Implemented checks:

	o tags checks (TagsCheck).
	o Distribution specific checks (MandrakeCheck).
	o binaries checks (BinaryCheck).
	o configuration files checks (ConfigCheck).
	o locations, permissions, groups and owners checks (FileCheck).
	o suid warnings (FileCheck).
	o pgp 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 scripts checks (PostCheck).
	o /etc/rc.d/init.d checks (InitScriptCheck).
	o spec file checks (SpecCheck).

If you want to change configuration options or the list of checks, use the
global configuration file /etc/rpmlint/config or in the user configuration
file ~/.rpmlintrc.

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 bellow
to have the list of available options.

addFilter(regexp) adds a filter to remove the output of a check.

Available options:

name			type		default
========================================================
Vendor			string		"MandrakeSoft"
Distribution		string		"Mandrake Linux"
UseBzip2		boolean		1
ValidGroups		list of strings
ValidMenuSections	list of strings
ReleaseExtension	string or None	"mdk"
UseVersionInChangelog	boolen		1
ExtraMenuNeeds		list of strings
ExtractDir		string		"/tmp"
ValidLicenses		list of strings
SystemLibPaths		list of strings	('/lib', '/usr/lib', '/usr/X11R6/lib')
ValidShells		list of strings	('/bin/sh', '/bin/bash', '/usr/bin/perl')
Packager		regex		'@mandrakesoft.com|bugs@linux-mandrake.com|https://qa.mandrakesoft.com'
RpmGamesGroup		regex		'Games'
DanglingSymlinkExceptions list of pairs (['consolehelper$', 'usermode'],)
ForbiddenWords		regex		'Linux.?Mandrake|Mandrake[^ ]*Linux'
ValidBuildHost		regex		'\.mandrakesoft\.com$|\.mandrake\.org$'
InvalidRequires		list of strings ('is', 'not', 'owned', 'by', 'any', 'package')
IconFilename		regex		'.*\.png$'
PerlVersionTrick	boolean		1
CrossCompilation	regex		'-mandrake-linux-[^/]+$'
UsrLibBinaryException	regex		'^/usr/lib/(perl|python|menu|pkgconfig|lib[^/]+\.(so|l?a)$)'