Compare commits

...

2 Commits

Author SHA1 Message Date
Bryan Gurney 92f8be84ff Update to version 3.6.1 2023-11-09 05:13:22 +00:00
Bryan Gurney 90f8b78700 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>
2023-07-31 15:17:36 -04:00
8 changed files with 212 additions and 38 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

6
.gitignore vendored
View File

@ -52,3 +52,9 @@
/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
/stratisd-3.6.1.tar.gz
/stratisd-3.6.1-vendor.tar.gz
/stratisd-3.6.1.crate

3
.stratisd.metadata Normal file
View File

@ -0,0 +1,3 @@
647b03e6a90cb42d48e0ab5b33b4d0bf32e6d300 stratisd-3.6.1.tar.gz
f847addc23dca6967190c8516b2215082480c57f stratisd-3.6.1-vendor.tar.gz
412ff846f8ecb5ab8126d887ffbc05fbfed5f585 stratisd-3.6.1.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.6.0
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.6.1.tar.gz) = 28ae849514c1ecdf7fd608996169db80c1f88393e4f245ae77229cd1517668769eaeda1f143002f3d05174422fa9b453adba122b97775cf129464bcec02fea0e
SHA512 (stratisd-3.6.1-vendor.tar.gz) = 1afeb17f2f9ed1149bcd918126861ce85390744fb6a632477df7ef57695b9abf94b46b256dcc1e36a8ac4bdfd65c4b049214810de4ca23575dd2cdfb8940ce33
SHA512 (stratisd-3.6.1.crate) = 6bcf0335ae83cc7f9fd00bccd48b015982505f32eb4823d53aa0e020e76d31fe0afdfd16da7811bcd0d6ca2d65487e28eb6a94304eb59f3cc237b797c7f2d559

View File

