From b24d95efc808e7763273f15961e759e1528187c7 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Thu, 20 Jul 2023 12:48:47 -0400 Subject: [PATCH] Use vendored dependencies in RHEL builds RHEL does not package individual Rust dependencies. --- .gitignore | 1 + libblkio.spec | 14 ++++++++++++++ sources | 1 + 3 files changed, 16 insertions(+) diff --git a/.gitignore b/.gitignore index 77a3bc8..07d495a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /libblkio-v1.2.2.tar.bz2 /libblkio-v1.3.0.tar.bz2 +/libblkio-v1.3.0-vendor.tar.xz diff --git a/libblkio.spec b/libblkio.spec index 67a2d4b..19398d6 100644 --- a/libblkio.spec +++ b/libblkio.spec @@ -8,15 +8,23 @@ Name: libblkio Release: 1%{?dist} URL: %{forgeurl} Source0: %{forgesource} +# To create the vendor tarball: +# tar xf %%{name}-v%%{version}.tar.bz2 ; pushd %%{name}-v%%{version} ; \ +# cargo vendor && tar Jcvf ../%%{name}-v%%{version}-vendor.tar.xz vendor/ ; popd +Source1: %{name}-v%{version}-vendor.tar.xz License: (Apache-2.0 OR MIT) AND (Apache-2.0 OR BSD-3-Clause) AND MIT AND BSD-3-Clause AND Unicode-DFS-2016 # Basic build requirements. BuildRequires: gcc, gcc-c++ BuildRequires: make BuildRequires: meson +%if 0%{?rhel} +BuildRequires: rust-toolset +%else BuildRequires: rust-packaging >= 21 BuildRequires: rustfmt BuildRequires: cargo +%endif BuildRequires: python3-docutils BuildRequires: pkgconf @@ -29,6 +37,7 @@ BuildRequires: pkgconf # # For major version >= 0, we are requiring that the minor version does # not change. +%if ! 0%{?rhel} BuildRequires: (crate(autocfg/default) >= 1.0.0 with crate(autocfg/default) < 2.0.0~) BuildRequires: (crate(bitflags/default) >= 1.2.0 with crate(bitflags/default) < 2.0.0~) BuildRequires: (crate(cc/default) >= 1.0.0 with crate(cc/default) < 2.0.0~) @@ -46,6 +55,7 @@ BuildRequires: (crate(rustix/default) >= 0.36.10 with crate(rustix/default) < 0. BuildRequires: (crate(syn/default) >= 1.0.0 with crate(syn/default) < 2.0.0~) BuildRequires: (crate(unicode-ident/default) >= 1.0.0 with crate(unicode-ident/default) < 2.0.0~) BuildRequires: (crate(virtio-bindings/default) >= 0.2.0 with crate(virtio-bindings/default) < 0.3.0~) +%endif %description @@ -66,7 +76,11 @@ This package contains development tools for %{name}. %prep %forgeautosetup -p1 +%if 0%{?rhel} +%cargo_prep -V 1 +%else %cargo_prep +%endif sed -e 's/--locked//' -i src/cargo-build.sh diff --git a/sources b/sources index 00cac6b..af116dc 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (libblkio-v1.3.0.tar.bz2) = 801757326e8ffdcecf70063d4fd72f40002280ca7b3286a953f384c91af4046d7326887e15608e3d30a0143b9a8cb2b61530bfb7cc581b29d55883f1c96e027a +SHA512 (libblkio-v1.3.0-vendor.tar.xz) = 3f8454e7851c261be3e0e2b3294cbc5894a8453fec4cc870538f78309507abf069269b59c63eb954322e3950397c62342403d264cd82b1a2501cbf384d0a5607