SHA256
1
0
forked from pool/gdm

Accepting request 21201 from GNOME:Factory

Copy from GNOME:Factory/gdm based on submit request 21201 from user vuntz

OBS-URL: https://build.opensuse.org/request/show/21201
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdm?expand=0&rev=82
This commit is contained in:
OBS User autobuild 2009-09-28 16:08:57 +00:00 committed by Git OBS Bridge
parent 2848b4615f
commit 76de0e7e7f
4 changed files with 122 additions and 1 deletions

29
gdm-default-wm.patch Normal file
View File

@ -0,0 +1,29 @@
Index: gdm-2.27.90/daemon/gdm-session-direct.c
===================================================================
--- gdm-2.27.90.orig/daemon/gdm-session-direct.c
+++ gdm-2.27.90/daemon/gdm-session-direct.c
@@ -47,6 +47,8 @@
#include <libhal.h>
+#include "gdm-sysconfig.h"
+
#include "gdm-session-direct.h"
#include "gdm-session.h"
#include "gdm-session-private.h"
@@ -670,6 +672,15 @@ get_fallback_session_name (void)
int i;
char *name;
+ name = gdm_sysconfig_load_value ("/etc/sysconfig/windowmanager", "DEFAULT_WM");
+ if (name && get_session_command_for_name (name, NULL)) {
+ return name;
+ }
+
+ if (name) {
+ g_free (name);
+ }
+
name = g_strdup ("gnome");
if (get_session_command_for_name (name, NULL)) {
return name;

View File

@ -0,0 +1,75 @@
Index: gdm-2.27.90/daemon/gdm-display-access-file.c
===================================================================
--- gdm-2.27.90.orig/daemon/gdm-display-access-file.c
+++ gdm-2.27.90/daemon/gdm-display-access-file.c
@@ -440,11 +440,15 @@ _get_auth_info_for_display (GdmDisplayAc
if (is_local) {
char localhost[HOST_NAME_MAX + 1] = "";
*family = FamilyLocal;
+#if 0
if (gethostname (localhost, HOST_NAME_MAX) == 0) {
*address = g_strdup (localhost);
} else {
+#endif
*address = g_strdup ("localhost");
+#if 0
}
+#endif
} else {
*family = FamilyWild;
gdm_display_get_remote_hostname (display, address, NULL);
Index: gdm-2.27.90/daemon/gdm-session-direct.c
===================================================================
--- gdm-2.27.90.orig/daemon/gdm-session-direct.c
+++ gdm-2.27.90/daemon/gdm-session-direct.c
@@ -2050,6 +2050,12 @@ setup_session_environment (GdmSessionDir
session->priv->user_x11_authority_file);
}
+ if (session->priv->display_is_local) {
+ gdm_session_direct_set_environment_variable (session,
+ "XAUTHLOCALHOSTNAME",
+ "localhost");
+ }
+
/* FIXME: We do this here and in the session worker. We should consolidate
* somehow.
*/
Index: gdm-2.27.90/daemon/gdm-slave.c
===================================================================
--- gdm-2.27.90.orig/daemon/gdm-slave.c
+++ gdm-2.27.90/daemon/gdm-slave.c
@@ -222,6 +222,10 @@ get_script_environment (GdmSlave *slav
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (slave->priv->display_hostname));
}
+ if (slave->priv->display_is_local) {
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), g_strdup ("localhost"));
+ }
+
/* Runs as root */
g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (slave->priv->display_x11_authority_file));
g_hash_table_insert (hash, g_strdup ("DISPLAY"), g_strdup (slave->priv->display_name));
@@ -374,6 +378,7 @@ gdm_slave_connect_to_x11_display (GdmSla
g_setenv ("DISPLAY", slave->priv->display_name, TRUE);
g_setenv ("XAUTHORITY", slave->priv->display_x11_authority_file, TRUE);
+ g_setenv ("XAUTHLOCALHOSTNAME", "localhost", TRUE);
sigemptyset (&mask);
sigaddset (&mask, SIGCHLD);
Index: gdm-2.27.90/daemon/gdm-welcome-session.c
===================================================================
--- gdm-2.27.90.orig/daemon/gdm-welcome-session.c
+++ gdm-2.27.90/daemon/gdm-welcome-session.c
@@ -315,6 +315,10 @@ get_welcome_environment (GdmWelcomeSessi
g_hash_table_insert (hash, g_strdup ("SHELL"), g_strdup (pwent->pw_shell));
}
+ if (welcome_session->priv->x11_display_is_local) {
+ g_hash_table_remove (hash, "XAUTHLOCALHOSTNAME");
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), g_strdup ("localhost"));
+ }
g_hash_table_insert (hash, g_strdup ("PATH"), g_strdup (g_getenv ("PATH")));

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Mon Sep 28 14:25:50 CEST 2009 - vuntz@opensuse.org
- Add gdm-xauthlocalhostname.patch: fix non-working user session
when the hostname changes during login. Fix shipstopper
bnc#538064.
- Add gdm-default-wm.patch: gdm now reads the DEFAULT_WM setting in
/etc/sysconfig/windowmanager to know which session to use by
default instead of always using GNOME.
This should fix using GDM for XFCE.
-------------------------------------------------------------------
Tue Aug 25 14:03:14 CEST 2009 - vuntz@novell.com

View File

@ -42,7 +42,7 @@ BuildRequires: zenity
License: GPL v2 or later
Group: System/GUI/GNOME
Version: 2.27.90
Release: 1
Release: 2
Summary: The GNOME 2.x Display Manager
Source: %{name}-%{version}.tar.bz2
Source1: gdm.pamd
@ -78,6 +78,10 @@ Patch31: gdm-gconf-path.patch
Patch32: gdm-keyboard-from-hal.patch
# PATCH-FIX-OPENSUSE gdm-keyboard-from-sysconfig.patch bnc432360 bnc478083 hpj@novell.com -- Read keyboard options from sysconfig (for openSUSE <= 11.1, since keyboard layout wasn't in hal)
Patch33: gdm-keyboard-from-sysconfig.patch
# PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default
Patch34: gdm-default-wm.patch
# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to localhost for local logins to avoid issues in the session in case the hostname changes
Patch35: gdm-xauthlocalhostname.patch
# PATCH-FIX-OPENSUSE gdm-selinux.patch -- Small changes to make it compile fine with SELinux
Patch60: gdm-selinux.patch
Url: http://www.gnome.org/
@ -146,6 +150,8 @@ gnome-patch-translation-prepare
%else
%patch33 -p1
%endif
%patch34 -p1
%patch35 -p1
%patch60
# gnome-patch-translation-update