summaryrefslogtreecommitdiff
path: root/config-parabola-mgmt-swap.PKGBUILD
blob: 9474e84f82dc2af46c82551a77634dd5d9213d64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
. ${BUILDFILE%/*}/common.sh
pkgver=20180826

package() {
preamble

# we want z3fold compression from 4.7
depends=(systemd-swap 'LINUX-ABI_VERSION>=4.7')
conflicts=('LINUX-ABI_VERSION<4.7')

# In addition to what's configured in fstab, we use systemd-swap to
# manage advanced swap devices.  There are 3 things we enable in
# systemd-swap:
#
#  - zswap: compress pages on disk
#  - zram: compress pages in RAM
#  - swapfc: in emergencies, allocate space in the filesystem to swap
#    to
add-file -m755 usr/share/holo/files/10-"$pkgname"/etc/systemd/swap.conf.holoscript <<EOF
#!/bin/sh
sed '
	s/^# Zswap\$/& (compress pages on disk)/
	s/zswap_enabled=.*/zswap_enabled=1/

	s/^# ZRam\$/& (compress pages in RAM)/
	s/zram_enabled=.*/zram_enabled=1/

	s/swapfc_enabled=.*/swapfc_enabled=1/
' | awk '\$0==""||!x[\$0]++'
EOF

add-unit etc/systemd/system/local-fs.target.wants/systemd-swap.service

postamble
}