Refine handling of partially set-up pools

Also convert tests to tmt format, and patch the vendor tarfile to
remove a pre-compiled procedural macro from upstream serde_derive.

Resolves: rhbz#2223409

Signed-off-by: Bryan Gurney <bgurney@redhat.com>
This commit is contained in:
Bryan Gurney 2023-07-31 14:39:59 -04:00
parent 8b07cd1bd1
commit 90f8b78700
8 changed files with 117 additions and 36 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

3
.gitignore vendored
View File

@ -52,3 +52,6 @@
/stratisd-3.5.7.tar.gz
/stratisd-3.5.7-vendor.tar.gz
/stratisd-3.5.7.crate
/stratisd-3.5.8.tar.gz
/stratisd-3.5.8-vendor.tar.gz
/stratisd-3.5.8.crate

22
plans/unit.fmf Normal file
View File

@ -0,0 +1,22 @@
summary: stratisd unit tests
prepare:
- name: Install packages
how: install
package:
- stratisd
- stratisd-tools
- util-linux
- python3-psutil
- python3-dbus
discover:
how: shell
url: https://github.com/stratis-storage/testing.git
ref: v3.5.2
tests:
- name: unit
test: python3 stratisd_cert.py -v
execute:
how: tmt

View File

@ -1,3 +1,3 @@
SHA512 (stratisd-3.5.7.tar.gz) = 8d353928b73cd3b0b4d0576b849f7249a07905b51051602c4f1e653ae20257921380e5c96c4256dfbd3a13f2fb8430bd40092bedba03a3643e56eced58d21a12
SHA512 (stratisd-3.5.7-vendor.tar.gz) = 0a62b64582455e462b4aa81d5ddd9f24d9e9b2abc3999ab03d2e5201213567e190826b3cd3e621d86643ef3619b3a21ad01cfc6cad105e4897dacb0b45e4895a
SHA512 (stratisd-3.5.7.crate) = 101754600d5c3d84393ad5665e623f6a1d204f510d6694292a62dfb6af634ed21bac2bc2754592fcf2f247173744afa6dbbc75963825551274881697f7eaf294
SHA512 (stratisd-3.5.8.tar.gz) = c5cf64f2261b7315149abe1d49d997adfce586295998be364f01f4046e400edb404db49f6b60d3acadb377b8df085a3b565365e910aca7c04c2e12943a72846b
SHA512 (stratisd-3.5.8-vendor.tar.gz) = 90d953d88dd03a84739e9ea2b776a34aa1ae451c08db76186c799e50b85345c16daaa66c323260ce99665f8023c99d1f56c1d35ee65e98dcbe393d4a5457c466
SHA512 (stratisd-3.5.8.crate) = 12e54377861a212f3bc745c0596e6f3381ef1b34f70392d9acc8c040c8d22ec0eeb1933df80dc344962e9fabcb2e3c56ab7e318dfe679254665629fc739f0cc4

View File

@ -4,16 +4,17 @@
%global dracutdir %(pkg-config --variable=dracutdir dracut)
Name: stratisd
Version: 3.5.7
Version: 3.5.8
Release: 1%{?dist}
Summary: Daemon that manages block devices to create filesystems
License: MPL-2.0
URL: https://github.com/stratis-storage/stratisd
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: %{url}/releases/download/v%{version}/%{name}-%{version}-vendor.tar.gz
Source0: %{url}/archive/stratisd-v%{version}/%{name}-%{version}.tar.gz
Source1: %{url}/releases/download/stratisd-v%{version}/%{name}-%{version}-vendor.tar.gz
Source2: %{crates_source}
Patch0: vendor-serde_derive.patch
ExclusiveArch: %{rust_arches}
%if 0%{?rhel}
@ -84,12 +85,38 @@ Requires: stratisd
%{summary}.
%prep
# Rename SOURCE0's top-level directory because it starts with
# stratisd-stratisd-v. GitHub calculates the directory name from the repo name
# + the tag. Extract the upstream crate on top of the extracted GitHub release,
# overwriting changed files. The primary purpose of this step is to ensure that
# the Cargo.toml that is used in building is the one that is generated by
# cargo-publish and cargo-package, not the file with path dependencies that
# GitHub packs up. Tar the overwritten files back up again into a tar file
# with the format and top-level directory that %setup expects cleaning up the
# previously extracted directory and its contents at the same time. Move the
# newly created tar file to the SOURCE0 location.
tar --transform="s/^stratisd\-stratisd-v/stratisd-/" --extract --file %{SOURCE0}
tar --extract --overwrite --file %{SOURCE2}
tar --create --gzip --file %{SOURCE0}.newfile ./stratisd-%{version} --remove-files
mv %{SOURCE0}.newfile %{SOURCE0}
%setup -q
tar --strip-components=1 --extract --verbose --file %{SOURCE2}
# Patches must be applied after the upstream package is extracted.
%if 0%{?rhel}
# Source1 is vendored dependencies
# Untar the vendor tarfile.
tar --extract --file %{SOURCE1}
# Remove pre-compiled procedural macro, compile from source
rm ./vendor/serde_derive/serde_derive-x86_64-unknown-linux-gnu
%patch0 -p1
# Rezip the tarfile
tar --create --gzip --file %{SOURCE1}.newfile ./vendor --remove-files
mv %{SOURCE1}.newfile %{SOURCE1}
%cargo_prep -V 1
%else
%cargo_prep
%generate_buildrequires
@ -180,6 +207,10 @@ a2x -f manpage docs/stratis-dumpmetadata.txt
%{_mandir}/man8/stratis-dumpmetadata.8*
%changelog
* Mon Jul 31 2023 Bryan Gurney <bgurney@redhat.com> - 3.5.8-1
- Refine handling of partially-set-up pools
- Resolves: rhbz#2223409
* Thu Jun 08 2023 Bryan Gurney <bgurney@redhat.com> - 3.5.7-1
- Increase libcryptsetup-rs dependency lower bound to 0.8.0
- Resolves: rhbz#2213277

