[gdm] disable fatal-critical stuff
Ray Strode
rstrode at fedoraproject.org
Tue Jun 28 17:18:35 UTC 2011
commit 7ed046b604abc75418a804f9ed000b8ad30fa74d
Author: Ray Strode <rstrode at redhat.com>
Date: Tue Jun 28 13:17:55 2011 -0400
disable fatal-critical stuff
disable-fatal-criticals.patch | 182 +++++++++++++++++++++++++++++++++++++++++
gdm.spec | 8 ++-
2 files changed, 189 insertions(+), 1 deletions(-)
---
diff --git a/disable-fatal-criticals.patch b/disable-fatal-criticals.patch
new file mode 100644
index 0000000..8af6636
--- /dev/null
+++ b/disable-fatal-criticals.patch
@@ -0,0 +1,182 @@
+From fc6ee4aa6d71d2c448a9b62aca24ba318163c590 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Tue, 28 Jun 2011 12:51:51 -0400
+Subject: [PATCH] common: don't tank on criticals
+
+Tiny (or not so tiny) bugs in components below GDM in the stack
+can lead to critical warnings.
+
+In development releases, GDM by default will crash when encountering
+a critical warning.
+
+Losing the login screen is a big deal. We shouldn't automatically subject
+our users to "can't log in" in order to highlight bugs in development
+releases.
+
+This commit removes fatal criticals by default.
+---
+ common/gdm-common.c | 9 ---------
+ common/gdm-common.h | 1 -
+ daemon/factory-slave-main.c | 2 --
+ daemon/main.c | 2 --
+ daemon/product-slave-main.c | 2 --
+ daemon/session-worker-main.c | 2 --
+ daemon/simple-slave-main.c | 2 --
+ daemon/xdmcp-chooser-slave-main.c | 2 --
+ gui/simple-chooser/chooser-main.c | 2 --
+ gui/simple-chooser/gdm-host-chooser.c | 2 --
+ gui/simple-greeter/greeter-main.c | 2 --
+ 11 files changed, 0 insertions(+), 28 deletions(-)
+
+diff --git a/common/gdm-common.c b/common/gdm-common.c
+index 7a4e26d..865341a 100644
+--- a/common/gdm-common.c
++++ b/common/gdm-common.c
+@@ -65,15 +65,6 @@ gdm_is_version_unstable (void)
+ return unstable;
+ }
+
+-void
+-gdm_set_fatal_warnings_if_unstable (void)
+-{
+- if (gdm_is_version_unstable ()) {
+- g_setenv ("G_DEBUG", "fatal_criticals", FALSE);
+- g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL);
+- }
+-}
+-
+ gboolean
+ gdm_get_pwent_for_name (const char *name,
+ struct passwd **pwentp)
+diff --git a/common/gdm-common.h b/common/gdm-common.h
+index 06300c8..41ddf1c 100644
+--- a/common/gdm-common.h
++++ b/common/gdm-common.h
+@@ -31,7 +31,6 @@
+ G_BEGIN_DECLS
+
+ gboolean gdm_is_version_unstable (void);
+-void gdm_set_fatal_warnings_if_unstable (void);
+
+ int gdm_wait_on_pid (int pid);
+ int gdm_wait_on_and_kill_pid (int pid,
+diff --git a/daemon/factory-slave-main.c b/daemon/factory-slave-main.c
+index 9caab1c..2441260 100644
+--- a/daemon/factory-slave-main.c
++++ b/daemon/factory-slave-main.c
+@@ -183,8 +183,6 @@ main (int argc,
+ textdomain (GETTEXT_PACKAGE);
+ setlocale (LC_ALL, "");
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ g_type_init ();
+
+ context = g_option_context_new (_("GNOME Display Manager Slave"));
+diff --git a/daemon/main.c b/daemon/main.c
+index 5b8d66b..2ffb779 100644
+--- a/daemon/main.c
++++ b/daemon/main.c
+@@ -543,8 +543,6 @@ main (int argc,
+
+ ret = 1;
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ g_type_init ();
+
+ context = g_option_context_new (_("GNOME Display Manager"));
+diff --git a/daemon/product-slave-main.c b/daemon/product-slave-main.c
+index b0ab03f..b8e4755 100644
+--- a/daemon/product-slave-main.c
++++ b/daemon/product-slave-main.c
+@@ -187,8 +187,6 @@ main (int argc,
+ textdomain (GETTEXT_PACKAGE);
+ setlocale (LC_ALL, "");
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ g_type_init ();
+
+ context = g_option_context_new (_("GNOME Display Manager Slave"));
+diff --git a/daemon/session-worker-main.c b/daemon/session-worker-main.c
+index 35b4463..9d40b8d 100644
+--- a/daemon/session-worker-main.c
++++ b/daemon/session-worker-main.c
+@@ -151,8 +151,6 @@ main (int argc,
+
+ g_type_init ();
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ /* Translators: worker is a helper process that does the work
+ of starting up a session */
+ context = g_option_context_new (_("GNOME Display Manager Session Worker"));
+diff --git a/daemon/simple-slave-main.c b/daemon/simple-slave-main.c
+index 7751b61..057492b 100644
+--- a/daemon/simple-slave-main.c
++++ b/daemon/simple-slave-main.c
+@@ -187,8 +187,6 @@ main (int argc,
+ textdomain (GETTEXT_PACKAGE);
+ setlocale (LC_ALL, "");
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ g_type_init ();
+
+ context = g_option_context_new (_("GNOME Display Manager Slave"));
+diff --git a/daemon/xdmcp-chooser-slave-main.c b/daemon/xdmcp-chooser-slave-main.c
+index f86ea89..ea54210 100644
+--- a/daemon/xdmcp-chooser-slave-main.c
++++ b/daemon/xdmcp-chooser-slave-main.c
+@@ -189,8 +189,6 @@ main (int argc,
+ textdomain (GETTEXT_PACKAGE);
+ setlocale (LC_ALL, "");
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ g_type_init ();
+
+ context = g_option_context_new (_("GNOME Display Manager Slave"));
+diff --git a/gui/simple-chooser/chooser-main.c b/gui/simple-chooser/chooser-main.c
+index ac1edd6..2978a23 100644
+--- a/gui/simple-chooser/chooser-main.c
++++ b/gui/simple-chooser/chooser-main.c
+@@ -233,8 +233,6 @@ main (int argc, char *argv[])
+
+ setlocale (LC_ALL, "");
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ g_type_init ();
+
+ gdm_log_init ();
+diff --git a/gui/simple-chooser/gdm-host-chooser.c b/gui/simple-chooser/gdm-host-chooser.c
+index 371ba28..1f5f9c6 100644
+--- a/gui/simple-chooser/gdm-host-chooser.c
++++ b/gui/simple-chooser/gdm-host-chooser.c
+@@ -232,8 +232,6 @@ main (int argc, char *argv[])
+
+ setlocale (LC_ALL, "");
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ g_type_init ();
+
+ gdm_log_init ();
+diff --git a/gui/simple-greeter/greeter-main.c b/gui/simple-greeter/greeter-main.c
+index aa165fa..a2c533e 100644
+--- a/gui/simple-greeter/greeter-main.c
++++ b/gui/simple-greeter/greeter-main.c
+@@ -252,8 +252,6 @@ main (int argc, char *argv[])
+
+ setlocale (LC_ALL, "");
+
+- gdm_set_fatal_warnings_if_unstable ();
+-
+ g_type_init ();
+
+ gdm_profile_start ("Initializing settings client");
+--
+1.7.5.4
+
diff --git a/gdm.spec b/gdm.spec
index ddb13a3..da9494b 100644
--- a/gdm.spec
+++ b/gdm.spec
@@ -15,7 +15,7 @@
Summary: The GNOME Display Manager
Name: gdm
Version: 3.1.2
-Release: 2%{?dist}
+Release: 3%{?dist}
Epoch: 1
License: GPLv2+
Group: User Interface/X
@@ -98,6 +98,7 @@ Requires: audit-libs >= %{libauditver}
Requires: system-icon-theme
Patch0: fix-build.patch
+Patch1: disable-fatal-criticals.patch
# Fedora-specific
Patch98: plymouth.patch
@@ -128,6 +129,7 @@ The GDM fingerprint plugin provides functionality necessary to use a fingerprint
%prep
%setup -q
%patch0 -p1 -b .fix-build
+%patch1 -p1 -b .disable-fatal-criticals
%patch98 -p1 -b .plymouth
%patch99 -p1 -b .fedora-logo
@@ -362,6 +364,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
%{_libdir}/gdm/simple-greeter/extensions/libfingerprint.so
%changelog
+* Tue Jun 28 2011 Ray Strode <rstrode at redhat.com> 3.1.2-3
+- Disable fatal critcals
+ Resolves: #717324
+
* Tue Jun 21 2011 Michael Schwendt <mschwendt at fedoraproject.org> - 3.1.2-2
- Fix /dev/ull typo in scriptlets (#693046).
More information about the scm-commits
mailing list