libretime/uninstall

83 lines
2.0 KiB
Bash
Executable File

#!/bin/bash -e
# -e Causes bash script to exit if any of the steps
# return with a non-zero return value.
if [[ $EUID -ne 0 ]]; then
echo "Please run as root user."
exit 1
fi
getStorDirFromDatabase() {
# here-doc to execute this block as postgres user
su postgres <<'EOF'
set +e
result=$(psql -d airtime -tAc "SELECT directory FROM cc_music_dirs WHERE type='stor'")
set -e
# don't indent this!
EOF
echo $result
}
dropAirtimeDatabase() {
# here-doc to execute this block as postgres user
su postgres <<'EOF'
set +e
psql -d postgres -tAc "DROP DATABASE IF EXISTS airtime; DROP USER IF EXISTS airtime;"
set -e
# don't indent this!
EOF
}
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
AIRTIMEROOT=${SCRIPT_DIR}
STOR_DIR=$(getStorDirFromDatabase)
FILES=(
"${STOR_DIR}"
"/etc/airtime"
"/var/log/airtime"
"/usr/lib/airtime"
"/usr/share/airtime"
"/etc/init/airtime*"
"/usr/bin/airtime*"
"/etc/apache2/sites-available/airtime*"
"pip airtime-playout"
"pip airtime-media-monitor"
)
echo -e "The following files, directories, and services will be removed:\n"
for i in ${FILES[*]}; do
echo $i
done
echo -e "\nThis will *permanently* remove Airtime and all related files from your computer. \
Any files in Airtime directories and subdirectories will be deleted. Are you sure you want to proceed? (Y/n): \c"
read IN
if [[ ! ( "$IN" = "y" || "$IN" = "Y" ) ]]; then
exit 0
fi
echo -e "\nAre you sure you want to remove your music storage directory ${STOR_DIR} and all of its subdirectories? (Y/n): \c"
read IN
if [[ "$IN" = "y" || "$IN" = "Y" ]]; then
rm -rf ${STOR_DIR}
fi
echo "Uninstalling Airtime..."
rm -rf /etc/airtime
rm -rf /var/log/airtime/
rm -rf /usr/lib/airtime/
rm -rf /usr/share/airtime
rm -f /etc/init/airtime*
rm -f /usr/bin/airtime*
rm -f /etc/apache2/sites-enabled/airtime*
rm -f /etc/apache2/sites-available/airtime*
dropAirtimeDatabase
pip uninstall -y airtime-playout airtime-media-monitor
echo "...Done"