diff options
Diffstat (limited to 'x11/gdm/pkg-install')
-rw-r--r-- | x11/gdm/pkg-install | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/x11/gdm/pkg-install b/x11/gdm/pkg-install new file mode 100644 index 000000000..788a1a610 --- /dev/null +++ b/x11/gdm/pkg-install @@ -0,0 +1,65 @@ +#!/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 |