ae22c4001a
The rust-toolset macros in RHEL 10 are now compatible with Fedora's in terms of handling vendoring and automatic generation of license information and bundled provides.
160 lines
4.2 KiB
RPMSpec
160 lines
4.2 KiB
RPMSpec
# Generated by rust2rpm 24
|
|
%bcond_without check
|
|
|
|
# RHEL does not have packages for Rust dependencies
|
|
%if 0%{?rhel}
|
|
%global bundled_rust_deps 1
|
|
%else
|
|
%global bundled_rust_deps 0
|
|
%endif
|
|
|
|
%global crate zram-generator
|
|
|
|
Name: rust-zram-generator
|
|
Version: 1.1.2
|
|
Release: %autorelease
|
|
Summary: Systemd unit generator for zram swap devices
|
|
|
|
License: MIT
|
|
URL: https://crates.io/crates/zram-generator
|
|
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
|
|
|
|
%if 0%{?bundled_rust_deps}
|
|
BuildRequires: rust-toolset
|
|
BuildRequires: make
|
|
BuildRequires: /usr/bin/ronn
|
|
BuildRequires: pkgconfig(systemd)
|
|
BuildRequires: systemd-rpm-macros
|
|
%else
|
|
BuildRequires: rust-packaging >= 21
|
|
%endif
|
|
|
|
%global _description %{expand:
|
|
This is a systemd unit generator that enables swap on zram.
|
|
(With zram, there is no physical swap device. Part of the available RAM
|
|
is used to store compressed pages, essentially trading CPU cycles for memory.)
|
|
|
|
To activate, install %{crate}-defaults subpackage.}
|
|
|
|
%description %{_description}
|
|
|
|
%package -n %{crate}
|
|
Summary: %{summary}
|
|
# Apache-2.0 OR MIT
|
|
# MIT
|
|
# MIT OR Apache-2.0
|
|
License: MIT AND (Apache-2.0 OR MIT)
|
|
Recommends: %{_sbindir}/zramctl
|
|
|
|
%description -n %{crate} %{_description}
|
|
|
|
%files -n %{crate}
|
|
%license LICENSE
|
|
%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*
|
|
%{_mandir}/man5/zram-generator.conf.5*
|
|
|
|
%package -n %{crate}-defaults
|
|
Summary: Default configuration for %{crate}
|
|
Requires: %{crate} = %{version}-%{release}
|
|
Obsoletes: zram < 0.4-2
|
|
BuildArch: noarch
|
|
|
|
%description -n %{crate}-defaults
|
|
%{summary}.
|
|
|
|
%files -n %{crate}-defaults
|
|
%{_prefix}/lib/systemd/zram-generator.conf
|
|
|
|
%if ! 0%{?bundled_rust_deps}
|
|
%package devel
|
|
Summary: %{summary}
|
|
BuildArch: noarch
|
|
|
|
%description devel %{_description}
|
|
|
|
This package contains library source intended for building other packages which
|
|
use the "%{crate}" crate.
|
|
|
|
%files devel
|
|
%license %{crate_instdir}/LICENSE
|
|
%doc %{crate_instdir}/README.md
|
|
%{crate_instdir}/
|
|
|
|
%package -n %{name}+default-devel
|
|
Summary: %{summary}
|
|
BuildArch: noarch
|
|
|
|
%description -n %{name}+default-devel %{_description}
|
|
|
|
This package contains library source intended for building other packages which
|
|
use the "default" feature of the "%{crate}" crate.
|
|
|
|
%files -n %{name}+default-devel
|
|
%ghost %{crate_instdir}/Cargo.toml
|
|
%endif
|
|
|
|
%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
|
|
%cargo_prep
|
|
|
|
%generate_buildrequires
|
|
%cargo_generate_buildrequires
|
|
echo '/usr/bin/make'
|
|
echo '/usr/bin/ronn'
|
|
echo 'pkgconfig(systemd)'
|
|
echo 'systemd-rpm-macros'
|
|
%endif
|
|
|
|
%build
|
|
export SYSTEMD_UTIL_DIR=%{_systemd_util_dir}
|
|
export LC_ALL=C.UTF-8
|
|
%cargo_build
|
|
%cargo_license_summary
|
|
%{cargo_license} > LICENSE.dependencies
|
|
%if 0%{?bundled_rust_deps}
|
|
%cargo_vendor_manifest
|
|
%endif
|
|
%make_build SYSTEMD_SYSTEM_UNIT_DIR=%{_unitdir} SYSTEMD_SYSTEM_GENERATOR_DIR=%{_systemdgeneratordir} \
|
|
systemd-service man
|
|
|
|
%install
|
|
export SYSTEMD_UTIL_DIR=%{_systemd_util_dir}
|
|
%cargo_install
|
|
|
|
rm %{buildroot}%{_bindir}/zram-generator
|
|
%make_install SYSTEMD_SYSTEM_UNIT_DIR=%{_unitdir} SYSTEMD_SYSTEM_GENERATOR_DIR=%{_systemdgeneratordir} \
|
|
NOBUILD=1
|
|
|
|
install -Dpm0644 -t %{buildroot}%{_prefix}/lib/systemd %{SOURCE1}
|
|
|
|
%if %{with check}
|
|
%check
|
|
export SYSTEMD_UTIL_DIR=%{_systemd_util_dir}
|
|
%cargo_test
|
|
|
|
: ==============================================================================
|
|
%{buildroot}%{_systemdgeneratordir}/zram-generator --help
|
|
: ==============================================================================
|
|
%{buildroot}%{_systemdgeneratordir}/zram-generator --help | grep -q %{_systemd_util_dir}/systemd-makefs
|
|
%endif
|
|
|
|
%changelog
|
|
%autochangelog
|