#!/bin/sh

set -e

#export DEBCONF_DEBUG='developer'
. /usr/share/debconf/confmodule
. /lib/debian-edu-common

log() {
    logger -t edu-pre-pkgsel "info: $*"
}

error() {
    logger -t edu-pre-pkgsel "error: $*"
}

load_proxy_conf

# Initialize etckeeper early
edu-etcvcs init

db_get debian-edu-install/profile
PROFILE="$RET"

db_get debian-installer/language
LANGCODE="$RET"

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

if [ ! -d /target/etc/debian-edu ] ; then
    if mkdir /target/etc/debian-edu ; then
        :
    else
        error "unable to create /target/etc/debian-edu"
    fi
fi

# For the stable etch release, use '3.0r0 terra' as the version number
VERSION="$(cat /usr/lib/debian-edu-install/version || true)"
if [ -z "$VERSION" ] ; then
    error "missing /usr/lib/debian-edu-install/version, incomplete /etc/debian-edu/config created."
fi

(
    echo "# Generated by debian-edu-profile-udeb"
    echo "VERSION=\"$VERSION\""
    echo "PROFILE=\"$PROFILE\""
    echo "LANGCODE=\"$LANGCODE\""
    echo "LOCALE=\"$LOCALE\""
) >> /target/etc/debian-edu/config

if edu-is-testinstall ; then
    echo "TESTINSTALL=\"true\"" >> /target/etc/debian-edu/config
fi

edu-etcvcs commit

log "asking for a few extra packages to be installed"
# debian-edu-archive-keyring - our local archive keyring
# education-tasks            - education tasksel tasks
# debian-edu-install         - the debian-edu preseeding files
failed=""
for p in debian-edu-archive-keyring education-tasks debian-edu-install
do
    if apt-install $p ; then
	:
    else
	template=debian-edu-install/errors-pkg-installation
	db_subst $template PACKAGES "$p"
	db_fset $template seen false
	db_capb "" # Disable "Go Back" button
	db_settitle $template-title
	db_input critical $template || [ $? -eq 30 ]
	db_go
	db_capb backup
	reboot
    fi
done

edu-etcvcs commit

# Clean up file added in base-installer, now that debian-edu-config is
# installed (pulled in via debian-edu-install).
rm -f /target/etc/apt/apt.conf.d/90squid-di

edu-etcvcs commit

hook=/target/usr/share/debian-edu-config/d-i/pre-pkgsel
if [ -x $hook ] ; then
    log "Running debian-edu-config pre-pkgsel hook"
    $hook
fi

edu-etcvcs commit

exit 0
