#!/bin/sh set -e . /usr/share/debconf/confmodule if [ -n "$EX4DEBUG" ]; then echo "now debugging $0 $@" set -x fi db_version 2.0 BDBVERSION=5.3 case "$1" in configure) if ! getent passwd Debian-exim > /dev/null ; then echo 'Adding system-user for exim (v4)' 1>&2 adduser --system --group --quiet --home /var/spool/exim4 \ --no-create-home --disabled-login --force-badname Debian-exim fi # Create directories for log etc # install also fixes permissions. install -d -oDebian-exim -gadm -m2750 /var/log/exim4 install -d -oDebian-exim -gDebian-exim -m750 /run/exim4 install -d -oDebian-exim -gDebian-exim -m750 /var/spool/exim4 install -d -oDebian-exim -gDebian-exim -m750 /var/spool/exim4/db \ /var/spool/exim4/input /var/spool/exim4/msglog # Paranoia check: On any db upgrade throw away hints # databases. if test -r /var/lib/exim4/berkeleydbvers.txt ; then OLDBDB=`head -n1 /var/lib/exim4/berkeleydbvers.txt` else OLDBDB="unknown" fi if [ "$BDBVERSION" != "$OLDBDB" ] ; then echo exim: DB upgrade, deleting hints-db 1>&2 rm -f /var/spool/exim4/db/misc-* /var/spool/exim4/db/wait-* \ /var/spool/exim4/db/callout* \ /var/spool/exim4/db/retry* \ /var/spool/exim4/db/ratelimit* \ /var/spool/exim4/db/__db.retry \ /var/spool/exim4/db/__db.misc* \ /var/spool/exim4/db/__db.callout \ /var/spool/exim4/db/__db.ratelimit \ /var/spool/exim4/db/__db.wait* \ /var/spool/exim4/db/log.* echo "$BDBVERSION" > /var/lib/exim4/berkeleydbvers.txt fi # Check that db files are readable by this Exim's db library dbfiles="" for f in /var/spool/exim4/db/misc-* /var/spool/exim4/db/wait-* \ /var/spool/exim4/db/callout* /var/spool/exim4/db/retry* \ /var/spool/exim4/db/ratelimit* ; do if [ -f "$f" ]; then if echo $f | grep \.lockfile\$ >/dev/null 2>&1; then : # ignore lock files else dbfiles="$dbfiles $(basename $f)" fi fi done for dbfile in $dbfiles; do if exim_dumpdb /var/spool/exim4 $dbfile >/dev/null 2>&1; then : # File OK else echo "Resetting invalid $dbfile hints db" 1>&2 rm -f /var/spool/exim4/db/$dbfile \ /var/spool/exim4/db/$dbfile.* \ /var/spool/exim4/db/__db.${dbfile}.* \ /var/spool/exim4/db/log.* fi done if [ -x "/etc/init.d/exim4" ]; then update-rc.d exim4 defaults >/dev/null fi # honor dpkg-statoverride settings for files not managed with dpkg for pat in /var/\*/exim4 /var/\*/exim4/\*; do [ $EX4DEBUG ] && eval echo "evaluate statoverride $pat" eval dpkg-statoverride --list $pat | while read USER GROUP MODE FILE; do [ $EX4DEBUG ] && echo "statoverride $USER $GROUP $MODE $FILE" chown ${USER}:${GROUP} $FILE chmod $MODE $FILE done done ;; esac # Automatically added by dh_installtmpfiles/13.15.3 if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then if [ -x "$(command -v systemd-tmpfiles)" ]; then systemd-tmpfiles ${DPKG_ROOT:+--root="$DPKG_ROOT"} --create exim4-base.conf || true fi fi # End automatically added section # Automatically added by dh_installsystemd/13.15.3 if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then # The following line should be removed in trixie or trixie+1 deb-systemd-helper unmask 'exim4-base.timer' >/dev/null || true # was-enabled defaults to true, so new installations run enable. if deb-systemd-helper --quiet was-enabled 'exim4-base.timer'; then # Enables the unit on first installation, creates new # symlinks on upgrades if the unit file has changed. deb-systemd-helper enable 'exim4-base.timer' >/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 'exim4-base.timer' >/dev/null || true fi fi # End automatically added section # Automatically added by dh_installsystemd/13.15.3 if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then if [ -d /run/systemd/system ]; then systemctl --system daemon-reload >/dev/null || true if [ -n "$2" ]; then _dh_action=restart else _dh_action=start fi deb-systemd-invoke $_dh_action 'exim4-base.service' 'exim4-base.timer' >/dev/null || true fi fi # End automatically added section