You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rust-resctl-bench/rust-resctl-bench.spec

90 lines
2.4 KiB

# 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
%autochangelog