#!/bin/sh
set -e

is_installed()
{
	local pkg="$1"
	dpkg-query -s "$pkg" >/dev/null 2>&1 || return 1
	local status="$(dpkg-query -W -f '${Status}' $pkg)"
	test "$status" != "unknown ok not-installed" || return 1
	test "$status" != "deinstall ok config-files" || return 1
	return 0
}

# Skip while creating the reference chroot.
if [ "$PIUPARTS_PHASE" = "" ]; then
	exit 0
fi

CANDIDATES=""
CANDIDATES="$CANDIDATES mysql-server"
CANDIDATES="$CANDIDATES postgresql"
CANDIDATES="$CANDIDATES postgresql-8.4"
CANDIDATES="$CANDIDATES postgresql-9.1"

case "$PIUPARTS_DISTRIBUTION_NEXT" in
	jessie)
		CANDIDATES="$CANDIDATES mysql-server-5.5"
		;;
esac

PACKAGES=""

# early upgrade runs into even more trouble for some packages ...
case ${PIUPARTS_OBJECTS%%=*} in
	med-practice|audiolink)
		CANDIDATES=""
		;;
	redmine)
		CANDIDATES=""
		;;
esac

for pkg in $CANDIDATES
do
	if is_installed "$pkg"
	then
		PACKAGES="$PACKAGES $pkg"
	fi
done

if [ -n "$PACKAGES" ]
then
	echo "Upgrading ${PACKAGES# } early"
	apt-get update
	apt-get -y install $PACKAGES
fi
