postinst is in ganeti 2.15.2-3.
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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | #!/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-confd" --no-create-home --disabled-password --disabled-login --home /var/lib/ganeti "gnt-masterd"
adduser --quiet --system --ingroup "gnt-luxid" --no-create-home --disabled-password --disabled-login --home /var/lib/ganeti "gnt-masterd"
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-masterd" "gnt-admin"
adduser --quiet "gnt-masterd" "gnt-confd"
adduser --quiet "gnt-masterd" "gnt-daemons"
adduser --quiet "gnt-masterd" "gnt-masterd"
adduser --quiet "gnt-rapi" "gnt-admin"
adduser --quiet "gnt-rapi" "gnt-daemons"
update_symlinks=0
# Handle symlinks...
# ... if we are upgrading from pre-2.10 versions
if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.10.0; then
update_symlinks=1
# ... or if we are not part of a cluster
elif ! /usr/lib/ganeti/2.15/usr/lib/ganeti/daemon-util check-config 2>/dev/null; then
update_symlinks=1
# ... or if something is broken
elif [ ! -e /etc/ganeti/lib -o ! -e /etc/ganeti/share ]; then
update_symlinks=1
fi
if [ "$update_symlinks" = 1 ]; then
for target in lib share; do
if [ "$(readlink /etc/ganeti/${target})" != "/usr/${target}/ganeti/2.15" ]; then
echo "Linking /etc/ganeti/${target} to /usr/${target}/ganeti/2.15"
ln -snf /usr/${target}/ganeti/2.15 /etc/ganeti/${target}
fi
done
fi
# Restart the service if we have either updated the symlinks, or
# shipped the same minor version. We only stop the service here and
# let the debhelper snippet below start it again.
if [ "$update_symlinks" = 1 -o "${2%.*}" = "2.15" ]; then
if [ -x "/etc/init.d/ganeti" ]; then
invoke-rc.d ganeti stop || true
fi
fi
# Work around bugs of older (pre 2.9) versions. In this case all
# daemons have already been stopped by the old package's prerm.
if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.9.0; then
# 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 getent passwd gnt-mond >/dev/null; then
find /var/log/ganeti -user gnt-mond -exec chown root:root {} \;
deluser --system gnt-mond || true
fi
# 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, 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
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_installinit
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
if [ -x "/etc/init.d/ganeti" ]; then
update-rc.d ganeti defaults 20 80 >/dev/null
fi
if [ -x "/etc/init.d/ganeti" ] || [ -e "/etc/init/ganeti.conf" ]; then
invoke-rc.d ganeti start || true
fi
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
|