Added NIX uninstallation script

This commit is contained in:
Valentino Orlandi 2022-12-07 12:14:14 +01:00
parent 7d6fc21607
commit cb6d5a8fa4
Signed by: elB4RTO
GPG Key ID: 1719E976DB2D4E71
1 changed files with 142 additions and 0 deletions

142
uninstall.sh Normal file
View File

@ -0,0 +1,142 @@
#!/bin/bash
# Start uninstalling
echo "$(tput setaf 12)==>$(tput sgr0) $(tput bold)Uninstalling$(tput sgr0)"
# Remove the executable
if [ -e /usr/bin/logdoctor ]
then
sudo rm /usr/bin/logdoctor
if [[ "$?" != "0" ]]
then
echo "$(tput setaf 1)Error:$(tput sgr0) failed to remove the executable: $(tput setaf 11)/usr/bin/logdoctor$(tput sgr0)"
fi
else
echo "$(tput setaf 11)Warning:$(tput sgr0) executable not found"
fi
# Remove LogDoctor's data
if [ -e /usr/share/LogDoctor ]
then
sudo rm -r /usr/share/LogDoctor
if [[ "$?" != "0" ]]
then
echo "$(tput setaf 1)Error:$(tput sgr0) failed to remove LogDoctor's data: $(tput setaf 11)/usr/share/LogDoctor$(tput sgr0)"
fi
else
echo "$(tput setaf 11)Warning:$(tput sgr0) LogDoctor's data folder not found"
fi
# Remove the menu entry
if [ -e /usr/share/applications/LogDoctor.desktop ]
then
sudo rm /usr/share/applications/LogDoctor.desktop
if [[ "$?" != "0" ]]
then
echo "$(tput setaf 1)Error:$(tput sgr0) failed to remove the menu entry: $(tput setaf 11)/usr/share/applications/LogDoctor.desktop$(tput sgr0)"
fi
else
echo "$(tput setaf 11)Warning:$(tput sgr0) menu entry not found"
fi
# Ask about removing databases
if [ -f ~/.config/LogDoctor/logdoctor.conf ]
then
db_data_path=$(grep DatabaseDataPath ~/.config/LogDoctor/logdoctor.conf | cut -d\= -f2)
db_hashes_path=$(grep DatabaseHashesPath ~/.config/LogDoctor/logdoctor.conf | cut -d\= -f2)
if [ -e "$db_data_path" ] | [ -e "$db_hashes_path" ]
then
while :
do
printf "Remove the databases? [y/n] : "
read rem
case $rem
in
"y"|"Y"|[yY][eE][sS])
# Remove the data collection database
if [ -e "$db_data_path/collection.db" ]
then
rm "$db_data_path/collection.db"
if [[ "$?" != "0" ]]
then
echo "$(tput setaf 1)Error:$(tput sgr0) failed to remove data collection database: $(tput setaf 11)$db_data_path/collection.db$(tput sgr0)"
fi
if [ -d "$db_data_path/backups" ]
then
rm -r "$db_data_path/backups"
if [[ "$?" != "0" ]]
then
echo "$(tput setaf 1)Error:$(tput sgr0) failed to remove data collection database backups: $(tput setaf 11)$db_data_path/backups$(tput sgr0)"
fi
else
echo "$(tput setaf 11)Warning:$(tput sgr0) data collection database's backups folder not found"
fi
else
echo "$(tput setaf 11)Warning:$(tput sgr0) data collection database not found"
fi
# Remove the hashes database
if [ -e "$db_hashes_path/hashes.db" ]
then
rm "$db_hashes_path/hashes.db"
if [[ "$?" != "0" ]]
then
echo "$(tput setaf 1)Error:$(tput sgr0) failed to remove hashes database: $(tput setaf 11)$db_hashes_path/hashes.db$(tput sgr0)"
fi
else
echo "$(tput setaf 11)Warning:$(tput sgr0) hashes database not found"
fi
# Wipe the default folder
if [ -e ~/.local/share/LogDoctor ]
then
rm -r ~/.local/share/LogDoctor
if [[ "$?" != "0" ]]
then
echo "$(tput setaf 1)Error:$(tput sgr0) failed to remove the default databases folder: $(tput setaf 11)"~/.local/share/LogDoctor"$(tput sgr0)"
fi
else
echo "$(tput setaf 11)Warning:$(tput sgr0) default databases' folder not found"
fi
break
;;
"n"|"N"|[nN][oO])
break
;;
*)
echo "Invalid answer"
;;
esac
done
fi
fi
# Ask about removing the configuration file
if [ -e ~/.config/LogDoctor ]
then
while :
do
printf "Remove the configuration file? [y/n] : "
read rem
case $rem
in
"y"|"Y"|[yY][eE][sS])
rm -r ~/.config/LogDoctor
if [[ "$?" != "0" ]]
then
echo "$(tput setaf 1)Error:$(tput sgr0) failed to remove the configuration: $(tput setaf 11)"~/.config/LogDoctor"$(tput sgr0)"
fi
;;
"n"|"N"|[nN][oO])
break
;;
*)
echo "Invalid answer"
;;
esac
done
else
echo "$(tput setaf 11)Warning:$(tput sgr0) configurations' folder not found"
fi
# Uninstallation finished
echo "$(tput setaf 10)-->$(tput sgr0) $(tput bold)Uninstallation finished$(tput sgr0)"