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
|