#!/bin/sh

set -e

RUNDIR=/run/opendkim
USER=opendkim
GROUP=opendkim

pathfind() {
  OLDIFS="$IFS"
  IFS=:
  for p in $PATH; do
    if [ -x "$p/$*" ]; then
      IFS="$OLDIFS"
      return 0
    fi
  done
  IFS="$OLDIFS"
  return 1
}

if [ "$1" = "configure" ]; then
	if ! id -u opendkim >/dev/null 2>&1; then
		adduser --quiet --system --group --home /run/opendkim opendkim
	fi

        # Create the run directory if it doesn't exist
        if [ ! -d "$RUNDIR" ]; then
                install -o "$USER" -g "$GROUP" -m 755 -d "$RUNDIR" || exit 2
                if pathfind restorecon; then restorecon "$RUNDIR"
                fi
        fi

	# Set ownership if the admin has not overriden it.
	if [ -d /run/opendkim ] && ! dpkg-statoverride --list /run/opendkim >/dev/null; then
		chown opendkim:opendkim /run/opendkim
	fi
	if [ -d /etc/dkimkeys ] && ! dpkg-statoverride --list /etc/dkimkeys >/dev/null; then
		chown opendkim:opendkim /etc/dkimkeys
		chmod 0700 /etc/dkimkeys
	fi

	# Upgrade /etc/default to systemd override files
	if [ -d /run/systemd/system ] && [ -f /etc/default/opendkim ]; then
		if [ -f /etc/tmpfiles.d/opendkim.conf ]; then
			systemd-tmpfiles --create /etc/tmpfiles.d/opendkim.conf
		fi
	fi
fi

# Automatically added by dh_installtmpfiles/13.11.4
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 opendkim.conf >/dev/null || true
	fi
fi
# End automatically added section
# Automatically added by dh_installinit/13.11.4
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -z "${DPKG_ROOT:-}" ] && [ -x "/etc/init.d/opendkim" ]; then
		update-rc.d opendkim defaults >/dev/null
		if [ -n "$2" ]; then
			_dh_action=restart
		else
			_dh_action=start
		fi
		invoke-rc.d --skip-systemd-native opendkim $_dh_action || exit 1
	fi
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.11.4
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 'opendkim.service' >/dev/null || true

	# was-enabled defaults to true, so new installations run enable.
	if deb-systemd-helper --quiet was-enabled 'opendkim.service'; then
		# Enables the unit on first installation, creates new
		# symlinks on upgrades if the unit file has changed.
		deb-systemd-helper enable 'opendkim.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 'opendkim.service' >/dev/null || true
	fi
fi
# End automatically added section
# Automatically added by dh_installsystemd/13.11.4
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 'opendkim.service' >/dev/null || true
	fi
fi
# End automatically added section


exit 0
