[arch-commits] Commit in gdm/trunk (PKGBUILD fix-consolekit-registration.patch)

Ionut Biru ibiru at archlinux.org
Thu Sep 8 14:06:15 UTC 2011


    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 <jgc at archlinux.org>
 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 <rstrode at redhat.com>
+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




More information about the arch-commits mailing list