Enable dynamically loaded engines support.

This commit is contained in:
Richard W.M. Jones 2020-10-01 09:14:18 +01:00
parent f7833a6cef
commit 0d60e41d2f
1 changed files with 94 additions and 4 deletions

View File

@ -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 <rjones@redhat.com> 3.23-2
- Enable dynamically loaded engines support.
- Move license to %%license section.
* Tue Sep 08 2020 Eric Sandeen <sandeen@redhat.com> 3.23-1
- New upstream version