--- a/MozillaFirefox/MozillaFirefox.spec Tue Oct 05 20:58:30 2010 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Wed Oct 06 19:15:35 2010 +0200
@@ -60,6 +60,7 @@
Patch9: firefox-kde.patch
Patch10: firefox-ui-lockdown.patch
Patch11: firefox-no-sync-l10n.patch
+Patch12: firefox-sync-system-nss.patch
Patch13: firefox-sync-build.patch
Patch14: firefox-libxulsdk-locales.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -162,6 +163,7 @@
%endif
#%patch10 -p1
%patch11 -p1
+%patch12 -p1
%patch13 -p1
%patch14 -p1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/firefox-sync-system-nss.patch Wed Oct 06 19:15:35 2010 +0200
@@ -0,0 +1,1 @@
+../firefox-sync-system-nss.patch
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/firefox-sync-system-nss.patch Wed Oct 06 19:15:35 2010 +0200
@@ -0,0 +1,57 @@
+# HG changeset patch
+# Parent 1e4f0a7028202f758195452878b0299a587a4b4e
+Bug 583209 - Weave fails to load if system libnss3.so is in use (OpenSolaris, Linux dists)
+https://bugzilla.mozilla.org/show_bug.cgi?id=583209
+
+diff --git a/services/crypto/WeaveCrypto.js b/services/crypto/WeaveCrypto.js
+--- a/services/crypto/WeaveCrypto.js
++++ b/services/crypto/WeaveCrypto.js
+@@ -102,44 +102,23 @@ WeaveCrypto.prototype = {
+ initNSS : function() {
+ // We use NSS for the crypto ops, which needs to be initialized before
+ // use. By convention, PSM is required to be the module that
+ // initializes NSS. So, make sure PSM is initialized in order to
+ // implicitly initialize NSS.
+ Cc["@mozilla.org/psm;1"].getService(Ci.nsISupports);
+
+ // Open the NSS library.
+- let nssfile = Services.dirsvc.get("GreD", Ci.nsILocalFile);
+ let os = Services.appinfo.OS;
+- switch (os) {
+- case "WINNT":
+- case "WINMO":
+- case "WINCE":
+- nssfile.append("nss3.dll");
+- break;
+- case "Darwin":
+- nssfile.append("libnss3.dylib");
+- break;
+- case "Linux":
+- case "SunOS":
+- case "WebOS": // Palm Pre
+- nssfile.append("libnss3.so");
+- break;
+- case "Android":
+- // Android uses a $GREDIR/lib/ subdir.
+- nssfile.append("lib");
+- nssfile.append("libnss3.so");
+- break;
+- default:
+- throw Components.Exception("unsupported platform: " + os, Cr.NS_ERROR_UNEXPECTED);
+- }
+- this.log("Using NSS library " + nssfile.path);
++ let path = ctypes.libraryName("nss3");
++
++ this.log("Using NSS library " + path);
+
+ // XXX really want to be able to pass specific dlopen flags here.
+- let nsslib = ctypes.open(nssfile.path);
++ let nsslib = ctypes.open(path);
+
+ this.log("Initializing NSS types and function declarations...");
+
+ this.nss = {};
+ this.nss_t = {};
+
+ // nsprpub/pr/include/prtypes.h#435
+ // typedef PRIntn PRBool; --> int
--- a/series Tue Oct 05 20:58:30 2010 +0200
+++ b/series Wed Oct 06 19:15:35 2010 +0200
@@ -22,5 +22,6 @@
firefox-kde.patch
#firefox-ui-lockdown.patch
firefox-no-sync-l10n.patch
+firefox-sync-system-nss.patch
firefox-sync-build.patch
firefox-libxulsdk-locales.patch