The package rpms/rust-resctl-bench.git has added or updated architecture specific content
in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-resctl-bench.git/commit/?id=....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 700c18495a3a44469d392338a60c7de6eb26354f
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Fri Oct 22 10:28:04 2021 -0700
Build for epel8
diff --git a/.gitignore b/.gitignore
index 2829c5e..f4d7de6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/resctl-bench-2.1.2.crate
+/resctl-bench-2.1.2-vendor.tar.gz
diff --git a/rust-resctl-bench.spec b/rust-resctl-bench.spec
index 549de84..9f7a40a 100644
--- a/rust-resctl-bench.spec
+++ b/rust-resctl-bench.spec
@@ -4,6 +4,13 @@
%global crate resctl-bench
+%if 0%{?el8}
+# el8 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
@@ -13,10 +20,16 @@ Summary: Whole system resource control benchmarks with
realistic scenario
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%{?el8}
+BuildRequires: rust-toolset
+%else
BuildRequires: rust-packaging
+%endif
%global _description %{expand:
resctl-bench is a collection of whole-system benchmarks to evaluate resource
@@ -52,10 +65,14 @@ Requires: rd-hashd = %{version}
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
+%if 0%{?el8}
+%cargo_prep -V 1
+%else
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires
+%endif
%build
%cargo_build
diff --git a/sources b/sources
index 8e71d81..78f2783 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
SHA512 (resctl-bench-2.1.2.crate) =
55e56c9bf5d6c2d1c944291ad8908cff5a5e37e51bb8b4baa98dca5515773d22f509a14e9e85cd11066d5011a6390fbaec5d65c029b9ab253493004c937840eb
+SHA512 (resctl-bench-2.1.2-vendor.tar.gz) =
5797a8d3c1524df6c78463d067bbb97e22a68c65f1a50b039636280c07f1a9f878d3f0483dede30070f5909294afa5473c6f5776bccff39bf4fb872b4bee2115
diff --git a/update-vendor-tarball.sh b/update-vendor-tarball.sh
new file mode 100755
index 0000000..34c64dd
--- /dev/null
+++ b/update-vendor-tarball.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+name='resctl-bench'
+specfile="rust-${name}.spec"
+version=$(rpm -q --qf '%{VERSION}\n' --specfile "$specfile" | head -1)
+nv="${name}-${version}"
+crate="${nv}.crate"
+vendor_tarball="${nv}-vendor.tar.gz"
+
+if [ -f "$vendor_tarball" ]; then
+ echo "${vendor_tarball} already exists, aborting"
+ exit 1
+fi
+
+[ -f "$crate" ] || spectool -g "$specfile"
+tardir="$PWD"
+workdir=$(mktemp -d)
+trap 'rm -rf "$workdir"' EXIT
+
+tar xvzf "$tardir/$crate" -C "$workdir"
+(cd "${workdir}/${nv}" && \
+ cargo vendor && \
+ tar cvzf "${tardir}/${vendor_tarball}" vendor/)
+
+exit 0
commit 4d34baa1c5e0d942d54ec0e313bfaf01506d9a11
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Fri Oct 22 08:32:30 2021 -0700
Initial import; Fixes: RHBZ#1997730
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2829c5e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/resctl-bench-2.1.2.crate
diff --git a/rust-resctl-bench.spec b/rust-resctl-bench.spec
new file mode 100644
index 0000000..549de84
--- /dev/null
+++ b/rust-resctl-bench.spec
@@ -0,0 +1,72 @@
+# Generated by rust2rpm 18
+%bcond_without check
+%global __cargo_skip_build 0
+
+%global crate resctl-bench
+
+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}
+
+ExclusiveArch: %{rust_arches}
+
+BuildRequires: rust-packaging
+
+%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
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+%autochangelog
diff --git a/sources b/sources
new file mode 100644
index 0000000..8e71d81
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (resctl-bench-2.1.2.crate) =
55e56c9bf5d6c2d1c944291ad8908cff5a5e37e51bb8b4baa98dca5515773d22f509a14e9e85cd11066d5011a6390fbaec5d65c029b9ab253493004c937840eb