Go to file
Dirk Mueller c5dd20d7e4 ZipCheck: Also ignore RuntimeError
When there is a unpack error, we need to catch it. Potential
reasons are : NotImplementedError (which happens on compression
type issues) or RuntimeError (e.g for encrypted zip files).

This issue is already fixed in master in a non-backportable
way, so a new fix has been done on stable.
2019-02-02 09:21:54 +01:00
test Backport d8f423b575e8be387d33bc3af176baf978efacbb: 2019-01-08 10:07:27 +01:00
tools Fix getting pyc mtime on Python 3.7 2018-03-02 10:41:56 +01:00
.dockerignore tests: Switch Travis tests to Docker 2016-08-02 22:25:16 +03:00
.editorconfig *: Move indentation etc settings to .editorconfig 2016-08-24 13:32:30 +03:00
.gitignore Ignore pytest_cache directory 2018-07-12 13:27:57 +02:00
.pep8 Add some pep8 settings 2015-10-26 15:36:52 +02:00
.travis.yml Reenable Travis testing against Fedora Rawhide 2018-07-10 17:29:10 +02:00
AbstractCheck.py Use ImportError to avoid catch-all except: statements 2017-10-24 11:43:27 +02:00
AppDataCheck.py Fix various flake8-import-order test regressions 2018-07-10 14:42:09 +02:00
BinariesCheck.py Backport d8f423b575e8be387d33bc3af176baf978efacbb: 2019-01-08 10:07:27 +01:00
COPYING Update FSF's address, copy current GPL from gnu.org as-is. 2015-07-09 16:42:46 +03:00
Config.py Avoid catch-all except statements 2017-10-24 11:44:23 +02:00
ConfigCheck.py *: Fix various low hanging issues flagged by pycodestyle 2.1.0 (#82) 2016-11-11 18:12:37 +02:00
DistributionCheck.py Avoid Python 3.6 invalid esc seq warnings, use more raw strings 2017-02-14 11:55:53 +02:00
DocFilesCheck.py *: Move indentation etc settings to .editorconfig 2016-08-24 13:32:30 +03:00
FHSCheck.py *: Fix various low hanging issues flagged by pycodestyle 2.1.0 (#82) 2016-11-11 18:12:37 +02:00
FilesCheck.py Fix flake8 warning about missing space around operators 2018-07-12 14:05:15 +02:00
Filter.py *: Move indentation etc settings to .editorconfig 2016-08-24 13:32:30 +03:00
I18NCheck.py *: Fix various low hanging issues flagged by pycodestyle 2.1.0 (#82) 2016-11-11 18:12:37 +02:00
INSTALL Run flake8 in test suite 2015-11-01 13:13:08 +02:00
InitScriptCheck.py Avoid Python 3.6 invalid esc seq warnings, use more raw strings 2017-02-14 11:55:53 +02:00
LSBCheck.py *: Fix various low hanging issues flagged by pycodestyle 2.1.0 (#82) 2016-11-11 18:12:37 +02:00
Makefile Use compileall to avoid %buildroot to be in pyc 2018-07-10 17:14:48 +02:00
MenuCheck.py Avoid Python 3.6 invalid esc seq warnings, use more raw strings 2017-02-14 11:55:53 +02:00
MenuXDGCheck.py Print out the error content on UnicodeError to make flake8 happy 2018-07-12 14:37:24 +02:00
NamingPolicyCheck.py Avoid Python 3.6 invalid esc seq warnings, use more raw strings 2017-02-14 11:55:53 +02:00
PamCheck.py Avoid Python 3.6 invalid esc seq warnings, use more raw strings 2017-02-14 11:55:53 +02:00
Pkg.py Check all sections that should not use %buildroot in them 2018-07-10 17:27:20 +02:00
PostCheck.py Check all sections that should not use %buildroot in them 2018-07-10 17:27:20 +02:00
README.devel Point URLs to Github 2015-07-09 16:43:46 +03:00
README.md Don't limit build badge to master branch 2015-10-03 13:08:01 +03:00
RpmFileCheck.py *: Fix various low hanging issues flagged by pycodestyle 2.1.0 (#82) 2016-11-11 18:12:37 +02:00
SCLCheck.py Avoid catch-all except statements 2017-10-24 11:44:23 +02:00
SignatureCheck.py Avoid Python 3.6 invalid esc seq warnings, use more raw strings 2017-02-14 11:55:53 +02:00
SourceCheck.py Add check for validating file extensions 2017-09-29 00:32:53 +02:00
SpecCheck.py confusing-invalid-spec-name 2018-07-12 13:27:57 +02:00
TagsCheck.py Use compressions when checking for backup files 2018-07-12 14:05:15 +02:00
ZipCheck.py ZipCheck: Also ignore RuntimeError 2019-02-02 09:21:54 +01:00
__isocodes__.py __isocodes__: Regenerate 2016-04-21 18:45:25 +03:00
config Be aware of -debugsource packages 2017-08-06 14:53:39 +03:00
rpmdiff rpmdiff: Fix unused variable from previous commit 2017-07-26 15:03:10 +03:00
rpmdiff.1 rpmdiff.1: update Arturo Borrero Gonzalez email address 2016-10-10 15:58:07 +03:00
rpmlint Drop deprecated config file usage, 0.88 is pretty old anyway 2018-07-10 17:14:48 +02:00
rpmlint.1 Retire AUTHORS, use git log for that 2015-07-09 16:43:46 +03:00
rpmlint.bash-completion *: Move indentation etc settings to .editorconfig 2016-08-24 13:32:30 +03:00
setup.cfg Blacklist newer pycodestyle warnings 2018-07-09 22:04:45 +02:00
test.sh rpmlint: Fix checking specfile from stdin 2017-06-01 18:17:08 +03:00

README.md

rpmlint Build Status

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 https://github.com/rpm-software-management/rpmlint

Implemented checks:

  • Tag checks (TagsCheck).
  • Distribution specific checks (MandrakeCheck).
  • Binary checks (BinaryCheck).
  • Configuration file checks (ConfigCheck).
  • Location, permission, group and owner checks (FileCheck).
  • suid warnings (FileCheck).
  • Signature checks (SignatureCheck).
  • FHS checks (FHSCheck).
  • Source specific checks (SourceCheck).
  • i18n checks (I18NCheck).
  • Menu system checks (MenuCheck).
  • Scriptlet checks (PostCheck).
  • /etc/rc.d/init.d checks (InitScriptCheck).
  • Spec file checks (SpecCheck).
  • Zip/Jar file checks (ZipCheck).
  • Pam configuration file checks (PamCheck).
  • Rpm file checks (RpmFileCheck).
  • 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.