From cc5c3243dd4740ba532e5a3bf29ae618884d17f0f9b47f31198bbe9e391c048d Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 24 Jul 2008 22:53:09 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnome-session?expand=0&rev=55 --- ...session-2.12.0-su-session-management.patch | 25 -- gnome-session-2.19.92-kdm-support.patch | 318 --------------- gnome-session-2.20.0-safe-a11y-startup.patch | 53 --- gnome-session-DESKTOP_LAUNCH.patch | 14 - ...ssion-bnc385150-performance-hostname.patch | 53 --- gnome-session-bnc389137-splash-layout.patch | 64 ++-- gnome-session-gcc4.3-fixes.patch | 38 -- gnome-session-gnome-wm-compiz-manager.patch | 4 +- gnome-session-ice-auth-for-suid.patch | 14 + gnome-session-include-unistd.patch | 22 -- gnome-session-kdm-support.patch | 362 ++++++++++++++++++ gnome-session-motd.patch | 251 ------------ gnome-session-no-devel-fatals.patch | 13 - ...session-parse-autostart-command-line.patch | 70 ---- gnome-session-remove-dns-warning.patch | 141 ------- gnome-session-suspend.patch | 111 ------ gnome-session-wm-switch.patch | 128 ++----- gnome-session.changes | 35 ++ gnome-session.spec | 209 +++++----- 19 files changed, 580 insertions(+), 1345 deletions(-) delete mode 100644 gnome-session-2.12.0-su-session-management.patch delete mode 100644 gnome-session-2.19.92-kdm-support.patch delete mode 100644 gnome-session-2.20.0-safe-a11y-startup.patch delete mode 100644 gnome-session-DESKTOP_LAUNCH.patch delete mode 100644 gnome-session-bnc385150-performance-hostname.patch delete mode 100644 gnome-session-gcc4.3-fixes.patch create mode 100644 gnome-session-ice-auth-for-suid.patch delete mode 100644 gnome-session-include-unistd.patch create mode 100644 gnome-session-kdm-support.patch delete mode 100644 gnome-session-motd.patch delete mode 100644 gnome-session-no-devel-fatals.patch delete mode 100644 gnome-session-parse-autostart-command-line.patch delete mode 100644 gnome-session-remove-dns-warning.patch delete mode 100644 gnome-session-suspend.patch diff --git a/gnome-session-2.12.0-su-session-management.patch b/gnome-session-2.12.0-su-session-management.patch deleted file mode 100644 index 432c9a6..0000000 --- a/gnome-session-2.12.0-su-session-management.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: gnome-session-2.19.4/gnome-session/ice.c -=================================================================== ---- gnome-session-2.19.4.orig/gnome-session/ice.c -+++ gnome-session-2.19.4/gnome-session/ice.c -@@ -384,6 +384,8 @@ initialize_ice (void) - ids = IceComposeNetworkIdList (num_sockets, sockets); - g_setenv (ENVNAME, ids, TRUE); - free (ids); -+ -+ putenv (g_strconcat (ICE_AUTHORITY_ENV_NAME "=", authfile, NULL)); - - ice_depth = 0; /* We are live */ - } -Index: gnome-session-2.19.4/gnome-session/ice.h -=================================================================== ---- gnome-session-2.19.4.orig/gnome-session/ice.h -+++ gnome-session-2.19.4/gnome-session/ice.h -@@ -24,6 +24,7 @@ - - #define MAGIC_COOKIE_LEN 16 - #define ENVNAME "SESSION_MANAGER" -+#define ICE_AUTHORITY_ENV_NAME "ICEAUTHORITY" - - /* List of all auth entries. */ - extern GSList *auth_entries; diff --git a/gnome-session-2.19.92-kdm-support.patch b/gnome-session-2.19.92-kdm-support.patch deleted file mode 100644 index f15c413..0000000 --- a/gnome-session-2.19.92-kdm-support.patch +++ /dev/null @@ -1,318 +0,0 @@ ---- gnome-session/gdm-logout-action.c -+++ gnome-session/gdm-logout-action.c -@@ -56,6 +56,8 @@ - #define GDM_ACTION_STR_REBOOT "REBOOT" - #define GDM_ACTION_STR_SUSPEND "SUSPEND" - -+#define KDM_PROTOCOL_MSG_QUERY_ACTION "caps" -+ - typedef struct { - int fd; - char *auth_cookie; -@@ -64,6 +66,8 @@ - GdmLogoutAction current_actions; - - time_t last_update; -+ -+ guint is_kdm : 1; - } GdmProtocolData; - - static GdmProtocolData gdm_protocol_data = { -@@ -71,11 +75,12 @@ - NULL, - GDM_LOGOUT_ACTION_NONE, - GDM_LOGOUT_ACTION_NONE, -- 0 -+ 0, -+ FALSE - }; - - static char * --gdm_send_protocol_msg (GdmProtocolData *data, -+dm_send_protocol_msg (GdmProtocolData *data, - const char *msg) - { - GString *retval; -@@ -87,7 +92,7 @@ - if (write (data->fd, p, strlen (p)) < 0) { - g_free (p); - -- g_warning ("Failed to send message to GDM: %s", -+ g_warning ("Failed to send message to display manager: %s", - g_strerror (errno)); - return NULL; - } -@@ -153,7 +158,7 @@ - - msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s", - data->auth_cookie); -- response = gdm_send_protocol_msg (data, msg); -+ response = dm_send_protocol_msg (data, msg); - g_free (msg); - - if (response && !strcmp (response, "OK")) { -@@ -195,7 +200,7 @@ - XauDisposeAuth (xau); - - msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s", buffer); -- response = gdm_send_protocol_msg (data, msg); -+ response = dm_send_protocol_msg (data, msg); - g_free (msg); - - if (response && !strcmp (response, "OK")) { -@@ -218,7 +223,7 @@ - } - - static void --gdm_shutdown_protocol_connection (GdmProtocolData *data) -+dm_shutdown_protocol_connection (GdmProtocolData *data) - { - if (data->fd) - close (data->fd); -@@ -237,7 +242,7 @@ - if (data->fd < 0) { - g_warning ("Failed to create GDM socket: %s", - g_strerror (errno)); -- gdm_shutdown_protocol_connection (data); -+ dm_shutdown_protocol_connection (data); - return FALSE; - } - -@@ -251,16 +256,16 @@ - if (connect (data->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) { - g_warning ("Failed to establish a connection with GDM: %s", - g_strerror (errno)); -- gdm_shutdown_protocol_connection (data); -+ dm_shutdown_protocol_connection (data); - return FALSE; - } - -- response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION); -+ response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION); - if (!response || strncmp (response, "GDM ", strlen ("GDM ") != 0)) { - g_free (response); - - g_warning ("Failed to get protocol version from GDM"); -- gdm_shutdown_protocol_connection (data); -+ dm_shutdown_protocol_connection (data); - - return FALSE; - } -@@ -268,13 +273,78 @@ - - if (!gdm_authenticate_connection (data)) { - g_warning ("Failed to authenticate with GDM"); -- gdm_shutdown_protocol_connection (data); -+ dm_shutdown_protocol_connection (data); - return FALSE; - } - - return TRUE; - } - -+static gboolean -+kdm_init_protocol_connection (GdmProtocolData *data) -+{ -+ struct sockaddr_un addr; -+ char *response; -+ char *dm_display; -+ char *dm_control; -+ char *p0 = NULL; -+ -+ g_assert (data->fd <= 0); -+ -+ data->fd = socket (AF_UNIX, SOCK_STREAM, 0); -+ if (data->fd < 0) { -+ g_warning ("Failed to create KDM socket: %s", -+ g_strerror (errno)); -+ dm_shutdown_protocol_connection (data); -+ return FALSE; -+ } -+ -+ dm_display = g_strdup (g_getenv ("DISPLAY")); -+ dm_control = g_strdup (g_getenv ("DM_CONTROL")); -+ -+ if (dm_display && (p0 = strchr (dm_display, ':'))) -+ p0 = strchr (p0, '.'); -+ -+ if (!dm_control || !strlen (dm_control) || -+ !dm_display || !strlen (dm_display)) { -+ g_free (dm_control); -+ g_free (dm_display); -+ -+ g_warning ("Could not locate KDM socket."); -+ dm_shutdown_protocol_connection (data); -+ return FALSE; -+ } -+ -+ snprintf (addr.sun_path, sizeof (addr.sun_path), "%s/dmctl-%.*s/socket", -+ dm_control, p0 ? p0 - dm_display : 512, dm_display); -+ addr.sun_family = AF_UNIX; -+ -+ g_free (dm_display); -+ g_free (dm_control); -+ -+ if (connect (data->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) { -+ g_warning ("Failed to establish a connection with KDM: %s", -+ g_strerror (errno)); -+ dm_shutdown_protocol_connection (data); -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+static gboolean -+dm_init_protocol_connection (GdmProtocolData *data) -+{ -+ if (g_getenv ("DM_CONTROL") && !g_getenv ("GDMSESSION")) { -+ data->is_kdm = TRUE; -+ return kdm_init_protocol_connection (data); -+ } -+ -+ data->is_kdm = FALSE; -+ return gdm_init_protocol_connection (data); -+} -+ -+ - static void - gdm_parse_query_response (GdmProtocolData *data, - const char *response) -@@ -322,7 +392,21 @@ - } - - static void --gdm_update_logout_actions (GdmProtocolData *data) -+kdm_parse_query_response (GdmProtocolData *data, -+ const char *response) -+{ -+ data->available_actions = GDM_LOGOUT_ACTION_NONE; -+ data->current_actions = GDM_LOGOUT_ACTION_NONE; -+ -+ if (!response) -+ return; -+ -+ if (strstr (response, "\tshutdown")) -+ data->available_actions |= GDM_LOGOUT_ACTION_SHUTDOWN | GDM_LOGOUT_ACTION_REBOOT; -+} -+ -+static void -+dm_update_logout_actions (GdmProtocolData *data) - { - time_t current_time; - char *response; -@@ -333,21 +417,30 @@ - - data->last_update = current_time; - -- if (!gdm_init_protocol_connection (data)) -+ if (!dm_init_protocol_connection (data)) - return; -- -- if ((response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) { -- gdm_parse_query_response (data, response); -- g_free (response); -- } - -- gdm_shutdown_protocol_connection (data); -+ if (data->is_kdm) { -+ /* KDM */ -+ if ((response = dm_send_protocol_msg (data, KDM_PROTOCOL_MSG_QUERY_ACTION))) { -+ kdm_parse_query_response (data, response); -+ g_free (response); -+ } -+ } else { -+ /* GDM */ -+ if ((response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) { -+ gdm_parse_query_response (data, response); -+ g_free (response); -+ } -+ } -+ -+ dm_shutdown_protocol_connection (data); - } - - gboolean - gdm_supports_logout_action (GdmLogoutAction action) - { -- gdm_update_logout_actions (&gdm_protocol_data); -+ dm_update_logout_actions (&gdm_protocol_data); - - return (gdm_protocol_data.available_actions & action) != 0; - } -@@ -355,20 +448,15 @@ - GdmLogoutAction - gdm_get_logout_action (void) - { -- gdm_update_logout_actions (&gdm_protocol_data); -+ dm_update_logout_actions (&gdm_protocol_data); - - return gdm_protocol_data.current_actions; - } - --void --gdm_set_logout_action (GdmLogoutAction action) -+static char * -+gdm_logout_action_msg (GdmLogoutAction action) - { - char *action_str = NULL; -- char *msg; -- char *response; -- -- if (!gdm_init_protocol_connection (&gdm_protocol_data)) -- return; - - switch (action) { - case GDM_LOGOUT_ACTION_NONE: -@@ -385,14 +473,48 @@ - break; - } - -- msg = g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str); -+ return g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str); -+} -+ -+static char * -+kdm_logout_action_msg (GdmLogoutAction action) -+{ -+ char *msg = NULL; -+ -+ if (action == GDM_LOGOUT_ACTION_SHUTDOWN) -+ msg = g_strdup ("shutdown\thalt\task"); -+ else if (action == GDM_LOGOUT_ACTION_REBOOT) -+ msg = g_strdup ("shutdown\treboot\task"); -+ -+ return msg; -+} -+ -+void -+gdm_set_logout_action (GdmLogoutAction action) -+{ -+ char *action_str = NULL; -+ char *msg; -+ char *response; -+ -+ if (!dm_init_protocol_connection (&gdm_protocol_data)) -+ return; -+ -+ if (gdm_protocol_data.is_kdm) -+ msg = kdm_logout_action_msg (action); -+ else -+ msg = gdm_logout_action_msg (action); -+ -+ if (!msg) { -+ dm_shutdown_protocol_connection (&gdm_protocol_data); -+ return; -+ } - -- response = gdm_send_protocol_msg (&gdm_protocol_data, msg); -+ response = dm_send_protocol_msg (&gdm_protocol_data, msg); - - g_free (msg); - g_free (response); - - gdm_protocol_data.last_update = 0; - -- gdm_shutdown_protocol_connection (&gdm_protocol_data); -+ dm_shutdown_protocol_connection (&gdm_protocol_data); - } diff --git a/gnome-session-2.20.0-safe-a11y-startup.patch b/gnome-session-2.20.0-safe-a11y-startup.patch deleted file mode 100644 index 9042e6d..0000000 --- a/gnome-session-2.20.0-safe-a11y-startup.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -upr gnome-session-2.20.0-pre/gnome-session/gsm-at-startup.c gnome-session-2.20.0-post/gnome-session/gsm-at-startup.c ---- gnome-session-2.20.0-pre/gnome-session/gsm-at-startup.c 2007-09-17 13:36:00.000000000 -0500 -+++ gnome-session-2.20.0-post/gnome-session/gsm-at-startup.c 2007-11-07 20:13:13.000000000 -0600 -@@ -66,7 +66,7 @@ gsm_assistive_registry_start (void) - gdk_window_set_events (w, GDK_PROPERTY_CHANGE_MASK); - gsm_exec_command_line_async (command, NULL); - gdk_window_add_filter (w, gsm_assistive_filter_watch, &tid); -- tid = g_timeout_add_seconds (5, gsm_assistive_filter_timeout, NULL); -+ tid = g_timeout_add_seconds (10, gsm_assistive_filter_timeout, NULL); - - gtk_main (); - -diff -upr gnome-session-2.20.0-pre/gnome-session/main.c gnome-session-2.20.0-post/gnome-session/main.c ---- gnome-session-2.20.0-pre/gnome-session/main.c 2007-11-07 20:03:51.000000000 -0600 -+++ gnome-session-2.20.0-post/gnome-session/main.c 2007-11-07 20:08:43.000000000 -0600 -@@ -641,18 +641,6 @@ main (int argc, char *argv[]) - gconf_client = gsm_get_conf_client (); - gconf_client_add_dir (gconf_client, GSM_GCONF_CONFIG_PREFIX, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); - -- env_a_t_support = g_getenv (ACCESSIBILITY_ENV); -- if (env_a_t_support) -- a_t_support = atoi (env_a_t_support); -- else -- a_t_support = gconf_client_get_bool (gconf_client, ACCESSIBILITY_KEY, NULL); -- -- if (a_t_support) -- { -- gsm_assistive_registry_start (); -- gsm_at_set_gtk_modules (); -- } -- - goption_context = g_option_context_new (N_("- Manage the GNOME session")); - g_option_context_set_translation_domain (goption_context, GETTEXT_PACKAGE); - g_option_context_add_main_entries (goption_context, options, GETTEXT_PACKAGE); -@@ -752,6 +740,18 @@ main (int argc, char *argv[]) - if (splashing) - splash_start (); - -+ /* move this down so the environments from above get set up -+ correctly before assistive modules activate items */ -+ env_a_t_support = g_getenv (ACCESSIBILITY_ENV); -+ if (env_a_t_support) -+ a_t_support = atoi (env_a_t_support); -+ -+ if (a_t_support) -+ { -+ gsm_assistive_registry_start (); -+ gsm_at_set_gtk_modules (); -+ } -+ - start_session (the_session); - - gsm_motd_start (); diff --git a/gnome-session-DESKTOP_LAUNCH.patch b/gnome-session-DESKTOP_LAUNCH.patch deleted file mode 100644 index fed37df..0000000 --- a/gnome-session-DESKTOP_LAUNCH.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- gnome-session-2.11.90/gnome-session/main.c -+++ gnome-session-2.11.90/gnome-session/main.c -@@ -391,6 +391,11 @@ - g_free (display_str); - putenv (ep); - -+ /* We are in a Gnome session, we want gnome-open to be the default -+ * launching application. -+ */ -+ putenv ("DESKTOP_LAUNCH=gnome-open"); -+ - ignore (SIGPIPE); - - /* Need DISPLAY set */ diff --git a/gnome-session-bnc385150-performance-hostname.patch b/gnome-session-bnc385150-performance-hostname.patch deleted file mode 100644 index 0cbd965..0000000 --- a/gnome-session-bnc385150-performance-hostname.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- pristine-gnome-session-2.22.1.1/gnome-session/manager.c 2008-04-10 15:32:20.000000000 +0100 -+++ gnome-session-2.22.1.1/gnome-session/manager.c 2008-04-30 10:53:27.000000000 +0100 -@@ -825,7 +825,6 @@ - return retval; - } - -- - static Status - register_client (SmsConn connection, SmPointer data, char *previous_id) - { -@@ -882,33 +881,20 @@ - } - else - { -- char *id = SmsGenerateClientID (connection); -- -- if (id != NULL) -- { -- client->id = g_strdup (id); -- free (id); -- } -- else -+ /* If your network is mis-configured, it takes 15+ seconds for -+ SmsGenerateClientID to fail each time it is called - and since -+ the X method (libSM/src/sm_genid.c) does little of any value - -+ beyond creating a unique identifier - we do that ourselves -+ here instead rather more quickly. */ - { - static long int sequence = 0; -- static char* address = NULL; -- -- if (! address) -- { -- g_warning ("Host name lookup failure on localhost."); -- -- address = g_new (char, 10); -- srand (time (NULL) + (getpid () <<16)); -- g_snprintf (address, 10, "0%.8x", rand()); -- }; - - /* The typecast there is for 64-bit machines */ -- client->id = g_malloc (43); -- g_snprintf (client->id, 43, "1%s%.13ld%.10ld%.4ld", address, -- (long) time(NULL), (long) getpid (), sequence); -+ client->id = g_strdup_printf ("10%.8x%.13ld%.10ld%.4ld", -+ g_str_hash (g_get_host_name()), -+ (long) time(NULL), (long) getpid (), -+ sequence); - sequence++; -- - sequence %= 10000; - } - } diff --git a/gnome-session-bnc389137-splash-layout.patch b/gnome-session-bnc389137-splash-layout.patch index e9294ac..d48fc55 100644 --- a/gnome-session-bnc389137-splash-layout.patch +++ b/gnome-session-bnc389137-splash-layout.patch @@ -1,45 +1,29 @@ -Index: gnome-session/splash-widget.c -=================================================================== ---- gnome-session/splash-widget.c (révision 4682) -+++ gnome-session/splash-widget.c (copie de travail) -@@ -437,7 +437,7 @@ get_splash_icon (SplashWidget *sw, const - - pb = gtk_icon_theme_load_icon (icon_theme, - icon_no_extension, -- 48, /* icon size */ -+ 22, /* icon size */ - 0, NULL); - g_free (icon_no_extension); - -@@ -474,7 +474,7 @@ layout_icon (SplashWidget *sw, SplashIco - if (!si->scaled) { - if (gdk_pixbuf_get_width (si->unscaled) == sw->icon_size && - gdk_pixbuf_get_height (si->unscaled) == sw->icon_size) -- si->scaled = g_object_ref (si->unscaled); -+ si->scaled = gdk_pixbuf_copy (si->unscaled); - else - si->scaled = gdk_pixbuf_scale_simple ( - si->unscaled, sw->icon_size, -Index: gnome-session/splash-widget.h -=================================================================== ---- gnome-session/splash-widget.h (révision 4682) -+++ gnome-session/splash-widget.h (copie de travail) -@@ -66,14 +66,14 @@ void splash_widget_add_icon (SplashWidg - #define SPLASH_BASE_HEIGHT 220 - - /* offset from bottom of label & font */ --#define SPLASH_LABEL_V_OFFSET 3 -+#define SPLASH_LABEL_V_OFFSET 8 - #define SPLASH_LABEL_FONT_SIZE 8 - - /* icon border, spacing, offset from bottom and initial size */ --#define SPLASH_ICON_BORDER 8 -+#define SPLASH_ICON_BORDER 10 +--- gnome-session-2.23.4.1-pre/splash/splash-window.c 2008-04-21 17:38:11.000000000 -0500 ++++ gnome-session-2.23.4.1-work/splash/splash-window.c 2008-07-20 23:07:28.000000000 -0500 +@@ -40,7 +40,7 @@ G_DEFINE_TYPE (GsmSplashWindow, gsm_spla + #define SPLASH_ICON_BORDER 26 #define SPLASH_ICON_SPACING 4 --#define SPLASH_ICON_V_OFFSET 14 + #define SPLASH_ICON_V_OFFSET 28 -#define SPLASH_BASE_ICON_SIZE 36 -+#define SPLASH_ICON_V_OFFSET 20 +#define SPLASH_BASE_ICON_SIZE 22 #define SPLASH_BASE_ICON_ROWS 1 - /* The global API */ + static gboolean update_trans_effect (gpointer); +@@ -330,7 +330,7 @@ layout_icon (GsmSplashWindow *splash, Sp + { + if (gdk_pixbuf_get_width (si->unscaled) == splash->icon_size && + gdk_pixbuf_get_height (si->unscaled) == splash->icon_size) +- si->scaled = g_object_ref (si->unscaled); ++ si->scaled = gdk_pixbuf_copy (si->unscaled); + else + { + si->scaled = gdk_pixbuf_scale_simple (si->unscaled, splash->icon_size, +@@ -470,7 +470,7 @@ gsm_splash_window_start (GsmSplashWindow + return; + + pb = gtk_icon_theme_load_icon (splash->icon_theme, icon_name, +- 48, /* icon size */ ++ 22, /* icon size */ + 0 /* flags */, NULL); + if (!pb) + return; diff --git a/gnome-session-gcc4.3-fixes.patch b/gnome-session-gcc4.3-fixes.patch deleted file mode 100644 index c7a4db2..0000000 --- a/gnome-session-gcc4.3-fixes.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: gnome-session-2.20.1/gnome-session/splash-widget.c -=================================================================== ---- gnome-session-2.20.1.orig/gnome-session/splash-widget.c -+++ gnome-session-2.20.1/gnome-session/splash-widget.c -@@ -34,6 +34,10 @@ G_DEFINE_TYPE (SplashWidget, - - static gboolean update_trans_effect (gpointer); - -+static SplashWidget *global_splash = NULL; -+ -+ -+ - typedef struct { - const char *human_name; - const char *exe; -@@ -624,7 +628,6 @@ splash_widget_add_icon (SplashWidget *sw - } - } - --static SplashWidget *global_splash = NULL; - - static void - update_icon_with_effect (SplashIcon *si) -@@ -654,6 +657,7 @@ update_icon_with_effect (SplashIcon *si) - } - } - -+ - static gboolean - update_trans_effect (gpointer splash_icon) - { -@@ -725,3 +729,6 @@ splash_hide (void) - } - } - -+ -+ -+ diff --git a/gnome-session-gnome-wm-compiz-manager.patch b/gnome-session-gnome-wm-compiz-manager.patch index 6e420ec..78807ad 100644 --- a/gnome-session-gnome-wm-compiz-manager.patch +++ b/gnome-session-gnome-wm-compiz-manager.patch @@ -1,6 +1,6 @@ diff -aurp gnome-session-2.22.1.1/gnome-session/gnome-wm gnome-session-2.22.1.1-patched/gnome-session/gnome-wm ---- gnome-session-2.22.1.1/gnome-session/gnome-wm 2008-04-10 16:32:20.000000000 +0200 -+++ gnome-session-2.22.1.1-patched/gnome-session/gnome-wm 2008-05-13 09:15:37.539788000 +0200 +--- gnome-session-2.22.1.1/data/gnome-wm 2008-04-10 16:32:20.000000000 +0200 ++++ gnome-session-2.22.1.1-patched/data/gnome-wm 2008-05-13 09:15:37.539788000 +0200 @@ -39,22 +39,33 @@ done # WINDOW_MANAGER overrides all diff --git a/gnome-session-ice-auth-for-suid.patch b/gnome-session-ice-auth-for-suid.patch new file mode 100644 index 0000000..0c7aff7 --- /dev/null +++ b/gnome-session-ice-auth-for-suid.patch @@ -0,0 +1,14 @@ +diff -upr gnome-session-2.23.4.1-pre/gnome-session/xsmp.c gnome-session-2.23.4.1-post/gnome-session/xsmp.c +--- gnome-session-2.23.4.1-pre/gnome-session/xsmp.c 2008-06-03 10:38:18.000000000 -0500 ++++ gnome-session-2.23.4.1-post/gnome-session/xsmp.c 2008-07-20 17:35:00.000000000 -0500 +@@ -481,6 +481,9 @@ update_iceauthority (gboolean adding) + fclose (fp); + ok = TRUE; + ++ /* Lets programs auth with the session even if running as another user ID */ ++ putenv (g_strconcat ("ICEAUTHORITY=", filename, NULL)); ++ + cleanup: + IceUnlockAuthFile (filename); + for (i = 0; i < num_local_xsmp_sockets; i++) +Only in gnome-session-2.23.4.1-post/gnome-session: xsmp.c~ diff --git a/gnome-session-include-unistd.patch b/gnome-session-include-unistd.patch deleted file mode 100644 index 48b20c4..0000000 --- a/gnome-session-include-unistd.patch +++ /dev/null @@ -1,22 +0,0 @@ -=== modified file 'gnome-session/migrate-trash.c' -Index: gnome-session/migrate-trash.c -=================================================================== ---- gnome-session/migrate-trash.c.orig -+++ gnome-session/migrate-trash.c -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -289,7 +290,7 @@ migrate_trash (void) - return 1; - } - -- while (file = g_dir_read_name (dir)) -+ while ((file = g_dir_read_name (dir))) - { - had_problem = !move_file (old_trash_dir, file, info_dir, files_dir) - || had_problem; diff --git a/gnome-session-kdm-support.patch b/gnome-session-kdm-support.patch new file mode 100644 index 0000000..0b5a844 --- /dev/null +++ b/gnome-session-kdm-support.patch @@ -0,0 +1,362 @@ +--- gnome-session-2.23.4.1-pre/gnome-session/gdm.c 2008-06-17 08:24:45.000000000 -0500 ++++ gnome-session-2.23.4.1-work/gnome-session/gdm.c 2008-07-20 18:45:07.000000000 -0500 +@@ -57,6 +57,8 @@ + #define GDM_ACTION_STR_REBOOT "REBOOT" + #define GDM_ACTION_STR_SUSPEND "SUSPEND" + ++#define KDM_PROTOCOL_MSG_QUERY_ACTION "caps" ++ + typedef struct { + int fd; + char *auth_cookie; +@@ -65,6 +67,8 @@ typedef struct { + GdmLogoutAction current_actions; + + time_t last_update; ++ ++ guint is_kdm : 1; + } GdmProtocolData; + + static GdmProtocolData gdm_protocol_data = { +@@ -72,12 +76,13 @@ static GdmProtocolData gdm_protocol_data + NULL, + GDM_LOGOUT_ACTION_NONE, + GDM_LOGOUT_ACTION_NONE, +- 0 ++ 0, ++ FALSE + }; + + static char * +-gdm_send_protocol_msg (GdmProtocolData *data, +- const char *msg) ++dm_send_protocol_msg (GdmProtocolData *data, ++ const char *msg) + { + GString *retval; + char buf[256]; +@@ -90,7 +95,7 @@ gdm_send_protocol_msg (GdmProtocolData * + { + g_free (p); + +- g_warning ("Failed to send message to GDM: %s", ++ g_warning ("Failed to send message to display manager: %s", + g_strerror (errno)); + + return NULL; +@@ -163,7 +168,7 @@ gdm_authenticate_connection (GdmProtocol + + msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s", + data->auth_cookie); +- response = gdm_send_protocol_msg (data, msg); ++ response = dm_send_protocol_msg (data, msg); + g_free (msg); + + if (response && !strcmp (response, "OK")) +@@ -210,7 +215,7 @@ gdm_authenticate_connection (GdmProtocol + XauDisposeAuth (xau); + + msg = g_strdup_printf (GDM_PROTOCOL_MSG_AUTHENTICATE " %s", buffer); +- response = gdm_send_protocol_msg (data, msg); ++ response = dm_send_protocol_msg (data, msg); + g_free (msg); + + if (response && !strcmp (response, "OK")) +@@ -234,7 +239,7 @@ gdm_authenticate_connection (GdmProtocol + } + + static void +-gdm_shutdown_protocol_connection (GdmProtocolData *data) ++dm_shutdown_protocol_connection (GdmProtocolData *data) + { + if (data->fd) + close (data->fd); +@@ -264,7 +269,7 @@ gdm_init_protocol_connection (GdmProtoco + g_warning ("Failed to create GDM socket: %s", + g_strerror (errno)); + +- gdm_shutdown_protocol_connection (data); ++ dm_shutdown_protocol_connection (data); + + return FALSE; + } +@@ -276,19 +281,19 @@ gdm_init_protocol_connection (GdmProtoco + g_warning ("Failed to establish a connection with GDM: %s", + g_strerror (errno)); + +- gdm_shutdown_protocol_connection (data); ++ dm_shutdown_protocol_connection (data); + + return FALSE; + } + +- response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION); ++ response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_VERSION); + + if (!response || strncmp (response, "GDM ", strlen ("GDM ") != 0)) + { + g_free (response); + + g_warning ("Failed to get protocol version from GDM"); +- gdm_shutdown_protocol_connection (data); ++ dm_shutdown_protocol_connection (data); + + return FALSE; + } +@@ -298,13 +303,76 @@ gdm_init_protocol_connection (GdmProtoco + if (!gdm_authenticate_connection (data)) + { + g_warning ("Failed to authenticate with GDM"); +- gdm_shutdown_protocol_connection (data); ++ dm_shutdown_protocol_connection (data); + return FALSE; + } + + return TRUE; + } + ++static gboolean ++kdm_init_protocol_connection (GdmProtocolData *data) ++{ ++ struct sockaddr_un addr; ++ char *dm_display; ++ char *dm_control; ++ char *p0 = NULL; ++ ++ g_assert (data->fd <= 0); ++ ++ data->fd = socket (AF_UNIX, SOCK_STREAM, 0); ++ if (data->fd < 0) { ++ g_warning ("Failed to create KDM socket: %s", ++ g_strerror (errno)); ++ dm_shutdown_protocol_connection (data); ++ return FALSE; ++ } ++ ++ dm_display = g_strdup (g_getenv ("DISPLAY")); ++ dm_control = g_strdup (g_getenv ("DM_CONTROL")); ++ ++ if (dm_display && (p0 = strchr (dm_display, ':'))) ++ p0 = strchr (p0, '.'); ++ ++ if (!dm_control || !strlen (dm_control) || ++ !dm_display || !strlen (dm_display)) { ++ g_free (dm_control); ++ g_free (dm_display); ++ ++ g_warning ("Could not locate KDM socket."); ++ dm_shutdown_protocol_connection (data); ++ return FALSE; ++ } ++ ++ snprintf (addr.sun_path, sizeof (addr.sun_path), "%s/dmctl-%.*s/socket", ++ dm_control, p0 ? p0 - dm_display : 512, dm_display); ++ addr.sun_family = AF_UNIX; ++ ++ g_free (dm_display); ++ g_free (dm_control); ++ ++ if (connect (data->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) { ++ g_warning ("Failed to establish a connection with KDM: %s", ++ g_strerror (errno)); ++ dm_shutdown_protocol_connection (data); ++ return FALSE; ++ } ++ ++ return TRUE; ++} ++ ++static gboolean ++dm_init_protocol_connection (GdmProtocolData *data) ++{ ++ if (g_getenv ("DM_CONTROL") && !g_getenv ("GDMSESSION")) { ++ data->is_kdm = TRUE; ++ return kdm_init_protocol_connection (data); ++ } ++ ++ data->is_kdm = FALSE; ++ return gdm_init_protocol_connection (data); ++} ++ + static void + gdm_parse_query_response (GdmProtocolData *data, + const char *response) +@@ -357,7 +425,21 @@ gdm_parse_query_response (GdmProtocolDat + } + + static void +-gdm_update_logout_actions (GdmProtocolData *data) ++kdm_parse_query_response (GdmProtocolData *data, ++ const char *response) ++{ ++ data->available_actions = GDM_LOGOUT_ACTION_NONE; ++ data->current_actions = GDM_LOGOUT_ACTION_NONE; ++ ++ if (!response) ++ return; ++ ++ if (strstr (response, "\tshutdown")) ++ data->available_actions |= GDM_LOGOUT_ACTION_SHUTDOWN | GDM_LOGOUT_ACTION_REBOOT; ++} ++ ++static void ++dm_update_logout_actions (GdmProtocolData *data) + { + time_t current_time; + char *response; +@@ -369,25 +451,39 @@ gdm_update_logout_actions (GdmProtocolDa + + data->last_update = current_time; + +- if (!gdm_init_protocol_connection (data)) ++ if (!dm_init_protocol_connection (data)) + return; +- +- if ((response = gdm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) ++ ++ if (data->is_kdm) { ++ /* KDM */ ++ if ((response = dm_send_protocol_msg (data, KDM_PROTOCOL_MSG_QUERY_ACTION))) { ++ kdm_parse_query_response (data, response); ++ g_free (response); ++ } ++ } else { ++ /* GDM */ ++ if ((response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) { ++ gdm_parse_query_response (data, response); ++ g_free (response); ++ } ++ } ++ ++ if ((response = dm_send_protocol_msg (data, GDM_PROTOCOL_MSG_QUERY_ACTION))) + { + gdm_parse_query_response (data, response); + g_free (response); + } + +- gdm_shutdown_protocol_connection (data); ++ dm_shutdown_protocol_connection (data); + } + + gboolean + gdm_is_available (void) + { +- if (!gdm_init_protocol_connection (&gdm_protocol_data)) ++ if (!dm_init_protocol_connection (&gdm_protocol_data)) + return FALSE; + +- gdm_shutdown_protocol_connection (&gdm_protocol_data); ++ dm_shutdown_protocol_connection (&gdm_protocol_data); + + return TRUE; + } +@@ -395,7 +491,7 @@ gdm_is_available (void) + gboolean + gdm_supports_logout_action (GdmLogoutAction action) + { +- gdm_update_logout_actions (&gdm_protocol_data); ++ dm_update_logout_actions (&gdm_protocol_data); + + return (gdm_protocol_data.available_actions & action) != 0; + } +@@ -403,21 +499,16 @@ gdm_supports_logout_action (GdmLogoutAct + GdmLogoutAction + gdm_get_logout_action (void) + { +- gdm_update_logout_actions (&gdm_protocol_data); ++ dm_update_logout_actions (&gdm_protocol_data); + + return gdm_protocol_data.current_actions; + } + +-void +-gdm_set_logout_action (GdmLogoutAction action) ++static char * ++gdm_logout_action_msg (GdmLogoutAction action) + { + char *action_str = NULL; +- char *msg; +- char *response; +- +- if (!gdm_init_protocol_connection (&gdm_protocol_data)) +- return; +- ++ + switch (action) + { + case GDM_LOGOUT_ACTION_NONE: +@@ -433,17 +524,50 @@ gdm_set_logout_action (GdmLogoutAction a + action_str = GDM_ACTION_STR_SUSPEND; + break; + } ++ ++ return g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str); ++} ++ ++static char * ++kdm_logout_action_msg (GdmLogoutAction action) ++{ ++ char *msg = NULL; ++ ++ if (action == GDM_LOGOUT_ACTION_SHUTDOWN) ++ msg = g_strdup ("shutdown\thalt\task"); ++ else if (action == GDM_LOGOUT_ACTION_REBOOT) ++ msg = g_strdup ("shutdown\treboot\task"); ++ ++ return msg; ++} ++ ++void ++gdm_set_logout_action (GdmLogoutAction action) ++{ ++ char *msg; ++ char *response; + +- msg = g_strdup_printf (GDM_PROTOCOL_MSG_SET_ACTION " %s", action_str); +- +- response = gdm_send_protocol_msg (&gdm_protocol_data, msg); ++ if (!dm_init_protocol_connection (&gdm_protocol_data)) ++ return; ++ ++ if (gdm_protocol_data.is_kdm) ++ msg = kdm_logout_action_msg (action); ++ else ++ msg = gdm_logout_action_msg (action); ++ ++ if (!msg) { ++ dm_shutdown_protocol_connection (&gdm_protocol_data); ++ return; ++ } ++ ++ response = dm_send_protocol_msg (&gdm_protocol_data, msg); + + g_free (msg); + g_free (response); + + gdm_protocol_data.last_update = 0; + +- gdm_shutdown_protocol_connection (&gdm_protocol_data); ++ dm_shutdown_protocol_connection (&gdm_protocol_data); + } + + void +@@ -451,15 +575,15 @@ gdm_new_login (void) + { + char *response; + +- if (!gdm_init_protocol_connection (&gdm_protocol_data)) ++ if (!dm_init_protocol_connection (&gdm_protocol_data)) + return; + +- response = gdm_send_protocol_msg (&gdm_protocol_data, +- GDM_PROTOCOL_MSG_FLEXI_XSERVER); ++ response = dm_send_protocol_msg (&gdm_protocol_data, ++ GDM_PROTOCOL_MSG_FLEXI_XSERVER); + + g_free (response); + + gdm_protocol_data.last_update = 0; + +- gdm_shutdown_protocol_connection (&gdm_protocol_data); ++ dm_shutdown_protocol_connection (&gdm_protocol_data); + } diff --git a/gnome-session-motd.patch b/gnome-session-motd.patch deleted file mode 100644 index b108ad7..0000000 --- a/gnome-session-motd.patch +++ /dev/null @@ -1,251 +0,0 @@ -Index: gnome-session/gsm-motd.h -=================================================================== ---- /dev/null -+++ gnome-session/gsm-motd.h -@@ -0,0 +1,7 @@ -+#ifndef GSM_MOTD_H -+#define GSM_MOTD_H -+ -+void gsm_motd_start (void); -+void gsm_motd_stop (void); -+ -+#endif -Index: gnome-session/gsm-motd.c -=================================================================== ---- /dev/null -+++ gnome-session/gsm-motd.c -@@ -0,0 +1,179 @@ -+/* gdm-motd.c - Message of the Day support in gnome-session. -+ -+ Copyright (C) 1998, 1999 Tom Tromey -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2, or (at your option) -+ any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -+ 02111-1307, USA. */ -+ -+#include -+#include -+#include -+#include -+#include -+#ifdef HAVE_LIBNOTIFY -+#include -+#endif -+#include "gsm-motd.h" -+ -+static gchar *motd_contents = NULL; -+static GnomeVFSMonitorHandle *monitor_handle = NULL; -+ -+static void -+display_message_of_the_day_dialog (void) -+{ -+ GtkWidget *dialog; -+ -+ if (motd_contents) -+ { -+ dialog = gtk_message_dialog_new_with_markup (NULL, 0, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, -+ "%s\n%s", -+ _("Message of the Day"), motd_contents); -+ g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL); -+ gtk_widget_show (dialog); -+ } -+} -+ -+#ifdef HAVE_LIBNOTIFY -+static void -+display_message_of_the_day_notification (void) -+{ -+ NotifyNotification *n; -+ GdkPixbuf *icon; -+ -+ if (!motd_contents) -+ return; -+ -+ if (!notify_is_initted () && !notify_init (_("Session Manager"))) -+ { -+ g_printerr ("Could not contact the notification daemon"); -+ display_message_of_the_day_dialog (); -+ } -+ else -+ { -+ icon = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), -+ "gtk-info", -+ 48, -+ GTK_ICON_LOOKUP_USE_BUILTIN, -+ NULL); -+ -+ n = notify_notification_new (_("Message of the Day"), motd_contents, NULL, NULL); -+ notify_notification_set_icon_from_pixbuf (n, icon); -+ gdk_pixbuf_unref (icon); -+ -+ if (!notify_notification_show (n, NULL)) -+ { -+ display_message_of_the_day_dialog (); -+ } -+ -+ //g_object_unref (n); -+ } -+} -+#endif -+ -+static void -+motd_changed_cb (GnomeVFSMonitorHandle *handle, -+ const gchar *monitor_uri, -+ const gchar *info_uri, -+ GnomeVFSMonitorEventType event_type, -+ gpointer user_data) -+{ -+ gchar *contents; -+ gsize length; -+ -+ switch (event_type) -+ { -+ case GNOME_VFS_MONITOR_EVENT_CHANGED : -+ case GNOME_VFS_MONITOR_EVENT_CREATED : -+ if (g_file_get_contents ("/etc/motd", &contents, &length, NULL)) -+ { -+ if (length > 0) -+ { -+ g_free (motd_contents); -+ motd_contents = contents; -+ -+#ifdef HAVE_LIBNOTIFY -+ display_message_of_the_day_notification (); -+#else -+ display_message_of_the_day_dialog (); -+#endif -+ } -+ } -+ break; -+ case GNOME_VFS_MONITOR_EVENT_DELETED : -+ g_free (motd_contents); -+ motd_contents = NULL; -+ break; -+ } -+} -+ -+static gboolean -+on_login_cb (gpointer user_data) -+{ -+#ifdef HAVE_LIBNOTIFY -+ display_message_of_the_day_notification (); -+#else -+ display_message_of_the_day_dialog (); -+#endif -+ -+ return FALSE; -+} -+ -+void -+gsm_motd_start (void) -+{ -+ gchar *contents; -+ gsize length; -+ GConfClient *client; -+ gboolean enabled; -+ -+ client = gconf_client_get_default (); -+ enabled = gconf_client_get_bool (client, "/apps/gnome-session/options/enable_motd", NULL); -+ g_object_unref (client); -+ -+ if (!enabled) -+ return; -+ -+ /* load the MOTD file */ -+ if (gnome_vfs_monitor_add (&monitor_handle, "file:///etc/motd", GNOME_VFS_MONITOR_FILE, -+ (GnomeVFSMonitorCallback) motd_changed_cb, NULL) != GNOME_VFS_OK) -+ { -+ g_printerr ("Failed to setup monitor for /etc/motd file"); -+ } -+ -+ if (g_file_get_contents ("/etc/motd", &contents, &length, NULL)) -+ { -+ if (length > 0) -+ motd_contents = contents; -+ } -+ -+ /* install a timeout to show the message first time */ -+ g_timeout_add (8000, (GSourceFunc) on_login_cb, NULL); -+} -+ -+void -+gsm_motd_stop (void) -+{ -+ if (monitor_handle) -+ { -+ gnome_vfs_monitor_cancel (monitor_handle); -+ monitor_handle = NULL; -+ } -+ -+ if (motd_contents) -+ { -+ g_free (motd_contents); -+ motd_contents = NULL; -+ } -+} -Index: gnome-session/Makefile.am -=================================================================== ---- gnome-session/Makefile.am.orig -+++ gnome-session/Makefile.am -@@ -4,6 +4,7 @@ defaultdir = $(datadir)/gnome - - INCLUDES = \ - $(GNOME_SESSION_CFLAGS) \ -+ $(LIBNOTIFY_CFLAGS) \ - $(STANDARD_PROPERTIES_CFLAGS) \ - $(WARN_CFLAGS) \ - $(DISABLE_DEPRECATED_CFLAGS) \ -@@ -25,7 +26,7 @@ STANDARD_PROPERTIES_CFLAGS = - -DDATADIR=\""$(datadir)"\" \ - $(NULL) - --gnome_session_LDADD = $(X_LIBS) $(GNOME_SESSION_LIBS) $(LIBWRAP_LIBS) -+gnome_session_LDADD = $(X_LIBS) $(GNOME_SESSION_LIBS) $(LIBWRAP_LIBS) $(LIBNOTIFY_LIBS) - gnome_session_save_LDADD = $(GNOME_SESSION_LIBS) - gnome_session_remove_LDADD = $(GNOME_SESSION_LIBS) - gnome_session_properties_LDADD = $(GNOME_SESSION_LIBS) -@@ -83,6 +84,8 @@ gnome_session_SOURCES = \ - gsm-keyring.h \ - gsm-gsd.c \ - gsm-gsd.h \ -+ gsm-motd.c \ -+ gsm-motd.h \ - gsm-protocol.c \ - gsm-protocol.h \ - gsm-remote-desktop.c \ -Index: gnome-session/main.c -=================================================================== ---- gnome-session/main.c.orig -+++ gnome-session/main.c -@@ -53,6 +53,7 @@ - #include "gsm-keyring.h" - #include "gsm-at-startup.h" - #include "gsm-remote-desktop.h" -+#include "gsm-motd.h" - #include "migrate-trash.h" - - /* Flag indicating autosave - user won't be prompted on logout to -@@ -668,8 +669,12 @@ main (int argc, char *argv[]) - - migrate_trash(); - -+ gsm_motd_start (); -+ - gtk_main (); - -+ gsm_motd_stop (); -+ - gsm_remote_desktop_cleanup (); - - gsm_sound_logout (); diff --git a/gnome-session-no-devel-fatals.patch b/gnome-session-no-devel-fatals.patch deleted file mode 100644 index e5737b0..0000000 --- a/gnome-session-no-devel-fatals.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- gnome-session/main.c -+++ gnome-session/main.c -@@ -483,8 +483,8 @@ - major = atoi (versions [1]); - if ((major % 2) != 0) - { -- g_setenv ("G_DEBUG", "fatal_criticals", FALSE); -- g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL); -+/* g_setenv ("G_DEBUG", "fatal_criticals", FALSE); -+ g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL); */ - } - } - g_strfreev (versions); diff --git a/gnome-session-parse-autostart-command-line.patch b/gnome-session-parse-autostart-command-line.patch deleted file mode 100644 index 25a1ee3..0000000 --- a/gnome-session-parse-autostart-command-line.patch +++ /dev/null @@ -1,70 +0,0 @@ -Index: gnome-session/gsm-autostart.c -=================================================================== ---- gnome-session/gsm-autostart.c (revision 4626) -+++ gnome-session/gsm-autostart.c (working copy) -@@ -260,3 +260,25 @@ - - return list; - } -+ -+gchar * -+gsm_autostart_parse_command_line (GKeyFile *keyfile) -+{ -+ gchar *p, *result; -+ GString *gs; -+ gchar *exec = gsm_key_file_get_string (keyfile, "Exec"); -+ -+ gs = g_string_new (NULL); -+ for (p = exec; *p != '\0'; p++) -+ { -+ if (*p == '%' && (p[1] == 'u' || p[1] == 'U')) -+ p++; -+ else -+ g_string_append_c (gs, *p); -+ } -+ -+ result = gs->str; -+ g_string_free (gs, FALSE); -+ -+ return result; -+} -Index: gnome-session/gsm-autostart.h -=================================================================== ---- gnome-session/gsm-autostart.h (revision 4626) -+++ gnome-session/gsm-autostart.h (working copy) -@@ -43,6 +43,9 @@ - GsmAutostartFreeFunc free_handler, - gboolean enabled_only); - -+gchar * -+gsm_autostart_parse_command_line (GKeyFile *keyfile); -+ - G_END_DECLS - - #endif /* GSM_AUTOSTART_H */ -Index: gnome-session/startup-programs.c -=================================================================== ---- gnome-session/startup-programs.c (revision 4626) -+++ gnome-session/startup-programs.c (working copy) -@@ -117,7 +117,7 @@ - if (client->name == NULL) - client->name = gsm_key_file_get_locale_string (keyfile, "GenericName"); - -- client->command = gsm_key_file_get_string (keyfile, "Exec"); -+ client->command = gsm_autostart_parse_command_line (keyfile); - client->comment = gsm_key_file_get_locale_string (keyfile, "Comment"); - client->enabled = gsm_key_file_get_boolean (keyfile, - "X-GNOME-Autostart-enabled", -Index: gnome-session/save.c -=================================================================== ---- gnome-session/save.c (revision 4626) -+++ gnome-session/save.c (working copy) -@@ -373,7 +373,7 @@ - Client *client; - SmProp *prop; - -- exec = gsm_key_file_get_string (keyfile, "Exec"); -+ exec = gsm_autostart_parse_command_line (keyfile); - if (!g_shell_parse_argv (exec, &argc, &argv, NULL)) - { - g_free (exec); diff --git a/gnome-session-remove-dns-warning.patch b/gnome-session-remove-dns-warning.patch deleted file mode 100644 index dacf543..0000000 --- a/gnome-session-remove-dns-warning.patch +++ /dev/null @@ -1,141 +0,0 @@ -Index: gnome-session/main.c -=================================================================== ---- gnome-session/main.c.orig -+++ gnome-session/main.c -@@ -452,126 +452,6 @@ update_boolean (GConfClient *client, - *bool_value ? "On" : "Off"); - } - --/* returns the hostname */ --static gchar * --get_hostname (gboolean readable) --{ -- static gboolean init = FALSE; -- static gchar *result = NULL; -- -- if (!init) -- { -- char hostname[256]; -- -- if (gethostname (hostname, sizeof (hostname)) == 0) -- result = g_strdup (hostname); -- -- init = TRUE; -- } -- -- if (result) -- return result; -- else -- return readable ? "(Unknown)" : NULL; --} -- --#ifdef ENABLE_IPV6 --/*Check whether the node is IPv6 enabled.*/ --static gboolean --have_ipv6 (void) --{ -- int s; -- -- s = socket (AF_INET6, SOCK_STREAM, 0); -- if (s != -1) { -- close (s); -- return TRUE; -- } -- return FALSE; --} --#endif -- --/* Check if a DNS lookup on `hostname` can be done */ --static gboolean --check_for_dns (void) --{ -- char *hostname; -- -- hostname = get_hostname (FALSE); -- -- if (!hostname) -- return FALSE; -- --#ifdef ENABLE_IPV6 -- if (have_ipv6 ()) -- { -- struct addrinfo hints, *result = NULL; -- -- memset (&hints, 0, sizeof(hints)); -- hints.ai_socktype = SOCK_STREAM; -- hints.ai_flags = AI_CANONNAME; -- -- if (getaddrinfo (hostname, NULL, &hints, &result) != 0) -- return FALSE; -- -- if (!result->ai_canonname) -- return FALSE; -- } -- else --#endif -- { -- /* -- * FIXME: -- * we should probably be a lot more robust here -- */ -- if (!gethostbyname (hostname)) -- return FALSE; -- } -- -- return TRUE; --} -- --enum { -- RESPONSE_LOG_IN, -- RESPONSE_TRY_AGAIN --}; -- --static void --gnome_login_check (void) --{ -- GtkWidget *tmp_msgbox = NULL; -- -- while (!check_for_dns ()) -- { -- if (!tmp_msgbox) -- { -- tmp_msgbox = gtk_message_dialog_new (NULL, 0, -- GTK_MESSAGE_WARNING, -- GTK_BUTTONS_NONE, -- _("Could not look up internet address for %s.\n" -- "This will prevent GNOME from operating correctly.\n" -- "It may be possible to correct the problem by adding\n" -- "%s to the file /etc/hosts."), -- get_hostname(TRUE), get_hostname(TRUE)); -- -- gtk_dialog_add_buttons (GTK_DIALOG (tmp_msgbox), -- _("Log in Anyway"), RESPONSE_LOG_IN, -- _("Try Again"), RESPONSE_TRY_AGAIN, -- NULL); -- -- gtk_window_set_position (GTK_WINDOW (tmp_msgbox), GTK_WIN_POS_CENTER); -- } -- -- gtk_dialog_set_default_response (GTK_DIALOG (tmp_msgbox), RESPONSE_TRY_AGAIN); -- -- if (RESPONSE_TRY_AGAIN != gtk_dialog_run (GTK_DIALOG (tmp_msgbox))) -- break; -- } -- -- if (tmp_msgbox) -- gtk_widget_destroy (tmp_msgbox); --} -- - static void - gsm_shutdown_gconfd (void) - { -@@ -651,9 +531,6 @@ main (int argc, char *argv[]) - if (gsm_check_for_root ()) - return 0; - -- if (ORBit_proto_use ("IPv4") || ORBit_proto_use ("IPv6")) -- gnome_login_check (); -- - err = NULL; - g_spawn_command_line_sync (GCONF_SANITY_CHECK, NULL, NULL, &status, &err); - if (err != NULL) diff --git a/gnome-session-suspend.patch b/gnome-session-suspend.patch deleted file mode 100644 index 8bd401e..0000000 --- a/gnome-session-suspend.patch +++ /dev/null @@ -1,111 +0,0 @@ -Index: gnome-session/logout.c -=================================================================== -RCS file: /cvs/gnome/gnome-session/gnome-session/logout.c,v -retrieving revision 1.60 -diff -u -p -r1.60 logout.c ---- gnome-session/logout.c 26 Apr 2005 10:56:50 -0000 1.60 -+++ gnome-session/logout.c 9 Feb 2006 12:16:45 -0000 -@@ -43,14 +43,16 @@ enum - { - OPTION_LOGOUT, - OPTION_HALT, -- OPTION_REBOOT -+ OPTION_REBOOT, -+ OPTION_SUSPEND - }; - - static GConfEnumStringPair logout_options_lookup_table[] = - { -- { OPTION_LOGOUT, "logout" }, -- { OPTION_HALT, "shutdown" }, -- { OPTION_REBOOT, "restart" }, -+ { OPTION_LOGOUT, "logout" }, -+ { OPTION_HALT, "shutdown" }, -+ { OPTION_REBOOT, "restart" }, -+ { OPTION_SUSPEND, "suspend" }, - { 0, NULL } - }; - -@@ -329,13 +331,16 @@ display_gui (void) - gint response; - GtkWidget *halt = NULL; - GtkWidget *reboot = NULL; -+ GtkWidget *suspend = NULL; - GtkWidget *invisible; - gboolean halt_supported = FALSE; - gboolean reboot_supported = FALSE; -+ gboolean suspend_supported = FALSE; - gboolean retval = FALSE; - gboolean save_active = FALSE; - gboolean halt_active = FALSE; - gboolean reboot_active = FALSE; -+ gboolean suspend_active = FALSE; - GdmLogoutAction logout_action = GDM_LOGOUT_ACTION_NONE; - gboolean a11y_enabled; - GError *error = NULL; -@@ -431,8 +436,9 @@ display_gui (void) - - halt_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_SHUTDOWN); - reboot_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_REBOOT); -+ suspend_supported = gdm_supports_logout_action (GDM_LOGOUT_ACTION_SUSPEND); - -- if (halt_supported || reboot_supported) -+ if (halt_supported || reboot_supported || suspend_supported) - { - GtkWidget *title, *spacer; - GtkWidget *action_vbox, *hbox; -@@ -482,6 +488,13 @@ display_gui (void) - gtk_box_pack_start (GTK_BOX (action_vbox), r, FALSE, FALSE, 0); - gtk_widget_show (r); - } -+ if (suspend_supported) -+ { -+ r = suspend = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (r), _("_Suspend the computer")); -+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (r), (selected_option == OPTION_SUSPEND)); -+ gtk_box_pack_start (GTK_BOX (action_vbox), r, FALSE, FALSE, 0); -+ gtk_widget_show (r); -+ } - } - - gsm_center_window_on_screen (GTK_WINDOW (box), screen, monitor); -@@ -517,6 +530,9 @@ display_gui (void) - if (reboot) - reboot_active = GTK_TOGGLE_BUTTON (reboot)->active; - -+ if (suspend) -+ suspend_active = GTK_TOGGLE_BUTTON (suspend)->active; -+ - if (toggle_button) - save_active = GTK_TOGGLE_BUTTON (toggle_button)->active; - -@@ -524,6 +540,8 @@ display_gui (void) - selected_option = OPTION_REBOOT; - else if (halt_active) - selected_option = OPTION_HALT; -+ else if (suspend_active) -+ selected_option = OPTION_SUSPEND; - else - selected_option = OPTION_LOGOUT; - -@@ -545,14 +563,20 @@ display_gui (void) - case GTK_RESPONSE_OK: - /* We want to know if we should trash changes (and lose forever) - * or save them */ -+ retval = TRUE; - if(save_active) - save_selected = save_active; - if (halt_active) - logout_action = GDM_LOGOUT_ACTION_SHUTDOWN; - else if (reboot_active) - logout_action = GDM_LOGOUT_ACTION_REBOOT; -+ else if (suspend_active) -+ { -+ logout_action = GDM_LOGOUT_ACTION_SUSPEND; -+ g_spawn_command_line_async ("powersave --suspend-to-disk", NULL); -+ retval = FALSE; -+ } - set_default_option (selected_option); -- retval = TRUE; - break; - default: - case GTK_RESPONSE_CANCEL: diff --git a/gnome-session-wm-switch.patch b/gnome-session-wm-switch.patch index 12ff264..6815b20 100644 --- a/gnome-session-wm-switch.patch +++ b/gnome-session-wm-switch.patch @@ -1,99 +1,45 @@ -diff -aurp gnome-session-2.22.1.1/gnome-session/main.c gnome-session-2.22.1.1-patched/gnome-session/main.c ---- gnome-session-2.22.1.1/gnome-session/main.c 2008-04-10 16:32:20.000000000 +0200 -+++ gnome-session-2.22.1.1-patched/gnome-session/main.c 2008-05-16 15:28:42.777710000 +0200 -@@ -47,6 +47,8 @@ - #include "command.h" - #include "splash-widget.h" - #include "util.h" -+#include "prop.h" -+#include "session.h" - #include "gsm-dbus.h" - #include "gsm-sound.h" - #include "gsm-gsd.h" -@@ -600,6 +602,77 @@ gsm_shutdown_gconfd (void) - g_free (command); - } - -+static void -+fix_wm (Session *session) -+{ -+ GSList *cl, *p; -+ Client *client = NULL; -+ SmProp *prop = NULL; -+ char *compiz_enable_path; +--- gnome-session-2.23.4.1-pre/gnome-session/session.c 2008-06-17 08:24:45.000000000 -0500 ++++ gnome-session-2.23.4.1-work/gnome-session/session.c 2008-07-20 22:32:00.000000000 -0500 +@@ -347,6 +347,8 @@ append_legacy_session_apps (GsmSession * + { + GKeyFile *saved; + int num_clients, i; ++ gchar *compiz_enable_path; + gboolean compiz_enabled = FALSE; -+ + + saved = g_key_file_new (); + if (!g_key_file_load_from_file (saved, session_filename, 0, NULL)) +@@ -356,12 +358,33 @@ append_legacy_session_apps (GsmSession * + return; + } + ++ /* See if compiz is enabled; if it is, we have to replace legacy metacity/compiz ++ * entries with gnome-wm */ + compiz_enable_path = g_build_filename (g_get_user_config_dir (), "compiz", "enable-compiz", NULL); + compiz_enabled = compiz_enable_path && g_file_test (compiz_enable_path, G_FILE_TEST_IS_REGULAR); + g_free (compiz_enable_path); + -+ for (cl = session->client_list; cl; cl = cl->next) -+ { -+ client = cl->data; -+ if (client->match_rule != MATCH_ID) -+ continue; + num_clients = g_key_file_get_integer (saved, "Default", "num_clients", NULL); + for (i = 0; i < num_clients; i++) + { + GsmApp *app = gsm_app_resumed_new_from_legacy_session (saved, i); + if (app) ++ { ++ GsmAppResumed *app_resumed = (GsmAppResumed *) app; + -+ prop = find_property_by_name (client, SmRestartCommand); -+ if (!prop) -+ continue; ++ /* Maybe replace legacy metacity/compiz with gnome-wm */ ++ if (app_resumed->restart_command && ++ (((!strcmp (app_resumed->restart_command, "metacity") || ++ !strcmp (app_resumed->restart_command, "/usr/bin/metacity")) && compiz_enabled) || ++ (!strcmp (app_resumed->restart_command, "compiz") || ++ !strcmp (app_resumed->restart_command, "/usr/bin/compiz")))) ++ { ++ g_free (app_resumed->restart_command); ++ app_resumed->restart_command = g_strdup ("gnome-wm"); ++ } + -+ if (!strcmp (prop->vals[0].value, "gnome-wm")) -+ return; -+ else if (((!strcmp (prop->vals[0].value, "metacity") || !strcmp (prop->vals[0].value, "/usr/bin/metacity")) && compiz_enabled) || -+ (!strcmp (prop->vals[0].value, "compiz") || !strcmp (prop->vals[0].value, "/usr/bin/compiz"))) -+ break; -+ } -+ -+ if (!cl) -+ return; -+ -+ /* At this point, either client is compiz or client is metacity and we're -+ * supposed to run compiz-manager. Either way, replace it with gnome-wm. */ -+ -+ for (p = client->properties; p; p = p->next) -+ SmFreeProperty (p->data); -+ g_slist_free (client->properties); -+ -+ client->properties = NULL; -+ -+ prop = malloc (sizeof (SmProp)); -+ prop->name = strdup (SmRestartCommand); -+ prop->type = strdup (SmLISTofARRAY8); -+ if (client->id) -+ prop->num_vals = 3; -+ else -+ prop->num_vals = 1; -+ prop->vals = malloc (prop->num_vals * sizeof (SmPropValue)); -+ prop->vals[0].value = strdup ("gnome-wm"); -+ prop->vals[0].length = strlen (prop->vals[0].value); -+ if (client->id) -+ { -+ prop->vals[1].value = strdup ("--sm-client-id"); -+ prop->vals[1].length = strlen (prop->vals[1].value); -+ prop->vals[2].value = strdup (client->id); -+ prop->vals[2].length = strlen (prop->vals[2].value); -+ } -+ client->properties = g_slist_prepend (client->properties, prop); -+ -+ prop = malloc (sizeof (SmProp)); -+ prop->name = strdup (GsmPriority); -+ prop->type = strdup (SmCARD8); -+ prop->num_vals = 1; -+ prop->vals = malloc (sizeof (SmPropValue)); -+ prop->vals[0].value = calloc (2, 1); -+ prop->vals[0].length = 1; -+ client->properties = g_slist_prepend (client->properties, prop); -+} -+ - int - main (int argc, char *argv[]) - { -@@ -777,6 +850,8 @@ main (int argc, char *argv[]) - g_setenv ("GNOME_DESKTOP_SESSION_ID", session_name, TRUE); - the_session = read_session (session_name); + append_app (session, app); ++ } + } -+ fix_wm (the_session); -+ - gsm_remote_desktop_start (); - - if (splashing) + g_key_file_free (saved); diff --git a/gnome-session.changes b/gnome-session.changes index 98f3cee..701855f 100644 --- a/gnome-session.changes +++ b/gnome-session.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Sun Jul 20 23:21:00 CST 2008 - hpj@suse.de + +- gnome-session-suspend.patch removed; no longer needed and code + changed radically. +- gnome-session-DESKTOP_LAUNCH.patch removed; no longer needed. +- gnome-session-remove-dns-warning.patch removed; no longer needed + as the code in question was also removed from upstream. +- gnome-session-2.12.0-su-session-management.patch rewritten and + renamed to gnome-session-ice-auth-for-suid.patch. Performs same + function as before. +- gnome-session-2.19.92-kdm-support.patch rewritten and renamed + to gnome-session-kdm-support.patch. Performs same functions as + before. +- gnome-session-motd.patch removed; not the right solution and + there is discussion upstream about solving it there. Also does + not have any BNC bug justifying its existence. +- gnome-session-wm-switch.patch rewritten/rebased. +- gnome-session-no-devel-fatals.patch removed; no longer needed. +- gnome-session-2.20.0-safe-a11y-startup.patch removed; no longer + needed. Was changing the order of startup for daemons - new + upstream codebase fixes this. +- gnome-session-gcc4.3-fixes.patch removed; no longer needed. +- gnome-session-parse-autostart-command-line.patch removed; no + longer needed. +- gnome-session-include-unistd.patch removed; no longer needed. +- gnome-session-bnc385150-performance-hostname.patch removed; no + longer needed. The new upstream code specifically addresses this. +- gnome-session-gnome-wm-compiz-manager.patch rebased; only path + changed. +- gnome-session-bnc389137-splash-layout.patch rebased. Dropped the + padding changes, but kept the change in icon size. Upstream + padding increased, more than matching ours. May need further + adjustment. + ------------------------------------------------------------------- Fri Jun 27 21:36:06 CEST 2008 - mauro@suse.de diff --git a/gnome-session.spec b/gnome-session.spec index a5a774b..8106a5c 100644 --- a/gnome-session.spec +++ b/gnome-session.spec @@ -16,8 +16,9 @@ BuildRequires: control-center2-devel fdupes gnome-common gnome-desktop-devel gn License: GPL v2 or later; LGPL v2.1 or later Group: System/GUI/GNOME Version: 2.23.4.1 -Release: 1 +Release: 14 Summary: Session Tools for the GNOME 2.x Desktop +Url: http://www.gnome.org Source: %{name}-%{version}.tar.bz2 Source1: gnome Source2: gnome.desktop @@ -29,39 +30,19 @@ Source4: SuSE.desktop Source5: suse-help.svg #PATCH-FIX-OPENSUSE Install files needed by /usr/bin/gnome suse.svg bnc388735 sbrabec@suse.cz Source6: suse.svg -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-suspend.patch bnc73000 rodrigo@novell.com) -Patch0: gnome-session-suspend.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-DESKTOP_LAUNCH.patch -- What was the original motivation for this?) -Patch1: gnome-session-DESKTOP_LAUNCH.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-remove-dns-warning.patch federico@novell.com -- Apparently a patch from Meeks, needs review) -Patch3: gnome-session-remove-dns-warning.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-2.12.0-su-session-management.patch hpj@novell.com) -Patch5: gnome-session-2.12.0-su-session-management.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-2.19.92-kdm-support.patch hpj@novell.com) -Patch7: gnome-session-2.19.92-kdm-support.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FEATURE-UPSTREAM gnome-session-motd.patch bgo159604 rodrigo@novell.com -- Needs to get upstream or be dropped) -Patch8: gnome-session-motd.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-wm-switch.patch bnc180506 danw@novell.com) -Patch12: gnome-session-wm-switch.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-no-devel-fatals.patch jpr@novell.com -- Prevents badly breaking factory for people) -Patch13: gnome-session-no-devel-fatals.patch +#PATCH-FIX-UPSTREAM gnome-session-ice-auth-for-suid.patch hpj@novell.com -- Carries ICE auth over to other UIDs in this session using an env var. +Patch0: gnome-session-ice-auth-for-suid.patch +#PATCH-FIX-UPSTREAM gnome-session-kdm-support.patch hpj@novell.com -- Adds support for KDM logout commands. +Patch1: gnome-session-kdm-support.patch +#PATCH-FIX-OPENSUSE gnome-session-wm-switch.patch bnc180506 danw@novell.com -- Fixes legacy sessions to use gnome-wm instead of metacity/compiz. +Patch2: gnome-session-wm-switch.patch #PATCH-NEEDS-REBASE (was: #PATCH-FEATURE-OPENSUSE gnome-session-tile-ui.patch cgaisford@novell.com -- Feature from SLED 10 SP1) -Patch14: gnome-session-tile-ui.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-UPSTREAM gnome-session-2.20.0-safe-a11y-startup.patch bnc302316 bgo469958 cgaisford@novell.com -- hpj@novell.com modified this for bnc332498) -Patch15: gnome-session-2.20.0-safe-a11y-startup.patch -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-sound.patch bnc294396 bgo466458 cgaisford@novell.com -- there is a newer version upstream from mandriva ) -Patch17: gnome-session-gcc4.3-fixes.patch -Url: http://www.gnome.org -#PATCH-NEEDS-REBASE (was: #PATCH-FIX-OPENSUSE gnome-session-parse-autostart-command-line.patch bnc180126 rodrigo@novell.com -- this is a temporary patch, remove when we update to the new gnome-session (2.23/2.24) ) -Patch18: gnome-session-parse-autostart-command-line.patch -#PATCH-NEEDS-REBASE (was: # PATCH-FIX-UPSTREAM gnome-session-include-unistd.patch maw@novell.com -- Vincent says he'll accept this soon) -Patch19: gnome-session-include-unistd.patch -#PATCH-NEEDS-REBASE (was: # PATCH-FIX-UPSTREAM gnome-session-bnc385150-performance-hostname.patch bnc385150 vuntz@novell.com -- Extreme slowness on some network setup) -Patch20: gnome-session-bnc385150-performance-hostname.patch -#PATCH-NEEDS-REBASE (was: # PATCH-FEATURE-OPENSUSE gnome-session-gnome-wm-compiz-manager.patch vuntz@novell.com -- Launch compiz-manager when configured) -Patch21: gnome-session-gnome-wm-compiz-manager.patch -#PATCH-NEEDS-REBASE (was: # PATCH-FIX-OPENSUSE gnome-session-bnc389137-splash-layout.patch bnc389137 vuntz@novell.com -- Improve layout with our splash screen.) -Patch22: gnome-session-bnc389137-splash-layout.patch +# Not sure about this one. Needs major porting. +Patch3: gnome-session-tile-ui.patch +#PATCH-FEATURE-OPENSUSE gnome-session-gnome-wm-compiz-manager.patch vuntz@novell.com -- Launch compiz-manager when configured. +Patch4: gnome-session-gnome-wm-compiz-manager.patch +#PATCH-FIX-OPENSUSE gnome-session-bnc389137-splash-layout.patch bnc389137 vuntz@novell.com -- Improve layout with our splash screen. +Patch5: gnome-session-bnc389137-splash-layout.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Recommends: control-center2 Obsoletes: gnome-core @@ -117,22 +98,12 @@ Authors: %prep %setup -q #gnome-patch-translation-prepare -#%patch0 -#%patch1 -p1 -#%patch3 -#%patch5 -p1 -#%patch7 -#%patch8 -#%patch12 -p1 -#%patch13 -#%patch14 -p1 -#%patch15 -p1 -#%patch17 -p1 -#%patch18 -#%patch19 -p0 -#%patch20 -p1 -#%patch21 -p1 -#%patch22 +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +# %patch3 -p1 +%patch4 -p1 +%patch5 -p1 #gnome-patch-translation-update %build @@ -203,6 +174,38 @@ rm -rf $RPM_BUILD_ROOT %files lang -f %{name}-2.0.lang %changelog +* Mon Jul 21 2008 hpj@suse.de +- gnome-session-suspend.patch removed; no longer needed and code + changed radically. +- gnome-session-DESKTOP_LAUNCH.patch removed; no longer needed. +- gnome-session-remove-dns-warning.patch removed; no longer needed + as the code in question was also removed from upstream. +- gnome-session-2.12.0-su-session-management.patch rewritten and + renamed to gnome-session-ice-auth-for-suid.patch. Performs same + function as before. +- gnome-session-2.19.92-kdm-support.patch rewritten and renamed + to gnome-session-kdm-support.patch. Performs same functions as + before. +- gnome-session-motd.patch removed; not the right solution and + there is discussion upstream about solving it there. Also does + not have any BNC bug justifying its existence. +- gnome-session-wm-switch.patch rewritten/rebased. +- gnome-session-no-devel-fatals.patch removed; no longer needed. +- gnome-session-2.20.0-safe-a11y-startup.patch removed; no longer + needed. Was changing the order of startup for daemons - new + upstream codebase fixes this. +- gnome-session-gcc4.3-fixes.patch removed; no longer needed. +- gnome-session-parse-autostart-command-line.patch removed; no + longer needed. +- gnome-session-include-unistd.patch removed; no longer needed. +- gnome-session-bnc385150-performance-hostname.patch removed; no + longer needed. The new upstream code specifically addresses this. +- gnome-session-gnome-wm-compiz-manager.patch rebased; only path + changed. +- gnome-session-bnc389137-splash-layout.patch rebased. Dropped the + padding changes, but kept the change in icon size. Upstream + padding increased, more than matching ours. May need further + adjustment. * Fri Jun 27 2008 mauro@suse.de - Update to version 2.23.4.1 - Brand new code base, to know the new architecture, go to: @@ -216,7 +219,7 @@ rm -rf $RPM_BUILD_ROOT * Tue Jun 03 2008 rodrigo@suse.de - Export SDL_AUDIODRIVER=pulse in gnome startup script to have SDL applications use PulseAudio when in GNOME (bnc#394721) -* Sat May 24 2008 sreeves@suse.de +* Fri May 23 2008 sreeves@suse.de - Update the "gnome" script to not start gpk-update-icon on live install BNC #390658 * Mon May 19 2008 sbrabec@suse.cz @@ -253,7 +256,7 @@ rm -rf $RPM_BUILD_ROOT performance issue when launching new apps in GNOME on a default beta1 install -- extreme slowness can happen depending on the network setup. Fix bnc#385150, patch by Michael Meeks. -* Wed Apr 30 2008 vuntz@suse.de +* Tue Apr 29 2008 vuntz@suse.de - Actually copy the right live-installer.desktop (instead of a non-existing file) in gnome script so the installer icon appears on the desktop. @@ -280,7 +283,7 @@ rm -rf $RPM_BUILD_ROOT * Fri Mar 28 2008 rodrigo@suse.de - Added gnome-session-parse-autostart-command-line.patch to deal correctly with placeholders in command lines (bnc#180126) -* Fri Mar 14 2008 maw@suse.de +* Thu Mar 13 2008 maw@suse.de - Update to version 2.22.0: + Remove hard esound dependency + Don't start the sound server, and play the login sound when @@ -288,7 +291,7 @@ rm -rf $RPM_BUILD_ROOT + Updated translations * Mon Mar 10 2008 sbrabec@suse.cz - Require bug-buddy and its bi-arch counterpart (bnc#354164). -* Wed Mar 05 2008 maw@suse.de +* Tue Mar 04 2008 maw@suse.de - Update to version 2.21.92: + Require recent versions of gnome-keyring + Correctly handle the env. variables given by gnome-keyring to @@ -311,7 +314,7 @@ rm -rf $RPM_BUILD_ROOT - Remove gnome-session-splash-screen.diff its obsoleted by bgo116814 (originally bnc5780) - Remove handling of SUSE Linux 10.0 in the spec, its EOL -* Thu Jan 31 2008 maw@suse.de +* Wed Jan 30 2008 maw@suse.de - Update to version 2.21.90: + Set orientation with randr too (Luca Cavalli) + Fix warnings and plug leaks @@ -321,7 +324,7 @@ rm -rf $RPM_BUILD_ROOT + Change capplet title + HIG fixes in the capplet + Updated translations. -* Fri Nov 09 2007 hpj@suse.de +* Thu Nov 08 2007 hpj@suse.de - Rename gnome-session-main-init.patch to gnome-session-2.20.0-safe-a11y-startup.patch, and change it so a11y is started up before the user session, but still after @@ -335,32 +338,32 @@ rm -rf $RPM_BUILD_ROOT - Updated gnome script to detect live install user and create desktop entires in the ~/.config/autostart directory to disable beagle and opensuse-updater applets. Bug #326801 -* Thu Sep 20 2007 cgaisford@novell.com +* Wed Sep 19 2007 cgaisford@novell.com - Updated gnome script to create live install desktop file if the system is booted into a live install configuration. Also depends on an update to the gnome2-SuSE package which contains the desktop file. Bug #310543 -* Wed Sep 19 2007 mauro@suse.de +* Tue Sep 18 2007 mauro@suse.de - Update to version 2.20.0 + Updated translations -* Sat Sep 15 2007 cgaisford@novell.com +* Fri Sep 14 2007 cgaisford@novell.com - Modified the gnome script to copy the SuSE.desktop file to the desktop which points to the greeter app #300773 * Thu Sep 13 2007 jpr@suse.de - Ensure ~/Desktop exists before copying to it (#310363) * Thu Sep 13 2007 sbrabec@suse.cz - Fixed background resetting in /usr/bin/gnome (#309946). -* Thu Sep 13 2007 cgaisford@novell.com +* Wed Sep 12 2007 cgaisford@novell.com - Fixed up kdm-support patch to support gnome sessions in KDM Novell Bug #308022 * Mon Sep 10 2007 maw@suse.de - Update to versino 2.19.92: + Fix compiz support in gnome-wm + Updated translations. -* Sat Sep 08 2007 lewing@suse.de +* Fri Sep 07 2007 lewing@suse.de - Copy GnomeOnlineHelp.desktop to ~/Desktop the first time 10.3 runs. Part of bnc #300773 -* Fri Sep 07 2007 cgaisford@novell.com +* Thu Sep 06 2007 cgaisford@novell.com - Created a patch to fix login and logout sounds in gnome-session Novell bug 294396 and bugzilla.gnome.org #466458 * Tue Sep 04 2007 maw@suse.de @@ -370,7 +373,7 @@ rm -rf $RPM_BUILD_ROOT * Fri Aug 31 2007 maw@suse.de - Update to version 2.19.90: + Updated translations. -* Wed Aug 29 2007 cgaisford@novell.com +* Tue Aug 28 2007 cgaisford@novell.com - Further testing showed that the a11y needs to be done much lower in the loop so I've moved it down right before the gtk-main * Mon Aug 27 2007 cgaisford@novell.com @@ -382,13 +385,13 @@ rm -rf $RPM_BUILD_ROOT if they are not available. Fix for Novell Bug 238299 - Included patch to fix up load time that is pending review upstream. I'll add it to the spec file once approved -* Wed Aug 08 2007 maw@suse.de +* Tue Aug 07 2007 maw@suse.de - Use %%fdupes - Split off a -lang subpackage. -* Sat Aug 04 2007 dreveman@suse.de +* Fri Aug 03 2007 dreveman@suse.de - Update for compiz 0.5.2, which need glib plugin to be loaded before gconf plugin. -* Fri Aug 03 2007 cgaisford@suse.de +* Thu Aug 02 2007 cgaisford@suse.de - Fixed up the tile-ui patch to work with the new gnome * Thu Aug 02 2007 maw@suse.de - Update to version 2.19.6: @@ -494,7 +497,7 @@ rm -rf $RPM_BUILD_ROOT * Yang Zhang (zh_CN) * Wed Apr 04 2007 sbrabec@suse.cz - Session start script (gnome) cleanup (#254439). -* Wed Apr 04 2007 jhargadon@suse.de +* Tue Apr 03 2007 jhargadon@suse.de - specfile cleanup (#255906) * Mon Mar 19 2007 jpr@suse.de - Update to 2.18.0 @@ -508,7 +511,7 @@ rm -rf $RPM_BUILD_ROOT * Translations * Wed Mar 14 2007 sbrabec@suse.cz - Fixed at-spi-registryd path (#254403). -* Fri Mar 09 2007 maw@suse.de +* Thu Mar 08 2007 maw@suse.de - Update to version 2.17.91. Session Properties Dialog * Update categories in the .desktop file for the new control center @@ -579,19 +582,19 @@ rm -rf $RPM_BUILD_ROOT * Use Program instead of Command in the capplet (Tom Tromey) * Fri Mar 02 2007 sbrabec@suse.cz - Do not own /usr/share/xsessions (#229172). -* Tue Feb 13 2007 cgaisford@novell.com +* Mon Feb 12 2007 cgaisford@novell.com - updated the UI from changes make in SLED. -* Mon Jan 08 2007 sbrabec@suse.cz +* Sun Jan 07 2007 sbrabec@suse.cz - Prefix changed to /usr. - Spec file cleanup. -* Sat Dec 23 2006 federico@novell.com +* Fri Dec 22 2006 federico@novell.com - Removed the part of /usr/bin/gnome that overwrites the /desktop/gnome/font_rendering/dpi setting in GConf upon the user's first login. With an updated control-center2 package, gnome-settings-daemon will take care of figuring out the right DPI value. Fixes the gnome-session part of https://bugzilla.novell.com/show_bug.cgi?id=217790. -* Sun Oct 15 2006 danw@suse.de +* Sat Oct 14 2006 danw@suse.de - Remove dead patches - Update and re-enable gnome-session-remove-dns-warning.patch * Fri Oct 13 2006 dreveman@suse.de @@ -609,7 +612,7 @@ rm -rf $RPM_BUILD_ROOT - update to version 2.16.0 - Updated splash screen - translation updates -* Thu Aug 31 2006 jhargadon@suse.de +* Wed Aug 30 2006 jhargadon@suse.de - update to version 2.15.92 - Fix crash caused by debug output on Solaris - translation updates @@ -628,27 +631,27 @@ rm -rf $RPM_BUILD_ROOT - Fix edition of startup programs containing a space in a command line argument - Add gnome-keyring dependency -* Wed Aug 02 2006 danw@suse.de +* Tue Aug 01 2006 danw@suse.de - If the session explicitly specifies metacity or compiz, but the "wrong" X server for that wm is running, switch back to gnome-wm. #180506 * Fri Jun 16 2006 danw@suse.de - Pass --replace to compiz and gnome-window-decorator in case the copies run by gdm don't exit properly. #185296 -* Tue Jun 13 2006 rodrigo@suse.de +* Mon Jun 12 2006 rodrigo@suse.de - Added patch to create ~/.config/autostart before starting the migration from previous versions (#169509) * Fri Jun 02 2006 gekker@suse.de - Fix pager on upgrade (#181264) -* Thu Jun 01 2006 jpr@suse.de +* Wed May 31 2006 jpr@suse.de - Don't run the migration script for new users (#179332) -* Thu May 25 2006 joeshaw@suse.de +* Wed May 24 2006 joeshaw@suse.de - Fix the gnome script to not break when setting the background on multihead setups. Patch from Erik Jacobsen. (bnc #178388) * Sun May 21 2006 jpr@suse.de - Reset the user's UI if upgrading from NLD9/SLES9 to SLED10, leave ui for SLES10 upgrades (#174123) -* Sat May 13 2006 hpj@suse.de +* Fri May 12 2006 hpj@suse.de - Update keyring unlockage patch to try both CASA's Gnome_Keyring_Default and Desktop passwords. Part of fix for Novell bug #174093. @@ -659,7 +662,7 @@ rm -rf $RPM_BUILD_ROOT - Update gnome-wm to pick metacity or compiz based on whether it's actually running under Xgl or not, regardless of what /etc/sysconfig/displaymanager says. Fixes Xnest logins. #170839. -* Wed May 03 2006 joeshaw@suse.de +* Tue May 02 2006 joeshaw@suse.de - Don't write out a font using raw XML to the gconf database, that's wrong and evil. Instead, try to set the desktop's DPI value using gconftool-2. (bnc #171096) @@ -672,14 +675,14 @@ rm -rf $RPM_BUILD_ROOT * Thu Apr 13 2006 sbrabec@suse.cz - Call %%suse_update_desktop_file. - Use new control-center Categories instead of old ones. -* Sat Apr 08 2006 danw@suse.de +* Fri Apr 07 2006 danw@suse.de - Patch gnome-wm to prefer compiz when Xgl is running * Wed Apr 05 2006 hpj@suse.de - Fix keyring unlock patch to use g_strlcpy() correctly again. Fixes bug #159593 together with a CASA fix. * Fri Mar 31 2006 rodrigo@suse.de - Added missing "/" for /etc/xdg/autostart searching (#161322) -* Tue Mar 28 2006 jpr@suse.de +* Mon Mar 27 2006 jpr@suse.de - Handle only shipping 2 sizes of backgrounds * Tue Mar 21 2006 rodrigo@suse.de - Added support for /etc/xdg/autostart directory, so that @@ -696,7 +699,7 @@ rm -rf $RPM_BUILD_ROOT - Removed gnome-session-default-applications.patch, all needed applications are now started, if installed, via the autostart mechanism. -* Tue Mar 07 2006 rodrigo@suse.de +* Mon Mar 06 2006 rodrigo@suse.de - Fixed support for multiple system autostart directories. - Disable GUI operations for system-wide files (#154755). * Thu Mar 02 2006 rodrigo@suse.de @@ -704,20 +707,20 @@ rm -rf $RPM_BUILD_ROOT - Use g_strlcpy instead of strcpy when copying passwords. * Wed Feb 22 2006 rodrigo@suse.de - Added gnome-session-gsd-early-start.patch that fixes #150256. -* Fri Feb 17 2006 rodrigo@suse.de +* Thu Feb 16 2006 rodrigo@suse.de - Don't try to remove non-existing files (#145870) * Thu Feb 16 2006 rodrigo@suse.de - Updated gnome-session-suspend-patch to make suspend work as expected (#117491) * Wed Feb 15 2006 rodrigo@suse.de - Added MOTD on login, as requested by customer. -* Mon Feb 13 2006 hpj@suse.de +* Sun Feb 12 2006 hpj@suse.de - Added patch to support KDM's logout options. * Fri Feb 10 2006 joeshaw@suse.de - Remove the beagled invocation from the /usr/X11R6/bin/gnome shell script; it gets invoked through the new autostart mechanism now. (bnc #150041) -* Thu Feb 09 2006 rodrigo@suse.de +* Wed Feb 08 2006 rodrigo@suse.de - Updated gnome-session-suspend.patch to not exit the X session when suspend is selected on the logout dialog (117491) * Wed Feb 08 2006 joeshaw@suse.de @@ -730,10 +733,10 @@ rm -rf $RPM_BUILD_ROOT * Mon Feb 06 2006 hpj@suse.de - Fixed gnome-keyring-unlock patch to give correct soname for casa. -* Mon Feb 06 2006 hpj@suse.de +* Sun Feb 05 2006 hpj@suse.de - Updated gnome-keyring-unlock patch with dlopen hack from CASA team. I have no idea why this is required. -* Mon Feb 06 2006 ro@suse.de +* Sun Feb 05 2006 ro@suse.de - make it build on x86_64 (adding libdir to CASA unlock patch) * Fri Feb 03 2006 rodrigo@suse.de - Added gnome-session-rdesktop.diff, that fixes hang on login when @@ -746,7 +749,7 @@ rm -rf $RPM_BUILD_ROOT * Sat Jan 28 2006 hpj@suse.de - Added patch to unlock default GNOME keyring using the CASA password, optionally creating it if it doesn't exist. -* Fri Jan 27 2006 hpj@suse.de +* Thu Jan 26 2006 hpj@suse.de - Set the ICEAUTHORITY env var so programs running as root can get to the cookies. Eliminates hangs on logout. * Wed Jan 25 2006 mls@suse.de @@ -768,7 +771,7 @@ rm -rf $RPM_BUILD_ROOT - Updated autostart patch that includes code to migrate from the old ~/.gnome2/session-manual to the .desktop file-based thing in the user's home directory. -* Sun Jan 08 2006 dreveman@suse.de +* Sat Jan 07 2006 dreveman@suse.de - Improved logout effect patch * Thu Jan 05 2006 rodrigo@suse.de - Small fix to previous patch to avoid crash. @@ -834,9 +837,9 @@ rm -rf $RPM_BUILD_ROOT - Update splash for 10.0 * Tue Aug 09 2005 rodrigo@suse.de - Update to 2.11.91, which includes fix for #102652 -* Sat Aug 06 2005 gekker@suse.de +* Fri Aug 05 2005 gekker@suse.de - Start gnome-volume-manager with session -* Thu Aug 04 2005 gekker@suse.de +* Wed Aug 03 2005 gekker@suse.de - Start beagle by default, disable with ~/.dontrunbeagle * Tue Aug 02 2005 gekker@suse.de - Update to 2.11.90 @@ -855,18 +858,18 @@ rm -rf $RPM_BUILD_ROOT - Don't run beagle unless ~/.runbeagle exists (#74029) * Sat Mar 19 2005 jody@suse.de - Enable suspend if it is available. (#73000) -* Fri Mar 18 2005 clahey@suse.de +* Thu Mar 17 2005 clahey@suse.de - Patch fixes freeze on login. * Wed Mar 16 2005 sbrabec@suse.cz - Fixed gnome-session-desktop-file.patch (#73047). * Mon Mar 14 2005 clahey@suse.de - Update gnome splash from artists. -* Thu Mar 10 2005 gekker@suse.de +* Wed Mar 09 2005 gekker@suse.de - Update to version 2.10.0 (GNOME 2.10). * Mon Mar 07 2005 gekker@suse.de - mv suseplugger to default-apps patch - launch netapplet, resapplet, and best on startup -* Sat Feb 26 2005 gekker@suse.de +* Fri Feb 25 2005 gekker@suse.de - Add launch wrapper to launch beagled if installed in file gnome * Wed Feb 09 2005 sbrabec@suse.cz - Added session desktop file. @@ -897,7 +900,7 @@ rm -rf $RPM_BUILD_ROOT * Fri Sep 10 2004 hhetter@suse.de - run use_default_session again to make the 9.2 distribution wallpapers accessible -* Fri Sep 10 2004 federico@ximian.com +* Thu Sep 09 2004 federico@ximian.com - Added gnome-session-remove-purge-timeout.diff, to fix http://bugzilla.gnome.org/show_bug.cgi?id=151664 - Changed gnome-session-suseplugger.patch to run suseplugger with @@ -912,22 +915,22 @@ rm -rf $RPM_BUILD_ROOT - Fixes bug #61567 kdm shows 'Reboot' and 'Shutdown' options at the time of logout. -* Fri Aug 06 2004 clahey@suse.de +* Thu Aug 05 2004 clahey@suse.de - Added gnome-session-remove-dns-warning.patch from Federico. * Fri Jul 16 2004 shprasad@suse.de - Fixes bug #59918 Hides the splash-screen once the difault setting gets loaded. * Thu Jul 08 2004 sbrabec@suse.cz - Added DESKTOP_LAUNCH patch from Jan Holesovsky. -* Sat Jun 19 2004 dave@suse.de +* Fri Jun 18 2004 dave@suse.de - Don't set the wallpaper or font in the gnome startup script. -* Sat Jun 12 2004 clahey@suse.de +* Fri Jun 11 2004 clahey@suse.de - Added gnome-session-use-gdmctl.patch. -* Fri Jun 04 2004 clahey@suse.de +* Thu Jun 03 2004 clahey@suse.de - Switch to Novell session splash screen. -* Thu Jun 03 2004 mibarra@suse.de +* Wed Jun 02 2004 mibarra@suse.de - Make GNOME use suseplugger -* Wed May 12 2004 clahey@suse.de +* Tue May 11 2004 clahey@suse.de - Added gnome-session-2.0.5-dithering.patch to use MAX dithering. - Added gnome-session-desktop-file.patch to make gnome-session show up in control-center. @@ -986,7 +989,7 @@ rm -rf $RPM_BUILD_ROOT - Removed distribution desktop files. * Wed May 28 2003 sbrabec@suse.cz - Compress manpages. -* Wed May 28 2003 ro@suse.de +* Tue May 27 2003 ro@suse.de - added manpages to filelist * Tue Mar 18 2003 sbrabec@suse.cz - Variables already set in profile files removed from session startup @@ -1023,7 +1026,7 @@ rm -rf $RPM_BUILD_ROOT - Added libjpeg to neededforbuild. * Thu Nov 28 2002 hhetter@suse.de - updated to version 2.0.9 [GNOME 2.0.3] -* Tue Nov 12 2002 ro@suse.de +* Mon Nov 11 2002 ro@suse.de - changed neededforbuild to * Wed Nov 06 2002 hhetter@suse.de - use correct kde-datadir @@ -1073,7 +1076,7 @@ rm -rf $RPM_BUILD_ROOT * Thu Jun 20 2002 hhetter@suse.de - updated to version 2.0.1 - don't install schemas while make install -* Mon Jun 17 2002 ro@suse.de +* Sun Jun 16 2002 ro@suse.de - use libpng-devel-packages in neededforbuild * Fri Jun 14 2002 hhetter@suse.de - provide schema file