#!/bin/sh

case $2 in
POST-INSTALL)
	USER=gdm
	GROUP=${USER}
	UID=92
	GID=${UID}
	PW=/usr/sbin/pw
	CHMOD=/bin/chmod
	CHOWN=/usr/sbin/chown
	MKDIR=/bin/mkdir

	if ${PW} group show "${GROUP}" 2>/dev/null; then
		echo "You already have a group \"${GROUP}\", so I will use it."
	else
		if ${PW} groupadd ${GROUP} -g ${GID}; then
			echo "Added group \"${GROUP}\"."
		else
			echo "Adding group \"${GROUP}\" failed..."
			exit 1
		fi
	fi

	if ${PW} user show "${USER}" 2>/dev/null; then
		echo "You already have a user \"${USER}\", so I will use it."
		uhome=`${PW} user show ${USER} | awk -F: '{print $9}'`
		if [ x"${uhome}" = x"/nonexistent" -o x"${uhome}" = x"/var/gdm" ]; then
		    ${PW} usermod ${USER} -d "${PKG_PREFIX}/etc/gdm/home"
		fi
	else
		if ${PW} useradd ${USER} -u ${UID} -g ${GROUP} -h - \
			-d "${PKG_PREFIX}/etc/gdm/home" -s /sbin/nologin -c "GNOME Display Manager"
		then
			echo "Added user \"${USER}\"."
		else
			echo "Adding user \"${USER}\" failed..."
			exit 1
		fi
	fi
	${MKDIR} -p /var/gdm
	${MKDIR} -p /var/log/gdm
	${CHMOD} 0755 /var/log/gdm
	${CHOWN} root:wheel /var/log/gdm
	${CHOWN} -R root:${GROUP} /var/gdm
	${CHMOD} 1770 /var/gdm
	${MKDIR} -p /var/run/gdm
	${CHOWN} root:${GROUP} /var/run/gdm
	${CHMOD} 1777 /var/run/gdm
	${CHOWN} root:wheel ${PKG_PREFIX}/share/gdm
	${CHMOD} 0755 ${PKG_PREFIX}/share/gdm
	${MKDIR} -p ${PKG_PREFIX}/etc/gdm/home
	${CHOWN} root:${GROUP} ${PKG_PREFIX}/etc/gdm/home
	${CHMOD} 1770 ${PKG_PREFIX}/etc/gdm/home
	install  -o root -g wheel -m 444 ${PKG_PREFIX}/share/gdm/gconf.path ${PKG_PREFIX}/etc/gdm/home/.gconf.path
	gconftool-2 --direct --config-source=xml:merged:${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory --recursive-unset /
	gconftool-2 --direct --config-source=xml:merged:${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory --load ${PKG_PREFIX}/share/gdm/session-setup.entries
	${CHOWN} -R root:gdm ${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory
	${CHMOD} 1750 ${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory
	${CHMOD} 1640 ${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory/*.xml

	${MKDIR} -p ${PKG_PREFIX}/etc/dm/Sessions
	exit 0
	;;
esac
