diff --git a/gdm-2.30.2.tar.bz2 b/gdm-2.30.2.tar.bz2 new file mode 100644 index 0000000..5d2cd67 --- /dev/null +++ b/gdm-2.30.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:884f4816a78f8f1eece8f1468f19dc01c5350d4a3513d3c0e854f45f870c1ec5 +size 2381359 diff --git a/gdm-2.31.2.tar.bz2 b/gdm-2.31.2.tar.bz2 deleted file mode 100644 index 311411c..0000000 --- a/gdm-2.31.2.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e8ff63fbc1932d524166c363d8cff7fc40785caed6b086533edfa3572ef84aa -size 2378650 diff --git a/gdm-add-missing-locale.patch b/gdm-add-missing-locale.patch new file mode 100644 index 0000000..dc88385 --- /dev/null +++ b/gdm-add-missing-locale.patch @@ -0,0 +1,14 @@ +diff --git a/data/locale.alias b/data/locale.alias +new file mode 100644 +index 0000000..7cabea6 +--- a/dev/null ++++ b/data/locale.alias +@@ -0,0 +1,7 @@ ++# You could insert none UTF-8 locales likes C, ja_JP.eucJP ++# The format is language label, space and locale name but ++# the language label is no longer used. ++# ++# This file will be removed in the future once gdm setup tool is generated. ++# ++#Unspecified C,POSIX + diff --git a/gdm-default-wm.patch b/gdm-default-wm.patch index fbd3c29..5d96154 100644 --- a/gdm-default-wm.patch +++ b/gdm-default-wm.patch @@ -1,8 +1,8 @@ -Index: gdm-2.30.4/daemon/gdm-session-direct.c +Index: gdm-2.29.5/daemon/gdm-session-direct.c =================================================================== ---- gdm-2.30.4.orig/daemon/gdm-session-direct.c -+++ gdm-2.30.4/daemon/gdm-session-direct.c -@@ -50,6 +50,8 @@ +--- gdm-2.29.5.orig/daemon/gdm-session-direct.c ++++ gdm-2.29.5/daemon/gdm-session-direct.c +@@ -48,6 +48,8 @@ #include #include @@ -11,18 +11,19 @@ Index: gdm-2.30.4/daemon/gdm-session-direct.c #include "gdm-session-direct.h" #include "gdm-session.h" #include "gdm-session-private.h" -@@ -662,6 +664,14 @@ get_fallback_session_name (GdmSessionDir - } - } +@@ -647,6 +649,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)) { -+ g_free (session_direct->priv->fallback_session_name); -+ session_direct->priv->fallback_session_name = name; -+ goto out; ++ return name; ++ } ++ ++ if (name) { ++ g_free (name); + } -+ g_free (name); + name = g_strdup ("gnome"); if (get_session_command_for_name (name, NULL)) { - g_free (session_direct->priv->fallback_session_name); + return name; diff --git a/gdm-greeter-greater-ui.patch b/gdm-greeter-greater-ui.patch index 03c3830..a2d3cfd 100644 --- a/gdm-greeter-greater-ui.patch +++ b/gdm-greeter-greater-ui.patch @@ -1,8 +1,8 @@ -Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.c +Index: gdm-2.30.2/gui/simple-greeter/gdm-greeter-login-window.c =================================================================== ---- gdm-2.31.2.orig/gui/simple-greeter/gdm-greeter-login-window.c -+++ gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.c -@@ -1044,35 +1044,6 @@ on_user_unchosen (GdmUserChooserWidget +--- 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 +@@ -950,35 +950,6 @@ on_user_unchosen (GdmUserChooserWidget do_cancel (login_window); } @@ -38,7 +38,7 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.c static char * file_read_one_line (const char *filename) { -@@ -1184,16 +1155,19 @@ create_computer_info (GdmGreeterLoginWin +@@ -1077,16 +1048,19 @@ create_computer_info (GdmGreeterLoginWin if (strcmp (localhost, "localhost") == 0 || strcmp (localhost, "localhost.localdomain") == 0) { @@ -60,7 +60,7 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.c } gdm_profile_end (NULL); -@@ -1293,9 +1267,6 @@ load_theme (GdmGreeterLoginWindow *login +@@ -1190,9 +1164,6 @@ load_theme (GdmGreeterLoginWindow *login create_computer_info (login_window); @@ -70,10 +70,10 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.c if (login_window->priv->user_list_disabled) { switch_mode (login_window, MODE_AUTHENTICATION); } else { -Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui +Index: gdm-2.30.2/gui/simple-greeter/gdm-greeter-login-window.ui =================================================================== ---- gdm-2.31.2.orig/gui/simple-greeter/gdm-greeter-login-window.ui -+++ gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui +--- gdm-2.30.2.orig/gui/simple-greeter/gdm-greeter-login-window.ui ++++ gdm-2.30.2/gui/simple-greeter/gdm-greeter-login-window.ui @@ -2,28 +2,29 @@ @@ -119,7 +119,7 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui False -@@ -32,227 +33,103 @@ +@@ -32,271 +33,203 @@ @@ -188,45 +188,96 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui - False - - -- + - - - - -- True -- ++ + True ++ center ++ True + - - 2 - False - -- -- + ++ ++ ++ False ++ False ++ 2 ++ ++ ++ ++ ++ 1 ++ ++ ++ ++ ++ 0 ++ ++ ++ ++ ++ True ++ ++ ++ True ++ vertical ++ 10 ++ ++ ++ ++ ++ ++ True ++ 6 + - - - - -- True -- -- ++ + True ++ ++ ++ + + - 3 - False -- -- -- ++ False ++ False ++ 0 + + + - - - - -- True -- -- ++ + True ++ True ++ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK ++ ++ True ++ ++ ++ + + - 4 - False -- -- -- -- -- ++ 1 + + + + + - - - True @@ -236,20 +287,29 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui - False - - ++ ++ ++ False ++ False ++ 1 ++ ++ ++ ++ ++ True - - - - -+ ++ True -+ center -+ True -- + - 6 - False -- ++ 0 + + @@ -259,51 +319,59 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui + - +- - False - False - 1 - +- 1 +- + + -+ 0 ++ 1 + + + -+ ++ + True ++ 6 ++ end - -- True ++ ++ gtk-cancel + True - center - True -- -- ++ True ++ False ++ True + + - 3 -- -- -- ++ False ++ False ++ 4 + + + - -+ ++ True -+ vertical -+ 10 -+ -+ -+ ++ True ++ True ++ True ++ False - -+ ++ True - 10 -+ 6 - +- - - -- + - -+ ++ True - 6 - @@ -337,20 +405,18 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui - - - -+ -+ -+ ++ 16 - False - False +- False +- False - 1 + 0 - -+ ++ True - - @@ -360,13 +426,8 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui - 0 - - -+ True -+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK -+ -+ True -+ -+ -+ ++ 0 ++ Log In - False @@ -375,10 +436,10 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui + 1 -- -- -- -- + + + + - 4 - - @@ -389,106 +450,58 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui - end - - -- Cancel +- gtk-cancel - True - True +- False +- True - - - False - False -- 0 +- 4 - - - -- -- Unlock -- True -- True -- True -- True -+ -+ -+ - - - False -@@ -261,31 +138,88 @@ - - - - -- Login -+ - True +- True - True - True - True - False -+ -+ -+ True -+ -+ -+ 0 -+ -+ - - - False - False +- +- +- True +- +- +- True +- 16 +- +- +- 0 +- +- +- +- +- True +- 0 +- Log In +- +- +- 1 +- +- +- +- +- +- +- False +- False - 5 -+ 2 - - - -+ -+ -+ -+ 1 -+ -+ -+ -+ -+ True -+ 6 -+ end -+ -+ -+ gtk-cancel -+ True -+ True -+ True -+ -+ -+ False -+ False -+ 0 -+ -+ -+ -+ -+ Unlock -+ True -+ True -+ True -+ True -+ -+ -+ False -+ False -+ 1 -+ -+ -+ -+ -+ Login -+ True -+ True -+ True -+ True -+ False -+ - +- +- +- +- False False - end @@ -510,11 +523,11 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui + + -Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui.new +Index: gdm-2.30.2/gui/simple-greeter/gdm-greeter-login-window.ui.new =================================================================== --- /dev/null -+++ gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui.new -@@ -0,0 +1,225 @@ ++++ gdm-2.30.2/gui/simple-greeter/gdm-greeter-login-window.ui.new +@@ -0,0 +1,235 @@ + + + @@ -689,36 +702,46 @@ Index: gdm-2.31.2/gui/simple-greeter/gdm-greeter-login-window.ui.new + gtk-cancel + True + True ++ False + True + + + False + False -+ 0 -+ -+ -+ -+ -+ Unlock -+ True -+ True -+ True -+ True -+ -+ -+ False -+ False -+ 1 ++ 4 + + + + -+ Login + True + True + True + True + False ++ ++ ++ True ++ ++ ++ True ++ 16 ++ ++ ++ 0 ++ ++ ++ ++ ++ True ++ 0 ++ Log In ++ ++ ++ 1 ++ ++ ++ ++ + + + False diff --git a/gdm-greeter-no-local-user.patch b/gdm-greeter-no-local-user.patch new file mode 100644 index 0000000..32aee2d --- /dev/null +++ b/gdm-greeter-no-local-user.patch @@ -0,0 +1,77 @@ +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 diff --git a/gdm-polkit-gnome-path.patch b/gdm-polkit-gnome-path.patch new file mode 100644 index 0000000..84c4963 --- /dev/null +++ b/gdm-polkit-gnome-path.patch @@ -0,0 +1,11 @@ +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; diff --git a/gdm-save-panel-space-on-low-resolutions.patch b/gdm-save-panel-space-on-low-resolutions.patch new file mode 100644 index 0000000..5e7080e --- /dev/null +++ b/gdm-save-panel-space-on-low-resolutions.patch @@ -0,0 +1,52 @@ +Index: gdm-2.29.1/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 + { + NaTray *tray; + GtkWidget *spacer; ++ GdkScreen *screen; + int padding; + + gdm_profile_start (NULL); +@@ -964,7 +965,15 @@ gdm_greeter_panel_init (GdmGreeterPanel + panel->priv->clock = gdm_clock_widget_new (); + gtk_box_pack_end (GTK_BOX (panel->priv->hbox), + GTK_WIDGET (panel->priv->clock), FALSE, FALSE, 6); +- gtk_widget_show (panel->priv->clock); ++ ++ screen = gtk_widget_get_screen (panel->priv->clock); ++ if (!screen) ++ screen = gdk_screen_get_default (); ++ ++ /* If resolution is limited, hide clock to conserve horizontal space */ ++ ++ if (!screen || gdk_screen_get_width (screen) >= 1024) ++ gtk_widget_show (panel->priv->clock); + + 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); diff --git a/gdm-vt-allocation-hack.patch b/gdm-vt-allocation-hack.patch index 40fa8ea..8450fc6 100644 --- a/gdm-vt-allocation-hack.patch +++ b/gdm-vt-allocation-hack.patch @@ -1,7 +1,7 @@ -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 +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 @@ -33,6 +33,8 @@ #include #include @@ -9,9 +9,9 @@ Index: gdm-2.31.2/daemon/gdm-server.c +#include +#include - #ifdef HAVE_SYS_PRCTL_H - #include -@@ -154,6 +156,92 @@ _gdm_server_query_ck_for_display_device + #include + #include +@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server) return out; } @@ -104,7 +104,7 @@ Index: gdm-2.31.2/daemon/gdm-server.c char * gdm_server_get_display_device (GdmServer *server) { -@@ -314,6 +402,11 @@ gdm_server_resolve_command_line (GdmServ +@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer *server, if (vtarg != NULL && ! gotvtarg) { argv[len++] = g_strdup (vtarg); diff --git a/gdm-xauthlocalhostname.patch b/gdm-xauthlocalhostname.patch index 5bd774a..42635a1 100644 --- a/gdm-xauthlocalhostname.patch +++ b/gdm-xauthlocalhostname.patch @@ -1,7 +1,7 @@ Index: daemon/gdm-display-access-file.c =================================================================== ---- daemon/gdm-display-access-file.c.orig -+++ 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 @@ -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 -+++ daemon/gdm-session-direct.c -@@ -2119,6 +2119,12 @@ setup_session_environment (GdmSessionDir - } +--- 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")); + 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 -+++ daemon/gdm-slave.c -@@ -234,6 +234,10 @@ get_script_environment (GdmSlave *slav +--- 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 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)); -@@ -483,6 +487,7 @@ gdm_slave_connect_to_x11_display (GdmSla +@@ -481,6 +485,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,17 +60,16 @@ Index: daemon/gdm-slave.c sigaddset (&mask, SIGCHLD); Index: daemon/gdm-welcome-session.c =================================================================== ---- 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)); +--- 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)); } + 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")); diff --git a/gdm-xdmcp-uninitialized.patch b/gdm-xdmcp-uninitialized.patch new file mode 100644 index 0000000..8dd3060 --- /dev/null +++ b/gdm-xdmcp-uninitialized.patch @@ -0,0 +1,34 @@ +From 34a3c576fd7a15721765a43939f44978a93d43f9 Mon Sep 17 00:00:00 2001 +From: Ray Strode +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 diff --git a/gdm.changes b/gdm.changes index 84be5c5..6ea6503 100644 --- a/gdm.changes +++ b/gdm.changes @@ -1,68 +1,3 @@ -------------------------------------------------------------------- -Sun Aug 8 05:18:29 CEST 2010 - vuntz@opensuse.org - -- Cleanup update to 2.31.2, based on the 2.30.4 package I did for - GNOME:STABLE:2.30. -- Drop gdm-save-panel-space-on-low-resolutions.patch: fixed - upstream, in a different way. -- Drop gdm-add-missing-locale.patch: the file is now in the - tarball. -- Update gdm-default-wm.patch after code change. -- Rebase gdm-greeter-greater-ui.patch. - -------------------------------------------------------------------- -Fri Jul 30 15:40:22 CEST 2010 - dimstar@opensuse.org - -- Update to version 2.31.2: - + Add support for legacy "custom" session name - + XDMCP fixes - + Add optional support for account service - + 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 - + Show username input box when there's no local user - + Remove gdm-restart and gdm-stop scripts - + Remove text labels from option menus - + Various user manager and user chooser fixes and performance - enhancements - + 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 - + Use lsb_release if available to determine system description - + Automatically retry on login failure - + Fix timed login + disable-user-list together - + Don't exit when X fails to start - + Trap XAddHosts call - + Minor fixes in screenshot tool - + Halectomy of the last remnants of hal - + Various crasher fixes - + Various memory leaks - + Various build and warning fixes -- Changes from version 2.31.1: - + bgo#594818: Now GDM saves its GConf settings per-seat. - + Improvements so compiling with -DGSEAL_ENABLE works better. - + Use g_remove() to remove directories instead of g_unlink(). - + Other bugs fixed: bgo#617661, bgo#576801, bgo#609272, - bgo#591937 -- Rebase gdm-vt-allocation-hack.patch to apply without fuzz. -- Rebase gdm-xauthlocalhostname.patch. -- Mark gdm-domain-logon.patch as needing a rebase: it's a SLED - patch that is intrusive, so we'll see if someone rebases it. - Comment out gnome-patch-translation-prepare and - gnome-patch-translation-update calls since this patch was the one - introducing strings. -- Drop gdm-polkit-gnome-path.patch: fixed upstream with a - configure option that we already passed - (--with-polkit-gnome-directory). -- Drop gdm-xdmcp-uninitialized.patch: fixed upstream. -- Drop gdm-greeter-no-local-user.patch: fixed upstream. - ------------------------------------------------------------------- Tue Jun 22 02:39:36 CEST 2010 - vuntz@opensuse.org diff --git a/gdm.spec b/gdm.spec index cc93a3e..b09f352 100644 --- a/gdm.spec +++ b/gdm.spec @@ -1,5 +1,5 @@ # -# spec file for package gdm (Version 2.31.2) +# spec file for package gdm (Version 2.30.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.31.2 -Release: 1 +Version: 2.30.2 +Release: 5 Summary: The GNOME 2.x Display Manager Source: %{name}-%{version}.tar.bz2 Source1: gdm.pamd @@ -61,12 +61,14 @@ 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-NEEDS-REBASE gdm-domain-logon.patch hpj@novell.com -- Add UI to log in a specific domain (was: PATCH_FEATURE-SLED bnc#627575) +# PATCH-FEATURE-SLED gdm-domain-logon.patch hpj@novell.com -- Add UI to log in a specific domain 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) 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 +# PATCH-FIX-UPSTREAM gdm-save-panel-space-on-low-resolutions.patch bnc449815 bgo603817 hpj@novell.com -- Hide clock and/or selector labels on low resolutions. (needed because of gdm-domain-logon.patch) +Patch19: gdm-save-panel-space-on-low-resolutions.patch # PATCH-FIX-UPSTREAM gdm-selecting-desktop-environment.patch bnc460591 mxwu@novell.com -- Selecting the right desktop environment Patch20: gdm-selecting-desktop-environment.patch # PATCH-FIX-OPENSUSE gdm-gconf-path.patch vuntz@novell.com -- Fix gconf paths to be consistent with the ones used in openSUSE @@ -77,8 +79,16 @@ 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/ @@ -138,24 +148,29 @@ the GNOME display manager. %prep %setup -q translation-update-upstream -#gnome-patch-translation-prepare +gnome-patch-translation-prepare %patch1 -p1 %patch2 -p1 %patch4 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 -#%patch9 -p1 +%patch9 -p1 %patch15 -p1 %patch18 -p1 +%patch19 -p1 %patch20 -p1 %patch31 -p1 %patch34 -p1 %patch35 -p0 %patch37 -p1 +%patch39 -p0 %patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 %patch60 -#gnome-patch-translation-update +gnome-patch-translation-update %build libtoolize -f -i @@ -231,7 +246,7 @@ fi %doc AUTHORS COPYING ChangeLog NEWS README %dir %config %{_sysconfdir}/gdm %config %{_sysconfdir}/gdm/[IPXl]* -%{_sbindir}/gdm +%{_sbindir}/* %{_bindir}/* %{_datadir}/gdm %{_datadir}/pixmaps/*.png