]>
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: | |
4c2fe1f1 | 6 | %bcond_without 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 |
4c2fe1f1 | 14 | Version: 2.8 |
017f0e28 | 15 | Release: 1 |
16 | License: GPL v2+ | |
bc626f25 | 17 | Group: Applications/System |
c1909f35 | 18 | Source0: http://brick.kernel.dk/snaps/%{name}-%{version}.tar.bz2 |
4c2fe1f1 JB |
19 | # Source0-md5: 7a279f640420800a3e5d74c6237c9b1c |
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 | |
bc626f25 JB |
66 | %package -n gfio |
67 | Summary: GTK+ based graphical front-end for fio | |
68 | Summary(pl.UTF-8): Oparty na GTK+ graficzny interfejs do fio | |
69 | Group: X11/Applications | |
70 | Requires: %{name} = %{version}-%{release} | |
71 | ||
72 | %description -n gfio | |
73 | gfio is a GTK+ based graphical front-end for fio. It is often | |
74 | installed on the testers workstation whereas fio would be installed on | |
75 | the server. | |
76 | ||
77 | %description -n gfio -l pl.UTF-8 | |
78 | gfio to oparty na GTK+ graficzny interfejs do fio. Zwykle jest | |
79 | instalowany na komputerze testerów, podczas gdy fio jest zainstalowany | |
80 | na serwerze. | |
81 | ||
c1909f35 | 82 | %prep |
83 | %setup -q | |
4c2fe1f1 | 84 | %patch0 -p1 |
bc626f25 JB |
85 | |
86 | %{__sed} -i -e '1s,/usr/bin/env bash,/bin/bash,' tools/genfio | |
87 | %{__sed} -i -e '1s,/usr/bin/env python,/usr/bin/python,' tools/plot/fio2gnuplot | |
c1909f35 | 88 | |
89 | %build | |
bc626f25 JB |
90 | ./configure \ |
91 | --cc="%{__cc}" \ | |
92 | --extra-cflags="%{rpmcflags} %{rpmcppflags}" \ | |
93 | %{!?with_glusterfs:--enable-gfapi} \ | |
94 | %{?with_gtk:--enable-gfio} \ | |
95 | %{!?with_numa:--disable-numa} \ | |
4c2fe1f1 | 96 | %{!?with_ceph:--disable-rbd} \ |
bc626f25 | 97 | |
c1909f35 | 98 | %{__make} \ |
c1909f35 | 99 | LDFLAGS="%{rpmldflags}" \ |
8f621653 | 100 | V=1 |
c1909f35 | 101 | |
102 | %install | |
103 | rm -rf $RPM_BUILD_ROOT | |
104 | ||
105 | %{__make} install \ | |
106 | prefix="%{_prefix}" \ | |
4ac72107 | 107 | mandir="%{_mandir}" \ |
c1909f35 | 108 | DESTDIR=$RPM_BUILD_ROOT |
109 | ||
110 | %clean | |
111 | rm -rf $RPM_BUILD_ROOT | |
112 | ||
113 | %files | |
114 | %defattr(644,root,root,755) | |
bc626f25 JB |
115 | %doc HOWTO MORAL-LICENSE README REPORTING-BUGS SERVER-TODO examples |
116 | %attr(755,root,root) %{_bindir}/fio | |
117 | %attr(755,root,root) %{_bindir}/fio-btrace2fio | |
118 | %attr(755,root,root) %{_bindir}/fio-dedupe | |
119 | %attr(755,root,root) %{_bindir}/fio-genzipf | |
4c2fe1f1 | 120 | %attr(755,root,root) %{_bindir}/fio-verify-state |
bc626f25 JB |
121 | %attr(755,root,root) %{_bindir}/fio2gnuplot |
122 | %attr(755,root,root) %{_bindir}/fio_generate_plots | |
123 | %attr(755,root,root) %{_bindir}/genfio | |
124 | %{_datadir}/fio | |
125 | %{_mandir}/man1/fio.1* | |
126 | %{_mandir}/man1/fio2gnuplot.1* | |
127 | %{_mandir}/man1/fio_generate_plots.1* | |
128 | ||
129 | %if %{with gtk} | |
130 | %files -n gfio | |
131 | %defattr(644,root,root,755) | |
132 | %doc GFIO-TODO | |
133 | %attr(755,root,root) %{_bindir}/gfio | |
134 | %endif |