#!/bin/sh
set -e

available()
{
	command -v "$1" >/dev/null 2>&1
}

finalize_desktop()
{
	# Menu entries
	if available update-desktop-database
	then
		update-desktop-database /usr/share/applications
	fi
	if available update-menus
	then
		update-menus
	fi
	if available update-app-install
	then
		update-app-install
	fi
	if available update-software-center
	then
		update-software-center
	fi

	# MIME associations
	if available update-mime-database
	then
		update-mime-database /usr/share/mime
	fi

	# Icons
	touch -c /usr/share/icons/hicolor
	if available update-icon-caches
	then
		update-icon-caches -tq /usr/share/icons/hicolor
	elif available gtk-update-icon-cache
	then
		gtk-update-icon-cache -tq /usr/share/icons/hicolor
	fi
}

. /usr/share/debconf/confmodule

case "$1" in
    configure)
		MANAGE_DEB_SOURCE=false
		if [ ! -f /etc/apt/sources.list.d/opera.list ]
		then
			MANAGE_DEB_SOURCE=true
			db_get opera/add-deb-source
			if $RET
			then
				cat >/etc/apt/sources.list.d/opera.list <<EOF
# This file makes sure that Opera Browser is kept up-to-date
# as part of regular system upgrades

deb http://deb.opera.com/opera/ stable non-free #Opera Browser (final releases)

# The line above will make sure you get all final public releases.
# Uncomment the following line if you want to get alpha and beta
# releases, too.

# deb http://deb.opera.com/opera-beta/ stable non-free #Opera Browser (beta releases)
EOF
			else
				rm -f /etc/apt/sources.list.d/opera.list
			fi
		fi
		if available apt-key
		then
			if $MANAGE_DEB_SOURCE && ! $RET
			then
				# Remove the key if the user refused explicitly
				apt-key del 9D1A0061 >/dev/null 2>&1 || true
			elif $MANAGE_DEB_SOURCE || apt-key list | grep -q 6A423791
			then
				# Add the key if the user agreed or has the old key
				apt-key add - >/dev/null <<EOF
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (GNU/Linux)

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
=wGGg
-----END PGP PUBLIC KEY BLOCK-----
EOF
			fi
			# Remove the expired key in any case
			apt-key del 6A423791 >/dev/null 2>&1 || true
		fi
		update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/opera 90 \
			--slave /usr/share/man/man1/x-www-browser.1.gz x-www-browser.1.gz /usr/share/man/man1/opera.1.gz
		if [ -f /etc/opera6rc ]
		then
			mv -f /etc/opera6rc /etc/operaprefs_default.ini
		fi
		if [ -f /etc/opera6rc.fixed ]
		then
			mv -f /etc/opera6rc.fixed /etc/operaprefs_fixed.ini
		fi
		finalize_desktop
		;;
esac

exit 0
