#! /bin/sh

set -e

. /usr/share/debconf/confmodule

ARCH=`udpkg --print-architecture`

modify_cyrconfig() {
	if [ "$2" ]; then
		sed -e "s/^$1 .*\$/$1 $2/" \
		    $cyrconfig > $cyrconfig.tmp && \
		    mv $cyrconfig.tmp $cyrconfig
	fi
}

db_get debian-installer/locale
LOCALE="$RET"

# Set locale to C if it has not yet been set
# This can happen during e.g. s390 installs where localechooser is not run
[ -z "$LOCALE" ] && LOCALE="C"

LANGUAGE=${LOCALE%%_*}

# Install specific packages depending on selected language

if [ "$LOCALE" != "C" ] ; then
	# Other language specific packages
	case "$LANGUAGE" in
	    ar|he|fa)
		# RTL languages (Arabic, Hebrew, Farsi)
		apt-install libfribidi0 || true
		;;
	esac
fi

# Install localization-config except when no localization happens
# Install it anyway for powerpc (to handle subarches)
# Disabled for etch as l-c is not ready
#if [ "$LOCALE" != "C" ] || [ "$ARCH" = "powerpc" ]; then
#        apt-install localization-config || true
#fi


db_get debian-installer/consoledisplay || true
consoletype=`echo $RET | sed -e 's/=.*$//'`
case "$consoletype" in
    kbd)
	consolefont=`echo $RET | sed -e 's/^kbd=//'`
	if apt-install console-tools; then
		ctconfig=/target/etc/console-tools/config
		acm=`echo $consolefont | sed -e 's/.*(//' -e 's/).*//'`
		[ "$acm" = utf8 ] && acm=
		# A few workarounds of console-tools limitations below
		# APP_CHARSET_MAP and console fonts are not set
		# for all consoles. These workarounds should probably
		# be removed when we switch to kbd
		if [ -n "$acm" ]; then
			echo "APP_CHARSET_MAP=$acm" >>$ctconfig
			echo "APP_CHARSET_MAP_vc1=$acm" >>$ctconfig
			echo "APP_CHARSET_MAP_vc2=$acm" >>$ctconfig
			echo "APP_CHARSET_MAP_vc3=$acm" >>$ctconfig
			echo "APP_CHARSET_MAP_vc4=$acm" >>$ctconfig
			echo "APP_CHARSET_MAP_vc5=$acm" >>$ctconfig
			echo "APP_CHARSET_MAP_vc6=$acm" >>$ctconfig
		fi
		consolefont=`echo $consolefont | sed -e 's/(.*//'`
		if [ -n "$consolefont" ]; then
			echo "SCREEN_FONT=$consolefont" >>$ctconfig
			echo "SCREEN_FONT_vc2=$consolefont" >>$ctconfig
			echo "SCREEN_FONT_vc3=$consolefont" >>$ctconfig
			echo "SCREEN_FONT_vc4=$consolefont" >>$ctconfig
			echo "SCREEN_FONT_vc5=$consolefont" >>$ctconfig
			echo "SCREEN_FONT_vc6=$consolefont" >>$ctconfig
		fi
		if echo "$consolefont" | grep -q "Terminus"; then
			apt-install console-terminus || true
		fi
	fi
	;;
    cyr)
	apt-install console-cyrillic || true
	;;
esac

exit 0
