[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