aboutsummaryrefslogtreecommitdiff
path: root/debian/desktop-autoloader.postinst
blob: ba281589f832854719db9fb96eb5fb48ce882cdc (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
#!/bin/sh
# postinst script for desktop-autoloader
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

case "$1" in
	configure)

		# setup desktop-autoloader user and group
		if ! getent group desktop-autoloader >/dev/null; then
			echo "Creating desktop-autoloader group." >&2
			addgroup --system desktop-autoloader
		else
			echo "Group desktop-autoloader already exists." >&2
		fi
		if ! getent passwd desktop-autoloader >/dev/null; then
			echo "Creating desktop-autoloader user." >&2
			adduser --system --no-create-home \
			        --disabled-password --disabled-login \
			        --shell /bin/true --group --home /var/lib/desktop-autoloader desktop-autoloader
		else
			echo "User desktop-autoloader already exists." >&2
			# make sure all settings are appropriate
			if [ "`id -gn desktop-autoloader`" != "desktop-autoloader" ]; then
				usermod --gid desktop-autoloader desktop-autoloader
				test -d /var/lib/desktop-autoloader && \
					usermod --home /var/lib/desktop-autoloader desktop-autoloader || \
					usermod --move-home --home /var/lib/desktop-autoloader desktop-autoloader
			fi
			if [ "`ls -1d ~desktop-autoloader`" != "/var/lib/desktop-autoloader" ]; then
				usermod --move-home --home /var/lib/desktop-autoloader desktop-autoloader
			fi
			# we leave user shell alone. we have never set this wrongly
			# and we need to respect the administrator's choices
		fi

		mkdir -p ~desktop-autoloader/.config/
		chown desktop-autoloader:desktop-autoloader ~desktop-autoloader/ -Rf
		if [ ! -h ~desktop-autoloader/.config/autostart ]; then
			rm -Rf ~desktop-autoloader/.config/autostart
			ln -s /etc/desktop-autoloader/autostart ~desktop-autoloader/.config/autostart
		fi
		;;

	abort-upgrade|abort-remove|abort-deconfigure)
		;;

	*)
		echo "postinst called with unknown argument \`$1'" >&2
		exit 1
		;;
esac

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

#DEBHELPER#

exit 0