Releases: rpm-software-management/rpmlint
2.8.0
RPMLint 2.8
This is a minor feature release with the following improvements:
RPM Package Handling
- Fix grammatical direction for unstripped-binary-or-object message
- SpecCheck: Report rpm warnings on spec files
- Fixup fallback regexp for buildroot detection
- Tests: Accept long GPG key ids (for RPM 6)
- SpecCheck: Add shared-dir-glob-in-files warning
- When Declarative BuildSystem is used, assume patches are auto-applied
- test: Fix spellchecking
- SpecCheck: Add new warning for setup.py install usage
- SpecCheck: warn also for py3_install macro usage
- Add openQA users to users-groups.toml
- BuildRootAndDateCheck: More specific buildroot check
- AlternativesCheck: Fix .conf files regex
- ZipCheck: fix utf8 decoding erros in jarfile manifest
- Run only once the validate_filters per call
- AlternativesCheck: detect update-alternatives on Fedora
I want to thank the following new contributors for their efforts in this release:
@scfc, @d3flex and @xdelaruelle.
Full author list with number of (non-merge) commits:
10 Daniel Garcia Moreno
2 Dirk Müller
2 Miro Hrončok
1 Ioannis Bonatakis
1 Jan Engelhardt
1 Tim Landscheidt
1 Xavier Delaruelle
Release 2.7.0
RPMLint 2.7
This is a minor feature release with the following improvements:
RPM Package Handling
- New groups in openSUSE user-groups config: xpra, sssd, proxy, traefik.
- New group in Fedora user-groups config: sssd
- Don't mask rpm2cpio failure in Pkg._extract_rpm()
- Strict policy to ERR on patch-macro-old-format for openSUSE
- New warning about the usage of
%suse_update_desktop_file - FilesCheck: Do not error about non-readable
%ghost - Don't show suse-update-desktop-file-deprecated for yast packages
%{autochangelog}in the changelog section do not cause a warning anymore- Handle the missing buildroot in rpm 4.20 gracefully
- FilesCheck: Update FSF address check to match new only remote
- Add declarative build support to SpecCheck
Linting and Code Quality
- Massive clean-up test files, creating mock packages to replace
.rpmbinaries.
I want to thank the following new contributors for their efforts in this release:
@sbradnick, @scabrero, @13ilya-old, @weberhofer and @mavit.
Full author list with number of (non-merge) commits:
46 Daniel Garcia Moreno
22 Luz Marina
4 Daniel Mach
1 Dirk Müller
1 Johannes Weberhofer
1 Peter Oliver
1 Samuel Cabrero
1 Scott Bradnick
1 Илья Индиго
Release 2.6.1
This is a minor fix release. The release fixes a crash when trying to lint packages with folders or binaries with tmpfiles.d in the path.
This is the complete list of changes from the previous release:
- FilesCheck: Fix zero perm check with binaries
- FilesCheck: Fix zero permission check with folder
- Update openSUSE's licenses.toml
- configs/openSUSE/users-groups.toml: add user and group woodpecker
- configs/openSUSE/users-groups.toml: add user and group vault-sync
- configs/openSUSE/users-groups.toml: add user and group openbao
- configs/openSUSE/users-groups.toml: add user and group alloy
I want to thank the following new contributors for their efforts in this release:
@DimStar77 and @johanneskastl.
Release 2.6.0
RPMLint 2.6
This is a minor feature release with the following improvements:
RPM Package Handling
- Added support for RPM packages containing files greater than 4GB.
- Use
rpm2archiveto unpack and leftrpm2cpioas a fallback for distros withoutrpm2archive. - Checked for Python dependencies like
python3.12dist(foo). - PythonCheck: simplify requirement check using metadata.
- Add new check to FilesCheck to look for files with zero perms.
- Check usage of deprecated
%patch -pNmacro. - Warn about no
%checksection in spec. - BinariesCheck: do not mark as binary eBPF ELF files
- Added
pgadmin,forgejo,netdata,cadyuser/group - Fixed issues related to
readelfoutput encoding handling.
Linting and Code Quality
- Reset all checks for each package.
- Cleaned up test files, creating mock packages to replace
.rpmbinaries.
I want to thank the following new contributors for their efforts in this release:
@plageat, @chaitanyabisht, @antlarr, @carlosrodfern, @Idesmi, @darix, @mia-0 and @i12momal.
Full author list with number of (non-merge) commits:
27 Daniel Garcia Moreno
8 Mikhail Campos Guadamuz
5 Luz Marina Montilla Marín
4 Chaitanya Bisht
3 afrid18
2 Luz Marina
1 Antonio Larrosa
1 Carlos Rodriguez-Fernandez
1 Dirk Müller
1 Idesmi
1 Marcus Rückert
1 Mia Herkt
1 Pi-Cla
Release 2.5.0
RPMLint 2.5
This is a minor feature release with the following improvements:
- New check for python packages called PythonCheck with new warnings and
errors:
python-module-def,python-sitelib-glob-in-files,
python-doc-in-package,python-tests-in-site-packages,
python-doc-in-site-packages,python-src-in-site-packages,
python-missing-require,python-leftover-require,
python-pyc-multiple-versionsandpython-sphinx-doctrees-leftover. - Do not consider files-duplicate for SMALL files (configurable with
DuplicatesMinSizethat's 4 bytes by default) - dump_stats.py: add one more category for filtering
- Remove shared-library-without-dependency and library-not-linked-against-libc
(#969) - Relax no-binary and noarch-with-lib64 checks, detect symlinks in /usr/lib64
as binaries. - Support filtering of warnings/errors based on title
- Add new check: patchable-function-entry-in-archive
- SpecCheck: Improve patch applied regex to detect %patch -Pn and
%patch n - Adjust for rpm-4.19.0 API changes
- BinariesCheck: Allow ELF prefix in magic string
- Add iso_15924 to LANGUAGES so now language codes like
zh_Hantare detected
as valid - Add new check to detect links to scripts,
symlink-to-binary-with-shebang - Improve help in rpmdiff
Development Improvements:
- Improved the test framework so now it's easier to write simple tests.
- Migrate metadata from setup.py to pyproject.toml
- Releasing rpmlint as pre-commit hook
I want to thank the following new contributors for their efforts in this release:
@afrid18, @bkmgit, @cyungmann, @computersalat, @emilianolangella,
@fabiobarkoski, @jpodivin, @NeerajGartia21 and @Pi-Cla.
Full author list with number of (non-merge) commits:
49 Daniel Garcia Moreno
43 Martin Liska
38 afrid18
10 Todd Zullinger
3 ChrisWi
3 fabiobarkoski
2 Ondřej Súkup
1 Benson Muite
1 Chris Yungmann
1 Emiliano Langella
1 Jan Engelhardt
1 Jiri Podivin
1 LGTM Migrator
1 Matthias Gerstner
1 Miro Hrončok
1 Neeraj Gartia
1 Pi-Cla
RPMLint 2.4
RPMLint 2.4
This is a minor feature release with the following improvements:
- tomli package is used for TOML file format (will be available in Python 3.11)
- New warnings related to ELF hash sections were added:
missing-hash-section,missing-gnu-hash-section. - Manual pages check was extended and includes a new warnings:
bad-manual-page-folderandmanual-page-in-subfolder. - A new spec-related warning was introduced:
python-setup-test. - SLPP (shared library packaging policy) policy checks skips HPC (high-performance computing) packages.
I want to thank the following new contributors for their efforts in this release:
@tobbez, @tmzullinger, @portante and @danigm.
Full author list with number of (non-merge) commits:
60 Martin Liška
3 Torbjörn Lönnemark
3 Todd Zullinger
1 Stefan Schubert
1 Peter Portante
1 Neal Gompa
1 Miro Hrončok
1 Jan Engelhardt
1 Georg Pfuetzenreuter
1 Daniel Garcia Moreno
RPMLint 2.3
This is a minor feature release with the following improvements:
- BashismsCheck speed was improved for files with equal content
- For python modules,
undefined-non-weak-symbolandshared-library-without-dependency-information
error are not reported any more binary-or-shlib-defines-rpathcan resolve$ORIGINvariable part and resolves
relative file pathsno-binaryerror is reported for all packages now that are not architecture independent- BuildDateCheck and BuildRootCheck checks were unified and utilize mmap for a faster
file processing - New option
--ignore-unused-rpmlintrccan be used for skipping ofunused-rpmlintrc-filtererrors - Time used for package extraction and decompression was added to time report (
-t) - Build dependency was fixed for zstd python package
I want to thank the following new contributors for their efforts in this release:
@lrupp, @tacerus, @kraptor and @aekoroglu.
Full author list with number of (non-merge) commits:
50 Martin Liska
1 Matwey V. Kornilov
1 Lars Vogdt
1 Georg Pfuetzenreuter
1 David Anes
1 Carl Smedstad
1 aekoroglu
RPMLint 2.2
This is a minor feature release with the following improvements:
- Fixed support for loading
.rpmlintrcfiles - Added support for
/usr/lib/modulesas a valid path for kernel modules in packages - Added
/usr/share/dbus-1/system.dto D-Bus config folder list - Massively reworked the
shlib-policy-name-errorrules - Added support for
%autochangelogmacro in%changelogsection - Improved support for detecting whether code is compiled correctly with hardening flags
- Multiple fixes to library dependency checks
- Added support for libalternatives as an alternative to alternatives
I want to thank the following new contributors for their efforts in this release: @schubi2, @jengelh, @archiebold811, @oturpe, and @remicollet.
Full author list with number of (non-merge) commits:
29 Martin Liska
4 Carl Smedstad
4 Randy Vandermate
3 Tom spot Callaway
2 Neal Gompa
1 Dirk Mueller
1 Jan Engelhardt
1 Otto Urpelainen
1 Remi Collet
1 Stefan Schubert
RPMLint 2.1
This is a minor feature release with the following improvements:
- Add support for
cpiofrom Busybox - Add support for binutils 2.37+
readelf - Add the ability to block local filtering of rpmlint rules to enforce rules that must always be adhered to
- Fix detection of the RPM database
- Other miscellaneous fixes
I want to thank the following new contributors for their efforts in this release: @carlsmedstad, @kkaempf, @mikelolasagasti, and @spotrh.
Full author list with number of (non-merge) commits:
25 Martin Liška
6 Carl Smedstad
3 Neal Gompa
1 Klaus Kämpf
1 Mikel Olasagasti Uranga
1 Miro Hrončok
1 Tom spot Callaway
RPMLint 2.0 🚀
Nearly four years and 754 commits since rpmlint 1.10, we are releasing rpmlint 2.0.0!
This new release has a lot of new features, but here are the most notable:
- RPMLint now is a "normal" Python application and now supports being imported like a standard Python module! This means that all the normal use-cases for RPMLint are still supported, but now you can make it a part of larger Python-based applications or services.
- RPMLint uses a declarative TOML-based syntax for configuring RPMLint policy instead of Python code.
- RPMLint now has an override system for the descriptions shown for various checks, so that distributions who want to give specific policy information can do so without patching the code.
- RPMLint includes many more checks! Nearly all of the generally useful checks created by the openSUSE community have been merged into the tree, so distributions can now benefit from a wider offering of checks to implement policy enforcement.
- RPMLint is Python 3 only and now supports Python 3.6 and newer.
- RPMLint is now built and installed like a standard Python application using setuptools.
I want to specifically thank @scarabeusiv, @marxin, @kstreitova, @dirkmueller, @xsuchy, @mimi1vx, @thisisshub, and @hroncok as top contributors to make this release happen!
Full author list with number of commits:
309 Tomáš Chvátal
197 Martin Liska
47 Dirk Mueller
26 Kristyna Streitova
24 Neal Gompa (ニール・ゴンパ)
24 marxin
21 Neal Gompa
21 Ondřej Súkup
14 thisisshub
11 Miro Hrončok
9 Kristýna Streitová
8 Miroslav Suchý
6 Markéta Calábková
5 Ville Skyttä
4 Ben Greiner
4 Frank Schreiner
4 Van de Bugger
3 David Greaves
3 Matwey V. Kornilov
2 Daniel Mach
2 Matthias Gerstner
1 Cathy Hu
1 Ludwig Nussel
1 MeggyCal
1 Petr Menšík
1 Stefan Brüns
1 Steve Kowalik
1 Werner Fink
1 Wolfgang Stöggl
1 Yanko Kaneti
1 tpgxyz