]> git.pld-linux.org Git - packages/fio.git/blame - fio.spec
- updated to 3.30
[packages/fio.git] / fio.spec
CommitLineData
4c2fe1f1
JB
1# TODO:
2# - HDFS (hadoop, --enable-libhdfs, requires also java)
3# - fusion-aw (nvm-primitives): http://opennvm.github.io/
2a2ed291
JB
4# - cuda (--enable-cuda, --enable-libcufile)
5# - daos (https://daos.io/)
bc626f25
JB
6#
7# Conditional build:
404b5111 8%bcond_without ceph # RBD (CephFS) support
bc626f25
JB
9%bcond_without glusterfs # GFAPI support
10%bcond_without gtk # GTK+ based GUI (gfio)
2a2ed291
JB
11%bcond_without nbd # NBD support (libnbd)
12%bcond_without iscsi # iSCSI support (libiscsi)
bc626f25 13%bcond_without numa # NUMA support
a8074df1 14%bcond_without pmem # NVM support (using PMDK)
bc626f25 15#
a8074df1
JB
16%ifnarch %{x8664} aarch64
17%undefine with_pmem
18%endif
c1909f35 19Summary: I/O tool for benchmark and stress/hardware verification
5f5044a2 20Summary(pl.UTF-8): Narzędzie do mierzenia wydajności I/O i sprawdzania sprawności sprzętu
c1909f35 21Name: fio
2a4f58ab
JB
22Version: 3.30
23Release: 1
017f0e28 24License: GPL v2+
bc626f25 25Group: Applications/System
2a4f58ab
JB
26Source0: https://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2
27# Source0-md5: 002f32fd2ff7667d3ab49352c38007a9
29dcb038 28Patch0: %{name}-config.patch
c1909f35 29URL: http://git.kernel.dk/?p=fio.git;a=summary
bc626f25
JB
30BuildRequires: bison
31%{?with_ceph:BuildRequires: ceph-devel}
2a4f58ab 32BuildRequires: curl-devel
bc626f25
JB
33BuildRequires: flex
34%{?with_glusterfs:BuildRequires: glusterfs-devel}
c1909f35 35BuildRequires: libaio-devel
bc626f25 36BuildRequires: libibverbs-devel
2a2ed291
JB
37%{?with_iscsi:BuildRequires: libiscsi-devel >= 1.9.0}
38%{?with_nbd:BuildRequires: libnbd-devel >= 0.9.8}
29dcb038 39BuildRequires: libnfs-devel
bc626f25 40BuildRequires: librdmacm-devel
2a2ed291 41BuildRequires: libzbc-devel >= 5
bc626f25 42BuildRequires: numactl-devel
2a4f58ab 43BuildRequires: openssl-devel
29dcb038 44BuildRequires: pkgconfig
a8074df1 45%{?with_pmem:BuildRequires: pmdk-devel}
bc626f25
JB
46BuildRequires: sed >= 4.0
47BuildRequires: zlib-devel
48%if %{with gtk}
49BuildRequires: cairo-devel
50BuildRequires: glib2-devel >= 2.0
51BuildRequires: gtk+2-devel >= 2:2.18.0
52BuildRequires: pkgconfig
53%endif
2a2ed291
JB
54%{?with_iscsi:Requires: libiscsi >= 1.9.0}
55%{?with_nbd:Requires: libnbd >= 0.9.8}
56Requires: libzbc >= 5
bc626f25
JB
57# x86 features detection relies on cpuid
58ExcludeArch: i386 i486
c1909f35 59BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60
61%description
62fio is an I/O tool meant to be used both for benchmark and
63stress/hardware verification. It has support for 9 different types of
64I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null,
65network, syslet), I/O priorities (for newer Linux kernels), rate I/O,
66forked or threaded jobs, and much more. It can work on block devices
67as well as files. fio accepts job descriptions in a
68simple-to-understand text format. Several example job files are
69included. fio displays all sorts of I/O performance information. It
70supports Linux, FreeBSD, and OpenSolaris.
71
5f5044a2
JB
72%description -l pl.UTF-8
73fio to narzędzie do mierzenia wydajności I/O oraz sprawdzania
3552df17 74sprawności sprzętu pod dużym obciążeniem. Obsługuje 9 różnych rodzajów
75silników I/O (sync, mmap, libaio, posixaio, SG v3, splice, null,
76network, syslet), priorytety I/O (dla nowszych jąder Linuksa),
5f5044a2 77przepustowość I/O, zadania wieloprocesowe lub wielowątkowe i wiele
3552df17 78więcej. Może działać na urządzeniach blokowych oraz na plikach. fio
79przyjmuje opisy zadań w formacie tekstowym prostym do zrozumienia. Ma
80załączone kilka przykładowych plików zadań. Wyświetla wszystkie
81rodzaje informacji o wydajności I/O. Obsługuje Linuksa, FreeBSD i
82OpenSolarisa.
c1909f35 83
b1b35878
JB
84%package devel
85Summary: Header files for developing FIO engine modules
86Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia modułów silników FIO
87Group: Development/Libraries
b1b35878
JB
88
89%description devel
90Header files for developing FIO engine modules.
91
92%description devel -l pl.UTF-8
93Pliki nagłówkowe do tworzenia modułów silników FIO.
94
bc626f25
JB
95%package -n gfio
96Summary: GTK+ based graphical front-end for fio
97Summary(pl.UTF-8): Oparty na GTK+ graficzny interfejs do fio
98Group: X11/Applications
99Requires: %{name} = %{version}-%{release}
100
101%description -n gfio
102gfio is a GTK+ based graphical front-end for fio. It is often
103installed on the testers workstation whereas fio would be installed on
104the server.
105
106%description -n gfio -l pl.UTF-8
107gfio to oparty na GTK+ graficzny interfejs do fio. Zwykle jest
108instalowany na komputerze testerów, podczas gdy fio jest zainstalowany
109na serwerze.
110
c1909f35 111%prep
112%setup -q
4c2fe1f1 113%patch0 -p1
bc626f25 114
d43e2f3c 115%{__sed} -i -e '1s,/usr/bin/bash,/bin/bash,' tools/genfio
7973b834 116%{__sed} -i -e '1s,/usr/bin/env python3$,%{__python3},' tools/{hist/fio-histo-log-pctiles.py,plot/fio2gnuplot,hist/fiologparser_hist.py,fiologparser.py,fio_jsonplus_clat2csv}
c1909f35 117
118%build
bc626f25
JB
119./configure \
120 --cc="%{__cc}" \
121 --extra-cflags="%{rpmcflags} %{rpmcppflags}" \
7a2c019f 122 %{!?with_glusterfs:--disable-gfapi} \
bc626f25 123 %{?with_gtk:--enable-gfio} \
2a2ed291
JB
124 %{?with_iscsi:--enable-libiscsi} \
125 %{?with_nbd:--enable-libnbd} \
126 --disable-native \
bc626f25 127 %{!?with_numa:--disable-numa} \
a8074df1 128 %{!?with_pmem:--disable-pmem} \
ec72b7a3 129 %{!?with_ceph:--disable-rbd}
bc626f25 130
c1909f35 131%{__make} \
c1909f35 132 LDFLAGS="%{rpmldflags}" \
8f621653 133 V=1
c1909f35 134
135%install
136rm -rf $RPM_BUILD_ROOT
137
138%{__make} install \
139 prefix="%{_prefix}" \
4ac72107 140 mandir="%{_mandir}" \
c1909f35 141 DESTDIR=$RPM_BUILD_ROOT
142
b1b35878 143# development files for fio modules
7175f834 144install -d $RPM_BUILD_ROOT%{_includedir}/fio/{arch,crc,compiler,engines,lib,os/linux,oslib}
803c3af8 145cp -p blktrace_api.h blktrace.h cairo_text_helpers.h cgroup.h client.h config-host.h debug.h diskutil.h err.h fifo.h file.h filehash.h filelock.h fio.h fio_sem.h fio_time.h flist.h flow.h gclient.h gcompat.h gerror.h gettime.h gfio.h ghelpers.h goptions.h graph.h hash.h helpers.h helper_thread.h idletime.h io_ddir.h ioengines.h iolog.h io_u.h io_u_queue.h json.h log.h minmax.h optgroup.h options.h parse.h printing.h profile.h pshared.h rate-submit.h rwlock.h server.h smalloc.h stat.h steadystate.h td_error.h thread_options.h tickmarks.h trim.h verify.h verify-state.h workqueue.h zbd.h zbd_types.h zone-dist.h $RPM_BUILD_ROOT%{_includedir}/fio
b1b35878
JB
146cp -p arch/arch.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
147%ifarch %{ix86} %{x8664} x32
148cp -p arch/arch-x86.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
149%endif
150%ifarch %{x8664} x32
151cp -p arch/arch-x86_64.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
152%endif
153%ifarch %{ix86} %{x8664} x32
154cp -p arch/arch-x86-common.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
155%endif
156%ifarch ppc ppc64
157cp -p arch/arch-ppc.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
158%endif
159%ifarch ia64
160cp -p arch/arch-ia64.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
161%endif
162%ifarch alpha
163cp -p arch/arch-ia64.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
164%endif
165%ifarch s390 s390x
166cp -p arch/arch-s390.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
167%endif
168%ifarch sparc sparcv9 sparc64
169cp -p arch/arch-sparc.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
170%endif
171%ifarch sparc64
172cp -p arch/arch-sparc64.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
173%endif
486892f6 174%ifarch %{arm} aarch64
b1b35878
JB
175cp -p arch/arch-arm.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
176%endif
177%ifarch mips
178cp -p arch/arch-mips.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
179%endif
180%ifarch sh
181cp -p arch/arch-sh.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
182%endif
183%ifarch hppa
184cp -p arch/arch-hppa.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
185%endif
186%ifarch aarch64
187cp -p arch/arch-aarch64.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
188%endif
486892f6 189%ifnarch %{ix86} %{x8664} x32 ppc ppc64 ia64 alpha s390 s390x sparc sparcv9 sparc64 %{arm} mips sh hppa aarch64
b1b35878
JB
190cp -p arch/arch-generic.h $RPM_BUILD_ROOT%{_includedir}/fio/arch
191%endif
7973b834 192cp -p compiler/compiler.h $RPM_BUILD_ROOT%{_includedir}/fio/compiler
7175f834 193cp -p crc/{crc{16,32,32c,64,7},fnv,md5,murmur3,sha{1,256,3,512},test,xxhash}.h $RPM_BUILD_ROOT%{_includedir}/fio/crc
0a723646 194cp -p lib/{axmap,bloom,bswap,ffz,fls,gauss,getrusage,hweight,ieee754,lfsr,memalign,memcpy,mountcheck,nowarn_snprintf,num2str,output_buffer,pattern,pow2,prio_tree,rand,rbtree,seqlock,strntol,types,zipf}.h $RPM_BUILD_ROOT%{_includedir}/fio/lib
a8074df1 195cp -p os/{os,os-linux,os-linux-syscall}.h $RPM_BUILD_ROOT%{_includedir}/fio/os
7175f834 196cp -p os/linux/io_uring.h $RPM_BUILD_ROOT%{_includedir}/fio/os/linux
0a723646 197cp -p oslib/{asprintf,getopt,inet_aton,libmtd_common,libmtd,libmtd_int,libmtd_xalloc,linux-dev-lookup,strcasestr,strlcat,strndup,strsep}.h $RPM_BUILD_ROOT%{_includedir}/fio/oslib
b1b35878 198
c1909f35 199%clean
200rm -rf $RPM_BUILD_ROOT
201
202%files
203%defattr(644,root,root,755)
2a4f58ab 204%doc GFIO-TODO HOWTO.rst MORAL-LICENSE README.rst REPORTING-BUGS SERVER-TODO STEADYSTATE-TODO examples
bc626f25
JB
205%attr(755,root,root) %{_bindir}/fio
206%attr(755,root,root) %{_bindir}/fio-btrace2fio
207%attr(755,root,root) %{_bindir}/fio-dedupe
208%attr(755,root,root) %{_bindir}/fio-genzipf
803c3af8 209%attr(755,root,root) %{_bindir}/fio-histo-log-pctiles.py
4c2fe1f1 210%attr(755,root,root) %{_bindir}/fio-verify-state
bc626f25
JB
211%attr(755,root,root) %{_bindir}/fio2gnuplot
212%attr(755,root,root) %{_bindir}/fio_generate_plots
a8074df1 213%attr(755,root,root) %{_bindir}/fio_jsonplus_clat2csv
7e44be1f
JB
214%attr(755,root,root) %{_bindir}/fiologparser.py
215%attr(755,root,root) %{_bindir}/fiologparser_hist.py
bc626f25
JB
216%attr(755,root,root) %{_bindir}/genfio
217%{_datadir}/fio
218%{_mandir}/man1/fio.1*
219%{_mandir}/man1/fio2gnuplot.1*
220%{_mandir}/man1/fio_generate_plots.1*
7e44be1f 221%{_mandir}/man1/fiologparser_hist.py.1*
bc626f25 222
b1b35878
JB
223%files devel
224%defattr(644,root,root,755)
225%{_includedir}/fio
226
bc626f25
JB
227%if %{with gtk}
228%files -n gfio
229%defattr(644,root,root,755)
230%doc GFIO-TODO
231%attr(755,root,root) %{_bindir}/gfio
232%endif
This page took 0.101362 seconds and 4 git commands to generate.