This file is indexed.

postinst is in ganeti 2.9.3-1.

This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.

The actual contents of the file can be viewed below.

  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
#!/bin/sh
# postinst script for ganeti

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)
	# Groups
	addgroup --quiet --system "gnt-admin"
	addgroup --quiet --system "gnt-confd"
	addgroup --quiet --system "gnt-daemons"
	addgroup --quiet --system "gnt-luxid"
	addgroup --quiet --system "gnt-masterd"
	addgroup --quiet --system "gnt-rapi"

	# Users
	adduser --quiet --system --ingroup "gnt-confd" --no-create-home --disabled-password --disabled-login --home /var/lib/ganeti "gnt-confd"
	adduser --quiet --system --ingroup "gnt-luxid" --no-create-home --disabled-password --disabled-login --home /var/lib/ganeti "gnt-luxid"
	adduser --quiet --system --ingroup "gnt-masterd" --no-create-home --disabled-password --disabled-login --home /var/lib/ganeti "gnt-masterd"
	adduser --quiet --system --ingroup "gnt-rapi" --no-create-home --disabled-password --disabled-login --home /var/lib/ganeti "gnt-rapi"

	# Group memberships
	adduser --quiet "gnt-confd" "gnt-daemons"
	adduser --quiet "gnt-luxid" "gnt-confd"
	adduser --quiet "gnt-luxid" "gnt-daemons"
	adduser --quiet "gnt-luxid" "gnt-masterd"
	adduser --quiet "gnt-masterd" "gnt-admin"
	adduser --quiet "gnt-masterd" "gnt-confd"
	adduser --quiet "gnt-masterd" "gnt-daemons"
	adduser --quiet "gnt-rapi" "gnt-admin"
	adduser --quiet "gnt-rapi" "gnt-daemons"

	# Remove stale PID files
	# Ganeti versions prior to 2.8.0~rc4 leave Haskell daemon pidfiles
	# behind. If these are root-owned, starting the daemons as unprivileged
	# users will fail.

	# All daemons have been stopped during prerm, so it's safe to remove
	# their PID files.
	for daemon in confd mond luxid; do
		rm -f /var/run/ganeti/ganeti-${daemon}.pid
	done

	# Also remove luxid's socket
	rm -f /var/run/ganeti/socket/ganeti-query

	# Since 2.9.0, mond runs as root, so remove the old gnt-mond user (that
	# was also created during 2.9.0~rcX.
	if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.9.0 && \
			getent passwd gnt-mond >/dev/null; then
		find /var/log/ganeti -user gnt-mond -exec chown root:root {} \;
		deluser --system gnt-mond || 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.


# Automatically added by dh_python2:
if which pycompile >/dev/null 2>&1; then
	pycompile -p ganeti /usr/share/ganeti -V 2.6-
fi

# End automatically added section
# Automatically added by dh_installinit
if [ -x "/etc/init.d/ganeti" ] || [ -e "/etc/init/ganeti.conf" ]; then
	if [ ! -e "/etc/init/ganeti.conf" ]; then
		update-rc.d ganeti defaults 20 80 >/dev/null
	fi
	invoke-rc.d ganeti start || true
fi
# End automatically added section


# Fix jobqueue archive permissions
# This may take a while, so we only do this if necessary
find /var/lib/ganeti/queue/archive -mindepth 1 -maxdepth 1 \
		-type d -not -user "gnt-masterd" 2>/dev/null | while read dirname; do
	/usr/lib/ganeti/ensure-dirs --full-run
	break
done

exit 0