public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2011-02-26 11:41 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2011-02-26 11:41 UTC (permalink / raw
  To: gentoo-commits

commit:     8d0db99c4173dbec27eed5537fc93237f1a631dc
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 26 11:17:34 2011 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Sat Feb 26 11:17:34 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=8d0db99c

Add gnome-base/gdm-2.91.91, seems to work without the vt patch

---
 gnome-base/gdm/files/49-keychain                   |    9 +
 gnome-base/gdm/files/50-ssh-agent                  |   10 +
 .../gdm-2.32.0-automagic-libxklavier-support.patch |   60 ++++++
 .../gdm/files/gdm-2.32.0-custom-session.patch      |   51 +++++
 .../gdm-2.32.0-fix-daemonize-regression.patch      |  126 ++++++++++++
 .../gdm/files/gdm-2.32.0-selinux-remove-attr.patch |   27 +++
 .../gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch   |   32 +++
 gnome-base/gdm/gdm-2.91.91.ebuild                  |  202 ++++++++++++++++++++
 8 files changed, 517 insertions(+), 0 deletions(-)

diff --git a/gnome-base/gdm/files/49-keychain b/gnome-base/gdm/files/49-keychain
new file mode 100644
index 0000000..77310b2
--- /dev/null
+++ b/gnome-base/gdm/files/49-keychain
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# source keychain variables
+
+keychain="`which keychain`"
+if [ -n "$keychain" ] && [ -x "$keychain" ] && [ -f "$HOME/.bash_profile" ]
+then
+	. "${HOME}/.bash_profile"
+fi

diff --git a/gnome-base/gdm/files/50-ssh-agent b/gnome-base/gdm/files/50-ssh-agent
new file mode 100644
index 0000000..28af267
--- /dev/null
+++ b/gnome-base/gdm/files/50-ssh-agent
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# add ssh-agent if found
+
+sshagent="`which ssh-agent`"
+if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+	command="$sshagent -- $command"
+elif [ -z "$sshagent" ] ; then
+	echo "$0: ssh-agent not found!"
+fi

diff --git a/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch b/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch
new file mode 100644
index 0000000..90c1cef
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch
@@ -0,0 +1,60 @@
+From 481fe43b653b443ecfa8d4f3aa88d734d17cccd5 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:21:27 +0100
+Subject: [PATCH 6/6] fix libxklavier automagic support
+
+libxklavier support is optional, make that fact explicit.
+---
+ configure.ac |   28 +++++++++++++++++++---------
+ 1 files changed, 19 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 71d0247..10dbb72 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -129,17 +129,26 @@ SIMPLE_GREETER_LIBS="$SIMPLE_GREETER_LIBS -lm"
+ AC_SUBST(SIMPLE_GREETER_CFLAGS)
+ AC_SUBST(SIMPLE_GREETER_LIBS)
+ 
+-PKG_CHECK_MODULES(LIBXKLAVIER,
+-        libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
+-        have_libxklavier=yes,
+-        have_libxklavier=no)
+-if test "x$have_libxklavier" = "xyes" ; then
+-  AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
++AC_ARG_ENABLE([libxklavier],
++	AS_HELP_STRING([--enable-libxklavier],
++		       [Enable libxklavier support @<:@default=yes@:>@]),
++	enable_libxklavier=$enableval,
++	enable_libxklavier=yes)
++have_libxklavier=no
++if test "x$enable_libxklavier" = "xyes"; then
++   PKG_CHECK_MODULES(LIBXKLAVIER,
++	  libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
++          have_libxklavier=yes,
++          have_libxklavier=no)
++   if test "x$have_libxklavier" = "xyes" ; then
++      AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
++   fi
++   AC_SUBST(HAVE_LIBXKLAVIER)
++   AC_SUBST(LIBXKLAVIER_CFLAGS)
++   AC_SUBST(LIBXKLAVIER_LIBS)
+ fi
++
+ AM_CONDITIONAL(HAVE_LIBXKLAVIER, test x$have_libxklavier = xyes)
+-AC_SUBST(HAVE_LIBXKLAVIER)
+-AC_SUBST(LIBXKLAVIER_CFLAGS)
+-AC_SUBST(LIBXKLAVIER_LIBS)
+ 
+ PKG_CHECK_MODULES(SIMPLE_CHOOSER,
+         dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+@@ -1467,5 +1476,6 @@ echo \
+         SELinux support:          ${with_selinux}
+         ConsoleKit support:       ${use_console_kit}
+         UPower support:           ${have_upower}
++        Libxklavier support:      ${have_libxklavier}
+         Build with RBAC:          ${msg_rbac_shutdown}
+ "
+-- 
+1.7.3.1
+

diff --git a/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch b/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
new file mode 100644
index 0000000..c48cb07
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
@@ -0,0 +1,51 @@
+From 2dc0d268c7cc5d6133a9594adcd67dc543288b8f Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:19:07 +0100
+Subject: [PATCH 4/6] make custom session work
+
+Gentoo bug: #216984
+
+fix custom sessions not doing sourcing in the proper order.
+---
+ data/Xsession.in |   18 +++++++++---------
+ 1 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/data/Xsession.in b/data/Xsession.in
+index b2d98f2..0da187d 100755
+--- a/data/Xsession.in
++++ b/data/Xsession.in
+@@ -153,15 +153,6 @@ if [ -n "$GDM_LANG" ]; then
+   export LANG
+ fi
+ 
+-# run all system xinitrc shell scripts.
+-if [ -d /etc/X11/xinit/xinitrc.d ]; then
+-    for i in /etc/X11/xinit/xinitrc.d/* ; do
+-        if [ -x "$i" -a ! -d "$i" ]; then
+-	    . "$i"
+-        fi
+-    done
+-fi
+-
+ if [ "x$command" = "xcustom" ] ; then
+   if [ -x "$HOME/.xsession" ]; then
+     command="$HOME/.xsession"
+@@ -189,6 +180,15 @@ if [ "x$command" = "xdefault" ] ; then
+   fi
+ fi
+ 
++# run all system xinitrc shell scripts.
++if [ -d /etc/X11/xinit/xinitrc.d ]; then
++    for i in /etc/X11/xinit/xinitrc.d/* ; do
++        if [ -x "$i" ]; then
++	    . "$i"
++        fi
++    done
++fi
++
+ # add ssh-agent if found
+ sshagent="`gdmwhich ssh-agent`"
+ if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+-- 
+1.7.3.1
+

diff --git a/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
new file mode 100644
index 0000000..2ae7f61
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
@@ -0,0 +1,126 @@
+From 7f5104b242e6b36e6143183b14582d362763ff2a Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:16:51 +0100
+Subject: [PATCH 2/6] daemonize so that the boot process can continue
+
+Gentoo bug: #236701
+
+Originally from: Dan Nicholson <dbn.lists@gmail.com>
+
+Fork gdm-binary, except when -nodaemon is used
+ 
+gdm-binary now forks and the parent terminates, except when the
+-nodaemon or --nodaemon options are used. This provides compatibility
+with xdm. Fixes bug #550170.
+
+---
+ daemon/main.c |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 64 insertions(+), 0 deletions(-)
+
+diff --git a/daemon/main.c b/daemon/main.c
+index 5b8d66b..191b6e3 100644
+--- a/daemon/main.c
++++ b/daemon/main.c
+@@ -513,6 +513,56 @@ is_debug_set (void)
+         return debug;
+ }
+ 
++static void
++dup_dev_null (int fd, int flags)
++{
++        int nullfd;
++        int dupfd;
++
++        VE_IGNORE_EINTR (nullfd = open ("/dev/null", flags));
++        if (G_UNLIKELY (nullfd < 0)) {
++                gdm_fail (_("Cannot open /dev/null: %s!"),
++                          strerror (errno));
++                exit (EXIT_FAILURE);
++        }
++
++        VE_IGNORE_EINTR (dupfd = dup2 (nullfd, fd));
++        if (G_UNLIKELY (dupfd < 0)) {
++                gdm_fail (_("Cannot duplicate /dev/null: %s!"),
++                          strerror (errno));
++                exit (EXIT_FAILURE);
++        }
++
++        VE_IGNORE_EINTR (close (nullfd));
++}
++
++static void
++daemonify (void)
++{
++        pid_t pid;
++
++        pid = fork ();
++
++        /* terminate the parent */
++        if (pid > 0)
++                exit (EXIT_SUCCESS);
++
++        if (G_UNLIKELY (pid < 0)) {
++                gdm_fail (_("fork () failed: %s!"), strerror (errno));
++                exit (EXIT_FAILURE);
++        }
++
++        if (G_UNLIKELY (setsid () < 0)) {
++                gdm_fail (_("setsid () failed: %s!"), strerror (errno));
++                exit (EXIT_FAILURE);
++        }
++
++        /* reopen stdin, stdout, stderr with /dev/null */
++        dup_dev_null (STDIN_FILENO, O_RDONLY);
++        dup_dev_null (STDOUT_FILENO, O_RDWR);
++        dup_dev_null (STDERR_FILENO, O_RDWR);
++}
++
+ int
+ main (int    argc,
+       char **argv)
+@@ -523,14 +573,17 @@ main (int    argc,
+         DBusGConnection    *connection;
+         GError             *error;
+         int                 ret;
++        int                 i;
+         gboolean            res;
+         gboolean            xdmcp_enabled;
+         GdmSignalHandler   *signal_handler;
+         static gboolean     do_timed_exit    = FALSE;
+         static gboolean     print_version    = FALSE;
+         static gboolean     fatal_warnings   = FALSE;
++        static gboolean     no_daemon        = FALSE;
+         static GOptionEntry entries []   = {
+                 { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
++                { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
+                 { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
+                 { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
+ 
+@@ -547,6 +600,14 @@ main (int    argc,
+ 
+         g_type_init ();
+ 
++        /* preprocess the arguments to support the xdm style
++         * -nodaemon option
++         */
++        for (i = 0; i < argc; i++) {
++                if (strcmp (argv[i], "-nodaemon") == 0)
++                        argv[i] = "--nodaemon";
++        }
++
+         context = g_option_context_new (_("GNOME Display Manager"));
+         g_option_context_add_main_entries (context, entries, NULL);
+         g_option_context_set_ignore_unknown_options (context, TRUE);
+@@ -617,6 +678,9 @@ main (int    argc,
+                 exit (-1);
+         }
+ 
++        if (no_daemon == FALSE)
++                daemonify ();
++
+         /* pid file */
+         delete_pid ();
+         write_pid ();
+-- 
+1.7.3.1
+

diff --git a/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch b/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
new file mode 100644
index 0000000..e563aa4
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
@@ -0,0 +1,27 @@
+From 41badd6d2ca652a875fec3eea420ae876023076d Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:15:54 +0100
+Subject: [PATCH 1/6] remove unneeded linker directive for selinux
+
+Gentoo bug: #41022
+
+---
+ configure.ac |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ed07dce..71d0247 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -873,7 +873,7 @@ if test "x$with_selinux" = "xyes" ; then
+ 	AC_CHECK_LIB(selinux,setexeccon,/bin/true)
+ 	AC_CHECK_LIB(selinux,is_selinux_enabled,/bin/true)
+ 	AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux])
+-	EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
++	EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
+ fi
+ 
+ dnl ---------------------------------------------------------------------------
+-- 
+1.7.3.1
+

diff --git a/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch b/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
new file mode 100644
index 0000000..b1cddf1
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
@@ -0,0 +1,32 @@
+From 1cb1841da3a8fedc1671637e2828d5e361af21fa Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:19:31 +0100
+Subject: [PATCH 5/6] ssh-agent handling must be done at xinitrc.d
+
+Gentoo bug: #220603
+---
+ data/Xsession.in |    8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/data/Xsession.in b/data/Xsession.in
+index 0da187d..aa49b90 100755
+--- a/data/Xsession.in
++++ b/data/Xsession.in
+@@ -189,14 +189,6 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then
+     done
+ fi
+ 
+-# add ssh-agent if found
+-sshagent="`gdmwhich ssh-agent`"
+-if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+-    command="$sshagent -- $command"
+-elif [ -z "$sshagent" ] ; then
+-    echo "$0: ssh-agent not found!"
+-fi
+-
+ echo "$0: Setup done, will execute: $command"
+ 
+ eval exec $command
+-- 
+1.7.3.1
+

diff --git a/gnome-base/gdm/gdm-2.91.91.ebuild b/gnome-base/gdm/gdm-2.91.91.ebuild
new file mode 100644
index 0000000..5846551
--- /dev/null
+++ b/gnome-base/gdm/gdm-2.91.91.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-2.32.0.ebuild,v 1.2 2010/11/11 11:48:55 ssuominen Exp $
+
+EAPI="3"
+GCONF_DEBUG="yes"
+
+inherit autotools eutils gnome2 pam
+
+DESCRIPTION="GNOME Display Manager"
+HOMEPAGE="http://www.gnome.org/projects/gdm/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~sh ~sparc ~x86"
+
+IUSE_LIBC="elibc_glibc"
+IUSE="accessibility +consolekit ipv6 gnome-keyring selinux tcpd test xinerama +xklavier $IUSE_LIBC"
+
+# Name of the tarball with gentoo specific files
+GDM_EXTRA="${PN}-2.20.9-gentoo-files-r1"
+
+SRC_URI="${SRC_URI}
+	mirror://gentoo/${GDM_EXTRA}.tar.bz2"
+
+# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
+RDEPEND="
+	>=dev-libs/dbus-glib-0.74
+	>=dev-libs/glib-2.27.4:2
+	>=x11-libs/gtk+-2.91.1:3
+	>=x11-libs/pango-1.3
+	>=media-libs/fontconfig-2.5.0
+	>=media-libs/libcanberra-0.4[gtk3]
+	>=gnome-base/gconf-2.31.3
+	>=gnome-base/gnome-session-2.28
+	>=x11-misc/xdg-utils-1.0.2-r3
+	>=sys-power/upower-0.9
+	>=sys-apps/accountsservice-0.6.3
+
+	app-text/iso-codes
+
+	x11-base/xorg-server
+	x11-libs/libXi
+	x11-libs/libXau
+	x11-libs/libX11
+	x11-libs/libXdmcp
+	x11-libs/libXext
+	x11-libs/libXft
+	x11-apps/sessreg
+
+	virtual/pam
+	consolekit? ( sys-auth/consolekit )
+
+	accessibility? ( x11-libs/libXevie )
+	gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] )
+	selinux? ( sys-libs/libselinux )
+	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+	xinerama? ( x11-libs/libXinerama )
+	xklavier? ( >=x11-libs/libxklavier-4 )
+
+	!gnome-extra/fast-user-switch-applet"
+DEPEND="${RDEPEND}
+	test? ( >=dev-libs/check-0.9.4 )
+	xinerama? ( x11-proto/xineramaproto )
+	app-text/docbook-xml-dtd:4.1.2
+	sys-devel/gettext
+	x11-proto/inputproto
+	>=dev-util/intltool-0.40.0
+	>=dev-util/pkgconfig-0.19
+	>=app-text/scrollkeeper-0.1.4
+	>=app-text/gnome-doc-utils-0.3.2"
+
+pkg_setup() {
+	DOCS="AUTHORS ChangeLog NEWS README TODO"
+
+	# PAM is the only auth scheme supported
+	# even though configure lists shadow and crypt
+	# they don't have any corresponding code
+	G2CONF="${G2CONF}
+		--disable-schemas-install
+		--localstatedir=/var
+		--with-xdmcp=yes
+		--enable-authentication-scheme=pam
+		--with-pam-prefix=/etc
+		SOUND_PROGRAM=/usr/bin/gdmplay
+		$(use_with accessibility xevie)
+		$(use_enable ipv6)
+		$(use_enable xklavier libxklavier)
+		$(use_with consolekit console-kit)
+		$(use_with selinux)
+		$(use_with tcpd tcp-wrappers)
+		$(use_with xinerama)"
+
+	enewgroup gdm
+	enewuser gdm -1 -1 /var/lib/gdm gdm
+}
+
+src_prepare() {
+	gnome2_src_prepare
+
+	# remove unneeded linker directive for selinux, bug #41022
+	epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch"
+
+	# daemonize so that the boot process can continue, bug #236701
+	epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch"
+
+	# fix VT grab problem causing GDM to grab VT2 instead of 7, bug #261339
+	#epatch "${FILESDIR}/${PN}-2.32.0-broken-VT-detection.patch"
+
+	# make custom session work, bug #216984
+	epatch "${FILESDIR}/${PN}-2.32.0-custom-session.patch"
+
+	# ssh-agent handling must be done at xinitrc.d, bug #220603
+	epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
+
+	# fix libxklavier automagic support
+	epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
+
+	mkdir "${S}"/m4
+	intltoolize --force --copy --automake || die "intltoolize failed"
+	eautoreconf
+}
+
+src_install() {
+	gnome2_src_install
+
+	local gentoodir="${WORKDIR}/${GDM_EXTRA}"
+
+	# gdm-binary should be gdm to work with our init (#5598)
+	rm -f "${D}/usr/sbin/gdm"
+	dosym /usr/sbin/gdm-binary /usr/sbin/gdm
+
+	# our x11's scripts point to /usr/bin/gdm
+	dosym /usr/sbin/gdm-binary /usr/bin/gdm
+
+	# log, etc.
+	keepdir /var/log/gdm
+	keepdir /var/gdm
+
+	fowners root:gdm /var/gdm
+	fperms 1770 /var/gdm
+
+	# add a custom xsession .desktop by default (#44537)
+	exeinto /etc/X11/dm/Sessions
+	doexe "${gentoodir}/custom.desktop" || die "doexe 1 failed"
+
+	# add xinitrc.d scripts
+	exeinto /etc/X11/xinit/xinitrc.d
+	doexe "${FILESDIR}/49-keychain" || die "doexe 2 failed"
+	doexe "${FILESDIR}/50-ssh-agent" || die "doexe 3 failed"
+
+	# install XDG_DATA_DIRS gdm changes
+	echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm
+	doenvd 99xdg-gdm || die "doenvd failed"
+
+	# add a custom sound playing script (#248253)
+	dobin "${gentoodir}/gdmplay"
+
+	# avoid file collision, bug #213118
+	rm -f "${D}/usr/share/xsessions/gnome.desktop"
+
+	# We replace the pam stuff by our own
+	rm -rf "${D}/etc/pam.d"
+
+	use gnome-keyring && sed -i "s:#Keyring=::g" "${gentoodir}"/pam.d/*
+
+	dopamd "${gentoodir}"/pam.d/*
+	dopamsecurity console.apps "${gentoodir}/security/console.apps/gdmsetup"
+}
+
+pkg_postinst() {
+	gnome2_pkg_postinst
+
+	ewarn
+	ewarn "This is an EXPERIMENTAL release, please bear with its bugs and"
+	ewarn "visit us on #gentoo-desktop if you have problems."
+	ewarn
+
+	elog "To make GDM start at boot, edit /etc/conf.d/xdm"
+	elog "and then execute 'rc-update add xdm default'."
+	elog "If you already have GDM running, you will need to restart it."
+
+	if use gnome-keyring; then
+		elog "For autologin to unlock your keyring, you need to set an empty"
+		elog "password on your keyring. Use app-crypt/seahorse for that."
+	fi
+
+	if [ -f "/etc/X11/gdm/gdm.conf" ]; then
+		elog "You had /etc/X11/gdm/gdm.conf which is the old configuration"
+		elog "file.  It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16"
+		mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16
+	fi
+}
+
+pkg_postrm() {
+	gnome2_pkg_postrm
+
+	if rc-config list default | grep -q xdm; then
+		elog "To remove GDM from startup please execute"
+		elog "'rc-update del xdm default'"
+	fi
+}



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2011-04-02 13:54 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2011-04-02 13:54 UTC (permalink / raw
  To: gentoo-commits

commit:     05332aeddbd7e526110730595ed0cdb3cbf54036
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  2 13:43:14 2011 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Sat Apr  2 13:43:14 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=05332aed

gnome-base/gdm: fix crasher with gtk+-3.0.7

---
 .../gdm/files/gdm-2.91.94-fix-gtk+-crasher.patch   |  104 ++++++++++++++++++++
 .../{gdm-2.91.94.ebuild => gdm-2.91.94-r1.ebuild}  |    3 +
 2 files changed, 107 insertions(+), 0 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-2.91.94-fix-gtk+-crasher.patch b/gnome-base/gdm/files/gdm-2.91.94-fix-gtk+-crasher.patch
new file mode 100644
index 0000000..3b8379e
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.91.94-fix-gtk+-crasher.patch
@@ -0,0 +1,104 @@
+From 045c319f2655fc45c24951479eb9cd1e59792cef Mon Sep 17 00:00:00 2001
+From: Benjamin Otte <otte@redhat.com>
+Date: Sat, 2 Apr 2011 04:10:09 +0200
+Subject: [PATCH] simple-greeter: Don't request an invalid size
+
+GTK widgets must at all times report a size they can handle. So it is
+not allowed to return 0 when not realized, because then size allocations
+break when GTK uses this size for its widget.
+In this case, GTK uses the pre-realize size to determine the size it
+should request when creating the greeter window - chicken and egg so to
+say.
+
+This patch just uses the default monitor (I guess the root window's
+monitor is the default monitor?) for determining the login window size.
+
+One thing this patch doesn't do is add a call to gtk_widget_queue_resize()
+from the realize callback or from monitor-changing signals, though
+that's probably technically necessary.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=646498
+---
+ gui/simple-greeter/gdm-greeter-login-window.c |   28 +++++++++----------------
+ 1 files changed, 10 insertions(+), 18 deletions(-)
+
+diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
+index abd6707..3ec9a09 100644
+--- a/gui/simple-greeter/gdm-greeter-login-window.c
++++ b/gui/simple-greeter/gdm-greeter-login-window.c
+@@ -1413,25 +1413,22 @@ gdm_greeter_login_window_get_preferred_width (GtkWidget *widget,
+ {
+         int             monitor;
+         GdkScreen      *screen;
++        GdkWindow      *window;
+         GdkRectangle    area;
+         GtkAllocation   widget_allocation;
+         int             min_size;
+         int             nat_size;
+ 
+-        min_size = 0;
+-        nat_size = 0;
+-
+-        if (!gtk_widget_get_realized (widget)) {
+-                goto out;
+-        }
+-
+         gtk_widget_get_preferred_width (gtk_bin_get_child (GTK_BIN (widget)),
+                                         &min_size,
+                                         &nat_size);
+ 
+         /* Make width be at least 33% screen width */
+         screen = gtk_widget_get_screen (widget);
+-        monitor = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (widget));
++        window = gtk_widget_get_window (widget);
++        if (window == NULL)
++          window = gdk_screen_get_root_window (screen);
++        monitor = gdk_screen_get_monitor_at_window (screen, window);
+         gdk_screen_get_monitor_geometry (screen, monitor, &area);
+         min_size = MAX (min_size, .33 * area.width);
+         nat_size = MAX (nat_size, .33 * area.width);
+@@ -1442,7 +1439,6 @@ gdm_greeter_login_window_get_preferred_width (GtkWidget *widget,
+         min_size = MAX (min_size, widget_allocation.width);
+         nat_size = MAX (nat_size, widget_allocation.width);
+ 
+- out:
+         if (minimum_size)
+                 *minimum_size = min_size;
+         if (natural_size)
+@@ -1456,29 +1452,25 @@ gdm_greeter_login_window_get_preferred_height (GtkWidget *widget,
+ {
+         int             monitor;
+         GdkScreen      *screen;
++        GdkWindow      *window;
+         GdkRectangle    area;
+         int             min_size;
+         int             nat_size;
+ 
+-        min_size = 0;
+-        nat_size = 0;
+-
+-        if (!gtk_widget_get_realized (widget)) {
+-                goto out;
+-        }
+-
+         gtk_widget_get_preferred_height (gtk_bin_get_child (GTK_BIN (widget)),
+                                         &min_size,
+                                         &nat_size);
+ 
+         /* Make height be at most 80% of screen height */
+         screen = gtk_widget_get_screen (widget);
+-        monitor = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (widget));
++        window = gtk_widget_get_window (widget);
++        if (window == NULL)
++          window = gdk_screen_get_root_window (screen);
++        monitor = gdk_screen_get_monitor_at_window (screen, window);
+         gdk_screen_get_monitor_geometry (screen, monitor, &area);
+         min_size = MIN (min_size, .8 * area.height);
+         nat_size = MIN (nat_size, .8 * area.height);
+ 
+- out:
+         if (minimum_size)
+                 *minimum_size = min_size;
+         if (natural_size)
+-- 
+1.7.4
\ No newline at end of file

diff --git a/gnome-base/gdm/gdm-2.91.94.ebuild b/gnome-base/gdm/gdm-2.91.94-r1.ebuild
similarity index 98%
rename from gnome-base/gdm/gdm-2.91.94.ebuild
rename to gnome-base/gdm/gdm-2.91.94-r1.ebuild
index 1a5e95e..971c67a 100644
--- a/gnome-base/gdm/gdm-2.91.94.ebuild
+++ b/gnome-base/gdm/gdm-2.91.94-r1.ebuild
@@ -118,6 +118,9 @@ src_prepare() {
 	# fix libxklavier automagic support
 	epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
 
+	# Fix crasher with gtk+-3.0.7, bug 361679
+	epatch "${FILESDIR}/${P}-fix-gtk+-crasher.patch"
+
 	mkdir "${S}"/m4
 	intltoolize --force --copy --automake || die "intltoolize failed"
 	eautoreconf



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2011-04-05  0:57 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2011-04-05  0:57 UTC (permalink / raw
  To: gentoo-commits

commit:     0e581ba965791577ca2eab8f459143aad40f87e2
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Mon Apr  4 20:02:28 2011 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Mon Apr  4 21:20:34 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=0e581ba9

gnome-base/gdm: 2.91.94-r1 → 3.0.0

* Translation updates
* Remove gtk+ hack patch, gtk+ 3.0.8 was released

---
 .../gdm/files/gdm-2.91.94-fix-gtk+-crasher.patch   |  104 --------------------
 .../{gdm-2.91.94-r1.ebuild => gdm-3.0.0.ebuild}    |    3 -
 2 files changed, 0 insertions(+), 107 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-2.91.94-fix-gtk+-crasher.patch b/gnome-base/gdm/files/gdm-2.91.94-fix-gtk+-crasher.patch
deleted file mode 100644
index 3b8379e..0000000
--- a/gnome-base/gdm/files/gdm-2.91.94-fix-gtk+-crasher.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 045c319f2655fc45c24951479eb9cd1e59792cef Mon Sep 17 00:00:00 2001
-From: Benjamin Otte <otte@redhat.com>
-Date: Sat, 2 Apr 2011 04:10:09 +0200
-Subject: [PATCH] simple-greeter: Don't request an invalid size
-
-GTK widgets must at all times report a size they can handle. So it is
-not allowed to return 0 when not realized, because then size allocations
-break when GTK uses this size for its widget.
-In this case, GTK uses the pre-realize size to determine the size it
-should request when creating the greeter window - chicken and egg so to
-say.
-
-This patch just uses the default monitor (I guess the root window's
-monitor is the default monitor?) for determining the login window size.
-
-One thing this patch doesn't do is add a call to gtk_widget_queue_resize()
-from the realize callback or from monitor-changing signals, though
-that's probably technically necessary.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=646498
----
- gui/simple-greeter/gdm-greeter-login-window.c |   28 +++++++++----------------
- 1 files changed, 10 insertions(+), 18 deletions(-)
-
-diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
-index abd6707..3ec9a09 100644
---- a/gui/simple-greeter/gdm-greeter-login-window.c
-+++ b/gui/simple-greeter/gdm-greeter-login-window.c
-@@ -1413,25 +1413,22 @@ gdm_greeter_login_window_get_preferred_width (GtkWidget *widget,
- {
-         int             monitor;
-         GdkScreen      *screen;
-+        GdkWindow      *window;
-         GdkRectangle    area;
-         GtkAllocation   widget_allocation;
-         int             min_size;
-         int             nat_size;
- 
--        min_size = 0;
--        nat_size = 0;
--
--        if (!gtk_widget_get_realized (widget)) {
--                goto out;
--        }
--
-         gtk_widget_get_preferred_width (gtk_bin_get_child (GTK_BIN (widget)),
-                                         &min_size,
-                                         &nat_size);
- 
-         /* Make width be at least 33% screen width */
-         screen = gtk_widget_get_screen (widget);
--        monitor = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (widget));
-+        window = gtk_widget_get_window (widget);
-+        if (window == NULL)
-+          window = gdk_screen_get_root_window (screen);
-+        monitor = gdk_screen_get_monitor_at_window (screen, window);
-         gdk_screen_get_monitor_geometry (screen, monitor, &area);
-         min_size = MAX (min_size, .33 * area.width);
-         nat_size = MAX (nat_size, .33 * area.width);
-@@ -1442,7 +1439,6 @@ gdm_greeter_login_window_get_preferred_width (GtkWidget *widget,
-         min_size = MAX (min_size, widget_allocation.width);
-         nat_size = MAX (nat_size, widget_allocation.width);
- 
-- out:
-         if (minimum_size)
-                 *minimum_size = min_size;
-         if (natural_size)
-@@ -1456,29 +1452,25 @@ gdm_greeter_login_window_get_preferred_height (GtkWidget *widget,
- {
-         int             monitor;
-         GdkScreen      *screen;
-+        GdkWindow      *window;
-         GdkRectangle    area;
-         int             min_size;
-         int             nat_size;
- 
--        min_size = 0;
--        nat_size = 0;
--
--        if (!gtk_widget_get_realized (widget)) {
--                goto out;
--        }
--
-         gtk_widget_get_preferred_height (gtk_bin_get_child (GTK_BIN (widget)),
-                                         &min_size,
-                                         &nat_size);
- 
-         /* Make height be at most 80% of screen height */
-         screen = gtk_widget_get_screen (widget);
--        monitor = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (widget));
-+        window = gtk_widget_get_window (widget);
-+        if (window == NULL)
-+          window = gdk_screen_get_root_window (screen);
-+        monitor = gdk_screen_get_monitor_at_window (screen, window);
-         gdk_screen_get_monitor_geometry (screen, monitor, &area);
-         min_size = MIN (min_size, .8 * area.height);
-         nat_size = MIN (nat_size, .8 * area.height);
- 
-- out:
-         if (minimum_size)
-                 *minimum_size = min_size;
-         if (natural_size)
--- 
-1.7.4
\ No newline at end of file

diff --git a/gnome-base/gdm/gdm-2.91.94-r1.ebuild b/gnome-base/gdm/gdm-3.0.0.ebuild
similarity index 98%
rename from gnome-base/gdm/gdm-2.91.94-r1.ebuild
rename to gnome-base/gdm/gdm-3.0.0.ebuild
index 971c67a..1a5e95e 100644
--- a/gnome-base/gdm/gdm-2.91.94-r1.ebuild
+++ b/gnome-base/gdm/gdm-3.0.0.ebuild
@@ -118,9 +118,6 @@ src_prepare() {
 	# fix libxklavier automagic support
 	epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
 
-	# Fix crasher with gtk+-3.0.7, bug 361679
-	epatch "${FILESDIR}/${P}-fix-gtk+-crasher.patch"
-
 	mkdir "${S}"/m4
 	intltoolize --force --copy --automake || die "intltoolize failed"
 	eautoreconf



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2011-04-15 19:36 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2011-04-15 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     c0ded3e0fe2576cf70a224394ee08d18b6fcfd98
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 15 19:31:06 2011 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Fri Apr 15 19:35:43 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=c0ded3e0

gnome-base/gdm: fix bug 261339, bug 288852, bug 284053, remove old cruft

* VT detection should finally be fixed. See patch for details.

---
 .../gdm/files/gdm-3.0.0-fix-vt-problems.patch      |  195 ++++++++++++++++++++
 .../gdm/{gdm-3.0.0.ebuild => gdm-3.0.0-r1.ebuild}  |   33 +---
 2 files changed, 202 insertions(+), 26 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-3.0.0-fix-vt-problems.patch b/gnome-base/gdm/files/gdm-3.0.0-fix-vt-problems.patch
new file mode 100644
index 0000000..b7ceb49
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.0.0-fix-vt-problems.patch
@@ -0,0 +1,195 @@
+From 64002e623fea54ab10040206d164c5fdee4a43d2 Mon Sep 17 00:00:00 2001
+From: Nirbheek Chauhan <nirbheek@gentoo.org>
+Date: Fri, 15 Apr 2011 22:13:44 +0530
+Subject: [PATCH] Fix VT grab race with getty causing X to grab the wrong VT
+
+On bootup, if X is spawned without any args, it'll take up the first unused VT.
+If GDM starts up before gettys are spawned, X takes up VT1 or VT2 depending on
+the init system and bootsplash.
+
+This is problematic because afterwards getty will come up underneath X, and
+cause keyboard problems and eventually crash X.
+
+So we read /etc/inittab, check for open VTs, compare the two values, and take
+the conservative one.
+---
+ configure.ac        |    4 ++
+ daemon/Makefile.am  |    1 +
+ daemon/gdm-server.c |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 110 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ca0f8bb..b9e7462 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -302,6 +302,10 @@ AC_CHECK_TYPE(socklen_t,,
+ AC_CHECK_HEADERS(sys/sockio.h)
+ AC_CHECK_FUNCS([setresuid setenv unsetenv clearenv])
+ 
++dnl Needed for querying the kernel for free VTs
++AC_CHECK_HEADERS(sys/vt.h)
++AC_CHECK_HEADERS(sys/ioctl.h)
++
+ dnl checks needed for Darwin compatibility to linux **environ.
+ AC_CHECK_HEADERS(crt_externs.h)
+ AC_CHECK_FUNCS(_NSGetEnviron)
+diff --git a/daemon/Makefile.am b/daemon/Makefile.am
+index da18835..c1b6bda 100644
+--- a/daemon/Makefile.am
++++ b/daemon/Makefile.am
+@@ -14,6 +14,7 @@ AM_CPPFLAGS = \
+ 	-DLIBEXECDIR=\"$(libexecdir)\"			\
+ 	-DLOGDIR=\"$(logdir)\"				\
+ 	-DSBINDIR=\"$(sbindir)\"			\
++	-DSYSCONFDIR=\""$(sysconfdir)"\"		\
+ 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"	\
+ 	-DGDM_XAUTH_DIR=\"$(GDM_XAUTH_DIR)\"		\
+ 	-DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\"		\
+diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
+index 339f3cc..29d16dc 100644
+--- a/daemon/gdm-server.c
++++ b/daemon/gdm-server.c
+@@ -26,6 +26,8 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <sys/types.h>
++#include <sys/ioctl.h>
++#include <sys/vt.h>
+ #include <sys/wait.h>
+ #include <errno.h>
+ #include <ctype.h>
+@@ -42,6 +44,7 @@
+ #include <glib/gi18n.h>
+ #include <glib/gstdio.h>
+ #include <glib-object.h>
++#include <gio/gio.h>
+ 
+ #include <X11/Xlib.h> /* for Display */
+ 
+@@ -54,6 +57,8 @@ extern char **environ;
+ 
+ #define GDM_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SERVER, GdmServerPrivate))
+ 
++#define INITTAB SYSCONFDIR"/inittab"
++
+ /* These are the servstat values, also used as server
+  * process exit codes */
+ #define SERVER_TIMEOUT 2        /* Server didn't start */
+@@ -674,6 +679,105 @@ gdm_server_spawn (GdmServer  *server,
+ }
+ 
+ /**
++ * Parse the inittab file used by getty to spawn VTs to find unused ttys
++ */
++int
++get_free_vt_from_inittab ()
++{
++        GFile *gfile;
++        GFileInputStream *contents;
++        GDataInputStream *dstream;
++        GRegex *getty;
++        GMatchInfo *tty_match = NULL;
++        GSList *tty_list = NULL;
++        GError *error = NULL;
++        gchar *temp = NULL;
++        int vtno = 0;
++
++        gfile = g_file_new_for_path (INITTAB);
++        contents = g_file_read (gfile, NULL, &error);
++        g_object_unref (gfile);
++        if (!contents) {
++                if (error) {
++                        g_debug ("Unable to open file %s", INITTAB);
++                        g_error_free (error);
++                }
++                goto out;
++        }
++
++        dstream = g_data_input_stream_new (G_INPUT_STREAM (contents));
++        getty = g_regex_new ("^c[0-9]+:.+getty.+tty([0-9]+)", 0, 0, NULL);
++        g_object_unref (contents);
++
++        while (1) {
++                temp = g_data_input_stream_read_line (dstream, NULL, NULL, &error);
++                if (!temp)
++                        break;
++                if (!g_regex_match (getty, temp, 0, &tty_match))
++                        continue;
++                g_free (temp);
++                temp = g_match_info_fetch (tty_match, 1);
++                if (!temp)
++                        continue;
++                tty_list = g_slist_insert_sorted (tty_list, temp, (GCompareFunc)g_strcmp0);
++                g_match_info_free (tty_match);
++        }
++
++        if (error) {
++                g_debug ("Unable to read line from %s", INITTAB);
++                g_error_free (error);
++                goto free;
++        }
++
++        /* Ignore holes in vt allocation, just take the last one */
++        temp = g_slist_last (tty_list)->data;
++        if (temp)
++                vtno = (int) g_ascii_strtoull (temp, NULL, 10) + 1;
++
++free:
++        g_object_unref (dstream);
++        g_regex_unref (getty);
++        g_slist_free_full (tty_list, g_free);
++        g_free (error);
++out:
++        return vtno;
++}
++
++/**
++ * Query the VT_* kernel ioctls to find an empty tty
++ */
++int
++get_free_vt_from_kernel()
++{
++        int fd, vtno = 0;
++
++        fd = open ("/dev/tty0", O_WRONLY, 0);
++        if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || (vtno == -1)) {
++                vtno = 0;
++                g_debug ("Unable to find a free vt, falling back to Xorg autodetect");
++        }
++        return vtno;
++}
++
++gchar*
++get_free_vt ()
++{
++        int inittab_vtno, kernel_vtno;
++        gchar* vt = NULL;
++
++        inittab_vtno = get_free_vt_from_inittab();
++        if (inittab_vtno > 0)
++                g_debug ("Inittab says vt%i is free\n", inittab_vtno);
++        kernel_vtno = get_free_vt_from_kernel();
++        if (kernel_vtno > 0)
++                g_debug ("Kernel says vt%i is free\n", kernel_vtno);
++        /* Select the greater of the two because getty will use the others */
++        if (kernel_vtno != 0 && inittab_vtno != 0)
++                vt = g_strdup_printf ("vt%i", kernel_vtno > inittab_vtno ? kernel_vtno : inittab_vtno);
++        return vt;
++}
++
++/**
+  * gdm_server_start:
+  * @disp: Pointer to a GdmDisplay structure
+  *
+@@ -686,7 +790,7 @@ gdm_server_start (GdmServer *server)
+         gboolean res;
+ 
+         /* fork X server process */
+-        res = gdm_server_spawn (server, NULL);
++        res = gdm_server_spawn (server, get_free_vt());
+ 
+         return res;
+ }
+-- 
+1.7.3.4
+

diff --git a/gnome-base/gdm/gdm-3.0.0.ebuild b/gnome-base/gdm/gdm-3.0.0-r1.ebuild
similarity index 84%
rename from gnome-base/gdm/gdm-3.0.0.ebuild
rename to gnome-base/gdm/gdm-3.0.0-r1.ebuild
index 6b964ab..0e43a55 100644
--- a/gnome-base/gdm/gdm-3.0.0.ebuild
+++ b/gnome-base/gdm/gdm-3.0.0-r1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-2.32.0.ebuild,v 1.2 2010/11/11 11:48:55 ssuominen Exp $
+# $Header: $
 
 EAPI="3"
 GCONF_DEBUG="yes"
@@ -90,7 +90,6 @@ pkg_setup() {
 		--with-xdmcp=yes
 		--enable-authentication-scheme=pam
 		--with-pam-prefix=/etc
-		SOUND_PROGRAM=/usr/bin/gdmplay
 		$(use_with accessibility xevie)
 		$(use_enable ipv6)
 		$(use_enable xklavier libxklavier)
@@ -112,9 +111,8 @@ src_prepare() {
 	# daemonize so that the boot process can continue, bug #236701
 	epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch"
 
-	# fix VT grab problem causing GDM to grab VT2 instead of 7, bug #261339
-	# FIXME FIXME FIXME: this is due to a race b/w getty and gdm
-	#epatch "${FILESDIR}/${PN}-2.32.0-broken-VT-detection.patch"
+	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
+	epatch "${FILESDIR}/${PN}-3.0.0-fix-vt-problems.patch"
 
 	# make custom session work, bug #216984
 	epatch "${FILESDIR}/${PN}-2.32.0-custom-session.patch"
@@ -125,7 +123,7 @@ src_prepare() {
 	# fix libxklavier automagic support
 	epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
 
-	mkdir "${S}"/m4
+	mkdir -p "${S}"/m4
 	intltoolize --force --copy --automake || die "intltoolize failed"
 	eautoreconf
 }
@@ -135,6 +133,7 @@ src_install() {
 
 	local gentoodir="${WORKDIR}/${GDM_EXTRA}"
 
+	# FIXME: Remove dosym usage, gone in EAPI 4
 	# gdm-binary should be gdm to work with our init (#5598)
 	rm -f "${D}/usr/sbin/gdm"
 	dosym /usr/sbin/gdm-binary /usr/sbin/gdm
@@ -144,14 +143,6 @@ src_install() {
 
 	# log, etc.
 	keepdir /var/log/gdm
-	keepdir /var/gdm
-
-	fowners root:gdm /var/gdm
-	fperms 1770 /var/gdm
-
-	# add a custom xsession .desktop by default (#44537)
-	exeinto /etc/X11/dm/Sessions
-	doexe "${gentoodir}/custom.desktop" || die "doexe 1 failed"
 
 	# add xinitrc.d scripts
 	exeinto /etc/X11/xinit/xinitrc.d
@@ -162,19 +153,9 @@ src_install() {
 	echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm
 	doenvd 99xdg-gdm || die "doenvd failed"
 
-	# add a custom sound playing script (#248253)
-	dobin "${gentoodir}/gdmplay"
-
-	# avoid file collision, bug #213118
-	rm -f "${D}/usr/share/xsessions/gnome.desktop"
-
-	# We replace the pam stuff by our own
-	rm -rf "${D}/etc/pam.d"
-
 	use gnome-keyring && sed -i "s:#Keyring=::g" "${gentoodir}"/pam.d/*
 
-	dopamd "${gentoodir}"/pam.d/*
-	dopamsecurity console.apps "${gentoodir}/security/console.apps/gdmsetup"
+	dopamd "${gentoodir}"/pam.d/gdm{,-autologin}
 }
 
 pkg_postinst() {



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2011-05-03 10:52 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2011-05-03 10:52 UTC (permalink / raw
  To: gentoo-commits

commit:     f3b52d95a03e918e1b382bbe1ee9ed01ed2fae0e
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Tue May  3 10:51:49 2011 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Tue May  3 10:51:49 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=f3b52d95

gnome-base/gdm: rename patch

---
 ...lems.patch => gdm-2.32.0-fix-vt-problems.patch} |    0
 gnome-base/gdm/gdm-3.0.0-r1.ebuild                 |    2 +-
 2 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-3.0.0-fix-vt-problems.patch b/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch
similarity index 100%
rename from gnome-base/gdm/files/gdm-3.0.0-fix-vt-problems.patch
rename to gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch

diff --git a/gnome-base/gdm/gdm-3.0.0-r1.ebuild b/gnome-base/gdm/gdm-3.0.0-r1.ebuild
index 0e43a55..70cbe3e 100644
--- a/gnome-base/gdm/gdm-3.0.0-r1.ebuild
+++ b/gnome-base/gdm/gdm-3.0.0-r1.ebuild
@@ -112,7 +112,7 @@ src_prepare() {
 	epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch"
 
 	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
-	epatch "${FILESDIR}/${PN}-3.0.0-fix-vt-problems.patch"
+	epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
 
 	# make custom session work, bug #216984
 	epatch "${FILESDIR}/${PN}-2.32.0-custom-session.patch"



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2011-06-26  6:22 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2011-06-26  6:22 UTC (permalink / raw
  To: gentoo-commits

commit:     1ec5de286fd5263128fe03e3c3d3533542c9df28
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 26 06:22:34 2011 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Sun Jun 26 06:22:34 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=1ec5de28

gnome-base/gdm: install systemd unit file, bump to EAPI 4, don't use dosym

---
 gnome-base/gdm/files/gdm@.service                  |   11 +++++++++++
 .../gdm/{gdm-3.0.4.ebuild => gdm-3.0.4-r1.ebuild}  |   14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/gnome-base/gdm/files/gdm@.service b/gnome-base/gdm/files/gdm@.service
new file mode 100644
index 0000000..aa5f406
--- /dev/null
+++ b/gnome-base/gdm/files/gdm@.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Gnome Display Manager on %I
+Requires=dev-%i.device
+After=dev-%i.device
+
+[Service]
+ExecStart=/usr/bin/gdm -nodaemon
+ExecStop=/usr/sbin/gdm-stop
+
+[Install]
+Alias=graphical.target.wants/gdm@tty7.service

diff --git a/gnome-base/gdm/gdm-3.0.4.ebuild b/gnome-base/gdm/gdm-3.0.4-r1.ebuild
similarity index 95%
rename from gnome-base/gdm/gdm-3.0.4.ebuild
rename to gnome-base/gdm/gdm-3.0.4-r1.ebuild
index 7386973..736fd65 100644
--- a/gnome-base/gdm/gdm-3.0.4.ebuild
+++ b/gnome-base/gdm/gdm-3.0.4-r1.ebuild
@@ -2,10 +2,10 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
-EAPI="3"
+EAPI="4"
 GCONF_DEBUG="yes"
 
-inherit autotools eutils gnome2 pam
+inherit autotools eutils gnome2 pam systemd
 
 DESCRIPTION="GNOME Display Manager"
 HOMEPAGE="http://www.gnome.org/projects/gdm/"
@@ -133,13 +133,15 @@ src_install() {
 
 	local gentoodir="${WORKDIR}/${GDM_EXTRA}"
 
+	# Install the systemd unit file
+	systemd_dounit "${FILESDIR}/gdm@.service"
+
 	# FIXME: Remove dosym usage, gone in EAPI 4
 	# gdm-binary should be gdm to work with our init (#5598)
-	rm -f "${D}/usr/sbin/gdm"
-	dosym /usr/sbin/gdm-binary /usr/sbin/gdm
-
+	rm -f "${ED}/usr/sbin/gdm"
+	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm"
 	# our x11's scripts point to /usr/bin/gdm
-	dosym /usr/sbin/gdm-binary /usr/bin/gdm
+	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm"
 
 	# log, etc.
 	keepdir /var/log/gdm



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2011-08-13  6:08 Alexandre Restovtsev
  0 siblings, 0 replies; 14+ messages in thread
From: Alexandre Restovtsev @ 2011-08-13  6:08 UTC (permalink / raw
  To: gentoo-commits

commit:     09e6158c7f2664db4dc22b42b68b6ce9c2018fae
Author:     Alexandre Rostovtsev <tetromino <AT> gmail <DOT> com>
AuthorDate: Sat Aug 13 05:58:46 2011 +0000
Commit:     Alexandre Restovtsev <tetromino <AT> gmail <DOT> com>
CommitDate: Sat Aug 13 05:58:46 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=09e6158c

gnome-base/gdm: 3.0.4-r1 → 3.0.4-r2, a11y and env variable fixes

Explicitly use --with-at-spi-registryd-directory configure argument
to correctly set the path in at-spi-registryd-wrapper.desktop; see
https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4

Add at-spi to runtime dependencies when USE=accessibility (it's loaded
at runtime).

Patch gdm's gconf defaults if USE=-accessibility to prevent it from
loading accessibility functionality at runtime.

Patch gdm to not ignore all environment variables when launching
gnome-session; see https://bugzilla.gnome.org/show_bug.cgi?id=656094

---
 gnome-base/gdm/files/gdm-3.0.4-disable-a11y.patch  |   21 +++
 ...dm-3.0.4-hardcoded-gnome-session-path-env.patch |  132 ++++++++++++++++++++
 .../{gdm-3.0.4-r1.ebuild => gdm-3.0.4-r2.ebuild}   |   15 ++-
 3 files changed, 166 insertions(+), 2 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-3.0.4-disable-a11y.patch b/gnome-base/gdm/files/gdm-3.0.4-disable-a11y.patch
new file mode 100644
index 0000000..94d83af
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.0.4-disable-a11y.patch
@@ -0,0 +1,21 @@
+diff --git a/data/session-setup.entries b/data/session-setup.entries
+index b84e16f..a47d761 100644
+--- a/data/session-setup.entries
++++ b/data/session-setup.entries
+@@ -406,14 +406,14 @@
+     <entry>
+       <key>/desktop/gnome/interface/accessibility</key>
+       <value>
+-        <bool>true</bool>
++        <bool>false</bool>
+       </value>
+     </entry>
+ 
+     <entry>
+       <key>/desktop/gnome/accessibility/keyboard/enable</key>
+       <value>
+-        <bool>true</bool>
++        <bool>false</bool>
+       </value>
+     </entry>
+ 

diff --git a/gnome-base/gdm/files/gdm-3.0.4-hardcoded-gnome-session-path-env.patch b/gnome-base/gdm/files/gdm-3.0.4-hardcoded-gnome-session-path-env.patch
new file mode 100644
index 0000000..50564de
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.0.4-hardcoded-gnome-session-path-env.patch
@@ -0,0 +1,132 @@
+From ece7e78e3ef5278382acbf8258950c8607a5d7df Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Sun, 7 Aug 2011 02:15:11 -0400
+Subject: [PATCH] Don't hardcode gnome-session path, don't drop harmless env
+ variables
+
+Don't hardcode the location of the gnome-session executable to /usr/bin.
+The system administrator may want have installed a custom wrapper in
+/usr/local that he wants gdm to use instead.
+
+Also, change the logic for how environment variables in spawned session
+processes are set. Instead of inheriting i18n variables from the current
+process and then setting the needed ones, we now:
+1. set needed environment variables;
+2. inherit env variables that had not been set in step 1 from the
+   current process;
+3. drop specific variables that may cause problems.
+
+This allows a system administrator to force gdm to spawn sessions with a
+particular custom environment variable set to e.g. work around hardware
+driver bugs.
+
+Addresses https://bugzilla.gnome.org/show_bug.cgi?id=656094
+---
+ daemon/gdm-greeter-session.c |    2 +-
+ daemon/gdm-welcome-session.c |   43 ++++++++++++++++++++++++++---------------
+ 2 files changed, 28 insertions(+), 17 deletions(-)
+
+diff --git a/daemon/gdm-greeter-session.c b/daemon/gdm-greeter-session.c
+index a401508..7429314 100644
+--- a/daemon/gdm-greeter-session.c
++++ b/daemon/gdm-greeter-session.c
+@@ -148,7 +148,7 @@ gdm_greeter_session_new (const char *display_name,
+         GObject *object;
+ 
+         object = g_object_new (GDM_TYPE_GREETER_SESSION,
+-                               "command", BINDIR "/gnome-session --session gdm --autostart="DATADIR"/gdm/autostart/LoginWindow/",
++                               "command", "gnome-session --session gdm --autostart="DATADIR"/gdm/autostart/LoginWindow/",
+                                "server-dbus-path", GDM_GREETER_SERVER_DBUS_PATH,
+                                "server-dbus-interface", GDM_GREETER_SERVER_DBUS_INTERFACE,
+                                "server-env-var-name", "GDM_GREETER_DBUS_ADDRESS",
+diff --git a/daemon/gdm-welcome-session.c b/daemon/gdm-welcome-session.c
+index b8ec8d7..d0e6030 100644
+--- a/daemon/gdm-welcome-session.c
++++ b/daemon/gdm-welcome-session.c
+@@ -350,32 +350,28 @@ get_welcome_environment (GdmWelcomeSession *welcome_session,
+         GPtrArray     *env;
+         GHashTable    *hash;
+         struct passwd *pwent;
+-        static const char * const optional_environment[] = {
++        static const char * const lang_environment[] = {
+                 "LANG", "LANGUAGE", "LC_CTYPE", "LC_NUMERIC", "LC_TIME",
+                 "LC_COLLATE", "LC_MONETARY", "LC_MESSAGES", "LC_PAPER",
+                 "LC_NAME", "LC_ADDRESS", "LC_TELEPHONE", "LC_MEASUREMENT",
+                 "LC_IDENTIFICATION", "LC_ALL",
+                 NULL
+         };
++        static const char * const drop_environment[] = {
++                "MAIL", NULL
++        };
++        char **curr_environment;
+         int i;
+ 
+         load_lang_config_file (LANG_CONFIG_FILE,
+-                               (const char **) optional_environment);
++                               (const char **) lang_environment);
++        curr_environment = g_listenv ();
+         env = g_ptr_array_new ();
+ 
+-        /* create a hash table of current environment, then update keys has necessary */
++        /* Create a hash table for environment variables.
++         * First, insert keys we need to set. */
+         hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
+ 
+-        for (i = 0; optional_environment[i] != NULL; i++) {
+-                if (g_getenv (optional_environment[i]) == NULL) {
+-                        continue;
+-                }
+-
+-                g_hash_table_insert (hash,
+-                                     g_strdup (optional_environment[i]),
+-                                     g_strdup (g_getenv (optional_environment[i])));
+-        }
+-
+         if (welcome_session->priv->dbus_bus_address != NULL) {
+                 g_hash_table_insert (hash,
+                                      g_strdup ("DBUS_SESSION_BUS_ADDRESS"),
+@@ -409,7 +405,6 @@ get_welcome_environment (GdmWelcomeSession *welcome_session,
+         g_hash_table_insert (hash, g_strdup ("USERNAME"), g_strdup (welcome_session->priv->user_name));
+ 
+         g_hash_table_insert (hash, g_strdup ("GDM_VERSION"), g_strdup (VERSION));
+-        g_hash_table_remove (hash, "MAIL");
+ 
+         g_hash_table_insert (hash, g_strdup ("HOME"), g_strdup ("/"));
+         g_hash_table_insert (hash, g_strdup ("PWD"), g_strdup ("/"));
+@@ -435,15 +430,31 @@ get_welcome_environment (GdmWelcomeSession *welcome_session,
+                 g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
+         }
+ 
+-        g_hash_table_insert (hash, g_strdup ("PATH"), g_strdup (g_getenv ("PATH")));
+-        g_hash_table_insert (hash, g_strdup ("WINDOWPATH"), g_strdup (g_getenv ("WINDOWPATH")));
+         g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
+         g_hash_table_insert (hash, g_strdup ("GVFS_DISABLE_FUSE"), g_strdup ("1"));
+         g_hash_table_insert (hash, g_strdup ("DCONF_PROFILE"), g_strdup ("gdm"));
+ 
++        /* Second, insert environment variables from current process that haven't been set in the hash yet. */
++        for (i = 0; curr_environment[i] != NULL; i++) {
++                if (g_hash_table_lookup (hash, curr_environment[i]) != NULL ||
++                    g_getenv (curr_environment[i]) == NULL) {
++                        continue;
++                }
++
++                g_hash_table_insert (hash,
++                                     g_strdup (curr_environment[i]),
++                                     g_strdup (g_getenv (curr_environment[i])));
++        }
++
++        /* Third, remove undesirable environment variables. */
++        for (i = 0; drop_environment[i] != NULL; i++)
++                g_hash_table_remove (hash, drop_environment[i]);
++
+         g_hash_table_foreach (hash, (GHFunc)listify_hash, env);
+         g_hash_table_destroy (hash);
+ 
++        g_strfreev (curr_environment);
++
+         g_ptr_array_add (env, NULL);
+ 
+         return env;
+-- 
+1.7.6
+

diff --git a/gnome-base/gdm/gdm-3.0.4-r1.ebuild b/gnome-base/gdm/gdm-3.0.4-r2.ebuild
similarity index 90%
rename from gnome-base/gdm/gdm-3.0.4-r1.ebuild
rename to gnome-base/gdm/gdm-3.0.4-r2.ebuild
index 736fd65..3a8b8a7 100644
--- a/gnome-base/gdm/gdm-3.0.4-r1.ebuild
+++ b/gnome-base/gdm/gdm-3.0.4-r2.ebuild
@@ -69,11 +69,13 @@ DEPEND="${COMMON_DEPEND}
 	>=app-text/scrollkeeper-0.1.4
 	>=app-text/gnome-doc-utils-0.3.2"
 # XXX: These deps are from the gnome-session gdm.session file
+# at-spi is needed for at-spi-registryd-wrapper.desktop
 RDEPEND="${COMMON_DEPEND}
 	>=gnome-base/gnome-session-2.91.92
 	>=gnome-base/gnome-settings-daemon-2.91
 	x11-wm/metacity
 
+	accessibility? ( gnome-extra/at-spi:1 )
 	consolekit? ( gnome-extra/polkit-gnome )
 
 	!gnome-extra/fast-user-switch-applet"
@@ -84,12 +86,15 @@ pkg_setup() {
 	# PAM is the only auth scheme supported
 	# even though configure lists shadow and crypt
 	# they don't have any corresponding code
+	# --with-at-spi-registryd-directory= needs to be passed explicitly because
+	# of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
 	G2CONF="${G2CONF}
 		--disable-schemas-install
-		--localstatedir=/var
+		--localstatedir=${EROOT}var
 		--with-xdmcp=yes
 		--enable-authentication-scheme=pam
-		--with-pam-prefix=/etc
+		--with-pam-prefix=${EROOT}etc
+		--with-at-spi-registryd-directory=${EROOT}usr/libexec
 		$(use_with accessibility xevie)
 		$(use_enable ipv6)
 		$(use_enable xklavier libxklavier)
@@ -123,6 +128,12 @@ src_prepare() {
 	# fix libxklavier automagic support
 	epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
 
+	# don't ignore all non-i18n environment variables, gnome bug 656094
+	epatch "${FILESDIR}/${PN}-3.0.4-hardcoded-gnome-session-path-env.patch"
+
+	# don't load accessibility support at runtime when USE=-accessibility
+	use accessibility || epatch "${FILESDIR}/${PN}-3.0.4-disable-a11y.patch"
+
 	mkdir -p "${S}"/m4
 	intltoolize --force --copy --automake || die "intltoolize failed"
 	eautoreconf



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2011-10-23  8:41 Alexandre Restovtsev
  0 siblings, 0 replies; 14+ messages in thread
From: Alexandre Restovtsev @ 2011-10-23  8:41 UTC (permalink / raw
  To: gentoo-commits

commit:     110e267c48f5629a139700722bc6ceee1f59eea7
Author:     Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 07:07:12 2011 +0000
Commit:     Alexandre Restovtsev <tetromino <AT> gmail <DOT> com>
CommitDate: Sun Oct 23 08:32:23 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=110e267c

gnome-base/gdm: 3.2.0-r1 → 3.2.1.1

Bump, now uses a different way of setting gsettings defaults, and the
gdm Xsession script now explicitly calls "xhost +si:localuser:`id -un`"
(which should not make a difference on Gentoo, since we were doing it
anyway in /etc/xinit/xinitrc.d/00-xhost).

Also, drop .la files; they are entirely unnecessary.

---
 .../files/gdm-3.1.91-disable-accessibility.patch   |   60 ------------------
 .../gdm/files/gdm-3.2.1.1-custom-session.patch     |   51 +++++++++++++++
 .../files/gdm-3.2.1.1-disable-accessibility.patch  |   65 ++++++++++++++++++++
 .../{gdm-3.2.0-r1.ebuild => gdm-3.2.1.1.ebuild}    |   18 +++---
 4 files changed, 124 insertions(+), 70 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-3.1.91-disable-accessibility.patch b/gnome-base/gdm/files/gdm-3.1.91-disable-accessibility.patch
deleted file mode 100644
index 54bc4a7..0000000
--- a/gnome-base/gdm/files/gdm-3.1.91-disable-accessibility.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 947f39a9de41495eadd58f92a84d350d4e6e6580 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gmail.com>
-Date: Wed, 14 Sep 2011 22:09:56 -0400
-Subject: [PATCH 2/2] Disable a11y in gconf and gsettings defaults
-
----
- data/make-dconf-override-db.sh |    6 +++---
- data/session-setup.entries     |    4 ++--
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/data/make-dconf-override-db.sh b/data/make-dconf-override-db.sh
-index 638fe1d..af8fa9c 100755
---- a/data/make-dconf-override-db.sh
-+++ b/data/make-dconf-override-db.sh
-@@ -13,10 +13,10 @@ trap 'rm -rf $TMPDIR; kill $DBUS_SESSION_BUS_PID' ERR
- 
- gsettings set org.gnome.power-manager show-actions false || :
- 
--gsettings set org.gnome.desktop.a11y.keyboard enable true
-+gsettings set org.gnome.desktop.a11y.keyboard enable false
- gsettings set org.gnome.desktop.background show-desktop-icons false
- gsettings set org.gnome.desktop.default-applications.terminal exec '"/bin/true"'
--gsettings set org.gnome.desktop.interface toolkit-accessibility true
-+gsettings set org.gnome.desktop.interface toolkit-accessibility false
- 
- gsettings set org.gnome.desktop.lockdown disable-application-handlers true
- gsettings set org.gnome.desktop.lockdown disable-command-line true
-@@ -48,7 +48,7 @@ gsettings list-schemas | egrep '^org\.gnome\.settings-daemon\.plugins\.' | while
-     gsettings set $schema active false
- done
- 
--gsettings set org.gnome.settings-daemon.plugins.a11y-keyboard active true
-+gsettings set org.gnome.settings-daemon.plugins.a11y-keyboard active false
- gsettings set org.gnome.settings-daemon.plugins.background active true
- gsettings set org.gnome.settings-daemon.plugins.cursor active true
- gsettings set org.gnome.settings-daemon.plugins.media-keys active true
-diff --git a/data/session-setup.entries b/data/session-setup.entries
-index b84e16f..a47d761 100644
---- a/data/session-setup.entries
-+++ b/data/session-setup.entries
-@@ -406,14 +406,14 @@
-     <entry>
-       <key>/desktop/gnome/interface/accessibility</key>
-       <value>
--        <bool>true</bool>
-+        <bool>false</bool>
-       </value>
-     </entry>
- 
-     <entry>
-       <key>/desktop/gnome/accessibility/keyboard/enable</key>
-       <value>
--        <bool>true</bool>
-+        <bool>false</bool>
-       </value>
-     </entry>
- 
--- 
-1.7.6.1
-

diff --git a/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch b/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
new file mode 100644
index 0000000..0642f7c
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
@@ -0,0 +1,51 @@
+From b96c19976b6876648fd91949f78f06cf5d269b18 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:19:07 +0100
+Subject: [PATCH] make custom session work
+
+Gentoo bug: #216984
+
+fix custom sessions not doing sourcing in the proper order.
+---
+ data/Xsession.in |   18 +++++++++---------
+ 1 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/data/Xsession.in b/data/Xsession.in
+index 118518c..201be92 100755
+--- a/data/Xsession.in
++++ b/data/Xsession.in
+@@ -155,15 +155,6 @@ fi
+ 
+ xhost +si:localuser:`id -un` || :
+ 
+-# run all system xinitrc shell scripts.
+-if [ -d /etc/X11/xinit/xinitrc.d ]; then
+-    for i in /etc/X11/xinit/xinitrc.d/* ; do
+-        if [ -x "$i" -a ! -d "$i" ]; then
+-	    . "$i"
+-        fi
+-    done
+-fi
+-
+ if [ "x$command" = "xcustom" ] ; then
+   if [ -x "$HOME/.xsession" ]; then
+     command="$HOME/.xsession"
+@@ -191,6 +182,15 @@ if [ "x$command" = "xdefault" ] ; then
+   fi
+ fi
+ 
++# run all system xinitrc shell scripts.
++if [ -d /etc/X11/xinit/xinitrc.d ]; then
++    for i in /etc/X11/xinit/xinitrc.d/* ; do
++        if [ -x "$i" -a ! -d "$i" ]; then
++	    . "$i"
++        fi
++    done
++fi
++
+ # add ssh-agent if found
+ sshagent="`gdmwhich ssh-agent`"
+ if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+-- 
+1.7.7
+

diff --git a/gnome-base/gdm/files/gdm-3.2.1.1-disable-accessibility.patch b/gnome-base/gdm/files/gdm-3.2.1.1-disable-accessibility.patch
new file mode 100644
index 0000000..ab8325f
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.2.1.1-disable-accessibility.patch
@@ -0,0 +1,65 @@
+From 91bd106c72362e51fbfa6966bc71dd0bb12d479d Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Wed, 14 Sep 2011 22:09:56 -0400
+Subject: [PATCH] Disable a11y in gconf and gsettings defaults
+
+---
+ data/00-upstream-settings  |    6 +++---
+ data/session-setup.entries |    4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/data/00-upstream-settings b/data/00-upstream-settings
+index 1511b7b..87410cb 100644
+--- a/data/00-upstream-settings
++++ b/data/00-upstream-settings
+@@ -7,7 +7,7 @@
+ #
+ 
+ [org/gnome/desktop/a11y/keyboard]
+-enable=true
++enable=false
+ 
+ [org/gnome/desktop/background]
+ show-desktop-icons=false
+@@ -16,7 +16,7 @@ show-desktop-icons=false
+ exec='/bin/true'
+ 
+ [org/gnome/desktop/interface]
+-toolkit-accessibility=true
++toolkit-accessibility=false
+ 
+ [org/gnome/desktop/lockdown]
+ disable-application-handlers=true
+@@ -35,7 +35,7 @@ session-name='gdm-shell'
+ event-sounds=true
+ 
+ [org/gnome/settings-daemon/plugins/a11y-keyboard]
+-active=true
++active=false
+ 
+ [org/gnome/settings-daemon/plugins/a11y-settings]
+ active=false
+diff --git a/data/session-setup.entries b/data/session-setup.entries
+index b84e16f..a47d761 100644
+--- a/data/session-setup.entries
++++ b/data/session-setup.entries
+@@ -406,14 +406,14 @@
+     <entry>
+       <key>/desktop/gnome/interface/accessibility</key>
+       <value>
+-        <bool>true</bool>
++        <bool>false</bool>
+       </value>
+     </entry>
+ 
+     <entry>
+       <key>/desktop/gnome/accessibility/keyboard/enable</key>
+       <value>
+-        <bool>true</bool>
++        <bool>false</bool>
+       </value>
+     </entry>
+ 
+-- 
+1.7.7
+

diff --git a/gnome-base/gdm/gdm-3.2.0-r1.ebuild b/gnome-base/gdm/gdm-3.2.1.1.ebuild
similarity index 94%
rename from gnome-base/gdm/gdm-3.2.0-r1.ebuild
rename to gnome-base/gdm/gdm-3.2.1.1.ebuild
index fc6e066..3bb548a 100644
--- a/gnome-base/gdm/gdm-3.2.0-r1.ebuild
+++ b/gnome-base/gdm/gdm-3.2.1.1.ebuild
@@ -3,6 +3,7 @@
 # $Header: $
 
 EAPI="4"
+GNOME2_LA_PUNT="yes"
 GCONF_DEBUG="yes"
 
 inherit autotools eutils gnome2 pam systemd
@@ -25,7 +26,7 @@ SRC_URI="${SRC_URI}
 
 # NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
 # nspr used by smartcard extension
-# dconf, dbus and g-s-d are needed at build time for make-dconf-override-db.sh
+# dconf, dbus and g-s-d are needed at install time for dconf update
 COMMON_DEPEND="
 	>=dev-libs/dbus-glib-0.74
 	>=dev-libs/glib-2.29.3:2
@@ -155,7 +156,7 @@ src_prepare() {
 	epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
 
 	# make custom session work, bug #216984
-	epatch "${FILESDIR}/${PN}-2.32.0-custom-session.patch"
+	epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch"
 
 	# ssh-agent handling must be done at xinitrc.d, bug #220603
 	epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
@@ -167,17 +168,12 @@ src_prepare() {
 	epatch "${FILESDIR}/${PN}-3.1.91-hardcoded-gnome-session-path-env.patch"
 
 	# don't load accessibility support at runtime when USE=-accessibility
-	if ! use accessibility; then
-		epatch "${FILESDIR}/${PN}-3.1.91-disable-accessibility.patch"
-		# force gsettings override db to be regenerated
-		rm -f data/dconf-override-db
-	fi
+	use accessibility || epatch "${FILESDIR}/${PN}-3.2.1.1-disable-accessibility.patch"
 
 	# make gdm-fallback session the default if USE=-gnome-shell
 	if ! use gnome-shell; then
-		sed -e 's:"gdm-shell":"gdm-fallback":' \
-			-i data/make-dconf-override-db.sh || die "sed failed"
-		rm -f data/dconf-override-db
+		sed -e "s:'gdm-shell':'gdm-fallback':" \
+			-i data/00-upstream-settings || die "sed failed"
 	fi
 
 	mkdir -p "${S}"/m4
@@ -224,6 +220,8 @@ src_install() {
 pkg_postinst() {
 	gnome2_pkg_postinst
 
+	dbus-launch dconf update || die "'dconf update' failed"
+
 	ewarn
 	ewarn "This is an EXPERIMENTAL release, please bear with its bugs and"
 	ewarn "visit us on #gentoo-desktop if you have problems."



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2012-08-18 14:07 Priit Laes
  0 siblings, 0 replies; 14+ messages in thread
From: Priit Laes @ 2012-08-18 14:07 UTC (permalink / raw
  To: gentoo-commits

commit:     01fcfc0e56c49b029af9278a0a4a8044cf3a4f30
Author:     Priit Laes <plaes <AT> plaes <DOT> org>
AuthorDate: Sat Aug 18 14:04:38 2012 +0000
Commit:     Priit Laes <plaes <AT> plaes <DOT> org>
CommitDate: Sat Aug 18 14:04:38 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=01fcfc0e

gnome-base/gdm: Revbump to counter dconf-0.13 breakage

---
 .../gdm/files/gdm-3.4.1-dconf-compatibility.patch  |   19 ++
 gnome-base/gdm/files/gdm-3.4.1-plymouth.patch      |  338 ++++++++++++++++++++
 .../gdm/files/gdm-3.4.1-save-root-window.patch     |  141 ++++++++
 gnome-base/gdm/gdm-3.4.1-r1.ebuild                 |  274 ++++++++++++++++
 4 files changed, 772 insertions(+), 0 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-3.4.1-dconf-compatibility.patch b/gnome-base/gdm/files/gdm-3.4.1-dconf-compatibility.patch
new file mode 100644
index 0000000..3106bec
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.4.1-dconf-compatibility.patch
@@ -0,0 +1,19 @@
+commit c0ad2d5b85b063bd7cb5dd2153f0755f4ebe3efb
+Author: Matthias Clasen <mclasen@redhat.com>
+Date:   Thu Jul 19 08:23:29 2012 -0400
+
+    Update the syntax of the dconf profile file
+    
+    We were using a deprecated syntax which stopped working in
+    dconf 0.13.4 - without warning :-(. See
+    http://live.gnome.org/dconf/SystemAdministrators
+
+diff --git a/data/dconf-profile b/data/dconf-profile
+index d5a90e5..68deb5a 100644
+--- a/data/dconf-profile
++++ b/data/dconf-profile
+@@ -1,2 +1,2 @@
+-user
+-gdm
++user-db:user
++system-db:gdm

diff --git a/gnome-base/gdm/files/gdm-3.4.1-plymouth.patch b/gnome-base/gdm/files/gdm-3.4.1-plymouth.patch
new file mode 100644
index 0000000..edd6220
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.4.1-plymouth.patch
@@ -0,0 +1,338 @@
+From c56fbb65277e8a17db5e0939f0b02e41c4ec784c Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Fri, 27 Nov 2009 18:52:54 -0500
+Subject: [PATCH] daemon: enable smooth transition between plymouth and X
+
+This commit adds optional support for interacting with plymouth
+from gdm. This feature can be enabled by passing --with-plymouth
+to configure.
+
+Hopefully, this will enable the various distributions that use
+plymouth to drop a patch.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=572173
+---
+ configure.ac              |   32 +++++++++++++
+ daemon/gdm-server.c       |   60 +++++++++++++++++++++++++
+ daemon/gdm-server.h       |    3 +
+ daemon/gdm-simple-slave.c |  106 ++++++++++++++++++++++++++++++++++++++++++++-
+ 4 files changed, 200 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 35e6e04..81ea23e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -264,6 +264,10 @@ AC_ARG_WITH(systemd,
+             AS_HELP_STRING([--with-systemd],
+                            [Add systemd support @<:@default=auto@:>@]),
+             [with_systemd=$withval], [with_systemd=auto])
++AC_ARG_WITH(plymouth,
++            AS_HELP_STRING([--with-plymouth],
++                           [Add plymouth support @<:@default=auto@:>@]),
++            [with_plymouth=$withval], [with_plymouth=auto])
+ 
+ AC_ARG_WITH(at-spi-registryd-directory,
+             AS_HELP_STRING([--with-at-spi-registryd-directory],
+@@ -952,6 +956,33 @@ AC_SUBST(SYSTEMD_X_SERVER)
+ AC_DEFINE_UNQUOTED(SYSTEMD_X_SERVER,"$SYSTEMD_X_SERVER",[Path to systemd X server wrapper])
+ 
+ dnl ---------------------------------------------------------------------------
++dnl - Check for plymouth support
++dnl ---------------------------------------------------------------------------
++PKG_CHECK_MODULES(PLYMOUTH,
++                  [ply-boot-client],
++                  [have_plymouth=yes], [have_plymouth=no])
++
++if test "x$with_plymouth" = "xauto" ; then
++        if test x$have_plymouth = xno ; then
++                use_plymouth=no
++        else
++                use_plymouth=yes
++        fi
++else
++        use_plymouth="$with_plymouth"
++fi
++
++if test "x$use_plymouth" != "xno" ; then
++        if test "x$have_plymouth" = "xno"; then
++                AC_MSG_ERROR([Plymouth support explicitly required, but plymouth not found])
++        fi
++
++        AC_DEFINE(WITH_PLYMOUTH, 1, [Define to enable plymouth support])
++fi
++AC_SUBST(PLYMOUTH_CFLAGS)
++AC_SUBST(PLYMOUTH_LIBS)
++
++dnl ---------------------------------------------------------------------------
+ dnl - Check for D-Bus
+ dnl ---------------------------------------------------------------------------
+ 
+@@ -1537,6 +1568,7 @@ echo \
+         SELinux support:          ${with_selinux}
+         ConsoleKit support:       ${use_console_kit}
+         systemd support:          ${use_systemd}
++        plymouth support:         ${use_plymouth}
+         UPower support:           ${have_upower}
+         Build with RBAC:          ${msg_rbac_shutdown}
+ "
+diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
+index d0d8ff9..6f2a939 100644
+--- a/daemon/gdm-server.c
++++ b/daemon/gdm-server.c
+@@ -32,6 +32,7 @@
+ #include <pwd.h>
+ #include <grp.h>
+ #include <signal.h>
++#include <sys/ioctl.h>
+ #include <sys/resource.h>
+ 
+ #ifdef HAVE_SYS_PRCTL_H
+@@ -42,6 +43,10 @@
+ #include <systemd/sd-daemon.h>
+ #endif
+ 
++#ifdef WITH_PLYMOUTH
++#include <linux/vt.h>
++#endif
++
+ #include <glib.h>
+ #include <glib/gi18n.h>
+ #include <glib/gstdio.h>
+@@ -751,6 +756,61 @@ gdm_server_spawn (GdmServer  *server,
+         return ret;
+ }
+ 
++#ifdef WITH_PLYMOUTH
++static int
++get_active_vt (void)
++{
++        int console_fd;
++        struct vt_stat console_state = { 0 };
++
++        console_fd = open ("/dev/tty0", O_RDONLY | O_NOCTTY);
++
++        if (console_fd < 0) {
++                goto out;
++        }
++
++        if (ioctl (console_fd, VT_GETSTATE, &console_state) < 0) {
++                goto out;
++        }
++
++out:
++        if (console_fd >= 0) {
++                close (console_fd);
++        }
++
++        return console_state.v_active;
++}
++
++static char *
++get_active_vt_as_string (void)
++{
++        int vt;
++
++        vt = get_active_vt ();
++
++        if (vt <= 0) {
++                return NULL;
++        }
++
++        return g_strdup_printf ("vt%d", vt);
++}
++
++gboolean
++gdm_server_start_on_active_vt (GdmServer *server)
++{
++        gboolean res;
++        char *vt;
++
++        g_free (server->priv->command);
++        server->priv->command = g_strdup (X_SERVER " -background none -logverbose 7");
++        vt = get_active_vt_as_string ();
++        res = gdm_server_spawn (server, vt);
++        g_free (vt);
++
++        return res;
++}
++#endif
++
+ /**
+  * gdm_server_start:
+  * @disp: Pointer to a GdmDisplay structure
+diff --git a/daemon/gdm-server.h b/daemon/gdm-server.h
+index b53d68e..827f7fa 100644
+--- a/daemon/gdm-server.h
++++ b/daemon/gdm-server.h
+@@ -57,6 +57,9 @@ GdmServer *         gdm_server_new       (const char *display_id,
+                                           const char *seat_id,
+                                           const char *auth_file);
+ gboolean            gdm_server_start     (GdmServer   *server);
++#ifdef HAVE_PLYMOUTH
++gboolean            gdm_server_start_on_active_vt (GdmServer   *server);
++#endif
+ gboolean            gdm_server_stop      (GdmServer   *server);
+ char *              gdm_server_get_display_device (GdmServer *server);
+ 
+diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
+index fc8649c..7c709a6 100644
+--- a/daemon/gdm-simple-slave.c
++++ b/daemon/gdm-simple-slave.c
+@@ -93,6 +93,9 @@ struct GdmSimpleSlavePrivate
+ #ifdef  HAVE_LOGINDEVPERM
+         gboolean           use_logindevperm;
+ #endif
++#ifdef  WITH_PLYMOUTH
++        guint              plymouth_is_running : 1;
++#endif
+ };
+ 
+ enum {
+@@ -1204,6 +1207,74 @@ on_start_session_later (GdmGreeterServer *session,
+         slave->priv->start_session_when_ready = FALSE;
+ }
+ 
++#ifdef  WITH_PLYMOUTH
++static gboolean
++plymouth_is_running (void)
++{
++        int      status;
++        gboolean res;
++        GError  *error;
++
++        error = NULL;
++        res = g_spawn_command_line_sync ("/bin/plymouth --ping",
++                                         NULL, NULL, &status, &error);
++        if (! res) {
++                g_debug ("Could not ping plymouth: %s", error->message);
++                g_error_free (error);
++                return FALSE;
++        }
++
++        return WIFEXITED (status) && WEXITSTATUS (status) == 0;
++}
++
++static void
++plymouth_prepare_for_transition (GdmSimpleSlave *slave)
++{
++        gboolean res;
++        GError  *error;
++
++        error = NULL;
++        res = g_spawn_command_line_sync ("/bin/plymouth deactivate",
++                                         NULL, NULL, NULL, &error);
++        if (! res) {
++                g_warning ("Could not deactivate plymouth: %s", error->message);
++                g_error_free (error);
++        }
++}
++
++static void
++plymouth_quit_with_transition (GdmSimpleSlave *slave)
++{
++        gboolean res;
++        GError  *error;
++
++        error = NULL;
++        res = g_spawn_command_line_sync ("/bin/plymouth quit --retain-splash",
++                                         NULL, NULL, NULL, &error);
++        if (! res) {
++                g_warning ("Could not quit plymouth: %s", error->message);
++                g_error_free (error);
++        }
++        slave->priv->plymouth_is_running = FALSE;
++}
++
++static void
++plymouth_quit_without_transition (GdmSimpleSlave *slave)
++{
++        gboolean res;
++        GError  *error;
++
++        error = NULL;
++        res = g_spawn_command_line_sync ("/bin/plymouth quit",
++                                         NULL, NULL, NULL, &error);
++        if (! res) {
++                g_warning ("Could not quit plymouth: %s", error->message);
++                g_error_free (error);
++        }
++        slave->priv->plymouth_is_running = FALSE;
++}
++#endif
++
+ static void
+ setup_server (GdmSimpleSlave *slave)
+ {
+@@ -1223,6 +1294,12 @@ setup_server (GdmSimpleSlave *slave)
+          */
+         gdm_slave_save_root_windows (GDM_SLAVE (slave));
+ 
++#ifdef WITH_PLYMOUTH
++        /* Plymouth is waiting for the go-ahead to exit */
++        if (slave->priv->plymouth_is_running) {
++                plymouth_quit_with_transition (slave);
++        }
++#endif
+ }
+ 
+ static void
+@@ -1426,6 +1503,12 @@ on_server_exited (GdmServer      *server,
+         g_debug ("GdmSimpleSlave: server exited with code %d\n", exit_code);
+ 
+         gdm_slave_stopped (GDM_SLAVE (slave));
++
++#ifdef WITH_PLYMOUTH
++        if (slave->priv->plymouth_is_running) {
++                plymouth_quit_without_transition (slave);
++        }
++#endif
+ }
+ 
+ static void
+@@ -1438,6 +1521,12 @@ on_server_died (GdmServer      *server,
+                  g_strsignal (signal_number));
+ 
+         gdm_slave_stopped (GDM_SLAVE (slave));
++
++#ifdef WITH_PLYMOUTH
++        if (slave->priv->plymouth_is_running) {
++                plymouth_quit_without_transition (slave);
++        }
++#endif
+ }
+ 
+ static gboolean
+@@ -1484,7 +1573,17 @@ gdm_simple_slave_run (GdmSimpleSlave *slave)
+                                   G_CALLBACK (on_server_ready),
+                                   slave);
+ 
+-                res = gdm_server_start (slave->priv->server);
++#ifdef WITH_PLYMOUTH
++                slave->priv->plymouth_is_running = plymouth_is_running ();
++
++                if (slave->priv->plymouth_is_running) {
++                        plymouth_prepare_for_transition (slave);
++                        res = gdm_server_start_on_active_vt (slave->priv->server);
++                } else
++#endif
++                {
++                        res = gdm_server_start (slave->priv->server);
++                }
+                 if (! res) {
+                         g_warning (_("Could not start the X "
+                                      "server (your graphical environment) "
+@@ -1494,6 +1593,11 @@ gdm_simple_slave_run (GdmSimpleSlave *slave)
+                                      "In the meantime this display will be "
+                                      "disabled.  Please restart GDM when "
+                                      "the problem is corrected."));
++#ifdef WITH_PLYMOUTH
++                        if (slave->priv->plymouth_is_running) {
++                                plymouth_quit_without_transition (slave);
++                        }
++#endif
+                         exit (1);
+                 }
+ 
+-- 
+1.7.8.6
+

diff --git a/gnome-base/gdm/files/gdm-3.4.1-save-root-window.patch b/gnome-base/gdm/files/gdm-3.4.1-save-root-window.patch
new file mode 100644
index 0000000..2d9c314
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.4.1-save-root-window.patch
@@ -0,0 +1,141 @@
+From c93d98b646a9a4fce3052260a1f08808d62d7155 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Fri, 27 Nov 2009 18:27:53 -0500
+Subject: [PATCH] daemon: save root window to pixmap at _XROOTPMAP_ID
+
+This combined with starting the X server with
+-background none will give distros using plymouth
+(or potentially other boot splashes) a a nice fade
+transition when g-s-d starts.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=572173
+---
+ daemon/gdm-simple-slave.c |    8 +++++
+ daemon/gdm-slave.c        |   72 +++++++++++++++++++++++++++++++++++++++++++++
+ daemon/gdm-slave.h        |    1 +
+ 3 files changed, 81 insertions(+), 0 deletions(-)
+
+diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
+index 9d1347a..fc8649c 100644
+--- a/daemon/gdm-simple-slave.c
++++ b/daemon/gdm-simple-slave.c
+@@ -1215,6 +1215,14 @@ setup_server (GdmSimpleSlave *slave)
+ 
+         /* Set the initial keyboard layout to something reasonable */
+         gdm_slave_set_initial_keyboard_layout (GDM_SLAVE (slave));
++        /* The root window has a background that may be useful
++         * to cross fade or transition from when setting the
++         * login screen background.  We read it here, and stuff
++         * it into the standard _XROOTPMAP_ID root window property,
++         * so gnome-settings-daemon can get at it.
++         */
++        gdm_slave_save_root_windows (GDM_SLAVE (slave));
++
+ }
+ 
+ static void
+diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
+index a5ce62f..53633c0 100644
+--- a/daemon/gdm-slave.c
++++ b/daemon/gdm-slave.c
+@@ -43,6 +43,7 @@
+ #include <dbus/dbus-glib-lowlevel.h>
+ 
+ #include <X11/Xlib.h> /* for Display */
++#include <X11/Xatom.h> /* for XA_PIXMAP */
+ #include <X11/cursorfont.h> /* for watch cursor */
+ #include <X11/extensions/Xrandr.h>
+ #include <X11/Xatom.h>
+@@ -364,6 +365,77 @@ gdm_slave_run_script (GdmSlave   *slave,
+         return ret;
+ }
+ 
++static void
++gdm_slave_save_root_window_of_screen (GdmSlave *slave,
++                                      Atom      id_atom,
++                                      int       screen_number)
++{
++        Window root_window;
++        GC gc;
++        XGCValues values;
++        Pixmap pixmap;
++        int width, height, depth;
++
++        root_window = RootWindow (slave->priv->server_display,
++                                  screen_number);
++
++        width = DisplayWidth (slave->priv->server_display, screen_number);
++        height = DisplayHeight (slave->priv->server_display, screen_number);
++        depth = DefaultDepth (slave->priv->server_display, screen_number);
++        pixmap = XCreatePixmap (slave->priv->server_display,
++                                root_window,
++                                width, height, depth);
++
++        values.function = GXcopy;
++        values.plane_mask = AllPlanes;
++        values.fill_style = FillSolid;
++        values.subwindow_mode = IncludeInferiors;
++
++        gc = XCreateGC (slave->priv->server_display,
++                        root_window,
++                        GCFunction | GCPlaneMask | GCFillStyle | GCSubwindowMode,
++                        &values);
++
++        if (XCopyArea (slave->priv->server_display,
++                       root_window, pixmap, gc, 0, 0,
++                       width, height, 0, 0)) {
++
++                long pixmap_as_long;
++
++                pixmap_as_long = (long) pixmap;
++
++                XChangeProperty (slave->priv->server_display,
++                                 root_window, id_atom, XA_PIXMAP,
++                                 32, PropModeReplace, (guchar *) &pixmap_as_long,
++                                 1);
++
++        }
++
++        XFreeGC (slave->priv->server_display, gc);
++}
++
++void
++gdm_slave_save_root_windows (GdmSlave *slave)
++{
++        int i, number_of_screens;
++        Atom atom;
++
++        number_of_screens = ScreenCount (slave->priv->server_display);
++
++        atom = XInternAtom (slave->priv->server_display,
++                            "_XROOTPMAP_ID", False);
++
++        if (atom == 0) {
++                return;
++        }
++
++        for (i = 0; i < number_of_screens; i++) {
++                gdm_slave_save_root_window_of_screen (slave, atom, i);
++        }
++
++        XSync (slave->priv->server_display, False);
++}
++
+ void
+ gdm_slave_set_initial_keyboard_layout (GdmSlave *slave)
+ {
+diff --git a/daemon/gdm-slave.h b/daemon/gdm-slave.h
+index 7af20ed..aaaa8f2 100644
+--- a/daemon/gdm-slave.h
++++ b/daemon/gdm-slave.h
+@@ -78,6 +78,7 @@ void                gdm_slave_set_initial_keyboard_layout (GdmSlave *slave);
+ void                gdm_slave_set_initial_cursor_position (GdmSlave *slave);
+ 
+ void                gdm_slave_set_busy_cursor        (GdmSlave   *slave);
++void                gdm_slave_save_root_windows      (GdmSlave   *slave);
+ gboolean            gdm_slave_run_script             (GdmSlave   *slave,
+                                                       const char *dir,
+                                                       const char *username);
+-- 
+1.7.8.6
+

diff --git a/gnome-base/gdm/gdm-3.4.1-r1.ebuild b/gnome-base/gdm/gdm-3.4.1-r1.ebuild
new file mode 100644
index 0000000..cd43728
--- /dev/null
+++ b/gnome-base/gdm/gdm-3.4.1-r1.ebuild
@@ -0,0 +1,274 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.4.1.ebuild,v 1.2 2012/06/07 22:18:53 zmedico Exp $
+
+EAPI="4"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2 pam systemd user
+
+DESCRIPTION="GNOME Display Manager"
+HOMEPAGE="http://www.gnome.org/projects/gdm/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~sh ~x86"
+
+IUSE="accessibility +consolekit +fallback fprint +gnome-shell ipv6 gnome-keyring +introspection plymouth selinux smartcard systemd tcpd test xinerama +xklavier"
+
+# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
+# nspr used by smartcard extension
+# dconf, dbus and g-s-d are needed at install time for dconf update
+COMMON_DEPEND="
+	>=dev-libs/dbus-glib-0.74
+	>=dev-libs/glib-2.29.3:2
+	>=x11-libs/gtk+-2.91.1:3
+	>=x11-libs/pango-1.3
+	dev-libs/nspr
+	>=dev-libs/nss-3.11.1
+	>=media-libs/fontconfig-2.5.0
+	>=media-libs/libcanberra-0.4[gtk3]
+	>=x11-misc/xdg-utils-1.0.2-r3
+	>=sys-power/upower-0.9
+	>=sys-apps/accountsservice-0.6.12
+
+	gnome-base/dconf
+	>=gnome-base/gnome-settings-daemon-3.1.4
+	gnome-base/gsettings-desktop-schemas
+	sys-apps/dbus
+
+	app-text/iso-codes
+
+	x11-base/xorg-server
+	x11-libs/libXi
+	x11-libs/libXau
+	x11-libs/libX11
+	x11-libs/libXdmcp
+	x11-libs/libXext
+	x11-libs/libXft
+	x11-libs/libXrandr
+	x11-apps/sessreg
+
+	virtual/pam
+	consolekit? ( sys-auth/consolekit )
+
+	accessibility? ( x11-libs/libXevie )
+	gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] )
+	introspection? ( >=dev-libs/gobject-introspection-0.9.12 )
+	plymouth? ( sys-boot/plymouth )
+	selinux? ( sys-libs/libselinux )
+	systemd? ( >=sys-apps/systemd-39 )
+	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+	xinerama? ( x11-libs/libXinerama )
+	xklavier? ( >=x11-libs/libxklavier-4 )"
+DEPEND="${COMMON_DEPEND}
+	test? ( >=dev-libs/check-0.9.4 )
+	xinerama? ( x11-proto/xineramaproto )
+	app-text/docbook-xml-dtd:4.1.2
+	sys-devel/gettext
+	x11-proto/inputproto
+	x11-proto/randrproto
+	>=dev-util/intltool-0.40.0
+	>=app-text/scrollkeeper-0.1.4
+	>=app-text/gnome-doc-utils-0.3.2
+	virtual/pkgconfig"
+# XXX: These deps are from session and desktop files in data/ directory
+# at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser)
+# fprintd is used via dbus by gdm-fingerprint-extension
+RDEPEND="${COMMON_DEPEND}
+	>=gnome-base/gnome-session-2.91.92
+	x11-apps/xhost
+	x11-themes/gnome-icon-theme-symbolic
+
+	accessibility? (
+		app-accessibility/gnome-mag
+		app-accessibility/gok
+		app-accessibility/orca
+		gnome-extra/at-spi:1 )
+	consolekit? ( gnome-extra/polkit-gnome )
+	fallback? ( x11-wm/metacity )
+	fprint? (
+		sys-auth/fprintd
+		sys-auth/pam_fprint )
+	gnome-shell? ( >=gnome-base/gnome-shell-3.1.90 )
+	!gnome-shell? ( x11-wm/metacity )
+	smartcard? (
+		app-crypt/coolkey
+		sys-auth/pam_pkcs11 )
+
+	!gnome-extra/fast-user-switch-applet"
+
+pkg_setup() {
+	DOCS="AUTHORS ChangeLog NEWS README TODO"
+
+	# PAM is the only auth scheme supported
+	# even though configure lists shadow and crypt
+	# they don't have any corresponding code.
+	# --with-at-spi-registryd-directory= needs to be passed explicitly because
+	# of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
+	G2CONF="${G2CONF}
+		--disable-schemas-install
+		--disable-static
+		--localstatedir=${EPREFIX}/var
+		--with-xdmcp=yes
+		--enable-authentication-scheme=pam
+		--with-pam-prefix=${EPREFIX}/etc
+		--with-at-spi-registryd-directory=${EPREFIX}/usr/libexec
+		$(use_with accessibility xevie)
+		$(use_enable ipv6)
+		$(use_enable xklavier libxklavier)
+		$(use_with consolekit console-kit)
+		$(use_with plymouth)
+		$(use_with selinux)
+		$(use_with systemd)
+		$(use_with tcpd tcp-wrappers)
+		$(use_with xinerama)"
+
+	enewgroup gdm
+	enewgroup video # Just in case it hasn't been created yet
+	enewuser gdm -1 -1 /var/lib/gdm gdm,video
+
+	# For compatibility with certain versions of nvidia-drivers, etc., need to
+	# ensure that gdm user is in the video group
+	if ! egetent group video | grep -q gdm; then
+		# FIXME XXX: is this at all portable, ldap-safe, etc.?
+		# XXX: egetent does not have a 1-argument form, so we can't use it to
+		# get the list of gdm's groups
+		local g=$(groups gdm)
+		elog "Adding user gdm to video group"
+		usermod -G video,${g// /,} gdm || die "Adding user gdm to video group failed"
+	fi
+}
+
+src_prepare() {
+	# remove unneeded linker directive for selinux, bug #41022
+	epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch"
+
+	# daemonize so that the boot process can continue, bug #236701
+	epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch"
+
+	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
+	epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
+
+	# make custom session work, bug #216984
+	epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch"
+
+	# ssh-agent handling must be done at xinitrc.d, bug #220603
+	epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
+
+	# fix libxklavier automagic support
+	epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
+
+	# plymouth support (in next release)
+	epatch "${FILESDIR}/${P}-save-root-window.patch"
+	epatch "${FILESDIR}/${P}-plymouth.patch"
+
+	# Starting of dconf-0.13.4 things don't work anymore :)
+	epatch "${FILESDIR}/${P}-dconf-compatibility.patch"
+
+	# don't load accessibility support at runtime when USE=-accessibility
+	use accessibility || epatch "${FILESDIR}/${PN}-3.3.92.1-disable-accessibility.patch"
+
+	# make gdm-fallback session the default if USE=-gnome-shell
+	if ! use gnome-shell; then
+		sed -e "s:'gdm-shell':'gdm-fallback':" \
+			-i data/00-upstream-settings || die "sed failed"
+	fi
+
+	mkdir -p "${S}"/m4
+	intltoolize --force --copy --automake || die "intltoolize failed"
+	eautoreconf
+
+	gnome2_src_prepare
+}
+
+src_install() {
+	gnome2_src_install
+
+	# Install the systemd unit file
+	systemd_dounit "${FILESDIR}/3.2.1.1/gdm.service"
+
+	# gdm-binary should be gdm to work with our init (#5598)
+	rm -f "${ED}/usr/sbin/gdm"
+	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm"
+	# our x11's scripts point to /usr/bin/gdm
+	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm"
+
+	# log, etc.
+	keepdir /var/log/gdm
+
+	# add xinitrc.d scripts
+	exeinto /etc/X11/xinit/xinitrc.d
+	doexe "${FILESDIR}/49-keychain"
+	doexe "${FILESDIR}/50-ssh-agent"
+
+	# install XDG_DATA_DIRS gdm changes
+	echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm
+	doenvd 99xdg-gdm
+
+	# install PAM files
+	mkdir "${T}/pam.d" || die "mkdir failed"
+	cp "${FILESDIR}/3.2.1.1"/gdm{,-autologin,-password,-fingerprint,-smartcard,-welcome} \
+		"${T}/pam.d" || die "cp failed"
+	use gnome-keyring && sed -i "s:#Keyring=::g" "${T}/pam.d"/*
+	dopamd "${T}/pam.d"/*
+}
+
+pkg_postinst() {
+	gnome2_pkg_postinst
+
+	dbus-launch dconf update || die "'dconf update' failed"
+
+	ewarn
+	ewarn "This is an EXPERIMENTAL release, please bear with its bugs and"
+	ewarn "visit us on #gentoo-desktop if you have problems."
+	ewarn
+
+	elog "To make GDM start at boot, edit /etc/conf.d/xdm"
+	elog "and then execute 'rc-update add xdm default'."
+	elog "If you already have GDM running, you will need to restart it."
+
+	elog
+	elog "GDM ignores most non-localization environment variables. If you"
+	elog "need GDM to launch gnome-session with a particular environment,"
+	elog "you need to use pam_env.so in /etc/pam.d/gdm-welcome; see"
+	elog "the pam_env man page for more information."
+	elog
+
+	if use gnome-keyring; then
+		elog "For autologin to unlock your keyring, you need to set an empty"
+		elog "password on your keyring. Use app-crypt/seahorse for that."
+	fi
+
+	if [ -f "/etc/X11/gdm/gdm.conf" ]; then
+		elog "You had /etc/X11/gdm/gdm.conf which is the old configuration"
+		elog "file.  It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16"
+		mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16
+	fi
+
+	# https://bugzilla.redhat.com/show_bug.cgi?id=513579
+	# Lennart says this problem is fixed, but users are still reporting problems
+	# XXX: Do we want this elog?
+#	if has_version "media-libs/libcanberra[pulseaudio]" ; then
+#		elog
+#		elog "You have media-libs/libcanberra with the pulseaudio USE flag"
+#		elog "enabled. GDM will start a pulseaudio process to play sounds. This"
+#		elog "process should automatically terminate when a user logs into a"
+#		elog "desktop session. If GDM's pulseaudio fails to terminate and"
+#		elog "causes problems for users' audio, you can prevent GDM from"
+#		elog "starting pulseaudio by editing /var/lib/gdm/.pulse/client.conf"
+#		elog "so it contains the following two lines:"
+#		elog
+#		elog "autospawn = no"
+#		elog "daemon-binary = /bin/true"
+#	fi
+}
+
+pkg_postrm() {
+	gnome2_pkg_postrm
+
+	if rc-config list default | grep -q xdm; then
+		elog "To remove GDM from startup please execute"
+		elog "'rc-update del xdm default'"
+	fi
+}


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2012-09-09  0:39 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2012-09-09  0:39 UTC (permalink / raw
  To: gentoo-commits

commit:     1b3bc414cc8c7ec8735dc00349d58999517d28d1
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  8 22:58:18 2012 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Sat Sep  8 22:58:18 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=1b3bc414

Add gnome-base/gdm-3.5.91

---
 .../gdm-3.5.91-fix-daemonize-regression.patch      |  125 ++++++++++++++++++++
 .../gdm/{gdm-9999.ebuild => gdm-3.5.91.ebuild}     |   32 ++---
 gnome-base/gdm/gdm-9999.ebuild                     |   32 ++---
 3 files changed, 149 insertions(+), 40 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch
new file mode 100644
index 0000000..60aea72
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch
@@ -0,0 +1,125 @@
+From 7f5104b242e6b36e6143183b14582d362763ff2a Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:16:51 +0100
+Subject: [PATCH 2/6] daemonize so that the boot process can continue
+
+Gentoo bug: #236701
+
+Originally from: Dan Nicholson <dbn.lists@gmail.com>
+
+Fork gdm-binary, except when -nodaemon is used
+ 
+gdm-binary now forks and the parent terminates, except when the
+-nodaemon or --nodaemon options are used. This provides compatibility
+with xdm. Fixes bug #550170.
+
+---
+ daemon/main.c |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 64 insertions(+), 0 deletions(-)
+
+diff --git a/daemon/main.c b/daemon/main.c
+index 5b8d66b..191b6e3 100644
+--- a/daemon/main.c
++++ b/daemon/main.c
+@@ -513,6 +513,56 @@ is_debug_set (void)
+         return debug;
+ }
+ 
++static void
++dup_dev_null (int fd, int flags)
++{
++        int nullfd;
++        int dupfd;
++
++        VE_IGNORE_EINTR (nullfd = open ("/dev/null", flags));
++        if (G_UNLIKELY (nullfd < 0)) {
++                gdm_fail (_("Cannot open /dev/null: %s!"),
++                          strerror (errno));
++                exit (EXIT_FAILURE);
++        }
++
++        VE_IGNORE_EINTR (dupfd = dup2 (nullfd, fd));
++        if (G_UNLIKELY (dupfd < 0)) {
++                gdm_fail (_("Cannot duplicate /dev/null: %s!"),
++                          strerror (errno));
++                exit (EXIT_FAILURE);
++        }
++
++        VE_IGNORE_EINTR (close (nullfd));
++}
++
++static void
++daemonify (void)
++{
++        pid_t pid;
++
++        pid = fork ();
++
++        /* terminate the parent */
++        if (pid > 0)
++                exit (EXIT_SUCCESS);
++
++        if (G_UNLIKELY (pid < 0)) {
++                gdm_fail (_("fork () failed: %s!"), strerror (errno));
++                exit (EXIT_FAILURE);
++        }
++
++        if (G_UNLIKELY (setsid () < 0)) {
++                gdm_fail (_("setsid () failed: %s!"), strerror (errno));
++                exit (EXIT_FAILURE);
++        }
++
++        /* reopen stdin, stdout, stderr with /dev/null */
++        dup_dev_null (STDIN_FILENO, O_RDONLY);
++        dup_dev_null (STDOUT_FILENO, O_RDWR);
++        dup_dev_null (STDERR_FILENO, O_RDWR);
++}
++
+ int
+ main (int    argc,
+       char **argv)
+@@ -523,13 +573,16 @@ main (int    argc,
+         DBusGConnection    *connection;
+         GError             *error;
+         int                 ret;
++        int                 i;
+         gboolean            res;
+         GdmSignalHandler   *signal_handler;
+         static gboolean     do_timed_exit    = FALSE;
+         static gboolean     print_version    = FALSE;
+         static gboolean     fatal_warnings   = FALSE;
++        static gboolean     no_daemon        = FALSE;
+         static GOptionEntry entries []   = {
+                 { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
++                { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
+                 { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
+                 { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
+ 
+@@ -547,6 +600,14 @@ main (int    argc,
+ 
+         g_type_init ();
+ 
++        /* preprocess the arguments to support the xdm style
++         * -nodaemon option
++         */
++        for (i = 0; i < argc; i++) {
++                if (strcmp (argv[i], "-nodaemon") == 0)
++                        argv[i] = "--nodaemon";
++        }
++
+         context = g_option_context_new (_("GNOME Display Manager"));
+         g_option_context_add_main_entries (context, entries, NULL);
+         g_option_context_set_ignore_unknown_options (context, TRUE);
+@@ -617,6 +678,9 @@ main (int    argc,
+                 exit (-1);
+         }
+ 
++        if (no_daemon == FALSE)
++                daemonify ();
++
+         /* pid file */
+         delete_pid ();
+         write_pid ();
+-- 
+1.7.3.1
+

diff --git a/gnome-base/gdm/gdm-9999.ebuild b/gnome-base/gdm/gdm-3.5.91.ebuild
similarity index 91%
copy from gnome-base/gdm/gdm-9999.ebuild
copy to gnome-base/gdm/gdm-3.5.91.ebuild
index 6438794..0a34787 100644
--- a/gnome-base/gdm/gdm-9999.ebuild
+++ b/gnome-base/gdm/gdm-3.5.91.ebuild
@@ -1,11 +1,11 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.4.1.ebuild,v 1.2 2012/06/07 22:18:53 zmedico Exp $
 
 EAPI="4"
 GNOME2_LA_PUNT="yes"
 
-inherit autotools eutils gnome2 pam systemd
+inherit autotools eutils gnome2 pam systemd user
 if [[ ${PV} = 9999 ]]; then
 	inherit gnome2-live
 fi
@@ -15,20 +15,19 @@ HOMEPAGE="http://www.gnome.org/projects/gdm/"
 
 LICENSE="GPL-2"
 SLOT="0"
+IUSE="accessibility +consolekit +fallback fprint +gnome-shell ipv6 gnome-keyring +introspection plymouth smartcard systemd tcpd test xinerama +xklavier"
 if [[ ${PV} = 9999 ]]; then
 	KEYWORDS=""
 else
 	KEYWORDS="~amd64 ~sh ~x86"
 fi
 
-IUSE="accessibility +consolekit +fallback fprint +gnome-shell ipv6 gnome-keyring +introspection plymouth selinux smartcard systemd tcpd test xinerama +xklavier"
-
 # NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
 # nspr used by smartcard extension
 # dconf, dbus and g-s-d are needed at install time for dconf update
+# selinux support is now automagic. Not sure if that really matters.
 COMMON_DEPEND="
-	>=dev-libs/dbus-glib-0.74
-	>=dev-libs/glib-2.29.3:2
+	>=dev-libs/glib-2.33.2:2
 	>=x11-libs/gtk+-2.91.1:3
 	>=x11-libs/pango-1.3
 	dev-libs/nspr
@@ -63,16 +62,14 @@ COMMON_DEPEND="
 	gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] )
 	introspection? ( >=dev-libs/gobject-introspection-0.9.12 )
 	plymouth? ( sys-boot/plymouth )
-	selinux? ( sys-libs/libselinux )
 	systemd? ( >=sys-apps/systemd-39 )
 	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
-	xinerama? ( x11-libs/libXinerama )
-	xklavier? ( >=x11-libs/libxklavier-4 )"
+	xinerama? ( x11-libs/libXinerama )"
 DEPEND="${COMMON_DEPEND}
 	test? ( >=dev-libs/check-0.9.4 )
 	xinerama? ( x11-proto/xineramaproto )
 	app-text/docbook-xml-dtd:4.1.2
-	sys-devel/gettext
+	>=sys-devel/gettext-0.17
 	x11-proto/inputproto
 	x11-proto/randrproto
 	>=dev-util/intltool-0.40.0
@@ -120,13 +117,14 @@ pkg_setup() {
 		--with-xdmcp=yes
 		--enable-authentication-scheme=pam
 		--with-pam-prefix=${EPREFIX}/etc
+		--with-default-pam-config=none
 		--with-at-spi-registryd-directory=${EPREFIX}/usr/libexec
+		--with-initial-vt=7
 		$(use_with accessibility xevie)
 		$(use_enable ipv6)
 		$(use_enable xklavier libxklavier)
 		$(use_with consolekit console-kit)
-		$(use_with plymouth)
-		$(use_with selinux)
+		$(use_with plymouth ply-boot-client)
 		$(use_with systemd)
 		$(use_with tcpd tcp-wrappers)
 		$(use_with xinerama)"
@@ -148,14 +146,11 @@ pkg_setup() {
 }
 
 src_prepare() {
-	# remove unneeded linker directive for selinux, bug #41022
-	epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch"
-
 	# daemonize so that the boot process can continue, bug #236701
-	epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch"
+	epatch "${FILESDIR}/${PN}-3.5.91-fix-daemonize-regression.patch"
 
 	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
-	epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
+	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
 
 	# make custom session work, bug #216984
 	epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch"
@@ -163,9 +158,6 @@ src_prepare() {
 	# ssh-agent handling must be done at xinitrc.d, bug #220603
 	epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
 
-	# fix libxklavier automagic support
-	epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
-
 	# don't load accessibility support at runtime when USE=-accessibility
 	use accessibility || epatch "${FILESDIR}/${PN}-3.3.92.1-disable-accessibility.patch"
 

diff --git a/gnome-base/gdm/gdm-9999.ebuild b/gnome-base/gdm/gdm-9999.ebuild
index 6438794..0a34787 100644
--- a/gnome-base/gdm/gdm-9999.ebuild
+++ b/gnome-base/gdm/gdm-9999.ebuild
@@ -1,11 +1,11 @@
 # Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.4.1.ebuild,v 1.2 2012/06/07 22:18:53 zmedico Exp $
 
 EAPI="4"
 GNOME2_LA_PUNT="yes"
 
-inherit autotools eutils gnome2 pam systemd
+inherit autotools eutils gnome2 pam systemd user
 if [[ ${PV} = 9999 ]]; then
 	inherit gnome2-live
 fi
@@ -15,20 +15,19 @@ HOMEPAGE="http://www.gnome.org/projects/gdm/"
 
 LICENSE="GPL-2"
 SLOT="0"
+IUSE="accessibility +consolekit +fallback fprint +gnome-shell ipv6 gnome-keyring +introspection plymouth smartcard systemd tcpd test xinerama +xklavier"
 if [[ ${PV} = 9999 ]]; then
 	KEYWORDS=""
 else
 	KEYWORDS="~amd64 ~sh ~x86"
 fi
 
-IUSE="accessibility +consolekit +fallback fprint +gnome-shell ipv6 gnome-keyring +introspection plymouth selinux smartcard systemd tcpd test xinerama +xklavier"
-
 # NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
 # nspr used by smartcard extension
 # dconf, dbus and g-s-d are needed at install time for dconf update
+# selinux support is now automagic. Not sure if that really matters.
 COMMON_DEPEND="
-	>=dev-libs/dbus-glib-0.74
-	>=dev-libs/glib-2.29.3:2
+	>=dev-libs/glib-2.33.2:2
 	>=x11-libs/gtk+-2.91.1:3
 	>=x11-libs/pango-1.3
 	dev-libs/nspr
@@ -63,16 +62,14 @@ COMMON_DEPEND="
 	gnome-keyring? ( >=gnome-base/gnome-keyring-2.22[pam] )
 	introspection? ( >=dev-libs/gobject-introspection-0.9.12 )
 	plymouth? ( sys-boot/plymouth )
-	selinux? ( sys-libs/libselinux )
 	systemd? ( >=sys-apps/systemd-39 )
 	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
-	xinerama? ( x11-libs/libXinerama )
-	xklavier? ( >=x11-libs/libxklavier-4 )"
+	xinerama? ( x11-libs/libXinerama )"
 DEPEND="${COMMON_DEPEND}
 	test? ( >=dev-libs/check-0.9.4 )
 	xinerama? ( x11-proto/xineramaproto )
 	app-text/docbook-xml-dtd:4.1.2
-	sys-devel/gettext
+	>=sys-devel/gettext-0.17
 	x11-proto/inputproto
 	x11-proto/randrproto
 	>=dev-util/intltool-0.40.0
@@ -120,13 +117,14 @@ pkg_setup() {
 		--with-xdmcp=yes
 		--enable-authentication-scheme=pam
 		--with-pam-prefix=${EPREFIX}/etc
+		--with-default-pam-config=none
 		--with-at-spi-registryd-directory=${EPREFIX}/usr/libexec
+		--with-initial-vt=7
 		$(use_with accessibility xevie)
 		$(use_enable ipv6)
 		$(use_enable xklavier libxklavier)
 		$(use_with consolekit console-kit)
-		$(use_with plymouth)
-		$(use_with selinux)
+		$(use_with plymouth ply-boot-client)
 		$(use_with systemd)
 		$(use_with tcpd tcp-wrappers)
 		$(use_with xinerama)"
@@ -148,14 +146,11 @@ pkg_setup() {
 }
 
 src_prepare() {
-	# remove unneeded linker directive for selinux, bug #41022
-	epatch "${FILESDIR}/${PN}-2.32.0-selinux-remove-attr.patch"
-
 	# daemonize so that the boot process can continue, bug #236701
-	epatch "${FILESDIR}/${PN}-2.32.0-fix-daemonize-regression.patch"
+	epatch "${FILESDIR}/${PN}-3.5.91-fix-daemonize-regression.patch"
 
 	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
-	epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
+	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
 
 	# make custom session work, bug #216984
 	epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch"
@@ -163,9 +158,6 @@ src_prepare() {
 	# ssh-agent handling must be done at xinitrc.d, bug #220603
 	epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
 
-	# fix libxklavier automagic support
-	epatch "${FILESDIR}/${PN}-2.32.0-automagic-libxklavier-support.patch"
-
 	# don't load accessibility support at runtime when USE=-accessibility
 	use accessibility || epatch "${FILESDIR}/${PN}-3.3.92.1-disable-accessibility.patch"
 


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2012-09-12 12:06 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2012-09-12 12:06 UTC (permalink / raw
  To: gentoo-commits

commit:     3e604a8c0dd7aeae36091704cc2f56690bae2845
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 12 12:05:39 2012 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Wed Sep 12 12:05:39 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=3e604a8c

gnome-base/gdm: fix problems with 3.5.91 and remove old patches

GDM 3.5.91 will now work properly

---
 gnome-base/gdm/0001-ibus.patch                     |   91 +++++++++
 .../gdm-2.32.0-automagic-libxklavier-support.patch |   60 ------
 .../gdm/files/gdm-2.32.0-custom-session.patch      |   51 -----
 .../gdm-2.32.0-fix-daemonize-regression.patch      |  126 -------------
 .../gdm/files/gdm-2.32.0-fix-vt-problems.patch     |  195 --------------------
 .../gdm/files/gdm-2.32.0-selinux-remove-attr.patch |   27 ---
 .../gdm-3.5.91-fix-daemonize-regression.patch      |  125 -------------
 gnome-base/gdm/files/gdm.sh                        |    3 +
 gnome-base/gdm/gdm-3.5.91-r1.ebuild                |   10 +-
 gnome-base/gdm/gdm-9999.ebuild                     |   10 +-
 10 files changed, 100 insertions(+), 598 deletions(-)

diff --git a/gnome-base/gdm/0001-ibus.patch b/gnome-base/gdm/0001-ibus.patch
new file mode 100644
index 0000000..fc9f76b
--- /dev/null
+++ b/gnome-base/gdm/0001-ibus.patch
@@ -0,0 +1,91 @@
+From 1176f42d2aee73ac93a4d96d6cfdcb2513f3c031 Mon Sep 17 00:00:00 2001
+From: Nirbheek Chauhan <nirbheek@gentoo.org>
+Date: Wed, 12 Sep 2012 17:11:39 +0530
+Subject: [PATCH] ibus
+
+---
+ app-i18n/ibus/Manifest                    |    2 +-
+ app-i18n/ibus/ibus-1.4.99.20120822.ebuild |   17 +++++++----------
+ 2 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/app-i18n/ibus/Manifest b/app-i18n/ibus/Manifest
+index b86e7fd..1e6c5e8 100644
+--- a/app-i18n/ibus/Manifest
++++ b/app-i18n/ibus/Manifest
+@@ -1,2 +1,2 @@
+ DIST ibus-1.4.99.20120822.tar.gz 1736787 SHA256 237c623d24b356e2d43d1a66cfe839849f9ea85d04c809cc2b5650db097a4173 SHA512 f193fa7522d64944bff8a34a0fa0f85a9afd491ebe9c6cd1c27d64b7382ed21e4319a939b959d42d321d44fb6b129b5ed52fec372eaaea0d4905b08053e36d25 WHIRLPOOL 1b96a9d9835138b211554af90e15e5b2373c1ec65cafd20783279084848f7148a2a44b2b86d0fc8f9ab7f86319b2a712241901b215caa7de24c1653f48917b2b
+-EBUILD ibus-1.4.99.20120822.ebuild 3805 SHA256 441e6af243b43567ec68a2dc0324d7f9330f023f3fc38eb986783f88ae700dbb SHA512 a7bf07ac33b0279a3d84fe27e36838692f48dea166bf1f7bee73659654869eec395227451b2edd7dfeb3dab0e111e5781d5455a7f68c25803ac8c3c50aa07913 WHIRLPOOL efa7a8c85f04c6dee4c428cfd6a3dd5619d795baf2eecd3ca182825abf7ee3b0dd0665f9e9801103fc335d6317b8e90c14813ab93627fc3431914b179464aab3
++EBUILD ibus-1.4.99.20120822.ebuild 3673 SHA256 cb9a349db47f89fbce01006e156782c080b7a747b316823ee0c7a0738dcefb1a SHA512 78b971e906bed4eecfaef4f38aafaa532748897d6a993920931c49dccf4b2047a4a9f5de7686d1d1a56cd0bffc8a76efc767aa3aa532235986e4e091b7133671 WHIRLPOOL 120a8b421da300a3727502382fe1c8ded337765c7528d6c4d86a8a6abe2f6c0886c0831fa904265a5ce1a3f83bfb0105ed967e53688e64b921eb37dbb503e9e7
+diff --git a/app-i18n/ibus/ibus-1.4.99.20120822.ebuild b/app-i18n/ibus/ibus-1.4.99.20120822.ebuild
+index dc7bf8b..048c53f 100644
+--- a/app-i18n/ibus/ibus-1.4.99.20120822.ebuild
++++ b/app-i18n/ibus/ibus-1.4.99.20120822.ebuild
+@@ -3,7 +3,7 @@
+ # $Header: /var/cvsroot/gentoo-x86/app-i18n/ibus/ibus-1.4.2.ebuild,v 1.1 2012/08/29 10:30:59 naota Exp $
+ 
+ EAPI="4"
+-PYTHON_DEPEND="gui? 2:2.5"
++PYTHON_DEPEND="python-library? 2:2.5"
+ 
+ inherit eutils gnome2-utils multilib python virtualx
+ 
+@@ -14,8 +14,8 @@ SRC_URI="http://ibus.googlecode.com/files/${P}.tar.gz"
+ LICENSE="LGPL-2.1"
+ SLOT="0"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd"
+-IUSE="dconf doc +gconf gtk gtk3 +introspection nls +gui +python-library test vala +X"
+-REQUIRED_USE="|| ( gtk gtk3 X ) gui? ( gtk3 )" #342903
++IUSE="+dconf doc gconf gtk +gtk3 +introspection nls +python-library test vala X"
++REQUIRED_USE="|| ( gtk gtk3 X )" #342903
+ 
+ COMMON_DEPEND=">=dev-libs/glib-2.26:2
+ 	gnome-base/librsvg:2
+@@ -32,10 +32,6 @@ COMMON_DEPEND=">=dev-libs/glib-2.26:2
+ 	introspection? ( >=dev-libs/gobject-introspection-0.6.8 )
+ 	nls? ( virtual/libintl )"
+ RDEPEND="${COMMON_DEPEND}
+-	gui? (
+-		x11-libs/gdk-pixbuf:2[introspection]
+-		x11-libs/pango[introspection]
+-		x11-libs/gtk+:3[introspection] )
+ 	python-library? (
+ 		dev-python/pygtk:2
+ 		>=dev-python/dbus-python-0.83 )"
+@@ -56,7 +52,7 @@ RESTRICT="test"
+ DOCS="AUTHORS ChangeLog NEWS README"
+ 
+ pkg_setup() {
+-	if use python-library || use gui; then
++	if use python-library; then
+ 		python_set_active_version 2
+ 		python_pkg_setup
+ 	fi
+@@ -64,7 +60,7 @@ pkg_setup() {
+ 
+ src_configure() {
+ 	local python valac
+-	if use python-library || use gui; then
++	if use python-library; then
+ 		# We cannot call $(PYTHON) if we haven't called python_pkg_setup
+ 		python="PYTHON=$(PYTHON)"
+ 	fi
+@@ -72,6 +68,8 @@ src_configure() {
+ 		vala="VALAC=$(type -P valac-0.18) VAPIGEN=$(type -P vapigen-0.18)"
+ 	fi
+ 	econf \
++		--disable-ui \
++		--disable-engine \
+ 		$(use_enable dconf) \
+ 		$(use_enable doc gtk-doc) \
+ 		$(use_enable doc gtk-doc-html) \
+@@ -80,7 +78,6 @@ src_configure() {
+ 		$(use_enable gtk gtk2) \
+ 		$(use_enable gtk xim) \
+ 		$(use_enable gtk3) \
+-		$(use_enable gtk3 ui) \
+ 		$(use_enable gtk3 setup) \
+ 		$(use_enable nls) \
+ 		$(use_enable python-library) \
+-- 
+1.7.8.6
+

diff --git a/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch b/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch
deleted file mode 100644
index 90c1cef..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 481fe43b653b443ecfa8d4f3aa88d734d17cccd5 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:21:27 +0100
-Subject: [PATCH 6/6] fix libxklavier automagic support
-
-libxklavier support is optional, make that fact explicit.
----
- configure.ac |   28 +++++++++++++++++++---------
- 1 files changed, 19 insertions(+), 9 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 71d0247..10dbb72 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -129,17 +129,26 @@ SIMPLE_GREETER_LIBS="$SIMPLE_GREETER_LIBS -lm"
- AC_SUBST(SIMPLE_GREETER_CFLAGS)
- AC_SUBST(SIMPLE_GREETER_LIBS)
- 
--PKG_CHECK_MODULES(LIBXKLAVIER,
--        libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
--        have_libxklavier=yes,
--        have_libxklavier=no)
--if test "x$have_libxklavier" = "xyes" ; then
--  AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
-+AC_ARG_ENABLE([libxklavier],
-+	AS_HELP_STRING([--enable-libxklavier],
-+		       [Enable libxklavier support @<:@default=yes@:>@]),
-+	enable_libxklavier=$enableval,
-+	enable_libxklavier=yes)
-+have_libxklavier=no
-+if test "x$enable_libxklavier" = "xyes"; then
-+   PKG_CHECK_MODULES(LIBXKLAVIER,
-+	  libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
-+          have_libxklavier=yes,
-+          have_libxklavier=no)
-+   if test "x$have_libxklavier" = "xyes" ; then
-+      AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
-+   fi
-+   AC_SUBST(HAVE_LIBXKLAVIER)
-+   AC_SUBST(LIBXKLAVIER_CFLAGS)
-+   AC_SUBST(LIBXKLAVIER_LIBS)
- fi
-+
- AM_CONDITIONAL(HAVE_LIBXKLAVIER, test x$have_libxklavier = xyes)
--AC_SUBST(HAVE_LIBXKLAVIER)
--AC_SUBST(LIBXKLAVIER_CFLAGS)
--AC_SUBST(LIBXKLAVIER_LIBS)
- 
- PKG_CHECK_MODULES(SIMPLE_CHOOSER,
-         dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
-@@ -1467,5 +1476,6 @@ echo \
-         SELinux support:          ${with_selinux}
-         ConsoleKit support:       ${use_console_kit}
-         UPower support:           ${have_upower}
-+        Libxklavier support:      ${have_libxklavier}
-         Build with RBAC:          ${msg_rbac_shutdown}
- "
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch b/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
deleted file mode 100644
index c48cb07..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 2dc0d268c7cc5d6133a9594adcd67dc543288b8f Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:19:07 +0100
-Subject: [PATCH 4/6] make custom session work
-
-Gentoo bug: #216984
-
-fix custom sessions not doing sourcing in the proper order.
----
- data/Xsession.in |   18 +++++++++---------
- 1 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/data/Xsession.in b/data/Xsession.in
-index b2d98f2..0da187d 100755
---- a/data/Xsession.in
-+++ b/data/Xsession.in
-@@ -153,15 +153,6 @@ if [ -n "$GDM_LANG" ]; then
-   export LANG
- fi
- 
--# run all system xinitrc shell scripts.
--if [ -d /etc/X11/xinit/xinitrc.d ]; then
--    for i in /etc/X11/xinit/xinitrc.d/* ; do
--        if [ -x "$i" -a ! -d "$i" ]; then
--	    . "$i"
--        fi
--    done
--fi
--
- if [ "x$command" = "xcustom" ] ; then
-   if [ -x "$HOME/.xsession" ]; then
-     command="$HOME/.xsession"
-@@ -189,6 +180,15 @@ if [ "x$command" = "xdefault" ] ; then
-   fi
- fi
- 
-+# run all system xinitrc shell scripts.
-+if [ -d /etc/X11/xinit/xinitrc.d ]; then
-+    for i in /etc/X11/xinit/xinitrc.d/* ; do
-+        if [ -x "$i" ]; then
-+	    . "$i"
-+        fi
-+    done
-+fi
-+
- # add ssh-agent if found
- sshagent="`gdmwhich ssh-agent`"
- if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
deleted file mode 100644
index 2ae7f61..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 7f5104b242e6b36e6143183b14582d362763ff2a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:16:51 +0100
-Subject: [PATCH 2/6] daemonize so that the boot process can continue
-
-Gentoo bug: #236701
-
-Originally from: Dan Nicholson <dbn.lists@gmail.com>
-
-Fork gdm-binary, except when -nodaemon is used
- 
-gdm-binary now forks and the parent terminates, except when the
--nodaemon or --nodaemon options are used. This provides compatibility
-with xdm. Fixes bug #550170.
-
----
- daemon/main.c |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 64 insertions(+), 0 deletions(-)
-
-diff --git a/daemon/main.c b/daemon/main.c
-index 5b8d66b..191b6e3 100644
---- a/daemon/main.c
-+++ b/daemon/main.c
-@@ -513,6 +513,56 @@ is_debug_set (void)
-         return debug;
- }
- 
-+static void
-+dup_dev_null (int fd, int flags)
-+{
-+        int nullfd;
-+        int dupfd;
-+
-+        VE_IGNORE_EINTR (nullfd = open ("/dev/null", flags));
-+        if (G_UNLIKELY (nullfd < 0)) {
-+                gdm_fail (_("Cannot open /dev/null: %s!"),
-+                          strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        VE_IGNORE_EINTR (dupfd = dup2 (nullfd, fd));
-+        if (G_UNLIKELY (dupfd < 0)) {
-+                gdm_fail (_("Cannot duplicate /dev/null: %s!"),
-+                          strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        VE_IGNORE_EINTR (close (nullfd));
-+}
-+
-+static void
-+daemonify (void)
-+{
-+        pid_t pid;
-+
-+        pid = fork ();
-+
-+        /* terminate the parent */
-+        if (pid > 0)
-+                exit (EXIT_SUCCESS);
-+
-+        if (G_UNLIKELY (pid < 0)) {
-+                gdm_fail (_("fork () failed: %s!"), strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        if (G_UNLIKELY (setsid () < 0)) {
-+                gdm_fail (_("setsid () failed: %s!"), strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        /* reopen stdin, stdout, stderr with /dev/null */
-+        dup_dev_null (STDIN_FILENO, O_RDONLY);
-+        dup_dev_null (STDOUT_FILENO, O_RDWR);
-+        dup_dev_null (STDERR_FILENO, O_RDWR);
-+}
-+
- int
- main (int    argc,
-       char **argv)
-@@ -523,14 +573,17 @@ main (int    argc,
-         DBusGConnection    *connection;
-         GError             *error;
-         int                 ret;
-+        int                 i;
-         gboolean            res;
-         gboolean            xdmcp_enabled;
-         GdmSignalHandler   *signal_handler;
-         static gboolean     do_timed_exit    = FALSE;
-         static gboolean     print_version    = FALSE;
-         static gboolean     fatal_warnings   = FALSE;
-+        static gboolean     no_daemon        = FALSE;
-         static GOptionEntry entries []   = {
-                 { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
-+                { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
-                 { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
-                 { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
- 
-@@ -547,6 +600,14 @@ main (int    argc,
- 
-         g_type_init ();
- 
-+        /* preprocess the arguments to support the xdm style
-+         * -nodaemon option
-+         */
-+        for (i = 0; i < argc; i++) {
-+                if (strcmp (argv[i], "-nodaemon") == 0)
-+                        argv[i] = "--nodaemon";
-+        }
-+
-         context = g_option_context_new (_("GNOME Display Manager"));
-         g_option_context_add_main_entries (context, entries, NULL);
-         g_option_context_set_ignore_unknown_options (context, TRUE);
-@@ -617,6 +678,9 @@ main (int    argc,
-                 exit (-1);
-         }
- 
-+        if (no_daemon == FALSE)
-+                daemonify ();
-+
-         /* pid file */
-         delete_pid ();
-         write_pid ();
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch b/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch
deleted file mode 100644
index f219a14..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From 64002e623fea54ab10040206d164c5fdee4a43d2 Mon Sep 17 00:00:00 2001
-From: Nirbheek Chauhan <nirbheek@gentoo.org>
-Date: Fri, 15 Apr 2011 22:13:44 +0530
-Subject: [PATCH] Fix VT grab race with getty causing X to grab the wrong VT
-
-On bootup, if X is spawned without any args, it'll take up the first unused VT.
-If GDM starts up before gettys are spawned, X takes up VT1 or VT2 depending on
-the init system and bootsplash.
-
-This is problematic because afterwards getty will come up underneath X, and
-cause keyboard problems and eventually crash X.
-
-So we read /etc/inittab, check for open VTs, compare the two values, and take
-the conservative one.
----
- configure.ac        |    4 ++
- daemon/Makefile.am  |    1 +
- daemon/gdm-server.c |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++-
- 3 files changed, 110 insertions(+), 1 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ca0f8bb..b9e7462 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -302,6 +302,10 @@ AC_CHECK_TYPE(socklen_t,,
- AC_CHECK_HEADERS(sys/sockio.h)
- AC_CHECK_FUNCS([setresuid setenv unsetenv clearenv])
- 
-+dnl Needed for querying the kernel for free VTs
-+AC_CHECK_HEADERS(sys/vt.h)
-+AC_CHECK_HEADERS(sys/ioctl.h)
-+
- dnl checks needed for Darwin compatibility to linux **environ.
- AC_CHECK_HEADERS(crt_externs.h)
- AC_CHECK_FUNCS(_NSGetEnviron)
-diff --git a/daemon/Makefile.am b/daemon/Makefile.am
-index da18835..c1b6bda 100644
---- a/daemon/Makefile.am
-+++ b/daemon/Makefile.am
-@@ -14,6 +14,7 @@ AM_CPPFLAGS = \
- 	-DLIBEXECDIR=\"$(libexecdir)\"			\
- 	-DLOGDIR=\"$(logdir)\"				\
- 	-DSBINDIR=\"$(sbindir)\"			\
-+	-DSYSCONFDIR=\""$(sysconfdir)"\"		\
- 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"	\
- 	-DGDM_XAUTH_DIR=\"$(GDM_XAUTH_DIR)\"		\
- 	-DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\"		\
-diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
-index 339f3cc..29d16dc 100644
---- a/daemon/gdm-server.c
-+++ b/daemon/gdm-server.c
-@@ -26,6 +26,8 @@
- #include <unistd.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/vt.h>
- #include <sys/wait.h>
- #include <errno.h>
- #include <ctype.h>
-@@ -42,6 +44,7 @@
- #include <glib/gi18n.h>
- #include <glib/gstdio.h>
- #include <glib-object.h>
-+#include <gio/gio.h>
- 
- #include <X11/Xlib.h> /* for Display */
- 
-@@ -54,6 +57,8 @@ extern char **environ;
- 
- #define GDM_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SERVER, GdmServerPrivate))
- 
-+#define INITTAB SYSCONFDIR"/inittab"
-+
- /* These are the servstat values, also used as server
-  * process exit codes */
- #define SERVER_TIMEOUT 2        /* Server didn't start */
-@@ -674,6 +679,105 @@ gdm_server_spawn (GdmServer  *server,
- }
- 
- /**
-+ * Parse the inittab file used by getty to spawn VTs to find unused ttys
-+ */
-+static int
-+get_free_vt_from_inittab ()
-+{
-+        GFile *gfile;
-+        GFileInputStream *contents;
-+        GDataInputStream *dstream;
-+        GRegex *getty;
-+        GMatchInfo *tty_match = NULL;
-+        GSList *tty_list = NULL;
-+        GError *error = NULL;
-+        gchar *temp = NULL;
-+        int vtno = 0;
-+
-+        gfile = g_file_new_for_path (INITTAB);
-+        contents = g_file_read (gfile, NULL, &error);
-+        g_object_unref (gfile);
-+        if (!contents) {
-+                if (error) {
-+                        g_debug ("Unable to open file %s", INITTAB);
-+                        g_error_free (error);
-+                }
-+                goto out;
-+        }
-+
-+        dstream = g_data_input_stream_new (G_INPUT_STREAM (contents));
-+        getty = g_regex_new ("^c[0-9]+:.+getty.+tty([0-9]+)", 0, 0, NULL);
-+        g_object_unref (contents);
-+
-+        while (1) {
-+                temp = g_data_input_stream_read_line (dstream, NULL, NULL, &error);
-+                if (!temp)
-+                        break;
-+                if (!g_regex_match (getty, temp, 0, &tty_match))
-+                        continue;
-+                g_free (temp);
-+                temp = g_match_info_fetch (tty_match, 1);
-+                if (!temp)
-+                        continue;
-+                tty_list = g_slist_insert_sorted (tty_list, temp, (GCompareFunc)g_strcmp0);
-+                g_match_info_free (tty_match);
-+        }
-+
-+        if (error) {
-+                g_debug ("Unable to read line from %s", INITTAB);
-+                g_error_free (error);
-+                goto free;
-+        }
-+
-+        /* Ignore holes in vt allocation, just take the last one */
-+        temp = g_slist_last (tty_list)->data;
-+        if (temp)
-+                vtno = (int) g_ascii_strtoull (temp, NULL, 10) + 1;
-+
-+free:
-+        g_object_unref (dstream);
-+        g_regex_unref (getty);
-+        g_slist_free_full (tty_list, g_free);
-+        g_free (error);
-+out:
-+        return vtno;
-+}
-+
-+/**
-+ * Query the VT_* kernel ioctls to find an empty tty
-+ */
-+static int
-+get_free_vt_from_kernel()
-+{
-+        int fd, vtno = 0;
-+
-+        fd = open ("/dev/tty0", O_WRONLY, 0);
-+        if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || (vtno == -1)) {
-+                vtno = 0;
-+                g_debug ("Unable to find a free vt, falling back to Xorg autodetect");
-+        }
-+        return vtno;
-+}
-+
-+static gchar*
-+get_free_vt ()
-+{
-+        int inittab_vtno, kernel_vtno;
-+        gchar* vt = NULL;
-+
-+        inittab_vtno = get_free_vt_from_inittab();
-+        if (inittab_vtno > 0)
-+                g_debug ("Inittab says vt%i is free\n", inittab_vtno);
-+        kernel_vtno = get_free_vt_from_kernel();
-+        if (kernel_vtno > 0)
-+                g_debug ("Kernel says vt%i is free\n", kernel_vtno);
-+        /* Select the greater of the two because getty will use the others */
-+        if (kernel_vtno != 0 && inittab_vtno != 0)
-+                vt = g_strdup_printf ("vt%i", kernel_vtno > inittab_vtno ? kernel_vtno : inittab_vtno);
-+        return vt;
-+}
-+
-+/**
-  * gdm_server_start:
-  * @disp: Pointer to a GdmDisplay structure
-  *
-@@ -686,7 +790,7 @@ gdm_server_start (GdmServer *server)
-         gboolean res;
- 
-         /* fork X server process */
--        res = gdm_server_spawn (server, NULL);
-+        res = gdm_server_spawn (server, get_free_vt());
- 
-         return res;
- }
--- 
-1.7.3.4
-

diff --git a/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch b/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
deleted file mode 100644
index e563aa4..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 41badd6d2ca652a875fec3eea420ae876023076d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:15:54 +0100
-Subject: [PATCH 1/6] remove unneeded linker directive for selinux
-
-Gentoo bug: #41022
-
----
- configure.ac |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ed07dce..71d0247 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -873,7 +873,7 @@ if test "x$with_selinux" = "xyes" ; then
- 	AC_CHECK_LIB(selinux,setexeccon,/bin/true)
- 	AC_CHECK_LIB(selinux,is_selinux_enabled,/bin/true)
- 	AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux])
--	EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
-+	EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
- fi
- 
- dnl ---------------------------------------------------------------------------
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch
deleted file mode 100644
index 60aea72..0000000
--- a/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 7f5104b242e6b36e6143183b14582d362763ff2a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:16:51 +0100
-Subject: [PATCH 2/6] daemonize so that the boot process can continue
-
-Gentoo bug: #236701
-
-Originally from: Dan Nicholson <dbn.lists@gmail.com>
-
-Fork gdm-binary, except when -nodaemon is used
- 
-gdm-binary now forks and the parent terminates, except when the
--nodaemon or --nodaemon options are used. This provides compatibility
-with xdm. Fixes bug #550170.
-
----
- daemon/main.c |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 64 insertions(+), 0 deletions(-)
-
-diff --git a/daemon/main.c b/daemon/main.c
-index 5b8d66b..191b6e3 100644
---- a/daemon/main.c
-+++ b/daemon/main.c
-@@ -513,6 +513,56 @@ is_debug_set (void)
-         return debug;
- }
- 
-+static void
-+dup_dev_null (int fd, int flags)
-+{
-+        int nullfd;
-+        int dupfd;
-+
-+        VE_IGNORE_EINTR (nullfd = open ("/dev/null", flags));
-+        if (G_UNLIKELY (nullfd < 0)) {
-+                gdm_fail (_("Cannot open /dev/null: %s!"),
-+                          strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        VE_IGNORE_EINTR (dupfd = dup2 (nullfd, fd));
-+        if (G_UNLIKELY (dupfd < 0)) {
-+                gdm_fail (_("Cannot duplicate /dev/null: %s!"),
-+                          strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        VE_IGNORE_EINTR (close (nullfd));
-+}
-+
-+static void
-+daemonify (void)
-+{
-+        pid_t pid;
-+
-+        pid = fork ();
-+
-+        /* terminate the parent */
-+        if (pid > 0)
-+                exit (EXIT_SUCCESS);
-+
-+        if (G_UNLIKELY (pid < 0)) {
-+                gdm_fail (_("fork () failed: %s!"), strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        if (G_UNLIKELY (setsid () < 0)) {
-+                gdm_fail (_("setsid () failed: %s!"), strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        /* reopen stdin, stdout, stderr with /dev/null */
-+        dup_dev_null (STDIN_FILENO, O_RDONLY);
-+        dup_dev_null (STDOUT_FILENO, O_RDWR);
-+        dup_dev_null (STDERR_FILENO, O_RDWR);
-+}
-+
- int
- main (int    argc,
-       char **argv)
-@@ -523,13 +573,16 @@ main (int    argc,
-         DBusGConnection    *connection;
-         GError             *error;
-         int                 ret;
-+        int                 i;
-         gboolean            res;
-         GdmSignalHandler   *signal_handler;
-         static gboolean     do_timed_exit    = FALSE;
-         static gboolean     print_version    = FALSE;
-         static gboolean     fatal_warnings   = FALSE;
-+        static gboolean     no_daemon        = FALSE;
-         static GOptionEntry entries []   = {
-                 { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
-+                { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
-                 { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
-                 { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
- 
-@@ -547,6 +600,14 @@ main (int    argc,
- 
-         g_type_init ();
- 
-+        /* preprocess the arguments to support the xdm style
-+         * -nodaemon option
-+         */
-+        for (i = 0; i < argc; i++) {
-+                if (strcmp (argv[i], "-nodaemon") == 0)
-+                        argv[i] = "--nodaemon";
-+        }
-+
-         context = g_option_context_new (_("GNOME Display Manager"));
-         g_option_context_add_main_entries (context, entries, NULL);
-         g_option_context_set_ignore_unknown_options (context, TRUE);
-@@ -617,6 +678,9 @@ main (int    argc,
-                 exit (-1);
-         }
- 
-+        if (no_daemon == FALSE)
-+                daemonify ();
-+
-         /* pid file */
-         delete_pid ();
-         write_pid ();
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm.sh b/gnome-base/gdm/files/gdm.sh
new file mode 100644
index 0000000..609f10a
--- /dev/null
+++ b/gnome-base/gdm/files/gdm.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+gdm-binary &

diff --git a/gnome-base/gdm/gdm-3.5.91-r1.ebuild b/gnome-base/gdm/gdm-3.5.91-r1.ebuild
index aac7b7e..52e1779 100644
--- a/gnome-base/gdm/gdm-3.5.91-r1.ebuild
+++ b/gnome-base/gdm/gdm-3.5.91-r1.ebuild
@@ -150,9 +150,6 @@ pkg_setup() {
 }
 
 src_prepare() {
-	# daemonize so that the boot process can continue, bug #236701
-	epatch "${FILESDIR}/${PN}-3.5.91-fix-daemonize-regression.patch"
-
 	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
 	# XXX: We can now pass a hard-coded initial value; temporary fix
 	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
@@ -187,11 +184,10 @@ src_install() {
 	# Install the systemd unit file
 	systemd_dounit "${FILESDIR}/3.4.1/gdm.service"
 
-	# gdm-binary should be gdm to work with our init (#5598)
-	rm -f "${ED}/usr/sbin/gdm"
-	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm"
+	# Install a shell script that runs gdm-binary in the background
+	cp "${FILESDIR}/gdm.sh" "${ED}/usr/sbin/gdm"
 	# our x11's scripts point to /usr/bin/gdm
-	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm"
+	ln -sfn /usr/sbin/gdm "${ED}/usr/bin/gdm"
 
 	# log, etc.
 	keepdir /var/log/gdm

diff --git a/gnome-base/gdm/gdm-9999.ebuild b/gnome-base/gdm/gdm-9999.ebuild
index aac7b7e..52e1779 100644
--- a/gnome-base/gdm/gdm-9999.ebuild
+++ b/gnome-base/gdm/gdm-9999.ebuild
@@ -150,9 +150,6 @@ pkg_setup() {
 }
 
 src_prepare() {
-	# daemonize so that the boot process can continue, bug #236701
-	epatch "${FILESDIR}/${PN}-3.5.91-fix-daemonize-regression.patch"
-
 	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
 	# XXX: We can now pass a hard-coded initial value; temporary fix
 	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
@@ -187,11 +184,10 @@ src_install() {
 	# Install the systemd unit file
 	systemd_dounit "${FILESDIR}/3.4.1/gdm.service"
 
-	# gdm-binary should be gdm to work with our init (#5598)
-	rm -f "${ED}/usr/sbin/gdm"
-	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm"
+	# Install a shell script that runs gdm-binary in the background
+	cp "${FILESDIR}/gdm.sh" "${ED}/usr/sbin/gdm"
 	# our x11's scripts point to /usr/bin/gdm
-	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm"
+	ln -sfn /usr/sbin/gdm "${ED}/usr/bin/gdm"
 
 	# log, etc.
 	keepdir /var/log/gdm


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2012-09-12 12:08 Nirbheek Chauhan
  0 siblings, 0 replies; 14+ messages in thread
From: Nirbheek Chauhan @ 2012-09-12 12:08 UTC (permalink / raw
  To: gentoo-commits

commit:     ca301d30b271beb63d5a84750b8e80ceb4435c1a
Author:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 12 12:05:39 2012 +0000
Commit:     Nirbheek Chauhan <nirbheek <AT> gentoo <DOT> org>
CommitDate: Wed Sep 12 12:07:04 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=ca301d30

gnome-base/gdm: fix problems with 3.5.91 and remove old patches

GDM 3.5.91 will now work properly

---
 .../gdm-2.32.0-automagic-libxklavier-support.patch |   60 ------
 .../gdm/files/gdm-2.32.0-custom-session.patch      |   51 -----
 .../gdm-2.32.0-fix-daemonize-regression.patch      |  126 -------------
 .../gdm/files/gdm-2.32.0-fix-vt-problems.patch     |  195 --------------------
 .../gdm/files/gdm-2.32.0-selinux-remove-attr.patch |   27 ---
 .../gdm-3.5.91-fix-daemonize-regression.patch      |  125 -------------
 gnome-base/gdm/files/gdm.sh                        |    3 +
 gnome-base/gdm/gdm-3.5.91-r1.ebuild                |   10 +-
 gnome-base/gdm/gdm-9999.ebuild                     |   10 +-
 9 files changed, 9 insertions(+), 598 deletions(-)

diff --git a/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch b/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch
deleted file mode 100644
index 90c1cef..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 481fe43b653b443ecfa8d4f3aa88d734d17cccd5 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:21:27 +0100
-Subject: [PATCH 6/6] fix libxklavier automagic support
-
-libxklavier support is optional, make that fact explicit.
----
- configure.ac |   28 +++++++++++++++++++---------
- 1 files changed, 19 insertions(+), 9 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 71d0247..10dbb72 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -129,17 +129,26 @@ SIMPLE_GREETER_LIBS="$SIMPLE_GREETER_LIBS -lm"
- AC_SUBST(SIMPLE_GREETER_CFLAGS)
- AC_SUBST(SIMPLE_GREETER_LIBS)
- 
--PKG_CHECK_MODULES(LIBXKLAVIER,
--        libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
--        have_libxklavier=yes,
--        have_libxklavier=no)
--if test "x$have_libxklavier" = "xyes" ; then
--  AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
-+AC_ARG_ENABLE([libxklavier],
-+	AS_HELP_STRING([--enable-libxklavier],
-+		       [Enable libxklavier support @<:@default=yes@:>@]),
-+	enable_libxklavier=$enableval,
-+	enable_libxklavier=yes)
-+have_libxklavier=no
-+if test "x$enable_libxklavier" = "xyes"; then
-+   PKG_CHECK_MODULES(LIBXKLAVIER,
-+	  libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
-+          have_libxklavier=yes,
-+          have_libxklavier=no)
-+   if test "x$have_libxklavier" = "xyes" ; then
-+      AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
-+   fi
-+   AC_SUBST(HAVE_LIBXKLAVIER)
-+   AC_SUBST(LIBXKLAVIER_CFLAGS)
-+   AC_SUBST(LIBXKLAVIER_LIBS)
- fi
-+
- AM_CONDITIONAL(HAVE_LIBXKLAVIER, test x$have_libxklavier = xyes)
--AC_SUBST(HAVE_LIBXKLAVIER)
--AC_SUBST(LIBXKLAVIER_CFLAGS)
--AC_SUBST(LIBXKLAVIER_LIBS)
- 
- PKG_CHECK_MODULES(SIMPLE_CHOOSER,
-         dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
-@@ -1467,5 +1476,6 @@ echo \
-         SELinux support:          ${with_selinux}
-         ConsoleKit support:       ${use_console_kit}
-         UPower support:           ${have_upower}
-+        Libxklavier support:      ${have_libxklavier}
-         Build with RBAC:          ${msg_rbac_shutdown}
- "
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch b/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
deleted file mode 100644
index c48cb07..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 2dc0d268c7cc5d6133a9594adcd67dc543288b8f Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:19:07 +0100
-Subject: [PATCH 4/6] make custom session work
-
-Gentoo bug: #216984
-
-fix custom sessions not doing sourcing in the proper order.
----
- data/Xsession.in |   18 +++++++++---------
- 1 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/data/Xsession.in b/data/Xsession.in
-index b2d98f2..0da187d 100755
---- a/data/Xsession.in
-+++ b/data/Xsession.in
-@@ -153,15 +153,6 @@ if [ -n "$GDM_LANG" ]; then
-   export LANG
- fi
- 
--# run all system xinitrc shell scripts.
--if [ -d /etc/X11/xinit/xinitrc.d ]; then
--    for i in /etc/X11/xinit/xinitrc.d/* ; do
--        if [ -x "$i" -a ! -d "$i" ]; then
--	    . "$i"
--        fi
--    done
--fi
--
- if [ "x$command" = "xcustom" ] ; then
-   if [ -x "$HOME/.xsession" ]; then
-     command="$HOME/.xsession"
-@@ -189,6 +180,15 @@ if [ "x$command" = "xdefault" ] ; then
-   fi
- fi
- 
-+# run all system xinitrc shell scripts.
-+if [ -d /etc/X11/xinit/xinitrc.d ]; then
-+    for i in /etc/X11/xinit/xinitrc.d/* ; do
-+        if [ -x "$i" ]; then
-+	    . "$i"
-+        fi
-+    done
-+fi
-+
- # add ssh-agent if found
- sshagent="`gdmwhich ssh-agent`"
- if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
deleted file mode 100644
index 2ae7f61..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 7f5104b242e6b36e6143183b14582d362763ff2a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:16:51 +0100
-Subject: [PATCH 2/6] daemonize so that the boot process can continue
-
-Gentoo bug: #236701
-
-Originally from: Dan Nicholson <dbn.lists@gmail.com>
-
-Fork gdm-binary, except when -nodaemon is used
- 
-gdm-binary now forks and the parent terminates, except when the
--nodaemon or --nodaemon options are used. This provides compatibility
-with xdm. Fixes bug #550170.
-
----
- daemon/main.c |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 64 insertions(+), 0 deletions(-)
-
-diff --git a/daemon/main.c b/daemon/main.c
-index 5b8d66b..191b6e3 100644
---- a/daemon/main.c
-+++ b/daemon/main.c
-@@ -513,6 +513,56 @@ is_debug_set (void)
-         return debug;
- }
- 
-+static void
-+dup_dev_null (int fd, int flags)
-+{
-+        int nullfd;
-+        int dupfd;
-+
-+        VE_IGNORE_EINTR (nullfd = open ("/dev/null", flags));
-+        if (G_UNLIKELY (nullfd < 0)) {
-+                gdm_fail (_("Cannot open /dev/null: %s!"),
-+                          strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        VE_IGNORE_EINTR (dupfd = dup2 (nullfd, fd));
-+        if (G_UNLIKELY (dupfd < 0)) {
-+                gdm_fail (_("Cannot duplicate /dev/null: %s!"),
-+                          strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        VE_IGNORE_EINTR (close (nullfd));
-+}
-+
-+static void
-+daemonify (void)
-+{
-+        pid_t pid;
-+
-+        pid = fork ();
-+
-+        /* terminate the parent */
-+        if (pid > 0)
-+                exit (EXIT_SUCCESS);
-+
-+        if (G_UNLIKELY (pid < 0)) {
-+                gdm_fail (_("fork () failed: %s!"), strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        if (G_UNLIKELY (setsid () < 0)) {
-+                gdm_fail (_("setsid () failed: %s!"), strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        /* reopen stdin, stdout, stderr with /dev/null */
-+        dup_dev_null (STDIN_FILENO, O_RDONLY);
-+        dup_dev_null (STDOUT_FILENO, O_RDWR);
-+        dup_dev_null (STDERR_FILENO, O_RDWR);
-+}
-+
- int
- main (int    argc,
-       char **argv)
-@@ -523,14 +573,17 @@ main (int    argc,
-         DBusGConnection    *connection;
-         GError             *error;
-         int                 ret;
-+        int                 i;
-         gboolean            res;
-         gboolean            xdmcp_enabled;
-         GdmSignalHandler   *signal_handler;
-         static gboolean     do_timed_exit    = FALSE;
-         static gboolean     print_version    = FALSE;
-         static gboolean     fatal_warnings   = FALSE;
-+        static gboolean     no_daemon        = FALSE;
-         static GOptionEntry entries []   = {
-                 { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
-+                { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
-                 { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
-                 { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
- 
-@@ -547,6 +600,14 @@ main (int    argc,
- 
-         g_type_init ();
- 
-+        /* preprocess the arguments to support the xdm style
-+         * -nodaemon option
-+         */
-+        for (i = 0; i < argc; i++) {
-+                if (strcmp (argv[i], "-nodaemon") == 0)
-+                        argv[i] = "--nodaemon";
-+        }
-+
-         context = g_option_context_new (_("GNOME Display Manager"));
-         g_option_context_add_main_entries (context, entries, NULL);
-         g_option_context_set_ignore_unknown_options (context, TRUE);
-@@ -617,6 +678,9 @@ main (int    argc,
-                 exit (-1);
-         }
- 
-+        if (no_daemon == FALSE)
-+                daemonify ();
-+
-         /* pid file */
-         delete_pid ();
-         write_pid ();
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch b/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch
deleted file mode 100644
index f219a14..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From 64002e623fea54ab10040206d164c5fdee4a43d2 Mon Sep 17 00:00:00 2001
-From: Nirbheek Chauhan <nirbheek@gentoo.org>
-Date: Fri, 15 Apr 2011 22:13:44 +0530
-Subject: [PATCH] Fix VT grab race with getty causing X to grab the wrong VT
-
-On bootup, if X is spawned without any args, it'll take up the first unused VT.
-If GDM starts up before gettys are spawned, X takes up VT1 or VT2 depending on
-the init system and bootsplash.
-
-This is problematic because afterwards getty will come up underneath X, and
-cause keyboard problems and eventually crash X.
-
-So we read /etc/inittab, check for open VTs, compare the two values, and take
-the conservative one.
----
- configure.ac        |    4 ++
- daemon/Makefile.am  |    1 +
- daemon/gdm-server.c |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++-
- 3 files changed, 110 insertions(+), 1 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ca0f8bb..b9e7462 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -302,6 +302,10 @@ AC_CHECK_TYPE(socklen_t,,
- AC_CHECK_HEADERS(sys/sockio.h)
- AC_CHECK_FUNCS([setresuid setenv unsetenv clearenv])
- 
-+dnl Needed for querying the kernel for free VTs
-+AC_CHECK_HEADERS(sys/vt.h)
-+AC_CHECK_HEADERS(sys/ioctl.h)
-+
- dnl checks needed for Darwin compatibility to linux **environ.
- AC_CHECK_HEADERS(crt_externs.h)
- AC_CHECK_FUNCS(_NSGetEnviron)
-diff --git a/daemon/Makefile.am b/daemon/Makefile.am
-index da18835..c1b6bda 100644
---- a/daemon/Makefile.am
-+++ b/daemon/Makefile.am
-@@ -14,6 +14,7 @@ AM_CPPFLAGS = \
- 	-DLIBEXECDIR=\"$(libexecdir)\"			\
- 	-DLOGDIR=\"$(logdir)\"				\
- 	-DSBINDIR=\"$(sbindir)\"			\
-+	-DSYSCONFDIR=\""$(sysconfdir)"\"		\
- 	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"	\
- 	-DGDM_XAUTH_DIR=\"$(GDM_XAUTH_DIR)\"		\
- 	-DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\"		\
-diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
-index 339f3cc..29d16dc 100644
---- a/daemon/gdm-server.c
-+++ b/daemon/gdm-server.c
-@@ -26,6 +26,8 @@
- #include <unistd.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/vt.h>
- #include <sys/wait.h>
- #include <errno.h>
- #include <ctype.h>
-@@ -42,6 +44,7 @@
- #include <glib/gi18n.h>
- #include <glib/gstdio.h>
- #include <glib-object.h>
-+#include <gio/gio.h>
- 
- #include <X11/Xlib.h> /* for Display */
- 
-@@ -54,6 +57,8 @@ extern char **environ;
- 
- #define GDM_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SERVER, GdmServerPrivate))
- 
-+#define INITTAB SYSCONFDIR"/inittab"
-+
- /* These are the servstat values, also used as server
-  * process exit codes */
- #define SERVER_TIMEOUT 2        /* Server didn't start */
-@@ -674,6 +679,105 @@ gdm_server_spawn (GdmServer  *server,
- }
- 
- /**
-+ * Parse the inittab file used by getty to spawn VTs to find unused ttys
-+ */
-+static int
-+get_free_vt_from_inittab ()
-+{
-+        GFile *gfile;
-+        GFileInputStream *contents;
-+        GDataInputStream *dstream;
-+        GRegex *getty;
-+        GMatchInfo *tty_match = NULL;
-+        GSList *tty_list = NULL;
-+        GError *error = NULL;
-+        gchar *temp = NULL;
-+        int vtno = 0;
-+
-+        gfile = g_file_new_for_path (INITTAB);
-+        contents = g_file_read (gfile, NULL, &error);
-+        g_object_unref (gfile);
-+        if (!contents) {
-+                if (error) {
-+                        g_debug ("Unable to open file %s", INITTAB);
-+                        g_error_free (error);
-+                }
-+                goto out;
-+        }
-+
-+        dstream = g_data_input_stream_new (G_INPUT_STREAM (contents));
-+        getty = g_regex_new ("^c[0-9]+:.+getty.+tty([0-9]+)", 0, 0, NULL);
-+        g_object_unref (contents);
-+
-+        while (1) {
-+                temp = g_data_input_stream_read_line (dstream, NULL, NULL, &error);
-+                if (!temp)
-+                        break;
-+                if (!g_regex_match (getty, temp, 0, &tty_match))
-+                        continue;
-+                g_free (temp);
-+                temp = g_match_info_fetch (tty_match, 1);
-+                if (!temp)
-+                        continue;
-+                tty_list = g_slist_insert_sorted (tty_list, temp, (GCompareFunc)g_strcmp0);
-+                g_match_info_free (tty_match);
-+        }
-+
-+        if (error) {
-+                g_debug ("Unable to read line from %s", INITTAB);
-+                g_error_free (error);
-+                goto free;
-+        }
-+
-+        /* Ignore holes in vt allocation, just take the last one */
-+        temp = g_slist_last (tty_list)->data;
-+        if (temp)
-+                vtno = (int) g_ascii_strtoull (temp, NULL, 10) + 1;
-+
-+free:
-+        g_object_unref (dstream);
-+        g_regex_unref (getty);
-+        g_slist_free_full (tty_list, g_free);
-+        g_free (error);
-+out:
-+        return vtno;
-+}
-+
-+/**
-+ * Query the VT_* kernel ioctls to find an empty tty
-+ */
-+static int
-+get_free_vt_from_kernel()
-+{
-+        int fd, vtno = 0;
-+
-+        fd = open ("/dev/tty0", O_WRONLY, 0);
-+        if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || (vtno == -1)) {
-+                vtno = 0;
-+                g_debug ("Unable to find a free vt, falling back to Xorg autodetect");
-+        }
-+        return vtno;
-+}
-+
-+static gchar*
-+get_free_vt ()
-+{
-+        int inittab_vtno, kernel_vtno;
-+        gchar* vt = NULL;
-+
-+        inittab_vtno = get_free_vt_from_inittab();
-+        if (inittab_vtno > 0)
-+                g_debug ("Inittab says vt%i is free\n", inittab_vtno);
-+        kernel_vtno = get_free_vt_from_kernel();
-+        if (kernel_vtno > 0)
-+                g_debug ("Kernel says vt%i is free\n", kernel_vtno);
-+        /* Select the greater of the two because getty will use the others */
-+        if (kernel_vtno != 0 && inittab_vtno != 0)
-+                vt = g_strdup_printf ("vt%i", kernel_vtno > inittab_vtno ? kernel_vtno : inittab_vtno);
-+        return vt;
-+}
-+
-+/**
-  * gdm_server_start:
-  * @disp: Pointer to a GdmDisplay structure
-  *
-@@ -686,7 +790,7 @@ gdm_server_start (GdmServer *server)
-         gboolean res;
- 
-         /* fork X server process */
--        res = gdm_server_spawn (server, NULL);
-+        res = gdm_server_spawn (server, get_free_vt());
- 
-         return res;
- }
--- 
-1.7.3.4
-

diff --git a/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch b/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
deleted file mode 100644
index e563aa4..0000000
--- a/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 41badd6d2ca652a875fec3eea420ae876023076d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:15:54 +0100
-Subject: [PATCH 1/6] remove unneeded linker directive for selinux
-
-Gentoo bug: #41022
-
----
- configure.ac |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index ed07dce..71d0247 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -873,7 +873,7 @@ if test "x$with_selinux" = "xyes" ; then
- 	AC_CHECK_LIB(selinux,setexeccon,/bin/true)
- 	AC_CHECK_LIB(selinux,is_selinux_enabled,/bin/true)
- 	AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux])
--	EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
-+	EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
- fi
- 
- dnl ---------------------------------------------------------------------------
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch
deleted file mode 100644
index 60aea72..0000000
--- a/gnome-base/gdm/files/gdm-3.5.91-fix-daemonize-regression.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 7f5104b242e6b36e6143183b14582d362763ff2a Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 2 Nov 2010 23:16:51 +0100
-Subject: [PATCH 2/6] daemonize so that the boot process can continue
-
-Gentoo bug: #236701
-
-Originally from: Dan Nicholson <dbn.lists@gmail.com>
-
-Fork gdm-binary, except when -nodaemon is used
- 
-gdm-binary now forks and the parent terminates, except when the
--nodaemon or --nodaemon options are used. This provides compatibility
-with xdm. Fixes bug #550170.
-
----
- daemon/main.c |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 64 insertions(+), 0 deletions(-)
-
-diff --git a/daemon/main.c b/daemon/main.c
-index 5b8d66b..191b6e3 100644
---- a/daemon/main.c
-+++ b/daemon/main.c
-@@ -513,6 +513,56 @@ is_debug_set (void)
-         return debug;
- }
- 
-+static void
-+dup_dev_null (int fd, int flags)
-+{
-+        int nullfd;
-+        int dupfd;
-+
-+        VE_IGNORE_EINTR (nullfd = open ("/dev/null", flags));
-+        if (G_UNLIKELY (nullfd < 0)) {
-+                gdm_fail (_("Cannot open /dev/null: %s!"),
-+                          strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        VE_IGNORE_EINTR (dupfd = dup2 (nullfd, fd));
-+        if (G_UNLIKELY (dupfd < 0)) {
-+                gdm_fail (_("Cannot duplicate /dev/null: %s!"),
-+                          strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        VE_IGNORE_EINTR (close (nullfd));
-+}
-+
-+static void
-+daemonify (void)
-+{
-+        pid_t pid;
-+
-+        pid = fork ();
-+
-+        /* terminate the parent */
-+        if (pid > 0)
-+                exit (EXIT_SUCCESS);
-+
-+        if (G_UNLIKELY (pid < 0)) {
-+                gdm_fail (_("fork () failed: %s!"), strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        if (G_UNLIKELY (setsid () < 0)) {
-+                gdm_fail (_("setsid () failed: %s!"), strerror (errno));
-+                exit (EXIT_FAILURE);
-+        }
-+
-+        /* reopen stdin, stdout, stderr with /dev/null */
-+        dup_dev_null (STDIN_FILENO, O_RDONLY);
-+        dup_dev_null (STDOUT_FILENO, O_RDWR);
-+        dup_dev_null (STDERR_FILENO, O_RDWR);
-+}
-+
- int
- main (int    argc,
-       char **argv)
-@@ -523,13 +573,16 @@ main (int    argc,
-         DBusGConnection    *connection;
-         GError             *error;
-         int                 ret;
-+        int                 i;
-         gboolean            res;
-         GdmSignalHandler   *signal_handler;
-         static gboolean     do_timed_exit    = FALSE;
-         static gboolean     print_version    = FALSE;
-         static gboolean     fatal_warnings   = FALSE;
-+        static gboolean     no_daemon        = FALSE;
-         static GOptionEntry entries []   = {
-                 { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
-+                { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
-                 { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
-                 { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
- 
-@@ -547,6 +600,14 @@ main (int    argc,
- 
-         g_type_init ();
- 
-+        /* preprocess the arguments to support the xdm style
-+         * -nodaemon option
-+         */
-+        for (i = 0; i < argc; i++) {
-+                if (strcmp (argv[i], "-nodaemon") == 0)
-+                        argv[i] = "--nodaemon";
-+        }
-+
-         context = g_option_context_new (_("GNOME Display Manager"));
-         g_option_context_add_main_entries (context, entries, NULL);
-         g_option_context_set_ignore_unknown_options (context, TRUE);
-@@ -617,6 +678,9 @@ main (int    argc,
-                 exit (-1);
-         }
- 
-+        if (no_daemon == FALSE)
-+                daemonify ();
-+
-         /* pid file */
-         delete_pid ();
-         write_pid ();
--- 
-1.7.3.1
-

diff --git a/gnome-base/gdm/files/gdm.sh b/gnome-base/gdm/files/gdm.sh
new file mode 100644
index 0000000..609f10a
--- /dev/null
+++ b/gnome-base/gdm/files/gdm.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+gdm-binary &

diff --git a/gnome-base/gdm/gdm-3.5.91-r1.ebuild b/gnome-base/gdm/gdm-3.5.91-r1.ebuild
index aac7b7e..52e1779 100644
--- a/gnome-base/gdm/gdm-3.5.91-r1.ebuild
+++ b/gnome-base/gdm/gdm-3.5.91-r1.ebuild
@@ -150,9 +150,6 @@ pkg_setup() {
 }
 
 src_prepare() {
-	# daemonize so that the boot process can continue, bug #236701
-	epatch "${FILESDIR}/${PN}-3.5.91-fix-daemonize-regression.patch"
-
 	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
 	# XXX: We can now pass a hard-coded initial value; temporary fix
 	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
@@ -187,11 +184,10 @@ src_install() {
 	# Install the systemd unit file
 	systemd_dounit "${FILESDIR}/3.4.1/gdm.service"
 
-	# gdm-binary should be gdm to work with our init (#5598)
-	rm -f "${ED}/usr/sbin/gdm"
-	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm"
+	# Install a shell script that runs gdm-binary in the background
+	cp "${FILESDIR}/gdm.sh" "${ED}/usr/sbin/gdm"
 	# our x11's scripts point to /usr/bin/gdm
-	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm"
+	ln -sfn /usr/sbin/gdm "${ED}/usr/bin/gdm"
 
 	# log, etc.
 	keepdir /var/log/gdm

diff --git a/gnome-base/gdm/gdm-9999.ebuild b/gnome-base/gdm/gdm-9999.ebuild
index aac7b7e..52e1779 100644
--- a/gnome-base/gdm/gdm-9999.ebuild
+++ b/gnome-base/gdm/gdm-9999.ebuild
@@ -150,9 +150,6 @@ pkg_setup() {
 }
 
 src_prepare() {
-	# daemonize so that the boot process can continue, bug #236701
-	epatch "${FILESDIR}/${PN}-3.5.91-fix-daemonize-regression.patch"
-
 	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
 	# XXX: We can now pass a hard-coded initial value; temporary fix
 	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
@@ -187,11 +184,10 @@ src_install() {
 	# Install the systemd unit file
 	systemd_dounit "${FILESDIR}/3.4.1/gdm.service"
 
-	# gdm-binary should be gdm to work with our init (#5598)
-	rm -f "${ED}/usr/sbin/gdm"
-	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/sbin/gdm"
+	# Install a shell script that runs gdm-binary in the background
+	cp "${FILESDIR}/gdm.sh" "${ED}/usr/sbin/gdm"
 	# our x11's scripts point to /usr/bin/gdm
-	ln -sfn /usr/sbin/gdm-binary "${ED}/usr/bin/gdm"
+	ln -sfn /usr/sbin/gdm "${ED}/usr/bin/gdm"
 
 	# log, etc.
 	keepdir /var/log/gdm


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2012-12-26 21:45 Gilles Dartiguelongue
  0 siblings, 0 replies; 14+ messages in thread
From: Gilles Dartiguelongue @ 2012-12-26 21:45 UTC (permalink / raw
  To: gentoo-commits

commit:     56ab27672db2efcd92880ac83b13f3d9db906bb8
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 26 21:42:00 2012 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Wed Dec 26 21:42:53 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=56ab2767

gnome-base/gdm: moved to gx86

    * Sync live ebuild with gx86 changes.
    * USE=introspection is now global.

---
 gnome-base/gdm/files/gdm.sh     |    3 -
 gnome-base/gdm/gdm-3.6.2.ebuild |  285 ---------------------------------------
 gnome-base/gdm/gdm-9999.ebuild  |  113 +++++++---------
 gnome-base/gdm/metadata.xml     |    2 -
 4 files changed, 50 insertions(+), 353 deletions(-)

diff --git a/gnome-base/gdm/files/gdm.sh b/gnome-base/gdm/files/gdm.sh
deleted file mode 100644
index 609f10a..0000000
--- a/gnome-base/gdm/files/gdm.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-gdm-binary &

diff --git a/gnome-base/gdm/gdm-3.6.2.ebuild b/gnome-base/gdm/gdm-3.6.2.ebuild
deleted file mode 100644
index fa78d1f..0000000
--- a/gnome-base/gdm/gdm-3.6.2.ebuild
+++ /dev/null
@@ -1,285 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="4"
-GNOME2_LA_PUNT="yes"
-
-inherit autotools eutils gnome2 pam systemd user
-if [[ ${PV} = 9999 ]]; then
-	inherit gnome2-live
-fi
-
-G_PV="2012.09.25"
-G_P="gdm-gentoo-${G_PV}"
-DESCRIPTION="GNOME Display Manager"
-HOMEPAGE="https://live.gnome.org/GDM"
-SRC_URI="${SRC_URI}
-	http://dev.gentoo.org/~tetromino/distfiles/${PN}/${G_P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="accessibility audit +consolekit +fallback fprint +gnome-shell +introspection ipv6 ldap plymouth selinux smartcard systemd tcpd test xinerama"
-if [[ ${PV} = 9999 ]]; then
-	KEYWORDS=""
-else
-	KEYWORDS="~amd64 ~sh ~x86"
-fi
-
-# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
-# nspr used by smartcard extension
-# dconf, dbus and g-s-d are needed at install time for dconf update
-# libdaemon needed for our fix-daemonize-regression.patch
-COMMON_DEPEND="
-	>=dev-libs/glib-2.33.2:2
-	>=x11-libs/gtk+-2.91.1:3
-	>=x11-libs/pango-1.3
-	dev-libs/nspr
-	>=dev-libs/nss-3.11.1
-	>=media-libs/fontconfig-2.5.0
-	>=media-libs/libcanberra-0.4[gtk3]
-	>=x11-misc/xdg-utils-1.0.2-r3
-	>=sys-power/upower-0.9
-	>=sys-apps/accountsservice-0.6.12
-
-	>=gnome-base/dconf-0.11.6
-	>=gnome-base/gnome-settings-daemon-3.1.4
-	gnome-base/gsettings-desktop-schemas
-	sys-apps/dbus
-
-	app-text/iso-codes
-
-	x11-base/xorg-server
-	x11-libs/libXi
-	x11-libs/libXau
-	x11-libs/libX11
-	x11-libs/libXdmcp
-	x11-libs/libXext
-	x11-libs/libXft
-	x11-libs/libXrandr
-	x11-apps/sessreg
-
-	virtual/pam
-	sys-auth/pambase[consolekit?,systemd?]
-
-	dev-libs/libdaemon
-
-	accessibility? ( x11-libs/libXevie )
-	audit? ( sys-process/audit )
-	consolekit? ( sys-auth/consolekit[pam] )
-	introspection? ( >=dev-libs/gobject-introspection-0.9.12 )
-	plymouth? ( sys-boot/plymouth )
-	selinux? ( sys-libs/libselinux )
-	systemd? ( >=sys-apps/systemd-39[pam] )
-	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
-	xinerama? ( x11-libs/libXinerama )"
-# XXX: These deps are from session and desktop files in data/ directory
-# at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser)
-# fprintd is used via dbus by gdm-fingerprint-extension
-# gnome-session-3.6 needed to avoid freezing with orca
-RDEPEND="${COMMON_DEPEND}
-	>=gnome-base/gnome-session-3.6
-	x11-apps/xhost
-	x11-themes/gnome-icon-theme-symbolic
-
-	accessibility? (
-		app-accessibility/gnome-mag
-		app-accessibility/gok
-		app-accessibility/orca
-		gnome-extra/at-spi:1 )
-	consolekit? ( gnome-extra/polkit-gnome )
-	fallback? ( x11-wm/metacity )
-	fprint? (
-		sys-auth/fprintd
-		sys-auth/pam_fprint )
-	gnome-shell? ( >=gnome-base/gnome-shell-3.1.90 )
-	!gnome-shell? ( x11-wm/metacity )
-	smartcard? (
-		app-crypt/coolkey
-		sys-auth/pam_pkcs11 )
-
-	!gnome-extra/fast-user-switch-applet"
-DEPEND="${COMMON_DEPEND}
-	test? ( >=dev-libs/check-0.9.4 )
-	xinerama? ( x11-proto/xineramaproto )
-	app-text/docbook-xml-dtd:4.1.2
-	>=sys-devel/gettext-0.17
-	x11-proto/inputproto
-	x11-proto/randrproto
-	>=dev-util/intltool-0.40.0
-	virtual/pkgconfig"
-
-if [[ ${PV} = 9999 ]]; then
-	DEPEND="${DEPEND}
-		app-text/yelp-tools"
-fi
-
-pkg_setup() {
-	enewgroup gdm
-	enewgroup video # Just in case it hasn't been created yet
-	enewuser gdm -1 -1 /var/lib/gdm gdm,video
-
-	# For compatibility with certain versions of nvidia-drivers, etc., need to
-	# ensure that gdm user is in the video group
-	if ! egetent group video | grep -q gdm; then
-		# FIXME XXX: is this at all portable, ldap-safe, etc.?
-		# XXX: egetent does not have a 1-argument form, so we can't use it to
-		# get the list of gdm's groups
-		local g=$(groups gdm)
-		elog "Adding user gdm to video group"
-		usermod -G video,${g// /,} gdm || die "Adding user gdm to video group failed"
-	fi
-}
-
-src_prepare() {
-	DOCS="AUTHORS ChangeLog NEWS README TODO"
-
-	# PAM is the only auth scheme supported
-	# even though configure lists shadow and crypt
-	# they don't have any corresponding code.
-	# --with-at-spi-registryd-directory= needs to be passed explicitly because
-	# of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
-	G2CONF="${G2CONF}
-		--disable-static
-		--localstatedir=${EPREFIX}/var
-		--with-xdmcp=yes
-		--enable-authentication-scheme=pam
-		--with-pam-prefix=${EPREFIX}/etc
-		--with-default-pam-config=none
-		--with-at-spi-registryd-directory=${EPREFIX}/usr/libexec
-		--with-initial-vt=7
-		$(use_with accessibility xevie)
-		$(use_with audit libaudit)
-		$(use_enable ipv6)
-		$(use_with consolekit console-kit)
-		$(use_with plymouth)
-		$(use_with selinux)
-		$(use_with systemd)
-		$(use_with tcpd tcp-wrappers)
-		$(use_with xinerama)"
-	[[ ${PV} != 9999 ]] && G2CONF="${G2CONF} ITSTOOL=$(type -P true)"
-
-	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
-	# XXX: We can now pass a hard-coded initial value; temporary fix
-	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
-
-	# daemonize so that the boot process can continue, bug #236701
-	epatch "${FILESDIR}/${PN}-3.6.0-fix-daemonize-regression.patch"
-
-	# make custom session work, bug #216984
-	epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch"
-
-	# ssh-agent handling must be done at xinitrc.d, bug #220603
-	epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
-
-	# automagic selinux :/
-	epatch "${FILESDIR}/${PN}-3.6.0-selinux-automagic.patch"
-
-	# don't load accessibility support at runtime when USE=-accessibility
-	use accessibility || epatch "${FILESDIR}/${PN}-3.3.92.1-disable-accessibility.patch"
-
-	# make gdm-fallback session the default if USE=-gnome-shell
-	if ! use gnome-shell; then
-		sed -e "s:'gdm-shell':'gdm-fallback':" \
-			-i data/00-upstream-settings || die "sed failed"
-	fi
-
-	if [[ ${PV} != 9999 ]]; then
-		mkdir -p "${S}"/m4
-		eautoreconf
-	fi
-
-	gnome2_src_prepare
-}
-
-src_install() {
-	gnome2_src_install
-
-	# our x11's scripts point to /usr/bin/gdm
-	dosym /usr/sbin/gdm-binary /usr/bin/gdm
-
-	# log, etc.
-	keepdir /var/log/gdm
-
-	# gdm user's home directory
-	keepdir /var/lib/gdm
-	fowners gdm:gdm /var/lib/gdm
-
-	# install XDG_DATA_DIRS gdm changes
-	echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm
-	doenvd 99xdg-gdm
-
-	cd "${WORKDIR}/${G_P}"
-	local LDAP
-	use ldap && LDAP=yes
-	emake GDM_WELCOME="gdm-launch-environment" LDAP=${LDAP} EPREFIX="${EPREFIX}" \
-		SYSTEMD_UNITDIR="$(systemd_get_unitdir)" DESTDIR="${D}" install
-}
-
-pkg_postinst() {
-	local d ret
-
-	gnome2_pkg_postinst
-
-	dbus-launch dconf update || die "'dconf update' failed"
-
-	# bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm
-	ret=0
-	ebegin "Fixing ${EROOT}var/lib/gdm ownership"
-	chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1
-	for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do
-		[[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1
-	done
-	eend ${ret}
-
-	elog "To make GDM start at boot, edit /etc/conf.d/xdm"
-	elog "and then execute 'rc-update add xdm default'."
-	elog "If you already have GDM running, you will need to restart it."
-
-	elog
-	elog "GDM ignores most non-localization environment variables. If you"
-	elog "need GDM to launch gnome-session with a particular environment,"
-	elog "you need to use pam_env.so in /etc/pam.d/gdm-welcome; see"
-	elog "the pam_env man page for more information."
-	elog
-
-	if has_version sys-auth/pambase[gnome-keyring]; then
-		elog "For passwordless login to unlock your keyring, you need to set an"
-		elog "empty password on your keyring. Use app-crypt/seahorse for that."
-	else
-		elog "To unlock your keyring on login, install sys-auth/pambase"
-		elog "with USE=gnome-keyring"
-	fi
-
-	if [[ -f "/etc/X11/gdm/gdm.conf" ]]; then
-		elog "You had /etc/X11/gdm/gdm.conf which is the old configuration"
-		elog "file.  It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16"
-		mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16
-	fi
-
-	# https://bugzilla.redhat.com/show_bug.cgi?id=513579
-	# Lennart says this problem is fixed, but users are still reporting problems
-	# XXX: Do we want this elog?
-#	if has_version "media-libs/libcanberra[pulseaudio]" ; then
-#		elog
-#		elog "You have media-libs/libcanberra with the pulseaudio USE flag"
-#		elog "enabled. GDM will start a pulseaudio process to play sounds. This"
-#		elog "process should automatically terminate when a user logs into a"
-#		elog "desktop session. If GDM's pulseaudio fails to terminate and"
-#		elog "causes problems for users' audio, you can prevent GDM from"
-#		elog "starting pulseaudio by editing /var/lib/gdm/.pulse/client.conf"
-#		elog "so it contains the following two lines:"
-#		elog
-#		elog "autospawn = no"
-#		elog "daemon-binary = /bin/true"
-#	fi
-}
-
-pkg_postrm() {
-	gnome2_pkg_postrm
-
-	if rc-config list default | grep -q xdm; then
-		elog "To remove GDM from startup please execute"
-		elog "'rc-update del xdm default'"
-	fi
-}

diff --git a/gnome-base/gdm/gdm-9999.ebuild b/gnome-base/gdm/gdm-9999.ebuild
index fa78d1f..a6d50f2 100644
--- a/gnome-base/gdm/gdm-9999.ebuild
+++ b/gnome-base/gdm/gdm-9999.ebuild
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
-EAPI="4"
+EAPI="5"
 GNOME2_LA_PUNT="yes"
 
 inherit autotools eutils gnome2 pam systemd user
@@ -31,24 +31,23 @@ fi
 # dconf, dbus and g-s-d are needed at install time for dconf update
 # libdaemon needed for our fix-daemonize-regression.patch
 COMMON_DEPEND="
+	app-text/iso-codes
 	>=dev-libs/glib-2.33.2:2
 	>=x11-libs/gtk+-2.91.1:3
+	dev-libs/libdaemon
 	>=x11-libs/pango-1.3
 	dev-libs/nspr
 	>=dev-libs/nss-3.11.1
-	>=media-libs/fontconfig-2.5.0
-	>=media-libs/libcanberra-0.4[gtk3]
-	>=x11-misc/xdg-utils-1.0.2-r3
-	>=sys-power/upower-0.9
-	>=sys-apps/accountsservice-0.6.12
-
 	>=gnome-base/dconf-0.11.6
 	>=gnome-base/gnome-settings-daemon-3.1.4
 	gnome-base/gsettings-desktop-schemas
+	>=media-libs/fontconfig-2.5.0
+	>=media-libs/libcanberra-0.4[gtk3]
 	sys-apps/dbus
+	>=sys-apps/accountsservice-0.6.12
+	>=sys-power/upower-0.9
 
-	app-text/iso-codes
-
+	x11-apps/sessreg
 	x11-base/xorg-server
 	x11-libs/libXi
 	x11-libs/libXau
@@ -57,22 +56,21 @@ COMMON_DEPEND="
 	x11-libs/libXext
 	x11-libs/libXft
 	x11-libs/libXrandr
-	x11-apps/sessreg
+	>=x11-misc/xdg-utils-1.0.2-r3
 
 	virtual/pam
 	sys-auth/pambase[consolekit?,systemd?]
 
-	dev-libs/libdaemon
-
 	accessibility? ( x11-libs/libXevie )
 	audit? ( sys-process/audit )
 	consolekit? ( sys-auth/consolekit[pam] )
 	introspection? ( >=dev-libs/gobject-introspection-0.9.12 )
 	plymouth? ( sys-boot/plymouth )
 	selinux? ( sys-libs/libselinux )
-	systemd? ( >=sys-apps/systemd-39[pam] )
+	systemd? ( >=sys-apps/systemd-186[pam] )
 	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
-	xinerama? ( x11-libs/libXinerama )"
+	xinerama? ( x11-libs/libXinerama )
+"
 # XXX: These deps are from session and desktop files in data/ directory
 # at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser)
 # fprintd is used via dbus by gdm-fingerprint-extension
@@ -98,16 +96,18 @@ RDEPEND="${COMMON_DEPEND}
 		app-crypt/coolkey
 		sys-auth/pam_pkcs11 )
 
-	!gnome-extra/fast-user-switch-applet"
+	!gnome-extra/fast-user-switch-applet
+"
 DEPEND="${COMMON_DEPEND}
-	test? ( >=dev-libs/check-0.9.4 )
-	xinerama? ( x11-proto/xineramaproto )
 	app-text/docbook-xml-dtd:4.1.2
+	>=dev-util/intltool-0.40.0
 	>=sys-devel/gettext-0.17
+	virtual/pkgconfig
 	x11-proto/inputproto
 	x11-proto/randrproto
-	>=dev-util/intltool-0.40.0
-	virtual/pkgconfig"
+	test? ( >=dev-libs/check-0.9.4 )
+	xinerama? ( x11-proto/xineramaproto )
+"
 
 if [[ ${PV} = 9999 ]]; then
 	DEPEND="${DEPEND}
@@ -132,33 +132,6 @@ pkg_setup() {
 }
 
 src_prepare() {
-	DOCS="AUTHORS ChangeLog NEWS README TODO"
-
-	# PAM is the only auth scheme supported
-	# even though configure lists shadow and crypt
-	# they don't have any corresponding code.
-	# --with-at-spi-registryd-directory= needs to be passed explicitly because
-	# of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
-	G2CONF="${G2CONF}
-		--disable-static
-		--localstatedir=${EPREFIX}/var
-		--with-xdmcp=yes
-		--enable-authentication-scheme=pam
-		--with-pam-prefix=${EPREFIX}/etc
-		--with-default-pam-config=none
-		--with-at-spi-registryd-directory=${EPREFIX}/usr/libexec
-		--with-initial-vt=7
-		$(use_with accessibility xevie)
-		$(use_with audit libaudit)
-		$(use_enable ipv6)
-		$(use_with consolekit console-kit)
-		$(use_with plymouth)
-		$(use_with selinux)
-		$(use_with systemd)
-		$(use_with tcpd tcp-wrappers)
-		$(use_with xinerama)"
-	[[ ${PV} != 9999 ]] && G2CONF="${G2CONF} ITSTOOL=$(type -P true)"
-
 	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
 	# XXX: We can now pass a hard-coded initial value; temporary fix
 	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
@@ -192,6 +165,37 @@ src_prepare() {
 	gnome2_src_prepare
 }
 
+src_configure() {
+	DOCS="AUTHORS ChangeLog NEWS README TODO"
+
+	# PAM is the only auth scheme supported
+	# even though configure lists shadow and crypt
+	# they don't have any corresponding code.
+	# --with-at-spi-registryd-directory= needs to be passed explicitly because
+	# of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
+	G2CONF="${G2CONF}
+		--disable-static
+		--localstatedir=${EPREFIX}/var
+		--with-xdmcp=yes
+		--enable-authentication-scheme=pam
+		--with-pam-prefix=${EPREFIX}/etc
+		--with-default-pam-config=none
+		--with-at-spi-registryd-directory=${EPREFIX}/usr/libexec
+		--with-initial-vt=7
+		$(use_with accessibility xevie)
+		$(use_with audit libaudit)
+		$(use_enable ipv6)
+		$(use_with consolekit console-kit)
+		$(use_with plymouth)
+		$(use_with selinux)
+		$(use_with systemd)
+		$(systemd_with_unitdir)
+		$(use_with tcpd tcp-wrappers)
+		$(use_with xinerama)"
+	[[ ${PV} != 9999 ]] && G2CONF="${G2CONF} ITSTOOL=$(type -P true)"
+	gnome2_src_configure
+}
+
 src_install() {
 	gnome2_src_install
 
@@ -256,23 +260,6 @@ pkg_postinst() {
 		elog "file.  It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16"
 		mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16
 	fi
-
-	# https://bugzilla.redhat.com/show_bug.cgi?id=513579
-	# Lennart says this problem is fixed, but users are still reporting problems
-	# XXX: Do we want this elog?
-#	if has_version "media-libs/libcanberra[pulseaudio]" ; then
-#		elog
-#		elog "You have media-libs/libcanberra with the pulseaudio USE flag"
-#		elog "enabled. GDM will start a pulseaudio process to play sounds. This"
-#		elog "process should automatically terminate when a user logs into a"
-#		elog "desktop session. If GDM's pulseaudio fails to terminate and"
-#		elog "causes problems for users' audio, you can prevent GDM from"
-#		elog "starting pulseaudio by editing /var/lib/gdm/.pulse/client.conf"
-#		elog "so it contains the following two lines:"
-#		elog
-#		elog "autospawn = no"
-#		elog "daemon-binary = /bin/true"
-#	fi
 }
 
 pkg_postrm() {

diff --git a/gnome-base/gdm/metadata.xml b/gnome-base/gdm/metadata.xml
index 7912955..c8518f8 100644
--- a/gnome-base/gdm/metadata.xml
+++ b/gnome-base/gdm/metadata.xml
@@ -12,8 +12,6 @@
 		<pkg>sys-auth/fprintd</pkg></flag>
     <flag name="gnome-shell">Enables a greeter based on GNOME Shell (uses
 		OpenGL)</flag>
-    <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg>
-		for introspection</flag>
     <flag name="plymouth">Enable support for smooth transition from
 		<pkg>sys-boot/plymouth</pkg></flag>
     <flag name="smartcard">Enables experimental smartcard authentication</flag>


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
@ 2013-12-11 23:44 Gilles Dartiguelongue
  0 siblings, 0 replies; 14+ messages in thread
From: Gilles Dartiguelongue @ 2013-12-11 23:44 UTC (permalink / raw
  To: gentoo-commits

commit:     8bf7c2d832f2f8eb6861481a48e241fb9b8a2bf7
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 10 23:30:17 2013 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 23:43:44 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=8bf7c2d8

gnome-base/gdm: 3.8.4-r3 → 3.10.0.1

* fallback, gnome-shell make no sense anymore, there is no fallback
* refresh accessibility dependency to match gtk3 only nature of the
  greeter and match items in the accessibility menu

---
 gnome-base/gdm/files/49-keychain-r1                |   9 +
 gnome-base/gdm/files/50-ssh-agent-r1               |  10 +
 .../gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch   |  14 +-
 .../gdm/files/gdm-3.2.1.1-custom-session.patch     |  10 +-
 .../files/gdm-3.3.92.1-disable-accessibility.patch |  30 ---
 .../files/gdm-3.6.0-fix-daemonize-regression.patch | 192 -----------------
 .../gdm/files/gdm-3.6.0-selinux-automagic.patch    |  31 ---
 .../gdm/files/gdm-3.8.4-fingerprint-auth.patch     |  29 +++
 gnome-base/gdm/files/gdm-3.8.4-logo.patch          |  25 +++
 gnome-base/gdm/gdm-3.10.0.1.ebuild                 | 227 +++++++++++++++++++++
 gnome-base/gdm/gdm-9999.ebuild                     | 181 +++++++---------
 gnome-base/gdm/metadata.xml                        |   6 -
 12 files changed, 389 insertions(+), 375 deletions(-)

diff --git a/gnome-base/gdm/files/49-keychain-r1 b/gnome-base/gdm/files/49-keychain-r1
new file mode 100644
index 0000000..51a1ca8
--- /dev/null
+++ b/gnome-base/gdm/files/49-keychain-r1
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+# source keychain variables
+
+keychain="`which keychain 2>/dev/null`"
+if [ -n "$keychain" ] && [ -x "$keychain" ] && [ -f "$HOME/.bash_profile" ]
+then
+	. "${HOME}/.bash_profile"
+fi

diff --git a/gnome-base/gdm/files/50-ssh-agent-r1 b/gnome-base/gdm/files/50-ssh-agent-r1
new file mode 100644
index 0000000..4d94fb0
--- /dev/null
+++ b/gnome-base/gdm/files/50-ssh-agent-r1
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# add ssh-agent if found
+
+sshagent="`which ssh-agent 2>/dev/null`"
+if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+	command="$sshagent -- $command"
+elif [ -z "$sshagent" ] ; then
+	echo "$0: ssh-agent not found!"
+fi

diff --git a/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch b/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
index b1cddf1..bfd8398 100644
--- a/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
+++ b/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
@@ -1,18 +1,18 @@
-From 1cb1841da3a8fedc1671637e2828d5e361af21fa Mon Sep 17 00:00:00 2001
+From c0581264d5e2b412aa27dc30623512b461024e4f Mon Sep 17 00:00:00 2001
 From: Gilles Dartiguelongue <eva@gentoo.org>
 Date: Tue, 2 Nov 2010 23:19:31 +0100
-Subject: [PATCH 5/6] ssh-agent handling must be done at xinitrc.d
+Subject: [PATCH 2/4] ssh-agent handling must be done at xinitrc.d
 
 Gentoo bug: #220603
 ---
- data/Xsession.in |    8 --------
- 1 files changed, 0 insertions(+), 8 deletions(-)
+ data/Xsession.in | 8 --------
+ 1 file changed, 8 deletions(-)
 
 diff --git a/data/Xsession.in b/data/Xsession.in
-index 0da187d..aa49b90 100755
+index 201be92..88f1fd9 100755
 --- a/data/Xsession.in
 +++ b/data/Xsession.in
-@@ -189,14 +189,6 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then
+@@ -191,14 +191,6 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then
      done
  fi
  
@@ -28,5 +28,5 @@ index 0da187d..aa49b90 100755
  
  eval exec $command
 -- 
-1.7.3.1
+1.8.5.1
 

diff --git a/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch b/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
index 0642f7c..c27f8fd 100644
--- a/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
+++ b/gnome-base/gdm/files/gdm-3.2.1.1-custom-session.patch
@@ -1,14 +1,14 @@
-From b96c19976b6876648fd91949f78f06cf5d269b18 Mon Sep 17 00:00:00 2001
+From e61ece2b42b270dd3f68718fef291be7b7f44aa6 Mon Sep 17 00:00:00 2001
 From: Gilles Dartiguelongue <eva@gentoo.org>
 Date: Tue, 2 Nov 2010 23:19:07 +0100
-Subject: [PATCH] make custom session work
+Subject: [PATCH 1/4] make custom session work
 
 Gentoo bug: #216984
 
 fix custom sessions not doing sourcing in the proper order.
 ---
- data/Xsession.in |   18 +++++++++---------
- 1 files changed, 9 insertions(+), 9 deletions(-)
+ data/Xsession.in | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
 
 diff --git a/data/Xsession.in b/data/Xsession.in
 index 118518c..201be92 100755
@@ -47,5 +47,5 @@ index 118518c..201be92 100755
  sshagent="`gdmwhich ssh-agent`"
  if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
 -- 
-1.7.7
+1.8.5.1
 

diff --git a/gnome-base/gdm/files/gdm-3.3.92.1-disable-accessibility.patch b/gnome-base/gdm/files/gdm-3.3.92.1-disable-accessibility.patch
deleted file mode 100644
index 1df7e58..0000000
--- a/gnome-base/gdm/files/gdm-3.3.92.1-disable-accessibility.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Naur gdm-3.3.92.1//data/00-upstream-settings gdm-3.3.92.1.new//data/00-upstream-settings
---- gdm-3.3.92.1//data/00-upstream-settings	2012-02-08 04:50:32.000000000 +0530
-+++ gdm-3.3.92.1.new//data/00-upstream-settings	2012-03-25 14:24:01.387842352 +0530
-@@ -7,7 +7,7 @@
- #
- 
- [org/gnome/desktop/a11y/keyboard]
--enable=true
-+enable=false
- 
- [org/gnome/desktop/background]
- show-desktop-icons=false
-@@ -16,7 +16,7 @@
- exec='/bin/true'
- 
- [org/gnome/desktop/interface]
--toolkit-accessibility=true
-+toolkit-accessibility=false
- 
- [org/gnome/desktop/lockdown]
- disable-application-handlers=true
-@@ -35,7 +35,7 @@
- event-sounds=true
- 
- [org/gnome/settings-daemon/plugins/a11y-keyboard]
--active=true
-+active=false
- 
- [org/gnome/settings-daemon/plugins/a11y-settings]
- active=false

diff --git a/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch
deleted file mode 100644
index 27f2079..0000000
--- a/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From 722d31dc8823090b651b103f0194b6380f2d458e Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Tue, 25 Sep 2012 22:30:29 -0400
-Subject: [PATCH] daemonize so that the boot process can continue
-
-Gentoo bug: #236701
-
-Based on original patch by Dan Nicholson <dbn.lists@gmail.com> and
-Gilles Dartiguelongue <eva@gentoo.org>.
-
-Fork gdm-binary, except when -nodaemon is used
-
-Makes the gdm main binary fork and daemonize unless the -nodaemon or
---nodaemon options are used. Provides compatibility with xdm. Fixes
-bug #550170.
-
-In daemonized mode, start a new process group, and kill it in our signal
-handlers, so that killing gdm kills its spawned processes, and so that
-"/etc/init.d/xdm stop" actually works.
----
- configure.ac       |  4 ++++
- daemon/Makefile.am |  1 +
- daemon/main.c      | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 65 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 61a43d6..a851ba5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -99,6 +99,10 @@ PKG_CHECK_MODULES(DAEMON,
- AC_SUBST(DAEMON_CFLAGS)
- AC_SUBST(DAEMON_LIBS)
- 
-+PKG_CHECK_MODULES(LIBDAEMON, libdaemon)
-+AC_SUBST(LIBDAEMON_CFLAGS)
-+AC_SUBST(LIBDAEMON_LIBS)
-+
- GLIB_GSETTINGS
- 
- PKG_CHECK_MODULES(NSS,
-diff --git a/daemon/Makefile.am b/daemon/Makefile.am
-index bb84765..cf89b47 100644
---- a/daemon/Makefile.am
-+++ b/daemon/Makefile.am
-@@ -380,6 +380,7 @@ gdm_binary_LDADD = \
- 	$(top_builddir)/common/libgdmcommon.la	\
- 	$(XLIB_LIBS)				\
- 	$(DAEMON_LIBS)				\
-+	$(LIBDAEMON_LIBS)			\
- 	$(XDMCP_LIBS)                           \
- 	$(LIBWRAP_LIBS)                         \
- 	$(SYSTEMD_LIBS)				\
-diff --git a/daemon/main.c b/daemon/main.c
-index 3b8572c..c2fe4fe 100644
---- a/daemon/main.c
-+++ b/daemon/main.c
-@@ -34,6 +34,8 @@
- #include <locale.h>
- #include <signal.h>
- 
-+#include <libdaemon/dfork.h>
-+
- #include <glib.h>
- #include <glib/gi18n.h>
- #include <glib/gstdio.h>
-@@ -336,16 +338,26 @@ signal_cb (int      signo,
-            gpointer data)
- {
-         int ret;
-+        static gboolean ignore_signals = FALSE;
- 
-         g_debug ("Got callback for signal %d", signo);
- 
-         ret = TRUE;
- 
-+        /* don't commit suicide before killing everyone in our process group */
-+        if (ignore_signals)
-+                return ret;
-+
-         switch (signo) {
-         case SIGFPE:
-         case SIGPIPE:
-                 /* let the fatal signals interrupt us */
-                 g_debug ("Caught signal %d, shutting down abnormally.", signo);
-+                /* if we daemonized, kill all the processes we spawned */
-+                ignore_signals = TRUE;
-+                kill (-getpid (), signo);
-+                ignore_signals = FALSE;
-+
-                 ret = FALSE;
- 
-                 break;
-@@ -354,6 +366,11 @@ signal_cb (int      signo,
-         case SIGTERM:
-                 /* let the fatal signals interrupt us */
-                 g_debug ("Caught signal %d, shutting down normally.", signo);
-+                /* if we daemonized, kill all the processes we spawned */
-+                ignore_signals = TRUE;
-+                kill (-getpid (), signo);
-+                ignore_signals = FALSE;
-+
-                 ret = FALSE;
- 
-                 break;
-@@ -418,13 +435,16 @@ main (int    argc,
-         GOptionContext     *context;
-         GError             *error;
-         int                 ret;
-+        int                 i;
-         gboolean            res;
-         GdmSignalHandler   *signal_handler;
-         static gboolean     do_timed_exit    = FALSE;
-         static gboolean     print_version    = FALSE;
-         static gboolean     fatal_warnings   = FALSE;
-+        static gboolean     no_daemon        = FALSE;
-         static GOptionEntry entries []   = {
-                 { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
-+                { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
-                 { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
-                 { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
- 
-@@ -439,6 +459,14 @@ main (int    argc,
- 
-         g_type_init ();
- 
-+        /* preprocess the arguments to support the xdm style
-+         * -nodaemon option
-+         */
-+        for (i = 0; i < argc; i++) {
-+                if (strcmp (argv[i], "-nodaemon") == 0)
-+                        argv[i] = "--nodaemon";
-+        }
-+
-         context = g_option_context_new (_("GNOME Display Manager"));
-         g_option_context_add_main_entries (context, entries, NULL);
-         g_option_context_set_ignore_unknown_options (context, TRUE);
-@@ -465,6 +493,33 @@ main (int    argc,
-                 g_log_set_always_fatal (fatal_mask);
-         }
- 
-+        if (!no_daemon) {
-+                pid_t pid;
-+                if (daemon_retval_init () < 0) {
-+                        g_warning ("Failed to create pipe");
-+                        exit (-1);
-+                }
-+                if ((pid = daemon_fork ()) < 0) {
-+                        /* Fork failed */
-+                        daemon_retval_done ();
-+                        exit (1);
-+                } else if (pid) {
-+                        /* Parent process: wait 20s for daemon_retval_send() in the daemon process */
-+                        if ((ret = daemon_retval_wait (20)) < 0) {
-+                            g_warning ("Timed out waiting for daemon process: %s", strerror(errno));
-+                            exit (255);
-+                        } else if (ret > 0) {
-+                            g_warning ("Daemon process returned error code %d", ret);
-+                            exit (ret);
-+                        }
-+                        exit (0);
-+                }
-+                /* Daemon process */
-+                daemon_close_all (-1);
-+                /* Start a new process group so that killing the daemon will kill the processes that it spawned */
-+                setsid ();
-+        }
-+
-         gdm_log_init ();
- 
-         settings = gdm_settings_new ();
-@@ -519,6 +574,9 @@ main (int    argc,
-                 g_timeout_add_seconds (30, (GSourceFunc) timed_exit_cb, main_loop);
-         }
- 
-+        if (!no_daemon)
-+                daemon_retval_send (0);
-+
-         g_main_loop_run (main_loop);
- 
-         g_debug ("GDM finished, cleaning up...");
-@@ -535,6 +593,8 @@ main (int    argc,
-         ret = 0;
- 
-  out:
-+        if (!no_daemon)
-+                daemon_retval_send (ret);
- 
-         return ret;
- }
--- 
-1.7.12
-

diff --git a/gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch b/gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch
deleted file mode 100644
index 035d0fa..0000000
--- a/gnome-base/gdm/files/gdm-3.6.0-selinux-automagic.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8f9bf7b053fc7a6c2e5b33fc43c168ba7250cb98 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Tue, 25 Sep 2012 17:38:37 -0400
-Subject: [PATCH] configure: Make selinux check non-automagic
-
----
- configure.ac | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 80a1fd4..61a43d6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -142,9 +142,13 @@ AC_SUBST(UPOWER)
- AC_SUBST(UPOWER_CFLAGS)
- AC_SUBST(UPOWER_LIBS)
- 
-+AC_ARG_WITH(selinux,
-+	    AS_HELP_STRING([--with-selinux],
-+	                   [Add SELinux support]))
-+
- PKG_CHECK_MODULES(LIBSELINUX, libselinux, have_selinux=yes, have_selinux=no)
- 
--if test "x$have_selinux" = "xyes" ; then
-+if test "x$have_selinux" = "xyes" && test "x$with_selinux" != "xno" ; then
-         AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux])
- fi
- AC_SUBST(LIBSELINUX_CFLAGS)
--- 
-1.7.12
-

diff --git a/gnome-base/gdm/files/gdm-3.8.4-fingerprint-auth.patch b/gnome-base/gdm/files/gdm-3.8.4-fingerprint-auth.patch
new file mode 100644
index 0000000..cd19077
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.8.4-fingerprint-auth.patch
@@ -0,0 +1,29 @@
+From 75fe02c2b383b27b202940bdedd7d8d2c64169fb Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Tue, 30 Jul 2013 22:56:30 -0400
+Subject: [PATCH 3/4] Gentoo does not have a fingerprint-auth pam stack
+
+---
+ data/pam-exherbo/gdm-fingerprint.pam | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/data/pam-exherbo/gdm-fingerprint.pam b/data/pam-exherbo/gdm-fingerprint.pam
+index 41639ec..d9633fb 100644
+--- a/data/pam-exherbo/gdm-fingerprint.pam
++++ b/data/pam-exherbo/gdm-fingerprint.pam
+@@ -1,6 +1,11 @@
+ account  include  system-login
+ 
+-auth     substack fingerprint-auth
++auth     optional pam_env.so
++auth     required pam_tally2.so onerr=succeed
++auth     required pam_shells.so
++auth     required pam_nologin.so
++auth     required pam_fprintd.so
++auth     required pam_permit.so
+ auth     optional pam_gnome_keyring.so
+ 
+ password required pam_deny.so
+-- 
+1.8.5.1
+

diff --git a/gnome-base/gdm/files/gdm-3.8.4-logo.patch b/gnome-base/gdm/files/gdm-3.8.4-logo.patch
new file mode 100644
index 0000000..151d4bc
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-3.8.4-logo.patch
@@ -0,0 +1,25 @@
+From bcc651df77a429a6bf9b13892f71fedb1b87a069 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 11 Dec 2013 22:46:58 +0100
+Subject: [PATCH 4/4] Apply Gentoo branding
+
+---
+ data/org.gnome.login-screen.gschema.xml.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/org.gnome.login-screen.gschema.xml.in b/data/org.gnome.login-screen.gschema.xml.in
+index 03da374..5e81bc0 100644
+--- a/data/org.gnome.login-screen.gschema.xml.in
++++ b/data/org.gnome.login-screen.gschema.xml.in
+@@ -31,7 +31,7 @@
+       </_description>
+     </key>
+     <key name="logo" type="s">
+-      <default>''</default>
++      <default>'/usr/share/pixmaps/gentoo-gdm.svg'</default>
+       <_summary>
+         Path to small image at top of user list
+       </_summary>
+-- 
+1.8.5.1
+

diff --git a/gnome-base/gdm/gdm-3.10.0.1.ebuild b/gnome-base/gdm/gdm-3.10.0.1.ebuild
new file mode 100644
index 0000000..9dd32a2
--- /dev/null
+++ b/gnome-base/gdm/gdm-3.10.0.1.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools eutils gnome2 pam readme.gentoo systemd user
+
+DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins"
+HOMEPAGE="https://wiki.gnome.org/GDM"
+
+SRC_URI="${SRC_URI}
+	branding? ( http://www.mail-archive.com/tango-artists@lists.freedesktop.org/msg00043/tango-gentoo-v1.1.tar.gz )
+"
+
+LICENSE="
+	GPL-2+
+	branding? ( CC-Sampling-Plus-1.0 )
+"
+
+SLOT="0"
+IUSE="accessibility audit branding fprint +introspection ipv6 plymouth selinux smartcard +systemd tcpd test xinerama"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
+
+# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
+# nspr used by smartcard extension
+# dconf, dbus and g-s-d are needed at install time for dconf update
+# We need either systemd or >=openrc-0.12 to restart gdm properly, bug #463784
+COMMON_DEPEND="
+	app-text/iso-codes
+	>=dev-libs/glib-2.35:2
+	>=x11-libs/gtk+-2.91.1:3
+	>=gnome-base/dconf-0.11.6
+	>=gnome-base/gnome-settings-daemon-3.1.4
+	gnome-base/gsettings-desktop-schemas
+	>=media-libs/fontconfig-2.5.0
+	>=media-libs/libcanberra-0.4[gtk3]
+	sys-apps/dbus
+	>=sys-apps/accountsservice-0.6.12
+
+	x11-apps/sessreg
+	x11-base/xorg-server
+	x11-libs/libXi
+	x11-libs/libXau
+	x11-libs/libX11
+	x11-libs/libXdmcp
+	x11-libs/libXext
+	x11-libs/libXft
+	x11-libs/libXrandr
+	>=x11-misc/xdg-utils-1.0.2-r3
+
+	virtual/pam
+	systemd? ( >=sys-apps/systemd-186[pam] )
+	!systemd? (
+		>=x11-base/xorg-server-1.14.3-r1
+		sys-auth/consolekit
+		!<sys-apps/openrc-0.12
+	)
+	sys-auth/pambase[systemd?]
+
+	audit? ( sys-process/audit )
+	introspection? ( >=dev-libs/gobject-introspection-0.9.12 )
+	plymouth? ( sys-boot/plymouth )
+	selinux? ( sys-libs/libselinux )
+	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+	xinerama? ( x11-libs/libXinerama )
+"
+# XXX: These deps are from session and desktop files in data/ directory
+# fprintd is used via dbus by gdm-fingerprint-extension
+# gnome-session-3.6 needed to avoid freezing with orca
+RDEPEND="${COMMON_DEPEND}
+	>=gnome-base/gnome-session-3.6
+	>=gnome-base/gnome-shell-3.1.90
+	gnome-extra/polkit-gnome:0
+	x11-apps/xhost
+	x11-themes/gnome-icon-theme-symbolic
+
+	accessibility? (
+		>=app-accessibility/orca-3.10
+		app-accessibility/caribou
+		gnome-extra/mousetweaks )
+	fprint? (
+		sys-auth/fprintd
+		sys-auth/pam_fprint )
+	smartcard? (
+		app-crypt/coolkey
+		sys-auth/pam_pkcs11 )
+
+	!gnome-extra/fast-user-switch-applet
+"
+DEPEND="${COMMON_DEPEND}
+	app-text/docbook-xml-dtd:4.1.2
+	>=dev-util/intltool-0.40.0
+	>=sys-devel/gettext-0.17
+	virtual/pkgconfig
+	x11-proto/inputproto
+	x11-proto/randrproto
+	test? ( >=dev-libs/check-0.9.4 )
+	xinerama? ( x11-proto/xineramaproto )
+"
+
+DOC_CONTENTS="
+	To make GDM start at boot, run:\n
+	# systemctl enable gdm.service\n
+	\n
+	For passwordless login to unlock your keyring, you need to install
+	sys-auth/pambase with USE=gnome-keyring and set an empty password
+	on your keyring. Use app-crypt/seahorse for that.
+"
+
+pkg_setup() {
+	enewgroup gdm
+	enewgroup video # Just in case it hasn't been created yet
+	enewuser gdm -1 -1 /var/lib/gdm gdm,video
+
+	# For compatibility with certain versions of nvidia-drivers, etc., need to
+	# ensure that gdm user is in the video group
+	if ! egetent group video | grep -q gdm; then
+		# FIXME XXX: is this at all portable, ldap-safe, etc.?
+		# XXX: egetent does not have a 1-argument form, so we can't use it to
+		# get the list of gdm's groups
+		local g=$(groups gdm)
+		elog "Adding user gdm to video group"
+		usermod -G video,${g// /,} gdm || die "Adding user gdm to video group failed"
+	fi
+}
+
+src_prepare() {
+	# make custom session work, bug #216984
+	epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch"
+
+	# ssh-agent handling must be done at xinitrc.d, bug #220603
+	epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
+
+	# Gentoo does not have a fingerprint-auth pam stack
+	epatch "${FILESDIR}/${PN}-3.8.4-fingerprint-auth.patch"
+
+	# Show logo when branding is enabled
+	use branding && epatch "${FILESDIR}/${PN}-3.8.4-logo.patch"
+
+	eautoreconf
+
+	gnome2_src_prepare
+}
+
+src_configure() {
+	# PAM is the only auth scheme supported
+	# even though configure lists shadow and crypt
+	# they don't have any corresponding code.
+	# --with-at-spi-registryd-directory= needs to be passed explicitly because
+	# of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
+	# Xevie is obsolete, bug #482304
+	gnome2_src_configure \
+		--with-run-dir=/run/gdm \
+		--localstatedir="${EPREFIX}"/var \
+		--disable-static \
+		--with-xdmcp=yes \
+		--enable-authentication-scheme=pam \
+		--with-default-pam-config=exherbo \
+		--with-at-spi-registryd-directory="${EPREFIX}"/usr/libexec \
+		--with-initial-vt=7 \
+		--without-xevie \
+		$(use_with audit libaudit) \
+		$(use_enable ipv6) \
+		$(use_with plymouth) \
+		$(use_with selinux) \
+		$(use_with systemd) \
+		$(use_with !systemd console-kit) \
+		$(use_enable systemd systemd-journal) \
+		$(systemd_with_unitdir) \
+		$(use_with tcpd tcp-wrappers) \
+		$(use_with xinerama) \
+		ITSTOOL=$(type -P true)
+}
+
+src_install() {
+	gnome2_src_install
+
+	if ! use accessibility ; then
+		rm "${ED}"/usr/share/gdm/greeter/autostart/orca-autostart.desktop || die
+	fi
+
+	insinto /etc/X11/xinit/xinitrc.d
+	newins "${FILESDIR}/49-keychain-r1" 49-keychain
+	newins "${FILESDIR}/50-ssh-agent-r1" 50-ssh-agent
+
+	# log, etc.
+	keepdir /var/log/gdm
+
+	# gdm user's home directory
+	keepdir /var/lib/gdm
+	fowners gdm:gdm /var/lib/gdm
+
+	# install XDG_DATA_DIRS gdm changes
+	echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm
+	doenvd 99xdg-gdm
+
+	use branding && newicon "${WORKDIR}/tango-gentoo-v1.1/scalable/gentoo.svg" gentoo-gdm.svg
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	local d ret
+
+	gnome2_pkg_postinst
+
+	dbus-launch dconf update || die "'dconf update' failed"
+
+	# bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm
+	ret=0
+	ebegin "Fixing "${EROOT}"var/lib/gdm ownership"
+	chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1
+	for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do
+		[[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1
+	done
+	eend ${ret}
+
+	readme.gentoo_print_elog
+
+	if [[ -f "/etc/X11/gdm/gdm.conf" ]]; then
+		elog "You had /etc/X11/gdm/gdm.conf which is the old configuration"
+		elog "file.  It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16"
+		mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16
+	fi
+}

diff --git a/gnome-base/gdm/gdm-9999.ebuild b/gnome-base/gdm/gdm-9999.ebuild
index 15c6856..c19d94d 100644
--- a/gnome-base/gdm/gdm-9999.ebuild
+++ b/gnome-base/gdm/gdm-9999.ebuild
@@ -1,43 +1,43 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $
 
 EAPI="5"
 GNOME2_LA_PUNT="yes"
 
-inherit autotools eutils gnome2 pam systemd user
+inherit autotools eutils gnome2 pam readme.gentoo systemd user
 if [[ ${PV} = 9999 ]]; then
 	inherit gnome2-live
 fi
 
-G_PV="2012.09.25"
-G_P="gdm-gentoo-${G_PV}"
-DESCRIPTION="GNOME Display Manager"
-HOMEPAGE="https://live.gnome.org/GDM"
+DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins"
+HOMEPAGE="https://wiki.gnome.org/GDM"
+
 SRC_URI="${SRC_URI}
-	http://dev.gentoo.org/~tetromino/distfiles/${PN}/${G_P}.tar.xz"
+	branding? ( http://www.mail-archive.com/tango-artists@lists.freedesktop.org/msg00043/tango-gentoo-v1.1.tar.gz )
+"
+
+LICENSE="
+	GPL-2+
+	branding? ( CC-Sampling-Plus-1.0 )
+"
 
-LICENSE="GPL-2+"
 SLOT="0"
-IUSE="accessibility audit +consolekit +fallback fprint +gnome-shell +introspection ipv6 ldap plymouth selinux smartcard systemd tcpd test xinerama"
+IUSE="accessibility audit branding fprint +introspection ipv6 plymouth selinux smartcard +systemd tcpd test xinerama"
 if [[ ${PV} = 9999 ]]; then
 	KEYWORDS=""
 else
-	KEYWORDS="~amd64 ~sh ~x86"
+	KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
 fi
 
 # NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686
 # nspr used by smartcard extension
 # dconf, dbus and g-s-d are needed at install time for dconf update
-# libdaemon needed for our fix-daemonize-regression.patch
+# We need either systemd or >=openrc-0.12 to restart gdm properly, bug #463784
 COMMON_DEPEND="
 	app-text/iso-codes
-	>=dev-libs/glib-2.33.2:2
+	>=dev-libs/glib-2.35:2
 	>=x11-libs/gtk+-2.91.1:3
-	dev-libs/libdaemon
-	>=x11-libs/pango-1.3
-	dev-libs/nspr
-	>=dev-libs/nss-3.11.1
 	>=gnome-base/dconf-0.11.6
 	>=gnome-base/gnome-settings-daemon-3.1.4
 	gnome-base/gsettings-desktop-schemas
@@ -45,7 +45,6 @@ COMMON_DEPEND="
 	>=media-libs/libcanberra-0.4[gtk3]
 	sys-apps/dbus
 	>=sys-apps/accountsservice-0.6.12
-	>=sys-power/upower-0.9
 
 	x11-apps/sessreg
 	x11-base/xorg-server
@@ -59,39 +58,38 @@ COMMON_DEPEND="
 	>=x11-misc/xdg-utils-1.0.2-r3
 
 	virtual/pam
+	systemd? ( >=sys-apps/systemd-186[pam] )
+	!systemd? (
+		>=x11-base/xorg-server-1.14.3-r1
+		sys-auth/consolekit
+		!<sys-apps/openrc-0.12
+	)
 	sys-auth/pambase[systemd?]
 
-	accessibility? ( x11-libs/libXevie )
 	audit? ( sys-process/audit )
-	consolekit? ( sys-auth/consolekit )
 	introspection? ( >=dev-libs/gobject-introspection-0.9.12 )
 	plymouth? ( sys-boot/plymouth )
 	selinux? ( sys-libs/libselinux )
-	systemd? ( >=sys-apps/systemd-186[pam] )
 	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
 	xinerama? ( x11-libs/libXinerama )
 "
 # XXX: These deps are from session and desktop files in data/ directory
-# at-spi:1 is needed for at-spi-registryd (spawned by simple-chooser)
 # fprintd is used via dbus by gdm-fingerprint-extension
 # gnome-session-3.6 needed to avoid freezing with orca
 RDEPEND="${COMMON_DEPEND}
 	>=gnome-base/gnome-session-3.6
+	>=gnome-base/gnome-shell-3.1.90
+	gnome-extra/polkit-gnome:0
 	x11-apps/xhost
 	x11-themes/gnome-icon-theme-symbolic
 
 	accessibility? (
-		app-accessibility/gnome-mag
-		app-accessibility/gok
-		app-accessibility/orca
-		gnome-extra/at-spi:1 )
-	consolekit? ( gnome-extra/polkit-gnome )
-	fallback? ( x11-wm/metacity )
+		>=app-accessibility/orca-3.10
+		app-accessibility/caribou
+		gnome-extra/mousetweaks )
 	fprint? (
 		sys-auth/fprintd
 		sys-auth/pam_fprint )
-	gnome-shell? ( >=gnome-base/gnome-shell-3.1.90 )
-	!gnome-shell? ( x11-wm/metacity )
 	smartcard? (
 		app-crypt/coolkey
 		sys-auth/pam_pkcs11 )
@@ -114,6 +112,15 @@ if [[ ${PV} = 9999 ]]; then
 		app-text/yelp-tools"
 fi
 
+DOC_CONTENTS="
+	To make GDM start at boot, run:\n
+	# systemctl enable gdm.service\n
+	\n
+	For passwordless login to unlock your keyring, you need to install
+	sys-auth/pambase with USE=gnome-keyring and set an empty password
+	on your keyring. Use app-crypt/seahorse for that.
+"
+
 pkg_setup() {
 	enewgroup gdm
 	enewgroup video # Just in case it hasn't been created yet
@@ -132,33 +139,19 @@ pkg_setup() {
 }
 
 src_prepare() {
-	# GDM grabs VT2 instead of VT7, bug 261339, bug 284053, bug 288852
-	# XXX: We can now pass a hard-coded initial value; temporary fix
-	#epatch "${FILESDIR}/${PN}-2.32.0-fix-vt-problems.patch"
-
-	# daemonize so that the boot process can continue, bug #236701
-	epatch "${FILESDIR}/${PN}-3.6.0-fix-daemonize-regression.patch"
-
 	# make custom session work, bug #216984
 	epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch"
 
 	# ssh-agent handling must be done at xinitrc.d, bug #220603
 	epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch"
 
-	# automagic selinux :/
-	epatch "${FILESDIR}/${PN}-3.6.0-selinux-automagic.patch"
+	# Gentoo does not have a fingerprint-auth pam stack
+	epatch "${FILESDIR}/${PN}-3.8.4-fingerprint-auth.patch"
 
-	# don't load accessibility support at runtime when USE=-accessibility
-	use accessibility || epatch "${FILESDIR}/${PN}-3.3.92.1-disable-accessibility.patch"
-
-	# make gdm-fallback session the default if USE=-gnome-shell
-	if ! use gnome-shell; then
-		sed -e "s:'gdm-shell':'gdm-fallback':" \
-			-i data/00-upstream-settings || die "sed failed"
-	fi
+	# Show logo when branding is enabled
+	use branding && epatch "${FILESDIR}/${PN}-3.8.4-logo.patch"
 
 	if [[ ${PV} != 9999 ]]; then
-		mkdir -p "${S}"/m4
 		eautoreconf
 	fi
 
@@ -166,41 +159,49 @@ src_prepare() {
 }
 
 src_configure() {
-	DOCS="AUTHORS ChangeLog NEWS README TODO"
+	local myconf=""
+
+	[[ ${PV} != 9999 ]] && myconf="ITSTOOL=$(type -P true)"
 
 	# PAM is the only auth scheme supported
 	# even though configure lists shadow and crypt
 	# they don't have any corresponding code.
 	# --with-at-spi-registryd-directory= needs to be passed explicitly because
 	# of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4
-	G2CONF="${G2CONF}
-		--disable-static
-		--localstatedir=${EPREFIX}/var
-		--with-xdmcp=yes
-		--enable-authentication-scheme=pam
-		--with-pam-prefix=${EPREFIX}/etc
-		--with-default-pam-config=none
-		--with-at-spi-registryd-directory=${EPREFIX}/usr/libexec
-		--with-initial-vt=7
-		$(use_with accessibility xevie)
-		$(use_with audit libaudit)
-		$(use_enable ipv6)
-		$(use_with consolekit console-kit)
-		$(use_with plymouth)
-		$(use_with selinux)
-		$(use_with systemd)
-		$(systemd_with_unitdir)
-		$(use_with tcpd tcp-wrappers)
-		$(use_with xinerama)"
-	[[ ${PV} != 9999 ]] && G2CONF="${G2CONF} ITSTOOL=$(type -P true)"
-	gnome2_src_configure
+	# Xevie is obsolete, bug #482304
+	gnome2_src_configure \
+		--with-run-dir=/run/gdm \
+		--localstatedir="${EPREFIX}"/var \
+		--disable-static \
+		--with-xdmcp=yes \
+		--enable-authentication-scheme=pam \
+		--with-default-pam-config=exherbo \
+		--with-at-spi-registryd-directory="${EPREFIX}"/usr/libexec \
+		--with-initial-vt=7 \
+		--without-xevie \
+		$(use_with audit libaudit) \
+		$(use_enable ipv6) \
+		$(use_with plymouth) \
+		$(use_with selinux) \
+		$(use_with systemd) \
+		$(use_with !systemd console-kit) \
+		$(use_enable systemd systemd-journal) \
+		$(systemd_with_unitdir) \
+		$(use_with tcpd tcp-wrappers) \
+		$(use_with xinerama) \
+		${myconf}
 }
 
 src_install() {
 	gnome2_src_install
 
-	# our x11's scripts point to /usr/bin/gdm
-	dosym /usr/sbin/gdm-binary /usr/bin/gdm
+	if ! use accessibility ; then
+		rm "${ED}"/usr/share/gdm/greeter/autostart/orca-autostart.desktop || die
+	fi
+
+	insinto /etc/X11/xinit/xinitrc.d
+	newins "${FILESDIR}/49-keychain-r1" 49-keychain
+	newins "${FILESDIR}/50-ssh-agent-r1" 50-ssh-agent
 
 	# log, etc.
 	keepdir /var/log/gdm
@@ -213,11 +214,9 @@ src_install() {
 	echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm
 	doenvd 99xdg-gdm
 
-	cd "${WORKDIR}/${G_P}"
-	local LDAP
-	use ldap && LDAP=yes
-	emake GDM_WELCOME="gdm-launch-environment" LDAP=${LDAP} EPREFIX="${EPREFIX}" \
-		SYSTEMD_UNITDIR="$(systemd_get_unitdir)" DESTDIR="${D}" install
+	use branding && newicon "${WORKDIR}/tango-gentoo-v1.1/scalable/gentoo.svg" gentoo-gdm.svg
+
+	readme.gentoo_create_doc
 }
 
 pkg_postinst() {
@@ -229,31 +228,14 @@ pkg_postinst() {
 
 	# bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm
 	ret=0
-	ebegin "Fixing ${EROOT}var/lib/gdm ownership"
+	ebegin "Fixing "${EROOT}"var/lib/gdm ownership"
 	chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1
 	for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do
 		[[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1
 	done
 	eend ${ret}
 
-	elog "To make GDM start at boot, edit /etc/conf.d/xdm"
-	elog "and then execute 'rc-update add xdm default'."
-	elog "If you already have GDM running, you will need to restart it."
-
-	elog
-	elog "GDM ignores most non-localization environment variables. If you"
-	elog "need GDM to launch gnome-session with a particular environment,"
-	elog "you need to use pam_env.so in /etc/pam.d/gdm-welcome; see"
-	elog "the pam_env man page for more information."
-	elog
-
-	if has_version sys-auth/pambase[gnome-keyring]; then
-		elog "For passwordless login to unlock your keyring, you need to set an"
-		elog "empty password on your keyring. Use app-crypt/seahorse for that."
-	else
-		elog "To unlock your keyring on login, install sys-auth/pambase"
-		elog "with USE=gnome-keyring"
-	fi
+	readme.gentoo_print_elog
 
 	if [[ -f "/etc/X11/gdm/gdm.conf" ]]; then
 		elog "You had /etc/X11/gdm/gdm.conf which is the old configuration"
@@ -261,12 +243,3 @@ pkg_postinst() {
 		mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16
 	fi
 }
-
-pkg_postrm() {
-	gnome2_pkg_postrm
-
-	if rc-config list default | grep -q xdm; then
-		elog "To remove GDM from startup please execute"
-		elog "'rc-update del xdm default'"
-	fi
-}

diff --git a/gnome-base/gdm/metadata.xml b/gnome-base/gdm/metadata.xml
index c8518f8..ee4b03e 100644
--- a/gnome-base/gdm/metadata.xml
+++ b/gnome-base/gdm/metadata.xml
@@ -4,14 +4,8 @@
   <herd>gnome</herd>
   <use>
     <flag name="audit">Enable support for <pkg>sys-process/audit</pkg></flag>
-    <flag name="consolekit">Allow proper handling of removable media according
-		to who is actually present on the machine.</flag>
-    <flag name="fallback">Install <pkg>x11-wm/metacity</pkg> as fallback in
-		case gnome-shell greeter fails to start</flag>
     <flag name="fprint">Enables experimental fingerprint authentication using
 		<pkg>sys-auth/fprintd</pkg></flag>
-    <flag name="gnome-shell">Enables a greeter based on GNOME Shell (uses
-		OpenGL)</flag>
     <flag name="plymouth">Enable support for smooth transition from
 		<pkg>sys-boot/plymouth</pkg></flag>
     <flag name="smartcard">Enables experimental smartcard authentication</flag>


^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2013-12-11 23:44 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-02 13:54 [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/ Nirbheek Chauhan
  -- strict thread matches above, loose matches on Subject: below --
2013-12-11 23:44 Gilles Dartiguelongue
2012-12-26 21:45 Gilles Dartiguelongue
2012-09-12 12:08 Nirbheek Chauhan
2012-09-12 12:06 Nirbheek Chauhan
2012-09-09  0:39 Nirbheek Chauhan
2012-08-18 14:07 Priit Laes
2011-10-23  8:41 Alexandre Restovtsev
2011-08-13  6:08 Alexandre Restovtsev
2011-06-26  6:22 Nirbheek Chauhan
2011-05-03 10:52 Nirbheek Chauhan
2011-04-15 19:36 Nirbheek Chauhan
2011-04-05  0:57 Nirbheek Chauhan
2011-02-26 11:41 Nirbheek Chauhan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox