summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory Pratt <anarchy@gentoo.org>2011-01-02 21:13:49 +0000
committerJory Pratt <anarchy@gentoo.org>2011-01-02 21:13:49 +0000
commita7391f1f76cbb7a6dd0e81f46e8afa0c72ec5bdc (patch)
treefc883058bca154b2ae3d016b84728e75634b06dd /mail-client
parentStable on amd64 wrt bug #349516 (diff)
downloadhistorical-a7391f1f76cbb7a6dd0e81f46e8afa0c72ec5bdc.tar.gz
historical-a7391f1f76cbb7a6dd0e81f46e8afa0c72ec5bdc.tar.bz2
historical-a7391f1f76cbb7a6dd0e81f46e8afa0c72ec5bdc.zip
Fix segfault when attempting to dlclose cups, bug 325469
Package-Manager: portage-2.1.9.27/cvs/Linux x86_64
Diffstat (limited to 'mail-client')
-rw-r--r--mail-client/thunderbird/ChangeLog9
-rw-r--r--mail-client/thunderbird/Manifest5
-rw-r--r--mail-client/thunderbird/files/cups-1.4.4-fixup.patch161
-rw-r--r--mail-client/thunderbird/thunderbird-3.1.7-r2.ebuild (renamed from mail-client/thunderbird/thunderbird-3.1.7-r1.ebuild)6
4 files changed, 175 insertions, 6 deletions
diff --git a/mail-client/thunderbird/ChangeLog b/mail-client/thunderbird/ChangeLog
index 9ac69c24c488..30f1326a8003 100644
--- a/mail-client/thunderbird/ChangeLog
+++ b/mail-client/thunderbird/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for mail-client/thunderbird
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.59 2011/01/01 19:51:39 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/ChangeLog,v 1.60 2011/01/02 21:13:49 anarchy Exp $
+
+*thunderbird-3.1.7-r2 (02 Jan 2011)
+
+ 02 Jan 2011; Jory A. Pratt <anarchy@gentoo.org>
+ +files/cups-1.4.4-fixup.patch, -thunderbird-3.1.7-r1.ebuild,
+ +thunderbird-3.1.7-r2.ebuild:
+ Fix segfault when attempting to dlclose cups, bug 325469
01 Jan 2011; Raúl Porcel <armin76@gentoo.org> thunderbird-3.1.7.ebuild:
alpha/ia64/sparc stable wrt #348316
diff --git a/mail-client/thunderbird/Manifest b/mail-client/thunderbird/Manifest
index 486f7263d3b6..c502f109729e 100644
--- a/mail-client/thunderbird/Manifest
+++ b/mail-client/thunderbird/Manifest
@@ -1,5 +1,6 @@
AUX 1002_fix-system-hunspell-dict-detections.patch 3466 RMD160 f8fa846e5d7c80a15d0abf0c6aedb7302ead1f83 SHA1 091febd913c09c86c9242b1be8960fb012ee7c8d SHA256 7ce51cae6bbd6655c8bc543365370627e37d2fc5aa7f7e1270671f7482df344a
AUX bug-606109.patch 1259 RMD160 6d3f5d354524268e34293e9ce2d8b173c47163af SHA1 e1488807cc61ec04b2caa50019c000ba5d077450 SHA256 f2e645dfaa03cabcf46703be5bdeff8ee021694896465d3d263b038682dc0395
+AUX cups-1.4.4-fixup.patch 5439 RMD160 e907f65012a88b0810979c0beda4244e817835e6 SHA1 4099626a22b61802c958faad8171d506a95f9fca SHA256 501f95e278c2fdf3dec2b5586a2dc5ae35d78557a0db9939a1501c4782e54be5
AUX icon/thunderbird-icon-unbranded.png 13280 RMD160 1654b2cfa39631e2084da982001113972eb41c09 SHA1 2fdca79e57c79d2485eb56d31de7afb05337898e SHA256 28b605529bee4d8245afdbb2cab5a705d8fa8977a11635b54c7bc5a7d6a9619c
AUX icon/thunderbird-icon.png 6499 RMD160 1aeece7719c1c1629b98fc11870641769681a048 SHA1 651d244e96fa0edf13f68f5ef9047432eb6ed3bf SHA256 ff9749e42b82b80425bb52883d63baa53298af7be98870ee6b73f0a6cf0ab22d
AUX icon/thunderbird-unbranded.desktop 183 RMD160 2aeecc5f6127adee0c9ab1e1c83a29bafb82f41e SHA1 3c7533d73abf8208e2117de1601ac31935994021 SHA256 b42bda8d82722d069049889f14887aabc9f3e139a023186780ffff222ca5722d
@@ -200,7 +201,7 @@ DIST thunderbird-3.1.7.source.tar.bz2 65948060 RMD160 c5e25004565decf1467a9b4521
EBUILD thunderbird-3.1.3.ebuild 7651 RMD160 6937123960be614a273103521b55c5a86c93c8b4 SHA1 975a1bb7aa7d502534141f2ce45afe931d859fc4 SHA256 680bf0f7f67f6ec09d1d08f98db3159346e2674b3fb46a7c868b0dbdd8257a21
EBUILD thunderbird-3.1.5.ebuild 7614 RMD160 083d852a83cb7587af001f64a78e81e5e3c8780c SHA1 b3de974b205460f9dcaff6f67f74212bba94cea9 SHA256 98e783fac42e5d576a47fbfda1045a1a8f61044e51f24c4f7821c67bf6ec0dbd
EBUILD thunderbird-3.1.6.ebuild 7665 RMD160 1604a2dafe34043793add0e17bebe82237ec4b02 SHA1 f069a70443c95128f35e521930a2eaee0ad7f649 SHA256 4c5e3028af9385f87a2d8927dc778e6dd58c8a8e695756f8c686427a97ae9684
-EBUILD thunderbird-3.1.7-r1.ebuild 7735 RMD160 a88606e189c7ef869d27ae6c9a774aaf34bc6e30 SHA1 7c7b3582654334ac02b79fa833b9d220e3735837 SHA256 31f7a1c2888cbfc2c5bc0fe92dc411e8fccb5650d8fd90d9a5992d254d4e7aec
+EBUILD thunderbird-3.1.7-r2.ebuild 7779 RMD160 a151e3decc858cd912cb10bf42c26530ccc9cf9d SHA1 b3df03f22e8f8142c65a8f3a2c2581544f08d73c SHA256 c1139b1d7777879dcef5a400b29ecbc787fbcab96aeaf60fb903003266bd0d5d
EBUILD thunderbird-3.1.7.ebuild 7611 RMD160 93002c4fe86cc7fb0da2da7b35ea7ab2675704ad SHA1 51b124ce8d85009ee4609812814b49f3b9f1ffd8 SHA256 1dac783c338daed3f98b68a83c0b575fe35eab051d8ba31c091a800477d95124
-MISC ChangeLog 59034 RMD160 053b08e163e2acfdda7c1c396c6dc8de3057e88d SHA1 60bb93b3c1e2f7379bab36540f3097fdafa9bd7f SHA256 22f0814e26c8021125a689c8a4b2787687281679f85133052469044cc23c6fb5
+MISC ChangeLog 59276 RMD160 6b27f01e6993f1e76a91685265497ed11ad27b36 SHA1 c7426bd08b69120d83038e3b3208004e87214b30 SHA256 24f67dc015ae3176928dfc73f43d8633fac71f414bb2b502456da4346ea9274d
MISC metadata.xml 471 RMD160 dd596368f27518e6d32d724e878d8dfb0303fb68 SHA1 147c70ac08b477679be27a428679c4c06ce0c1f0 SHA256 8f3f2c2b7c204fa12ce8ab51e655985374ea469d3870680b6925d541dbf56ef3
diff --git a/mail-client/thunderbird/files/cups-1.4.4-fixup.patch b/mail-client/thunderbird/files/cups-1.4.4-fixup.patch
new file mode 100644
index 000000000000..a0923e8906e9
--- /dev/null
+++ b/mail-client/thunderbird/files/cups-1.4.4-fixup.patch
@@ -0,0 +1,161 @@
+# HG changeset patch
+# User Matthew Gregan <kinetik@flim.org>
+# Date 1293624205 -3600
+# Node ID ffa1ef8ab52b4081e27aa2b24d14a550386f90db
+# Parent 9e561d402701f46eb56dbadb96b6963f4518cdd0
+Bug 573039 - Construct nsCUPSShim statically and avoid calling PR_UnloadLibrary on libcups after it has been initialized. r=karlt a=clegnitto
+
+diff --git a/mozilla/gfx/src/psshared/nsCUPSShim.cpp b/mozilla/gfx/src/psshared/nsCUPSShim.cpp
+--- a/mozilla/gfx/src/psshared/nsCUPSShim.cpp
++++ b/mozilla/gfx/src/psshared/nsCUPSShim.cpp
+@@ -83,14 +83,8 @@ nsCUPSShim::Init()
+ #endif
+ PR_UnloadLibrary(mCupsLib);
+ mCupsLib = nsnull;
+ return PR_FALSE;
+ }
+ }
+ return PR_TRUE;
+ }
+-
+-nsCUPSShim::~nsCUPSShim()
+-{
+- if (mCupsLib)
+- PR_UnloadLibrary(mCupsLib);
+-}
+diff --git a/mozilla/gfx/src/psshared/nsCUPSShim.h b/mozilla/gfx/src/psshared/nsCUPSShim.h
+--- a/mozilla/gfx/src/psshared/nsCUPSShim.h
++++ b/mozilla/gfx/src/psshared/nsCUPSShim.h
+@@ -81,17 +81,16 @@ typedef int (PR_CALLBACK *CupsAddOptionT
+ int num_options,
+ cups_option_t **options);
+
+ struct PRLibrary;
+
+ class NS_PSSHARED nsCUPSShim {
+ public:
+ nsCUPSShim() : mCupsLib(nsnull) { }
+- ~nsCUPSShim();
+
+ /**
+ * Initialize this object. Attempt to load the CUPS shared
+ * library and find function pointers for the supported
+ * functions (see below).
+ * @return PR_FALSE if the shared library could not be loaded, or if
+ * any of the functions could not be found.
+ * PR_TRUE for successful initialization.
+diff --git a/mozilla/gfx/src/psshared/nsPSPrinters.cpp b/mozilla/gfx/src/psshared/nsPSPrinters.cpp
+--- a/mozilla/gfx/src/psshared/nsPSPrinters.cpp
++++ b/mozilla/gfx/src/psshared/nsPSPrinters.cpp
+@@ -51,32 +51,34 @@
+ #include "plstr.h"
+
+ #define NS_CUPS_PRINTER "CUPS/"
+ #define NS_CUPS_PRINTER_LEN (sizeof(NS_CUPS_PRINTER) - 1)
+
+ /* dummy printer name for the gfx/src/ps driver */
+ #define NS_POSTSCRIPT_DRIVER_NAME "PostScript/"
+
++nsCUPSShim gCupsShim;
++
+ /* Initialize the printer manager object */
+ nsresult
+ nsPSPrinterList::Init()
+ {
+ nsresult rv;
+
+ mPrefSvc = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv);
+ if (NS_SUCCEEDED(rv))
+ rv = mPrefSvc->GetBranch("print.", getter_AddRefs(mPref));
+ NS_ENSURE_SUCCESS(rv, NS_ERROR_NOT_INITIALIZED);
+
+ // Should we try cups?
+ PRBool useCups = PR_TRUE;
+ rv = mPref->GetBoolPref("postscript.cups.enabled", &useCups);
+- if (useCups)
+- mCups.Init();
++ if (useCups && !gCupsShim.IsInitialized())
++ gCupsShim.Init();
+ return NS_OK;
+ }
+
+
+ /* Check whether the PostScript module has been disabled at runtime */
+ PRBool
+ nsPSPrinterList::Enabled()
+ {
+@@ -94,35 +96,35 @@ nsPSPrinterList::Enabled()
+ /* Fetch a list of printers handled by the PostsScript module */
+ void
+ nsPSPrinterList::GetPrinterList(nsTArray<nsCString>& aList)
+ {
+ aList.Clear();
+
+ // Query CUPS for a printer list. The default printer goes to the
+ // head of the output list; others are appended.
+- if (mCups.IsInitialized()) {
++ if (gCupsShim.IsInitialized()) {
+ cups_dest_t *dests;
+
+- int num_dests = (mCups.mCupsGetDests)(&dests);
++ int num_dests = (gCupsShim.mCupsGetDests)(&dests);
+ if (num_dests) {
+ for (int i = 0; i < num_dests; i++) {
+ nsCAutoString fullName(NS_CUPS_PRINTER);
+ fullName.Append(dests[i].name);
+ if (dests[i].instance != NULL) {
+ fullName.Append("/");
+ fullName.Append(dests[i].instance);
+ }
+ if (dests[i].is_default)
+ aList.InsertElementAt(0, fullName);
+ else
+ aList.AppendElement(fullName);
+ }
+ }
+- (mCups.mCupsFreeDests)(num_dests, dests);
++ (gCupsShim.mCupsFreeDests)(num_dests, dests);
+ }
+
+ // Build the "classic" list of printers -- those accessed by running
+ // an opaque command. This list always contains a printer named "default".
+ // In addition, we look for either an environment variable
+ // MOZILLA_POSTSCRIPT_PRINTER_LIST or a preference setting
+ // print.printer_list, which contains a space-separated list of printer
+ // names.
+diff --git a/mozilla/gfx/src/psshared/nsPSPrinters.h b/mozilla/gfx/src/psshared/nsPSPrinters.h
+--- a/mozilla/gfx/src/psshared/nsPSPrinters.h
++++ b/mozilla/gfx/src/psshared/nsPSPrinters.h
+@@ -37,17 +37,16 @@
+ * ***** END LICENSE BLOCK ***** */
+
+ #ifndef nsPSPrinters_h___
+ #define nsPSPrinters_h___
+
+ #include "nsString.h"
+ #include "nsTArray.h"
+ #include "prtypes.h"
+-#include "nsCUPSShim.h"
+ #include "psSharedCore.h"
+
+ class nsIPrefService;
+ class nsIPrefBranch;
+ class nsCUPSShim;
+
+ class NS_PSSHARED nsPSPrinterList {
+ public:
+@@ -91,12 +90,11 @@ class NS_PSSHARED nsPSPrinterList {
+ * the <type> portion as described for GetPrinterList().
+ * @return The PrinterType value for this name.
+ */
+ static PrinterType GetPrinterType(const nsACString& aName);
+
+ private:
+ nsCOMPtr<nsIPrefService> mPrefSvc;
+ nsCOMPtr<nsIPrefBranch> mPref;
+- nsCUPSShim mCups;
+ };
+
+ #endif /* nsPSPrinters_h___ */
+
+
diff --git a/mail-client/thunderbird/thunderbird-3.1.7-r1.ebuild b/mail-client/thunderbird/thunderbird-3.1.7-r2.ebuild
index ffbec3e89f3c..45ede0d7983a 100644
--- a/mail-client/thunderbird/thunderbird-3.1.7-r1.ebuild
+++ b/mail-client/thunderbird/thunderbird-3.1.7-r2.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/thunderbird-3.1.7-r1.ebuild,v 1.2 2010/12/29 04:33:19 anarchy Exp $
+# $Header: /var/cvsroot/gentoo-x86/mail-client/thunderbird/thunderbird-3.1.7-r2.ebuild,v 1.1 2011/01/02 21:13:49 anarchy Exp $
EAPI="3"
WANT_AUTOCONF="2.1"
@@ -115,7 +115,7 @@ src_prepare() {
epatch "${WORKDIR}"
epatch "${FILESDIR}/bug-606109.patch"
-
+ epatch "${FILESDIR}/cups-1.4.4-fixup.patch"
# Respect users ldflags when building ldap support
epatch "${FILESDIR}/${PN}-respect-ldflags.patch"