The package rpms/rust-rbspy.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-rbspy.git/commit/?id=579d402....
Change:
+%ifarch s390x
Thanks.
Full change:
============
commit 579d4028815de6b103f535a124ffedb2ec3b2327
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Thu Jul 28 23:05:43 2022 +0200
Update to version 0.12.1; Fixes RHBZ#2058869
diff --git a/.gitignore b/.gitignore
index 003c0d2..421fea3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/rbspy-0.8.1.crate
/rbspy-0.8.1-vendor.tar.gz
+/rbspy-0.12.1.crate
diff --git a/LICENSE.dependencies b/LICENSE.dependencies
new file mode 100644
index 0000000..adedd4b
--- /dev/null
+++ b/LICENSE.dependencies
@@ -0,0 +1,102 @@
+0BSD or MIT or ASL 2.0: rust-adler 1.0.2
+ASL 2.0 or Boost: rust-ryu 1.0.10
+ASL 2.0 or MIT: rust-addr2line 0.17.0
+ASL 2.0 or MIT: rust-autocfg 1.1.0
+ASL 2.0 or MIT: rust-cpp_demangle 0.3.5
+ASL 2.0 or MIT: rust-gimli 0.26.1
+ASL 2.0 or MIT: rust-indexmap 1.9.1
+ASL 2.0 or MIT: rust-object 0.27.1
+Apache-2.0: rust-prost 0.10.4
+Apache-2.0: rust-prost-derive 0.10.1
+CDDL-1.0: rust-inferno 0.11.7
+MIT OR Apache-2.0: rust-clap 3.2.15
+MIT OR Apache-2.0: rust-clap_derive 3.2.15
+MIT OR Apache-2.0: rust-clap_lex 0.2.4
+MIT OR Apache-2.0: rust-crossbeam-channel 0.5.6
+MIT OR Apache-2.0: rust-crossbeam-utils 0.8.11
+MIT OR Apache-2.0: rust-term_size 0.3.2
+MIT or ASL 2.0: rust-ahash 0.7.6
+MIT or ASL 2.0: rust-anyhow 1.0.58
+MIT or ASL 2.0: rust-arrayvec0.5 0.5.2
+MIT or ASL 2.0: rust-bitflags 1.3.2
+MIT or ASL 2.0: rust-cfg-if 1.0.0
+MIT or ASL 2.0: rust-chrono 0.4.19
+MIT or ASL 2.0: rust-crc32fast 1.3.2
+MIT or ASL 2.0: rust-ctrlc 3.2.2
+MIT or ASL 2.0: rust-directories 4.0.1
+MIT or ASL 2.0: rust-dirs-sys 0.3.7
+MIT or ASL 2.0: rust-either 1.7.0
+MIT or ASL 2.0: rust-elf 0.0.10
+MIT or ASL 2.0: rust-env_logger 0.9.0
+MIT or ASL 2.0: rust-fallible-iterator 0.2.0
+MIT or ASL 2.0: rust-flate2 1.0.22
+MIT or ASL 2.0: rust-getrandom 0.2.7
+MIT or ASL 2.0: rust-hashbrown 0.12.3
+MIT or ASL 2.0: rust-heck 0.4.0
+MIT or ASL 2.0: rust-humantime 2.1.0
+MIT or ASL 2.0: rust-itertools 0.10.3
+MIT or ASL 2.0: rust-itoa 1.0.2
+MIT or ASL 2.0: rust-itoa0.4 0.4.8
+MIT or ASL 2.0: rust-lazy_static 1.4.0
+MIT or ASL 2.0: rust-libc 0.2.126
+MIT or ASL 2.0: rust-lock_api 0.4.7
+MIT or ASL 2.0: rust-log 0.4.17
+MIT or ASL 2.0: rust-memmap 0.7.0
+MIT or ASL 2.0: rust-num-format 0.4.0
+MIT or ASL 2.0: rust-num-integer 0.1.45
+MIT or ASL 2.0: rust-num-traits 0.2.15
+MIT or ASL 2.0: rust-num_cpus 1.13.1
+MIT or ASL 2.0: rust-once_cell 1.13.0
+MIT or ASL 2.0: rust-os_str_bytes 6.1.0
+MIT or ASL 2.0: rust-parking_lot_core 0.9.3
+MIT or ASL 2.0: rust-plain 0.2.3
+MIT or ASL 2.0: rust-ppv-lite86 0.2.16
+MIT or ASL 2.0: rust-proc-macro-error 1.0.4
+MIT or ASL 2.0: rust-proc-macro-error-attr 1.0.4
+MIT or ASL 2.0: rust-proc-macro2 1.0.40
+MIT or ASL 2.0: rust-quote 1.0.20
+MIT or ASL 2.0: rust-rand 0.8.5
+MIT or ASL 2.0: rust-rand0.4 0.4.6
+MIT or ASL 2.0: rust-rand_chacha 0.3.1
+MIT or ASL 2.0: rust-rand_core 0.6.3
+MIT or ASL 2.0: rust-regex 1.6.0
+MIT or ASL 2.0: rust-regex-syntax 0.6.27
+MIT or ASL 2.0: rust-remove_dir_all 0.7.0
+MIT or ASL 2.0: rust-rustc-demangle 0.1.21
+MIT or ASL 2.0: rust-scopeguard 1.1.0
+MIT or ASL 2.0: rust-serde 1.0.139
+MIT or ASL 2.0: rust-serde_derive 1.0.139
+MIT or ASL 2.0: rust-serde_json 1.0.82
+MIT or ASL 2.0: rust-smallvec 1.9.0
+MIT or ASL 2.0: rust-stable_deref_trait 1.2.0
+MIT or ASL 2.0: rust-str_stack 0.1.0
+MIT or ASL 2.0: rust-syn 1.0.98
+MIT or ASL 2.0: rust-tempdir 0.3.7
+MIT or ASL 2.0: rust-thiserror 1.0.31
+MIT or ASL 2.0: rust-thiserror-impl 1.0.31
+MIT or ASL 2.0: rust-time0.1 0.1.44
+MIT or ASL 2.0: rust-unicode-ident 1.0.1
+MIT or ASL 2.0: rust-version_check 0.9.4
+MIT or zlib or ASL 2.0: rust-miniz_oxide 0.4.4
+MIT: rust-atty 0.2.14
+MIT: rust-bytes 1.2.0
+MIT: rust-dashmap 5.3.4
+MIT: rust-goblin 0.5.3
+MIT: rust-memoffset 0.6.5
+MIT: rust-nix 0.24.1
+MIT: rust-nix0.23 0.23.1
+MIT: rust-proc-maps 0.2.1
+MIT: rust-quick-xml 0.23.0
+MIT: rust-rbspy-ruby-structs 0.12.1
+MIT: rust-read-process-memory 0.1.4
+MIT: rust-remoteprocess 0.4.9
+MIT: rust-rgb 0.8.33
+MIT: rust-scroll 0.11.0
+MIT: rust-scroll_derive 0.11.0
+MIT: rust-strsim 0.10.0
+MIT: rust-textwrap 0.15.0
+Unlicense or MIT: rust-aho-corasick 0.7.18
+Unlicense or MIT: rust-byteorder 1.4.3
+Unlicense or MIT: rust-memchr 2.5.0
+Unlicense or MIT: rust-termcolor 1.1.3
+Zlib OR Apache-2.0 OR MIT: rust-bytemuck 1.11.0
diff --git a/rbspy-fix-metadata-auto.diff b/rbspy-fix-metadata-auto.diff
new file mode 100644
index 0000000..c24e6ac
--- /dev/null
+++ b/rbspy-fix-metadata-auto.diff
@@ -0,0 +1,18 @@
+--- rbspy-0.12.1/Cargo.toml 1970-01-01T00:00:01+00:00
++++ rbspy-0.12.1/Cargo.toml 1970-01-01T00:00:01+00:00
+@@ -112,15 +112,6 @@
+ [dev-dependencies.tempdir]
+ version = "0.3.4"
+
+-[target."cfg(target_os=\"macos\")".dependencies.libproc]
+-version = "0.10.0"
+-
+ [target."cfg(unix)".dependencies.nix]
+ version = "0.23.0"
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.9"
+-features = [
+- "timeapi",
+- "wow64apiset",
+-]
diff --git a/rbspy-fix-metadata.diff b/rbspy-fix-metadata.diff
deleted file mode 100644
index 6482aa1..0000000
--- a/rbspy-fix-metadata.diff
+++ /dev/null
@@ -1,29 +0,0 @@
---- rbspy-0.8.1/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ rbspy-0.8.1/Cargo.toml 2021-11-18T19:12:37.846299+00:00
-@@ -53,7 +53,7 @@
- version = "0.4.6"
-
- [dependencies.proc-maps]
--version = "0.1.8"
-+version = "0.2"
-
- [dependencies.rand]
- version = "0.8.3"
-@@ -84,14 +84,12 @@
- [dev-dependencies.byteorder]
- version = "1.4.3"
-
-+[dev-dependencies.rbspy-testdata]
-+version = "0.1.4"
-+
- [dev-dependencies.tempdir]
- version = "0.3.4"
- [build-dependencies.rustc_version]
- version = "0.4"
--[target."cfg(target_os=\"macos\")".dependencies.libproc]
--version = "0.9.1"
- [target."cfg(unix)".dependencies.nix]
- version = "0.22.0"
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3"
--features = ["timeapi", "wow64apiset"]
diff --git a/rbspy-proc-maps.patch b/rbspy-proc-maps.patch
deleted file mode 100644
index 828bf4e..0000000
--- a/rbspy-proc-maps.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From d9dd0324bb816a67f07544fb9dd0f687fce27011 Mon Sep 17 00:00:00 2001
-From: Adam Jensen <adam(a)acj.sh>
-Date: Sat, 13 Nov 2021 14:05:23 -0500
-Subject: [PATCH] Migrate to proc-maps' new PathBuf API
-
----
- Cargo.lock | 253 ++++++++++++++++++++-----------------
- Cargo.toml | 4 +-
- src/core/address_finder.rs | 26 ++--
- 3 files changed, 152 insertions(+), 131 deletions(-)
-
-diff --git a/src/core/address_finder.rs b/src/core/address_finder.rs
-index 4be682c..b36688e 100644
---- a/src/core/address_finder.rs
-+++ b/src/core/address_finder.rs
-@@ -140,15 +140,17 @@ mod os_impl {
- fn get_ruby_binary(maps: &Vec<DyldInfo>) -> Result<Binary> {
- let map: &DyldInfo = maps
- .iter()
-- .find(|ref m| m.filename.contains("bin/ruby"))
-+ .find(|ref m| m.filename.to_string_lossy().contains("bin/ruby"))
- .ok_or(format_err!("Couldn't find ruby map"))?;
-- Binary::from(map.address, &map.filename)
-+ Binary::from(map.address, &map.filename.to_string_lossy())
- }
-
- fn get_libruby_binary(maps: &Vec<DyldInfo>) -> Option<Binary> {
-- let maybe_map = maps.iter().find(|ref m|
m.filename.contains("libruby"));
-+ let maybe_map = maps
-+ .iter()
-+ .find(|ref m| m.filename.to_string_lossy().contains("libruby"));
- match maybe_map.as_ref() {
-- Some(map) => Some(Binary::from(map.address,
&map.filename).unwrap()),
-+ Some(map) => Some(Binary::from(map.address,
&map.filename.to_string_lossy()).unwrap()),
- None => None,
- }
- }
-@@ -357,10 +359,9 @@ mod os_impl {
- // So we read /usr/bin/ruby from /proc/PID/root/usr/bin/ruby
- let map_path = map
- .filename()
-- .as_ref()
- .expect(&format!("[{}] map's pathname shouldn't be
None", pid));
- #[cfg(target_os = "linux")]
-- let elf_path = format!("/proc/{}/root{}", pid, map_path);
-+ let elf_path = format!("/proc/{}/root{}", pid, map_path.display());
- #[cfg(target_os = "freebsd")]
- let elf_path = map_path;
-
-@@ -399,7 +400,7 @@ mod os_impl {
- maps.iter()
- .find(|ref m| {
- if let Some(ref pathname) = m.filename() {
-- pathname.contains(contains) && m.is_exec()
-+ pathname.to_string_lossy().contains(contains) &&
m.is_exec()
- } else {
- false
- }
-@@ -499,9 +500,9 @@ mod os_impl {
- fn get_ruby_binary(maps: &[MapRange]) -> Result<&MapRange> {
- Ok(maps
- .iter()
-- .find(|ref m| {
-- if let Some(ref pathname) = m.filename() {
-- pathname.contains("ruby.exe")
-+ .find(|m| {
-+ if let Some(pathname) = m.filename() {
-+ pathname.to_string_lossy().contains("ruby.exe")
- } else {
- false
- }
-@@ -510,9 +511,10 @@ mod os_impl {
- }
-
- fn get_libruby_binary(maps: &[MapRange]) -> Option<&MapRange> {
-- maps.iter().find(|ref m| {
-- if let Some(ref pathname) = m.filename() {
-+ maps.iter().find(|m| {
-+ if let Some(pathname) = m.filename() {
- // pathname is something like
"C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll"
-+ let pathname = pathname.to_string_lossy();
- pathname.contains("-ruby") &&
pathname.ends_with(".dll")
- } else {
- false
diff --git a/rust-rbspy.spec b/rust-rbspy.spec
index dd89807..cd8bb13 100644
--- a/rust-rbspy.spec
+++ b/rust-rbspy.spec
@@ -1,82 +1,99 @@
-# Generated by rust2rpm 18
-# tests don't work on s390x for the time being
-%ifarch s390x
-%bcond_with check
-%else
+# Generated by rust2rpm 22
%bcond_without check
-%endif
-%global __cargo_skip_build 0
%global crate rbspy
-%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: 0.8.1
+Name: rust-rbspy
+Version: 0.12.1
Release: %autorelease
Summary: Sampling CPU profiler for Ruby
-# Upstream license specification: MIT
License: MIT
-URL:
https://rbspy.github.io
-Source: %{crates_source}
-# Vendored dependencies for EPEL, update with ./update-vendor-tarball.sh
-Source1: %{crate}-%{version}-vendor.tar.gz
-# Initial patched metadata
-# Drop non-Linux dependencies and add missing rbspy-testdata dependency
-Patch0: rbspy-fix-metadata.diff
-# Backport of
https://github.com/rbspy/rbspy/commit/d9dd0324bb816a67f07544fb9dd0f687fce...
-Patch1: rbspy-proc-maps.patch
+URL:
https://crates.io/crates/rbspy
+Source0: %{crates_source}
+Source1: LICENSE.dependencies
+# Automatically generated patch to strip foreign dependencies
+Patch: rbspy-fix-metadata-auto.diff
ExclusiveArch: %{rust_arches}
-%if 0%{?el8}
-BuildRequires: rust-toolset
-%else
-BuildRequires: rust-packaging
-%endif
-
+BuildRequires: rust-packaging >= 21
%if %{with check}
BuildRequires: ruby
BuildRequires: rubygems
%endif
%global _description %{expand:
-rbspy is a sampling CPU profiler for Ruby. rbspy lets you profile Ruby
-processes that are already running. You give it a PID, and it starts profiling.
-It's a sampling profiler, which means it's low overhead and safe to run in
-production.
-
-rbspy lets you record profiling data, save the raw profiling data to disk, and
-then analyze it in a variety of different ways later on.}
+Sampling CPU profiler for Ruby.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
+# 0BSD or MIT or ASL 2.0
+# ASL 2.0
+# ASL 2.0 or Boost
+# ASL 2.0 or MIT
+# CDDL-1.0
+# MIT
+# MIT or ASL 2.0
+# MIT or zlib or ASL 2.0
+# Unlicense or MIT
+# zlib or ASL 2.0 or MIT
+License: MIT and ASL 2.0 and CDDL-1.0
+# LICENSE.dependencies contains a full license breakdown
%description -n %{crate} %{_description}
%files -n %{crate}
%license License.md
-%doc README.md CONTRIBUTORS.md CODE_OF_CONDUCT.md ARCHITECTURE.md
+%license LICENSE.dependencies
+%doc ARCHITECTURE.md
+%doc CODE_OF_CONDUCT.md
+%doc CONTRIBUTORS.md
+%doc NEW_RUBY_VERSION_CHECKLIST.md
+%doc README.md
+%doc RELEASE_CHECKLIST.md
%{_bindir}/rbspy
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
+
+%files devel
+%license %{crate_instdir}/License.md
+%doc %{crate_instdir}/ARCHITECTURE.md
+%doc %{crate_instdir}/CODE_OF_CONDUCT.md
+%doc %{crate_instdir}/CONTRIBUTORS.md
+%doc %{crate_instdir}/NEW_RUBY_VERSION_CHECKLIST.md
+%doc %{crate_instdir}/README.md
+%doc %{crate_instdir}/RELEASE_CHECKLIST.md
+%{crate_instdir}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{crate_instdir}/Cargo.toml
+
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
-%if 0%{?el8}
-%cargo_prep -V 1
-%else
+cp %{SOURCE1} .
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires
-%endif
%build
%cargo_build
@@ -86,7 +103,15 @@ Summary: %{summary}
%if %{with check}
%check
-%cargo_test
+# * tests cannot be run in parallel
+# * skip tests that load a Ruby script which is not included in published crates
+# * skip a test that appears to be flaky
+%ifarch s390x
+# * skip tests that don't work on BE architectures due to hardcoded hex literals
+%cargo_test -- -- --test-threads 1 --skip core::initialize::tests::test_get_exec_trace
--skip core::initialize::tests::test_get_trace --skip
sampler::tests::test_sample_single_process --skip sampler::tests::test_sample_subprocesses
--skip test_current_thread_address --skip test_get_ruby_stack_trace
+%else
+%cargo_test -- -- --test-threads 1 --skip core::initialize::tests::test_get_exec_trace
--skip core::initialize::tests::test_get_trace --skip
sampler::tests::test_sample_single_process --skip sampler::tests::test_sample_subprocesses
--skip test_current_thread_address
+%endif
%endif
%changelog
diff --git a/sources b/sources
index 930924c..f65708a 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-SHA512 (rbspy-0.8.1.crate) =
1969ce36d72c24ae800f2d868ca6261d8deda27f23737567a2d046611dbe77024ff77254ec0db02a8364897af85ed76617f8ff9943873dc78b1b54ac23da680c
-SHA512 (rbspy-0.8.1-vendor.tar.gz) =
fe916786c6b49cfb19faec4dee87521660ccea28436c0823e5e05b0ab86d76c2c7657f527635b5422ef5fa6a0c0581fd86e1179064d7dc27fdf7c3a62d4aef75
+SHA512 (rbspy-0.12.1.crate) =
fc2ada5856e7ffeb0b4926f5f6486c6b928c2b035419f0279438ae24d2fcda7b1b3c6f96a96a1f89ed3fc8aaefb5adf088f07ce84534073712a5077d9e4d7e82
diff --git a/update-vendor-tarball.sh b/update-vendor-tarball.sh
deleted file mode 100755
index f6f50b5..0000000
--- a/update-vendor-tarball.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-name='rbspy'
-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}" && \
- patch -p1 < ${tardir}/rbspy-fix-metadata.diff && \
- patch -p1 < ${tardir}/rbspy-proc-maps.patch && \
- cargo vendor && \
- tar cvzf "${tardir}/${vendor_tarball}" vendor/)
-
-exit 0
commit 2c00316b6fc852335b7378cdf2a7bf42d3dd850c
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jul 23 06:10:33 2022 +0000
Rebuilt for
https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>