diff options
Diffstat (limited to 'debian/sendmail.preinst.in')
-rw-r--r-- | debian/sendmail.preinst.in | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/debian/sendmail.preinst.in b/debian/sendmail.preinst.in new file mode 100644 index 0000000..17d115d --- /dev/null +++ b/debian/sendmail.preinst.in @@ -0,0 +1,61 @@ +#!/bin/sh -e +# +# Debian pre install script +# +# Install of already installed package: +# 1) Upgrade of package: +# new-preinst upgrade old-version +# *) new-postrm abort-upgrade old-version +# 2) package had some configuration files from a previous version installed +# new-preinst install old-version +# *) new-postrm abort-install old-version +# 3) Otherwise (i.e., the package was completely purged) +# new-preinst install +# *) new-postrm abort-install +# +set -e; + +PACKAGE=`echo "$(basename $0)" | sed -e 's/\.preinst$//'`; + +# do we have debconf? +if [ -f /usr/share/debconf/confmodule ]; then + DEBCONF=true; + . /usr/share/debconf/confmodule; +else + DEBCONF=''; + fi; + +case "$1" in + install) + ;; + + upgrade) + # DPKG doesn't overwrite directories with symlinks... + rm -rf @docdir@/sendmail/examples 2>/dev/null || true; + rm -rf @libdir@/sendmail 2>/dev/null || true; + + # Somehow, /etc/logrotate.d/sendmail didn't get erased !?! + rm -rf @sysconfdir@/logrotate.d/sendmail 2>/dev/null || true; + + # Prevent cronjob from running during upgrade... + if [ -f /etc/cron.d/sendmail ]; then + echo "#preinst" > @sysconfdir@/cron.d/sendmail; + fi; + + # Move files to new home + if [ -d @sysconfdir@/mail/ssl ]; then + mv -f @sysconfdir@/mail/ssl @sysconfdir@/mail/tls; + fi; + ;; + + abort-upgrade) + ;; + + *) + echo "$PACKAGE preinst called with unknown argument \`$1'" >&2; + exit 1; + ;; + esac; + +#DEBHELPER# +exit 0; |