diff --git a/srcpkgs/gdm/INSTALL b/srcpkgs/gdm/INSTALL new file mode 100644 index 00000000000..f9b9fb6b469 --- /dev/null +++ b/srcpkgs/gdm/INSTALL @@ -0,0 +1,9 @@ +# +# This script takes care about perms in required dirs. +# +case "${ACTION}" in +post) + chown root:gdm var/lib/gdm + chown -R root:gdm var/lib/gdm/.gconf.mandatory + ;; +esac diff --git a/srcpkgs/gdm/files/gdm-autologin.pam b/srcpkgs/gdm/files/gdm-autologin.pam new file mode 100644 index 00000000000..7c2f9a98599 --- /dev/null +++ b/srcpkgs/gdm/files/gdm-autologin.pam @@ -0,0 +1,8 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so +auth required pam_permit.so +account required pam_unix.so +password required pam_unix.so +session required pam_limits.so +session required pam_unix.so diff --git a/srcpkgs/gdm/files/gdm.pam b/srcpkgs/gdm/files/gdm.pam new file mode 100644 index 00000000000..655299cb7cc --- /dev/null +++ b/srcpkgs/gdm/files/gdm.pam @@ -0,0 +1,10 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so +auth required pam_unix.so +auth optional pam_gnome_keyring.so +account required pam_unix.so +session required pam_limits.so +session required pam_unix.so +session optional pam_gnome_keyring.so auto_start +password required pam_unix.so diff --git a/srcpkgs/gdm/files/gdm.rc b/srcpkgs/gdm/files/gdm.rc new file mode 100644 index 00000000000..c291b218981 --- /dev/null +++ b/srcpkgs/gdm/files/gdm.rc @@ -0,0 +1,22 @@ +#!/sbin/runscript + +command=/usr/sbin/gdm-binary + +depend() +{ + need dbus +} + +start() +{ + ebegin "Starting GDM" + start-stop-daemon --start --exec ${command} --background + eend $? +} + +stop() +{ + ebegin "Stopping GDM" + start-stop-daemon --stop --exec ${command} + eend $? +} diff --git a/srcpkgs/gdm/template b/srcpkgs/gdm/template new file mode 100644 index 00000000000..c8e79db38e2 --- /dev/null +++ b/srcpkgs/gdm/template @@ -0,0 +1,113 @@ +# Template file for 'gdm' +pkgname=gdm +version=2.30.0 +distfiles="${GNOME_SITE}/$pkgname/2.30/$pkgname-$version.tar.bz2" +build_style=gnu_configure +configure_args="--disable-schemas-install --disable-scrollkeeper +--with-gconf-schema-file-dir=/usr/share/gconf/schemas +--localstatedir=/var --enable-console-helper +--enable-authentication-scheme=pam --enable-ipv6 +--with-user=gdm --with-group=gdm --with-xevie" +short_desc="GNOME Display Manager" +maintainer="Juan RP " +checksum=ac2c367766b8fa20ebeb41033931fc4d91482ad3d377823f1c7ad84eee12dc15 +long_desc=" + GDM is the GNOME Display Manager, it is the little proggie that runs + in the background, runs your X sessions, presents you with a login box + and then tells you to piss off because you forgot your password. It + does pretty much everything that you would want to use xdm for, but + does not involve as much crack. It doesn't use any code from xdm, and + has a more paranoid and safer design overall. It also includes many + features over xdm, the biggest one of which is that it is more user + friendly, even if your X setup is failing. The goal is that users + should never, ever have to use the command line to customize or + troubleshoot gdm. It of course supports xdmcp, and in fact extends + xdmcp a little bit in places where I thought xdm was lacking (but is + still compatible with xdm's xdmcp)." + +keep_empty_dirs=yes +conf_files="/etc/gdm/custom.conf /etc/pam.d/gdm /etc/pam.d/gdm-autologin" +gconf_schemas="gdm-simple-greeter.schemas" +gtk_iconcache_dirs="/usr/share/icons/hicolor" + +# Create the 'gdm' system user/group. +system_accounts="gdm" +gdm_homedir="/var/lib/gdm" +gdm_descr="GNOME Display Manager user" +openrc_services="gdm default" + +Add_dependency run glibc +Add_dependency run libX11 +Add_dependency run libXau +Add_dependency run dbus-glib +Add_dependency run dbus-libs +Add_dependency run glib +Add_dependency run gnome-panel +Add_dependency run GConf +Add_dependency run libbonoboui +Add_dependency run libgnomecanvas +Add_dependency run libgnome +Add_dependency run popt +Add_dependency run libart +Add_dependency run gtk+ +Add_dependency run atk +Add_dependency run pango +Add_dependency run cairo +Add_dependency run freetype +Add_dependency run fontconfig +Add_dependency run libbonobo +Add_dependency run ORBit2 +Add_dependency run pam +Add_dependency run libXdmcp +Add_dependency run libxklavier +Add_dependency run libxml2 +Add_dependency run upower +Add_dependency run libcanberra +Add_dependency run tcp_wrappers-libs + +Add_dependency build pkg-config +Add_dependency build intltool +Add_dependency build gnome-doc-utils +Add_dependency build libX11-devel +Add_dependency build libXau-devel +Add_dependency build dbus-glib-devel +Add_dependency build dbus-devel +Add_dependency build glib-devel +Add_dependency build gnome-panel-devel +Add_dependency build GConf-devel +Add_dependency build libbonoboui-devel +Add_dependency build libgnomecanvas-devel +Add_dependency build libgnome-devel +Add_dependency build popt-devel +Add_dependency build libart-devel +Add_dependency build gtk+-devel +Add_dependency build atk-devel +Add_dependency build pango-devel +Add_dependency build cairo-devel +Add_dependency build freetype-devel +Add_dependency build fontconfig-devel +Add_dependency build libbonobo-devel +Add_dependency build ORBit2-devel +Add_dependency build pam-devel +Add_dependency build libXdmcp-devel +Add_dependency build libxklavier-devel +Add_dependency build libxml2-devel +Add_dependency build upower-devel +Add_dependency build libcanberra-devel +Add_dependency build tcp_wrappers-devel + +Add_dependency full ConsoleKit-x11 +Add_dependency full xorg-server +Add_dependency full hicolor-icon-theme +Add_dependency full polkit-gnome + +post_install() +{ + # Use our own pam files. + rm -f ${DESTDIR}/etc/pam.d/* + install -m644 ${FILESDIR}/gdm.pam ${DESTDIR}/etc/pam.d/gdm + install -m644 ${FILESDIR}/gdm-autologin.pam \ + ${DESTDIR}/etc/pam.d/gdm-autologin + # Install OpenRC service. + install -D -m755 ${FILESDIR}/gdm.rc ${DESTDIR}/etc/init.d/gdm +}