Fix auto soname requires on non-versioned targets

RPM's macro engine itself understands backslash escapes so we need to
double-escape these, otherwise we may accidentally match symlink targets
that contain the substring "so" in their names, such as:

    libechosounder.so -> libechosounder2.so
                                ~~
                                 ^ this is currently matched

Whereas we only want these to be processed:

    libechosounder.so -> libechosounder.so.2
                                       ~~~~~
                                           ^ this should be matched

Resolves: RHEL-54592
This commit is contained in:
Michal Domonkos 2024-07-19 14:15:33 +02:00
parent 1f5673409e
commit 50eacae8a7
2 changed files with 6 additions and 3 deletions

View File

@ -1,5 +1,5 @@
# Make libfoo.so symlinks require the soname-provide of the target library
%__libsymlink_requires %{_rpmconfigdir}/elfdeps --provides --soname-only
%__libsymlink_magic ^symbolic link to .*lib.*\.so\..*$
%__libsymlink_path ^.*\.so$
%__libsymlink_magic ^symbolic link to .*lib.*\\.so\\..*$
%__libsymlink_path ^.*\\.so$
%__libsymlink_flags magic_and_path

View File

@ -4,7 +4,7 @@
# 2) When making changes, increment the version (in baserelease) by 1.
# rpmdev-bumpspec and other tools update the macro below, which is used
# in Version: to get the desired effect.
%global baserelease 287
%global baserelease 288
Summary: Red Hat specific rpm configuration files
Name: redhat-rpm-config
@ -259,6 +259,9 @@ install -p -m 644 -t %{buildroot}%{_rpmluadir}/fedora common.lua
%doc buildflags.md
%changelog
* Wed Feb 12 2025 Michal Domonkos <mdomonko@redhat.com> - 288-1
- Fix automatic soname requires on non-versioned symlink targets (RHEL-54592)
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 287-1
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018