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