@ -4,14 +4,14 @@
%global dracutdir %(pkg-config --variable=dracutdir dracut)
Name: stratisd
Version: 3.5.7
Version: 3.6.1
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}
@ -52,6 +52,153 @@ Requires: libblkid
# that it uses to have been built in an environment with cryptsetup >= 2.6.0.
Recommends: clevis-luks >= 18
Provides: bundled(crate(aho-corasick)) = 1.0.2
Provides: bundled(crate(anstream)) = 0.3.2
Provides: bundled(crate(anstyle)) = 1.0.1
Provides: bundled(crate(anstyle-parse)) = 0.2.1
Provides: bundled(crate(anstyle-query)) = 1.0.0
Provides: bundled(crate(assert_cmd)) = 2.0.11
Provides: bundled(crate(assert_matches)) = 1.5.0
Provides: bundled(crate(async-trait)) = 0.1.68
Provides: bundled(crate(autocfg)) = 1.1.0
Provides: bundled(crate(bindgen)) = 0.59.2
Provides: bundled(crate(bit-set)) = 0.5.3
Provides: bundled(crate(bit-vec)) = 0.6.3
Provides: bundled(crate(bitflags)) = 2.4.0
Provides: bundled(crate(bitflags)) = 1.3.2
Provides: bundled(crate(block-buffer)) = 0.10.4
Provides: bundled(crate(bstr)) = 1.5.0
Provides: bundled(crate(byteorder)) = 1.4.3
Provides: bundled(crate(cc)) = 1.0.79
Provides: bundled(crate(cexpr)) = 0.6.0
Provides: bundled(crate(cfg-if)) = 1.0.0
Provides: bundled(crate(cfg-if)) = 0.1.10
Provides: bundled(crate(chrono)) = 0.4.26
Provides: bundled(crate(clang-sys)) = 1.6.1
Provides: bundled(crate(clap)) = 4.3.5
Provides: bundled(crate(clap_builder)) = 4.3.5
Provides: bundled(crate(clap_lex)) = 0.5.0
Provides: bundled(crate(colorchoice)) = 1.0.0
Provides: bundled(crate(cpufeatures)) = 0.2.8
Provides: bundled(crate(crc)) = 3.0.1
Provides: bundled(crate(crc-catalog)) = 2.2.0
Provides: bundled(crate(crypto-common)) = 0.1.6
Provides: bundled(crate(data-encoding)) = 2.4.0
Provides: bundled(crate(dbus)) = 0.9.7
Provides: bundled(crate(dbus-tree)) = 0.9.2
Provides: bundled(crate(devicemapper)) = 0.34.0
Provides: bundled(crate(devicemapper-sys)) = 0.2.0
Provides: bundled(crate(difflib)) = 0.4.0
Provides: bundled(crate(digest)) = 0.10.7
Provides: bundled(crate(doc-comment)) = 0.3.3
Provides: bundled(crate(either)) = 1.8.1
Provides: bundled(crate(env_logger)) = 0.10.0
Provides: bundled(crate(errno)) = 0.3.1
Provides: bundled(crate(errno)) = 0.2.8
Provides: bundled(crate(fastrand)) = 1.9.0
Provides: bundled(crate(float-cmp)) = 0.9.0
Provides: bundled(crate(futures)) = 0.3.28
Provides: bundled(crate(futures-channel)) = 0.3.28
Provides: bundled(crate(futures-core)) = 0.3.28
Provides: bundled(crate(futures-executor)) = 0.3.28
Provides: bundled(crate(futures-io)) = 0.3.28
Provides: bundled(crate(futures-macro)) = 0.3.28
Provides: bundled(crate(futures-sink)) = 0.3.28
Provides: bundled(crate(futures-task)) = 0.3.28
Provides: bundled(crate(futures-util)) = 0.3.28
Provides: bundled(crate(generic-array)) = 0.14.7
Provides: bundled(crate(getrandom)) = 0.2.10
Provides: bundled(crate(glob)) = 0.3.1
Provides: bundled(crate(humantime)) = 2.1.0
Provides: bundled(crate(iana-time-zone)) = 0.1.57
Provides: bundled(crate(io-lifetimes)) = 1.0.11
Provides: bundled(crate(iocuddle)) = 0.1.1
Provides: bundled(crate(is-terminal)) = 0.4.7
Provides: bundled(crate(itertools)) = 0.11.0
Provides: bundled(crate(itertools)) = 0.10.5
Provides: bundled(crate(itoa)) = 1.0.6
Provides: bundled(crate(lazy_static)) = 1.4.0
Provides: bundled(crate(lazycell)) = 1.3.0
Provides: bundled(crate(libblkid-rs)) = 0.3.1
Provides: bundled(crate(libblkid-rs-sys)) = 0.2.0
Provides: bundled(crate(libc)) = 0.2.149
Provides: bundled(crate(libcryptsetup-rs)) = 0.9.1
Provides: bundled(crate(libcryptsetup-rs-sys)) = 0.3.0
Provides: bundled(crate(libdbus-sys)) = 0.2.5
Provides: bundled(crate(libloading)) = 0.7.4
Provides: bundled(crate(libm)) = 0.2.7
Provides: bundled(crate(libmount)) = 0.1.15
Provides: bundled(crate(libudev)) = 0.3.0
Provides: bundled(crate(libudev-sys)) = 0.1.4
Provides: bundled(crate(linux-raw-sys)) = 0.3.8
Provides: bundled(crate(log)) = 0.4.19
Provides: bundled(crate(loopdev)) = 0.4.0
Provides: bundled(crate(memchr)) = 2.5.0
Provides: bundled(crate(memoffset)) = 0.7.1
Provides: bundled(crate(minimal-lexical)) = 0.2.1
Provides: bundled(crate(mio)) = 0.8.8
Provides: bundled(crate(nix)) = 0.26.2
Provides: bundled(crate(nix)) = 0.14.1
Provides: bundled(crate(nom)) = 7.1.3
Provides: bundled(crate(normalize-line-endings)) = 0.3.0
Provides: bundled(crate(num-traits)) = 0.2.15
Provides: bundled(crate(num_cpus)) = 1.15.0
Provides: bundled(crate(once_cell)) = 1.18.0
Provides: bundled(crate(peeking_take_while)) = 0.1.2
Provides: bundled(crate(pin-project-lite)) = 0.2.9
Provides: bundled(crate(pin-utils)) = 0.1.0
Provides: bundled(crate(pkg-config)) = 0.3.27
Provides: bundled(crate(ppv-lite86)) = 0.2.17
Provides: bundled(crate(predicates)) = 3.0.3
Provides: bundled(crate(predicates-core)) = 1.0.6
Provides: bundled(crate(predicates-tree)) = 1.0.9
Provides: bundled(crate(pretty-hex)) = 0.3.0
Provides: bundled(crate(proc-macro2)) = 1.0.66
Provides: bundled(crate(proptest)) = 1.2.0
Provides: bundled(crate(quick-error)) = 1.2.3
Provides: bundled(crate(quote)) = 1.0.28
Provides: bundled(crate(rand)) = 0.8.5
Provides: bundled(crate(rand_chacha)) = 0.3.1
Provides: bundled(crate(rand_core)) = 0.6.4
Provides: bundled(crate(rand_xorshift)) = 0.3.0
Provides: bundled(crate(regex)) = 1.8.4
Provides: bundled(crate(regex-automata)) = 0.1.10
Provides: bundled(crate(regex-syntax)) = 0.7.2
Provides: bundled(crate(regex-syntax)) = 0.6.29
Provides: bundled(crate(retry)) = 1.3.1
Provides: bundled(crate(rustc-hash)) = 1.1.0
Provides: bundled(crate(rustix)) = 0.37.25
Provides: bundled(crate(rusty-fork)) = 0.3.0
Provides: bundled(crate(ryu)) = 1.0.13
Provides: bundled(crate(semver)) = 1.0.17
Provides: bundled(crate(serde)) = 1.0.188
Provides: bundled(crate(serde_derive)) = 1.0.188
Provides: bundled(crate(serde_json)) = 1.0.97
Provides: bundled(crate(sha2)) = 0.10.7
Provides: bundled(crate(shlex)) = 1.1.0
Provides: bundled(crate(signal-hook-registry)) = 1.4.1
Provides: bundled(crate(slab)) = 0.4.8
Provides: bundled(crate(socket2)) = 0.4.9
Provides: bundled(crate(static_assertions)) = 1.1.0
Provides: bundled(crate(stratisd_proc_macros)) = 0.2.1
Provides: bundled(crate(strsim)) = 0.10.0
Provides: bundled(crate(syn)) = 2.0.29
Provides: bundled(crate(syn)) = 1.0.109
Provides: bundled(crate(tempfile)) = 3.6.0
Provides: bundled(crate(termcolor)) = 1.2.0
Provides: bundled(crate(termios)) = 0.3.3
Provides: bundled(crate(termtree)) = 0.4.1
Provides: bundled(crate(tokio)) = 1.28.2
Provides: bundled(crate(tokio-macros)) = 2.1.0
Provides: bundled(crate(typenum)) = 1.16.0
Provides: bundled(crate(unarray)) = 0.1.4
Provides: bundled(crate(unicode-ident)) = 1.0.9
Provides: bundled(crate(utf8parse)) = 0.2.1
Provides: bundled(crate(uuid)) = 1.3.4
Provides: bundled(crate(version_check)) = 0.9.4
Provides: bundled(crate(void)) = 1.0.2
Provides: bundled(crate(wait-timeout)) = 0.2.0
%description
%{summary}.
@ -65,7 +212,7 @@ ExcludeArch: i686
Requires: stratisd
Requires: dracut >= 051
Requires: plymouth
Requires: systemd
%description dracut
%{summary}.
@ -84,11 +231,24 @@ 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 --directory=./stratisd-%{version} --strip-components=1 --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
%cargo_prep -V 1
%else
%cargo_prep
@ -104,7 +264,6 @@ tar --strip-components=1 --extract --verbose --file %{SOURCE2}
%{__cargo} rustc %{?_smp_mflags} --release --bin=stratis-base32-decode --no-default-features --features udev_scripts -- -Ctarget-feature=+crt-static
%{__cargo} build %{?_smp_mflags} --release --bin=stratis-dumpmetadata --no-default-features --features engine,extras,min
%else
%cargo_license_summary -f engine,dbus_enabled,min,systemd_compat,extras,udev_scripts
%{cargo_license -f engine,dbus_enabled,min,systemd_compat,extras,udev_scripts} > LICENSE.dependencies
%{__cargo} build %{?__cargo_common_opts} --release --bin=stratisd
%{__cargo} build %{?__cargo_common_opts} --release --bin=stratis-min --bin=stratisd-min --bin=stratis-utils --no-default-features --features engine,min,systemd_compat
@ -180,6 +339,16 @@ a2x -f manpage docs/stratis-dumpmetadata.txt
%{_mandir}/man8/stratis-dumpmetadata.8*
%changelog
* Mon Nov 06 2023 Bryan Gurney <bgurney@redhat.com> - 3.6.1-1
- Update to version 3.6.1
- Resolves: RHEL-2278
- Add filesystem growth limits
- Resolves: RHEL-12898
* 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"