Date: Thursday, September 8, 2011 @ 10:06:15 Author: ibiru Revision: 137517
fix consolekit registration Added: gdm/trunk/fix-consolekit-registration.patch Modified: gdm/trunk/PKGBUILD -----------------------------------+ PKGBUILD | 9 ++- fix-consolekit-registration.patch | 98 ++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-09-08 13:39:42 UTC (rev 137516) +++ PKGBUILD 2011-09-08 14:06:15 UTC (rev 137517) @@ -2,7 +2,7 @@ # Maintainer: Jan de Groot <[email protected]> pkgname=gdm pkgver=3.1.90 -pkgrel=3 +pkgrel=4 pkgdesc="Gnome Display Manager (a reimplementation of xdm)" arch=('i686' 'x86_64') license=('GPL') @@ -17,7 +17,8 @@ source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz fix_external_program_directories.patch gdm - gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam) + gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam + fix-consolekit-registration.patch) sha256sums=('3fb9c52b8a18f39539c53d84645b89836de25a3eb3a0b84388e76a4f988178bf' 'b7c19ab68dc38216f751be6d1e66d617fb9011e23185590e52ac1974d3bc1afb' '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550' @@ -26,10 +27,12 @@ 'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19' '0dbb37b4e2a2a2dd2305f0f69cf32d63d353d34aacaf805d2c2ec52fbe558bb4' 'df74b0dcfb17ea43cc1e268a27cd256c552672457db1af40b285452d16b3e2fd' - '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834') + '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834' + '405d82ad12ea6371ddc031e7d86e5d2ade6fe054bebbfaf24c89ac0a85fcef1c') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -Np1 -i "${srcdir}/fix_external_program_directories.patch" + patch -Np1 -i "${srcdir}/fix-consolekit-registration.patch" ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gdm \ Added: fix-consolekit-registration.patch =================================================================== --- fix-consolekit-registration.patch (rev 0) +++ fix-consolekit-registration.patch 2011-09-08 14:06:15 UTC (rev 137517) @@ -0,0 +1,98 @@ +From 984038d2df357750f49658ad0c5bfe0d2e812ffd Mon Sep 17 00:00:00 2001 +From: Ray Strode <[email protected]> +Date: Tue, 06 Sep 2011 15:41:07 +0000 +Subject: daemon: fix consolekit registration + +ioni pointed out on IRC, that since commit +647cad5bf59a4ff3776ba1ae5cda6b1aaaa1cfb2 + +the greeter session isn't getting fully registered +with consolekit and so udev acls weren't being +properly applied. + +This commit passes the tty to the worker process +so that it can be used for registration. + +It also passes hostname, merely for completeness. +--- +diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c +index 1d5c16a..c25bc9b 100644 +--- a/daemon/gdm-session-direct.c ++++ b/daemon/gdm-session-direct.c +@@ -1401,6 +1401,8 @@ do_introspect (DBusConnection *connection, + " <signal name=\"SetupForProgram\">\n" + " <arg name=\"service_name\" type=\"s\"/>\n" + " <arg name=\"x11_display_name\" type=\"s\"/>\n" ++ " <arg name=\"display_device\" type=\"s\"/>\n" ++ " <arg name=\"hostname\" type=\"s\"/>\n" + " <arg name=\"x11_authority_file\" type=\"s\"/>\n" + " <arg name=\"log_file\" type=\"s\"/>\n" + " </signal>\n" +@@ -2052,6 +2054,8 @@ send_setup_for_program (GdmSessionDirect *session, + DBusMessage *message; + DBusMessageIter iter; + const char *display_name; ++ const char *display_device; ++ const char *display_hostname; + const char *display_x11_authority_file; + GdmSessionConversation *conversation; + +@@ -2062,6 +2066,16 @@ send_setup_for_program (GdmSessionDirect *session, + } else { + display_name = ""; + } ++ if (session->priv->display_hostname != NULL) { ++ display_hostname = session->priv->display_hostname; ++ } else { ++ display_hostname = ""; ++ } ++ if (session->priv->display_device != NULL) { ++ display_device = session->priv->display_device; ++ } else { ++ display_device = ""; ++ } + if (session->priv->display_x11_authority_file != NULL) { + display_x11_authority_file = session->priv->display_x11_authority_file; + } else { +@@ -2077,6 +2091,8 @@ send_setup_for_program (GdmSessionDirect *session, + dbus_message_iter_init_append (message, &iter); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &service_name); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_name); ++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_device); ++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_hostname); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_x11_authority_file); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &log_file); + +diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c +index 2b46ca8..c402e6c 100644 +--- a/daemon/gdm-session-worker.c ++++ b/daemon/gdm-session-worker.c +@@ -2597,6 +2597,8 @@ on_setup_for_program (GdmSessionWorker *worker, + DBusError error; + char *service; + char *x11_display_name; ++ char *console; ++ char *hostname; + char *x11_authority_file; + char *log_file; + dbus_bool_t res; +@@ -2611,6 +2613,8 @@ on_setup_for_program (GdmSessionWorker *worker, + &error, + DBUS_TYPE_STRING, &service, + DBUS_TYPE_STRING, &x11_display_name, ++ DBUS_TYPE_STRING, &console, ++ DBUS_TYPE_STRING, &hostname, + DBUS_TYPE_STRING, &x11_authority_file, + DBUS_TYPE_STRING, &log_file, + DBUS_TYPE_INVALID); +@@ -2621,6 +2625,8 @@ on_setup_for_program (GdmSessionWorker *worker, + worker->priv->service = g_strdup (service); + worker->priv->username = g_strdup (GDM_USERNAME); + worker->priv->x11_display_name = g_strdup (x11_display_name); ++ worker->priv->hostname = g_strdup (hostname); ++ worker->priv->display_device = g_strdup (console); + worker->priv->x11_authority_file = g_strdup (x11_authority_file); + worker->priv->log_file = g_strdup (log_file); + worker->priv->is_program_session = TRUE; +-- +cgit v0.9.0.2
