Skip to content

Releases: rpm-software-management/rpmlint

Release 2.6.1

02 Aug 06:23
2.6.1
Compare
Choose a tag to compare

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

05 Jul 08:41
2.6.0
Compare
Choose a tag to compare

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 left rpm2cpio as a fallback for distros without rpm2archive.
  • 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

20 Oct 07:16
2.5.0
Compare
Choose a tag to compare

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 and python-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

03 Oct 14:05
Compare
Choose a tag to compare

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 and manual-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

19 May 13:09
Compare
Choose a tag to compare

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 and shared-library-without-dependency-information
    error are not reported any more
  • binary-or-shlib-defines-rpath can resolve $ORIGIN variable part and resolves
    relative file paths
  • no-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 of unused-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

07 Dec 13:29
Compare
Choose a tag to compare

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

17 Aug 16:12
Compare
Choose a tag to compare

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 🚀

18 May 11:18
Compare
Choose a tag to compare

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

12 Jan 19:37
67597fc
Compare
Choose a tag to compare

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