#! /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)
	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 permissons 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
    ;;

    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
# This will only remove masks created by d-s-h on package removal.
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
# End automatically added section
# Automatically added by dh_systemd_start
if [ -d /run/systemd/system ]; then
	systemctl --system daemon-reload >/dev/null || true
	deb-systemd-invoke start apt-daily.timer >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/apt/apt.conf.d/20changelog 1.2.4~ -- "$@"
# End automatically added section
# Automatically added by dh_installdeb
dpkg-maintscript-helper rm_conffile /etc/cron.daily/apt 1.2.10~ -- "$@"
# End automatically added section


exit 0


