#!/bin/sh

set -e

case "$1" in
    configure)
        ucf --three-way /usr/share/nfs-common/conffiles/idmapd.conf /etc/idmapd.conf
        ucf --three-way /usr/share/nfs-common/conffiles/nfs-common.default /etc/default/nfs-common
        ucf --three-way /usr/share/nfs-common/conffiles/nfs.conf /etc/nfs.conf

        if ! getent passwd statd >/dev/null; then
            adduser --system --home /var/lib/nfs --no-create-home statd
        fi

        # Don't make /var/lib/nfs owned by statd. Only sm and sm.bak need to be
        # accessible by statd or sm-notify after they drop privileges.
        # https://bugs.debian.org/940848 (CVE-2019-3689)
        if dpkg --compare-versions "$2" lt 1:1.3.4-3; then
                chown root:root /var/lib/nfs
        fi
        chown statd: /var/lib/nfs/sm \
            /var/lib/nfs/sm.bak
        if [ -f /var/lib/nfs/state ]; then
            chown statd /var/lib/nfs/state
        fi

	# Convert default files to /etc/nfs.conf.d/local.conf if they
	# have been modified
	if dpkg --compare-versions "$2" lt 1:2.6.1-1~exp2 &&
	   ! md5sum --status --ignore-missing -c <<EOF
ddcb1fbb90a14ff9850f22eed0127a10  /etc/default/nfs-common
fa4e0530df26499ca3940353fbfbf241  /etc/default/nfs-kernel-server
EOF
	then
	    mkdir -p /etc/nfs.conf.d
	    /usr/share/nfs-common/nfsconvert.py
	fi

	# Remove obsolete symlinks for sysvinit runlevels 2-5
	if dpkg --compare-versions "$2" lt 1:2.6.1-2~; then
	    update-rc.d -f nfs-common remove
	fi
    ;;
esac

# 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/nfs-common" ]; then
		update-rc.d nfs-common defaults >/dev/null
		if [ -n "$2" ]; then
			_dh_action=restart
		else
			_dh_action=start
		fi
		invoke-rc.d --skip-systemd-native nfs-common $_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 'nfs-client.target' >/dev/null || true

	# was-enabled defaults to true, so new installations run enable.
	if deb-systemd-helper --quiet was-enabled 'nfs-client.target'; then
		# Enables the unit on first installation, creates new
		# symlinks on upgrades if the unit file has changed.
		deb-systemd-helper enable 'nfs-client.target' >/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 'nfs-client.target' >/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 'auth-rpcgss-module.service' 'nfs-client.target' 'nfs-idmapd.service' 'nfs-utils.service' 'proc-fs-nfsd.mount' 'rpc-gssd.service' 'rpc-statd-notify.service' 'rpc-statd.service' 'rpc-svcgssd.service' 'rpc_pipefs.target' 'var-lib-nfs-rpc_pipefs.mount' >/dev/null || true
	fi
fi
# End automatically added section

