From 8224fce43eb38a002ad7395aec0a028755836548 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 27 Sep 2022 08:55:04 -0400 Subject: [PATCH] import stratisd-3.2.2-1.el9 --- .gitignore | 5 +- .stratisd.metadata | 5 +- SPECS/stratisd.spec | 144 ++++++++++++++++++++++++++++---------------- 3 files changed, 97 insertions(+), 57 deletions(-) diff --git a/.gitignore b/.gitignore index cb37d1b..67a6a0e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -SOURCES/stratisd-2.4.2-vendor.tar.gz -SOURCES/stratisd-2.4.2.tar.gz +SOURCES/stratisd-3.2.2-vendor.tar.gz +SOURCES/stratisd-3.2.2.crate +SOURCES/stratisd-3.2.2.tar.gz diff --git a/.stratisd.metadata b/.stratisd.metadata index c917657..35fd02f 100644 --- a/.stratisd.metadata +++ b/.stratisd.metadata @@ -1,2 +1,3 @@ -17524b817bc6fc65239fb11783cffe73d5796ca7 SOURCES/stratisd-2.4.2-vendor.tar.gz -be4920dd54a84a7f2656e62c743740b90692b68c SOURCES/stratisd-2.4.2.tar.gz +7b21dc77d31b9d08e0a0b91ad77401a36d39a572 SOURCES/stratisd-3.2.2-vendor.tar.gz +b4f505b866daf9c7922ddebd430e81a23d328d05 SOURCES/stratisd-3.2.2.crate +f313a35e9cd4b56df496f8813b01e93a67b31470 SOURCES/stratisd-3.2.2.tar.gz diff --git a/SPECS/stratisd.spec b/SPECS/stratisd.spec index 322096f..fab647f 100644 --- a/SPECS/stratisd.spec +++ b/SPECS/stratisd.spec @@ -1,51 +1,70 @@ %bcond_without check -# A daemon that manages a pool of block devices to create flexible filesystems -%global __cargo_is_lib() false %global udevdir %(pkg-config --variable=udevdir udev) %global dracutdir %(pkg-config --variable=dracutdir dracut) Name: stratisd -Version: 2.4.2 -Release: 3%{?dist} +Version: 3.2.2 +Release: 1%{?dist} Summary: Daemon that manages block devices to create filesystems +# ASL 2.0 +# ASL 2.0 or Boost +# ASL 2.0 or MIT +# BSD +# ISC +# MIT +# MIT or ASL 2.0 +# MPLv2.0 +# Unlicense or MIT License: MPLv2.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 +Source2: %{crates_source} + ExclusiveArch: %{rust_arches} +%if 0%{?rhel} && !0%{?eln} ExcludeArch: i686 +%endif + +%if 0%{?rhel} && !0%{?eln} BuildRequires: rust-toolset +%else +BuildRequires: rust-packaging +%endif +BuildRequires: rust-srpm-macros BuildRequires: systemd-devel BuildRequires: dbus-devel BuildRequires: libblkid-devel BuildRequires: cryptsetup-devel BuildRequires: clang -BuildRequires: dracut BuildRequires: %{_bindir}/a2x +# Required to calculate install directories +BuildRequires: systemd +BuildRequires: dracut + Requires: xfsprogs Requires: device-mapper-persistent-data Requires: systemd-libs Requires: dbus-libs -Requires: cryptsetup >= 2.3.0 +Requires: cryptsetup-libs +Requires: libblkid -Recommends: clevis-luks >= 15 +Recommends: clevis-luks >= 18 %description %{summary}. %package dracut - - Summary: Dracut modules for use with stratisd -ExclusiveArch: ${rust_arches} +ExclusiveArch: %{rust_arches} Requires: stratisd -Requires: dracut >= 049-136 +Requires: dracut >= 051 Requires: plymouth %description dracut @@ -54,54 +73,40 @@ This package contains dracut modules to be used with stratisd to enable using Stratis filesystems as the root filesystem for a Linux install. -%prep -%setup -q -n %{name}-%{version} +%prep +%setup -q +tar --strip-components=1 --extract --verbose --file %{SOURCE2} +# Patches must be applied after the upstream package is extracted. +%if 0%{?rhel} && !0%{?eln} # Source1 is vendored dependencies %cargo_prep -V 1 +%else +%cargo_prep +%generate_buildrequires +%cargo_generate_buildrequires -f dbus_enabled,min,systemd_compat +%endif %build -%cargo_build --bin=stratisd -%cargo_build --bin=stratis-min --bin=stratisd-min --bin=stratis-utils --no-default-features --features min,systemd_compat +%if 0%{?rhel} && !0%{?eln} +%{cargo_build} --bin=stratisd +%{cargo_build} --bin=stratis-min --bin=stratisd-min --bin=stratis-utils --no-default-features --features min,systemd_compat +%else +%{__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 min,systemd_compat +%endif a2x -f manpage docs/stratisd.txt %install -%{__install} -Dpm0644 -t %{buildroot}%{_datadir}/dbus-1/system.d stratisd.conf -# Daemon should be really private -mkdir -p %{buildroot}/developer_tools -%{__install} -Dpm0755 -t %{buildroot}%{_libexecdir} target/release/stratisd -%{__install} -Dpm0644 -t %{buildroot}%{_mandir}/man8 docs/stratisd.8 -%{__install} -Dpm0644 -t %{buildroot}%{_udevrulesdir} udev/61-stratisd.rules -%{__install} -Dpm0644 -t %{buildroot}%{_unitdir} systemd/stratisd.service -%{__install} -Dpm0644 -t %{buildroot}%{dracutdir}/dracut.conf.d dracut/90-stratis.conf -mkdir -p %{buildroot}%{dracutdir}/modules.d/90stratis -%{__install} -Dpm0755 -t %{buildroot}%{dracutdir}/modules.d/90stratis dracut/90stratis/module-setup.sh -%{__install} -Dpm0755 -t %{buildroot}%{dracutdir}/modules.d/90stratis dracut/90stratis/stratis-rootfs-setup -%{__install} -Dpm0644 -t %{buildroot}%{dracutdir}/modules.d/90stratis dracut/90stratis/stratisd-min.service -%{__install} -Dpm0644 -t %{buildroot}%{dracutdir}/modules.d/90stratis dracut/90stratis/61-stratisd.rules -mkdir -p %{buildroot}%{dracutdir}/modules.d/90stratis-clevis -%{__install} -Dpm0755 -t %{buildroot}%{dracutdir}/modules.d/90stratis-clevis dracut/90stratis-clevis/module-setup.sh -%{__install} -Dpm0755 -t %{buildroot}%{dracutdir}/modules.d/90stratis-clevis dracut/90stratis-clevis/stratis-clevis-rootfs-setup -%{__install} -Dpm0644 -t %{buildroot}%{_unitdir} systemd/stratisd-min-postinitrd.service -%{__install} -Dpm0644 -t %{buildroot}%{_unitdir} systemd/stratis-fstab-setup\@.service - -mkdir -p %{buildroot}%{udevdir} -cp target/release/stratis-utils target/release/stratis-str-cmp -%{__install} -Dpm0755 -t %{buildroot}%{udevdir} target/release/stratis-str-cmp -ln -fv %{buildroot}%{udevdir}/stratis-str-cmp %{buildroot}%{udevdir}/stratis-base32-decode -mkdir -p %{buildroot}%{_bindir} -ln -fv %{buildroot}%{udevdir}/stratis-str-cmp %{buildroot}%{_bindir}/stratis-predict-usage -mkdir -p %{buildroot}%{_systemdgeneratordir} -ln -fv %{buildroot}%{udevdir}/stratis-str-cmp %{buildroot}%{_systemdgeneratordir}/stratis-clevis-setup-generator -ln -fv %{buildroot}%{udevdir}/stratis-str-cmp %{buildroot}%{_systemdgeneratordir}/stratis-setup-generator -%{__install} -Dpm0755 -t %{buildroot}%{_bindir} target/release/stratis-min -%{__install} -Dpm0755 -t %{buildroot}%{_libexecdir} target/release/stratisd-min -%{__install} -Dpm0755 -t %{buildroot}%{_usr}/lib/systemd systemd/stratis-fstab-setup - +%make_install DRACUTDIR=%{dracutdir} PROFILEDIR=release %if %{with check} %check -%cargo_test -- --skip real_ --skip loop_ --skip travis_ +%if 0%{?rhel} && !0%{?eln} +%cargo_test --no-run +%else +%cargo_test -- --no-run +%endif %endif %post @@ -118,10 +123,11 @@ ln -fv %{buildroot}%{udevdir}/stratis-str-cmp %{buildroot}%{_systemdgeneratordir %doc README.md %{_libexecdir}/stratisd %dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/system.d %{_datadir}/dbus-1/system.d/stratisd.conf %{_mandir}/man8/stratisd.8* %{_unitdir}/stratisd.service -%config %{_udevrulesdir}/61-stratisd.rules +%{_udevrulesdir}/61-stratisd.rules %{udevdir}/stratis-str-cmp %{udevdir}/stratis-base32-decode %{_bindir}/stratis-predict-usage @@ -129,21 +135,53 @@ ln -fv %{buildroot}%{udevdir}/stratis-str-cmp %{buildroot}%{_systemdgeneratordir %{_unitdir}/stratis-fstab-setup@.service %{_bindir}/stratis-min %{_libexecdir}/stratisd-min -%{_usr}/lib/systemd/stratis-fstab-setup +%{_systemd_util_dir}/stratis-fstab-setup + %files dracut %license LICENSE -%{dracutdir}/dracut.conf.d/90-stratis.conf %{dracutdir}/modules.d/90stratis-clevis/module-setup.sh %{dracutdir}/modules.d/90stratis-clevis/stratis-clevis-rootfs-setup %{dracutdir}/modules.d/90stratis/61-stratisd.rules %{dracutdir}/modules.d/90stratis/module-setup.sh %{dracutdir}/modules.d/90stratis/stratis-rootfs-setup %{dracutdir}/modules.d/90stratis/stratisd-min.service -%{_systemdgeneratordir}/stratis-clevis-setup-generator -%{_systemdgeneratordir}/stratis-setup-generator +%{_systemd_util_dir}/system-generators/stratis-clevis-setup-generator +%{_systemd_util_dir}/system-generators/stratis-setup-generator %changelog +* Wed Aug 24 2022 Bryan Gurney - 3.2.2-1 +- Fix assertion for migrating from greedy to lazy allocation +- Resolves: rhbz#2119537 + +* Mon Aug 01 2022 Bryan Gurney - 3.2.1-1 +- Set a per-command ioctl version in device-mapper header +- Resolves: rhbz#2112461 + +* Fri Jul 08 2022 Bryan Gurney - 3.2.0-1 +- Add the ability to stop and start pools +- Resolves: rhbz#2039960 + +* Wed Jun 08 2022 Bryan Gurney - 3.1.0-2 +- Increment release number to include bugs fixed in 3.1.0 +- Resolves: rhbz#2039946 +- Pass optional size parameter for new filesystem +- Resolves: rhbz#1990905 +- Unify rollback to refresh Clevis info on Clevis bind command +- Resolves: rhbz#2005110 +- Retarget thinpool to cache device when initializing cache +- Resolves: rhbz#2007018 +- Improve thin provisioning implementation +- Resolves: rhbz#2040352 +- Verify udev info with libblkid before overwriting +- Resolves: rhbz#2041624 + +* Tue May 31 2022 Bryan Gurney - 3.1.0-1 +- Update to 3.1.0 +- Resolves: rhbz#2039946 +- Revise stratisd.spec file to unified format +- Remove old rust2rpm config file + * Fri Aug 20 2021 Bryan Gurney - 2.4.2-3 - Add stratisd to requires for stratisd-dracut - Resolves: rhbz#1996104