# HG changeset patch # User Wolfgang Rosenauer # Date 1259442877 -3600 # Node ID 045edd78eceb4b99785be6e537118fb48788f60b # Parent ad87c5e85a41df324fd3c283e6de2510e70ca5ed Add missing files diff -r ad87c5e85a41 -r 045edd78eceb firefox-browser-css.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/firefox-browser-css.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,144 @@ +diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css +--- a/browser/base/content/browser.css ++++ b/browser/base/content/browser.css +@@ -4,16 +4,21 @@ + searchbar { + -moz-binding: url("chrome://browser/content/search/search.xml#searchbar"); + } + + tabbrowser { + -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser"); + } + ++ /* Remove focus lines from tabs */ ++ .tabbrowser-tab > .tab-text { ++ border: 1px dotted transparent !important; ++ } ++ + toolbar[printpreview="true"] { + -moz-binding: url("chrome://global/content/printPreviewBindings.xml#printpreviewtoolbar"); + } + + toolbarpaletteitem[place="palette"] > toolbaritem > hbox[type="places"] { + display: none; + } + +@@ -25,31 +30,69 @@ toolbarpaletteitem[place="palette"] > to + #browser-bottombox[lwthemefooter="true"] { + background-repeat: no-repeat; + background-position: bottom left; + } + + /* ::::: location bar ::::: */ + #urlbar { + -moz-binding: url(chrome://browser/content/urlbarBindings.xml#urlbar); ++ -moz-appearance: textfield !important; + } + ++ #urlbar .autocomplete-textbox-container { ++ background-color: -moz-Field !important; ++ -moz-appearance: none !important; ++ } ++ ++ #urlbar > .autocomplete-history-dropmarker { ++ -moz-appearance: toolbarbutton-dropdown !important; ++ margin: 0px 3px 0px 5px !important; ++ } ++ + #wrapper-urlbar-container > #urlbar-container > #urlbar { + -moz-user-input: disabled; + cursor: -moz-grab; + } + + #PopupAutoComplete { + -moz-binding: url("chrome://browser/content/urlbarBindings.xml#browser-autocomplete-result-popup"); + } + + #PopupAutoCompleteRichResult { + -moz-binding: url("chrome://browser/content/urlbarBindings.xml#urlbar-rich-result-popup"); + } + ++ #PopupAutoCompleteRichResult .autocomplete-richlistitem ++ { ++ background: -moz-Field !important; ++ } ++ ++ #PopupAutoCompleteRichResult .autocomplete-richlistitem[selected="true"] ++ { ++ background: Highlight !important; ++ } ++ ++ #PopupAutoCompleteRichResult .autocomplete-richlistitem[selected="true"], ++ #PopupAutoCompleteRichResult .autocomplete-richlistitem[selected="true"] * ++ { ++ color: HighlightText !important; ++ } ++ ++ .ac-title ++ { ++ color: -moz-Fieldtext !important; ++ } ++ ++ #PopupAutoComplete .autocomplete-treebody { ++ background-color: -moz-Field !important; ++ color: -moz-Fieldtext !important; ++ } ++ ++ + #urlbar-throbber:not([busy="true"]), + #urlbar-throbber[busy="true"] + #page-proxy-favicon { + display: none; + } + + #feed-button > .button-box > .box-inherit > .button-text, + #feed-button > .button-box > .button-menu-dropmarker { + display: none; +@@ -69,16 +112,30 @@ toolbarpaletteitem[place="palette"] > to + max-width: 22em; + min-width: 1px; + } + + #wrapper-search-container > #search-container > #searchbar > .searchbar-textbox > .autocomplete-textbox-container > .textbox-input-box > html|*.textbox-input { + visibility: hidden; + } + ++/* Identity/Bookmark pop-up improvements */ ++ ++ #identity-popup-container { ++ -moz-appearance: dialog !important; ++ } ++ ++ #editBookmarkPanel { ++ -moz-appearance: dialog !important; ++ } ++ ++ #editBMPanel_foldersExpander, #editBMPanel_tagsSelectorExpander { ++ -moz-appearance: menulist-button !important; ++ } ++ + /* ::::: Unified Back-/Forward Button ::::: */ + #back-button > .toolbarbutton-menu-dropmarker, + #forward-button > .toolbarbutton-menu-dropmarker, + #back-forward-dropmarker > .toolbarbutton-icon, + #back-forward-dropmarker > .toolbarbutton-text { + display: none; + } + .unified-nav-current { +@@ -191,8 +248,17 @@ window[chromehidden~="toolbar"] toolbar: + #allTabs-tab-close-button { + -moz-binding: url("chrome://global/content/bindings/toolbarbutton.xml#toolbarbutton-image"); + margin: 0; + } + + #allTabs-container { + display: block; + } ++ ++/* Support for Fission add-on */ ++ ++#urlbar[fission="fusion"] > #statusbar-icon > .progress-bar { ++ background-color: Highlight !important; ++ -moz-appearance: progresschunk !important; ++ opacity: 0.4 !important; ++ margin: 1px !important; ++} diff -r ad87c5e85a41 -r 045edd78eceb firefox-credits.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/firefox-credits.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,23 @@ +diff --git a/browser/base/content/credits.xhtml b/browser/base/content/credits.xhtml +--- a/browser/base/content/credits.xhtml ++++ b/browser/base/content/credits.xhtml +@@ -579,16 +579,19 @@ +
  • Satoko Takita Yamaguchi (Chibi)
  • +
  • Christine Yen
  • +
  • Kohei Yoshino
  • +
  • Shigeru Yoshitake
  • +
  • Boris Zbarsky
  • +
  • Marco Zehe
  • +
  • Matthew Zeier
  • + ++ ++

    openSUSE RPM packaging

    ++ + +
    + &credit.translation; +
    + + + +
    diff -r ad87c5e85a41 -r 045edd78eceb firefox-libxul-sdk.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/firefox-libxul-sdk.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,16 @@ +diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in +--- a/browser/locales/Makefile.in ++++ b/browser/locales/Makefile.in +@@ -192,9 +192,11 @@ endif + + libs-%: + $(NSINSTALL) -D $(DIST)/install ++ifndef LIBXUL_SDK + @$(MAKE) -C ../../toolkit/locales libs-$* BOTH_MANIFESTS=1 ++ @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1 ++endif + @$(MAKE) -C ../../extensions/reporter/locales libs AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1 +- @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1 + @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1 + @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1 + @$(MAKE) tests AB_CD=$* diff -r ad87c5e85a41 -r 045edd78eceb firefox-linkorder.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/firefox-linkorder.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,31 @@ +From: Wolfgang Rosenauer +Subject: Build fails with --as-needed +References: + + +diff --git a/browser/components/build/Makefile.in b/browser/components/build/Makefile.in +--- a/browser/components/build/Makefile.in ++++ b/browser/components/build/Makefile.in +@@ -78,19 +78,21 @@ LOCAL_INCLUDES += -I$(srcdir)/../migrati + SHARED_LIBRARY_LIBS += ../migration/src/$(LIB_PREFIX)migration_s.$(LIB_SUFFIX) + EXTRA_DSO_LDOPTS += $(LIBXUL_DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX) + endif + + # This has to come after the above chunk, because mozreg_s has dependencies on + # stuff in MOZ_COMPONENT_LIBS. + EXTRA_DSO_LDOPTS += \ + $(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \ +- $(MOZ_COMPONENT_LIBS) \ + $(NULL) + ++# if built with --as-needed the NSPR libs need to be linked after mozreg_s ++EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS) ++ + # Mac: Need to link with CoreFoundation for Mac Migrators (PList reading code) + # GTK2: Need to link with glib for GNOME shell service + ifneq (,$(filter mac cocoa gtk2,$(MOZ_WIDGET_TOOLKIT))) + EXTRA_DSO_LDOPTS += \ + $(TK_LIBS) \ + $(NULL) + endif + diff -r ad87c5e85a41 -r 045edd78eceb firefox-no-gnomevfs.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/firefox-no-gnomevfs.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,17 @@ +diff --git a/configure.in b/configure.in +--- a/configure.in ++++ b/configure.in +@@ -5744,6 +5744,13 @@ if test -z "$MOZ_ENABLE_GNOMEVFS" && tes + MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'` + fi + ++if test ! -z "$LIBXUL_SDK_DIR" && test `echo "$MOZ_EXTENSIONS" | grep -c gnomevfs` -ne 0; then ++ if test -n "$MOZ_X11"; then ++ AC_MSG_WARN([nkgnomevfs is already part of xulrunner. Removing gnomevfs from MOZ_EXTENSIONS.]) ++ fi ++ MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|gnomevfs||'` ++fi ++ + if test -z "$MOZ_JSDEBUGGER" && test `echo "$MOZ_EXTENSIONS" | grep -c venkman` -ne 0; then + AC_MSG_WARN([Cannot build venkman without JavaScript debug library. Removing venkman from MOZ_EXTENSIONS.]) + MOZ_EXTENSIONS=`echo $MOZ_EXTENSIONS | sed -e 's|venkman||'` diff -r ad87c5e85a41 -r 045edd78eceb mozilla-pkgconfig.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-pkgconfig.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,99 @@ +diff --git a/xulrunner/installer/Makefile.in b/xulrunner/installer/Makefile.in +--- a/xulrunner/installer/Makefile.in ++++ b/xulrunner/installer/Makefile.in +@@ -62,16 +62,19 @@ PKG_DMG_SOURCE = $(STAGEPATH)xulrunner-p + endif + + include $(topsrcdir)/config/rules.mk + + INSTALL_SDK = 1 + + include $(topsrcdir)/toolkit/mozapps/installer/packager.mk + ++# the apilibdir always ends with 1.9 as every patch update will provide a link ++apilibdir = $(dir $(installdir))xulrunner-1.9.2 ++ + $(MOZILLA_VERSION).system.conf: $(topsrcdir)/config/milestone.txt Makefile + printf "[%s]\nGRE_PATH=%s\nxulrunner=true\nabi=%s" \ + $(MOZILLA_VERSION) $(installdir) $(TARGET_XPCOM_ABI)> $@ + + ifndef SKIP_GRE_REGISTRATION + # to register xulrunner per-user, override this with $HOME/.gre.d + regdir = /etc/gre.d + +@@ -116,16 +119,17 @@ endif + + %.pc: $(srcdir)/%.pc.in $(GLOBAL_DEPS) + cat $< | sed \ + -e "s|%ojidef%|$(OJIDEF)|" \ + -e "s|%prefix%|$(prefix)|" \ + -e "s|%includedir%|$(includedir)|" \ + -e "s|%idldir%|$(idldir)|" \ + -e "s|%sdkdir%|$(sdkdir)|" \ ++ -e "s|%libdir%|$(apilibdir)|" \ + -e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \ + -e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \ + -e "s|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \ + -e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \ + -e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \ + -e "s|%NSPR_NAME%|$(NSPR_NAME)|" \ + -e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" > $@ + chmod 644 $@ +diff --git a/xulrunner/installer/libxul-embedding.pc.in b/xulrunner/installer/libxul-embedding.pc.in +--- a/xulrunner/installer/libxul-embedding.pc.in ++++ b/xulrunner/installer/libxul-embedding.pc.in +@@ -1,10 +1,11 @@ + prefix=%prefix% + sdkdir=%sdkdir% + includedir=%includedir% + idldir=%idldir% + + Name: libxul-embedding + Description: Static library for version-independent embedding of the Mozilla runtime + Version: %MOZILLA_VERSION% +-Libs: -L${sdkdir}/lib -lxpcomglue ++Requires: %NSPR_NAME% >= %NSPR_VERSION% ++Libs: -L${sdkdir}/sdk/lib -lxpcomglue + Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS% +diff --git a/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in b/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in +--- a/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in ++++ b/xulrunner/installer/mozilla-gtkmozembed-embedding.pc.in +@@ -1,8 +1,9 @@ + prefix=%prefix% + sdkdir=%sdkdir% ++libdir=%libdir% + includedir=%includedir% + + Name: mozilla-gtkembedmoz + Description: Static version-independent Mozilla Embedding Widget for Gtk+ + Version: %MOZILLA_VERSION% + Requires: libxul-embedding = %MOZILLA_VERSION% +diff --git a/xulrunner/installer/mozilla-gtkmozembed.pc.in b/xulrunner/installer/mozilla-gtkmozembed.pc.in +--- a/xulrunner/installer/mozilla-gtkmozembed.pc.in ++++ b/xulrunner/installer/mozilla-gtkmozembed.pc.in +@@ -1,8 +1,9 @@ + prefix=%prefix% + sdkdir=%sdkdir% ++libdir=%libdir% + includedir=%includedir% + + Name: mozilla-gtkembedmoz + Description: Mozilla Embedding Widget for Gtk+ + Version: %MOZILLA_VERSION% + Requires: libxul = %MOZILLA_VERSION% +diff --git a/xulrunner/installer/mozilla-js.pc.in b/xulrunner/installer/mozilla-js.pc.in +--- a/xulrunner/installer/mozilla-js.pc.in ++++ b/xulrunner/installer/mozilla-js.pc.in +@@ -1,10 +1,11 @@ + prefix=%prefix% + sdkdir=%sdkdir% ++libdir=%libdir% + includedir=%includedir% + + Name: JavaScript + Description: The Mozilla JavaScript Library + Version: %MOZILLA_VERSION% + Requires: %NSPR_NAME% >= %NSPR_VERSION% +-Libs: -L${sdkdir}/lib -lmozjs ++Libs: -Wl,-rpath,${libdir} -L${sdkdir}/lib -lmozjs + Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE diff -r ad87c5e85a41 -r 045edd78eceb mozilla-prefer_plugin_pref.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-prefer_plugin_pref.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,46 @@ +diff --git a/modules/plugin/base/src/nsPluginHost.cpp b/modules/plugin/base/src/nsPluginHost.cpp +--- a/modules/plugin/base/src/nsPluginHost.cpp ++++ b/modules/plugin/base/src/nsPluginHost.cpp +@@ -3929,8 +3929,41 @@ nsPluginHost::FindPluginForType(const ch + // if we have a mimetype passed in, search the mPlugins + // linked list for a match + if (nsnull != aMimeType) { ++ nsresult res; ++ nsCOMPtr prefB (do_QueryInterface(mPrefService)); ++ ++ char *preferredPluginPath = NULL; ++ nsCAutoString mimetypePrefString ("modules.plugins.mimetype."); ++ mimetypePrefString.Append(aMimeType); ++ const char *mimetypePrefChar = mimetypePrefString.get(); ++ res = prefB->GetCharPref(mimetypePrefChar, &preferredPluginPath); ++ ++ if(!NS_SUCCEEDED(res)) preferredPluginPath = NULL; ++ + plugins = mPlugins; +- ++ if(preferredPluginPath) { ++ while (nsnull != plugins) { ++ if (0 == PL_strcasecmp(plugins->mFileName.get(), preferredPluginPath) || ++ 0 == PL_strcasecmp(plugins->mFullPath.get(), preferredPluginPath)) { ++ return plugins; ++ } ++ plugins = plugins->mNext; ++ } ++ ++ // now lets search for substrings ++ plugins=mPlugins; ++ while (nsnull != plugins) { ++ if (nsnull != PL_strstr(plugins->mFileName.get(), preferredPluginPath) || ++ nsnull != PL_strstr(plugins->mFullPath.get(), preferredPluginPath)) { ++ return plugins; ++ } ++ plugins = plugins->mNext; ++ } ++ } ++ ++ // if there is no pref for this mime-type, or if the plugin named in pref ++ // isn't found, we pick the first that matches for this mime-type ++ plugins = mPlugins; + while (nsnull != plugins) { + variants = plugins->mVariants; + for (cnt = 0; cnt < variants; cnt++) { diff -r ad87c5e85a41 -r 045edd78eceb mozilla-shared-nss-db.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-shared-nss-db.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,172 @@ +From: Hans Petter Jansson + Wolfgang Rosenauer +Subject: use libnsssharedhelper if available at compile time + (can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1) +References: + +diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in +--- a/config/autoconf.mk.in ++++ b/config/autoconf.mk.in +@@ -548,16 +548,20 @@ MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNO + + GLIB_CFLAGS = @GLIB_CFLAGS@ + GLIB_LIBS = @GLIB_LIBS@ + GLIB_GMODULE_LIBS = @GLIB_GMODULE_LIBS@ + LIBIDL_CFLAGS = @LIBIDL_CFLAGS@ + LIBIDL_LIBS = @LIBIDL_LIBS@ + STATIC_LIBIDL = @STATIC_LIBIDL@ + ++MOZ_ENABLE_NSSHELPER = @MOZ_ENABLE_NSSHELPER@ ++NSSHELPER_CFLAGS = @NSSHELPER_CFLAGS@ ++NSSHELPER_LIBS = @NSSHELPER_LIBS@ ++ + MOZ_NATIVE_MAKEDEPEND = @SYSTEM_MAKEDEPEND@ + + MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@ + COMPILER_DEPEND = @COMPILER_DEPEND@ + MDDEPDIR := @MDDEPDIR@ + + MOZ_DEMANGLE_SYMBOLS = @MOZ_DEMANGLE_SYMBOLS@ + +diff --git a/configure.in b/configure.in +--- a/configure.in ++++ b/configure.in +@@ -7756,16 +7756,31 @@ AC_SUBST(MOZ_CAIRO_LIBS) + + dnl qcms + dnl ======================================================== + + QCMS_LIBS='$(DEPTH)/gfx/qcms/$(LIB_PREFIX)mozqcms.$(LIB_SUFFIX)' + AC_SUBST(QCMS_LIBS) + + dnl ======================================================== ++dnl Check for nss-shared-helper ++dnl ======================================================== ++ ++ PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper, ++ [MOZ_ENABLE_NSSHELPER=1], ++ [MOZ_ENABLE_NSSHELPER=]) ++ ++if test "$MOZ_ENABLE_NSSHELPER"; then ++ AC_DEFINE(MOZ_ENABLE_NSSHELPER) ++fi ++AC_SUBST(MOZ_ENABLE_NSSHELPER) ++AC_SUBST(NSSHELPER_CFLAGS) ++AC_SUBST(NSSHELPER_LIBS) ++ ++dnl ======================================================== + dnl disable xul + dnl ======================================================== + MOZ_ARG_DISABLE_BOOL(xul, + [ --disable-xul Disable XUL], + MOZ_XUL= ) + if test "$MOZ_XUL"; then + AC_DEFINE(MOZ_XUL) + else +diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in +--- a/security/manager/ssl/src/Makefile.in ++++ b/security/manager/ssl/src/Makefile.in +@@ -133,19 +133,20 @@ REQUIRES = nspr \ + $(NULL) + + EXTRA_DEPS = $(NSS_DEP_LIBS) + + DEFINES += -DNSS_ENABLE_ECC + + # Use local includes because they are inserted before INCLUDES + # so that Mozilla's nss.h is used, not glibc's +-LOCAL_INCLUDES += $(NSS_CFLAGS) ++LOCAL_INCLUDES += $(NSS_CFLAGS) $(NSSHELPER_CFLAGS) + + EXTRA_DSO_LDOPTS += \ + $(MOZ_UNICHARUTIL_LIBS) \ + $(MOZ_COMPONENT_LIBS) \ + $(MOZ_JS_LIBS) \ ++ $(NSSHELPER_LIBS) \ + $(NSS_LIBS) \ + $(NULL) + + include $(topsrcdir)/config/rules.mk + +diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/src/nsNSSComponent.cpp +--- a/security/manager/ssl/src/nsNSSComponent.cpp ++++ b/security/manager/ssl/src/nsNSSComponent.cpp +@@ -39,16 +39,23 @@ + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + ++#ifdef MOZ_ENABLE_NSSHELPER ++#pragma GCC visibility push(default) ++#include ++#pragma GCC visibility pop ++#include "prenv.h" ++#endif ++ + #include "nsNSSComponent.h" + #include "nsNSSCallbacks.h" + #include "nsNSSIOLayer.h" + #include "nsSSLThread.h" + #include "nsCertVerificationThread.h" + + #include "nsNetUtil.h" + #include "nsAppDirectoryServiceDefs.h" +@@ -1600,17 +1607,31 @@ nsNSSComponent::InitializeNSS(PRBool sho + // The call to ConfigureInternalPKCS11Token needs to be done before NSS is initialized, + // but affects only static data. + // If we could assume i18n will not change between profiles, one call per application + // run were sufficient. As I can't predict what happens in the future, let's repeat + // this call for every re-init of NSS. + + ConfigureInternalPKCS11Token(); + +- SECStatus init_rv = ::NSS_InitReadWrite(profileStr.get()); ++ SECStatus init_rv = SECFailure; ++#ifdef MOZ_ENABLE_NSSHELPER ++ if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) { ++ init_rv = ::NSS_InitReadWrite(profileStr.get()); ++ } else { ++ init_rv = ::nsshelp_open_db ("mozilla-xul", profileStr.get(), 0); ++ ++ if (init_rv != SECSuccess) { ++ PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get())); ++ init_rv = ::NSS_InitReadWrite(profileStr.get()); ++ } ++ } ++#else ++ init_rv = ::NSS_InitReadWrite(profileStr.get()); ++#endif + + if (init_rv != SECSuccess) { + PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS r/w in %s\n", profileStr.get())); + + if (supress_warning_preference) { + which_nss_problem = problem_none; + } + else { +diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in +--- a/toolkit/library/Makefile.in ++++ b/toolkit/library/Makefile.in +@@ -189,17 +189,17 @@ else + EXTRA_DSO_LDOPTS += \ + $(MOZ_COMPONENT_LIBS) \ + $(MOZ_JS_LIBS) \ + $(NULL) + endif + + DEFINES += -DIMPL_XREAPI + +-EXTRA_DSO_LDOPTS += $(NSPR_LIBS) ++EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(NSSHELPER_LIBS) + + ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa) + CXXFLAGS += $(TK_CFLAGS) + EXTRA_DSO_LDOPTS += \ + -framework SystemConfiguration \ + -framework QuickTime \ + -framework IOKit \ + -lcrypto \ diff -r ad87c5e85a41 -r 045edd78eceb mozilla-startup-notification.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-startup-notification.patch Sat Nov 28 22:14:37 2009 +0100 @@ -0,0 +1,51 @@ +diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp +--- a/toolkit/xre/nsAppRunner.cpp ++++ b/toolkit/xre/nsAppRunner.cpp +@@ -3342,23 +3342,16 @@ XRE_main(int argc, char* argv[], const n + } + dirProvider.DoStartup(); + + PRBool shuttingDown = PR_FALSE; + appStartup->GetShuttingDown(&shuttingDown); + + nsCOMPtr cmdLine; + +-#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2) +- nsRefPtr toolkit = GetGTKToolkit(); +- if (toolkit && !desktopStartupID.IsEmpty()) { +- toolkit->SetDesktopStartupID(desktopStartupID); +- } +-#endif +- + nsCOMPtr workingDir; + rv = NS_GetSpecialDirectory(NS_OS_CURRENT_WORKING_DIR, getter_AddRefs(workingDir)); + NS_ENSURE_SUCCESS(rv, 1); + + if (!shuttingDown) { + cmdLine = do_CreateInstance("@mozilla.org/toolkit/command-line;1"); + NS_ENSURE_TRUE(cmdLine, 1); + +@@ -3376,16 +3369,23 @@ XRE_main(int argc, char* argv[], const n + + NS_TIMELINE_ENTER("appStartup->CreateHiddenWindow"); + rv = appStartup->CreateHiddenWindow(); + NS_TIMELINE_LEAVE("appStartup->CreateHiddenWindow"); + NS_ENSURE_SUCCESS(rv, 1); + + MOZ_SPLASHSCREEN_UPDATE(50); + ++#if defined(HAVE_DESKTOP_STARTUP_ID) && defined(MOZ_WIDGET_GTK2) ++ nsRefPtr toolkit = GetGTKToolkit(); ++ if (toolkit && !desktopStartupID.IsEmpty()) { ++ toolkit->SetDesktopStartupID(desktopStartupID); ++ } ++#endif ++ + // Extension Compatibility Checking and Startup + if (gAppData->flags & NS_XRE_ENABLE_EXTENSION_MANAGER) { + nsCOMPtr em(do_GetService("@mozilla.org/extensions/manager;1")); + NS_ENSURE_TRUE(em, 1); + + if (upgraded) { + rv = em->CheckForMismatches(&needsRestart); + if (NS_FAILED(rv)) { diff -r ad87c5e85a41 -r 045edd78eceb status