File: policykit-1.postinst

package info (click to toggle)
policykit-1 0.105-18%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 8,780 kB
  • sloc: ansic: 18,618; sh: 11,434; xml: 3,384; makefile: 766
file content (82 lines) | stat: -rw-r--r-- 2,325 bytes parent folder | download
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
#!/bin/sh
# postinst script for policykit-1
#
# 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

set_perms() {
	USER=$1
	GROUP=$2
	MODE=$3
	FILE=$4
	if ! dpkg-statoverride --list $FILE > /dev/null 2>&1; then
		chown $USER:$GROUP $FILE
		chmod $MODE $FILE
	fi
}

get_pid() {
    [ -n "$1" ] || return
    [ -S /var/run/dbus/system_bus_socket ] || return

    dbus-send --system --dest=org.freedesktop.DBus --print-reply \
              /org/freedesktop/DBus org.freedesktop.DBus.GetConnectionUnixProcessID \
              string:$1 2>/dev/null | awk '/uint32/ {print $2}'
}

case "$1" in
    configure)
	set_perms root root 700 /var/lib/polkit-1
	set_perms root root 700 /etc/polkit-1/localauthority
	set_perms root root 4755 /usr/lib/policykit-1/polkit-agent-helper-1
	set_perms root root 4755 /usr/bin/pkexec

	# The service file was renamed to polkit.service to match the upstream name.
	# Stop the old polkitd.service on upgrades.
	if [ -d /run/systemd/system ] && dpkg --compare-versions "$2" lt-nl 0.105-17; then
		systemctl daemon-reload
		deb-systemd-invoke stop polkitd.service || true
	fi

	# Kill the old polkitd daemon on upgrade, to ensure that the new
	# version will be used at the next occasion.
	if [ -d /run/systemd/system ]; then
		# remove the temporary mask from preinst
		systemctl unmask --runtime polkit.service
		systemctl daemon-reload
		deb-systemd-invoke restart polkit.service || true
	else
		kill $(get_pid org.freedesktop.PolicyKit1) 2>/dev/null || true
	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