]>
Commit | Line | Data |
---|---|---|
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 | 16 | Summary: I/O tool for benchmark and stress/hardware verification |
5f5044a2 | 17 | Summary(pl.UTF-8): Narzędzie do mierzenia wydajności I/O i sprawdzania sprawności sprzętu |
c1909f35 | 18 | Name: fio |
a8074df1 | 19 | Version: 3.6 |
d43e2f3c | 20 | Release: 2 |
017f0e28 | 21 | License: GPL v2+ |
bc626f25 | 22 | Group: Applications/System |
c1909f35 | 23 | Source0: http://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2 |
a8074df1 | 24 | # Source0-md5: 618f6b1e7050d6cd6e415992a692b5af |
4c2fe1f1 | 25 | Patch0: %{name}-guasi.patch |
c1909f35 | 26 | URL: http://git.kernel.dk/?p=fio.git;a=summary |
bc626f25 JB |
27 | BuildRequires: bison |
28 | %{?with_ceph:BuildRequires: ceph-devel} | |
29 | BuildRequires: flex | |
30 | %{?with_glusterfs:BuildRequires: glusterfs-devel} | |
4c2fe1f1 | 31 | BuildRequires: guasi-devel |
c1909f35 | 32 | BuildRequires: libaio-devel |
bc626f25 JB |
33 | BuildRequires: libibverbs-devel |
34 | BuildRequires: librdmacm-devel | |
35 | BuildRequires: numactl-devel | |
a8074df1 | 36 | %{?with_pmem:BuildRequires: pmdk-devel} |
bc626f25 JB |
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 | |
c1909f35 | 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 | ||
5f5044a2 JB |
60 | %description -l pl.UTF-8 |
61 | fio to narzędzie do mierzenia wydajności I/O oraz sprawdzania | |
3552df17 | 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), | |
5f5044a2 | 65 | przepustowość I/O, zadania wieloprocesowe lub wielowątkowe i wiele |
3552df17 | 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. | |
c1909f35 | 71 | |
b1b35878 JB |
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 | |
022c834b | 77 | Requires: guasi-devel |
b1b35878 JB |
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 | ||
bc626f25 JB |
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 | ||
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 | |
123 | rm -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 |
131 | install -d $RPM_BUILD_ROOT%{_includedir}/fio/{arch,compiler,engines,lib,os,oslib} | |
a8074df1 | 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 |
b1b35878 JB |
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 | |
a8074df1 JB |
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 | |
b1b35878 JB |
182 | cp -p oslib/{getopt,strlcat}.h $RPM_BUILD_ROOT%{_includedir}/fio/oslib |
183 | ||
c1909f35 | 184 | %clean |
185 | rm -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 |