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