#!/bin/sh

#set -e

# initramfs-tools header

PREREQ=""

prereqs()
{
	echo "${PREREQ}"
}

case "${1}" in
	prereqs)
		prereqs
		exit 0
		;;
esac

# live-initramfs header

. /live.vars

if [ -n "${NOXAUTOLOGIN}" ] || [ -z "${USERNAME}" ]
then
	exit 0
fi

. /scripts/live-functions

log_begin_msg "Setting up automatic login"

# live-initramfs script

# chroot needed to handle symlinks correctly
if chroot /root [ -f /etc/gdm/gdm-cdd.conf ]
then
	GDMCONF=/etc/gdm/gdm-cdd.conf
else
	GDMCONF=/etc/gdm/gdm.conf
fi

# chroot needed to handle symlinks correctly
if chroot /root [ -f ${GDMCONF} ]
then
	# true hack ! -- nohar
	chroot /root cp /usr/share/gdm/defaults.conf /etc/gdm/gdm.conf

	# Configure GDM autologin
	chroot /root \
	sed -i -e "s/^AutomaticLoginEnable=.*\$/AutomaticLoginEnable=true/" \
	       -e "s/^AutomaticLogin=.*\$/AutomaticLogin=${USERNAME}/" \
	       -e "s/^TimedLoginEnable=.*\$/TimedLoginEnable=true/" \
	       -e "s/^TimedLogin=.*\$/TimedLogin=${USERNAME}/" \
	       -e "s/^TimedLoginDelay=.*\$/TimedLoginDelay=10/" \
	${GDMCONF}
fi

if [ -d /root/etc/default/kdm.d/ ]
then
	if ! grep -qs "^AUTOLOGIN" /root/etc/default/kdm.d/live-autologin
	then

cat >> /root/etc/default/kdm.d/live-autologin << EOF
AUTOLOGINUSER=${USERNAME}
AUTOLOGINAGAIN=true
AUTOLOGINDELAY=0
EOF

	fi

elif [ -f /root/etc/kde3/kdm/kdmrc ]
then
	# Configure KDM autologin
	sed -i -r -e "s/^#?AutoLoginEnable=.*\$/AutoLoginEnable=true/" \
		  -e "s/^#?AutoLoginUser=.*\$/AutoLoginUser=${USERNAME}/" \
		  -e "s/^#?AutoReLogin=.*\$/AutoReLogin=true/" \
	/root/etc/kde3/kdm/kdmrc
elif [ -f /root/etc/kde4/kdm/kdmrc ]
then
	# Configure KDM-KDE4 autologin
	sed -i -r -e "s/^#?AutoLoginEnable=.*\$/AutoLoginEnable=true/" \
		  -e "s/^#?AutoLoginUser=.*\$/AutoLoginUser=$USERNAME/" \
		  -e "s/^#?AutoReLogin=.*\$/AutoReLogin=true/" \
	/root/etc/kde4/kdm/kdmrc
fi

log_end_msg
