#! /bin/sh

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package

case "$1" in
    configure)
	# create new preferences pin file with right CODENAME
	if test -f /etc/os-release; then
 	. /etc/os-release
	else
	. /usr/share/base-files/update/os-release
	fi
 	cat <<-EOF > /etc/apt/preferences.d/preferences-astra.pin.pref
	Package: *
	Pin: release n=$VERSION_CODENAME
	Pin-Priority: 900
	EOF

	if dpkg --compare-versions "$2" le 1.8.2.3+ci202404010000; then
		# remove old preferences pin file
		[ -f /etc/apt/preferences.d/smolensk ] && rm /etc/apt/preferences.d/smolensk
	fi

	if dpkg --compare-versions "$2" lt 1.1~exp4; then
	    # apt-key before 0.9.10 could leave empty keyrings around
	    find /etc/apt/trusted.gpg.d/ -name '*.gpg' | while read keyring; do
		if ! test -s "$keyring"; then
		    rm -f "$keyring"
		fi
	    done
	    # apt-key before 0.9.8.2 could create 0600 trusted.gpg file
	    if test -e /etc/apt/trusted.gpg ; then
	        chmod -f 0644 /etc/apt/trusted.gpg || true
	    fi
	fi

	if dpkg --compare-versions "$2" lt-nl 0.9.9.5; then
	    # we are using tmpfiles for both
	    rm -f /etc/apt/trustdb.gpg
	    # this removal was done unconditional since 0.8.15.3
	    SECRING='/etc/apt/secring.gpg'
	    # test if secring is an empty normal file
	    if test -f $SECRING -a ! -s $SECRING; then
	        rm -f $SECRING
	    fi
	fi

	# add unprivileged user for the apt methods
	adduser --force-badname --system --home /nonexistent  \
	    --no-create-home --quiet _apt || true

	# Fixup any mistake in the home directory of the _apt user
	if dpkg --compare-versions "$2" lt-nl 1.1~exp10~; then
	    usermod --home /nonexistent _apt
	fi

	# deal with upgrades from experimental
	if dpkg --compare-versions "$2" 'eq' '1.1~exp3'; then
	    # libapt will setup partial/ at runtime
	    chown -R root:root /var/lib/apt/lists /var/cache/apt/archives || true
	fi

        # ensure tighter permissions on the logs, see LP: #975199
        if dpkg --compare-versions "$2" lt-nl 0.9.7.7; then
            # ensure permissions are right
            chmod -f 0640 /var/log/apt/term.log* || true
        fi

        # create kernel autoremoval blacklist on update
        if dpkg --compare-versions "$2" lt 0.9.9.3; then
            /etc/kernel/postinst.d/apt-auto-removal
        fi
	apt-key add /usr/share/apt/astra-archive.gpg
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)

    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

# Automatically added by dh_systemd_enable/13.11.4+ci202308161418+astra1+b3
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 'apt-daily-upgrade.timer' >/dev/null || true

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

	# was-enabled defaults to true, so new installations run enable.
	if deb-systemd-helper --quiet was-enabled 'apt-daily.timer'; then
		# Enables the unit on first installation, creates new
		# symlinks on upgrades if the unit file has changed.
		deb-systemd-helper enable 'apt-daily.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 'apt-daily.timer' >/dev/null || true
	fi
fi
# End automatically added section
# Automatically added by dh_systemd_start/13.11.4+ci202308161418+astra1+b3
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 'apt-daily-upgrade.timer' 'apt-daily.timer' >/dev/null || true
	fi
fi
# End automatically added section
# Automatically added by dh_installdeb/13.11.4+ci202308161418+astra1+b3
dpkg-maintscript-helper rm_conffile /etc/apt/apt.conf.d/20changelog 1.2.4\~ -- "$@"
dpkg-maintscript-helper rm_conffile /etc/cron.daily/apt 1.2.10\~ -- "$@"
# End automatically added section


exit 0


