#!/bin/bash #Generate application uninstallers for macOS. #Parameters DATE=`date +%Y-%m-%d` TIME=`date +%H:%M:%S` LOG_PREFIX="[$DATE $TIME]" #Functions log_info() { echo "${LOG_PREFIX}[INFO]" $1 } log_warn() { echo "${LOG_PREFIX}[WARN]" $1 } log_error() { echo "${LOG_PREFIX}[ERROR]" $1 } #Check running user if (( $EUID != 0 )); then echo "Please run as root." exit fi echo "Welcome to Application Uninstaller" echo "The following packages will be REMOVED:" echo " Zrythm-@ZRYTHM_PRODUCT_VERSION@" while true; do read -p "Do you wish to continue [Y/n]?" answer [[ $answer == "y" || $answer == "Y" || $answer == "" ]] && break [[ $answer == "n" || $answer == "N" ]] && exit 0 echo "Please answer with 'y' or 'n'" done #Need to replace these with install preparation script VERSION=@ZRYTHM_PRODUCT_VERSION@ PRODUCT=Zrythm echo "Application uninstalling process started" # remove link to shorcut file find "/usr/local/bin/" -name "zrythm-@ZRYTHM_PRODUCT_VERSION@" | xargs rm if [ $? -eq 0 ] then echo "[1/5] [DONE] Successfully deleted shortcut links" else echo "[1/5] [ERROR] Could not delete shortcut links" >&2 fi # remove bundled Lv2 plugins find "/Library/Audio/Plug-Ins/LV2" -name "Zrythm-$VERSION*" | \ xargs rm -rf if [ $? -eq 0 ] then echo "[2/5] [DONE] Successfully deleted bundled plugins" else echo "[2/5] [ERROR] Could not delete bundled plugins" >&2 fi # remove .app find "/Applications" -name "Zrythm-$VERSION.app" | \ xargs rm -rf if [ $? -eq 0 ] then echo "[3/5] [DONE] Successfully deleted Zrythm.app" else echo "[3/5] [ERROR] Could not delete Zrythm.app" >&2 fi #forget from pkgutil pkgutil --forget "org.$PRODUCT.$VERSION" > /dev/null 2>&1 if [ $? -eq 0 ] then echo "[4/5] [DONE] Successfully deleted application informations" else echo "[4/5] [ERROR] Could not delete application informations" >&2 fi #remove application source distribution [ -e "/Library/${PRODUCT}/${VERSION}" ] && rm -rf "/Library/${PRODUCT}/${VERSION}" if [ $? -eq 0 ] then echo "[5/5] [DONE] Successfully deleted application" else echo "[5/5] [ERROR] Could not delete application" >&2 fi echo "Application uninstall process finished" exit 0