Fix build with bundled dependencies

This commit is contained in:
Yaakov Selkowitz 2022-11-22 14:29:50 -05:00
parent 72e12733c3
commit 3ecb4245f6
3 changed files with 22 additions and 2 deletions

View File

@ -8,6 +8,7 @@
%if 0%{?rhel}
# RHEL: Use bundled deps as it doesn't ship Rust libraries
%global bundled_rust_deps 1
%global __brp_mangle_shebangs_exclude_from ^/usr/src/debug/.*$
%else
# Fedora: Use only system Rust libraries
%global bundled_rust_deps 0
@ -52,10 +53,14 @@ Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
# --exclude-crate-path "libloading#tests"
# tar jcf rust-keylime-%%{version}-vendor.tar.xz vendor
Source1: rust-keylime-%{version}-vendor.tar.xz
## Patches for building from system Rust libraries (Fedora)
# Fix version requirement for clap to avoid FTBFS in Fedora
Patch1: rust-keylime-metadata.patch
# Use API available on rust-config-0.12.0
Patch2: rust-keylime-config-separator.patch
## Patches for building from bundled Rust libraries (RHEL)
# Build tss-esapi extension from source (upstream commit)
Patch100: rust-keylime-metadata-bundled.patch
ExclusiveArch: %{rust_arches}
@ -72,6 +77,8 @@ BuildRequires: openssl-devel
BuildRequires: libarchive-devel
BuildRequires: tpm2-tss-devel
%if 0%{?bundled_rust_deps}
BuildRequires: clang
BuildRequires: pkgconfig(libzmq) >= 4.1
BuildRequires: rust-toolset
%else
BuildRequires: rust-packaging >= 21-2
@ -85,11 +92,13 @@ Conflicts: keylime-agent
Rust agent for Keylime
%prep
%autosetup -n rust-keylime-%{version} -p1
%autosetup -n rust-keylime-%{version} -N
%if 0%{?bundled_rust_deps}
%autopatch -m 100 -p1
# Source1 is vendored dependencies
%cargo_prep -V 1
%else
%autopatch -M 99 -p1
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires

View File

@ -0,0 +1,11 @@
--- a/Cargo.toml 2022-11-01 11:14:11.349498931 +0100
+++ b/Cargo.toml 2022-11-01 14:22:01.934115151 +0100
@@ -42,7 +42,7 @@
tempfile = "3.0.4"
tokio = {version = "1.13.1", features = ["full"]}
toml = "0.5"
-tss-esapi = "7.1.0"
+tss-esapi = {version = "7.1.0", features = ["generate-bindings"]}
thiserror = "1.0"
uuid = {version = "0.8", features = ["v4"]}
zmq = {version = "0.9.2", optional = true}

View File

@ -1,2 +1,2 @@
SHA512 (v0.1.0.tar.gz) = 204e5cdf0901d237ed22f5265ce8c9f4c13d7d8ad4c1b64419a469213d88e584f0555f6edfbf7aa9346d2e3a86d8f7f0a0d5056a3e0ab0dfe5d170f8910fc7cf
SHA512 (rust-keylime-0.1.0-vendor.tar.xz) = e19fccc9e0f05a9dbcc2e2bae509724b5457031765527222497d5e301b096e9a606827a4ecadff56ec6bb2c122c8c643ef310717c3a4b84c578ad219dd36cd57
SHA512 (rust-keylime-0.1.0-vendor.tar.xz) = 469726ac4176e8bab93620293402422fe8da794773fcdbff722a5e4ef7a7377008996b002e2a260012052aa59c127de94572e8d11b25d5daa46052c5a74d9ec3