#!/bin/sh

## lxc-debconfig - LXC template for Debian and Debian Derivatives
## Copyright (C) 2006-2013 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
## This is free software, and you are welcome to redistribute it
## under certain conditions; see COPYING for details.


set -e

if [ -e "${_TMPDIR}/debconf.default" ]
then
	. "${_TMPDIR}/debconf.default"
fi

if [ -e "${_PRESEED_FILE}" ]
then
	_PRESEED_FILES="${_PRESEED_FILE}"

	while [ -n "${_PRESEED_FILE}" ]
	do
		if grep -qs '^ *lxc-debconfig *lxc-debconfig/include-preseed-files' "${_PRESEED_FILE}"
		then
			# First expansion
			_INCLUDE_PRESEED_FILES="$(for _FILE in ${_PRESEED_FILE}; do cat ${_FILE} | grep '^ *lxc-debconfig *lxc-debconfig/include-preseed-files' | awk '{ $1=$2=$3=""; print $0 }'; done)"

			for _INCLUDE_PRESEED_FILE in ${_INCLUDE_PRESEED_FILES}
			do
				if [ -e "${_INCLUDE_PRESEED_FILE}" ]
				then
					# Use including files before included files
					_PRESEED_FILES="${_PRESEED_FILES} ${_INCLUDE_PRESEED_FILE}"
				fi
			done

			# Second (recursive) expansion
			_PRESEED_FILE="${_INCLUDE_PRESEED_FILES}"
		else
			break
		fi
	done

	for _PRESEED_FILE in ${_PRESEED_FILES}
	do
		# Apply user specified preseed files
		debconf-set-selections "${_PRESEED_FILE}"
	done
fi
