#!/bin/sh
# vim:ts=4:sts=4

set -e

INETD_SCR="/etc/init.d/inetd"
INETD_CONF="/etc/inetd.conf"
RLINCONFDIR="/etc/rlinetd.d/"
UCFDIR="/var/lib/rlinetd/ucf/"


divert()
{
	if ! LC_ALL=C dpkg-divert --list "$1$2" | grep -q diversion; then
		dpkg-divert --package rlinetd --quiet --rename --add \
			--divert "$1.real$2" "$1$2"
	fi
}

undivert()
{
	if LC_ALL=C dpkg-divert --list "$1$2" | grep -q 'diversion.*rlinetd'; then
		if [ -f "$1$2" ] ; then
			echo "WARNING: saving $1$2 as $1$2.saved_by_rlientd" 1>&2
			mv -f "$1$2" "$1$2.saved_by_rlientd"
		fi
		dpkg-divert --package rlinetd --quiet --rename --remove \
			--divert "$1.real$2" "$1$2"
	fi
}


if [ "$1" = "configure" ]; then
	if [ -f "$INETD_CONF" ] && [ -z "`ls -1 $UCFDIR`" ]; then

		# source debconf library
		. /usr/share/debconf/confmodule
		db_get rlinetd/convert_from_inetd
		if [ "x$RET" = "xtrue" ] ; then
			inetd2rlinetd --add-from-comment -f "$INETD_CONF" "$RLINCONFDIR"
		fi

		inetd2rlinetd --add-from-comment --force-overwrite -f "$INETD_CONF" "$UCFDIR"

		db_stop
	fi

	if dpkg --compare-versions "0.6.1-2" gt-nl "$2" ; then
		if [ -f "$INETD_SCR" ] ; then
			if grep -q 'has been diverted by the rlinetd' "$INETD_SCR"; then
				rm -f "$INETD_SCR"
			fi
		fi
		undivert "$INETD_SCR"
	fi

fi

#DEBHELPER#
