A linting tool for checking common errors and policy violations in RPM packages.
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.
RPM package maintainers, Linux distribution developers, and system administrators who build or audit RPM packages for quality and compliance.
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.
Tool for checking common errors in rpm packages
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
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.
All checks are modular and reside in a dedicated folder, allowing community contributions and custom checks, as highlighted in the extensible architecture.
Supports TOML configuration files and legacy rpmlintrc files, enabling customization of checks and filters, with detailed merging rules explained in the configuration section.
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.
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.
TOML configuration values are merged rather than overridden, and legacy rpmlintrc files add layers of complexity, which can lead to confusion and misconfigurations.
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.