-
Notifications
You must be signed in to change notification settings - Fork 34
/
uninstall.sh
66 lines (59 loc) · 2.28 KB
/
uninstall.sh
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
#!/usr/bin/env bash
# Script flags
PATH_FLAG=''
while getopts 'P:' flag; do
case "${flag}" in
P)
PATH_FLAG="${OPTARG}"
INSTALL_PATH="${PATH_FLAG}"
;;
*)
echo "Error: Flag not supported."
exit
;;
esac
done
# Locate install directory
if [ -z ${INSTALL_PATH+x} ]; then
INSTALL_PATH=$(readlink -e $(type -p spotify) 2> /dev/null | rev | cut -d/ -f2- | rev)
if [[ -d ${INSTALL_PATH} && ${INSTALL_PATH} != "/usr/bin" ]]; then
echo "Spotify directory found in PATH: ${INSTALL_PATH}"
elif [[ ! -d ${INSTALL_PATH} ]]; then
echo -e "\nSpotify not found in PATH. Searching for Spotify directory..."
INSTALL_PATH=$(timeout 10 find / -type f -path "*/spotify*Apps/*" -name "xpui.spa" -size -7M -size +3M -print -quit 2> /dev/null | rev | cut -d/ -f3- | rev)
if [[ -d ${INSTALL_PATH} ]]; then
echo "Spotify directory found: ${INSTALL_PATH}"
elif [[ ! -d ${INSTALL_PATH} ]]; then
echo -e "Spotify directory not found. Set directory path with -P flag.\nExiting...\n"
exit
fi
elif [[ ${INSTALL_PATH} == "/usr/bin" ]]; then
echo -e "\nSpotify PATH is set to /usr/bin, searching for Spotify directory..."
INSTALL_PATH=$(timeout 10 find / -type f -path "*/spotify*Apps/*" -name "xpui.spa" -size -7M -size +3M -print -quit 2> /dev/null | rev | cut -d/ -f3- | rev)
if [[ -d ${INSTALL_PATH} && ${INSTALL_PATH} != "/usr/bin" ]]; then
echo "Spotify directory found: ${INSTALL_PATH}"
elif [[ ${INSTALL_PATH} == "/usr/bin" ]] || [[ ! -d ${INSTALL_PATH} ]]; then
echo -e "Spotify directory not found. Set directory path with -P flag.\nExiting...\n"
exit
fi
fi
else
if [[ ! -d ${INSTALL_PATH} ]]; then
echo -e "Directory path set by -P was not found.\nExiting...\n"
exit
fi
fi
# XPUI paths
XPUI_PATH="${INSTALL_PATH}/Apps"
XPUI_SPA="${XPUI_PATH}/xpui.spa"
XPUI_BAK="${XPUI_PATH}/xpui.bak"
# Check for backup file
if [[ ! -f ${XPUI_BAK} ]]; then
echo -e "Backup file not found.\nExiting...\n"
exit
fi
# Uninstall patch
echo "Removing patch..."
rm "${XPUI_SPA}"
mv "${XPUI_BAK}" "${XPUI_SPA}"
echo -e "SpotX patch removed and backup restored!\n"