public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Aleksei Bavshin <alebastr@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/bear] rawhide: Update to 4.0.4 (rhbz#2426948)
Date: Wed, 03 Jun 2026 05:47:13 GMT [thread overview]
Message-ID: <178046563363.1.7313029527134967884.rpms-bear-4334da99d2d1@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/bear
Branch : rawhide
Commit : 4334da99d2d1b0535e53df2b3317b0f449eb6287
Author : Aleksei Bavshin <alebastr@fedoraproject.org>
Date : 2026-03-18T06:08:22-07:00
Stats : +94/-60 in 4 file(s)
URL : https://src.fedoraproject.org/rpms/bear/c/4334da99d2d1b0535e53df2b3317b0f449eb6287?branch=rawhide
Log:
Update to 4.0.4 (rhbz#2426948)
- Rewrite the spec according to the non-crate Rust project guidelines.
---
diff --git a/.gitignore b/.gitignore
index 1877204..6fe92ab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@
/bear-3.1.4.tar.gz
/bear-3.1.5.tar.gz
/bear-3.1.6.tar.gz
+/bear-4.0.4.tar.gz
diff --git a/bear-fix-metadata.diff b/bear-fix-metadata.diff
new file mode 100644
index 0000000..882ea4f
--- /dev/null
+++ b/bear-fix-metadata.diff
@@ -0,0 +1,36 @@
+diff --git a/Cargo.toml b/Cargo.toml
+index 3e13639..1dacb21 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -23,7 +23,7 @@ thiserror = "2.0"
+ anyhow = "1.0"
+ serde = { version = "1.0", default-features = false, features = ["derive"] }
+ serde_json = { version = "1.0", default-features = false, features = ["std"] }
+-serde_yml = "0.0.12"
++serde_yml = { version = "0.9.42", package = "serde_norway" }
+ crossbeam-channel = { version = "0.5", default-features = false, features = ["std"] }
+ clap = { version = "4.5", default-features = false, features = ["std", "cargo", "help", "usage", "suggestions"] }
+ log = { version = "0.4", default-features = false, features = ["std"] }
+diff --git a/bear/Cargo.toml b/bear/Cargo.toml
+index 5371bc7..7419b4d 100644
+--- a/bear/Cargo.toml
++++ b/bear/Cargo.toml
+@@ -41,4 +41,4 @@ regex.workspace = true
+
+ [dev-dependencies]
+ tempfile.workspace = true
+-mockall = "0.14"
++mockall = ">=0.11.4,<0.15.0"
+diff --git a/intercept-preload/Cargo.toml b/intercept-preload/Cargo.toml
+index 820efd8..9d6a5e1 100644
+--- a/intercept-preload/Cargo.toml
++++ b/intercept-preload/Cargo.toml
+@@ -24,7 +24,7 @@ bear = { path = "../bear" }
+ thiserror.workspace = true
+ log.workspace = true
+ env_logger.workspace = true
+-ctor = { version = "0.4" }
++ctor = { version = ">=0.4,<0.7" }
+
+ [target.'cfg(target_family = "unix")'.dependencies]
+ libc.workspace = true
diff --git a/bear.spec b/bear.spec
index 2754354..1fa23ba 100644
--- a/bear.spec
+++ b/bear.spec
@@ -1,43 +1,46 @@
+%bcond check 1
+
Name: bear
-Version: 3.1.6
+Version: 4.0.4
Release: %autorelease
Summary: Tool that generates a compilation database for clang tooling
-License: GPL-3.0-or-later
+# (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# Apache-2.0 OR BSL-1.0
+# Apache-2.0 OR MIT
+# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# GPL-3.0-or-later
+# MIT
+# MIT OR Apache-2.0
+# MPL-2.0
+# Unlicense OR MIT
+License: %{shrink:
+ GPL-3.0-or-later
+ AND (Apache-2.0 OR BSL-1.0)
+ AND (Apache-2.0 OR MIT)
+ AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT)
+ AND MIT
+ AND MPL-2.0
+ AND Unicode-DFS-2016
+ AND (Unlicense OR MIT)
+ }
+# LICENSE.dependencies contains a full license breakdown
URL: https://github.com/rizsotto/%{name}
Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
+# Manually created patch for downstream workspace metadata changes
+# * Replace serde_yml with a less cursed fork of serde_yaml.
+# Upstream issue: https://github.com/rizsotto/Bear/issues/680
+# * Relax ctor dependency to >=0.4,<0.7
+# * Relax mockall dependency to >0.11.4,<0.15.0
+Patch: bear-fix-metadata.diff
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
-BuildRequires: cmake
-BuildRequires: cmake(fmt)
-BuildRequires: cmake(gtest)
-BuildRequires: cmake(nlohmann_json)
-BuildRequires: cmake(spdlog)
-BuildRequires: gcc
-BuildRequires: gcc-c++
-BuildRequires: gmock-devel
-BuildRequires: grpc-plugins
-BuildRequires: make
-BuildRequires: pkgconfig(protobuf)
-BuildRequires: pkgconfig(grpc++)
-BuildRequires: python3
-
-# Needed for functional tests
-BuildRequires: python3dist(lit)
-BuildRequires: /usr/bin/more
-BuildRequires: /usr/bin/xargs
-BuildRequires: gcc-fortran
-%ifarch %{valgrind_arches}
-BuildRequires: valgrind
-%endif
-BuildRequires: fakeroot
+BuildRequires: cargo-rpm-macros
+# intercept-preload explicitly requires lld to link libexec.so
+BuildRequires: lld
-# Work around RHBZ#1959600 (https://github.com/rizsotto/Bear/issues/309), which
-# caused a test failure on s390x. It may only be happenstance that no other
-# architectures were affected.
-%global _lto_cflags %{nil}
%description
Build ear produces compilation database in JSON format. This database describes
@@ -46,48 +49,42 @@ tooling.
%prep
%autosetup -n Bear-%{version} -p1
+%cargo_prep
+# Update wrapper paths (INSTALL.md#how-to-package)
+sed -i -e 's@/usr/local/libexec@%{_libexecdir}@' bear/build.rs
+%generate_buildrequires
+%cargo_generate_buildrequires
%build
-for f in $(ls test/bin/); do
- sed -i "s|^#\!/usr/bin/env\s\+python\s\?$|#!%{__python3}|" test/bin/$f
-done
-%ifarch s390x
-# Dereferences a null pointer in some grpc routines; this is nontrivial to
-# debug, but any assistance in investigating it is welcome. In case this is a
-# grpc bug, we should check to see if this is fixed when grpc is updated.
-#
-# https://bugzilla.redhat.com/show_bug.cgi?id=2127458
-rm -vf test/cases/intercept/valgrind/shell_commands_intercepted.sh
-%endif
-
-%cmake -DENABLE_FUNC_TESTS=ON -DENABLE_UNIT_TESTS=ON
-%cmake_build
+%cargo_build
+%{cargo_license_summary}
+%{cargo_license} > LICENSE.dependencies
%install
-%cmake_install
-
-mv %{buildroot}/%{_docdir}/Bear %{buildroot}/%{_docdir}/bear
+install -Dpm 0755 target/rpm/bear -t %{buildroot}%{_bindir}
+install -Dpm 0755 target/rpm/wrapper -t %{buildroot}%{_libexecdir}/bear
+install -Dpm 0755 target/rpm/libexec.so -t %{buildroot}%{_libexecdir}/bear/%{_lib}
+install -Dpm 0644 man/bear.1 -t %{buildroot}%{_mandir}/man1
+%if %{with check}
%check
-# Tests run as part of build, because it's the same build target.
-# There is no check target.
+# We don't run the integration test suite, because it require rebuilding
+# the binaries with -f allow-integration-tests.
+%cargo_test
+%endif
%files
+%license COPYING
+%license LICENSE.dependencies
+%doc README.md
%{_bindir}/bear
-%{_libdir}/bear
+%dir %{_libexecdir}/bear
+%dir %{_libexecdir}/bear/%{_lib}
+%{_libexecdir}/bear/wrapper
+%{_libexecdir}/bear/%{_lib}/libexec.so
%{_mandir}/man1/bear.1*
-%{_mandir}/man1/bear-citnames.1*
-%{_mandir}/man1/bear-intercept.1*
-
-# rpmbuild on RHEL won't automatically pick up ChangeLog.md & README.md
-%if 0%{?rhel}
-%{_datadir}/doc/bear
-%endif
-
-%license COPYING
-%doc %{_docdir}/bear
%changelog
%autochangelog
diff --git a/sources b/sources
index 6345f23..6e9e54c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (bear-3.1.6.tar.gz) = 5852ca8d93459a9e1a6d2e030cc3963c213bf1638241825ec5df4eea7e3460faca9436ca2e36b8e5da40222306a0ecc8ed80d1f5e518ddd97dc5e200d42a75bb
+SHA512 (bear-4.0.4.tar.gz) = 67885fe178849c008d696ff7844a5aca248d96dce5b2856d5f9e413ae6900ed81649a8bcf823d85fe25c555d57eb229a26115afed0de83173019a4d1bc7854bf
reply other threads:[~2026-06-03 5:47 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178046563363.1.7313029527134967884.rpms-bear-4334da99d2d1@fedoraproject.org \
--to=alebastr@fedoraproject.org \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox