summarylogtreecommitdiffstats
path: root/unvanquished.install
blob: c74db0f6c429cddf62264758f5658986b1494b2c (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
_update_desktop_environment() {
	# update icon cache
	xdg-icon-resource forceupdate --theme hicolor &> /dev/null

	# install unv:// protocol handler
	update-desktop-database -q
	update-mime-database /usr/share/mime >/dev/null
}

_add_server_user() {
	if ! getent passwd unvanquished >/dev/null; then
		useradd -rM -d /var/lib/unvanquished-server -c "Unvanquished dedicated server" -s /bin/false unvanquished
	fi
}

_delete_server_user() {
	if getent passwd unvanquished >/dev/null; then
		userdel unvanquished
		groupdel unvanquished
	fi
}

_chown_server_home() {
	chown -R unvanquished:unvanquished /var/lib/unvanquished-server
}

_migrate() {
	# delete pre unvanquished-data assets
	if [ -d /var/lib/unvanquished ] && ! pacman -Qo /var/lib/unvanquished >/dev/null 2>&1; then
		echo "Deleting old asset directory..."

		if [ -d /var/lib/unvanquished/main ]; then
			rm -f /var/lib/unvanquished/main/*.pk3
			rmdir /var/lib/unvanquished/main
		fi

		if [ -d /var/lib/unvanquished/pkg ]; then
			rm -f /var/lib/unvanquished/pkg/*.pk3
			rmdir /var/lib/unvanquished/pkg
		fi

		rmdir /var/lib/unvanquished
	fi
	if [ -d /var/cache/unvanquished ] && ! pacman -Qo /var/cache/unvanquished >/dev/null 2>&1; then
		echo "Deleting old asset update cache..."
		rm -r /var/cache/unvanquished
	fi
}

post_install() {
	_add_server_user
	_chown_server_home
	_update_desktop_environment
}

post_upgrade() {
	_migrate
}

pre_remove() {
	true
}

post_remove() {
	_delete_server_user
	_update_desktop_environment
}