aboutsummaryrefslogtreecommitdiff
path: root/tools/Linux/packaging/debian/xbmc-live.postrm
blob: 73136cbc4f80e74f7c6de4bcdea86db6d7030954 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#!/bin/sh
# postrm script for xbmc-live
#
# see: dh_installdeb(1)

set -e
release="$(lsb_release -r | cut -f2 | sed 's/\.//')"
if [ "$1" = "purge" ]; then
	SUDOERS_TEMPFILE=$(mktemp -q)

	# Remove xbmc specific entries from /etc/sudoers
	if test -r /etc/sudoers && grep -i -q XBMC-specific /etc/sudoers ; then
		cat /etc/sudoers > $SUDOERS_TEMPFILE

		sed -i -e "/XBMC/d" $SUDOERS_TEMPFILE

		# Check if sudoers file is ok with visudo and write to /etc/sudoers if
		# it is ok, else display a message to the user.
		if visudo -c -f $SUDOERS_TEMPFILE >/dev/null 2>&1; then
			cat $SUDOERS_TEMPFILE > /etc/sudoers
		else
			# TODO: Use debconf for this message.
			echo "Couldn't edit /etc/sudoers, must be manually edited."
			echo "Please edit /etc/sudoers using 'visudo' and remove the lines with 'XBMC'"
		fi
	fi

	# Remove XBMC sudoers files
	rm $SUDOERS_TEMPFILE

if [ $release -ge 1010 ]; then
        if [ -f " /var/lib/polkit-1/localauthority/50-local.d/20-xbmclive.pkla" ]; then
             rm  "/var/lib/polkit-1/localauthority/50-local.d/20-xbmclive.pkla" > /dev/null
        fi
else
	POLKIT_ACTIONS="org.freedesktop.hal.dockstation.undock
		org.freedesktop.hal.wol.enabled
		org.freedesktop.hal.wol.enable
		org.freedesktop.hal.wol.supported
		org.freedesktop.hal.leds.brightness
		org.freedesktop.hal.device-access.audio-player
		org.freedesktop.hal.device-access.camera
		org.freedesktop.hal.device-access.cdrom
		org.freedesktop.hal.device-access.dvb
		org.freedesktop.hal.device-access.fingerprint-reader
		org.freedesktop.hal.device-access.floppy
		org.freedesktop.hal.device-access.ieee1394-avc
		org.freedesktop.hal.device-access.ieee1394-iidc
		org.freedesktop.hal.device-access.joystick
		org.freedesktop.hal.device-access.mouse
		org.freedesktop.hal.device-access.obex
		org.freedesktop.hal.device-access.pda
		org.freedesktop.hal.device-access.printer
		org.freedesktop.hal.device-access.scanner
		org.freedesktop.hal.device-access.sound
		org.freedesktop.hal.device-access.video
		org.freedesktop.hal.device-access.video4linux
		org.freedesktop.hal.lock
		org.freedesktop.hal.killswitch.bluetooth
		org.freedesktop.hal.killswitch.wlan
		org.freedesktop.hal.killswitch.wwan
		org.freedesktop.hal.storage.mount-removable
		org.freedesktop.hal.storage.eject
		org.freedesktop.hal.storage.crypto-setup-removable
		org.freedesktop.hal.power-management.shutdown
		org.freedesktop.hal.power-management.reboot
		org.freedesktop.hal.power-management.set-powersave
		org.freedesktop.hal.power-management.suspend
		org.freedesktop.hal.power-management.hibernate
		org.freedesktop.hal.power-management.cpufreq
		org.freedesktop.hal.power-management.lcd-panel
		org.freedesktop.hal.power-management.light-sensor
		org.freedesktop.hal.power-management.keyboard-backlight
		org.freedesktop.devicekit.power.suspend
		org.freedesktop.devicekit.power.Hibernate
		org.freedesktop.consolekit.system.stop
		org.freedesktop.devicekit.disks.filesystem-mount
		org.freedesktop.devicekit.disks.filesystem-mount-system-internal
		org.freedesktop.devicekit.disks.filesystem-unmount-others
		org.freedesktop.devicekit.disks.drive-eject
		org.freedesktop.devicekit.disks.drive-detach"

	# Grant the 'xbmc' user each action from the list if not done already
	for ACTION in $POLKIT_ACTIONS; do
		if polkit-auth --user xbmc --show-obtainable | \
			grep -q $ACTION; then
			polkit-auth --user xbmc --revoke $ACTION
		fi
	done
fi
	sed -i s/allowed_users=anybody/allowed_users=console/ /etc/X11/Xwrapper.config
	if [ -f "/etc/X11/Xwrapper.config.bak-xbmc-live" ]; then
		rm /etc/X11/Xwrapper.config.bak-xbmc-live > /dev/null
	fi

	deluser xbmc
  
	if [ -f "/etc/init.d/xbmc-live" ]; then
		rm /etc/init.d/xbmc-live >/dev/null
	fi
	if [ -f "/etc/init/xbmc-live.conf" ]; then
		rm /etc/init/xbmc-live.conf >/dev/null
	fi
	if [ -f "/etc/init/xbmc-live-install" ]; then
		rm /etc/init/xbmc-live-install.conf >/dev/null
	fi


	# Remove <xbmc=* > from grub's kernel entries
	if [ -f /boot/grub/menu.lst ]; then
		if grep -q -i "xbmc=" /boot/grub/menu.lst ; then
			sed -i -e "s/xbmc=autostart,nodiskmount,setvolume loglevel=0//" /boot/grub/menu.lst
		fi
	fi

	if [ -f /boot/grub/grub.cfg ]; then
		if grep -q -i "xbmc=" /etc/default/grub ; then
			sed -i -e "s/xbmc=autostart,nodiskmount,setvolume loglevel=0//" /etc/default/grub
			update-grub
		fi
	fi
fi

update-rc.d -f xbmc-live remove >/dev/null

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0