Go to file
Frédéric Lepied af1e870924 Added isNoSource()
git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@730 9bc8b190-ac0f-0410-8968-dc7d1f502856
2003-03-25 12:11:32 +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 Add lib64 paths 2003-01-17 12:18:17 +00:00
COPYING Initial revision 1999-10-01 07:15:25 +00:00
ChangeLog Generated by cvs2cl the 17_Jan 2003-01-17 12:34:37 +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 Errour out about outside-libdir-files only if it concerns a library package. 2003-01-17 12:20:14 +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 Fixed Maori ('mi', was wrongly coded as 'ma'), 2003-02-19 20:52:00 +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 Added isNoSource() 2003-03-25 12:11:32 +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 added lib-package-without-%mklibname 2003-01-16 22:28:57 +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 way to load an alternative config file. 2003-01-16 22:30:27 +00:00
rpmlint.spec 0.48-2mdk 2003-01-17 12:22:04 +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)$)'