public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/rpmlint] rawhide: update to 2.10.0, add fix for ldd issues with glibc 2.44
@ 2026-08-12 14:39 Tom spot Callaway
  0 siblings, 0 replies; 2+ messages in thread
From: Tom spot Callaway @ 2026-08-12 14:39 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/rpmlint
Branch : rawhide
Commit : d20643b3c09c6bff7ee710ce7b892661af1754b9
Author : Tom spot Callaway <spotaws@amazon.com>
Date   : 2026-08-12T10:39:49-04:00
Stats  : +1/-1 in 1 file(s)
URL    : https://src.fedoraproject.org/rpms/rpmlint/c/d20643b3c09c6bff7ee710ce7b892661af1754b9?branch=rawhide

Log:
update to 2.10.0, add fix for ldd issues with glibc 2.44

---
diff --git a/sources b/sources
index c3354c7..4682a0a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rpmlint-2.9.0.tar.gz) = d937201c6fdad05c4a35f4297ae504d97ee1806be364e305e46389aa4ee0e79bc50e88b15e493af902a590e9ba573cb72de4e0e706562027804ae9d612f4ef27
+SHA512 (rpmlint-2.10.0.tar.gz) = e288ee9323772743883968ceda59b73f2720be6f0ba4f84c6f94e7ffd37d78f100466d69faa861476a49d97b71862788ed388855004ade12a040f45cf30dc5ae

^ permalink raw reply related	[flat|nested] 2+ messages in thread
* [rpms/rpmlint] rawhide: update to 2.10.0, add fix for ldd issues with glibc 2.44
@ 2026-08-12 14:39 Tom spot Callaway
  0 siblings, 0 replies; 2+ messages in thread
From: Tom spot Callaway @ 2026-08-12 14:39 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/rpmlint
Branch : rawhide
Commit : dbe5527992123fc25172ad016aa2b017475fc362
Author : Tom spot Callaway <spotaws@amazon.com>
Date   : 2026-08-12T10:39:13-04:00
Stats  : +69/-7 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/rpmlint/c/dbe5527992123fc25172ad016aa2b017475fc362?branch=rawhide

Log:
update to 2.10.0, add fix for ldd issues with glibc 2.44

---
diff --git a/lddparser-glibc244-fallback.patch b/lddparser-glibc244-fallback.patch
new file mode 100644
index 0000000..703247a
--- /dev/null
+++ b/lddparser-glibc244-fallback.patch
@@ -0,0 +1,61 @@
+From 58b13f05add5a564c2764c12bec67591742bf511 Mon Sep 17 00:00:00 2001
+From: Tom Callaway <spot@fedoraproject.org>
+Date: Wed, 12 Aug 2026 10:06:40 -0400
+Subject: [PATCH] lddparser: Add fallback for glibc >= 2.44 ldd -u behavior
+
+glibc 2.44 changed the behavior of 'ldd -u' when a shared library has
+IFUNC-related issues. Instead of producing the expected 'Unused direct
+dependencies:' output, it now emits a 'Relink' message and exits
+non-zero without any useful dependency information.
+
+Add a fallback mechanism: when 'ldd -u' fails without producing the
+expected output format, run 'ldd -r' and detect NEEDED libraries that
+are marked as 'not found'. These libraries cannot contribute any
+resolved symbols and are effectively unused from the linker's
+perspective, matching the previous behavior of 'ldd -u' for
+unresolvable dependencies.
+
+I'm not entirely sure if this is the right fix, or if this is a glibc
+regression, but I at least understand this (and I don't really
+understand glibc internals).
+
+---
+ rpmlint/lddparser.py | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/rpmlint/lddparser.py b/rpmlint/lddparser.py
+index 81d1d1d..d949745 100644
+--- a/rpmlint/lddparser.py
++++ b/rpmlint/lddparser.py
+@@ -37,6 +37,7 @@ class LddParser:
+ 
+     unused_regex = re.compile(r'^\s+(?P<lib>\S+)')
+     undef_regex = re.compile(r'^undefined symbol:\s+(?P<symbol>[^, ]+)')
++    notfound_regex = re.compile(r'^\s+(?P<lib>\S+)\s+=>\s+not found')
+ 
+     def __init__(self, pkgfile_path, path, is_installed_pkg):
+         self.pkgfile_path = pkgfile_path
+@@ -66,6 +67,20 @@ class LddParser:
+                 else:
+                     is_unused = False
+ 
++        # Fallback for glibc >= 2.44 where ldd -u may not produce the
++        # expected "Unused direct dependencies:" output due to IFUNC
++        # handling changes. In this case, detect unused dependencies by
++        # finding NEEDED libraries that cannot be resolved ("not found"
++        # in ldd -r output), as these cannot contribute any symbols.
++        if not self.unused_dependencies and r.returncode != 0:
++            r2 = subprocess.run(['ldd', '-r', self.pkgfile_path], encoding='utf8',
++                                capture_output=True, env=ENGLISH_ENVIRONMENT)
++            if r2.returncode == 0:
++                for line in r2.stdout.splitlines():
++                    m = self.notfound_regex.search(line)
++                    if m:
++                        self.unused_dependencies.append(m.group('lib'))
++
+     def parse_undefined_symbols(self):
+         r = subprocess.run(['ldd', '-r', self.pkgfile_path], encoding='utf8',
+                            capture_output=True, env=ENGLISH_ENVIRONMENT)
+-- 
+2.55.0
+

diff --git a/rpmlint.spec b/rpmlint.spec
index 93c9c20..c6dc701 100644
--- a/rpmlint.spec
+++ b/rpmlint.spec
@@ -2,24 +2,21 @@
 %bcond_without tests
 
 Name:           rpmlint
-Version:        2.9.0
-Release:        3%{?dist}
+Version:        2.10.0
+Release:        1%{?dist}
 Summary:        Tool for checking common errors in RPM packages
 License:        GPL-2.0-or-later
 URL:            https://github.com/rpm-software-management/rpmlint
 Source0:        %{url}/archive/%{version}/rpmlint-%{version}.tar.gz
 
-# fix no-signature issue with rpmv6
-Patch0:         https://github.com/rpm-software-management/rpmlint/commit/bfd7440dbfca4a2f9d8e9791ac42ff105ed0d60e.patch
-# Python 3.15 test fix
-Patch1:         https://github.com/rpm-software-management/rpmlint/commit/ccb7257253150fc5494df877dd274ba77351ab15.patch
-
 # Taken from https://github.com/rpm-software-management/rpmlint/tree/main/configs/Fedora
 Source1:        fedora.toml
 Source3:        scoring.toml
 Source4:        users-groups.toml
 Source5:        warn-on-functions.toml
 
+Patch0:         lddparser-glibc244-fallback.patch
+
 BuildArch:      noarch
 
 # use git to apply patches; it handles binary diffs
@@ -101,6 +98,10 @@ cp -a %{SOURCE1} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{buildroot}%{_sysconfdir}/xdg
 %{_bindir}/rpmlint
 
 %changelog
+* Wed Aug 12 2026 Tom Callaway <spot@fedoraproject.org> - 2.10.0-1
+- update to 2.10.0
+- add fix for ldd issues with glibc 2.44
+
 * Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
 

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-08-12 14:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-12 14:39 [rpms/rpmlint] rawhide: update to 2.10.0, add fix for ldd issues with glibc 2.44 Tom spot Callaway
2026-08-12 14:39 Tom spot Callaway

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox