From 0deb1372465bd5f6f4c6d683201ff2348ee22098 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Mon, 22 May 2023 17:34:17 +0200 Subject: [PATCH] Fix undefined symbols from plugins --- ...mbols-from-plugins-in-some-circumsta.patch | 28 +++++++++++++++++++ rpm.spec | 6 +++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 0001-Fix-undefined-symbols-from-plugins-in-some-circumsta.patch diff --git a/0001-Fix-undefined-symbols-from-plugins-in-some-circumsta.patch b/0001-Fix-undefined-symbols-from-plugins-in-some-circumsta.patch new file mode 100644 index 0000000..38d3f0c --- /dev/null +++ b/0001-Fix-undefined-symbols-from-plugins-in-some-circumsta.patch @@ -0,0 +1,28 @@ +From acfe252822db37fc9f47c221c4e3ae79a5f0be27 Mon Sep 17 00:00:00 2001 +From: Panu Matilainen +Date: Mon, 22 May 2023 18:19:24 +0300 +Subject: [PATCH] Fix undefined symbols from plugins in some circumstances + +Another bit lost in the cmake transition: plugin linkage to librpm and +librpmio. In rpm itself this doesn't really matter because the running +process supplies the necessary symbols but it's a different story when eg +a Python process uses dlopen()'ed bindings. +--- + plugins/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt +index 6768378f9..1ca025868 100644 +--- a/plugins/CMakeLists.txt ++++ b/plugins/CMakeLists.txt +@@ -40,6 +40,7 @@ set(plugindir ${CMAKE_INSTALL_FULL_LIBDIR}/rpm-plugins) + + get_property(plugins DIRECTORY PROPERTY BUILDSYSTEM_TARGETS) + foreach(plugin ${plugins}) ++ target_link_libraries(${plugin} PRIVATE librpmio librpm) + install(TARGETS ${plugin} DESTINATION ${plugindir}) + endforeach() + +-- +2.40.1 + diff --git a/rpm.spec b/rpm.spec index e50afc7..1a88136 100644 --- a/rpm.spec +++ b/rpm.spec @@ -32,7 +32,7 @@ %global rpmver 4.18.90 #global snapver rc1 -%global baserelease 5 +%global baserelease 6 %global sover 10 %global oldsover 9 @@ -154,6 +154,7 @@ rpm-4.18.90-weak-user-group.patch 0001-Fix-bzip2-detection.patch 0001-Enable-large-file-support-on-32-bit-systems-again.patch 0001-Use-mkdir-p-for-creating-SPECPARTS-dir.patch +0001-Fix-undefined-symbols-from-plugins-in-some-circumsta.patch # These are not yet upstream rpm-4.7.1-geode-i686.patch @@ -649,6 +650,9 @@ fi %doc %{_defaultdocdir}/rpm/API/ %changelog +* Mon May 22 2023 Florian Festi - 4.18.90-6 +- Fix undefined symbols from plugins + * Wed May 17 2023 Florian Festi - 4.18.90-5 - Use mkdir -p for creating SPECPARTS dir