#! /bin/sh
set -e

. /usr/share/debconf/confmodule

# We need to duplicate this code because localechooser has the right to
# assume that its later scripts are only run once, but oem-config doesn't
# have that luxury.

db_get debian-installer/locale
LOCALE="$RET"
echo 'sss' > /tmp/ooooooo
db_get debian-installer/language
LANGLIST="$RET"

db_get localechooser/supported-locales
EXTRAS="$(echo "$RET" | sed 's/,//g')"

# IS language is the official language of country.
LOC_LANGLIST=${LANGLIST%%:*}
LOC_LANG=${LOCALE%%.*}
if [ ${LOC_LANGLIST} != ${LOC_LANG} ]
then
        IS_DIFF=true
fi

if [ -e /etc/environment ]; then
	sed -i "s,^LANG=.*,LANG=\"$LOCALE\"," /etc/environment
fi
if grep -qs "^LANG=" /etc/default/locale; then
	sed -i "s,^LANG=.*,LANG=\"$LOCALE\"," /etc/default/locale
else
	echo "LANG=\"$LOCALE\"" >> /etc/default/locale
fi


if grep -q "^LANGUAGE=" /etc/environment; then
	sed -i "s,^LANGUAGE=.*,LANGUAGE=\"$LANGLIST\"," /etc/environment
else
        echo "LANGUAGE=\"${LANGLIST}\"" >> /etc/environment
fi
if grep -q "^LANGUAGE=" /etc/default/locale; then
	sed -i "s,^LANGUAGE=.*,LANGUAGE=\"$LANGLIST\"," /etc/default/locale
else
        echo "add langlist to default/locale" >> /tmp/ooo
	echo "LANGUAGE=\"$LANGLIST\"" >> /etc/default/locale
fi

if [ -e /etc/default/gdm ]; then
	sed -i "s,^#*LANG=.*,LANG=$LOCALE,g" /etc/default/gdm
fi

if [ $IS_DIFF ]
then
        LANGCODE=${LANGLIST%%:*}
else
LANGCODE="${LOCALE%%_*}"
LANGCODE="${LANGCODE%%.*}"
LANGCODE="${LANGCODE%%@*}"
fi
/usr/share/locales/install-language-pack "$LANGCODE" '' || true

# TODO: kbd/cyr handling?
