Compare commits

...

2 Commits

Author SHA1 Message Date
Igor Raits f88b0b60cb fixup! Initial import 2022-04-07 20:42:57 +02:00
Igor Raits e72761b0e9
Initial import
Signed-off-by: Igor Raits <igor.raits@gmail.com>
2022-04-07 20:40:14 +02:00
4 changed files with 108 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/zram-generator-1.1.2-vendor.tar.xz
/zram-generator-1.1.2.crate

96
rust-zram-generator.spec Normal file
View File

@ -0,0 +1,96 @@
%bcond_without check
%global crate zram-generator
%{!?_systemd_util_dir:%global _systemd_util_dir /usr/lib/systemd}
Name: rust-%{crate}
Version: 1.1.2
Release: %autorelease
Summary: Systemd unit generator for zram swap devices
# Upstream license specification: MIT
License: MIT
URL: https://crates.io/crates/zram-generator
Source0: https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{crate}-%{version}.crate
Source1: zram-generator.conf
Source2: %{crate}-%{version}-vendor.tar.xz
ExclusiveArch: %{rust_arches}
BuildRequires: rust-toolset
BuildRequires: glibc-devel
BuildRequires: make
BuildRequires: systemd-rpm-macros
%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}
# MIT
# MIT or ASL 2.0
License: MIT
Recommends: %{_sbindir}/zramctl
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE
%doc zram-generator.conf.example
%doc README.md
%{_systemdgeneratordir}/zram-generator
%{_unitdir}/systemd-zram-setup@.service
%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
%prep
%autosetup -n %{crate}-%{version} -p1 -a2
cp -a %{S:1} .
%cargo_prep -V 2
rm -f Cargo.lock
sed -i -e '/Command::new/s|"modprobe"|"/sbin/modprobe"|' src/generator.rs
%build
export SYSTEMD_UTIL_DIR=%{_systemd_util_dir}
export LC_ALL=C.UTF-8
%cargo_build
%make_build SYSTEMD_SYSTEM_UNIT_DIR=%{_unitdir} SYSTEMD_SYSTEM_GENERATOR_DIR=%{_systemdgeneratordir} \
systemd-service
%install
export SYSTEMD_UTIL_DIR=%{_systemd_util_dir}
%make_install SYSTEMD_SYSTEM_UNIT_DIR=%{_unitdir} SYSTEMD_SYSTEM_GENERATOR_DIR=%{_systemdgeneratordir} \
NOBUILD=1 NOMAN=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

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (zram-generator-1.1.2-vendor.tar.xz) = 068d01814e71cecb36d500a2ae29e5f00b3b06250dd53d244b4fa9e0eecb917de76664dca6d76477485ab4b115ce8bb70528be2426915a19513373154fed79de
SHA512 (zram-generator-1.1.2.crate) = dfad7d4384eb4635c33475e4571d33a3135c92cf42138dd1cb50f19aef4b3f2465130783e385a3f544e43a1653273cee9b2d8f45177a8b053acf37805dc939c8

8
zram-generator.conf Normal file
View File

@ -0,0 +1,8 @@
# This config file enables a /dev/zram0 device with the default settings:
# — size — same as available RAM or 8GB, whichever is less
# — compression — most likely lzo-rle
#
# To disable, uninstall zram-generator-defaults or create empty
# /etc/systemd/zram-generator.conf file.
[zram0]
zram-size = min(ram, 8192)