File fio.spec of Package fio.11428

# spec file for package fio
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Pascal Bleser <>
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

%if 0%{?sles_version} == 11
%bcond_with librbd
%bcond_with libpmem
%ifarch %{ix86}
%bcond_with libnuma
%bcond_without libnuma
%bcond_without librbd
%bcond_without libpmem
%bcond_without libnuma

Name:           fio
Version:        3.4
Release:        0
Summary:        Flexible I/O tester
License:        GPL-2.0
Group:          System/Benchmark
Url:  ;a=summary
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  gtk2-devel
BuildRequires:  libaio-devel
BuildRequires:  librdmacm-devel
BuildRequires:  pkgconfig
BuildRequires:  zlib-devel
Suggests:       gfio
Suggests:       gnuplot
%if %{with libnuma}
%ifnarch s390x s390 %{arm}
BuildRequires:  libnuma-devel
%if %{with librbd}
%ifnarch s390x s390 ppc64le ppc64 ppc %{ix86} %{arm}
BuildRequires:  librbd-devel
%if 0%{?is_opensuse}
BuildRequires:  glusterfs-devel
%if %{with libpmem}
%ifarch x86_64
BuildRequires:  libpmem-devel
BuildRequires:  libpmemblk-devel

fio is an I/O tool meant to be used both for benchmark and stress/hardware
verification. It has support for 4 different types of I/O engines (sync,
mmap, libaio, posixaio), I/O priorities (for newer Linux kernels), rate I/O,
forked or threaded jobs, and much more. It can work on block devices as
well as files. fio accepts job descriptions in a simple-to-understand text
format. Several example job files are included. fio displays all sorts of
I/O performance information, such as completion and submission latencies
(avg/mean/deviation), bandwidth stats, cpu and disk utilization, and more.

%package -n gfio
Summary:        Graphical front end for fio
Group:          System/Benchmark
Requires:       %{name} = %{version}

%description -n gfio
gfio is a gtk based graphical front-end for fio.  It is often installed on the
testers workstation whereas fio would be installed on the server.

%setup -q

sed -i "s|%{_bindir}/bash|/bin/bash|g" tools/genfio
# Not autotools configure
./configure \
make \
  %{?_smp_mflags} \
  V=1 \
  OPTFLAGS="%{optflags}" \

%make_install \
	prefix="%{_prefix}" \

make %{?_smp_mflags} test

%defattr(-, root, root)
%if 0%{?sles_version} == 11
%doc README examples

%files -n gfio
%defattr(-, root, root)

openSUSE Build Service is sponsored by