-
Notifications
You must be signed in to change notification settings - Fork 66
/
post-update
119 lines (97 loc) · 4.23 KB
/
post-update
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
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
. /etc/profile
LOG="/var/log/boot.log"
### This script contains items that we only want to execute after a ROCKNIX upgrade,
### or after a fresh installation.
### Items in this block should always run after updates.
################################################################################
echo "Rebuild library cache..." >>${LOG}
tocon "Rebuilding library cache..."
### Rebuild the library cache
rm -f /storage/.cache/ld.so.cache
ldconfig -X
echo "Sync configuration files..." >>${LOG}
tocon "Re-sync configuration files..."
### Sync configurations
if [ -d "/storage/.config/system/configs" ]
then
EXCLUDE="--exclude=configs"
fi
### Remove and link es configs so they are managed with OS updates.
for es_cfg in es_features.cfg es_systems.cfg
do
mv /storage/.config/emulationstation/${es_cfg} /storage/.config/emulationstation/last_${es_cfg} >/dev/null 2>&1
ln -s /usr/config/emulationstation/${es_cfg} /storage/.config/emulationstation/${es_cfg} >/dev/null 2>&1
done
rsync -a --delete ${EXCLUDE} /usr/config/system/ /storage/.config/system/
rsync -a --ignore-existing /usr/config/game /storage/.config/
rsync -a /usr/config/modules /storage/.config/
if [ -f "/storage/.config/emulationstation/resources/logo.png" ]
then
rm -f /storage/.config/emulationstation/resources/logo.png
fi
echo "Sync modules..." >>${LOG}
tocon "Update tool modules..."
rsync -a /usr/config/modules/* /storage/.config/modules/
cp -f /usr/config/retroarch/retroarch-core-options.cfg /storage/.config/retroarch/retroarch-core-options.cfg
### Apply developer ssh keys if they exist
echo "Apply dev keys if available..." >>${LOG}
if [ -e /usr/config/ssh/authorized_keys ]
then
tocon "Update developer keys..."
cp /usr/config/ssh/authorized_keys /storage/.ssh
fi
### Sync rsync configs
echo "Update rsync configuration files..." >>${LOG}
rsync --ignore-existing /usr/config/rsync-rules.conf /storage/.config/
rsync --ignore-existing /usr/config/rsync.conf /storage/.config/
### Add cloud sync-related files if missing
echo "Update cloud sync files..." >>${LOG}
rsync --ignore-existing /usr/config/cloud_sync-rules.txt /storage/.config/
rsync --ignore-existing /usr/config/cloud_sync.conf /storage/.config/
rsync --ignore-existing /usr/config/cloud_sync.conf.defaults /storage/.config/
### Sync locale data
tocon "Re-sync locale data..."
rsync -a --delete /usr/config/locale/* /storage/.config/locale/ >>/var/log/configure.log 2>&1
rm -rf /storage/.config/emulationstation/locale >>/var/log/configure.log 2>&1 ||:
ln -sf /usr/share/locale /storage/.config/emulationstation/locale >>/var/log/configure.log 2>&1 ||:
### Fix Japanese language bug
if [ ! -e "/storage/.config/ppsspp/assets/NotoSansJP-Regular.ttf" ]
then
cd /storage/.config/ppsspp/assets
cp /usr/config/ppsspp/assets/NotoSansJP-Regular.ttf .
ln -s NotoSansJP-Regular.ttf Roboto-Condensed.ttf
cd -
fi
### Add items below this line that are safe to remove after a period of time.
################################################################################
# Remove forcepack setting for folks updating from ROCKNIX rk3326 and rk3399
if echo ${HW_DEVICE} | grep RK33; then
echo "Removing"
rm -f /storage/.config/profile.d/041-panfrost
fi
# run the idtech script on update if folder does not exist
if [ ! -d "/storage/.config/idtech" ]; then
/usr/bin/generate-idtech.sh
fi
# Clean up Dolphin controller profiles
rm -r /storage/.config/dolphin-emu/WiiControllerProfiles
# Clean resources, including gamecontrollerdb so that ours get used
if echo ${HW_DEVICE} | grep RK3566; then
rm -rf /storage/.config/duckstation/resources
fi
# Clean hypseus/daphne mapping so the correct gets applied
if echo ${QUIRK_DEVICE} | grep ARC; then
rm /storage/.config/game/configs/hypseus/hypinput.ini
fi
# Clean old dtb-overlays, they have been renamed to dtbo
if [ "${HW_DEVICE}" = "RK3566" ] && \
[ $(ls -1 /flash/overlays/rk3566-undervolt-cpu*.dtb | wc -l) != 0 ]; then
mount -o remount,rw /flash
rm /flash/overlays/rk3566-undervolt-cpu*.dtb
sed -i '/FDTOVERLAYS/s/.dtb/.dtbo/g' /flash/extlinux/extlinux.conf
sed -i '/FDTOVERLAYS/s/.dtboo/.dtbo/g' /flash/extlinux/extlinux.conf
mount -o remount,ro /flash
fi