-
-
Notifications
You must be signed in to change notification settings - Fork 209
Expand file tree
/
Copy pathplatform.install
More file actions
49 lines (44 loc) · 1.21 KB
/
platform.install
File metadata and controls
49 lines (44 loc) · 1.21 KB
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
# shellcheck disable=SC2148
# arg 1: the new package version
post_install() {
post_upgrade "$1" ""
}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
echo "==> Patching platform ..."
if [[ "$(vercmp "$2" 4.106)" -lt 0 ]]; then
# Keep local modifications of etc configs
for i in \
/etc/sysctl.d/99-kvmd.conf \
/etc/udev/rules.d/99-kvmd.rules \
/etc/modules-load.d/kvmd.conf \
/etc/kvmd/auth.yaml \
; do
if [ -e "$i".pacsave ]; then
mv "$i".pacsave "$i"
fi
done
rm -f \
/etc/kvmd/main.yaml.pacnew \
/etc/kvmd/auth.yaml.pacnew
fi
if [[ "$(vercmp "$2" 4.112)" -lt 0 ]]; then
cat /boot/cmdline.txt \
| xargs printf "%s\n" \
| grep -v '^cma=' \
| paste -sd ' ' - \
> /boot/cmdline.txt.kvmd-new
mv /boot/cmdline.txt.kvmd-new /boot/cmdline.txt
# shellcheck source=/dev/null
source /usr/lib/kvmd/platform
config="/usr/share/kvmd/configs.default/os/boot-config/$PIKVM_MODEL-$PIKVM_VIDEO-$PIKVM_BOARD.txt"
if grep -q '^dtoverlay=cma,' "$config"; then
if ! grep -q '^dtoverlay=cma,' /boot/config.txt; then
# shellcheck disable=SC2129
echo >> /boot/config.txt
grep '^dtoverlay=cma,' "$config" >> /boot/config.txt
fi
fi
fi
}