Releases: rpm-software-management/rpmlint
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
rpm2archive
to unpack and leftrpm2cpio
as 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 -pN
macro. - Warn about no
%check
section in spec. - BinariesCheck: do not mark as binary eBPF ELF files
- Added
pgadmin
,forgejo
,netdata
,cady
user/group - Fixed issues related to
readelf
output encoding handling.
Linting and Code Quality
- Reset all checks for each package.
- Cleaned up test files, creating mock packages to replace
.rpm
binaries.
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-versions
andpython-sphinx-doctrees-leftover
. - Do not consider files-duplicate for SMALL files (configurable with
DuplicatesMinSize
that'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_Hant
are 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-folder
andmanual-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-symbol
andshared-library-without-dependency-information
error are not reported any more binary-or-shlib-defines-rpath
can resolve$ORIGIN
variable part and resolves
relative file pathsno-binary
error 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-rpmlintrc
can be used for skipping ofunused-rpmlintrc-filter
errors - 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
.rpmlintrc
files - Added support for
/usr/lib/modules
as a valid path for kernel modules in packages - Added
/usr/share/dbus-1/system.d
to D-Bus config folder list - Massively reworked the
shlib-policy-name-error
rules - Added support for
%autochangelog
macro in%changelog
section - 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
cpio
from 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
Release of rpmlint 1.11
This is a collection of over one year of bugfixes and check improvements. The changes in detail are:
Avoid exception on inaccessible scripts
Print out the error content on UnicodeError to make flake8 happy
Fix flake8 warning about missing space around operators
Use compressions when checking for backup files
Account for arch specific code in /usr/share
Check for installed libtool wrapper files
Check for missing optional dependencies
Consider gnome help for doc files
Check for noarch package with files in lib64
Verify if description is longer than summary
Explicitly tell users how to set URL
Ignore pytest_cache directory
confusing-invalid-spec-name
Ignore orig/rej leftovers after patching
Reenable Travis testing against Fedora Rawhide
Check all sections that should not use %buildroot in them
Put in default buildroot value used by Fedora/openSUSE
Stricter interpreter check
Use compileall to avoid %buildroot to be in pyc
Drop deprecated config file usage, 0.88 is pretty old anyway
Adjust Version to not print outdated Copyright
Rework Travis checks against latest Centos and Fedora releases
Fix exception handling
Fix various flake8-import-order test regressions
Blacklist newer pycodestyle warnings
Fix compatibility with file 5.33+
Python 3.7.0b5 magic number is 3394
Update TagsCheck.py
pyc related tests: DRY
Fix getting pyc mtime on Python 3.7
Always import XDG desktop files as utf8
Fix Flake8 warnings
Update Magic values for Python 3.7 (Fixes #123)
Improve XDG Menu checks stability
Test added.
Ignore useless-provides on debuginfo provides (#112)
Properly handle the exception on missing files
Avoid calling close on undefined fd variable
Code formatting fixed to meet the style.
Modify FakePkg to let the test.sh pass.
_sourcedir macro defined.
Avoid summary-not-capitalized warning on digits
Avoid catch-all except statements
Use ImportError to avoid catch-all except: statements
Handle E741: ambiguous identifier
Accept python(abi) as a valid versioned python dependency
Binariescheck: Check for chroot/chdir on ARM, PPC
Avoid false positives on is_elf check
Handle %post scripts that contain non-ascii characters
Further tweak lib_regex
split wrong-script-interpreter into env-script-interpreter
Validate Appdata also when appstream-util is unavailable
Remove dependency on unicodedata
Lower false-positives on summary-not-capitalized
Tighten wrong-script-interpreter check to lower false positives
Check for unexpanded macros in more Tags
Rename local file variable to fname
Skip binaryinfo-readelf-failed on non-ELF archives
Add check for validating file extensions
Do not report error if call positions are unknown
Execute chroot tests also on x86 rpms
Tighten lib_regex to avoid false positive in python bindings
Better details for wrong-script-interpreter
Extend scm_regex to capture more SCM system files
AppDataCheck: Pass --nonet to appstream-util if NetworkEnabled is False
test: Fix cpio location in centos6
test: Combine run commands in fedoradev container
test: Remove dnf upgrade from fedora containers
test: Dockerfile whitespace tweaks