From 0d60e41d2fae8f0f2825f8e85f20a44afbff1a46 Mon Sep 17 00:00:00 2001 From: Richard W.M. Jones Date: Oct 01 2020 08:38:56 +0000 Subject: Enable dynamically loaded engines support. --- diff --git a/fio.spec b/fio.spec index 7f73f39..ca6fabe 100644 --- a/fio.spec +++ b/fio.spec @@ -1,6 +1,6 @@ Name: fio Version: 3.23 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Multithreaded IO generation tool License: GPLv2 @@ -36,6 +36,62 @@ otherwise parameters given to them overriding that setting is given. The typical use of fio is to write a job file matching the io load one wants to simulate. +%package engine-libaio +Summary: Linux libaio engine for %{name}. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description engine-libaio +Linux libaio engine for %{name}. + +%package engine-dev-dax +Summary: PMDK dev-dax engine for %{name}. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description engine-dev-dax +PMDK dev-dax engine for %{name}. + +%package engine-http +Summary: HTTP engine for %{name}. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description engine-http +HTTP engine for %{name}. + +%package engine-nbd +Summary: Network Block Device engine for %{name}. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description engine-nbd +Network Block Device (NBD) engine for %{name}. + +%package engine-pmemblk +Summary: PMDK pmemblk engine for %{name}. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description engine-pmemblk +PMDK pmemblk engine for %{name}. + +%package engine-rados +Summary: Rados engine for %{name}. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description engine-rados +Rados engine for %{name}. + +%package engine-rbd +Summary: Rados Block Device engine for %{name}. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description engine-rbd +Rados Block Device (RBD) engine for %{name}. + +%package engine-rdma +Summary: RDMA engine for %{name}. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description engine-rdma +RDMA engine for %{name}. + %prep %setup -q @@ -46,22 +102,56 @@ pathfix.py -i %{__python3} -pn \ tools/plot/fio2gnuplot \ t/steadystate_tests.py +# Edit /usr/lib path in os/os-linux.h to match Fedora conventions. +sed -e 's,/usr/lib/,%{_libdir}/,g' -i os/os-linux.h + + %build -./configure --disable-optimizations --enable-libnbd +./configure --disable-optimizations --enable-libnbd --dynamic-libengines EXTFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" make V=1 %{?_smp_mflags} %install -make install prefix=%{_prefix} mandir=%{_mandir} DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" +make install prefix=%{_prefix} mandir=%{_mandir} libdir=%{_libdir}/fio DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" %files -%doc README REPORTING-BUGS COPYING HOWTO examples +%doc README REPORTING-BUGS HOWTO examples %doc MORAL-LICENSE GFIO-TODO SERVER-TODO STEADYSTATE-TODO +%license COPYING %dir %{_datadir}/%{name} +%dir %{_libdir}/fio/ %{_bindir}/* %{_mandir}/man1/* %{_datadir}/%{name}/* +%files engine-libaio +%{_libdir}/fio/libaio.so + +%files engine-dev-dax +%{_libdir}/fio/libdev-dax.so + +%files engine-http +%{_libdir}/fio/libhttp.so + +%files engine-nbd +%{_libdir}/fio/libnbd.so + +%files engine-pmemblk +%{_libdir}/fio/libpmemblk.so + +%files engine-rados +%{_libdir}/fio/librados.so + +%files engine-rbd +%{_libdir}/fio/librbd.so + +%files engine-rdma +%{_libdir}/fio/librdma.so + %changelog +* Thu Oct 01 2020 Richard W.M. Jones 3.23-2 +- Enable dynamically loaded engines support. +- Move license to %%license section. + * Tue Sep 08 2020 Eric Sandeen 3.23-1 - New upstream version