3 ######################################
5 # Ardour/Mixbus bundle uninstaller
8 #####################################
10 MAJOR_VERSION="%REPLACE_MAJOR_VERSION%"
12 PGM_NAME="%REPLACE_PGM%"
13 PGM_VENDOR="%REPLACE_VENDOR%"
14 PGM_VERSION="%REPLACE_VERSION%"
15 PGM_BUILDTYPE="%REPLACE_TYPE%"
17 INSTALL_DEST_BASE=/opt
18 USER_BIN_DIR="/usr/local/bin"
20 UNINSTALLER="$(readlink -f "$0")"
25 #### Derived Variables ####
26 if [ -z "${PGM_BUILDTYPE}" ]; then
27 PGM_PATH=${INSTALL_DEST_BASE}/${PGM_NAME}-${PGM_VERSION}
28 ICON_NAME="${PGM_VENDOR}-${PGM_NAME}_${PGM_VERSION}" #no dash between name and version since dash seperates vendor from program
29 MENU_FILE="${PGM_VENDOR}-${PGM_NAME}_${PGM_VERSION}.desktop" #no dash between name and version since dash seperates vendor from program
30 DESKTOP_LINK_FILE="${PGM_NAME}_${PGM_VERSION}.desktop"
32 PGM_PATH=${INSTALL_DEST_BASE}/${PGM_NAME}-${PGM_VERSION}-${PGM_BUILDTYPE}
33 ICON_NAME="${PGM_VENDOR}-${PGM_NAME}_${PGM_VERSION}_${PGM_BUILDTYPE}" #no dash between name and version since dash seperates vendor from program
34 MENU_FILE="${PGM_VENDOR}-${PGM_NAME}_${PGM_VERSION}_${PGM_BUILDTYPE}.desktop" #no dash between name and version since dash seperates vendor from program
35 DESKTOP_LINK_FILE="${PGM_NAME}_${PGM_VERSION}_${PGM_BUILDTYPE}.desktop"
38 MENU_FILE_PATH="${PGM_PATH}/share/${MENU_FILE}"
41 #############################
42 # Check for root privileges
43 #############################
47 if [ "$(id -u)" != "0" ]; then
49 if ! which sudo > /dev/null;
52 echo "Attempting to uninstall using su"
53 echo "Please enter root password below"
56 if ! su -c "${UNINSTALLER}";
61 echo "This uninstaller requires root privileges. It is currently not"
62 echo "running as root AND an attempt to use su failed."
64 echo "Please correct this by installing and configuring sudo or running"
65 echo "the uninstaller as root (su -c)."
67 read -p "Press ENTER to exit uninstaller:" BLAH
72 sudo -k # make sudo forget about cached credentials
78 echo "Attempting to uninstall using su"
79 echo "Please enter root password below"
82 if ! su -c "${UNINSTALLER}";
87 echo "This uninstaller requires root privileges. It is currently not"
88 echo "running as root AND an attempt to use both sudo and su failed."
90 echo "Please correct this by installing and configuring sudo or running"
91 echo "the uninstaller as root (su -c)."
93 read -p "Press ENTER to exit uninstaller:" BLAH
101 #######################
102 # Check for xdg utils
103 #######################
106 #load the file that contains the translated names of the users directories
107 if [ -e /home/${USER_NAME}/.config/user-dirs.dirs ]; then
108 . /home/${USER_NAME}/.config/user-dirs.dirs
111 if [ "$(id -u)" != "0" ]; then
112 USER_DESKTOP_DIR=${XDG_DESKTOP_DIR:-$HOME/Desktop}
114 #running as root with su makes this more difficult
115 DESKTOP_FOLDER=$(echo ${XDG_DESKTOP_DIR:-$HOME/Desktop} | awk -F/ '{print $NF}')
116 USER_DESKTOP_DIR="/home/${USER_NAME}/${DESKTOP_FOLDER}"
119 XDG_MENU_VER=$(xdg-desktop-menu --version 2> /dev/null)
120 if [ -z "$XDG_MENU_VER" ];
122 echo "System does not have xdg-desktop-menu installed"
126 XDG_ICON_VER=$(xdg-icon-resource --version 2> /dev/null)
127 if [ -z "$XDG_ICON_VER" ];
129 echo "System does not have xdg-icon-resource installed"
138 if [ -d ${PGM_PATH} ];
141 echo "Removing existing ${PGM_NAME} installation at ${PGM_PATH}"
144 if [ "T" = ${HAS_XDG} ];
146 ${SUPER} xdg-desktop-menu uninstall ${MENU_FILE_PATH}
147 ${SUPER} xdg-icon-resource uninstall --size 16 ${ICON_NAME}
148 ${SUPER} xdg-icon-resource uninstall --size 22 ${ICON_NAME}
149 ${SUPER} xdg-icon-resource uninstall --size 32 ${ICON_NAME}
150 ${SUPER} xdg-icon-resource uninstall --size 48 ${ICON_NAME}
152 if [ -e /usr/share/icons/hicolor/scalable/apps/${ICON_NAME}.svg ];
154 ${SUPER} rm -f /usr/share/icons/hicolor/scalable/apps/${ICON_NAME}.svg
158 if [ -e ${USER_DESKTOP_DIR}/${DESKTOP_LINK_FILE} ];
160 ${SUPER} rm -f ${USER_DESKTOP_DIR}/${DESKTOP_LINK_FILE}
163 # delete the bin link if it is linked to this version
164 if [ -e "${USER_BIN_DIR}/${PGM_NAME}${MAJOR_VERSION}" ];
166 BIN_LINK_TARGET=$(readlink "${USER_BIN_DIR}/${PGM_NAME}${MAJOR_VERSION}")
167 BIN_LINK_TARGET_DIR=$(dirname "${BIN_LINK_TARGET}")
169 if [ "${BIN_LINK_TARGET_DIR}" = "${PGM_PATH}/bin" ];
171 ${SUPER} rm -f "${USER_BIN_DIR}/${PGM_NAME}${MAJOR_VERSION}"
176 # delete the old package
177 ${SUPER} rm -rf ${PGM_PATH}
181 echo "!!! FAILURE !!! - install path ${PGM_PATH} does not exist."