#!/bin/sh
set -e

log_debug() {
	echo "Debug: piuparts exception for package $PIUPARTS_OBJECTS"
}

if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "squeeze" ]; then

	case ${PIUPARTS_OBJECTS%%=*} in
		crm114)
				#562946
				log_debug
				echo "crm114 crm114/forceupgrade boolean true" | debconf-set-selections
				;;
	esac

	# squeeze does not properly upgrade adduser.conf, so generate a new one
	if [ -f /etc/adduser.conf ]; then
		md5="$(md5sum /etc/adduser.conf | awk '{ print $1 }')"
		# 5b577c9cb18e4852fc7e45830d230ec1: adduser/lenny pristine
		# 28928669e36f1ab616dfda39af3d79a7: adduser/lenny + dpsyco-lib/lenny
		if	[ "$md5" = "5b577c9cb18e4852fc7e45830d230ec1" ] || \
			[ "$md5" = "28928669e36f1ab616dfda39af3d79a7" ]
		then
			rm -fv /etc/adduser.conf
		fi
	fi

fi

if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "wheezy" ]; then

	# dpkg 1.16 does not like the bad cnews version number cr.g7-40.4
	# cnews was removed after lenny
	case ${PIUPARTS_OBJECTS%%=*} in
		cnews)
				log_debug
				dpkg --purge cnews
				;;
	esac

	# WORKSAROUND #655969: lirc: prompting due to modified conffiles which where not modified by the user: /etc/lirc/hardware.conf
	if [ -f /etc/lirc/hardware.conf ]; then
		log_debug
		sed -i '/^DRIVER=/s/.*/DRIVER="UNCONFIGURED"/' /etc/lirc/hardware.conf
	fi

fi

if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "jessie" ]; then

	case ${PIUPARTS_OBJECTS%%=*} in
		ekeyd-uds)
			# ekeyd-uds was removed after squeeze, maintainer scripts are incompatible with udev/jessie
			log_debug
			dpkg --purge ekeyd-uds
			;;
	esac

fi

if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "experimental" ]; then

	case ${PIUPARTS_OBJECTS} in
		dnscache-run=1:1.05-9~exp2)
			#664848: breaks dns resolution in chroot if installed in a chroot
			log_debug
			echo "*** ABORT - Installation broke DNS in chroot ***"
			exit 1
			;;
	esac

fi
