Apply patch to change SONAME of fio engines.

https://bugzilla.redhat.com/show_bug.cgi?id=1884954#c8
This commit is contained in:
Richard W.M. Jones 2020-10-05 18:00:20 +01:00
parent 7c3f48012b
commit 0ae777e50c
2 changed files with 40 additions and 3 deletions

View File

@ -0,0 +1,32 @@
From 1b2f9943db0d74f4533567b7c8ed54d9c343e3f0 Mon Sep 17 00:00:00 2001
From: Yigal Korman <ykorman@gmail.com>
Date: Thu, 17 Sep 2020 21:55:14 +0300
Subject: [PATCH] fio: fix dynamic engines soname definition
The SONAME of the engines should not match the name of the dependent
library. Otherwise it confuses the dynamic loader into thinking the
dependency is already resolved.
Prefixing the name with fio make more sense here.
Signed-off-by: Yigal Korman <ykorman@gmail.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 8e1ebc90..e2d0833c 100644
--- a/Makefile
+++ b/Makefile
@@ -256,7 +256,7 @@ define engine_template =
$(1)_OBJS := $$($(1)_SRCS:.c=.o)
$$($(1)_OBJS): CFLAGS := -fPIC $$($(1)_CFLAGS) $(CFLAGS)
engines/lib$(1).so: $$($(1)_OBJS)
- $$(QUIET_LINK)$(CC) -shared -rdynamic -fPIC -Wl,-soname,lib$(1).so.1 $$($(1)_LIBS) -o $$@ $$<
+ $$(QUIET_LINK)$(CC) -shared -rdynamic -fPIC -Wl,-soname,fio-$(1).so.1 $$($(1)_LIBS) -o $$@ $$<
ENGS_OBJS += engines/lib$(1).so
all install: $(ENGS_OBJS)
endef
--
2.17.1

View File

@ -1,12 +1,16 @@
Name: fio Name: fio
Version: 3.23 Version: 3.23
Release: 4%{?dist} Release: 5%{?dist}
Summary: Multithreaded IO generation tool Summary: Multithreaded IO generation tool
License: GPLv2 License: GPLv2
URL: http://git.kernel.dk/?p=fio.git;a=summary URL: http://git.kernel.dk/?p=fio.git;a=summary
Source: http://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2 Source: http://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2
# Not upstream yet, see:
# https://bugzilla.redhat.com/show_bug.cgi?id=1884954#c8
Patch1: 0001-fio-fix-dynamic-engines-soname-definition.patch
BuildRequires: gcc BuildRequires: gcc
BuildRequires: libaio-devel BuildRequires: libaio-devel
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -125,7 +129,7 @@ RDMA engine for %{name}.
%endif %endif
%prep %prep
%setup -q %autosetup -p1
pathfix.py -i %{__python3} -pn \ pathfix.py -i %{__python3} -pn \
tools/fio_jsonplus_clat2csv \ tools/fio_jsonplus_clat2csv \
@ -188,8 +192,9 @@ make install prefix=%{_prefix} mandir=%{_mandir} libdir=%{_libdir}/fio DESTDIR=$
%endif %endif
%changelog %changelog
* Mon Oct 05 2020 Richard W.M. Jones <rjones@redhat.com> 3.23-4 * Mon Oct 05 2020 Richard W.M. Jones <rjones@redhat.com> 3.23-5
- Disable automatic provides for fio engines (RHBZ#1884954). - Disable automatic provides for fio engines (RHBZ#1884954).
- Apply patch to change SONAME of fio engines (see comment 8 of above bug).
* Thu Oct 01 2020 Richard W.M. Jones <rjones@redhat.com> 3.23-3 * Thu Oct 01 2020 Richard W.M. Jones <rjones@redhat.com> 3.23-3
- Add soft dependencies from main package to all the subpackages. - Add soft dependencies from main package to all the subpackages.