View File

@ -1,9 +0,0 @@
---
standard-inventory-qcow2:
qemu:
m: 10G
drive:
- size: 10737418240
- size: 10737418240
- size: 10737418240

View File

@ -1,18 +0,0 @@
---
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
tests:
- simple:
dir: ./testing/
run: >
python3 stratisd_cert.py -v
required_packages:
- util-linux
- python3-psutil
repositories:
- repo: "https://github.com/stratis-storage/testing.git"
dest: "testing"
version: "v3.5.2"

51
vendor-serde_derive.patch Normal file
View File

@ -0,0 +1,51 @@
diff -r -u a/vendor/serde_derive/.cargo-checksum.json b/vendor/serde_derive/.cargo-checksum.json
--- a/vendor/serde_derive/.cargo-checksum.json 2023-07-28 17:29:31.882146916 -0400
+++ b/vendor/serde_derive/.cargo-checksum.json 2023-07-28 17:29:18.104951995 -0400
@@ -1 +1 @@
-{"files":{"Cargo.toml":"341a4425e672c1fc4571d37a0dddb54b35b4bdcf38c550af47c3c1f16426564b","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","serde_derive-x86_64-unknown-linux-gnu":"352a33dfb4b10e7beabef977b83fdd697e4443f27e03a6aceff8c3738edc30d5","src/bound.rs":"fee590a67ca956d7a2fca50a2dc069e71d27fa9adacde98670a88245a8841cf6","src/buffer.rs":"b2bbe4058cd60c2ccbbe5087516224d2975a38dbf9fb52c25f23c1b96c9f1ea7","src/bytecode.rs":"4b092d9d88e11dd544c14decb64ab50a1725f0f792adf6b69aeebaabc2919097","src/de.rs":"1ebe3d3fabd86bdfe15e7aed02d7ecd183353c276ce8e6302264740191965c74","src/dummy.rs":"1b7de5bfe1158ea7e70d668d4f76fdccf7f63144ac7869e82e8bf1e7ea0db13c","src/fragment.rs":"5548ba65a53d90a296f60c1328a7a7fb040db467f59c2f5210b2fb320457145d","src/internals/ast.rs":"07dfd9a789cd6268c2cff2889e738193d24e68c93873792a0548d5e6b3c94ca4","src/internals/attr.rs":"55b59fb42ac041ec44c34dfa58e2c11d37783fa4f5200fbd8520fe28d798eff7","src/internals/case.rs":"9492f0c5142d7b7e8cd39c86d13a855e5ce4489425adb2b96aed89e1b7851ac0","src/internals/check.rs":"41f4725b20919b8828850529d8d395dbb55f54ca4069a9cd0bf37109e9b93172","src/internals/ctxt.rs":"c403db8260a533e58af06e8d0a2bb962edb13a250424ab1f1fd2719902affc37","src/internals/mod.rs":"f32138ff19d57eb00f88ba11f6b015efab2102657804f71ebbf386a3698dad91","src/internals/receiver.rs":"6b016351b8294539039095863d8c99e81dd4530d7f769003d12d4ca73cca172c","src/internals/respan.rs":"899753859c58ce5f532a3ec4584796a52f13ed5a0533191e48c953ba5c1b52ff","src/internals/symbol.rs":"2bf0287da64d28da7e8673af60f66aaf6b29efe33131e56b24d6fa55edb533ad","src/lib.rs":"8fa0a5bbcc1126f29d5b5e69459c1510e47c607342a000d833ec382afb7848ea","src/lib_from_source.rs":"72960c007813da84dbcc2d98398e3bfb6c0617c29ffe456cf184c2a556d2e6e4","src/lib_precompiled.rs":"68cd898c82ecca3770fcda43c6514b967222e75ba2d4d618ad3925e34181ef21","src/pretend.rs":"0e570faf787015535ea6b6683ebc271633c1ca945d3ee1d072c497a1a920c380","src/ser.rs":"e435dc7ef8ee9dca02913f43b4162d22c664061510089745b6278a63df7d30fe","src/this.rs":"a2c128955324c2994ed7cdc3fe4eeceb7ad8a0f9d071665a8378c85c8df64ce2","src/try.rs":"b171b0088c23ebf4bfa07ba457881b41ac5e547d55dd16f737ea988d34badf61"},"package":"b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"}
\ No newline at end of file
+{"files":{"Cargo.toml":"77728000015e4d5b8932e7683214d185fa8af037032eaf98e17a45fbaf0964ed","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","src/bound.rs":"fee590a67ca956d7a2fca50a2dc069e71d27fa9adacde98670a88245a8841cf6","src/buffer.rs":"b2bbe4058cd60c2ccbbe5087516224d2975a38dbf9fb52c25f23c1b96c9f1ea7","src/bytecode.rs":"4b092d9d88e11dd544c14decb64ab50a1725f0f792adf6b69aeebaabc2919097","src/de.rs":"1ebe3d3fabd86bdfe15e7aed02d7ecd183353c276ce8e6302264740191965c74","src/dummy.rs":"1b7de5bfe1158ea7e70d668d4f76fdccf7f63144ac7869e82e8bf1e7ea0db13c","src/fragment.rs":"5548ba65a53d90a296f60c1328a7a7fb040db467f59c2f5210b2fb320457145d","src/internals/ast.rs":"07dfd9a789cd6268c2cff2889e738193d24e68c93873792a0548d5e6b3c94ca4","src/internals/attr.rs":"55b59fb42ac041ec44c34dfa58e2c11d37783fa4f5200fbd8520fe28d798eff7","src/internals/case.rs":"9492f0c5142d7b7e8cd39c86d13a855e5ce4489425adb2b96aed89e1b7851ac0","src/internals/check.rs":"41f4725b20919b8828850529d8d395dbb55f54ca4069a9cd0bf37109e9b93172","src/internals/ctxt.rs":"c403db8260a533e58af06e8d0a2bb962edb13a250424ab1f1fd2719902affc37","src/internals/mod.rs":"f32138ff19d57eb00f88ba11f6b015efab2102657804f71ebbf386a3698dad91","src/internals/receiver.rs":"6b016351b8294539039095863d8c99e81dd4530d7f769003d12d4ca73cca172c","src/internals/respan.rs":"899753859c58ce5f532a3ec4584796a52f13ed5a0533191e48c953ba5c1b52ff","src/internals/symbol.rs":"2bf0287da64d28da7e8673af60f66aaf6b29efe33131e56b24d6fa55edb533ad","src/lib.rs":"cb97725dce0245fc369a81c9328960225324b489792693a3830aa174f3c977f4","src/lib_from_source.rs":"72960c007813da84dbcc2d98398e3bfb6c0617c29ffe456cf184c2a556d2e6e4","src/lib_precompiled.rs":"68cd898c82ecca3770fcda43c6514b967222e75ba2d4d618ad3925e34181ef21","src/pretend.rs":"0e570faf787015535ea6b6683ebc271633c1ca945d3ee1d072c497a1a920c380","src/ser.rs":"e435dc7ef8ee9dca02913f43b4162d22c664061510089745b6278a63df7d30fe","src/this.rs":"a2c128955324c2994ed7cdc3fe4eeceb7ad8a0f9d071665a8378c85c8df64ce2","src/try.rs":"b171b0088c23ebf4bfa07ba457881b41ac5e547d55dd16f737ea988d34badf61"},"package":"b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"}
diff -r -u a/vendor/serde_derive/Cargo.toml b/vendor/serde_derive/Cargo.toml
--- a/vendor/serde_derive/Cargo.toml 2023-07-28 17:29:31.882146916 -0400
+++ b/vendor/serde_derive/Cargo.toml 2023-07-28 17:29:18.104951995 -0400
@@ -45,18 +45,18 @@
[lib]
proc-macro = true
-[dev-dependencies.serde]
+[dependencies.proc-macro2]
version = "1"
-[features]
-default = []
-deserialize_in_place = []
-
-[target."cfg(not(all(target_arch = \"x86_64\", target_os = \"linux\", target_env = \"gnu\")))".dependencies.proc-macro2]
+[dependencies.quote]
version = "1"
-[target."cfg(not(all(target_arch = \"x86_64\", target_os = \"linux\", target_env = \"gnu\")))".dependencies.quote]
+[dependencies.syn]
+version = "2.0.25"
+
+[dev-dependencies.serde]
version = "1"
-[target."cfg(not(all(target_arch = \"x86_64\", target_os = \"linux\", target_env = \"gnu\")))".dependencies.syn]
-version = "2.0.25"
+[features]
+default = []
+deserialize_in_place = []
Only in a/vendor/serde_derive: serde_derive-x86_64-unknown-linux-gnu
diff -r -u a/vendor/serde_derive/src/lib.rs b/vendor/serde_derive/src/lib.rs
--- a/vendor/serde_derive/src/lib.rs 2023-07-28 17:29:31.882146916 -0400
+++ b/vendor/serde_derive/src/lib.rs 2023-07-28 17:29:18.104951995 -0400
@@ -18,8 +18,4 @@
extern crate proc_macro;
-#[cfg(not(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu")))]
include!("lib_from_source.rs");
-
-#[cfg(all(target_arch = "x86_64", target_os = "linux", target_env = "gnu"))]
-include!("lib_precompiled.rs");