Accepting request 650228 from home:malcolmlewis:openSUSE_General
New package submission. See boo#1116056 for more details. Please add me as maintainer. OBS-URL: https://build.opensuse.org/request/show/650228 OBS-URL: https://build.opensuse.org/package/show/filesystems/systemd-zram-service?expand=0&rev=1
This commit is contained in:
commit
b5b37d1c22
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
10
systemd-zram-service.changes
Normal file
10
systemd-zram-service.changes
Normal file
@ -0,0 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 19 14:31:00 UTC 2018 - malcolmlewis@opensuse.org
|
||||
|
||||
- Cleanup spec file for submission, (boo#1116056).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 7 16:13:34 UTC 2012 - malcolmlewis@opensuse.org
|
||||
|
||||
- Initial build.
|
||||
|
75
systemd-zram-service.spec
Normal file
75
systemd-zram-service.spec
Normal file
@ -0,0 +1,75 @@
|
||||
#
|
||||
# spec file for package systemd-zram-service
|
||||
#
|
||||
# Copyright (c) 2012-2018 Malcolm J Lewis <malcolmlewis@opensuse.org>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
Name: systemd-zram-service
|
||||
Version: 0.2.1
|
||||
Release: 0
|
||||
License: GPL-2.0
|
||||
Summary: Systemd service for zram
|
||||
Url: https://code.launchpad.net/~elementary-os/elementaryos/zramswap-enabler
|
||||
Group: System/Daemons
|
||||
Source0: zramswap-enabler-0.2.1.tar.bz2
|
||||
#Source0: bzr branch lp:~elementary-os/elementaryos/zramswap-enabler
|
||||
Source1: zramswapon
|
||||
Source2: zramswapoff
|
||||
Source3: zramswap.service
|
||||
Conflicts: compcache
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildArch: noarch
|
||||
%systemd_requires
|
||||
|
||||
%description
|
||||
A successor to compcache, zram, has been already integrated in the
|
||||
Linux kernel for a while now. This means that no additional compilation
|
||||
nor tweaking is required to benefit from compressing memory on the fly
|
||||
and massively reduced swapping.
|
||||
|
||||
%prep
|
||||
%setup -q -n zramswap-enabler-%{version}
|
||||
|
||||
%build
|
||||
# No building required, just a placehoder.
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_sbindir}
|
||||
install -m 0755 %{S:1} %{S:2} %{buildroot}%{_sbindir}/
|
||||
mkdir -p %{buildroot}%{_unitdir}
|
||||
install -m 0644 %{S:3} %{buildroot}%{_unitdir}/
|
||||
pushd %{buildroot}%{_sbindir}
|
||||
ln -s service rczramswap
|
||||
popd
|
||||
|
||||
%pre
|
||||
%service_add_pre zramswap.service
|
||||
|
||||
%post
|
||||
%service_add_post zramswap.service
|
||||
|
||||
%preun
|
||||
%service_del_preun zramswap.service
|
||||
|
||||
%postun
|
||||
%service_del_postun zramswap.service
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc debian/copyright debian/changelog
|
||||
%{_sbindir}/rczramswap
|
||||
%{_sbindir}/zramswap*
|
||||
%{_unitdir}/zramswap.service
|
||||
|
||||
%changelog
|
BIN
zramswap-enabler-0.2.1.tar.bz2
(Stored with Git LFS)
Normal file
BIN
zramswap-enabler-0.2.1.tar.bz2
(Stored with Git LFS)
Normal file
Binary file not shown.
17
zramswap.service
Normal file
17
zramswap.service
Normal file
@ -0,0 +1,17 @@
|
||||
# /lib/systemd/system/zramswap.service
|
||||
#
|
||||
# Copyright (c) 2012-2018 Malcolm J Lewis <malcolmlewis@opensuse.org>
|
||||
#
|
||||
|
||||
[Unit]
|
||||
Description=Service enabling compressing RAM with zRam
|
||||
After=multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/zramswapon
|
||||
ExecStop=/usr/sbin/zramswapoff
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
16
zramswapoff
Normal file
16
zramswapoff
Normal file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
# get the number of CPUs
|
||||
num_cpus=$(grep -c processor /proc/cpuinfo)
|
||||
|
||||
# set decremented number of CPUs
|
||||
decr_num_cpus=$((num_cpus - 1))
|
||||
|
||||
# Switching off swap
|
||||
for i in $(seq 0 $decr_num_cpus); do
|
||||
if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then
|
||||
swapoff /dev/zram$i
|
||||
fi
|
||||
done
|
||||
|
||||
rmmod zram
|
34
zramswapon
Normal file
34
zramswapon
Normal file
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
# get the number of CPUs
|
||||
num_cpus=$(grep -c processor /proc/cpuinfo)
|
||||
# if something goes wrong, assume we have 1
|
||||
[ "$num_cpus" != 0 ] || num_cpus=1
|
||||
|
||||
# set decremented number of CPUs
|
||||
decr_num_cpus=$((num_cpus - 1))
|
||||
|
||||
# get the amount of memory in the machine
|
||||
mem_total_kb=$(grep MemTotal /proc/meminfo | grep -E --only-matching '[[:digit:]]+')
|
||||
mem_total=$((mem_total_kb * 1024))
|
||||
|
||||
# load dependency modules
|
||||
#modprobe zram zram_num_devices=$num_cpus
|
||||
# Determine module parm
|
||||
mod_parm=$(modinfo zram |grep parm |tr -s " " |cut -f2 -d ":")
|
||||
modprobe zram $mod_parm=$num_cpus
|
||||
|
||||
# initialize the devices
|
||||
for i in $(seq 0 $decr_num_cpus); do
|
||||
echo $((mem_total / num_cpus)) > /sys/block/zram$i/disksize
|
||||
done
|
||||
|
||||
# Creating swap filesystems
|
||||
for i in $(seq 0 $decr_num_cpus); do
|
||||
mkswap /dev/zram$i
|
||||
done
|
||||
|
||||
# Switch the swaps on
|
||||
for i in $(seq 0 $decr_num_cpus); do
|
||||
swapon -p 100 /dev/zram$i
|
||||
done
|
Loading…
Reference in New Issue
Block a user