%bcond_without check # Not interested in packaging lib # stratisd is supposed to be daemon used through dbus %global __cargo_is_lib() false Name: stratisd Version: 0.5.4 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 ExclusiveArch: %{rust_arches} BuildRequires: rust-packaging # [dependencies] BuildRequires: (crate(byteorder) >= 1.0.0 with crate(byteorder) < 2.0.0) BuildRequires: (crate(chrono) >= 0.4.0 with crate(chrono) < 0.5.0) BuildRequires: (crate(clap) >= 2.0.0 with crate(clap) < 3.0.0) BuildRequires: (crate(crc) >= 1.0.0 with crate(crc) < 2.0.0) BuildRequires: (crate(dbus) >= 0.6.1 with crate(dbus) < 0.7.0) BuildRequires: (crate(devicemapper) >= 0.22.0 with crate(devicemapper) < 0.23.0) BuildRequires: (crate(env_logger) >= 0.5.0 with crate(env_logger) < 0.6.0) BuildRequires: (crate(error-chain) >= 0.11.0 with crate(error-chain) < 0.12.0) BuildRequires: (crate(lazy_static) >= 1.0.0 with crate(lazy_static) < 2.0.0) BuildRequires: (crate(libc) >= 0.2.36 with crate(libc) < 0.3.0) BuildRequires: (crate(libmount) >= 0.1.10 with crate(libmount) < 0.2.0) BuildRequires: (crate(libudev) >= 0.2.0 with crate(libudev) < 0.3.0) BuildRequires: (crate(log) >= 0.4.0 with crate(log) < 0.5.0) BuildRequires: (crate(macro-attr) >= 0.2.0 with crate(macro-attr) < 0.3.0) BuildRequires: (crate(nix) >= 0.10.0 with crate(nix) < 0.11.0) BuildRequires: (crate(rand) >= 0.4.0 with crate(rand) < 0.5.0) BuildRequires: (crate(serde) >= 1.0.0 with crate(serde) < 2.0.0) BuildRequires: (crate(serde_derive) >= 1.0.0 with crate(serde_derive) < 2.0.0) BuildRequires: (crate(serde_json) >= 1.0.0 with crate(serde_json) < 2.0.0) BuildRequires: (crate(tempfile) >= 3.0.1 with crate(tempfile) < 4.0.0) BuildRequires: ((crate(uuid) >= 0.6.0 with crate(uuid) < 0.7.0) with crate(uuid/serde) with crate(uuid/v4)) %if %{with check} # [dev-dependencies] BuildRequires: (crate(either) >= 1.1.0 with crate(either) < 2.0.0) BuildRequires: (crate(loopdev) >= 0.2.0 with crate(loopdev) < 0.3.0) BuildRequires: (crate(quickcheck) >= 0.6.0 with crate(quickcheck) < 0.7.0) %endif BuildRequires: %{_bindir}/a2x Requires: xfsprogs Requires: device-mapper-persistent-data %description %{summary}. %prep %autosetup -p1 %cargo_prep %build %cargo_build %cargo_build -n a2x -f manpage docs/stratisd.txt %install %cargo_install # Daemon should be really private mkdir -p %{buildroot}%{_libexecdir} mv %{buildroot}%{_bindir}/stratisd %{buildroot}%{_libexecdir}/stratisd %cargo_install -n # Init version should be in sbin mkdir -p %{buildroot}%{_sbindir} mv %{buildroot}%{_bindir}/stratisd %{buildroot}%{_sbindir}/stratisd-init %{__install} -Dpm0644 -t %{buildroot}%{_datadir}/dbus-1/system.d stratisd.conf %{__install} -Dpm0644 -t %{buildroot}%{_datadir}/dbus-1/system-services org.storage.stratis1.service %{__install} -Dpm0644 -t %{buildroot}%{_mandir}/man8 docs/stratisd.8 %if %{with check} %check %cargo_test -- -- --skip real_ --skip loop_ --skip travis_ %endif %files %license LICENSE %doc README.md %{_libexecdir}/stratisd %{_sbindir}/stratisd-init %dir %{_datadir}/dbus-1 %{_datadir}/dbus-1/system.d/stratisd.conf %{_datadir}/dbus-1/system-services/org.storage.stratis1.service %{_mandir}/man8/stratisd.8* %changelog * 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