SHA256
1
0
forked from pool/gdm

Accepting request 44399 from home:dimstar:branches:GNOME:Factory

Copy from home:dimstar:branches:GNOME:Factory/gdm via accept of submit request 44399 revision 2.
Request was accepted with message:
thanks

OBS-URL: https://build.opensuse.org/request/show/44399
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=134
This commit is contained in:
Vincent Untz
2010-08-08 03:19:09 +00:00
committed by Git OBS Bridge
parent 0774b4f6c1
commit 9a89393a30
11 changed files with 110 additions and 203 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:884f4816a78f8f1eece8f1468f19dc01c5350d4a3513d3c0e854f45f870c1ec5
size 2381359

3
gdm-2.31.2.tar.bz2 Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e8ff63fbc1932d524166c363d8cff7fc40785caed6b086533edfa3572ef84aa
size 2378650

View File

@@ -1,8 +1,8 @@
Index: gdm-2.29.5/daemon/gdm-session-direct.c
Index: gdm-2.31.2/daemon/gdm-session-direct.c
===================================================================
--- gdm-2.29.5.orig/daemon/gdm-session-direct.c
+++ gdm-2.29.5/daemon/gdm-session-direct.c
@@ -48,6 +48,8 @@
--- gdm-2.31.2.orig/daemon/gdm-session-direct.c
+++ gdm-2.31.2/daemon/gdm-session-direct.c
@@ -50,6 +50,8 @@
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
@@ -11,9 +11,9 @@ Index: gdm-2.29.5/daemon/gdm-session-direct.c
#include "gdm-session-direct.h"
#include "gdm-session.h"
#include "gdm-session-private.h"
@@ -647,6 +649,15 @@ get_fallback_session_name (void)
int i;
char *name;
@@ -674,6 +676,15 @@ get_fallback_session_name (GdmSessionDir
}
}
+ name = gdm_sysconfig_load_value ("/etc/sysconfig/windowmanager", "DEFAULT_WM");
+ if (name && get_session_command_for_name (name, NULL)) {
@@ -26,4 +26,4 @@ Index: gdm-2.29.5/daemon/gdm-session-direct.c
+
name = g_strdup ("gnome");
if (get_session_command_for_name (name, NULL)) {
return name;
g_free (session_direct->priv->fallback_session_name);

View File

@@ -1,77 +0,0 @@
Index: gdm-2.30.2/gui/simple-greeter/gdm-greeter-login-window.c
===================================================================
--- gdm-2.30.2.orig/gui/simple-greeter/gdm-greeter-login-window.c
+++ gdm-2.30.2/gui/simple-greeter/gdm-greeter-login-window.c
@@ -406,6 +406,13 @@ set_log_in_button_mode (GdmGreeterLoginW
}
}
+static gboolean
+user_chooser_has_no_user (GdmGreeterLoginWindow *login_window)
+{
+ return (login_window->priv->user_chooser_loaded &&
+ gdm_chooser_widget_get_number_of_items (GDM_CHOOSER_WIDGET (login_window->priv->user_chooser)) == 0);
+}
+
static void
adjust_other_login_visibility(GdmGreeterLoginWindow *login_window)
{
@@ -565,7 +572,7 @@ reset_dialog (GdmGreeterLoginWindow *log
label = GTK_WIDGET (gtk_builder_get_object (GDM_GREETER_LOGIN_WINDOW (login_window)->priv->builder, "auth-prompt-label"));
gtk_label_set_text (GTK_LABEL (label), "");
- if (login_window->priv->user_list_disabled) {
+ if (login_window->priv->user_list_disabled || user_chooser_has_no_user (login_window)) {
switch_mode (login_window, MODE_AUTHENTICATION);
} else {
switch_mode (login_window, MODE_SELECTION);
@@ -603,8 +610,8 @@ gdm_greeter_login_window_ready (GdmGreet
set_focus (GDM_GREETER_LOGIN_WINDOW (login_window));
/* If the user list is disabled, then start the PAM conversation */
- if (login_window->priv->user_list_disabled) {
- g_debug ("Starting PAM conversation since user list disabled");
+ if (login_window->priv->user_list_disabled || user_chooser_has_no_user (login_window)) {
+ g_debug ("Starting PAM conversation since user list disabled or no local users");
g_signal_emit (G_OBJECT (login_window), signals[USER_SELECTED],
0, GDM_USER_CHOOSER_USER_OTHER);
g_signal_emit (login_window, signals[BEGIN_VERIFICATION], 0);
@@ -901,7 +908,16 @@ on_users_loaded (GdmUserChooserWidget *
update_banner_message (login_window);
adjust_other_login_visibility (login_window);
- gdm_chooser_widget_activate_if_one_item (GDM_CHOOSER_WIDGET (login_window->priv->user_chooser));
+ if (user_chooser_has_no_user (login_window)) {
+ /* There's no face browser to show */
+ login_window->priv->show_cancel_button = FALSE;
+ switch_mode (login_window, MODE_AUTHENTICATION);
+
+ g_debug ("Starting PAM conversation since no local users");
+ g_signal_emit (G_OBJECT (login_window), signals[USER_SELECTED],
+ 0, GDM_USER_CHOOSER_USER_OTHER);
+ g_signal_emit (login_window, signals[BEGIN_VERIFICATION], 0);
+ }
}
static void
@@ -1255,7 +1271,7 @@ update_banner_message (GdmGreeterLoginWi
} else {
char *message = NULL;
error = NULL;
- if (login_window->priv->user_chooser_loaded && gdm_chooser_widget_get_number_of_items (GDM_CHOOSER_WIDGET (login_window->priv->user_chooser)) == 0) {
+ if (user_chooser_has_no_user (login_window)) {
message = gconf_client_get_string (login_window->priv->client, KEY_BANNER_MESSAGE_TEXT_NOCHOOSER, &error);
if (error != NULL) {
g_debug("GdmGreeterLoginWindow: unable to get nochooser banner text: %s", error->message);
Index: gdm-2.30.2/gui/simple-greeter/gdm-chooser-widget.c
===================================================================
--- gdm-2.30.2.orig/gui/simple-greeter/gdm-chooser-widget.c
+++ gdm-2.30.2/gui/simple-greeter/gdm-chooser-widget.c
@@ -1915,6 +1915,7 @@ gdm_chooser_widget_init (GdmChooserWidge
add_separator (widget);
queue_column_visibility_update (widget);
+ update_chooser_visibility (widget);
}
static void

View File

@@ -1,11 +0,0 @@
Index: data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in
===================================================================
--- data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.orig 2010-04-27 23:51:57.000000000 +1000
+++ data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in 2010-05-07 08:08:26.000000000 +1000
@@ -1,5 +1,5 @@
[Desktop Entry]
Type=Application
_Name=PolicyKit Authentication Agent
-Exec=/usr/libexec/polkit-gnome-authentication-agent-1
+Exec=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
OnlyShowIn=GNOME;

View File

@@ -1,16 +1,16 @@
Index: gdm-2.29.1/gui/simple-greeter/gdm-greeter-panel.c
Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-panel.c
===================================================================
--- gdm-2.29.1.orig/gui/simple-greeter/gdm-greeter-panel.c
+++ gdm-2.29.1/gui/simple-greeter/gdm-greeter-panel.c
@@ -836,6 +836,7 @@ gdm_greeter_panel_init (GdmGreeterPanel
--- gdm-2.31.2.orig/gui/simple-greeter/gdm-greeter-panel.c
+++ gdm-2.31.2/gui/simple-greeter/gdm-greeter-panel.c
@@ -726,6 +726,7 @@ setup_panel (GdmGreeterPanel *panel)
{
NaTray *tray;
GtkWidget *spacer;
+ GdkScreen *screen;
int padding;
int padding;
gdm_profile_start (NULL);
@@ -964,7 +965,15 @@ gdm_greeter_panel_init (GdmGreeterPanel
@@ -846,7 +847,15 @@ setup_panel (GdmGreeterPanel *panel)
panel->priv->clock = gdm_clock_widget_new ();
gtk_box_pack_end (GTK_BOX (panel->priv->hbox),
GTK_WIDGET (panel->priv->clock), FALSE, FALSE, 6);
@@ -27,26 +27,3 @@ Index: gdm-2.29.1/gui/simple-greeter/gdm-greeter-panel.c
tray = na_tray_new_for_screen (gtk_window_get_screen (GTK_WINDOW (panel)),
GTK_ORIENTATION_HORIZONTAL);
Index: gdm-2.29.1/gui/simple-greeter/gdm-option-widget.c
===================================================================
--- gdm-2.29.1.orig/gui/simple-greeter/gdm-option-widget.c
+++ gdm-2.29.1/gui/simple-greeter/gdm-option-widget.c
@@ -645,8 +645,17 @@ gdm_option_widget_check_visibility (GdmO
(widget->priv->number_of_top_rows > 0 ||
widget->priv->number_of_middle_rows > 1 ||
widget->priv->number_of_bottom_rows > 0)) {
+ GdkScreen *screen;
gtk_widget_show (widget->priv->items_combo_box);
- gtk_widget_show (widget->priv->label);
+ screen = gtk_widget_get_screen (widget->priv->label);
+ if (!screen)
+ screen = gdk_screen_get_default ();
+
+ /* If resolution is limited, hide labels to conserve horizontal space */
+
+ if (!screen || gdk_screen_get_width (screen) >= 1280)
+ gtk_widget_show (widget->priv->label);
+
if (widget->priv->icon_name != NULL) {
gtk_widget_show (widget->priv->image);

View File

@@ -1,7 +1,7 @@
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
index 39def47..03488fd 100644
--- a/daemon/gdm-server.c
+++ b/daemon/gdm-server.c
Index: gdm-2.31.2/daemon/gdm-server.c
===================================================================
--- gdm-2.31.2.orig/daemon/gdm-server.c
+++ gdm-2.31.2/daemon/gdm-server.c
@@ -33,6 +33,8 @@
#include <grp.h>
#include <signal.h>
@@ -9,9 +9,9 @@ index 39def47..03488fd 100644
+#include <sys/ioctl.h>
+#include <sys/vt.h>
#include <glib.h>
#include <glib/gi18n.h>
@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server)
#ifdef HAVE_SYS_PRCTL_H
#include <sys/prctl.h>
@@ -154,6 +156,92 @@ _gdm_server_query_ck_for_display_device
return out;
}
@@ -104,7 +104,7 @@ index 39def47..03488fd 100644
char *
gdm_server_get_display_device (GdmServer *server)
{
@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer *server,
@@ -314,6 +402,11 @@ gdm_server_resolve_command_line (GdmServ
if (vtarg != NULL && ! gotvtarg) {
argv[len++] = g_strdup (vtarg);

View File

@@ -1,7 +1,7 @@
Index: daemon/gdm-display-access-file.c
===================================================================
--- daemon/gdm-display-access-file.c.orig 2010-03-18 08:27:16.000000000 +1100
+++ daemon/gdm-display-access-file.c 2010-05-11 07:44:22.000000000 +1000
--- daemon/gdm-display-access-file.c.orig
+++ 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] = "";
@@ -20,10 +20,10 @@ Index: daemon/gdm-display-access-file.c
gdm_display_get_remote_hostname (display, address, NULL);
Index: daemon/gdm-session-direct.c
===================================================================
--- daemon/gdm-session-direct.c.orig 2010-05-11 07:44:20.000000000 +1000
+++ daemon/gdm-session-direct.c 2010-05-11 07:44:22.000000000 +1000
@@ -2075,6 +2075,12 @@ setup_session_environment (GdmSessionDir
g_getenv ("WINDOWPATH"));
--- daemon/gdm-session-direct.c.orig
+++ daemon/gdm-session-direct.c
@@ -2120,6 +2120,12 @@ setup_session_environment (GdmSessionDir
}
+ if (session->priv->display_is_local) {
@@ -37,9 +37,9 @@ Index: daemon/gdm-session-direct.c
*/
Index: daemon/gdm-slave.c
===================================================================
--- daemon/gdm-slave.c.orig 2010-04-27 23:48:54.000000000 +1000
+++ daemon/gdm-slave.c 2010-05-11 07:44:22.000000000 +1000
@@ -233,6 +233,10 @@ get_script_environment (GdmSlave *slav
--- daemon/gdm-slave.c.orig
+++ daemon/gdm-slave.c
@@ -234,6 +234,10 @@ get_script_environment (GdmSlave *slav
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (slave->priv->display_hostname));
}
@@ -50,7 +50,7 @@ Index: daemon/gdm-slave.c
/* 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));
@@ -481,6 +485,7 @@ gdm_slave_connect_to_x11_display (GdmSla
@@ -483,6 +487,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);
@@ -60,16 +60,25 @@ Index: daemon/gdm-slave.c
sigaddset (&mask, SIGCHLD);
Index: daemon/gdm-welcome-session.c
===================================================================
--- daemon/gdm-welcome-session.c.orig 2010-04-27 03:08:42.000000000 +1000
+++ daemon/gdm-welcome-session.c 2010-05-11 07:44:22.000000000 +1000
@@ -420,6 +420,10 @@ get_welcome_environment (GdmWelcomeSessi
g_hash_table_insert (hash, g_strdup ("SHELL"), g_strdup (pwent->pw_shell));
--- daemon/gdm-welcome-session.c.orig
+++ daemon/gdm-welcome-session.c
@@ -435,6 +435,11 @@ get_welcome_environment (GdmWelcomeSessi
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
}
+ 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")));
g_hash_table_insert (hash, g_strdup ("WINDOWPATH"), g_strdup (g_getenv ("WINDOWPATH")));
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
@@ -448,7 +453,6 @@ get_welcome_environment (GdmWelcomeSessi
return env;
}
-
static gboolean
stop_dbus_daemon (GdmWelcomeSession *welcome_session)
{

View File

@@ -1,34 +0,0 @@
From 34a3c576fd7a15721765a43939f44978a93d43f9 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 16 Jun 2010 16:33:20 +0000
Subject: Call XdmcpFill with properly initialized length
commit e533f4b72568cdc3d7f7ec6cec09d9392b11d54c cleaned
up various XDMCP issues, but it unfortunately also created
a bug making XDMCP fail a high percentage of the time.
XdmcpFill takes an in-out length argument. This argument was getting
passed an uninitialized variable.
(cherry picked from commit 86ac166294f0fc8f662031167066acf1928cf139)
---
diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
index 447833d..791bba3 100644
--- a/daemon/gdm-xdmcp-display-factory.c
+++ b/daemon/gdm-xdmcp-display-factory.c
@@ -2879,12 +2879,13 @@ decode_packet (GIOChannel *source,
return TRUE;
}
+ ss_len = (int)gdm_sockaddr_len (&clnt_ss);
+
res = XdmcpFill (factory->priv->socket_fd, &factory->priv->buf, (XdmcpNetaddr)&clnt_ss, &ss_len);
if G_UNLIKELY (! res) {
g_debug ("GdmXdmcpDisplayFactory: Could not create XDMCP buffer!");
return TRUE;
}
- ss_len = (int)gdm_sockaddr_len (&clnt_ss);
res = XdmcpReadHeader (&factory->priv->buf, &header);
if G_UNLIKELY (! res) {
--
cgit v0.8.3.1

View File

@@ -1,3 +1,57 @@
-------------------------------------------------------------------
Fri Jul 30 15:40:22 CEST 2010 - dimstar@opensuse.org
- Update to version 2.31.2:
+ Add support for legacy "custom" session name
+ Various build and warning fixes
+ XDMCP fixes
+ Add optional support for account service
+ Fix crash with multiple user switcher applets
+ Gracefully hide control center from user switch menu if not
available
+ Revert metacity focus workaround, now that metacity is fixed
+ Rehide g-p-m context menu
+ Updates to work better with newer icon theme
+ fix non-source-dir builds
+ show username input box when there's no local user
+ Various memory leaks
+ remove gdm-restart and gdm-stop scripts
+ remove text labels from option menus
+ various user manager and user chooser fixes and performance
enhancements
+ various crasher fixes
+ escape names before showing markup
+ Call button "unlock" not "login" when user is already logged
in
+ Cap how long ck-history is allowed to run and how far back its
allowed to go
+ Improvements to the way users are sorted
+ ensure slave's children always die with the slave
+ halectomy of the last remnants of hal
+ don't exit when X fails to start
+ trap XAddHosts call
+ minor fixes in screenshot tool
+ use lsb_release if available to determine system description
+ automatically retry on login failure
+ improve coverage of test programs
+ fix timed login + disable-user-list together
- Changes from version 2.31.1:
+ bgo@594818: Now GDM saves its GConf settings per-seat.
+ bgo#617661: Enable FD_CLOEXEC for signal self-pipe
+ Improvements so compiling with -DGSEAL_ENABLE works better.
+ Use g_remove() to remove directories instead of g_unlink().
+ bgo#576801: No longer clear the entry field by setting it to a
list of '\b' characters. Now use gtk_editable_delete_text
which safely clears the entry field instead.
+ bgo#609272: Fix setting of WINDOWPATH so it does not assume the
format is 32 bit
+ bgo#591937: does not compile when ENODATA is not available.
- Drop upstream included gdm-polkit-gnome-path.patch,
gdm-xdmcp-uninitialized.patch and gdm-greeter-no-local-user.patch
- As no more patches touch translation, remove calls to
patch-translation.
- Rebase gdm-xauthlocalhostname.patch.
-------------------------------------------------------------------
Tue Jun 22 02:39:36 CEST 2010 - vuntz@opensuse.org

View File

@@ -1,5 +1,5 @@
#
# spec file for package gdm (Version 2.30.2)
# spec file for package gdm (Version 2.31.2)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -41,8 +41,8 @@ BuildRequires: xorg-x11-server-extra
BuildRequires: zenity
License: GPLv2+
Group: System/GUI/GNOME
Version: 2.30.2
Release: 5
Version: 2.31.2
Release: 1
Summary: The GNOME 2.x Display Manager
Source: %{name}-%{version}.tar.bz2
Source1: gdm.pamd
@@ -61,9 +61,9 @@ Patch6: gdm-desktop-session-env-pam.patch
Patch7: gdm-suse-xsession.patch
# PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager
Patch8: gdm-sysconfig-settings.patch
# PATCH-FEATURE-SLED gdm-domain-logon.patch hpj@novell.com -- Add UI to log in a specific domain
# PATCH-NEEDS-REBASE gdm-domain-logon.patch hpj@novell.com -- Add UI to log in a specific domain (was: PATCH_FEATURE-SLED bnc#627575)
Patch9: gdm-domain-logon.patch
# PATCH-FIX-UPSTREAM gdm-greeter-greater-ui.patch bnc436431 bgo560508 vuntz@novell.com -- Improve the layout of the greeter. Note: the patch contains a patched glade file *and* the result glade file (for reference only, in case we need to rebase the patch)
# PATCH-NEEDS-REBASE gdm-greeter-greater-ui.patch bnc436431 bgo560508 vuntz@novell.com -- Improve the layout of the greeter. Note: the patch contains a patched glade file *and* the result glade file (for reference only, in case we need to rebase the patch) (WAS: PATCH-FIX-UPSTREAM bnc#627583)
Patch15: gdm-greeter-greater-ui.patch
# PATCH-FIX-UPSTREAM gdm-always-reflect-keyboard-layout.patch bnc438159 bgo561771 hpj@novell.com -- Make keyboard selector not neglect to apply the selected keyboard in some situations.
Patch18: gdm-always-reflect-keyboard-layout.patch
@@ -79,16 +79,10 @@ Patch34: gdm-default-wm.patch
Patch35: gdm-xauthlocalhostname.patch
# PATCH-FIX-UPSTREAM gdm-autologin-once.patch bgo587606 vuntz@novell.com -- Make autologin work only once
Patch37: gdm-autologin-once.patch
# PATCH-FIX-UPSTREAM gdm-polkit-gnome-path.patch bgo597050 vuntz@opensuse.org -- Use the right patch for the polkit agent. The current patch is a quick workaround for now, until we know how upstream wants to fix this.
Patch39: gdm-polkit-gnome-path.patch
# PATCH-FIX-UPSTREAM gdm-look-at-runlevel.patch bnc540482 bgo599180 vuntz@opensuse.org -- Look at the current runlevel before managing the display again, so we don't do this when shutting down or rebooting
Patch40: gdm-look-at-runlevel.patch
# PATCH-FIX-UPSTREAM gdm-add-missing-locale.patch captain.magnus@opensuse.org -- Add missing locale.alias file. This patch can be removed with the next version update
Patch41: gdm-add-missing-locale.patch
# PATCH-FIX-UPSTREAM gdm-xdmcp-uninitialized.patch captain.magnus@opensuse.org -- Fix an uninitialized variable. Patch taken from git upstream and can be removed with the next update
Patch42: gdm-xdmcp-uninitialized.patch
# PATCH-FIX-UPSTREAM gdm-greeter-no-local-user.patch bnc615044 bgo622069 vuntz@opensuse.org -- Fix greeter to work when there's no local user on the machine. Patch was committed upstream.
Patch43: gdm-greeter-no-local-user.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/
@@ -148,15 +142,14 @@ the GNOME display manager.
%prep
%setup -q
translation-update-upstream
gnome-patch-translation-prepare
%patch1 -p1
%patch2 -p1
%patch4 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch15 -p1
#%patch9 -p1
#%patch15 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
@@ -164,13 +157,9 @@ gnome-patch-translation-prepare
%patch34 -p1
%patch35 -p0
%patch37 -p1
%patch39 -p0
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch60
gnome-patch-translation-update
%build
libtoolize -f -i