summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2014-03-26 15:58:15 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2014-03-26 15:58:15 +0800
commit2491b0957a4b145144abb5f00995f5ca322fc631 (patch)
tree8548bac70accc97e2cab1936b3f6d8d93797b377
parent01a72c91964e53b609881ccf913b3115a322dae4 (diff)
downloadmarcuscom-ports-experimental-2491b0957a4b145144abb5f00995f5ca322fc631.tar.gz
marcuscom-ports-experimental-2491b0957a4b145144abb5f00995f5ca322fc631.tar.zst
marcuscom-ports-experimental-2491b0957a4b145144abb5f00995f5ca322fc631.zip
Update to 3.12.0.
Add patch by destr to fix consolekit support. This will fix lockscreen unlocking. git-svn-id: svn://creme-brulee.marcuscom.com/ports-experimental/trunk@19344 df743ca5-7f9a-e211-a948-0013205c9059
-rw-r--r--x11/gdm/Makefile2
-rw-r--r--x11/gdm/distinfo4
-rw-r--r--x11/gdm/files/patch-consolekit60
3 files changed, 63 insertions, 3 deletions
diff --git a/x11/gdm/Makefile b/x11/gdm/Makefile
index 4b7cbf0..1239e28 100644
--- a/x11/gdm/Makefile
+++ b/x11/gdm/Makefile
@@ -3,7 +3,7 @@
# $MCom$
PORTNAME= gdm
-PORTVERSION= 3.11.92.1
+PORTVERSION= 3.12.0
CATEGORIES= x11 gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome3
diff --git a/x11/gdm/distinfo b/x11/gdm/distinfo
index c746e9e..6705060 100644
--- a/x11/gdm/distinfo
+++ b/x11/gdm/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gnome3/gdm-3.11.92.1.tar.xz) = 731d72f43b01fc0f36ecfed80d9d04c62e7c537fa5d13078bc56114692213014
-SIZE (gnome3/gdm-3.11.92.1.tar.xz) = 1548784
+SHA256 (gnome3/gdm-3.12.0.tar.xz) = 74889819a0c55577fd04236b5308de5f1fcf1992b221c71d02d91a1e564a5d87
+SIZE (gnome3/gdm-3.12.0.tar.xz) = 1522032
diff --git a/x11/gdm/files/patch-consolekit b/x11/gdm/files/patch-consolekit
new file mode 100644
index 0000000..d14cff2
--- /dev/null
+++ b/x11/gdm/files/patch-consolekit
@@ -0,0 +1,60 @@
+From 046527bbe56ced9e145b1799467f8edfad2c5895 Mon Sep 17 00:00:00 2001
+From: Ryan Lortie <desrt@desrt.ca>
+Date: Wed, 26 Mar 2014 00:33:58 -0400
+Subject: [PATCH] ConsoleKit: a pair of tweaks
+
+It looks like there were a couple of breaks when porting away from
+ck-connector.
+
+The first issue is that consolekit uses some hard-coded rules to decide
+if a given session is associated with the hard-coded 'Seat1' or not.
+One of these rules is the "x11-display-device" property being set. We
+were setting the "display-device" property instead, which is not for
+graphical sessions. This was causing a new seat to be dynamically
+created each time gdm started which was causing us to send
+ActivateSession requests to the wrong seat.
+
+The second issue is that ActivateSession will "fail" with "Session
+already active" errors. Ignore those.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=727072
+---
+ daemon/gdm-manager.c | 9 ++++++++-
+ daemon/gdm-session-worker.c | 2 +-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
+index c5e46b6..2fc2ae5 100644
+--- daemon/gdm-manager.c
++++ daemon/gdm-manager.c
+@@ -430,7 +430,14 @@ activate_session_id_for_ck (GdmManager *manager,
+ g_debug ("GdmManager: ConsoleKit %s raised:\n %s\n\n",
+ g_dbus_error_get_remote_error (error), error->message);
+ g_error_free (error);
+- return FALSE;
++
++ /* It is very likely that the "error" just reported is
++ * that the session is already active. Unfortunately,
++ * ConsoleKit doesn't use proper error codes and it
++ * translates the error message, so we have no real way
++ * to detect this case...
++ */
++ return TRUE;
+ }
+
+ g_variant_unref (reply);
+diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
+index 39f14cf..a0cbfb5 100644
+--- daemon/gdm-session-worker.c
++++ daemon/gdm-session-worker.c
+@@ -274,7 +274,7 @@ open_ck_session (GdmSessionWorker *worker)
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(sv)"));
+ g_variant_builder_add_parsed (&builder, "('unix-user', <%i>)", uid);
+- g_variant_builder_add_parsed (&builder, "('display-device', <%s>)", display_device);
++ g_variant_builder_add_parsed (&builder, "('x11-display-device', <%s>)", display_device);
+ g_variant_builder_add_parsed (&builder, "('x11-display', <%s>)", display_name);
+ g_variant_builder_add_parsed (&builder, "('remote-host-name', <%s>)", display_hostname);
+ g_variant_builder_add_parsed (&builder, "('is-local', <%b>)", worker->priv->display_is_local);
+--
+1.8.5.3