git-svn-id: svn://localhost/ardour2/branches/3.0@10502 d708f5d6-7413-0410-9779-e7cbd77b26cf
146 lines
4.0 KiB
Bash
146 lines
4.0 KiB
Bash
#!/bin/sh
|
|
|
|
######################################
|
|
#
|
|
# Ardour/Mixbus bundle uninstaller
|
|
# Todd Naugle
|
|
#
|
|
#####################################
|
|
|
|
|
|
PGM_NAME="%REPLACE_PGM%"
|
|
PGM_VENDOR="%REPLACE_VENDOR%"
|
|
PGM_VERSION="%REPLACE_VERSION%"
|
|
PGM_BUILD="%REPLACE_BUILD%"
|
|
PGM_BUILDTYPE="%REPLACE_TYPE%"
|
|
|
|
INSTALL_DEST_BASE=/opt
|
|
|
|
USER_NAME=$(logname)
|
|
|
|
|
|
#### Derived Variables ####
|
|
if [ -z "${PGM_BUILDTYPE}" ]; then
|
|
PGM_PATH=${INSTALL_DEST_BASE}/${PGM_NAME}-${PGM_VERSION}_${PGM_BUILD}
|
|
ICON_NAME="${PGM_VENDOR}-${PGM_NAME}_${PGM_VERSION}" #no dash between name and version since dash seperates vendor from program
|
|
MENU_FILE="${PGM_VENDOR}-${PGM_NAME}_${PGM_VERSION}.desktop" #no dash between name and version since dash seperates vendor from program
|
|
DESKTOP_LINK_FILE="${PGM_NAME}_${PGM_VERSION}.desktop"
|
|
else
|
|
PGM_PATH=${INSTALL_DEST_BASE}/${PGM_NAME}-${PGM_VERSION}_${PGM_BUILD}-${PGM_BUILDTYPE}
|
|
ICON_NAME="${PGM_VENDOR}-${PGM_NAME}_${PGM_VERSION}_${PGM_BUILDTYPE}" #no dash between name and version since dash seperates vendor from program
|
|
MENU_FILE="${PGM_VENDOR}-${PGM_NAME}_${PGM_VERSION}_${PGM_BUILDTYPE}.desktop" #no dash between name and version since dash seperates vendor from program
|
|
DESKTOP_LINK_FILE="${PGM_NAME}_${PGM_VERSION}_${PGM_BUILDTYPE}.desktop"
|
|
fi
|
|
|
|
MENU_FILE_PATH="${PGM_PATH}/share/${MENU_FILE}"
|
|
|
|
|
|
#############################
|
|
# Check for root privileges
|
|
#############################
|
|
|
|
SUPER=""
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
|
|
if ! which sudo > /dev/null;
|
|
then
|
|
echo ""
|
|
echo "!!! ERROR !!!"
|
|
echo ""
|
|
echo "The uninstaller requires root privileges. It is currently not"
|
|
echo "running as root AND the program sudo is missing from this system."
|
|
echo ""
|
|
echo "Please correct this by running the uninstaller as root or"
|
|
echo "installing and configuring sudo."
|
|
echo ""
|
|
read -p "Press ENTER to exit uninstaller:" BLAH
|
|
exit 1
|
|
fi
|
|
|
|
if ! sudo date;
|
|
then
|
|
echo ""
|
|
echo "!!! ERROR !!!"
|
|
echo ""
|
|
echo "Either you don't know the root password or the user is not allowed to sudo"
|
|
echo "Please correct this and run the uninstaller again"
|
|
echo "(hint: use visudo to edit sudoers file or run the installer as root)"
|
|
echo ""
|
|
read -p "Press ENTER to exit uninstaller:" BLAH
|
|
exit 1
|
|
fi
|
|
SUPER="sudo"
|
|
fi
|
|
|
|
#######################
|
|
# Check for xdg utils
|
|
#######################
|
|
HAS_XDG="T"
|
|
|
|
#load the file that contains the translated names of the users directories
|
|
if [ -e /home/${USER_NAME}/.config/user-dirs.dirs ]; then
|
|
. /home/${USER_NAME}/.config/user-dirs.dirs
|
|
fi
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
USER_DESKTOP_DIR=${XDG_DESKTOP_DIR:-$HOME/Desktop}
|
|
else
|
|
#running as root with su makes this more difficult
|
|
DESKTOP_FOLDER=$(echo ${XDG_DESKTOP_DIR:-$HOME/Desktop} | awk -F/ '{print $NF}')
|
|
USER_DESKTOP_DIR="/home/${USER_NAME}/${DESKTOP_FOLDER}"
|
|
fi
|
|
|
|
XDG_MENU_VER=$(xdg-desktop-menu --version 2> /dev/null)
|
|
if [ -z "$XDG_MENU_VER" ];
|
|
then
|
|
echo "System does not have xdg-desktop-menu installed"
|
|
HAS_XDG="F"
|
|
fi
|
|
|
|
XDG_ICON_VER=$(xdg-icon-resource --version 2> /dev/null)
|
|
if [ -z "$XDG_ICON_VER" ];
|
|
then
|
|
echo "System does not have xdg-icon-resource installed"
|
|
HAS_XDG="F"
|
|
fi
|
|
|
|
|
|
#############
|
|
# Uninstall
|
|
#############
|
|
|
|
if [ -d ${PGM_PATH} ];
|
|
then
|
|
echo ""
|
|
echo "Removing existing ${PGM_NAME} installation at ${PGM_PATH}"
|
|
echo ""
|
|
|
|
if [ "T" = ${HAS_XDG} ];
|
|
then
|
|
${SUPER} xdg-desktop-menu uninstall ${MENU_FILE_PATH}
|
|
${SUPER} xdg-icon-resource uninstall --size 16 ${ICON_NAME}
|
|
${SUPER} xdg-icon-resource uninstall --size 22 ${ICON_NAME}
|
|
${SUPER} xdg-icon-resource uninstall --size 32 ${ICON_NAME}
|
|
${SUPER} xdg-icon-resource uninstall --size 48 ${ICON_NAME}
|
|
|
|
if [ -e /usr/share/icons/hicolor/scalable/apps/${ICON_NAME}.svg ];
|
|
then
|
|
${SUPER} rm -f /usr/share/icons/hicolor/scalable/apps/${ICON_NAME}.svg
|
|
fi
|
|
fi
|
|
|
|
if [ -e ${USER_DESKTOP_DIR}/${DESKTOP_LINK_FILE} ];
|
|
then
|
|
${SUPER} rm -f ${USER_DESKTOP_DIR}/${DESKTOP_LINK_FILE}
|
|
fi
|
|
|
|
# delete the old package
|
|
${SUPER} rm -rf ${PGM_PATH}
|
|
${SUPER} rm -f $0
|
|
else
|
|
echo ""
|
|
echo "!!! FAILURE !!! - install path ${PGM_PATH} does not exist."
|
|
echo ""
|
|
fi
|