Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Static Analysis & Code Quality
  3. rpmlint

rpmlint

GPL-2.0Python2.9.0

A linting tool for checking common errors and policy violations in RPM packages.

GitHubGitHub
162 stars134 forks0 contributors

What is rpmlint?

rpmlint is a linting tool that checks RPM packages for common errors, policy violations, and potential issues. It helps package maintainers and developers ensure their RPMs are correctly built and compliant with distribution standards before distribution or upload.

Target Audience

RPM package maintainers, Linux distribution developers, and system administrators who build or audit RPM packages for quality and compliance.

Value Proposition

Developers choose rpmlint for its comprehensive, extensible checks and deep integration with the RPM ecosystem, providing automated quality assurance that prevents common packaging errors and ensures consistency across distributions.

Overview

Tool for checking common errors in rpm packages

Use Cases

Best For

  • Validating RPM packages before uploading to repositories
  • Checking specfiles for syntax and policy compliance
  • Automating quality checks in CI/CD pipelines for package builds
  • Auditing entire Linux distributions for packaging consistency
  • Learning RPM packaging best practices through error detection
  • Extending with custom checks for organization-specific packaging rules

Not Ideal For

  • Teams packaging for non-RPM-based distributions like Debian or Arch Linux
  • Projects needing automated error correction; rpmlint only reports issues, doesn't fix them
  • Developers looking for a GUI-based linting tool; rpmlint is command-line only and requires manual configuration
  • Casual users wanting quick, one-off checks without installing multiple dependencies and setting up configurations

Pros & Cons

Pros

Comprehensive Package Validation

Checks binary RPMs, source RPMs, and specfiles for a wide range of errors, with the README recommending source RPMs for best coverage, ensuring thorough static analysis.

Extensible Check System

All checks are modular and reside in a dedicated folder, allowing community contributions and custom checks, as highlighted in the extensible architecture.

Flexible Configuration Options

Supports TOML configuration files and legacy rpmlintrc files, enabling customization of checks and filters, with detailed merging rules explained in the configuration section.

Deep Distribution Integration

Part of most Linux distributions and integrates with build systems like OBS, facilitating automated testing in CI/CD pipelines, as noted in the distribution integration feature.

Cons

Complex Installation Setup

Requires multiple mandatory and optional dependencies, including Python bindings and utilities like binutils, making installation non-trivial for new users, as listed in the Install section.

Configuration Overhead

TOML configuration values are merged rather than overridden, and legacy rpmlintrc files add layers of complexity, which can lead to confusion and misconfigurations.

RPM-Exclusive Focus

Only validates RPM packages, with no support for other formats like DEB or Snap, limiting its utility in mixed packaging environments or for cross-distribution projects.

Frequently Asked Questions

Quick Stats

Stars162
Forks134
Contributors0
Open Issues80
Last commit2 days ago
CreatedSince 2015

Tags

#devops#lint#rpm#linux-packaging#build-automation#rpm-packages#quality-assurance#open-source-tools#static-analysis

Built With

T
TOML
R
RPM
P
Python
p
pytest

Included in

Static Analysis & Code Quality14.5k
Auto-fetched 20 hours ago

Related Projects

GitleaksGitleaks

Find secrets with Gitleaks 🔑

Stars28,284
Forks2,158
Last commit2 days ago
GrypeGrype

A vulnerability scanner for container images and filesystems

Stars12,629
Forks836
Last commit1 day ago
Haskell Dockerfile LinterHaskell Dockerfile Linter

Dockerfile linter, validate inline bash, written in Haskell

Stars12,319
Forks498
Last commit3 days ago
clairclair

Vulnerability Static Analysis for Containers

Stars11,030
Forks1,216
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub