diff options
author | Daniel Gryniewicz <dang@gentoo.org> | 2007-10-02 15:39:40 +0000 |
---|---|---|
committer | Daniel Gryniewicz <dang@gentoo.org> | 2007-10-02 15:39:40 +0000 |
commit | 6e69ebcbc3fee92fe94b42b98d6f596824a83864 (patch) | |
tree | a6962e8f81a5061a7dc81cfbffeef7fc6750a3e2 /gnome-extra/bug-buddy | |
parent | stable ppc, bug #194277 (diff) | |
download | gentoo-2-6e69ebcbc3fee92fe94b42b98d6f596824a83864.tar.gz gentoo-2-6e69ebcbc3fee92fe94b42b98d6f596824a83864.tar.bz2 gentoo-2-6e69ebcbc3fee92fe94b42b98d6f596824a83864.zip |
Fix crashes caused by breakpad; bug #192310
(Portage version: 2.1.3.11)
Diffstat (limited to 'gnome-extra/bug-buddy')
-rw-r--r-- | gnome-extra/bug-buddy/ChangeLog | 9 | ||||
-rw-r--r-- | gnome-extra/bug-buddy/bug-buddy-2.20.0-r1.ebuild (renamed from gnome-extra/bug-buddy/bug-buddy-2.20.0.ebuild) | 10 | ||||
-rw-r--r-- | gnome-extra/bug-buddy/files/bug-buddy-2.20.0-fix-breakpad.patch | 69 | ||||
-rw-r--r-- | gnome-extra/bug-buddy/files/digest-bug-buddy-2.20.0-r1 (renamed from gnome-extra/bug-buddy/files/digest-bug-buddy-2.20.0) | 0 |
4 files changed, 85 insertions, 3 deletions
diff --git a/gnome-extra/bug-buddy/ChangeLog b/gnome-extra/bug-buddy/ChangeLog index e4673e9670ec..83ea21fa6cc6 100644 --- a/gnome-extra/bug-buddy/ChangeLog +++ b/gnome-extra/bug-buddy/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for gnome-extra/bug-buddy # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-extra/bug-buddy/ChangeLog,v 1.132 2007/09/26 22:08:57 dang Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/bug-buddy/ChangeLog,v 1.133 2007/10/02 15:39:39 dang Exp $ + +*bug-buddy-2.20.0-r1 (02 Oct 2007) + + 02 Oct 2007; Daniel Gryniewicz <dang@gentoo.org> + +files/bug-buddy-2.20.0-fix-breakpad.patch, -bug-buddy-2.20.0.ebuild, + +bug-buddy-2.20.0-r1.ebuild: + Fix crashes caused by breakpad; bug #192310 *bug-buddy-2.20.0 (26 Sep 2007) diff --git a/gnome-extra/bug-buddy/bug-buddy-2.20.0.ebuild b/gnome-extra/bug-buddy/bug-buddy-2.20.0-r1.ebuild index 5b0d64780cf2..79192baa4aba 100644 --- a/gnome-extra/bug-buddy/bug-buddy-2.20.0.ebuild +++ b/gnome-extra/bug-buddy/bug-buddy-2.20.0-r1.ebuild @@ -1,8 +1,8 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-extra/bug-buddy/bug-buddy-2.20.0.ebuild,v 1.1 2007/09/26 22:08:57 dang Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/bug-buddy/bug-buddy-2.20.0-r1.ebuild,v 1.1 2007/10/02 15:39:39 dang Exp $ -inherit gnome2 +inherit gnome2 eutils DESCRIPTION="A graphical bug reporting tool" HOMEPAGE="http://www.gnome.org/" @@ -41,3 +41,9 @@ USE_DESTDIR="1" pkg_setup() { G2CONF="${G2CONF} --disable-scrollkeeper" } + +src_unpack() { + gnome2_src_unpack + + epatch "${FILESDIR}"/${P}-fix-breakpad.patch +} diff --git a/gnome-extra/bug-buddy/files/bug-buddy-2.20.0-fix-breakpad.patch b/gnome-extra/bug-buddy/files/bug-buddy-2.20.0-fix-breakpad.patch new file mode 100644 index 000000000000..ccc2dcf6f81f --- /dev/null +++ b/gnome-extra/bug-buddy/files/bug-buddy-2.20.0-fix-breakpad.patch @@ -0,0 +1,69 @@ +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN bug-buddy-2.20.0.orig/gnome-breakpad/gnome-breakpad.cc bug-buddy-2.20.0/gnome-breakpad/gnome-breakpad.cc +--- bug-buddy-2.20.0.orig/gnome-breakpad/gnome-breakpad.cc 2007-09-04 15:53:55.000000000 -0400 ++++ bug-buddy-2.20.0/gnome-breakpad/gnome-breakpad.cc 2007-10-02 11:23:54.000000000 -0400 +@@ -291,22 +291,59 @@ gtk_module_init (int *argc, char** argv[ + + if (bugbuddy && !g_getenv ("GNOME_DISABLE_CRASH_DIALOG")) { + #ifdef ENABLE_GOOGLE_BREAKPAD ++ static struct sigaction old_action; ++ ++ sigaction(SIGSEGV, NULL, &old_action); ++ if (old_action.sa_handler != SIG_DFL) ++ return 0; ++ ++ sigaction(SIGABRT, NULL, &old_action); ++ if (old_action.sa_handler != SIG_DFL) ++ return 0; ++ ++ sigaction(SIGTRAP, NULL, &old_action); ++ if (old_action.sa_handler != SIG_DFL) ++ return 0; ++ ++ sigaction(SIGFPE, NULL, &old_action); ++ if (old_action.sa_handler != SIG_DFL) ++ return 0; ++ ++ sigaction(SIGBUS, NULL, &old_action); ++ if (old_action.sa_handler != SIG_DFL) ++ return 0; ++ + static ExceptionHandler handler("/tmp", check_if_gdb, + MinidumpCallback, NULL, true); + #else + static struct sigaction *setptr; ++ static struct sigaction old_action; + struct sigaction sa; + memset(&sa, 0, sizeof(sa)); + setptr = &sa; + + sa.sa_handler = bugbuddy_segv_handle; + +- sigaction(SIGSEGV, setptr, NULL); +- sigaction(SIGABRT, setptr, NULL); +- sigaction(SIGTRAP, setptr, NULL); +- sigaction(SIGFPE, setptr, NULL); +- sigaction(SIGBUS, setptr, NULL); ++ sigaction(SIGSEGV, NULL, &old_action); ++ if (old_action.sa_handler == SIG_DFL) ++ sigaction(SIGSEGV, setptr, NULL); ++ ++ sigaction(SIGABRT, NULL, &old_action); ++ if (old_action.sa_handler == SIG_DFL) ++ sigaction(SIGABRT, setptr, NULL); ++ ++ sigaction(SIGTRAP, NULL, &old_action); ++ if (old_action.sa_handler == SIG_DFL) ++ sigaction(SIGTRAP, setptr, NULL); ++ ++ sigaction(SIGFPE, NULL, &old_action); ++ if (old_action.sa_handler == SIG_DFL) ++ sigaction(SIGFPE, setptr, NULL); ++ ++ sigaction(SIGBUS, NULL, &old_action); ++ if (old_action.sa_handler == SIG_DFL) ++ sigaction(SIGBUS, setptr, NULL); + #endif + } +- ++ return 0; + } diff --git a/gnome-extra/bug-buddy/files/digest-bug-buddy-2.20.0 b/gnome-extra/bug-buddy/files/digest-bug-buddy-2.20.0-r1 index 8b014592adef..8b014592adef 100644 --- a/gnome-extra/bug-buddy/files/digest-bug-buddy-2.20.0 +++ b/gnome-extra/bug-buddy/files/digest-bug-buddy-2.20.0-r1 |