rust-zram-generator/rust-zram-generator.spec

160 lines
4.2 KiB
RPMSpec
Raw Normal View History

2023-06-23 17:31:25 +00:00
# Generated by rust2rpm 24
%bcond_without check
2018-08-28 18:41:40 +00:00
# RHEL does not have packages for Rust dependencies
%if 0%{?rhel}
%global bundled_rust_deps 1
%else
%global bundled_rust_deps 0
%endif
2018-08-28 18:41:40 +00:00
%global crate zram-generator
2023-06-23 17:31:25 +00:00
Name: rust-zram-generator
2022-03-28 08:33:56 +00:00
Version: 1.1.2
2021-10-25 08:54:07 +00:00
Release: %autorelease
Summary: Systemd unit generator for zram swap devices
2018-08-28 18:41:40 +00:00
License: MIT
URL: https://crates.io/crates/zram-generator
2023-06-23 17:31:25 +00:00
Source0: %{crates_source}
Source1: zram-generator.conf
# To create the vendor tarball:
# tar xf %%{crate}-%%{version}.crate ; pushd %%{crate}-%%{version} ; \
# cargo vendor && tar Jcvf ../%%{crate}-%%{version}-vendor.tar.xz vendor/ ; popd
Source2: %{crate}-%{version}-vendor.tar.xz
2018-08-28 18:41:40 +00:00
%if 0%{?bundled_rust_deps}
BuildRequires: rust-toolset
BuildRequires: make
BuildRequires: /usr/bin/ronn
2023-06-23 17:31:25 +00:00
BuildRequires: pkgconfig(systemd)
BuildRequires: systemd-rpm-macros
%else
2023-06-23 17:31:25 +00:00
BuildRequires: rust-packaging >= 21
%endif
%global _description %{expand:
2020-06-18 09:30:24 +00:00
This is a systemd unit generator that enables swap on zram.
2021-11-16 20:07:01 +00:00
(With zram, there is no physical swap device. Part of the available RAM
2020-06-18 09:30:24 +00:00
is used to store compressed pages, essentially trading CPU cycles for memory.)
To activate, install %{crate}-defaults subpackage.}
2018-08-28 18:41:40 +00:00
%description %{_description}
2018-08-28 18:41:40 +00:00
%package -n %{crate}
Summary: %{summary}
2023-06-23 17:31:25 +00:00
# Apache-2.0 OR MIT
# MIT
2023-06-23 17:31:25 +00:00
# MIT OR Apache-2.0
License: MIT AND (Apache-2.0 OR MIT)
Recommends: %{_sbindir}/zramctl
2018-08-28 18:41:40 +00:00
%description -n %{crate} %{_description}
2018-08-28 18:41:40 +00:00
%files -n %{crate}
%license LICENSE
2023-06-23 17:31:25 +00:00
%license LICENSE.dependencies
%if 0%{?bundled_rust_deps}
%license cargo-vendor.txt
%endif
%doc zram-generator.conf.example
%doc README.md
%{_systemdgeneratordir}/zram-generator
%{_unitdir}/systemd-zram-setup@.service
%{_mandir}/man8/zram-generator.8*
2020-11-23 13:40:46 +00:00
%{_mandir}/man5/zram-generator.conf.5*
2020-06-18 09:30:24 +00:00
%package -n %{crate}-defaults
Summary: Default configuration for %{crate}
Requires: %{crate} = %{version}-%{release}
Obsoletes: zram < 0.4-2
BuildArch: noarch
2020-06-18 09:30:24 +00:00
%description -n %{crate}-defaults
%{summary}.
2020-06-18 09:30:24 +00:00
%files -n %{crate}-defaults
%{_prefix}/lib/systemd/zram-generator.conf
%if ! 0%{?bundled_rust_deps}
%package devel
2020-11-23 13:40:46 +00:00
Summary: %{summary}
BuildArch: noarch
%description devel %{_description}
2021-11-29 13:48:04 +00:00
This package contains library source intended for building other packages which
use the "%{crate}" crate.
%files devel
2023-06-23 17:31:25 +00:00
%license %{crate_instdir}/LICENSE
%doc %{crate_instdir}/README.md
%{crate_instdir}/
%package -n %{name}+default-devel
2020-11-23 13:40:46 +00:00
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+default-devel %{_description}
2023-06-23 17:31:25 +00:00
This package contains library source intended for building other packages which
use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
2023-06-23 17:31:25 +00:00
%ghost %{crate_instdir}/Cargo.toml
%endif
2018-08-28 18:41:40 +00:00
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1 %{?bundled_rust_deps:-a2}
cp -a %{S:1} .
%if 0%{?bundled_rust_deps}
%cargo_prep -v vendor
%else
2018-08-28 18:41:40 +00:00
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires
echo '/usr/bin/make'
echo '/usr/bin/ronn'
2023-06-23 17:31:25 +00:00
echo 'pkgconfig(systemd)'
echo 'systemd-rpm-macros'
%endif
2018-08-28 18:41:40 +00:00
%build
export SYSTEMD_UTIL_DIR=%{_systemd_util_dir}
2021-10-25 12:39:02 +00:00
export LC_ALL=C.UTF-8
2018-08-28 18:41:40 +00:00
%cargo_build
%cargo_license_summary
%{cargo_license} > LICENSE.dependencies
%if 0%{?bundled_rust_deps}
%cargo_vendor_manifest
%endif
2021-10-25 12:39:02 +00:00
%make_build SYSTEMD_SYSTEM_UNIT_DIR=%{_unitdir} SYSTEMD_SYSTEM_GENERATOR_DIR=%{_systemdgeneratordir} \
systemd-service man
2018-08-28 18:41:40 +00:00
%install
export SYSTEMD_UTIL_DIR=%{_systemd_util_dir}
2018-08-28 18:41:40 +00:00
%cargo_install
2021-10-25 12:39:02 +00:00
rm %{buildroot}%{_bindir}/zram-generator
2021-10-26 15:32:49 +00:00
%make_install SYSTEMD_SYSTEM_UNIT_DIR=%{_unitdir} SYSTEMD_SYSTEM_GENERATOR_DIR=%{_systemdgeneratordir} \
NOBUILD=1
2021-10-25 12:39:02 +00:00
2021-01-27 16:08:05 +00:00
install -Dpm0644 -t %{buildroot}%{_prefix}/lib/systemd %{SOURCE1}
2018-08-28 18:41:40 +00:00
%if %{with check}
%check
export SYSTEMD_UTIL_DIR=%{_systemd_util_dir}
2018-08-28 18:41:40 +00:00
%cargo_test
2021-10-26 15:32:49 +00:00
: ==============================================================================
%{buildroot}%{_systemdgeneratordir}/zram-generator --help
: ==============================================================================
%{buildroot}%{_systemdgeneratordir}/zram-generator --help | grep -q %{_systemd_util_dir}/systemd-makefs
2018-08-28 18:41:40 +00:00
%endif
%changelog
2021-10-25 08:54:07 +00:00
%autochangelog