%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: 1%{?dist} Summary: Daemon that manages block devices to create filesystems 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 ExclusiveArch: %{rust_arches} ExcludeArch: i686 BuildRequires: rust-toolset BuildRequires: systemd-devel BuildRequires: dbus-devel BuildRequires: libblkid-devel BuildRequires: cryptsetup-devel BuildRequires: clang BuildRequires: dracut BuildRequires: %{_bindir}/a2x Requires: xfsprogs Requires: device-mapper-persistent-data Requires: systemd-libs Requires: dbus-libs Requires: cryptsetup >= 2.3.0 Recommends: clevis-luks >= 15 %description %{summary}. %package dracut Summary: Dracut modules for use with stratisd ExclusiveArch: ${rust_arches} Requires: dracut >= 049-136 Requires: plymouth %description dracut 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} # Source1 is vendored dependencies %cargo_prep -V 1 %build %cargo_build --bin=stratisd %cargo_build --bin=stratis-min --bin=stratisd-min --bin=stratis-utils --no-default-features --features min,systemd_compat 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 %if %{with check} %check %cargo_test -- --skip real_ --skip loop_ --skip travis_ %endif %post %systemd_post stratisd.service %preun %systemd_preun stratisd.service %postun %systemd_postun_with_restart stratisd.service %files %license LICENSE %doc README.md %{_libexecdir}/stratisd %dir %{_datadir}/dbus-1 %{_datadir}/dbus-1/system.d/stratisd.conf %{_mandir}/man8/stratisd.8* %{_unitdir}/stratisd.service %config %{_udevrulesdir}/61-stratisd.rules %{udevdir}/stratis-str-cmp %{udevdir}/stratis-base32-decode %{_bindir}/stratis-predict-usage %{_unitdir}/stratisd-min-postinitrd.service %{_unitdir}/stratis-fstab-setup@.service %{_bindir}/stratis-min %{_libexecdir}/stratisd-min %{_usr}/lib/systemd/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 %changelog * Fri Jun 11 2021 Bryan Gurney - 2.4.2-1 - Update to 2.4.2 - Resolves: rhbz#1914315 - Add boot from root support - Resolves: rhbz#1869768 - Ensure that binaries are installed with proper features enabled - Split dracut modules out to subpackage - Add additional dependencies in dracut module * Fri Apr 16 2021 Mohan Boddu - 2.3.0-9 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 * Wed Jan 27 2021 Fedora Release Engineering - 2.3.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Fri Jan 15 2021 Igor Raits - 2.3.0-7 - Fix build on ELN * Fri Jan 15 2021 Igor Raits - 2.3.0-6 - Make package compatible without violating guidelines * Fri Jan 15 2021 mulhern - 2.3.0-5 - Add both sources at the same time * Fri Jan 15 2021 mulhern - 2.3.0-4 - Restore RHEL/Fedora compatible spec file, adding some additional changes * Fri Jan 15 2021 Igor Raits - 2.3.0-3 - Partially revert previous commit * Thu Jan 14 2021 mulhern - 2.3.0-2 - Make RHEL/Fedora compatible spec file * Tue Jan 12 2021 mulhern - 2.3.0-1 - Update to 2.3.0 * Mon Dec 28 13:34:26 CET 2020 Igor Raits - 2.2.1-3 - Rebuild * Sun Dec 27 2020 Igor Raits - 2.2.1-2 - Rebuild * Mon Nov 9 2020 mulhern - 2.2.1-1 - Update to 2.2.1 * Mon Oct 19 2020 mulhern - 2.2.0-1 - Update to 2.2.0 * Sat Aug 01 2020 Fedora Release Engineering - 2.1.0-3 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jul 29 2020 Fedora Release Engineering - 2.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jul 07 2020 John Baublitz - 2.1.0-1 - Update to 2.1.0 * Wed Feb 19 2020 Igor Raits - 2.0.1-2 - Fixup license * Wed Feb 19 2020 Igor Raits - 2.0.1-1 - Update to 2.0.1 * Fri Jan 31 2020 Fedora Release Engineering - 2.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Nov 07 2019 Igor Gnatenko - 2.0.0-1 - Update to 2.0.0 * Fri Sep 06 20:52:06 CEST 2019 Igor Gnatenko - 1.0.5-1 - Update to 1.0.5 * Sat Jul 27 2019 Fedora Release Engineering - 1.0.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Tue Jun 04 2019 Josh Stone - 1.0.4-2 - Bump nix to 0.14 * Tue May 07 08:16:24 CEST 2019 Igor Gnatenko - 1.0.4-1 - Update to 1.0.4 * Wed Mar 06 2019 Igor Gnatenko - 1.0.3-1 - Update to 1.0.3 * Wed Dec 12 2018 Igor Gnatenko - 1.0.2-1 - Update to 1.0.2 * Fri Nov 02 2018 Igor Gnatenko - 1.0.1-1 - Update to 1.0.1 * Thu Sep 27 2018 Igor Gnatenko - 1.0.0-1 - Update to 1.0.0 * Wed Sep 19 2018 Igor Gnatenko - 0.9.0-4 - Add missing systemd scriptlets * Wed Sep 19 2018 Tony Asleson - 0.9.0-3 - Add systemd unit file - Remove systemd activation file * Tue Sep 18 2018 Igor Gnatenko - 0.9.0-2 - Rebuild to workaround pungi bug * Sat Sep 01 2018 Igor Gnatenko - 0.9.0-1 - Update to 0.9.0 * Fri Aug 3 2018 Andy Grover - 0.5.5-2 - Disable a failing but noncritical test * Fri Aug 03 2018 Igor Gnatenko - 0.5.5-1 - Update to 0.5.5 * Thu Jul 19 2018 Igor Gnatenko - 0.5.4-3 - Upgrade dependencies * Sat Jul 14 2018 Fedora Release Engineering - 0.5.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Jul 11 2018 Igor Gnatenko - 0.5.4-1 - Update to 0.5.4 * Fri Jun 22 2018 Igor Gnatenko - 0.5.3-2 - Add -init version of daemon - Own dbus-1 directory * Mon Jun 4 2018 Andy Grover - 0.5.3-1 - Update to 0.5.3 * Fri May 4 2018 Andy Grover - 0.5.2-2 - Add 0002-Prefix-commands-with-entire-path.patch * Tue May 1 2018 Andy Grover - 0.5.2-1 - Update to 0.5.2 * Tue Apr 03 2018 Igor Gnatenko - 0.5.1-1 - Update to 0.5.1 * Tue Mar 13 2018 Andy Grover - 0.5.0-2 - Add stratisd manpage * Thu Mar 08 2018 Igor Gnatenko - 0.5.0-1 - Update to 0.5.0 * Thu Feb 15 2018 Andy Grover - 0.1.5-2 - Require packages that contain binaries that we exec: xfsprogs and device-mapper-persistent-data * Sun Feb 11 2018 Igor Gnatenko - 0.1.5-1 - Update to 0.1.5 * Fri Feb 09 2018 Fedora Release Engineering - 0.1.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Mon Jan 08 2018 Igor Gnatenko - 0.1.4-3 - Rebuild for rust-packaging v5 * Mon Jan 08 2018 Igor Gnatenko - 0.1.4-2 - Move binary under %%{_libexecdir} - Add dbus service (so it is activatable) - Fix rand's version bump * Sun Jan 07 2018 Igor Gnatenko - 0.1.4-1 - Initial package