## START: Set by rpmautospec
## (rpmautospec version 0.3.0)
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 6;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

# Generated by rust2rpm 18
%bcond_without check
%global __cargo_skip_build 0

%global crate resctl-bench

%if 0%{?rhel}
# RHEL doesn't have these macros
%global __crates_url https://crates.io/api/v1/crates/
%global crates_source %{__crates_url}%{crate}/%{version}/download#/%{crate}-%{version}.crate
%global version_no_tilde %{version}
%endif

Name:           rust-%{crate}
Version:        2.1.2
Release:        %autorelease
Summary:        Whole system resource control benchmarks with realistic scenarios

# Upstream license specification: Apache-2.0
License:        ASL 2.0 and BSD and MIT and zlib
URL:            https://crates.io/crates/resctl-bench
Source:         %{crates_source}
# Vendored dependencies for EPEL, update with ./update-vendor-tarball.sh
Source1:        %{crate}-%{version}-vendor.tar.gz

ExclusiveArch:  %{rust_arches}

%if 0%{?rhel}
BuildRequires:  rust-toolset
%else
BuildRequires:  rust-packaging
%endif

%global _description %{expand:
resctl-bench is a collection of whole-system benchmarks to evaluate resource
control and hardware behaviors using realistic simulated workloads.

Comprehensive resource control involves the whole system. Furthermore, testing
resource control end-to-end requires scenarios involving realistic workloads
and monitoring their interactions. The combination makes benchmarking resource
control challenging and error-prone. It's easy to slip up on a configuration
and testing with real workloads can be tedious and unreliable.

resctl-bench encapsulates the whole process so that resource control benchmarks
can be performed easily and reliably. It verifies and updates system
configurations, reproduces resource contention scenarios with a realistic
latency-sensitive workload simulator and other secondary workloads, analyzes
the resulting system and workload behaviors, and generates easily
understandable reports.}

%description %{_description}

%package     -n %{crate}
Summary:        %{summary}

Requires:       rd-agent = %{version}
Requires:       rd-hashd = %{version}

%description -n %{crate} %{_description}

%files       -n %{crate}
%license LICENSE
%doc examples doc README.md
%{_bindir}/resctl-bench

%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%if 0%{?rhel}
%cargo_prep -V 1
%else
%cargo_prep

%generate_buildrequires
%cargo_generate_buildrequires
%endif

%build
%cargo_build

%install
%cargo_install

%if %{with check}
%check
%cargo_test
%endif

%changelog
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> 2.1.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Tue Feb 15 2022 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> 2.1.2-5
- Rebuild with package notes

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> 2.1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Thu Dec 09 2021 Davide Cavalca <dcavalca@fedoraproject.org> 2.1.2-3
- Build for epel9

* Fri Oct 22 2021 Davide Cavalca <dcavalca@fedoraproject.org> 2.1.2-2
- Build for epel8

* Fri Oct 22 2021 Davide Cavalca <dcavalca@fedoraproject.org> 2.1.2-1
- Initial import; Fixes: RHBZ#1997730