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