From 3b2eb18155a36584b4deed45e70cc8e6ffdd5c3f Mon Sep 17 00:00:00 2001 From: Bryan Gurney Date: Tue, 25 Apr 2023 10:39:48 -0400 Subject: [PATCH] Update to version 3.5.5 - Update to version 3.5.5 - Resolves: rhbz#2167463 - Take into account the sector size of crypt devices - Resolves: rhbz#2170318 - Add stratisd-tools package with stratis-dumpmetadata program - Resolves: rhbz#2173726 - Support key description key in kernel keyring - Resolves: rhbz#2038492 Signed-off-by: Bryan Gurney --- .gitignore | 3 ++ rpminspect.yaml | 19 +++++++++-- sources | 6 ++-- stratisd.spec | 90 +++++++++++++++++++++++++++++++++++-------------- tests/tests.yml | 2 +- 5 files changed, 89 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index ad684fa..7c9c4ee 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,6 @@ /stratisd-3.4.4.tar.gz /stratisd-3.4.4-vendor.tar.gz /stratisd-3.4.4.crate +/stratisd-3.5.5.tar.gz +/stratisd-3.5.5-vendor.tar.gz +/stratisd-3.5.5.crate diff --git a/rpminspect.yaml b/rpminspect.yaml index b1f9eb1..d2a9303 100644 --- a/rpminspect.yaml +++ b/rpminspect.yaml @@ -2,8 +2,6 @@ inspections: # none of our compiled code has an ABI abidiff: off - # at present the wrong debuginfo files are being used to run this check - annocheck: off # the project does not use .desktop files desktop: off # the project uses no Java @@ -13,3 +11,20 @@ rpmdeps: # ignore auto dependencies like: (crate(bindgen/default) >= 0.59.0 with crate(bindgen/default) < 0.60.0~)' ignore: requires: ^\(crate\(.*\)$ + +debuginfo: + # rpminspect error: "Contains .symtab" + # ignoring because this appears to be a bug in rpmbuild or further down the toolchain + # https://bugzilla.redhat.com/show_bug.cgi?id=2166149 + ignore: + - /usr/lib/udev/stratis* + +annocheck: + # annocheck error: + # Hardened: : FAIL: stack-prot test because stack protection + # deliberately disabled (function: call_fini) + # Seems to be a consequence of including glibc-static when fully static + # compilation occurs. + ignore: + - /usr/lib/udev/stratis* + diff --git a/sources b/sources index bec4813..3bb0391 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (stratisd-3.4.4.tar.gz) = c4b64fae61e5abc5798031b8b4b7fb8c04490bcab18324f1a66bd88ef271d9f5961ccd098487feab2b1e1d4a8eb37e7bc382507c076bc012372828807ef39634 -SHA512 (stratisd-3.4.4-vendor.tar.gz) = 8ae53b5c3583d16067c64b9c3ce7cae04c6e1d8650684bc562677f1e7f8e4a3baee50d42fce62d2a8a00a3776f3d4fe84441221de68fdd0bff784d5488244ee1 -SHA512 (stratisd-3.4.4.crate) = b2b6daefc897509011d44a74d79d0416aabc86de7a286882f8382a69def8212a7b69667f00181b22174c75c772690092d98db9803b4031986cb5e59274b48bae +SHA512 (stratisd-3.5.5.tar.gz) = 9ed5381b5301c1b2795ab55d76914af5befd7795911851acf1fc97a67b414d241d50acb0e00119944274f4ca1a8fff79b1797ddc3b35ea678b6fa181fd6ce48e +SHA512 (stratisd-3.5.5-vendor.tar.gz) = b79f706cb638f10381b68963a34cce005f299186edf372d08c7044c21a7e1b0da95cb8fcaf34cf802ed0dc54b7e71d0f4310bc43ce1fb0e43fc3c306fb59d931 +SHA512 (stratisd-3.5.5.crate) = c003c7fd35a93c0aa57e064b03cc59ac668c575b748cb8b7a8ef0139e6f0b9f6ada544aead0240481c0c9a8b6ba2f259c8851d03e4c9498de22f05633ea3dfca diff --git a/stratisd.spec b/stratisd.spec index b7a5be9..aa0ce41 100644 --- a/stratisd.spec +++ b/stratisd.spec @@ -4,20 +4,11 @@ %global dracutdir %(pkg-config --variable=dracutdir dracut) Name: stratisd -Version: 3.4.4 +Version: 3.5.5 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 +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 @@ -25,11 +16,11 @@ Source2: %{crates_source} ExclusiveArch: %{rust_arches} -%if 0%{?rhel} && !0%{?eln} +%if 0%{?rhel} ExcludeArch: i686 %endif -%if 0%{?rhel} && !0%{?eln} +%if 0%{?rhel} BuildRequires: rust-toolset %else BuildRequires: rust-packaging @@ -40,6 +31,8 @@ BuildRequires: dbus-devel BuildRequires: libblkid-devel BuildRequires: cryptsetup-devel BuildRequires: clang +BuildRequires: glibc-static +BuildRequires: device-mapper-devel BuildRequires: %{_bindir}/a2x # Required to calculate install directories @@ -53,6 +46,10 @@ Requires: dbus-libs Requires: cryptsetup-libs Requires: libblkid +# stratisd does not require clevis; it can be used in restricted environments +# where clevis is not available. +# If using encryption via clevis, stratisd requires the instance of clevis +# that it uses to have been built in an environment with cryptsetup >= 2.6.0. Recommends: clevis-luks >= 18 %description @@ -62,49 +59,73 @@ Recommends: clevis-luks >= 18 Summary: Dracut modules for use with stratisd ExclusiveArch: %{rust_arches} +%if 0%{?rhel} +ExcludeArch: i686 +%endif Requires: stratisd Requires: dracut >= 051 Requires: plymouth %description dracut +%{summary}. -This package contains dracut modules to be used with stratisd -to enable using Stratis filesystems as the root filesystem for -a Linux install. +%package tools +Summary: Tools that support Stratis operation +ExclusiveArch: %{rust_arches} +%if 0%{?rhel} +ExcludeArch: i686 +%endif + +Requires: stratisd + +%description tools +%{summary}. %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} +%if 0%{?rhel} # Source1 is vendored dependencies %cargo_prep -V 1 %else %cargo_prep %generate_buildrequires -%cargo_generate_buildrequires -f dbus_enabled,min,systemd_compat +%cargo_generate_buildrequires -f engine,dbus_enabled,min,systemd_compat,extras,udev_scripts %endif %build -%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 +%if 0%{?rhel} +%{__cargo} build %{?_smp_mflags} --release --bin=stratisd +%{__cargo} build %{?_smp_mflags} --release --bin=stratis-min --bin=stratisd-min --bin=stratis-utils --no-default-features --features engine,min,systemd_compat +%{__cargo} rustc %{?_smp_mflags} --release --bin=stratis-str-cmp --no-default-features --features udev_scripts -- -Ctarget-feature=+crt-static +%{__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 min,systemd_compat +%{__cargo} build %{?__cargo_common_opts} --release --bin=stratis-min --bin=stratisd-min --bin=stratis-utils --no-default-features --features engine,min,systemd_compat +%{__cargo} rustc %{?__cargo_common_opts} --release --bin=stratis-str-cmp --no-default-features --features udev_scripts -- -Ctarget-feature=+crt-static +%{__cargo} rustc %{?__cargo_common_opts} --release --bin=stratis-base32-decode --no-default-features --features udev_scripts -- -Ctarget-feature=+crt-static +%{__cargo} build %{?__cargo_common_opts} --release --bin=stratis-dumpmetadata --no-default-features --features engine,extras,min %endif a2x -f manpage docs/stratisd.txt +a2x -f manpage docs/stratis-dumpmetadata.txt %install %make_install DRACUTDIR=%{dracutdir} PROFILEDIR=release %if %{with check} %check -%if 0%{?rhel} && !0%{?eln} -%cargo_test --no-run -%else +# Compile stratisd tests only where package does not use vendoring. +# This is a temporary step, to address the problem of loopdev crate +# 0.4.0 failing to build properly in some situations due to a failure of +# bindgen 0.59.0. +# See https://github.com/stratis-storage/project/issues/607 +%if !0%{?rhel} %cargo_test -- --no-run %endif %endif @@ -120,6 +141,10 @@ a2x -f manpage docs/stratisd.txt %files %license LICENSE +%if 0%{?rhel} +%else +%license LICENSE.dependencies +%endif %doc README.md %{_libexecdir}/stratisd %dir %{_datadir}/dbus-1 @@ -149,7 +174,22 @@ a2x -f manpage docs/stratisd.txt %{_systemd_util_dir}/system-generators/stratis-clevis-setup-generator %{_systemd_util_dir}/system-generators/stratis-setup-generator +%files tools +%license LICENSE +%{_bindir}/stratis-dumpmetadata +%{_mandir}/man8/stratis-dumpmetadata.8* + %changelog +* Tue May 16 2023 Bryan Gurney - 3.5.5-1 +- Update to version 3.5.5 +- Resolves: rhbz#2167463 +- Take into account the sector size of crypt devices +- Resolves: rhbz#2170318 +- Add stratisd-tools package with stratis-dumpmetadata program +- Resolves: rhbz#2173726 +- Support key description key in kernel keyring +- Resolves: rhbz#2038492 + * Tue Jan 03 2023 Bryan Gurney - 3.4.4-1 - Use devicemapper-rs version 0.32.3 - Resolves: rhbz#2155689 diff --git a/tests/tests.yml b/tests/tests.yml index b8b94ae..c5807aa 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -15,4 +15,4 @@ repositories: - repo: "https://github.com/stratis-storage/testing.git" dest: "testing" - version: "v3.4.0" + version: "v3.5.2"