summaryrefslogtreecommitdiff
path: root/tools/linux_packaging/uninstall.sh.in
blob: 468a4035fa73e3532e54b6aee82b7e0fc72cf34e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/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


#### 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 xdg utils
#######################
HAS_XDG="T"

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
		sudo xdg-desktop-menu uninstall ${MENU_FILE_PATH}
		sudo xdg-icon-resource uninstall --size 16 ${ICON_NAME}
		sudo xdg-icon-resource uninstall --size 22 ${ICON_NAME}
		sudo xdg-icon-resource uninstall --size 32 ${ICON_NAME}
		sudo xdg-icon-resource uninstall --size 48 ${ICON_NAME}

		if [ -e /usr/share/icons/hicolor/scalable/apps/${ICON_NAME}.svg ]; 
		then
			sudo rm -f /usr/share/icons/hicolor/scalable/apps/${ICON_NAME}.svg
		fi
	fi

	if [ -e ~/Desktop/${DESKTOP_LINK_FILE} ];
	then
		sudo rm -f ~/Desktop/${DESKTOP_LINK_FILE}
	fi

	# delete the old package
	sudo rm -rf ${PGM_PATH}
	sudo rm -f $0
else
	echo ""
	echo "!!! FAILURE !!! - install path ${PGM_PATH} does not exist."
	echo ""
fi