#!/bin/sh

## Copyright (C) 2006-2014 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

. /usr/share/extlinux/extlinux-update.sh

# Create the main extlinux.conf file
_CONFIG="\
## ${_EXTLINUX_DIRECTORY}/extlinux.conf
##
## IMPORTANT WARNING
##
## The configuration of this file is generated automatically.
## Do not edit this file manually, use: extlinux-update


default ${EXTLINUX_DEFAULT}
prompt 1
timeout ${EXTLINUX_TIMEOUT}
"

if [ -n "${EXTLINUX_THEME}" ] && [ "${EXTLINUX_THEME}" != "none" ]
then
	if [ ! -e "/usr/share/EXTLINUX/themes/${EXTLINUX_THEME}" ]
	then
		echo "E: /usr/share/EXTLINUX/themes/${EXTLINUX_THEME}: No such file or directory"
		exit 1
	else
		echo -n "P: Installing ${EXTLINUX_THEME} theme..."
		rm -rf "${_EXTLINUX_DIRECTORY}/themes/${EXTLINUX_THEME}"

		mkdir -p "${_EXTLINUX_DIRECTORY}/themes"

		EXTLINUX_THEME_ORIG="$(readlink /usr/share/EXTLINUX/themes/${EXTLINUX_THEME})" || true

		if [ -n "${EXTLINUX_THEME_ORIG}" ]
		then
			cp -aLT "/usr/share/EXTLINUX/themes/${EXTLINUX_THEME_ORIG}" "${_EXTLINUX_DIRECTORY}/themes/${EXTLINUX_THEME_ORIG}"
			ln -sf "${EXTLINUX_THEME_ORIG}" "${_EXTLINUX_DIRECTORY}/themes/${EXTLINUX_THEME}"
		else
			cp -aLT "/usr/share/EXTLINUX/themes/${EXTLINUX_THEME}" "${_EXTLINUX_DIRECTORY}/themes/${EXTLINUX_THEME}"
		fi

		echo " done."
	fi

	_CONFIG="${_CONFIG}
include themes/${EXTLINUX_THEME}/theme.cfg"

else

	_CONFIG="${_CONFIG}
display boot.txt
include linux.cfg"

	if [ "${EXTLINUX_MEMDISK}" = "true" ] && [ -e "${_EXTLINUX_DIRECTORY}/memdisk.cfg" ]
	then

		_CONFIG="${_CONFIG}
include memdisk.cfg"

	fi

	if [ "${EXTLINUX_OS_PROBER}" = "true" ] && [ -e "${_EXTLINUX_DIRECTORY}/os-prober.cfg" ]
	then

		_CONFIG="${_CONFIG}
include os-prober.cfg"

	fi

	if [ ! -e "${_EXTLINUX_DIRECTORY}/boot.txt" ]
	then
		echo "Wait 5 seconds or press ENTER to " > "${_EXTLINUX_DIRECTORY}/boot.txt"
	fi
fi

Update "${_EXTLINUX_DIRECTORY}/extlinux.conf" "${_CONFIG}"
