diff --git a/.gitignore b/.gitignore index ed392cd..67f3c98 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /snpguest-0.8.3.tar.gz /snpguest-0.8.3-vendor.tar.gz +/snpguest-0.8.0.tar.gz +/snpguest-0.8.0-vendor-FEDORA.tar.gz diff --git a/create_vendor_source.sh b/create_vendor_source.sh new file mode 100644 index 0000000..e277d80 --- /dev/null +++ b/create_vendor_source.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# fail upon error +set -e + +# Run on Fedora +# make sure all dependencies are yum installed + +# cd + +# create a .cargo/config.toml +if [ ! -f .cargo/config.toml ]; then + rpm -E '%{cargo_prep}' > cargo_prep.sh + bash cargo_prep.sh +fi + +# run cargo vendor-filtered --offline +cargo vendor-filterer --respect-source-config --offline --platform x86_64-unknown-linux-gnu --keep-dep-kinds all --all-features --exclude-crate-path "idna#tests" --exclude-crate-path "idna-0.4.0#tests" + +# run tar +tar -czf snpguest-0.8.0-vendor-FEDORA.tar.gz vendor/ + +echo snpguest-0.8.0-vendor-FEDORA.tar.gz created diff --git a/snpguest-remove-openssl-vendored-dependency.diff b/remove-openssl-vendored-dependency.diff similarity index 63% rename from snpguest-remove-openssl-vendored-dependency.diff rename to remove-openssl-vendored-dependency.diff index 699f534..4512db3 100644 --- a/snpguest-remove-openssl-vendored-dependency.diff +++ b/remove-openssl-vendored-dependency.diff @@ -1,8 +1,8 @@ diff --git a/Cargo.toml b/Cargo.toml -index 8fef511..e597777 100644 +index 3b554d2..cb20eb5 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -26,7 +26,7 @@ sev = { version = "5.0.0", default-features = false, features = ['openssl','snp' +@@ -26,7 +26,7 @@ sev = { version = "4.0", default-features = false, features = ['openssl','snp']} nix = "^0.23" serde = { version = "1.0", features = ["derive"] } bincode = "^1.2.1" @@ -10,4 +10,4 @@ index 8fef511..e597777 100644 +openssl = { version = "^0.10" } reqwest = { version="0.11.10", features = ["blocking"] } hex = "0.4" - x509-parser = { version="0.16.0", features=["verify"] } + x509-parser = { version="^0.14", features=["verify"] } diff --git a/snpguest.spec b/snpguest.spec index 57405dc..db69d0f 100644 --- a/snpguest.spec +++ b/snpguest.spec @@ -1,7 +1,7 @@ # Generated by rust2rpm 27 %bcond check 1 -%global version 0.8.3 +%global version 0.8.0 %global crate snpguest Name: snpguest @@ -10,9 +10,18 @@ Release: 1%{?dist} Summary: A CLI tool for interacting with SEV-SNP guest environment URL: https://github.com/virtee/%{crate} -Source: https://github.com/virtee/%{crate}/archive/refs/tags/%{crate}-%{version}.tar.gz -Source1: https://github.com/virtee/%{crate}/releases/download/v%{version}/%{crate}-%{version}-vendor.tar.gz -Patch: snpguest-remove-openssl-vendored-dependency.diff +Source: https://github.com/virtee/%{crate}/archive/refs/tags/snpguest-%{version}.tar.gz + +# Creating vendor tar (on latest Fedora under a snpguest dir): +# dnf install +# Edit create_vendor_source.sh to reflect proper version number being updated. +# bash create_vendor_source.sh +# mv snpguest-{VERSION}-vendor.tar.xz ../vendor/ +Source1: vendor/snpguest-%{version}-vendor-FEDORA.tar.gz + +# To build vendored dependencies on Fedora, update the env_logger dependency to match Fedora's present version. +Patch1: remove-openssl-vendored-dependency.diff +Patch2: use-vendored-fedora-deps.diff # snpguest is a tool using features specific to AMD EPYC processors (x86_64). ExclusiveArch: x86_64 @@ -44,7 +53,7 @@ Administrative utility for AMD SEV-SNP.} %prep %autosetup -n %{crate}-%{version} -p1 -a1 -rm -rf Cargo.lock +rm -f Cargo.lock %cargo_prep -v vendor %build @@ -61,6 +70,12 @@ rm -rf Cargo.lock %endif %changelog +* Wed Feb 19 2025 Tyler Fanelli - 0.8.0-1 +- Deprecate version to 0.8.0 for Fedora dependency building +- Update dependencies for vendoring with Fedora +- Use cargo vendor-filterer to create vendor Source1 +- Resolves: RHEL-68132 + * Wed Feb 12 2025 Tyler Fanelli - 0.8.3-1 - Initial commit on c10s Resolves: RHELPLAN-171498 diff --git a/sources b/sources index 974fde6..35ab4f4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (snpguest-0.8.3.tar.gz) = 1c3535000d82013dec3edb338306b5aca62fda38f9d12e7e0b540a82ef5a23699bcf0b14c72f695c0ce785418c2889fe820b8f036fbbcadebecbc80beb8e2d5e -SHA512 (snpguest-0.8.3-vendor.tar.gz) = ada1cd1b4185bb2e40030834a696593fbc0b3204f84ec53333c62573ea272695b53da6b158d7d859d38766e2755a846bf0c357b12ada9437743af326854c126f +SHA512 (snpguest-0.8.0.tar.gz) = eeb09e67d200c96f7a8f68301016f999876080f99bd56d8d1d9454e7a5cdc048c9b81440eb057cc30c2278af98a847ddab4d0450b23ee7a1a6812ff6b59c7af9 +SHA512 (snpguest-0.8.0-vendor-FEDORA.tar.gz) = 86b1228e23ac0e0078b251d5b6cc789a573f6a0392371c86e5c59b20b016f2db63394777b9b85bc65676d9a662de4dd79b140d27a58e2bd6dae21a296547360e diff --git a/use-vendored-fedora-deps.diff b/use-vendored-fedora-deps.diff new file mode 100644 index 0000000..7aaaf9e --- /dev/null +++ b/use-vendored-fedora-deps.diff @@ -0,0 +1,33 @@ +diff --git a/Cargo.toml b/Cargo.toml +index cb20eb5..9c5fae2 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -20,21 +20,21 @@ hyperv = ["tss-esapi"] + + [dependencies] + clap = { version = "4.5", features = [ "derive" ] } +-env_logger = "0.10.0" ++env_logger = "0.11.6" + anyhow = "1.0.69" + sev = { version = "4.0", default-features = false, features = ['openssl','snp']} +-nix = "^0.23" ++nix = "0.29" + serde = { version = "1.0", features = ["derive"] } + bincode = "^1.2.1" + openssl = { version = "^0.10" } +-reqwest = { version="0.11.10", features = ["blocking"] } ++reqwest = { version="0.12.12", features = ["blocking"] } + hex = "0.4" +-x509-parser = { version="^0.14", features=["verify"] } +-asn1-rs = "0.5.2" +-rand = "0.8.5" ++x509-parser = { version="0.16", features=["verify"] } ++asn1-rs = "0.6.2" ++rand = "0.9.0" + tss-esapi = { version = "7.2", optional=true } + msru = "0.2.0" + colorful = "0.2.2" +-bitfield = "0.13.2" ++bitfield = "0.15.0" + clap-num = "1.1.1" + base64 = "0.22.1" diff --git a/vendor/snpguest-0.8.0-vendor-FEDORA.tar.gz b/vendor/snpguest-0.8.0-vendor-FEDORA.tar.gz new file mode 100644 index 0000000..175e45d Binary files /dev/null and b/vendor/snpguest-0.8.0-vendor-FEDORA.tar.gz differ