forked from Faceless3882/LG_Buddy
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathuninstall.sh
More file actions
executable file
·149 lines (135 loc) · 6.23 KB
/
uninstall.sh
File metadata and controls
executable file
·149 lines (135 loc) · 6.23 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
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#!/bin/bash
SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)"
INSTALL_ROOT="${LG_BUDDY_INSTALL_ROOT:-}"
INSTALL_ROOT="${INSTALL_ROOT%/}"
SUDO_CMD="${LG_BUDDY_SUDO_CMD:-sudo}"
NONINTERACTIVE="${LG_BUDDY_NONINTERACTIVE:-0}"
SKIP_SYSTEMD_ACTIONS="${LG_BUDDY_SKIP_SYSTEMD_ACTIONS:-0}"
REMOVE_CONFIG_RESPONSE="${LG_BUDDY_REMOVE_CONFIG:-}"
prefix_path() {
local path="$1"
if [ -n "$INSTALL_ROOT" ]; then
printf '%s%s\n' "$INSTALL_ROOT" "$path"
else
printf '%s\n' "$path"
fi
}
run_privileged() {
if [ "$SUDO_CMD" = "none" ]; then
"$@"
else
"$SUDO_CMD" "$@"
fi
}
SYSTEM_BIN_DIR="$(prefix_path "/usr/bin")"
RUNTIME_INSTALL_PATH="${SYSTEM_BIN_DIR}/lg-buddy"
VENV_DIR="${SYSTEM_BIN_DIR}/LG_Buddy_PIP"
SYSTEM_LIB_DIR="$(prefix_path "/usr/lib/lg-buddy")"
COMMON_HELPER_PATH="${SYSTEM_LIB_DIR}/common.sh"
CONFIG_POINTER_PATH="${SYSTEM_LIB_DIR}/config-path"
SYSTEM_SLEEP_HOOK_PATH="$(prefix_path "/usr/lib/systemd/system-sleep/LG_Buddy_sleep_hook")"
SYSTEMD_SYSTEM_DIR="$(prefix_path "/etc/systemd/system")"
SYSTEMD_SERVICE_PATH="${SYSTEMD_SYSTEM_DIR}/LG_Buddy.service"
SYSTEMD_LIFECYCLE_SERVICE_PATH="${SYSTEMD_SYSTEM_DIR}/LG_Buddy_lifecycle.service"
SYSTEMD_WAKE_SERVICE_PATH="${SYSTEMD_SYSTEM_DIR}/LG_Buddy_wake.service"
SYSTEMD_SLEEP_SERVICE_PATH="${SYSTEMD_SYSTEM_DIR}/LG_Buddy_sleep.service"
SYSTEMD_SERVICE_OVERRIDE_DIR="${SYSTEMD_SYSTEM_DIR}/LG_Buddy.service.d"
SYSTEMD_LIFECYCLE_OVERRIDE_DIR="${SYSTEMD_SYSTEM_DIR}/LG_Buddy_lifecycle.service.d"
SYSTEMD_WAKE_OVERRIDE_DIR="${SYSTEMD_SYSTEM_DIR}/LG_Buddy_wake.service.d"
SYSTEMD_SLEEP_OVERRIDE_DIR="${SYSTEMD_SYSTEM_DIR}/LG_Buddy_sleep.service.d"
TMPFILES_CONF_PATH="$(prefix_path "/etc/tmpfiles.d/lg_buddy.conf")"
NM_SLEEP_HOOK_PATH="$(prefix_path "/etc/NetworkManager/dispatcher.d/pre-down.d/LG_Buddy_sleep")"
NM_LIFECYCLE_HOOK_PATH="$(prefix_path "/etc/NetworkManager/dispatcher.d/pre-down.d/LG_Buddy_lifecycle")"
APPLICATIONS_DIR="$(prefix_path "/usr/share/applications")"
DESKTOP_ENTRY_PATH="${APPLICATIONS_DIR}/LG_Buddy_Brightness.desktop"
RUN_STATE_DIR="$(prefix_path "/run/lg_buddy")"
USER_SYSTEMD_DIR="${HOME}/.config/systemd/user"
USER_SCREEN_SERVICE_PATH="${USER_SYSTEMD_DIR}/LG_Buddy_screen.service"
USER_SCREEN_OVERRIDE_DIR="${USER_SYSTEMD_DIR}/LG_Buddy_screen.service.d"
if [ -r "$SCRIPT_DIR/bin/LG_Buddy_Common" ]; then
. "$SCRIPT_DIR/bin/LG_Buddy_Common"
elif [ -r "$COMMON_HELPER_PATH" ]; then
. "$COMMON_HELPER_PATH"
fi
if declare -F lg_buddy_effective_config_path >/dev/null 2>&1; then
CONFIG_FILE="$(lg_buddy_effective_config_path 2>/dev/null || true)"
fi
CONFIG_FILE="${CONFIG_FILE:-${LG_BUDDY_CONFIG:-${XDG_CONFIG_HOME:-$HOME/.config}/lg-buddy/config.env}}"
CONFIG_DIR="$(dirname "$CONFIG_FILE")"
echo "Disabling & removing services..."
echo "(This might turn off your TV)"
if [ "$NONINTERACTIVE" != "1" ]; then
sleep 3
fi
if [ "$SKIP_SYSTEMD_ACTIONS" = "1" ]; then
echo "Skipping systemd disable/stop actions because LG_BUDDY_SKIP_SYSTEMD_ACTIONS=1."
else
run_privileged systemctl disable LG_Buddy.service 2>/dev/null || true
run_privileged systemctl disable LG_Buddy_lifecycle.service 2>/dev/null || true
run_privileged systemctl disable LG_Buddy_wake.service 2>/dev/null || true
run_privileged systemctl disable LG_Buddy_sleep.service 2>/dev/null || true
systemctl --user disable LG_Buddy_screen.service 2>/dev/null || true
run_privileged systemctl stop LG_Buddy.service 2>/dev/null || true
run_privileged systemctl stop LG_Buddy_lifecycle.service 2>/dev/null || true
run_privileged systemctl stop LG_Buddy_wake.service 2>/dev/null || true
run_privileged systemctl stop LG_Buddy_sleep.service 2>/dev/null || true
systemctl --user stop LG_Buddy_screen.service 2>/dev/null || true
fi
run_privileged rm -f "$SYSTEMD_SERVICE_PATH"
run_privileged rm -f "$SYSTEMD_LIFECYCLE_SERVICE_PATH"
run_privileged rm -f "$SYSTEMD_WAKE_SERVICE_PATH"
run_privileged rm -f "$SYSTEMD_SLEEP_SERVICE_PATH"
run_privileged rm -f "${SYSTEMD_SERVICE_OVERRIDE_DIR}/config.conf"
run_privileged rm -f "${SYSTEMD_LIFECYCLE_OVERRIDE_DIR}/config.conf"
run_privileged rm -f "${SYSTEMD_WAKE_OVERRIDE_DIR}/config.conf"
run_privileged rm -f "${SYSTEMD_SLEEP_OVERRIDE_DIR}/config.conf"
run_privileged rmdir "$SYSTEMD_SERVICE_OVERRIDE_DIR" 2>/dev/null || true
run_privileged rmdir "$SYSTEMD_LIFECYCLE_OVERRIDE_DIR" 2>/dev/null || true
run_privileged rmdir "$SYSTEMD_WAKE_OVERRIDE_DIR" 2>/dev/null || true
run_privileged rmdir "$SYSTEMD_SLEEP_OVERRIDE_DIR" 2>/dev/null || true
rm -f "$USER_SCREEN_SERVICE_PATH"
rm -rf "$USER_SCREEN_OVERRIDE_DIR"
if [ "$SKIP_SYSTEMD_ACTIONS" != "1" ]; then
run_privileged systemctl daemon-reload
systemctl --user daemon-reload
fi
echo "Done."
echo "Removing scripts"
run_privileged rm -f "$RUNTIME_INSTALL_PATH"
run_privileged rm -f "${SYSTEM_BIN_DIR}/LG_Buddy_Startup"
run_privileged rm -f "${SYSTEM_BIN_DIR}/LG_Buddy_Shutdown"
run_privileged rm -f "${SYSTEM_BIN_DIR}/LG_Buddy_Screen_On"
run_privileged rm -f "${SYSTEM_BIN_DIR}/LG_Buddy_Screen_Off"
run_privileged rm -f "${SYSTEM_BIN_DIR}/LG_Buddy_Screen_Monitor"
run_privileged rm -f "${SYSTEM_BIN_DIR}/LG_Buddy_sleep_pre"
run_privileged rm -f "${SYSTEM_BIN_DIR}/LG_Buddy_Brightness"
run_privileged rm -f "$NM_SLEEP_HOOK_PATH"
run_privileged rm -f "$NM_LIFECYCLE_HOOK_PATH"
run_privileged rm -f "$SYSTEM_SLEEP_HOOK_PATH"
run_privileged rm -f "$TMPFILES_CONF_PATH"
run_privileged rm -f "$COMMON_HELPER_PATH"
run_privileged rm -f "$CONFIG_POINTER_PATH"
run_privileged rmdir "$SYSTEM_LIB_DIR" 2>/dev/null || true
run_privileged rm -rf "$RUN_STATE_DIR"
echo "Removing desktop entries"
run_privileged rm -f "$DESKTOP_ENTRY_PATH"
rm -f "$HOME/Desktop/LG_Buddy_Brightness.desktop"
echo "Removing python virtual environment"
run_privileged rm -rf "$VENV_DIR"
if [ -f "$CONFIG_FILE" ]; then
REMOVE_CONFIG="$REMOVE_CONFIG_RESPONSE"
if [ -z "$REMOVE_CONFIG" ] && [ "$NONINTERACTIVE" != "1" ]; then
read -p "Remove user configuration at $CONFIG_FILE? [y/N] " REMOVE_CONFIG
fi
case "$REMOVE_CONFIG" in
[Yy]*|1|true|TRUE|True|yes|YES|Yes)
rm -f "$CONFIG_FILE"
rmdir "$CONFIG_DIR" 2>/dev/null || true
echo "Removed user configuration."
;;
*)
echo "Keeping user configuration at $CONFIG_FILE"
;;
esac
fi
echo "Done."