import stratisd-3.2.2-1.el9

This commit is contained in:
CentOS Sources 2022-09-27 08:55:04 -04:00 committed by Stepan Oksanichenko
parent c44a229c10
commit 8224fce43e
3 changed files with 97 additions and 57 deletions

5
.gitignore vendored
View File

@ -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

View File

@ -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

View File

@ -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 <bgurney@redhat.com> - 3.2.2-1
- Fix assertion for migrating from greedy to lazy allocation
- Resolves: rhbz#2119537
* Mon Aug 01 2022 Bryan Gurney <bgurney@redhat.com> - 3.2.1-1
- Set a per-command ioctl version in device-mapper header
- Resolves: rhbz#2112461
* Fri Jul 08 2022 Bryan Gurney <bgurney@redhat.com> - 3.2.0-1
- Add the ability to stop and start pools
- Resolves: rhbz#2039960
* Wed Jun 08 2022 Bryan Gurney <bgurney@redhat.com> - 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 <bgurney@redhat.com> - 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 <bgurney@redhat.com> - 2.4.2-3
- Add stratisd to requires for stratisd-dracut
- Resolves: rhbz#1996104