postinst is in cyrus-common 2.5.10-3ubuntu1.
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 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | #! /bin/sh
# postinst script for cyrus-common
# Copyright (c) 2002 by Henrique de Moraes Holschuh
# Distributed under the GNU General Public License version 2
#
# 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>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see /usr/doc/packaging-manual/
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
# Source debconf library.
. /usr/share/debconf/confmodule
CONF="/etc/imapd.conf"
CYRUS_CONFIG_DIR="/var/lib/cyrus"
[ -r /etc/default/cyrus-imapd ] && . /etc/default/cyrus-imapd
getconf () {
if [ -r "${CONF}" ]; then
confvalue=$(sed --silent -e "/^[[:blank:]]*${1}:/ { \
s#^[[:blank:]]*${1}:[[:blank:]]*## \
p
}" < "${CONF}" | head -1)
result=${confvalue:-$2}
else
result=${2}
fi
}
case "$1" in
configure)
# Add the cyrus user (requires adduser >= 3.34)
echo "Creating/updating cyrus user account..."
adduser --quiet --system --ingroup mail --home /var/spool/cyrus \
--shell /bin/sh --no-create-home --disabled-password \
--gecos "Cyrus Mailsystem User" cyrus >/dev/null || {
if getent passwd | grep -s -q -E '^cyrus:'; then
echo "Non-system user cyrus found. I will not overwrite a non-system" >&2
echo "user. Remove the user and reinstall cyrus-common." >&2
exit 1
fi
# unknown adduser error, simply exit
exit 1
}
# Force correct owner and modes
dpkg-statoverride --list /var/lib/cyrus 2>&1 >/dev/null ||
dpkg-statoverride --update --add cyrus mail 750 /var/lib/cyrus
dpkg-statoverride --list /var/spool/cyrus 2>&1 >/dev/null ||
dpkg-statoverride --update --add cyrus mail 755 /var/spool/cyrus
dpkg-statoverride --list /var/spool/sieve 2>&1 >/dev/null ||
dpkg-statoverride --update --add cyrus mail 755 /var/spool/sieve
# Remove old statoverrides
if dpkg-statoverride --list /var/run/cyrus 2>&1 >/dev/null; then
dpkg-statoverride --update --remove /var/run/cyrus;
fi
if dpkg-statoverride --list /var/run/cyrus/socket 2>&1 >/dev/null; then
dpkg-statoverride --remove /var/run/cyrus/socket;
fi
# Add user cyrus to group SASL, if such group exists
adduser cyrus sasl || true
if [ -z "$2" ]; then
echo -n "cyrus-common: Creating cyrus-imapd directories..."
cyrus makedirs --cleansquat
echo "done."
fi
# Add USERDENY database if doesn't exist
getconf configdirectory ${CYRUS_CONFIG_DIR}
CYRUS_CONFIG_DIR=$result
userdeny_database="${CYRUS_CONFIG_DIR}/user_deny.db"
if [ ! -e ${userdeny_database} ]; then
echo -n "cyrus-common: Creating empty user_deny database..."
touch ${userdeny_database}
chmod 600 ${userdeny_database}
chown cyrus:mail ${userdeny_database}
echo "done."
fi
if [ -f /usr/lib/cyrus/cyrus-db-types.active ]; then
/usr/lib/cyrus/bin/upgrade-db
RET="$?"
case "$RET" in
0) ;;
2)
echo "ERROR: Upgrading of database backends failed." 1>&2
echo "ERROR: Please check the output, fix errors and re-run /usr/lib/cyrus/bin/upgrade-db" 1>&2
echo "ERROR: script, before trying to start cyrus-imapd." 1>&2
;;
1|*)
echo "ERROR: Upgrading of database backends failed with a fatal error." 1>&2
echo "ERROR: Please check /usr/share/doc/cyrus-common/README.Debian*" 1>&2
echo "ERROR: for instructions how to upgrade cyrus databases manually." 1>&2
exit $RET;
;;
esac
fi
# Legacy code / needed in case something will change in future
# Hopefully this will be handled by upstream next time
cp -p /usr/lib/cyrus/cyrus-hardwired-config.txt \
/usr/lib/cyrus/cyrus-hardwired-config.active
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_installinit/11.1.4ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
# In case this system is running systemd, we need to ensure that all
# necessary tmpfiles (if any) are created before starting.
if [ -d /run/systemd/system ] ; then
systemd-tmpfiles --create /usr/lib/tmpfiles.d/cyrus-imapd.conf >/dev/null || true
fi
fi
# End automatically added section
# Automatically added by dh_installinit/11.1.4ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -x "/etc/init.d/cyrus-imapd" ]; then
update-rc.d cyrus-imapd defaults >/dev/null
invoke-rc.d cyrus-imapd start || exit 1
fi
fi
# End automatically added section
exit 0
|