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