r42177 - in /desktop/unstable/gdm3/debian: ./ patches/ po/
joss at users.alioth.debian.org
joss at users.alioth.debian.org
Thu Aug 14 00:10:01 UTC 2014
Author: joss
Date: Thu Aug 14 00:10:01 2014
New Revision: 42177
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=42177
Log:
* Reinstate patches for better VT management.
+ 17_switch_on_finish.patch: introduce a setting for GdmDisplay that
says it needs to go to the login screen when set.
+ 18_all_displays_transient.patch: give all local displays the same
properties. Restart them by default, not restart them when told
not to.
+ 19_switch_kill_greeter.patch: when switching to an existing
session, kill the greeter session and the afferent X server.
+ debian/rules: use configure switch to disable the -novtswitch
argument to X, if it ever builds again on !linux.
* 01_session_windowpath.patch, 02_slave_windowpath.patch: reintroduce
WINDOWPATH. Patches from upstream. Closes: #757889.
* tr.po: updated Turkish translation from Mert Dirik. Closes: #756719.
* 03_dont_mask_SIGUSR1.patch: patch from upstream. Stop masking
forcibly SIGUSR1. Closes: #756068.
Added:
desktop/unstable/gdm3/debian/patches/01_session_windowpath.patch
desktop/unstable/gdm3/debian/patches/02_slave_windowpath.patch
desktop/unstable/gdm3/debian/patches/03_dont_mask_SIGUSR1.patch
desktop/unstable/gdm3/debian/patches/17_switch_on_finish.patch
desktop/unstable/gdm3/debian/patches/18_all_displays_transient.patch
desktop/unstable/gdm3/debian/patches/19_switch_kill_greeter.patch
Modified:
desktop/unstable/gdm3/debian/changelog
desktop/unstable/gdm3/debian/patches/series
desktop/unstable/gdm3/debian/po/tr.po
desktop/unstable/gdm3/debian/rules
Modified: desktop/unstable/gdm3/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/changelog?rev=42177&op=diff
==============================================================================
--- desktop/unstable/gdm3/debian/changelog [utf-8] (original)
+++ desktop/unstable/gdm3/debian/changelog [utf-8] Thu Aug 14 00:10:01 2014
@@ -1,3 +1,23 @@
+gdm3 (3.12.2-2.1) unstable; urgency=medium
+
+ * Reinstate patches for better VT management.
+ + 17_switch_on_finish.patch: introduce a setting for GdmDisplay that
+ says it needs to go to the login screen when set.
+ + 18_all_displays_transient.patch: give all local displays the same
+ properties. Restart them by default, not restart them when told
+ not to.
+ + 19_switch_kill_greeter.patch: when switching to an existing
+ session, kill the greeter session and the afferent X server.
+ + debian/rules: use configure switch to disable the -novtswitch
+ argument to X, if it ever builds again on !linux.
+ * 01_session_windowpath.patch, 02_slave_windowpath.patch: reintroduce
+ WINDOWPATH. Patches from upstream. Closes: #757889.
+ * tr.po: updated Turkish translation from Mert Dirik. Closes: #756719.
+ * 03_dont_mask_SIGUSR1.patch: patch from upstream. Stop masking
+ forcibly SIGUSR1. Closes: #756068.
+
+ -- Josselin Mouette <joss at debian.org> Thu, 14 Aug 2014 02:09:47 +0200
+
gdm3 (3.12.2-2) unstable; urgency=medium
[ Laurent Bigonville ]
Added: desktop/unstable/gdm3/debian/patches/01_session_windowpath.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/01_session_windowpath.patch?rev=42177&op=file
==============================================================================
--- desktop/unstable/gdm3/debian/patches/01_session_windowpath.patch (added)
+++ desktop/unstable/gdm3/debian/patches/01_session_windowpath.patch [utf-8] Thu Aug 14 00:10:01 2014
@@ -0,0 +1,29 @@
+From e4dbf006279ecbf408186f3759e559b46ddedda5 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Tue, 22 Jul 2014 17:26:42 -0400
+Subject: Revert "session: drop remnants of WINDOWPATH"
+
+This reverts commit 6e1f486ca0d37da9fc8239493633deed6d796b93.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=730729
+
+diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
+index 60667c5..bb54084 100644
+--- a/daemon/gdm-session.c
++++ b/daemon/gdm-session.c
+@@ -2387,6 +2387,12 @@ set_up_session_environment (GdmSession *self)
+ }
+ }
+
++ if (g_getenv ("WINDOWPATH") != NULL) {
++ gdm_session_set_environment_variable (self,
++ "WINDOWPATH",
++ g_getenv ("WINDOWPATH"));
++ }
++
+ g_free (desktop_names);
+ }
+
+--
+cgit v0.10.1
+
Added: desktop/unstable/gdm3/debian/patches/02_slave_windowpath.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/02_slave_windowpath.patch?rev=42177&op=file
==============================================================================
--- desktop/unstable/gdm3/debian/patches/02_slave_windowpath.patch (added)
+++ desktop/unstable/gdm3/debian/patches/02_slave_windowpath.patch [utf-8] Thu Aug 14 00:10:01 2014
@@ -0,0 +1,109 @@
+From 13dc48dd1e30356dbd83d319734fd38571806677 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Tue, 22 Jul 2014 17:27:30 -0400
+Subject: Revert "slave: Remove support for WINDOWPATH"
+
+This reverts commit 64210ac9dc1dafd1970ad0abcf46a010731d17b4.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=730729
+
+diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
+index 1afe48e..b4bbcfd 100644
+--- a/daemon/gdm-slave.c
++++ b/daemon/gdm-slave.c
+@@ -250,6 +250,83 @@ gdm_slave_setup_xhost_auth (XHostAddress *host_entries, XServerInterpretedAddres
+ host_entries[2].length = sizeof (XServerInterpretedAddress);
+ }
+
++static void
++gdm_slave_set_windowpath (GdmSlave *slave)
++{
++ /* setting WINDOWPATH for clients */
++ Atom prop;
++ Atom actualtype;
++ int actualformat;
++ unsigned long nitems;
++ unsigned long bytes_after;
++ unsigned char *buf;
++ const char *windowpath;
++ char *newwindowpath;
++ unsigned long num;
++ char nums[10];
++ int numn;
++
++ prop = XInternAtom (slave->priv->server_display, "XFree86_VT", False);
++ if (prop == None) {
++ g_debug ("no XFree86_VT atom\n");
++ return;
++ }
++ if (XGetWindowProperty (slave->priv->server_display,
++ DefaultRootWindow (slave->priv->server_display), prop, 0, 1,
++ False, AnyPropertyType, &actualtype, &actualformat,
++ &nitems, &bytes_after, &buf)) {
++ g_debug ("no XFree86_VT property\n");
++ return;
++ }
++
++ if (nitems != 1) {
++ g_debug ("%lu items in XFree86_VT property!\n", nitems);
++ XFree (buf);
++ return;
++ }
++
++ switch (actualtype) {
++ case XA_CARDINAL:
++ case XA_INTEGER:
++ case XA_WINDOW:
++ switch (actualformat) {
++ case 8:
++ num = (*(uint8_t *)(void *)buf);
++ break;
++ case 16:
++ num = (*(uint16_t *)(void *)buf);
++ break;
++ case 32:
++ num = (*(long *)(void *)buf);
++ break;
++ default:
++ g_debug ("format %d in XFree86_VT property!\n", actualformat);
++ XFree (buf);
++ return;
++ }
++ break;
++ default:
++ g_debug ("type %lx in XFree86_VT property!\n", actualtype);
++ XFree (buf);
++ return;
++ }
++ XFree (buf);
++
++ windowpath = getenv ("WINDOWPATH");
++ numn = snprintf (nums, sizeof (nums), "%lu", num);
++ if (!windowpath) {
++ newwindowpath = malloc (numn + 1);
++ sprintf (newwindowpath, "%s", nums);
++ } else {
++ newwindowpath = malloc (strlen (windowpath) + 1 + numn + 1);
++ sprintf (newwindowpath, "%s:%s", windowpath, nums);
++ }
++
++ slave->priv->windowpath = newwindowpath;
++
++ g_setenv ("WINDOWPATH", newwindowpath, TRUE);
++}
++
+ gboolean
+ gdm_slave_connect_to_x11_display (GdmSlave *slave)
+ {
+@@ -299,6 +376,8 @@ gdm_slave_connect_to_x11_display (GdmSlave *slave)
+ if (gdm_error_trap_pop ()) {
+ g_warning ("Failed to give slave programs access to the display. Trying to proceed.");
+ }
++
++ gdm_slave_set_windowpath (slave);
+ } else {
+ g_debug ("GdmSlave: Connected to display %s", slave->priv->display_name);
+ ret = TRUE;
+--
+cgit v0.10.1
+
Added: desktop/unstable/gdm3/debian/patches/03_dont_mask_SIGUSR1.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/03_dont_mask_SIGUSR1.patch?rev=42177&op=file
==============================================================================
--- desktop/unstable/gdm3/debian/patches/03_dont_mask_SIGUSR1.patch (added)
+++ desktop/unstable/gdm3/debian/patches/03_dont_mask_SIGUSR1.patch [utf-8] Thu Aug 14 00:10:01 2014
@@ -0,0 +1,45 @@
+From ef6954833cf43bef8306823d7fcfb6a04b903ad7 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Fri, 30 May 2014 10:26:02 -0400
+Subject: worker: don't block SIGUSR1
+
+When the slaves were folded into the main manager process, we had
+to add support for detecting multiple simultaneous X servers starting
+up.
+
+We did that by creating a detected thread to listen for SIGUSR1 and
+then examining the siginfo to find out which X server is ready.
+
+In order to ensure only the dedicated thread received the SIGUSR1
+signals from the X server we blocked SIGUSR1 from the main thread.
+
+That blocked signal is inherited to the worker processes and the
+session. Some programs depend on SIGUSR1 but don't explicitly unblock
+SIGUSR1 at start up, since the signal is presumed to be unblocked out
+the box.
+
+This commit makes sure SIGUSR1 is unblocked before starting the session
+to keep these programs functioning correctly.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=731228
+
+diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
+index 8af97b0..bc50b37 100644
+--- a/daemon/gdm-session-worker.c
++++ b/daemon/gdm-session-worker.c
+@@ -1944,6 +1944,12 @@ gdm_session_worker_start_session (GdmSessionWorker *worker,
+ */
+ signal (SIGPIPE, SIG_DFL);
+
++ /*
++ * Reset SIGUSR1 to default since it was blocked by the manager
++ * process for the X server startup handshake
++ */
++ signal (SIGUSR1, SIG_DFL);
++
+ gdm_session_execute (worker->priv->arguments[0],
+ worker->priv->arguments,
+ (char **)
+--
+cgit v0.10.1
+
Added: desktop/unstable/gdm3/debian/patches/17_switch_on_finish.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/17_switch_on_finish.patch?rev=42177&op=file
==============================================================================
--- desktop/unstable/gdm3/debian/patches/17_switch_on_finish.patch (added)
+++ desktop/unstable/gdm3/debian/patches/17_switch_on_finish.patch [utf-8] Thu Aug 14 00:10:01 2014
@@ -0,0 +1,129 @@
+daemon: add switch-on-finish property to display
+
+Index: gdm3-3.12.2/daemon/gdm-display.c
+===================================================================
+--- gdm3-3.12.2.orig/daemon/gdm-display.c 2014-08-14 01:09:48.102831204 +0200
++++ gdm3-3.12.2/daemon/gdm-display.c 2014-08-14 01:10:35.310113921 +0200
+@@ -65,6 +65,7 @@ struct GdmDisplayPrivate
+ GdmDisplayAccessFile *access_file;
+
+ gboolean is_local;
++ gboolean switch_on_finish;
+ guint finish_idle_id;
+
+ GdmSlave *slave;
+@@ -89,6 +90,7 @@ enum {
+ PROP_X11_COOKIE,
+ PROP_X11_AUTHORITY_FILE,
+ PROP_IS_LOCAL,
++ PROP_SWITCH_ON_FINISH,
+ PROP_SLAVE_TYPE,
+ PROP_IS_INITIAL
+ };
+@@ -135,6 +137,14 @@ gdm_display_get_session_id (GdmDisplay *
+ return display->priv->session_id;
+ }
+
++gboolean
++gdm_display_get_switch_on_finish (GdmDisplay *display)
++{
++ g_return_val_if_fail (GDM_IS_DISPLAY (display), 0);
++
++ return display->priv->switch_on_finish;
++}
++
+ static GdmDisplayAccessFile *
+ _create_access_file_for_user (GdmDisplay *display,
+ const char *username,
+@@ -801,6 +811,13 @@ _gdm_display_set_session_id (GdmDisplay
+ }
+
+ static void
++_gdm_display_set_switch_on_finish (GdmDisplay *display,
++ gboolean switch_on_finish)
++{
++ display->priv->switch_on_finish = switch_on_finish;
++}
++
++static void
+ _gdm_display_set_remote_hostname (GdmDisplay *display,
+ const char *hostname)
+ {
+@@ -852,6 +869,16 @@ _gdm_display_set_is_initial (GdmDisplay
+ display->priv->is_initial = initial;
+ }
+
++void
++gdm_display_set_switch_on_finish (GdmDisplay *display,
++ gboolean switch_display)
++{
++ g_debug ("GdmDisplay: Setting display %s to %sswitch to login screen on finish",
++ display->priv->x11_display_name, switch_display? "" : "not ");
++
++ _gdm_display_set_switch_on_finish (display, switch_display);
++}
++
+ static void
+ gdm_display_set_property (GObject *object,
+ guint prop_id,
+@@ -890,6 +917,9 @@ gdm_display_set_property (GObject
+ case PROP_IS_LOCAL:
+ _gdm_display_set_is_local (self, g_value_get_boolean (value));
+ break;
++ case PROP_SWITCH_ON_FINISH:
++ _gdm_display_set_switch_on_finish (self, g_value_get_boolean (value));
++ break;
+ case PROP_SLAVE_TYPE:
+ _gdm_display_set_slave_type (self, g_value_get_gtype (value));
+ break;
+@@ -944,6 +974,9 @@ gdm_display_get_property (GObject
+ case PROP_IS_LOCAL:
+ g_value_set_boolean (value, self->priv->is_local);
+ break;
++ case PROP_SWITCH_ON_FINISH:
++ g_value_set_boolean (value, self->priv->switch_on_finish);
++ break;
+ case PROP_SLAVE_TYPE:
+ g_value_set_gtype (value, self->priv->slave_type);
+ break;
+@@ -1351,6 +1384,14 @@ gdm_display_class_init (GdmDisplayClass
+ NULL,
+ NULL,
+ TRUE,
++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
++
++ g_object_class_install_property (object_class,
++ PROP_SWITCH_ON_FINISH,
++ g_param_spec_boolean ("switch-on-finish",
++ NULL,
++ NULL,
++ TRUE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class,
+Index: gdm3-3.12.2/daemon/gdm-display.h
+===================================================================
+--- gdm3-3.12.2.orig/daemon/gdm-display.h 2014-08-14 01:09:48.102831204 +0200
++++ gdm3-3.12.2/daemon/gdm-display.h 2014-08-14 01:09:48.098831265 +0200
+@@ -136,6 +136,9 @@ gboolean gdm_display_get_time
+ gboolean gdm_display_is_initial (GdmDisplay *display,
+ gboolean *initial,
+ GError **error);
++gboolean gdm_display_get_switch_on_finish (GdmDisplay *display);
++void gdm_display_set_switch_on_finish (GdmDisplay *display,
++ gboolean switch_display);
+
+ gboolean gdm_display_get_x11_cookie (GdmDisplay *display,
+ const char **x11_cookie,
+Index: gdm3-3.12.2/daemon/gdm-transient-display.c
+===================================================================
+--- gdm3-3.12.2.orig/daemon/gdm-transient-display.c 2014-08-14 01:09:48.102831204 +0200
++++ gdm3-3.12.2/daemon/gdm-transient-display.c 2014-08-14 01:09:52.000000000 +0200
+@@ -188,6 +188,7 @@ gdm_transient_display_new (int display_n
+ object = g_object_new (GDM_TYPE_TRANSIENT_DISPLAY,
+ "x11-display-number", display_number,
+ "x11-display-name", x11_display,
++ "switch-on-finish", TRUE,
+ NULL);
+ g_free (x11_display);
+
Added: desktop/unstable/gdm3/debian/patches/18_all_displays_transient.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/18_all_displays_transient.patch?rev=42177&op=file
==============================================================================
--- desktop/unstable/gdm3/debian/patches/18_all_displays_transient.patch (added)
+++ desktop/unstable/gdm3/debian/patches/18_all_displays_transient.patch [utf-8] Thu Aug 14 00:10:01 2014
@@ -0,0 +1,135 @@
+Make all local displays "transient".
+By default, they are not reaped at the end of the session and go back to
+the login prompt.
+
+Index: gdm3-3.12.2/daemon/Makefile.am
+===================================================================
+--- gdm3-3.12.2.orig/daemon/Makefile.am 2014-05-13 20:33:05.000000000 +0200
++++ gdm3-3.12.2/daemon/Makefile.am 2014-08-14 01:11:28.000000000 +0200
+@@ -35,7 +35,6 @@ AM_CPPFLAGS = \
+ BUILT_SOURCES = \
+ gdm-display-glue.h \
+ gdm-manager-glue.h \
+- gdm-static-display-glue.h \
+ gdm-transient-display-glue.h \
+ gdm-local-display-factory-glue.h \
+ gdm-session-glue.h \
+@@ -63,13 +62,6 @@ gdm-transient-display-glue.c gdm-transie
+ --generate-c-code=gdm-transient-display-glue \
+ $(srcdir)/gdm-transient-display.xml
+
+-gdm-static-display-glue.c gdm-static-display-glue.h: gdm-static-display.xml Makefile.am
+- $(AM_V_GEN)gdbus-codegen \
+- --c-namespace=GdmDBus \
+- --interface-prefix=org.gnome.DisplayManager \
+- --generate-c-code=gdm-static-display-glue \
+- $(srcdir)/gdm-static-display.xml
+-
+ gdm-local-display-factory-glue.c gdm-local-display-factory-glue.h : gdm-local-display-factory.xml Makefile.am
+ $(AM_V_GEN)gdbus-codegen \
+ --c-namespace=GdmDBus \
+@@ -186,8 +178,6 @@ gdm_SOURCES = \
+ gdm-local-display-factory.h \
+ gdm-display.c \
+ gdm-display.h \
+- gdm-static-display.c \
+- gdm-static-display.h \
+ gdm-transient-display.c \
+ gdm-transient-display.h \
+ gdm-launch-environment.c \
+@@ -223,8 +213,6 @@ nodist_gdm_SOURCES = \
+ gdm-manager-glue.c \
+ gdm-transient-display-glue.h \
+ gdm-transient-display-glue.c \
+- gdm-static-display-glue.h \
+- gdm-static-display-glue.c \
+ gdm-session-glue.h \
+ gdm-session-glue.c \
+ gdm-session-worker-glue.c \
+@@ -281,7 +269,6 @@ CLEANFILES = \
+ gdm-session-glue.c \
+ gdm-session-worker-glue.c \
+ gdm-session-enum-types.c \
+- gdm-static-display-glue.c \
+ gdm-transient-display-glue.c \
+ $(BUILT_SOURCES) \
+ $(NULL)
+@@ -291,7 +278,6 @@ EXTRA_DIST = \
+ gdm-session-worker.xml \
+ gdm-session.xml \
+ gdm-display.xml \
+- gdm-static-display.xml \
+ gdm-transient-display.xml \
+ gdm-local-display-factory.xml \
+ gdm-session-enum-types.c.in \
+Index: gdm3-3.12.2/daemon/gdm-local-display-factory.c
+===================================================================
+--- gdm3-3.12.2.orig/daemon/gdm-local-display-factory.c 2014-03-18 05:23:44.000000000 +0100
++++ gdm3-3.12.2/daemon/gdm-local-display-factory.c 2014-08-14 01:11:28.000000000 +0200
+@@ -35,7 +35,6 @@
+ #include "gdm-local-display-factory-glue.h"
+
+ #include "gdm-display-store.h"
+-#include "gdm-static-display.h"
+ #include "gdm-transient-display.h"
+
+ #define GDM_LOCAL_DISPLAY_FACTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_LOCAL_DISPLAY_FACTORY, GdmLocalDisplayFactoryPrivate))
+@@ -290,8 +289,8 @@ on_display_status_changed (GdmDisplay
+ g_hash_table_remove (factory->priv->displays, GUINT_TO_POINTER (num));
+ gdm_display_store_remove (store, display);
+
+- /* Create a new equivalent display if it was static */
+- if (GDM_IS_STATIC_DISPLAY (display)) {
++ /* Create a new equivalent display if needed */
++ if (gdm_display_get_switch_on_finish (display)) {
+ /* reset num failures */
+ factory->priv->num_failures = 0;
+
+@@ -303,8 +302,8 @@ on_display_status_changed (GdmDisplay
+ so that it doesn't get reused */
+ gdm_display_store_remove (store, display);
+
+- /* Create a new equivalent display if it was static */
+- if (GDM_IS_STATIC_DISPLAY (display)) {
++ /* Create a new equivalent display if needed */
++ if (gdm_display_get_switch_on_finish (display)) {
+
+ factory->priv->num_failures++;
+
+@@ -370,7 +369,7 @@ create_display (GdmLocalDisplayFactory *
+
+ num = take_next_display_number (factory);
+
+- display = gdm_static_display_new (num);
++ display = gdm_transient_display_new (num);
+
+ g_object_set (display, "seat-id", seat_id, NULL);
+ g_object_set (display, "is-initial", initial, NULL);
+Index: gdm3-3.12.2/daemon/gdm-transient-display.c
+===================================================================
+--- gdm3-3.12.2.orig/daemon/gdm-transient-display.c 2014-08-14 01:11:28.000000000 +0200
++++ gdm3-3.12.2/daemon/gdm-transient-display.c 2014-08-14 01:13:50.867144257 +0200
+@@ -94,9 +94,22 @@ gdm_transient_display_manage (GdmDisplay
+ static gboolean
+ gdm_transient_display_finish (GdmDisplay *display)
+ {
++ int status;
++
+ g_return_val_if_fail (GDM_IS_DISPLAY (display), FALSE);
+
+- GDM_DISPLAY_CLASS (gdm_transient_display_parent_class)->finish (display);
++ if (gdm_display_get_switch_on_finish (display)) {
++ /* restart display */
++ gdm_display_unmanage (display);
++
++ status = gdm_display_get_status (display);
++ if (status != GDM_DISPLAY_FAILED) {
++ gdm_display_manage (display);
++ }
++ } else {
++ /* Call parent's finish to be put in the FINISHED state */
++ GDM_DISPLAY_CLASS (gdm_transient_display_parent_class)->finish (display);
++ }
+
+ return TRUE;
+ }
Added: desktop/unstable/gdm3/debian/patches/19_switch_kill_greeter.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/19_switch_kill_greeter.patch?rev=42177&op=file
==============================================================================
--- desktop/unstable/gdm3/debian/patches/19_switch_kill_greeter.patch (added)
+++ desktop/unstable/gdm3/debian/patches/19_switch_kill_greeter.patch [utf-8] Thu Aug 14 00:10:01 2014
@@ -0,0 +1,93 @@
+Index: gdm3-3.12.2/configure.ac
+===================================================================
+--- gdm3-3.12.2.orig/configure.ac 2014-08-13 21:37:53.886754675 +0200
++++ gdm3-3.12.2/configure.ac 2014-08-14 00:27:12.457744070 +0200
+@@ -274,6 +274,11 @@ AC_ARG_WITH(at-spi-registryd-directory,
+ AT_SPI_REGISTRYD_DIR=$with_at_spi_registryd_directory
+ AC_SUBST(AT_SPI_REGISTRYD_DIR)
+
++AC_ARG_WITH(vt-switch-workaround,
++ AS_HELP_STRING([--with-vt-switch-workaround],
++ [Try to workaround missing -novtswitch option for X @<:@default=no@:>@])],,
++ [with_vt_switch_workaround="no"])
++
+ # Allow configuration of default PATH
+ #
+ withval=""
+@@ -991,6 +996,14 @@ AC_SUBST(PLYMOUTH_CFLAGS)
+ AC_SUBST(PLYMOUTH_LIBS)
+
+ dnl ---------------------------------------------------------------------------
++dnl - Check for vt switch support
++dnl ---------------------------------------------------------------------------
++
++if test "x$with_vt_switch_workaround" != "xno" ; then
++ AC_DEFINE(WITH_VT_SWITCH_WORKAROUND, 1, [Define to enable workaround for missing -novtswitch feature])
++fi
++
++dnl ---------------------------------------------------------------------------
+ dnl - Check for D-Bus
+ dnl ---------------------------------------------------------------------------
+
+Index: gdm3-3.12.2/daemon/gdm-manager.c
+===================================================================
+--- gdm3-3.12.2.orig/daemon/gdm-manager.c 2014-08-13 23:26:29.000000000 +0200
++++ gdm3-3.12.2/daemon/gdm-manager.c 2014-08-14 00:57:53.365712128 +0200
+@@ -108,6 +108,8 @@ static void create_seed_session_for_disp
+ uid_t allowed_user);
+ static void touch_ran_once_marker_file (GdmManager *manager);
+
++static void remove_user_session (GdmManager *manager, GdmSession *session);
++
+ static gpointer manager_object = NULL;
+
+ static void manager_interface_init (GdmDBusManagerIface *interface);
+@@ -1366,19 +1368,26 @@ on_start_user_session (StartUserSessionO
+ */
+ migrated = switch_to_compatible_user_session (operation->manager, operation->session, fail_if_already_switched);
+
++ display = get_display_for_user_session (operation->session);
++
+ g_debug ("GdmManager: migrated: %d", migrated);
+ if (migrated) {
+- /* We don't stop the manager here because
+- when Xorg exits it switches to the VT it was
+- started from. That interferes with fast
+- user switching. */
++#ifdef WITH_VT_SWITCH_WORKAROUND
++ /* If the X server doesn't support -novtswitch, then when the
++ user logs out from their session later, they're going to get
++ thrown back to the VT the greeter is currently running on.
++ So we keep the greeter akkuve here, so when that happens the
++ user doesn't see a blank VT or some confusing thing. */
+ gdm_session_reset (operation->session);
+ destroy_start_user_session_operation (operation);
++#else
++ gdm_display_set_switch_on_finish (display, FALSE);
++ remove_user_session (operation->manager, operation->session);
++#endif
++
+ goto out;
+ }
+
+- display = get_display_for_user_session (operation->session);
+-
+ if (gdm_session_get_display_mode (operation->session) == GDM_SESSION_DISPLAY_MODE_REUSE_VT) {
+ /* In this case, the greeter's display is morphing into
+ * the user session display. Kill the greeter on this session
+Index: gdm3-3.12.2/daemon/gdm-server.c
+===================================================================
+--- gdm3-3.12.2.orig/daemon/gdm-server.c 2014-03-19 16:15:29.000000000 +0100
++++ gdm3-3.12.2/daemon/gdm-server.c 2014-08-14 00:40:52.525234183 +0200
+@@ -276,7 +276,11 @@ gdm_server_init_command (GdmServer *serv
+ debug_options = "";
+ }
+
++#ifdef WITH_VT_SWITCH_WORKAROUND
+ #define X_SERVER_ARG_FORMAT " -background none -noreset -verbose %s%s"
++#else
++#define X_SERVER_ARG_FORMAT " -novtswitch -background none -noreset -verbose %s%s"
++#endif
+
+ #ifdef WITH_SYSTEMD
+
Modified: desktop/unstable/gdm3/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/patches/series?rev=42177&op=diff
==============================================================================
--- desktop/unstable/gdm3/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gdm3/debian/patches/series [utf-8] Thu Aug 14 00:10:01 2014
@@ -1,6 +1,12 @@
+01_session_windowpath.patch
+02_slave_windowpath.patch
+03_dont_mask_SIGUSR1.patch
08_frequent-users_greeter.patch
09_default_session.patch
16_xserver_path.patch
+17_switch_on_finish.patch
+18_all_displays_transient.patch
+19_switch_kill_greeter.patch
90_config_comments.patch
91_dconf_database_path.patch
92_systemd_unit.patch
Modified: desktop/unstable/gdm3/debian/po/tr.po
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/po/tr.po?rev=42177&op=diff
==============================================================================
--- desktop/unstable/gdm3/debian/po/tr.po [utf-8] (original)
+++ desktop/unstable/gdm3/debian/po/tr.po [utf-8] Thu Aug 14 00:10:01 2014
@@ -25,24 +25,23 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: xorg-x11\n"
+"Project-Id-Version: gdm3\n"
"Report-Msgid-Bugs-To: gdm3 at packages.debian.org\n"
"POT-Creation-Date: 2012-09-11 23:23+0200\n"
-"PO-Revision-Date: 2006-01-11 04:57+0200\n"
-"Last-Translator: Osman Yüksel <yuxel at sonsuzdongu.com>\n"
+"PO-Revision-Date: 2014-08-01 04:05+0200\n"
+"Last-Translator: Mert Dirik <mertdirik at gmail.com>\n"
"Language-Team: Debian L10n Turkish <debian-l10n-turkish at lists.debian.org>\n"
-"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.10.2\n"
+"X-Generator: Poedit 1.5.4\n"
+"Language: tr\n"
#. Type: select
#. Description
#: ../gdm3.templates:2001
-#, fuzzy
msgid "Default display manager:"
-msgstr "Kullanmak istediğiniz öntanımlı ekran yöneticisini seçin."
+msgstr "Öntanımlı ekran yöneticisi:"
#. Type: select
#. Description
@@ -56,30 +55,29 @@
#. Type: select
#. Description
#: ../gdm3.templates:2001
-#, fuzzy
msgid ""
"Only one display manager can manage a given X server, but multiple display "
"manager packages are installed. Please select which display manager should "
"run by default."
msgstr ""
-"Sadece bir ekran yöneticisi verilen X sunucusunu yönetebilir; ancak birden "
-"fazla ekran yöneticisi kurulu durumda. Lütfen öntanımlı olarak çalıştırmak "
-"istediğiniz ekran yöneticisini seçin."
+"Sadece bir ekran yöneticisi verilen X sunucusunu yönetebilir; ancak "
+"sisteminizde birden fazla ekran yöneticisi kurulu durumda. Lütfen öntanımlı "
+"olarak kullanmak istediğiniz ekran yöneticisini seçin."
#. Type: select
#. Description
#: ../gdm3.templates:2001
-#, fuzzy
msgid ""
"Multiple display managers can run simultaneously if they are configured to "
"manage different servers; to achieve this, configure the display managers "
"accordingly, edit each of their init scripts in /etc/init.d, and disable the "
"check for a default display manager."
msgstr ""
-"(Eğer farklı sunucuları çalıştırmak için ayarlanırsa birden fazla ekran "
-"yöneticisi kullanılabilir. Bunun için /etc/init.d içindeki ilgili betikleri "
-"değiştirin ve öntanımlı ekran yöneticisini denetleyen işlevleri devre dışı "
-"bırakın.)"
+"Farklı sunucuları çalıştıracak şakilde ayarlandıkları takdirde birden fazla "
+"ekran yöneticisi kullanılabilir. Bunun için, her bir ekran yöneticisini "
+"uygun bir şekilde yapılandırın, hepsinin /etc/init.d dizinindeki ilgili "
+"betiklerini değiştirin ve öntanımlı ekran yöneticisini denetleyen işlevleri "
+"devre dışı bırakın."
#, fuzzy
#~ msgid "Stop the xdm daemon?"
Modified: desktop/unstable/gdm3/debian/rules
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gdm3/debian/rules?rev=42177&op=diff
==============================================================================
--- desktop/unstable/gdm3/debian/rules [utf-8] (original)
+++ desktop/unstable/gdm3/debian/rules [utf-8] Thu Aug 14 00:10:01 2014
@@ -41,7 +41,7 @@
ifeq (linux,$(DEB_HOST_ARCH_OS))
DEB_CONFIGURE_EXTRA_FLAGS += --with-systemd --with-selinux --without-console-kit
else
- DEB_CONFIGURE_EXTRA_FLAGS += --without-systemd --without-selinux --with-console-kit
+ DEB_CONFIGURE_EXTRA_FLAGS += --without-systemd --without-selinux --with-console-kit --with-vt-switch-workaround
endif
DEB_CONFIGURE_EXTRA_FLAGS += --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
More information about the pkg-gnome-commits
mailing list