blob: 70854c17f85313964ea6aa48634b399282aa876b (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# Maintainer: dreieck (https://aur.archlinux.org/account/dreieck)
#
# Based on:
# * https://github.com/CachyOS/CachyOS-PKGBUILDS/blob/master/cachyos-ksm-settings/PKGBUILD (2025-05-03) by
# Contributor: Vasiliy Stelmachenok <ventureo(at)cachyos.org>
# And based on:
# * aur/uksmd-nosystemd-git by
# Contributor: dreieck (https://aur.archlinux.org/account/dreieck)
# which is based on
# - aur/uksmd-git by
# Contributor: Yurii Kolesnykov <root [at] yurikoles.com>, which is based on
# + aur/uksmd by
# Oleksandr Natalenko <oleksandr [at] natalenko.name>
_pkgname="cachyos-ksm-settings"
_gitname="CachyOS-PKGBUILDS"
_githost=github.com
_gituser=CachyOS
pkgname="${_pkgname}-git"
epoch=0
pkgver=2.r2.20250504.ce686af9
pkgrel=1
pkgdesc="Package for easy configuration of kernel samepage merding (KSM) via commandline or systemd. Replaces 'uksmd'."
url='https://github.com/CachyOS/CachyOS-PKGBUILDS/tree/master/cachyos-ksm-settings'
license=("GPL-3.0-or-later")
arch=(
'any'
)
depends=(
'bash'
)
optdepends=(
'systemd>=256: For automatic control via systemd.'
'ksmctl-openrc: For OpenRC initscript.'
"gdm: For systemd service override to work (gdm graphical session via systemd)."
"lightdm: For systemd service override to work (lightdm graphical session via systemd)."
"ly: For systemd service override to work (ly session via systemd)."
"sddm: For systemd service override to work (sddm graphical session via systemd)."
)
makedepends=(
'git'
)
provides=(
"${_pkgname}=${pkgver}"
"ksmctl=${pkgver}"
"ksmstats=${pkgver}"
)
conflicts=(
"${_pkgname}"
"ksmctl"
"ksmstats"
"cachyos-settings<1:1.1.8"
"ksmtuned"
)
replaces=()
backup=('etc/tmpfiles.d/ksm.conf')
source=(
"${_gitname}::git+https://${_githost}/${_gituser}/${_gitname}.git"
)
sha256sums=(
'SKIP'
)
# Those files in ${_gitname}/${_pkgname}/ will be used -- only look at them when generating version number:
_sourcefiles=(
ksmctl
ksmstats
10-enable-ksm-by-default.conf
10-systemd-ksm.conf
)
prepare() {
cd "${srcdir}/${_gitname}/${_pkgname}"
#for _patch in "${srcdir}/ksmctl-add-status-output.patch"; do
# printf '%s\n' " > Applying patch $(basename "${_patch}")"
# patch -Np1 --follow-symlinks -i "${_patch}"
#done
git log -- * > git.log
}
pkgver() {
cd "${srcdir}/${_gitname}/${_pkgname}"
_ver="$(grep -E '^pkgver=' PKGBUILD | tail -n1 | sed 's|#.*$||' | awk -F '=' '{print $2}' | tr -d '[[:space:]]')"
_rev="$(git rev-list --count HEAD -- "${_sourcefiles[@]}")"
_date="$(git log -1 --date=format:"%Y%m%d" --format="%ad" -- "${_sourcefiles[@]}")"
_hash="$(git log -n1 --oneline --abbrev-commit -- "${_sourcefiles[@]}" | awk '{print $1}')"
if [ -z "${_ver}" ]; then
error "Version could not be determined."
return 1
elif [ -z "${_rev}" ]; then
error "Git commit count could not be determined."
return 1
else
printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
fi
}
#build() {
# cd "${srcdir}/${_gitname}/${_pkgname}"
#}
package() {
cd "${srcdir}/${_gitname}/${_pkgname}"
install -Dvm755 -t "${pkgdir}/usr/bin" ksmctl ksmstats
install -Dvm644 10-systemd-ksm.conf "${pkgdir}/usr/lib/systemd/system/gdm.service.d/10-ksm.conf"
install -Dvm644 10-systemd-ksm.conf "${pkgdir}/usr/lib/systemd/system/sddm.service.d/10-ksm.conf"
install -Dvm644 10-systemd-ksm.conf "${pkgdir}/usr/lib/systemd/system/lightdm.service.d/10-ksm.conf"
install -Dvm644 10-systemd-ksm.conf "${pkgdir}/usr/lib/systemd/system/ly.service.d/10-ksm.conf"
install -Dvm644 10-systemd-ksm.conf "${pkgdir}/usr/lib/systemd/system/user@.service.d/10-ksm.conf"
install -Dvm644 10-systemd-ksm.conf "${pkgdir}/usr/lib/systemd/system/getty@.service.d/10-ksm.conf"
install -Dvm644 10-enable-ksm-by-default.conf "${pkgdir}/usr/lib/tmpfiles.d/10-enable-ksm-by-default.conf"
install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgname}" git.log
}
|