AlkantarClanX12
| Current Path : /var/lib/dpkg/info/ |
| Current File : /var/lib/dpkg/info/dovecot-core.postinst |
#!/bin/sh
set -e
if [ "$1" = "configure" ]; then
CONFFILES="dovecot.conf \
dovecot-dict-auth.conf.ext \
dovecot-dict-sql.conf.ext \
dovecot-sql.conf.ext \
conf.d/10-auth.conf \
conf.d/10-director.conf \
conf.d/10-logging.conf \
conf.d/10-mail.conf \
conf.d/10-master.conf \
conf.d/10-ssl.conf \
conf.d/10-tcpwrapper.conf \
conf.d/15-lda.conf \
conf.d/15-mailboxes.conf \
conf.d/90-acl.conf \
conf.d/90-plugin.conf \
conf.d/90-quota.conf \
conf.d/auth-checkpassword.conf.ext \
conf.d/auth-deny.conf.ext \
conf.d/auth-dict.conf.ext \
conf.d/auth-master.conf.ext \
conf.d/auth-passwdfile.conf.ext \
conf.d/auth-sql.conf.ext \
conf.d/auth-static.conf.ext \
conf.d/auth-system.conf.ext \
conf.d/auth-vpopmail.conf.ext"
OLD_CONFFILES="dovecot-ldap.conf \
dovecot-db.conf.ext \
dovecot-sql.conf \
protocols.conf \
dovecot-ldap.conf.ext \
conf.d/20-imap.conf \
conf.d/20-lmtp.conf \
conf.d/20-managesieve.conf \
conf.d/20-pop3.conf \
conf.d/90-sieve.conf \
conf.d/auth-ldap.conf.ext"
OLD_DPKG_CONFFILES="/etc/cron.daily/dovecot \
/etc/dovecot/dovecot-dict-sql-example.conf \
/etc/dovecot/dovecot-db-example.conf"
# purge old dpkg handled conffiles (we can't use dpkg-maintscript-helper because package rename)
for conffile in $OLD_DPKG_CONFFILES ; do
[ -e "$conffile" ] || continue
confmd5="$(md5sum $conffile | awk '{print $1}')"
dpkgmd5="$(dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e "\' $conffile ' { s/ obsolete$//; s/.* //; p }")"
if [ "$confmd5" != "$dpkgmd5" ]; then
echo "Obsolete conffile $conffile has been modified by you."
echo "Saving as $conffile.dpkg-bak ..."
mv -f "$conffile" "$conffile".dpkg-bak
else
echo "Removing obsolete conffile $conffile ..."
rm -f "$conffile"
fi
done
# purge old ucf handled conffiles
for conffile in $OLD_CONFFILES ; do
if ucfq "/etc/dovecot/${conffile}" --with-colons | grep -q "^/etc/dovecot/${conffile}:dovecot-common:"; then
if ucfq --with-colons "/etc/dovecot/${conffile}" | grep -q ":Yes:No"; then
rm -f "/etc/dovecot/${conffile}"
fi
ucf --purge /etc/dovecot/$conffile
ucfr --purge dovecot-common /etc/dovecot/$conffile
for ext in '~' '%' .bak .dpkg-tmp .dpkg-new .dpkg-old .dpkg-dist .ucf-new .ucf-old .ucf-dist; do
rm -f /etc/dovecot/$conffile$ext
done
fi
done
# if we are upgrading from dovecot-common take the ownership of configuration files
for conffile in $(ucfq dovecot-common --with-colons | cut -f 1 -d :); do
ucfr --force dovecot-core $conffile
if [ "$conffile" = "/etc/dovecot/dovecot.conf" ]; then
# avoid ucf question if the only difference is at the "protocols" line
confmd5=$(sed 's/^protocols.*/protocols = none/' "$conffile" | md5sum | awk '{print $1}')
ucfmd5=$(cat /var/lib/ucf/hashfile | grep "$conffile" | awk '{print $1}')
if [ "$confmd5" = "$ucfmd5" ]; then
sed -i 's/^protocols.*/protocols = none/' "$conffile"
fi
# remove old configuration bakup generated by postinst
rm -f $conffile.bak
fi
done
## Users
#
if [ -z "`id -u dovecot 2> /dev/null`" ]; then
adduser --system --group --home /usr/lib/dovecot --gecos "Dovecot mail server" \
--no-create-home --disabled-password --quiet dovecot || true
fi
if [ -z "`id -u dovenull 2> /dev/null`" ]; then
adduser --system --group --home /nonexistent --no-create-home --gecos "Dovecot login user" \
--disabled-password --quiet dovenull || true
fi
for conffile in $CONFFILES ; do
# Tell ucf that the file in /usr/share/dovecot is the latest
# maintainer version, and let it handle how to manage the real
# configuration file in /etc/dovecot.
# Special handling for 10-ssl.conf.
# Copy the file if it does not exist, do nothing otherwise.
if [ "$conffile" = 'conf.d/10-ssl.conf' ]; then
if [ ! -f /etc/dovecot/$conffile ]; then
cp /usr/share/dovecot/$conffile /etc/dovecot/$conffile
chmod 0644 /etc/dovecot/$conffile
fi
# Unregister 10-ssl.conf from ucf if it's there.
ucfr --purge dovecot-core /etc/dovecot/$conffile
continue
fi
ucf --three-way /usr/share/dovecot/$conffile /etc/dovecot/$conffile
ucfr dovecot-core /etc/dovecot/$conffile
if [ "$conffile" != "dovecot.conf" ] && [ -f "/etc/dovecot/$conffile" ] &&
[ `echo $conffile | cut -b -7` != "conf.d/" ]; then
chmod 0640 /etc/dovecot/$conffile
chgrp dovecot /etc/dovecot/$conffile
fi
done
if [ -n "`id -u imapd 2> /dev/null`" ]; then
deluser imapd || true
delgroup imapd || true
fi
fi
if [ "$1" = "triggered" ]; then
if [ -x "/etc/init.d/dovecot" ]; then
invoke-rc.d dovecot restart
fi
fi
# Stop and disable the systemd socket on upgrade if dovecot.service is enabled as well
# (see #803915 and #814999). This will be attempted only once, to allow admins
# to re-enable dovecot.socket if they wish.
if [ "$1" = "configure" ] && [ -n "$2" ] && dpkg --compare-versions "$2" lt "1:2.2.21-1~"; then
if deb-systemd-helper --quiet was-enabled dovecot.service; then
deb-systemd-helper disable dovecot.socket
fi
fi
# Automatically added by dh_systemd_enable
# This will only remove masks created by d-s-h on package removal.
deb-systemd-helper unmask dovecot.service >/dev/null || true
# was-enabled defaults to true, so new installations run enable.
if deb-systemd-helper --quiet was-enabled dovecot.service; then
# Enables the unit on first installation, creates new
# symlinks on upgrades if the unit file has changed.
deb-systemd-helper enable dovecot.service >/dev/null || true
else
# Update the statefile to add new symlinks (if any), which need to be
# cleaned up on purge. Also remove old symlinks.
deb-systemd-helper update-state dovecot.service >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_systemd_enable
if deb-systemd-helper debian-installed dovecot.socket; then
# This will only remove masks created by d-s-h on package removal.
deb-systemd-helper unmask dovecot.socket >/dev/null || true
if deb-systemd-helper --quiet was-enabled dovecot.socket; then
# Create new symlinks, if any.
deb-systemd-helper enable dovecot.socket >/dev/null || true
fi
fi
# Update the statefile to add new symlinks (if any), which need to be cleaned
# up on purge. Also remove old symlinks.
deb-systemd-helper update-state dovecot.socket >/dev/null || true
# End automatically added section
# Automatically added by dh_installinit
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
if [ -x "/etc/init.d/dovecot" ]; then
update-rc.d dovecot defaults 20 >/dev/null
invoke-rc.d dovecot start || exit $?
fi
fi
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/dovecot/README 1:2.2.27-3~ -- "$@"
# End automatically added section