public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Gilles Dartiguelongue" <eva@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/
Date: Wed, 11 Dec 2013 23:44:22 +0000 (UTC)	[thread overview]
Message-ID: <1386805424.8bf7c2d832f2f8eb6861481a48e241fb9b8a2bf7.eva@gentoo> (raw)

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>


             reply	other threads:[~2013-12-11 23:44 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-11 23:44 Gilles Dartiguelongue [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-12-26 21:45 [gentoo-commits] proj/gnome:master commit in: gnome-base/gdm/, gnome-base/gdm/files/ 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-04-02 13:54 Nirbheek Chauhan
2011-02-26 11:41 Nirbheek Chauhan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1386805424.8bf7c2d832f2f8eb6861481a48e241fb9b8a2bf7.eva@gentoo \
    --to=eva@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox