From 4e7986f3030f6ad3b9374cf5f7001e606c04c784 Mon Sep 17 00:00:00 2001 From: tigro Date: Mon, 15 Jan 2024 22:24:11 +0300 Subject: [PATCH] import rust-rd-hashd-2.1.2-10.el9 --- .rust-rd-hashd.metadata | 0 ...-Integer-div_ceil-from-number-div_ce.patch | 56 +++++++++ ...735bdf005a24e54dd19559016a59f6f43536.patch | 30 +++++ SOURCES/rd-hashd-2.1.2.crate | Bin 0 -> 41381 bytes SPECS/rust-rd-hashd.spec | 110 ++++++++++++++++++ 5 files changed, 196 insertions(+) create mode 100644 .rust-rd-hashd.metadata create mode 100644 SOURCES/0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch create mode 100644 SOURCES/dbe5735bdf005a24e54dd19559016a59f6f43536.patch create mode 100644 SOURCES/rd-hashd-2.1.2.crate create mode 100644 SPECS/rust-rd-hashd.spec diff --git a/.rust-rd-hashd.metadata b/.rust-rd-hashd.metadata new file mode 100644 index 0000000..e69de29 diff --git a/SOURCES/0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch b/SOURCES/0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch new file mode 100644 index 0000000..d606f8e --- /dev/null +++ b/SOURCES/0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch @@ -0,0 +1,56 @@ +From d7ea03257825c173fcd4b8eed26fb177f638bfb3 Mon Sep 17 00:00:00 2001 +From: Fabio Valentini +Date: Mon, 9 Oct 2023 01:33:38 +0200 +Subject: [PATCH] Disambiguate num::Integer::div_ceil from ::div_ceil + +--- + src/bench.rs | 2 +- + src/hasher.rs | 4 ++-- + src/testfiles.rs | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/bench.rs b/src/bench.rs +index 85603a8..5092a41 100644 +--- a/src/bench.rs ++++ b/src/bench.rs +@@ -649,7 +649,7 @@ impl Bench { + fn time_hash(size: usize, params: &Params, tf: &TestFiles) -> f64 { + let mut hasher = hasher::Hasher::new(1.0, 0.0); + let chunk_size = params.chunk_pages * *PAGE_SIZE; +- let chunks_per_unit = (tf.unit_size as usize).div_ceil(&chunk_size); ++ let chunks_per_unit = Integer::div_ceil(&(tf.unit_size as usize), &chunk_size); + + let started_at = Instant::now(); + +diff --git a/src/hasher.rs b/src/hasher.rs +index 6ee2084..7e5d3e5 100644 +--- a/src/hasher.rs ++++ b/src/hasher.rs +@@ -580,9 +580,9 @@ impl DispatchThread { + // determined by each hash worker to avoid overloading the + // dispatch thread. + let file_size = self.file_size_normal.sample(&mut rng).round() as usize; +- let file_nr_chunks = file_size.div_ceil(&chunk_size).max(1); ++ let file_nr_chunks = Integer::div_ceil(&file_size, &chunk_size).max(1); + let anon_size = self.anon_size_normal.sample(&mut rng).round() as usize; +- let anon_nr_chunks = anon_size.div_ceil(&chunk_size); ++ let anon_nr_chunks = Integer::div_ceil(&anon_size, &chunk_size); + + let hasher_thread = HasherThread { + tf: self.tf.clone(), +diff --git a/src/testfiles.rs b/src/testfiles.rs +index 28e046a..b7dc555 100644 +--- a/src/testfiles.rs ++++ b/src/testfiles.rs +@@ -34,7 +34,7 @@ impl TestFiles { + base_path: PathBuf::from(base_path.as_ref()), + unit_size, + size, +- nr_files: size.div_ceil(&unit_size), ++ nr_files: Integer::div_ceil(&size, &unit_size), + comp, + prefix: String::from(DFL_PREFIX), + } +-- +2.41.0 + diff --git a/SOURCES/dbe5735bdf005a24e54dd19559016a59f6f43536.patch b/SOURCES/dbe5735bdf005a24e54dd19559016a59f6f43536.patch new file mode 100644 index 0000000..5c519b4 --- /dev/null +++ b/SOURCES/dbe5735bdf005a24e54dd19559016a59f6f43536.patch @@ -0,0 +1,30 @@ +From dbe5735bdf005a24e54dd19559016a59f6f43536 Mon Sep 17 00:00:00 2001 +From: Tejun Heo +Date: Wed, 20 Oct 2021 11:10:07 -1000 +Subject: [PATCH] hashd: build fix for 32bit archs + +--- + rd-hashd/src/testfiles.rs | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/rd-hashd/src/testfiles.rs b/rd-hashd/src/testfiles.rs +index 28e046a..c3893b1 100644 +--- a/rd-hashd/src/testfiles.rs ++++ b/rd-hashd/src/testfiles.rs +@@ -4,6 +4,7 @@ use log::{debug, trace, warn}; + use num::Integer; + use rand::rngs::SmallRng; + use rand::SeedableRng; ++use std::convert::TryInto; + use std::ffi::OsStr; + use std::fs; + use std::io::{Read, Seek, SeekFrom, Write}; +@@ -177,7 +178,7 @@ impl TestFiles { + libc::posix_fadvise( + f.as_raw_fd(), + 0, +- self.unit_size as i64, ++ self.unit_size.try_into().unwrap(), + libc::POSIX_FADV_DONTNEED, + ) + }; diff --git a/SOURCES/rd-hashd-2.1.2.crate b/SOURCES/rd-hashd-2.1.2.crate new file mode 100644 index 0000000000000000000000000000000000000000..6fb07b093d7c4b0b40b9ee1fe03df85438d3e137 GIT binary patch literal 41381 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::div_ceil calls +Patch1: 0001-Disambiguate-num-Integer-div_ceil-from-number-div_ce.patch + +BuildRequires: rust-packaging >= 23 + +%global _description %{expand: +Latency-sensitive pseudo workload for resctl-demo.} + +%description %{_description} + +%package -n %{crate} +Summary: %{summary} +# (MIT OR Apache-2.0) AND Unicode-DFS-2016 +# Apache-2.0 +# Apache-2.0 OR BSL-1.0 +# BSD-3-Clause +# MIT +# MIT OR Apache-2.0 +# Unlicense OR MIT +License: Apache-2.0 AND BSD-3-Clause AND MIT AND Unicode-DFS-2016 AND (Apache-2.0 OR BSL-1.0) AND (MIT OR Apache-2.0) AND (Unlicense OR MIT) +# LICENSE.dependencies contains a full license breakdown + +%description -n %{crate} %{_description} + +%files -n %{crate} +%license LICENSE +%license LICENSE.dependencies +%doc README.md +%{_bindir}/rd-hashd + +%prep +%autosetup -n %{crate}-%{version_no_tilde} -N +%patch -P0 -p2 +%patch -P1 -p1 +%cargo_prep + +%generate_buildrequires +%cargo_generate_buildrequires + +%build +%cargo_build +%{cargo_license_summary} +%{cargo_license} > LICENSE.dependencies + +%install +%cargo_install + +%if %{with check} +%check +%cargo_test +%endif + +%changelog +* Mon Jan 15 2024 Arkady L. Shane - 2.1.2-10 +- Rebuilt for MSVSphere 9.3 + +* Sun Oct 08 2023 Fabio Valentini - 2.1.2-10 +- Fix builds with Rust 1.73+ caused by ambiguous ::div_ceil calls + +* Mon Aug 07 2023 Fabio Valentini - 2.1.2-9 +- Regenerate with rust2rpm v24 + +* Fri Jul 21 2023 Fedora Release Engineering - 2.1.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 28 2023 Fabio Valentini - 2.1.2-7 +- Rebuild for CVE-2022-24765 and CVE-2022-29187 in libgit2 + +* Sat Jan 21 2023 Fedora Release Engineering - 2.1.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Feb 15 2022 Zbigniew Jędrzejewski-Szmek - 2.1.2-4 +- Rebuild with package notes + +* Fri Jan 21 2022 Fedora Release Engineering - 2.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Oct 22 2021 Davide Cavalca - 2.1.2-2 +- Build for epel8 + +* Thu Oct 21 2021 Davide Cavalca - 2.1.2-1 +- Initial import; Fixes: RHBZ#1990927