#!/bin/sh

PREREQ=""
DESCRIPTION="Setting up automatic login..."

. /scripts/casper-functions

prereqs()
{
       echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
       prereqs
       exit 0
       ;;
esac

log_begin_msg "$DESCRIPTION"

# 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
    # 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 [ -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
fi

if [ -f /root/usr/lib/kde4/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/usr/lib/kde4/etc/kde4/kdm/kdmrc
fi

if chroot /root /usr/bin/which kpersonalizer >/dev/null; then
    # Disable first-login wizard for KDE
    if [ ! -f /root/etc/kde3/kpersonalizerrc ]; then
        cat > /root/etc/kde3/kpersonalizerrc <<EOF
[General]
FirstLogin=false
EOF
    else
        echo "I'm not smart enough to disable kpersonalizer startup" >&2
        echo "Because kpersonalizerrc already exists" >&2
    fi
fi

log_end_msg
