Hello community,

here is the log from the commit of package MozillaFirefox.3275 for 
openSUSE:12.3:Update checked in at 2014-12-07 16:23:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/MozillaFirefox.3275 (Old)
 and      /work/SRC/openSUSE:12.3:Update/.MozillaFirefox.3275.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "MozillaFirefox.3275"

Changes:
--------
New Changes file:

--- /dev/null   2014-11-17 01:44:14.624034255 +0100
+++ 
/work/SRC/openSUSE:12.3:Update/.MozillaFirefox.3275.new/MozillaFirefox.changes  
    2014-12-07 16:23:39.000000000 +0100
@@ -0,0 +1,3785 @@
+-------------------------------------------------------------------
+Sat Nov 29 21:23:03 UTC 2014 - [email protected]
+
+- update to Firefox 34.0.5 (bnc#908009)
+  * Default search engine changed to Yahoo! for North America
+  * Default search engine changed to Yandex for Belarusian, Kazakh,
+    and Russian locales
+  * Improved search bar (en-US only)
+  * Firefox Hello real-time communication client
+  * Easily switch themes/personas directly in the Customizing mode
+  * Implementation of HTTP/2 (draft14) and ALPN
+  * Disabled SSLv3
+  * MFSA 2014-83/CVE-2014-1587/CVE-2014-1588
+    Miscellaneous memory safety hazards
+  * MFSA 2014-84/CVE-2014-1589 (bmo#1043787)
+    XBL bindings accessible via improper CSS declarations
+  * MFSA 2014-85/CVE-2014-1590 (bmo#1087633)
+    XMLHttpRequest crashes with some input streams
+  * MFSA 2014-86/CVE-2014-1591 (bmo#1069762)
+    CSP leaks redirect data via violation reports
+  * MFSA 2014-87/CVE-2014-1592 (bmo#1088635)
+    Use-after-free during HTML5 parsing
+  * MFSA 2014-88/CVE-2014-1593 (bmo#1085175)
+    Buffer overflow while parsing media content
+  * MFSA 2014-89/CVE-2014-1594 (bmo#1074280)
+    Bad casting from the BasicThebesLayer to BasicContainerLayer
+- rebased patches
+- limit linker memory usage for %ix86
+
+-------------------------------------------------------------------
+Fri Nov  7 20:14:32 UTC 2014 - [email protected]
+
+- update to Firefox 33.1
+  * Adding DuckDuckGo as a search option (upstream)
+  * Forget Button added
+  * Enhanced Tiles
+  * Privacy tour introduced
+- fix typo in GStreamer Recommends
+
+-------------------------------------------------------------------
+Tue Nov  4 18:00:35 UTC 2014 - [email protected]
+
+- Disable elf-hack for aarch64
+- Enable EGL for aarch64
+- Limit RAM usage during link for %arm
+- Fix _constraints for ARM
+
+-------------------------------------------------------------------
+Mon Nov  3 11:36:04 UTC 2014 - [email protected]
+
+- use proper macros for ARM
+
+-------------------------------------------------------------------
+Mon Nov  3 11:26:23 UTC 2014 - [email protected]
+
+- use '--disable-optimize' not only on 32-bit x86, but on 32-bit arm too
+  to fix compiling.
+- pass '-Wl,--no-keep-memory' to linker to reduce required memory during
+  linking on arm.
+
+-------------------------------------------------------------------
+Thu Oct 30 11:31:05 UTC 2014 - [email protected]
+
+- update to Firefox 33.0.2
+  * Fix a startup crash with some combination of hardware and drivers
+  33.0.1
+  * Firefox displays a black screen at start-up with certain
+    graphics drivers
+- adjusted _constraints for ARM
+
+-------------------------------------------------------------------
+Tue Oct 28 15:23:09 UTC 2014 - [email protected]
+
+- added mozilla-bmo1088588.patch to fix build with EGL (bmo#1088588)
+
+-------------------------------------------------------------------
+Sat Oct 25 08:45:43 UTC 2014 - [email protected]
+
+- define /usr/share/myspell as additional dictionary location
+  and remove add-plugins.sh finally (bnc#900639)
+
+-------------------------------------------------------------------
+Sun Oct 19 12:59:28 UTC 2014 - [email protected]
+
+- use Firefox default optimization flags instead of -Os
+- specfile cleanup
+
+-------------------------------------------------------------------
+Wed Oct 15 08:05:33 UTC 2014 - [email protected]
+
+- fix build for all ppc by not enabling elf-hack
+  (bnc#901213)
+
+-------------------------------------------------------------------
+Sat Oct 11 08:48:24 UTC 2014 - [email protected]
+
+- update to Firefox 33.0 (bnc#900941)
+  New features:
+  * OpenH264 support (sandboxed)
+  * Enhanced Tiles
+  * Improved search experience through the location bar
+  * Slimmer and faster JavaScript strings
+  * New CSP (Content Security Policy) backend
+  * Support for connecting to HTTP proxy over HTTPS
+  * Improved reliability of the session restoration
+  * Proprietary window.crypto properties/functions removed
+  Security:
+  * MFSA 2014-74/CVE-2014-1574/CVE-2014-1575
+    Miscellaneous memory safety hazards
+  * MFSA 2014-75/CVE-2014-1576 (bmo#1041512)
+    Buffer overflow during CSS manipulation
+  * MFSA 2014-76/CVE-2014-1577 (bmo#1012609)
+    Web Audio memory corruption issues with custom waveforms
+  * MFSA 2014-77/CVE-2014-1578 (bmo#1063327)
+    Out-of-bounds write with WebM video
+  * MFSA 2014-78/CVE-2014-1580 (bmo#1063733)
+    Further uninitialized memory use during GIF rendering
+  * MFSA 2014-79/CVE-2014-1581 (bmo#1068218)
+    Use-after-free interacting with text directionality
+  * MFSA 2014-80/CVE-2014-1582/CVE-2014-1584 (bmo#1049095, bmo#1066190)
+    Key pinning bypasses
+  * MFSA 2014-81/CVE-2014-1585/CVE-2014-1586 (bmo#1062876, bmo#1062981)
+    Inconsistent video sharing within iframe
+  * MFSA 2014-82/CVE-2014-1583 (bmo#1015540)
+    Accessing cross-origin objects via the Alarms API
+    (only relevant for installed web apps)
+- requires NSPR 4.10.7
+- requires NSS 3.17.1
+- removed obsolete patches:
+  * mozilla-ppc.patch
+  * mozilla-libproxy-compat.patch
+- added basic appdata information
+
+-------------------------------------------------------------------
+Sat Sep 20 13:33:51 UTC 2014 - [email protected]
+
+- update to Firefox 32.0.2
+  * just a version bump for our builds
+  * fixed the in application update process for certain environments
+    (in application update is not enabled in openSUSE and Linux
+    is unaffected in any case)
+- build with --disable-optimize for 13.1 and above for i586 to
+  workaround miscompilations (bnc#896624)
+- use some more build flags to align with upstream
+
+-------------------------------------------------------------------
+Sat Sep 13 16:58:16 UTC 2014 - [email protected]
+
+- update to Firefox 32.0.1
+  * fixed stability issues for computers with multiple graphics cards
+  * mixed content icon may be incorrectly displayed instead of lock
+    icon for SSL sites in 32.0 (
+  * WebRTC: setRemoteDescription() silently fails if no success
+    callback is specified (bmo#1063971)
+
+-------------------------------------------------------------------
+Sun Aug 31 07:44:54 UTC 2014 - [email protected]
+
+- update to Firefox 32.0 (bnc#894370)
+  * MFSA 2014-67/CVE-2014-1553/CVE-2014-1554/CVE-2014-1562
+    Miscellaneous memory safety hazards
+  * MFSA 2014-68/CVE-2014-1563 (bmo#1018524)
+    Use-after-free during DOM interactions with SVG
+  * MFSA 2014-69/CVE-2014-1564 (bmo#1045977)
+    Uninitialized memory use during GIF rendering
+  * MFSA 2014-70/CVE-2014-1565 (bmo#1047831)
+    Out-of-bounds read in Web Audio audio timeline
+  * MFSA 2014-72/CVE-2014-1567 (bmo#1037641)
+    Use-after-free setting text directionality
+- rebased patches
+- requires NSS 3.16.4
+- removed upstreamed patch
+  * mozilla-aarch64-bmo-810631.patch
+
+-------------------------------------------------------------------
+Wed Aug 20 13:50:58 CEST 2014 - [email protected]
+
+- adapted _constraints, used more than 3900MB on s390x during
+  last build
+
+-------------------------------------------------------------------
+Sun Jul 20 18:11:44 UTC 2014 - [email protected]
+
+- update to Firefox 31.0 (bnc#887746)
+  * MFSA 2014-56/CVE-2014-1547/CVE-2014-1548
+    Miscellaneous memory safety hazards
+  * MFSA 2014-57/CVE-2014-1549 (bmo#1020205)
+    Buffer overflow during Web Audio buffering for playback
+  * MFSA 2014-58/CVE-2014-1550 (bmo#1020411)
+    Use-after-free in Web Audio due to incorrect control message ordering
+  * MFSA 2014-60/CVE-2014-1561 (bmo#1000514, bmo#910375)
+    Toolbar dialog customization event spoofing
+  * MFSA 2014-61/CVE-2014-1555 (bmo#1023121)
+    Use-after-free with FireOnStateChange event
+  * MFSA 2014-62/CVE-2014-1556 (bmo#1028891)
+    Exploitable WebGL crash with Cesium JavaScript library
+  * MFSA 2014-63/CVE-2014-1544 (bmo#963150)
++++ 3588 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:12.3:Update/.MozillaFirefox.3275.new/MozillaFirefox.changes

New:
----
  MozillaFirefox-rpmlintrc
  MozillaFirefox.changes
  MozillaFirefox.desktop
  MozillaFirefox.spec
  _constraints
  compare-locales.tar.xz
  create-tar.sh
  find-external-requires.sh
  firefox-34.0.5-source.tar.xz
  firefox-appdata.xml
  firefox-branded-icons.patch
  firefox-kde-114.patch
  firefox-kde.patch
  firefox-mimeinfo.xml
  firefox-multilocale-chrome.patch
  firefox-no-default-ualocale.patch
  firefox.1
  firefox.js
  kde.js
  l10n-34.0.5.tar.xz
  mozilla-arm-disable-edsp.patch
  mozilla-bmo1088588.patch
  mozilla-get-app-id
  mozilla-icu-strncat.patch
  mozilla-kde.patch
  mozilla-language.patch
  mozilla-nongnome-proxies.patch
  mozilla-ntlm-full-path.patch
  mozilla-prefer_plugin_pref.patch
  mozilla-preferences.patch
  mozilla-repo.patch
  mozilla-shared-nss-db.patch
  mozilla-sle11.patch
  mozilla.sh.in
  source-stamp.txt
  spellcheck.js
  toolkit-download-folder.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
++++ 653 lines (skipped)

++++++ MozillaFirefox-rpmlintrc ++++++
addFilter("no-jar-manifest")
++++++ MozillaFirefox.desktop ++++++
[Desktop Entry]
Encoding=UTF-8
Name=Firefox
GenericName=Web Browser
Comment=Web Browser
TryExec=firefox
Exec=firefox %u
Icon=firefox
Terminal=false
StartupNotify=true
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
Type=Application
++++++ create-tar.sh ++++++
#!/bin/bash

CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_34_0_5_RELEASE"
VERSION="34.0.5"

# mozilla
if [ -d mozilla ]; then
  pushd mozilla
  _repourl=$(hg paths)
  case "$_repourl" in
    *$BRANCH*)
      echo "updating previous tree"
      hg pull
      popd
      ;;
    * )
      echo "removing obsolete tree"
      popd
      rm -rf mozilla
      ;;
  esac
fi
if [ ! -d mozilla ]; then
  echo "cloning new $BRANCH..."
  hg clone http://hg.mozilla.org/$BRANCH mozilla
fi
pushd mozilla
hg update --check
[ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG
# get repo and source stamp
echo -n "REV=" > ../source-stamp.txt
hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt
echo -n "REPO=" >> ../source-stamp.txt
hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> 
../source-stamp.txt
popd
echo "creating archive..."
tar cJf firefox-$VERSION-source.tar.xz --exclude=.hgtags --exclude=.hgignore 
--exclude=.hg --exclude=CVS mozilla

# l10n
echo "fetching locales..."
test ! -d l10n && mkdir l10n
for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do
  case $locale in
    ja-JP-mac|en-US)
      ;;
    *)
      echo "fetching $locale ..."
      hg clone http://hg.mozilla.org/releases/l10n/mozilla-$CHANNEL/$locale 
l10n/$locale
      [ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r 
$RELEASE_TAG
      ;;
  esac
done
echo "creating l10n archive..."
tar cJf l10n-$VERSION.tar.xz --exclude=.hgtags --exclude=.hgignore 
--exclude=.hg l10n

# compare-locales
echo "creating compare-locales"
hg clone http://hg.mozilla.org/build/compare-locales
tar cJf compare-locales.tar.xz --exclude=.hgtags --exclude=.hgignore 
--exclude=.hg compare-locales

++++++ find-external-requires.sh ++++++
#!/bin/sh
# Finds requirements provided outside of the current file set

filelist=$( sed "s/[]['\"*?{}]/\\\\\&/g" )
provides=$( echo "$filelist" | /usr/lib/rpm/find-provides )
echo "$filelist" \
    | /usr/lib/rpm/find-requires \
    | grep -F -v "$provides" \
    | sort -u
++++++ firefox-branded-icons.patch ++++++
# HG changeset patch
# Parent 8f03aa18c51f9c014f32aba7750f6b7927f9256e

diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
@@ -75,16 +75,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
 endif
 
 ifdef MOZ_WIDGET_GTK
 libs::
        $(INSTALL) $(IFLAGS1) $(DIST)/branding/mozicon128.png 
$(FINAL_TARGET)/icons
        $(INSTALL) $(IFLAGS1) $(DIST)/branding/default16.png  
$(FINAL_TARGET)/chrome/icons/default
        $(INSTALL) $(IFLAGS1) $(DIST)/branding/default32.png  
$(FINAL_TARGET)/chrome/icons/default
        $(INSTALL) $(IFLAGS1) $(DIST)/branding/default48.png  
$(FINAL_TARGET)/chrome/icons/default
+ifdef MOZ_OFFICIAL_BRANDING
+       $(INSTALL) $(IFLAGS1) $(DIST)/branding/default22.png  
$(FINAL_TARGET)/chrome/icons/default
+       $(INSTALL) $(IFLAGS1) $(DIST)/branding/default24.png  
$(FINAL_TARGET)/chrome/icons/default
+       $(INSTALL) $(IFLAGS1) $(DIST)/branding/default256.png  
$(FINAL_TARGET)/chrome/icons/default
+endif
 endif
 
 libs:: $(srcdir)/profile/prefs.js
        $(INSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/defaults/profile
 
 ifndef LIBXUL_SDK
 # channel-prefs.js is handled separate from other prefs due to bug 756325
 libs:: $(srcdir)/profile/channel-prefs.js
diff --git a/browser/branding/official/Makefile.in 
b/browser/branding/official/Makefile.in
--- a/browser/branding/official/Makefile.in
+++ b/browser/branding/official/Makefile.in
@@ -35,18 +35,21 @@ BRANDING_FILES := \
        document.icns \
        dsstore \
        $(NULL)
 endif
 
 ifdef MOZ_WIDGET_GTK
 BRANDING_FILES := \
        default16.png \
+       default22.png \
+       default24.png \
        default32.png \
        default48.png \
+       default256.png \
        mozicon128.png \
        $(NULL)
 endif
 
 BRANDING_DEST := $(DIST)/branding
 BRANDING_TARGET := export
 INSTALL_TARGETS += BRANDING
 
diff --git a/browser/installer/package-manifest.in 
b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -623,18 +623,21 @@
 @BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
 @BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
 @BINPATH@/chrome/toolkit@JAREXT@
 @BINPATH@/chrome/toolkit.manifest
 @BINPATH@/chrome/recording.manifest
 @BINPATH@/chrome/recording/*
 #ifdef MOZ_GTK
 @BINPATH@/browser/chrome/icons/default/default16.png
+@BINPATH@/browser/chrome/icons/default/default22.png
+@BINPATH@/browser/chrome/icons/default/default24.png
 @BINPATH@/browser/chrome/icons/default/default32.png
 @BINPATH@/browser/chrome/icons/default/default48.png
+@BINPATH@/browser/chrome/icons/default/default256.png
 #endif
 
 ; [Webide Files]
 @BINPATH@/browser/chrome/webide@JAREXT@
 @BINPATH@/browser/chrome/webide.manifest
 @BINPATH@/browser/@PREF_DIR@/webide-prefs.js
 
 ; shell icons
++++++ firefox-kde-114.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <[email protected]>
# Parent a5921092e6fb2dc39b1426139eb8406f5fd3cfa9
With openSUSE 11.4 the desktop file name changed from MozillaFirefox to firefox

diff --git a/browser/components/preferences/main.js 
b/browser/components/preferences/main.js
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -511,17 +511,17 @@ var gMainPane = {
       if (kde_session == 1) {
         var shellObj = Components.classes["@mozilla.org/file/local;1"]
                                  
.createInstance(Components.interfaces.nsILocalFile);
         shellObj.initWithPath("/usr/bin/kwriteconfig");
         var process = Components.classes["@mozilla.org/process/util;1"]
                                 
.createInstance(Components.interfaces.nsIProcess);
         process.init(shellObj);
         var args = ["--file", "kdeglobals", "--group", "General", "--key",
-            "BrowserApplication", "MozillaFirefox"];
+            "BrowserApplication", "firefox"];
         process.run(false, args, args.length);
       }
     } catch (ex) {
       Components.utils.reportError(ex);
       return;
     }
     let selectedIndex =
       shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
++++++ firefox-kde.patch ++++++
++++ 1913 lines (skipped)

++++++ firefox-multilocale-chrome.patch ++++++
# HG changeset patch
# Parent 11ad195fb502ca7c1ba3c8836b2d91be56d64ce4
# User Wolfgang Rosenauer <[email protected]>
Add searchplugins to chrome packaging for proper localization

diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -388,16 +388,20 @@ pref("browser.helperApps.deleteTempFileO
 #endif
 
 // search engines URL
 pref("browser.search.searchEnginesURL",      
"https://addons.mozilla.org/%LOCALE%/firefox/search-engines/";);
 
 // pointer to the default engine name
 pref("browser.search.defaultenginename",      
"chrome://browser-region/locale/region.properties");
 
+// Tell the search service to load search plugins from the locale JAR
+pref("browser.search.loadFromJars", true);
+pref("browser.search.jarURIs", "chrome://browser/locale/searchplugins/");
+
 // disable logging for the search service by default
 pref("browser.search.log", false);
 
 // Ordering of Search Engines in the Engine list. 
 pref("browser.search.order.1",                
"chrome://browser-region/locale/region.properties");
 pref("browser.search.order.2",                
"chrome://browser-region/locale/region.properties");
 pref("browser.search.order.3",                
"chrome://browser-region/locale/region.properties");
 
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -66,21 +66,23 @@ STUB_HOOK = $(NSINSTALL) -D '$(_ABS_DIST
     cp ../installer/windows/l10ngen/stub.exe 
'$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe'; \
     chmod 0755 '$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_STUB_BASENAME).exe'; \
     $(NULL)
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT) $(DIST_SUBDIR),windows metro)
 SEARCHPLUGINS_NAMES = $(shell cat $(call 
MERGE_FILE,/searchplugins/metrolist.txt))
 else
-SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt)) 
ddg
+SEARCHPLUGINS_NAMES = $(shell cat \
+  $(firstword $(wildcard $(LOCALE_SRCDIR)/searchplugins/list.txt) \
+  @srcdir@/en-US/searchplugins/list.txt ) ) ddg
 endif
 SEARCHPLUGINS_PATH := $(FINAL_TARGET)/searchplugins
 SEARCHPLUGINS := $(addsuffix .xml,$(SEARCHPLUGINS_NAMES))
-PP_TARGETS += SEARCHPLUGINS
+#PP_TARGETS += SEARCHPLUGINS
 
 # Required for l10n.mk - defines a list of app sub dirs that should
 # be included in langpack xpis.
 ifdef MOZ_METRO
 # metro build, include both app folders
 DIST_SUBDIRS = browser metro
 else
 DIST_SUBDIRS = $(DIST_SUBDIR)
@@ -118,16 +120,39 @@ libs:: $(addprefix generic/profile/,$(PR
 
 libs:: $(call MERGE_FILES,$(addprefix profile/chrome/,$(PROFILE_CHROME)))
        $(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/defaults/profile/chrome
 
 # metro build calls back here for search engine plugins
 searchplugins: $(addprefix $(FINAL_TARGET)/searchplugins/,$(SEARCHPLUGINS))
 .PHONY: searchplugins
 
+tmp-search.jar.mn::
+       printf "$(AB_CD).jar:" > $@
+       printf "$(foreach plugin,$(SEARCHPLUGINS), \n 
locale/browser/searchplugins/$(plugin) ($(plugin)))" >> $@
+       @echo >> $@
+
+searchplugins-jar:: $(SEARCHPLUGINS)
+       for SEARCHPLUGIN in $^; do \
+       $(call py_action,preprocessor,$(DEFINES) $(ACDEFINES) \
+       $$SEARCHPLUGIN > $$SEARCHPLUGIN-new) ; \
+       mv $$SEARCHPLUGIN-new $$SEARCHPLUGIN ; \
+       done
+
+searchplugins-jar:: tmp-search.jar.mn
+       $(call py_action,jar_maker,\
+       $(QUIET) -j $(FINAL_TARGET)/chrome \
+       -s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \
+       -s $(LOCALE_SRCDIR)/searchplugins \
+       $(MAKE_JARS_FLAGS) tmp-search.jar.mn)
+
+libs:: searchplugins-jar
+
+GARBAGE += tmp-search.jar.mn
+
 libs-%:
        $(NSINSTALL) -D $(DIST)/install
        @$(MAKE) -C ../../toolkit/locales libs-$*
        @$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
 ifdef MOZ_WEBAPP_RUNTIME
        @$(MAKE) -C ../../webapprt/locales AB_CD=$* XPI_NAME=locale-$*
 endif
        @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* 
XPI_NAME=locale-$*
diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -139,14 +139,15 @@
     locale/browser/syncQuota.properties         
(%chrome/browser/syncQuota.properties)
 #endif
 % locale browser-region @AB_CD@ %locale/browser-region/
     locale/browser-region/region.properties        
(%chrome/browser-region/region.properties)
 # the following files are browser-specific overrides
     locale/browser/netError.dtd                (%chrome/overrides/netError.dtd)
     locale/browser/appstrings.properties       
(%chrome/overrides/appstrings.properties)
     locale/browser/downloads/settingsChange.dtd  
(%chrome/overrides/settingsChange.dtd)
+    locale/browser/searchplugins/list.txt      (%searchplugins/list.txt)
 % override chrome://global/locale/netError.dtd 
chrome://browser/locale/netError.dtd
 % override chrome://global/locale/appstrings.properties 
chrome://browser/locale/appstrings.properties
 % override chrome://mozapps/locale/downloads/settingsChange.dtd 
chrome://browser/locale/downloads/settingsChange.dtd
 % locale pdf.js @AB_CD@ %locale/pdfviewer/
     locale/pdfviewer/viewer.properties             
(%pdfviewer/viewer.properties)
     locale/pdfviewer/chrome.properties             
(%pdfviewer/chrome.properties)
++++++ firefox-no-default-ualocale.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <[email protected]>
# Parent 042ade9d1f6415e52caecf1389bbb67c2da569d4
Do not overwrite the locale dynamic pref from xulrunner's all.js with a wrong 
default value

diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -263,17 +263,17 @@ pref("browser.uitour.whitelist.add.340",
 pref("browser.uitour.whitelist.add.341", 
"www.mozilla.org,support.mozilla.org,about:home");
 
 pref("browser.customizemode.tip0.shown", false);
 pref("browser.customizemode.tip0.learnMoreUrl", 
"https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/customize";);
 
 pref("keyword.enabled", true);
 pref("browser.fixup.domainwhitelist.localhost", true);
 
-pref("general.useragent.locale", "@AB_CD@");
+pref("general.useragent.locale", "chrome://global/locale/intl.properties");
 pref("general.skins.selectedSkin", "classic/1.0");
 
 pref("general.smoothScroll", true);
 #ifdef UNIX_BUT_NOT_MAC
 pref("general.autoScroll", false);
 #else
 pref("general.autoScroll", true);
 #endif
++++++ firefox.1 ++++++
.TH FIREFOX 1 "January 04, 2006" firefox "Linux User's Manual"
.SH NAME
firefox \- a Web browser for X11 derived from the Mozilla browser

.SH SYNOPSIS
.B firefox
[\fIOPTIONS\fR] [\fIURL\fR]

.SH DESCRIPTION
\fBMozilla Firefox\fR is an open-source web browser, designed for
standards compliance, performance and portability.

.SH USAGE
\fBfirefox\fR is a simple shell script that will set up the
environment for the actual executable.

.SH OPTIONS
A summary of the options supported by \fBfirefox\fR is included below.

.SS "GTK options"
\fB\-\-gdk-debug=\fR\fIFLAGS\fR
Gdk debugging flags to set
.TP
\fB\-\-gdk-no-debug=\fR\fIFLAGS\fR
Gdk debugging flags to unset
.TP
\fB\-\-gtk-debug=\fR\fIFLAGS\fR
Gtk+ debugging flags to set
.TP
\fB\-\-gtk-no-debug=\fR\fIFLAGS\fR
Gtk+ debugging flags to unset
.TP
\fB\-\-gtk-module=\fR\fIMODULE\fR
Load an additional Gtk module

.SS "X11 options"
.TP
.BI \-\-display= DISPLAY
X display to use
.TP
.B \--sync
Make X calls synchronous
.TP
.B \-\-no-xshm
Don't use X shared memory extension
.TP
.BI \-\-xim-preedit= STYLE
.TP
.BI \-\-xim-status= STYLE
.TP
.B \-\-g-fatal-warnings
Make all warnings fatal

.SS "Firefox options"
.TP
.B \-h, \-help
Show summary of options.
.TP
\fB\-height\fR \fIvalue\fR
Set height of startup window to \fIvalue\fR.
.TP
\fB\-width\fR \fIvalue\fR
Set width of startup window to \fIvalue\fR.
.TP
.B \-v, \-version
Print \fB/usr/bin/firefox-bin\fR version.
.TP
\fB\-CreateProfile\fR \fIprofile\fR
Create \fIprofile\fR.
.TP
\fB\-P\fR \fIprofile\fR
Start with \fIprofile\fR.
.TP
.B \-ProfileManager
Start with profile manager.
.TP
\fB\-UILocale\fR \fIlang-region\fR
Start with \fIlang-region\fR resources.
.TP
\fB\-contentLocale\fR \fIlang-region\fR
Start with \fIlang-region\fR resources.
.TP
\fB\-remote\fR \fIcommand\fR
Execute \fIcommand\fR in an already running Firefox process.  For more info,
see: \fIhttp://www.mozilla.org/unix/remote.html\fR
.TP
.B \-no-remote
Don't try to control an already running instance.
.TP
.B \-jsconsole
Start with Javascript Console
.TP
\fB\-chrome\fR \fIurl\fR
Load the specified chrome.
.TP
\fB\-new-window\fR \fIurl\fR
Open URL in a new window if Firefox is already running.
.TP
\fB\-new-tab\fR \fIurl\fR
Open URL in a new tab if Firefox is already running.
.TP
\fB\-preferences\fR
Open Firefox preferences menu.
.TP
.B \-safe-mode
Disables extensions and themes for this session.
.TP

.SH FILES
\fI/usr/bin/firefox\fR - shell script wrapping
\fBfirefox\fR
.br
\fI/usr/lib/firefox/firefox\fR - \fBfirefox\fR
executable

.SH VERSION
3.0

.SH BUGS
To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR

.SH "SEE ALSO"
.BR mozilla(1)

.SH AUTHORS
.TP
.B The Mozilla Organization
.I http://www.mozilla.org/about.html
++++++ firefox.js ++++++
pref("browser.preferences.instantApply", true);
++++++ kde.js ++++++
pref("browser.preferences.instantApply", false);
++++++ mozilla-arm-disable-edsp.patch ++++++
# HG changeset patch
# User Adrian Schröter <[email protected]>
# Parent b945e0c3b145b6b2245f42bab52f911c2d1f6759
disable ESDP support (no BNC or BMO reference yet :-()

diff --git a/mozglue/build/arm.h b/mozglue/build/arm.h
--- a/mozglue/build/arm.h
+++ b/mozglue/build/arm.h
@@ -116,17 +116,17 @@ namespace mozilla {
     extern bool MFBT_DATA neon_enabled;
 #endif
 #endif
   }
 
 #if defined(MOZILLA_PRESUME_EDSP)
 #  define MOZILLA_MAY_SUPPORT_EDSP 1
   inline bool supports_edsp() { return true; }
-#elif defined(MOZILLA_MAY_SUPPORT_EDSP) \
+#elif 0 \
    && defined(MOZILLA_ARM_HAVE_CPUID_DETECTION)
   inline bool supports_edsp() { return arm_private::edsp_enabled; }
 #else
   inline bool supports_edsp() { return false; }
 #endif
 
 #if defined(MOZILLA_PRESUME_ARMV6)
 #  define MOZILLA_MAY_SUPPORT_ARMV6 1
++++++ mozilla-bmo1088588.patch ++++++
# HG changeset patch
# User Dirk Mueller <[email protected]>
# Date 1414618964 0
#      Wed Oct 29 21:42:44 2014 +0000
# Node ID 8e3825b2d12a9f295b6ff9a972340b9d84fce068
# Parent  262e4847ad6cca40d7375e40a0d6ebe8b372e3d3
Bug 1088588 - fix ifdef in X11TextureSourceOGL.cpp, r?nical

diff --git a/gfx/layers/opengl/X11TextureSourceOGL.cpp 
b/gfx/layers/opengl/X11TextureSourceOGL.cpp
--- a/gfx/layers/opengl/X11TextureSourceOGL.cpp
+++ b/gfx/layers/opengl/X11TextureSourceOGL.cpp
@@ -94,14 +94,14 @@ X11TextureSourceOGL::ContentTypeToSurfac
   switch (aType) {
     case gfxContentType::COLOR:
       return SurfaceFormat::R8G8B8X8;
     case gfxContentType::COLOR_ALPHA:
       return SurfaceFormat::R8G8B8A8;
     default:
       return SurfaceFormat::UNKNOWN;
   }
 }
 
+}
+}
+
 #endif
-
-}
-}
++++++ mozilla-get-app-id ++++++
#!/usr/bin/perl -w
use XML::Simple;

my $file = shift || die "Usage: $0 [install.rdf|somefile.xpi]\n";
my $xml;

if ($file =~ /\.xpi$/) {
        use Archive::Zip qw/:ERROR_CODES :CONSTANTS/;
        my $zip = Archive::Zip->new();
        if ( $zip->read($file) != AZ_OK ) {
                die "zip file read error\n";
        }
        my $data = $zip->contents("install.rdf");
        die "missing install.rdf in $file\n" unless $data;
        $xml = XMLin($data) || die "$!\n";
} elsif ($file =~ /install.rdf/) {
        $xml = XMLin($file) || die "$!\n";
} else {
        die "unsupported file format\n";
}

my $desc;
for my $tag (qw/RDF:Description Description/) {
        if (exists $xml->{$tag}) {
                if (ref $xml->{$tag} eq 'ARRAY') {
                        $desc = $xml->{$tag};
                } else {
                        $desc = [ $xml->{$tag} ];
                }
        }
}

my $uuid;
my $id;
for my $x (@$desc) {
        if ($x->{"em:id"} =~ /{[[:xdigit:]]+-/) {
                print STDERR "Warning: multiple uuids!\n" if defined $uuid;
                $uuid = $x->{"em:id"};
        } elsif ($x->{"em:id"} =~ /@/) {
                print STDERR "Warning: multiple ids!\n" if defined $id;
                $id = $x->{"em:id"};
        }
}

if (defined $id) {
        print "$id\n";
} elsif (defined $uuid) {
        print "$uuid\n";
} else {
        exit 1;
}
++++++ mozilla-icu-strncat.patch ++++++
# HG changeset patch
# Parent 29be2a4daa0f512d22bde85b97b5460839026571
# User Wolfgang Rosenauer <[email protected]>
From: Jan Engelhardt <[email protected]>
Reference: http://bugs.icu-project.org/trac/ticket/7808

diff --git a/intl/icu/source/tools/pkgdata/pkgdata.cpp 
b/intl/icu/source/tools/pkgdata/pkgdata.cpp
--- a/intl/icu/source/tools/pkgdata/pkgdata.cpp
+++ b/intl/icu/source/tools/pkgdata/pkgdata.cpp
@@ -1975,22 +1975,22 @@ static void loadLists(UPKGOptions *o, UE
     FILE *p = NULL;
     size_t n;
     static char buf[512] = "";
     char cmdBuf[1024];
     UErrorCode status = U_ZERO_ERROR;
     const char cmd[] = "icu-config --incpkgdatafile";
 
     /* #1 try the same path where pkgdata was called from. */
-    findDirname(progname, cmdBuf, 1024, &status);
+    findDirname(progname, cmdBuf, sizeof(cmdBuf), &status);
     if(U_SUCCESS(status)) {
       if (cmdBuf[0] != 0) {
-          uprv_strncat(cmdBuf, U_FILE_SEP_STRING, 1024);
+          uprv_strncat(cmdBuf, U_FILE_SEP_STRING, 
sizeof(cmdBuf)-1-strlen(cmdBuf));
       }
-      uprv_strncat(cmdBuf, cmd, 1024);
+      uprv_strncat(cmdBuf, cmd, sizeof(cmdBuf)-1-strlen(cmdBuf));
       
       if(verbose) {
         fprintf(stdout, "# Calling icu-config: %s\n", cmdBuf);
       }
       p = popen(cmdBuf, "r");
     }
 
     if(p == NULL || (n = fread(buf, 1, 511, p)) <= 0) {
++++++ mozilla-kde.patch ++++++
++++ 3746 lines (skipped)

++++++ mozilla-language.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <[email protected]>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE

diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
--- a/intl/locale/nsLocaleService.cpp
+++ b/intl/locale/nsLocaleService.cpp
@@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void)
     nsRefPtr<nsLocale> resultLocale(new nsLocale());
     NS_ENSURE_TRUE_VOID(resultLocale);
 
 #ifdef MOZ_WIDGET_QT
     const char* lang = QLocale::system().name().toUtf8();
 #else
     // Get system configuration
     const char* lang = getenv("LANG");
+    const char* language = getenv("LANGUAGE");
 #endif
 
     nsAutoString xpLocale, platformLocale;
     nsAutoString category, category_platform;
     int i;
 
     for( i = 0; i < LocaleListLength; i++ ) {
         nsresult result;
@@ -150,16 +151,21 @@ nsLocaleService::nsLocaleService(void)
             } else {
                 CopyASCIItoUTF16(lang, platformLocale);
                 result = nsPosixLocale::GetXPLocale(lang, xpLocale);
             }
         }
         if (NS_FAILED(result)) {
             return;
         }
+        // LANGUAGE is overriding LC_MESSAGES
+        if (i == LC_MESSAGES && language && *language) {
+          CopyASCIItoUTF16(language, platformLocale);
+          result = nsPosixLocale::GetXPLocale(language, xpLocale);
+        }
         resultLocale->AddCategory(category, xpLocale);
         resultLocale->AddCategory(category_platform, platformLocale);
     }
     mSystemLocale = do_QueryInterface(resultLocale);
     mApplicationLocale = do_QueryInterface(resultLocale);
        
 #endif // XP_UNIX
 
++++++ mozilla-nongnome-proxies.patch ++++++
From: Wolfgang Rosenauer
Subject: Do not use gconf for proxy settings if not running within Gnome

Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
===================================================================
RCS file: 
/cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
retrieving revision 1.1

diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 
b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -53,23 +53,27 @@ nsUnixSystemProxySettings::GetMainThread
   // dbus prevents us from being threadsafe, but this routine should not block 
anyhow
   *aMainThreadOnly = true;
   return NS_OK;
 }
 
 nsresult
 nsUnixSystemProxySettings::Init()
 {
-  mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
-  if (mGSettings) {
-    
mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
-                                       getter_AddRefs(mProxySettings));
-  }
-  if (!mProxySettings) {
-    mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+  // only use GSettings if that is a GNOME session
+  const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+  if (sessionType && !strcmp(sessionType, "gnome")) {
+    mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+    if (mGSettings) {
+      
mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
+                                         getter_AddRefs(mProxySettings));
+    }
+    if (!mProxySettings) {
+      mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+    }
   }
   
   return NS_OK;
 }
 
 bool
 nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
 {
++++++ mozilla-ntlm-full-path.patch ++++++
# HG changeset patch
# User Petr Cerny <[email protected]>
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
Bug 634334 - call to the ntlm_auth helper fails

diff --git a/extensions/auth/nsAuthSambaNTLM.cpp 
b/extensions/auth/nsAuthSambaNTLM.cpp
--- a/extensions/auth/nsAuthSambaNTLM.cpp
+++ b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -168,17 +168,17 @@ static uint8_t* ExtractMessage(const nsA
 nsresult
 nsAuthSambaNTLM::SpawnNTLMAuthHelper()
 {
     const char* username = PR_GetEnv("USER");
     if (!username)
         return NS_ERROR_FAILURE;
 
     const char* const args[] = {
-        "ntlm_auth",
+        "/usr/bin/ntlm_auth",
         "--helper-protocol", "ntlmssp-client-1",
         "--use-cached-creds",
         "--username", username,
         nullptr
     };
 
     bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID, 
&mFromChildFD, &mToChildFD);
     if (!isOK)  
++++++ mozilla-prefer_plugin_pref.patch ++++++
From: Ubuntu
Subject: introduce a pref to prefer certain plugins for mime-types

diff --git a/dom/plugins/base/nsPluginHost.cpp 
b/dom/plugins/base/nsPluginHost.cpp
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
@@ -1334,17 +1334,51 @@ nsPluginHost::FindPluginForType(const ch
   if (!aMimeType) {
     return nullptr;
   }
 
   LoadPlugins();
 
   InfallibleTArray<nsPluginTag*> matchingPlugins;
 
+  char *preferredPluginPath = nullptr;
+  nsAutoCString mimetypePrefString ("modules.plugins.mimetype.");
+  mimetypePrefString.Append(aMimeType);
+  const char *mimetypePrefChar = mimetypePrefString.get();
+  nsAdoptingCString pluginPath = Preferences::GetCString(mimetypePrefChar);
+  preferredPluginPath = (char*) pluginPath.get();
+
   nsPluginTag *plugin = mPlugins;
+
+  if(preferredPluginPath) {
+    while (plugin) {
+      if (!aCheckEnabled || plugin->IsEnabled()) {
+        if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) ||
+            0 == PL_strcasecmp(plugin->mFullPath.get(), preferredPluginPath)) {
+          matchingPlugins.AppendElement(plugin);
+        }
+      }
+      plugin = plugin->mNext;
+    }
+
+    // now lets search for substrings
+    plugin = mPlugins;
+    while (plugin) {
+      if (!aCheckEnabled || plugin->IsEnabled()) {
+        if (nullptr != PL_strstr(plugin->mFileName.get(), preferredPluginPath) 
||
+            nullptr != PL_strstr(plugin->mFullPath.get(), 
preferredPluginPath)) {
+          matchingPlugins.AppendElement(plugin);
+        }
+      }
+      plugin = plugin->mNext;
+    }
+
+    return FindPreferredPlugin(matchingPlugins);
+  }
+
   while (plugin) {
     if (!aCheckEnabled || plugin->IsActive()) {
       int32_t mimeCount = plugin->mMimeTypes.Length();
       for (int32_t i = 0; i < mimeCount; i++) {
         if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) {
           matchingPlugins.AppendElement(plugin);
           break;
         }
++++++ mozilla-preferences.patch ++++++
From: Wolfgang Rosenauer <[email protected]>
Subject: use system locale if available
This setting used to live in the branding-openSUSE package but this is causing 
too much
confusion and therefore is currently the only setting we switch in the unbranded
package unconditionally.

# HG changeset patch
# Parent 8c1bfc96b05ef1836aad6e9f2af323f63ed1b69c

diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -1503,17 +1503,17 @@ pref("converter.html2txt.header_strategy
 
 pref("intl.accept_languages",               
"chrome://global/locale/intl.properties");
 
pref("intl.menuitems.alwaysappendaccesskeys","chrome://global/locale/intl.properties");
 
pref("intl.menuitems.insertseparatorbeforeaccesskeys","chrome://global/locale/intl.properties");
 pref("intl.charset.detector",               
"chrome://global/locale/intl.properties");
 pref("intl.charset.fallback.override",      "");
 pref("intl.charset.fallback.tld",           true);
 pref("intl.ellipsis",                       
"chrome://global-platform/locale/intl.properties");
-pref("intl.locale.matchOS",                 false);
+pref("intl.locale.matchOS",                 true);
 // fallback charset list for Unicode conversion (converting from Unicode)
 // currently used for mail send only to handle symbol characters (e.g Euro, 
trademark, smartquotes)
 // for ISO-8859-1
 pref("intl.fallbackCharsetList.ISO-8859-1", "windows-1252");
 pref("font.language.group",                 
"chrome://global/locale/intl.properties");
 
 // these locales have right-to-left UI
 pref("intl.uidirection.ar", "rtl");
++++++ mozilla-repo.patch ++++++
# HG changeset patch
# Parent 1478a2c97152e81b6d7cb89a4ab34da7310e3e86

diff --git a/toolkit/mozapps/installer/package-name.mk 
b/toolkit/mozapps/installer/package-name.mk
--- a/toolkit/mozapps/installer/package-name.mk
+++ b/toolkit/mozapps/installer/package-name.mk
@@ -137,24 +137,24 @@ else
 BUILDID = $(shell $(PYTHON) $(MOZILLA_DIR)/config/printconfigsetting.py 
$(DIST)/bin/platform.ini Build BuildID)
 endif
 
 ifndef INCLUDED_RCS_MK
   USE_RCS_MK := 1
   include $(topsrcdir)/config/makefiles/makeutils.mk
 endif
 
-MOZ_SOURCE_STAMP = $(firstword $(shell hg -R $(MOZILLA_DIR) parent 
--template="{node|short}\n" 2>/dev/null))
+#MOZ_SOURCE_STAMP = $(firstword $(shell hg -R $(MOZILLA_DIR) parent 
--template="{node|short}\n" 2>/dev/null))
 
 ###########################################################################
 # bug: 746277 - preserve existing functionality.
 # MOZILLA_DIR="": cd $(SPACE); hg # succeeds if ~/.hg exists
 ###########################################################################
 ifdef MOZILLA_OFFICIAL
-MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
+#MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
 endif
 
 MOZ_SOURCESTAMP_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).txt
 MOZ_BUILDINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).json
 
 # JavaScript Shell
 PKG_JSSHELL = $(DIST)/jsshell-$(MOZ_PKG_PLATFORM).zip
 
++++++ mozilla-shared-nss-db.patch ++++++
From: Hans Petter Jansson <[email protected]>
      Wolfgang Rosenauer <[email protected]>
Subject: use libnsssharedhelper if available at compile time
         (can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1)
References:

diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -8199,16 +8199,31 @@ if test "$MOZ_ENABLE_SKIA"; then
     MOZ_ENABLE_SKIA_GPU=1
     AC_DEFINE(USE_SKIA_GPU)
     AC_SUBST(MOZ_ENABLE_SKIA_GPU)
   fi
 fi
 AC_SUBST(MOZ_ENABLE_SKIA)
 
 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_LIST(NSSHELPER_CFLAGS)
+AC_SUBST_LIST(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/moz.build 
b/security/manager/ssl/src/moz.build
--- a/security/manager/ssl/src/moz.build
+++ b/security/manager/ssl/src/moz.build
@@ -91,16 +91,19 @@ FAIL_ON_WARNINGS = True
 
 FINAL_LIBRARY = 'xul'
 
 LOCAL_INCLUDES += [
     '../../../certverifier',
     '../../../pkix/include',
 ]
 
+CXXFLAGS += sorted(CONFIG['NSSHELPER_CFLAGS'])
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
+
 if CONFIG['NSS_DISABLE_DBM']:
     DEFINES['NSS_DISABLE_DBM'] = '1'
 
 DEFINES['SSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES'] = 'True'
 DEFINES['NSS_ENABLE_ECC'] = 'True'
 for var in ('DLL_PREFIX', 'DLL_SUFFIX'):
     DEFINES[var] = '"%s"' % CONFIG[var]
 
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
@@ -3,16 +3,23 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #ifdef MOZ_LOGGING
 #define FORCE_PR_LOG 1
 #endif
 
+#ifdef MOZ_ENABLE_NSSHELPER
+#pragma GCC visibility push(default)
+#include <nss-shared-helper.h>
+#pragma GCC visibility pop
+#include "prenv.h"
+#endif
+
 #include "nsNSSComponent.h"
 
 #include "ExtendedValidation.h"
 #include "NSSCertDBTrustDomain.h"
 #include "mozilla/Telemetry.h"
 #include "nsCertVerificationThread.h"
 #include "nsAppDirectoryServiceDefs.h"
 #include "nsComponentManagerUtils.h"
@@ -943,17 +950,31 @@ nsNSSComponent::InitializeNSS()
   if (NS_FAILED(rv)) {
     nsPSMInitPanic::SetPanic();
     return NS_ERROR_NOT_AVAILABLE;
   }
 
   SECStatus init_rv = SECFailure;
   if (!profileStr.IsEmpty()) {
     // First try to initialize the NSS DB in read/write mode.
-    SECStatus init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
+#ifdef MOZ_ENABLE_NSSHELPER
+    if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) {
+      init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
+    } else {
+      uint32_t flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
+      init_rv = ::nsshelp_open_db ("Firefox", profileStr.get(), flags);
+
+      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 = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
+      }
+    }
+#else
+    init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), false);
+#endif
     // If that fails, attempt read-only mode.
     if (init_rv != SECSuccess) {
       PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("could not init NSS r/w in %s\n", 
profileStr.get()));
       init_rv = ::mozilla::psm::InitializeNSS(profileStr.get(), true);
     }
     if (init_rv != SECSuccess) {
       PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("could not init in r/o either\n"));
     }
diff --git a/toolkit/library/libxul.mozbuild b/toolkit/library/libxul.mozbuild
--- a/toolkit/library/libxul.mozbuild
+++ b/toolkit/library/libxul.mozbuild
@@ -22,16 +22,18 @@ DELAYLOAD_DLLS += [
     'psapi.dll',
     'rasapi32.dll',
     'rasdlg.dll',
     'secur32.dll',
     'wininet.dll',
     'winspool.drv'
 ]
 
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
+
 if CONFIG['MOZ_METRO']:
     DELAYLOAD_DLLS += [
         'API-MS-WIN-CORE-WINRT-L' + CONFIG['CRTEXPDLLVERSION'] + '.DLL',
         'API-MS-WIN-CORE-WINRT-STRING-L' + CONFIG['CRTEXPDLLVERSION'] + '.DLL',
         'uiautomationcore.dll'
     ]
 
 if CONFIG['ACCESSIBILITY']:
++++++ mozilla-sle11.patch ++++++
Subject: Patches needed to build on SLE11/11.1
References:
https://bugzilla.mozilla.org/show_bug.cgi?id=513422

diff --git a/mozglue/build/SSE.cpp b/mozglue/build/SSE.cpp
--- a/mozglue/build/SSE.cpp
+++ b/mozglue/build/SSE.cpp
@@ -12,26 +12,77 @@ namespace {
 // SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION.
 // We can't declare these functions in the header file, however, because
 // <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to
 // include both SSE.h and <windows.h>.
 
 #ifdef HAVE_CPUID_H
 
 // cpuid.h is available on gcc 4.3 and higher on i386 and x86_64
-#include <cpuid.h>
+//#include <cpuid.h>
 
 enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
 
+#ifdef __i386__
+#define _my_cpuid(level, a, b, c, d)                    \
+  __asm__ ("xchg{l}\t{%%}ebx, %1\n\t"                   \
+           "cpuid\n\t"                                  \
+           "xchg{l}\t{%%}ebx, %1\n\t"                   \
+           : "=a" (a), "=r" (b), "=c" (c), "=d" (d)     \
+           : "0" (level))
+#else
+#define _my_cpuid(level, a, b, c, d)                    \
+  __asm__ ("cpuid\n\t"                                  \
+           : "=a" (a), "=b" (b), "=c" (c), "=d" (d)     \
+           : "0" (level))
+#endif
+
+static __inline unsigned int
+my_cpuid_max (unsigned int __ext, unsigned int *__sig)
+{
+  unsigned int __eax, __ebx, __ecx, __edx;
+
+#ifdef __i386__
+  __asm__ ("pushf{l|d}\n\t"
+           "pushf{l|d}\n\t"
+           "pop{l}\t%0\n\t"
+           "mov{l}\t{%0, %1|%1, %0}\n\t"
+           "xor{l}\t{%2, %0|%0, %2}\n\t"
+           "push{l}\t%0\n\t"
+           "popf{l|d}\n\t"
+           "pushf{l|d}\n\t"
+           "pop{l}\t%0\n\t"
+           "popf{l|d}\n\t"
+           : "=&r" (__eax), "=&r" (__ebx)
+           : "i" (0x00200000));
+
+  if (!((__eax ^ __ebx) & 0x00200000))
+    return 0;
+#endif
+
+  /* Host supports cpuid.  Return highest supported cpuid input value.  */
+  _my_cpuid (__ext, __eax, __ebx, __ecx, __edx);
+
+  if (__sig)
+    *__sig = __ebx;
+
+  return __eax;
+}
+
 static bool
 has_cpuid_bit(unsigned int level, CPUIDRegister reg, unsigned int bit)
 {
   unsigned int regs[4];
-  return __get_cpuid(level, &regs[0], &regs[1], &regs[2], &regs[3]) &&
-         (regs[reg] & bit);
+
+  unsigned int __ext = level & 0x80000000;
+  if (my_cpuid_max(__ext, 0) < level)
+    return false;
+
+  _my_cpuid(level, regs[0], regs[1], regs[2], regs[3]);
+  return !!(unsigned(regs[reg]) & bit);
 }
 
 #elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64))
 
 // MSVC 2005 or newer on x86-32 or x86-64
 #include <intrin.h>
 
 enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
++++++ mozilla.sh.in ++++++
#!/bin/sh
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org Code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#    Wolfgang Rosenauer <[email protected]>
#                       <[email protected]>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# 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 *****

##
## Usage:
##
## $ mozilla [args]
##
## This script is meant to run a mozilla program from the mozilla
## rpm installation.
##
## The script will setup all the environment voodoo needed to make
## mozilla work.

cmdname=`basename $0`

##
## Variables
##
MOZ_DIST_BIN="%PREFIX"
MOZ_DIST_LIB="%PROGDIR"
MOZ_APPNAME="%APPNAME"
MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME"

MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then
  [ -h "/usr/bin/$MOZ_APPNAME" ] && \
   _link=$(readlink -f "/usr/bin/$MOZ_APPNAME")
  if [ "$_link" = "$MOZ_APP_LAUNCHER" ]; then
    export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
  fi
else
  export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
fi

mozilla_lib=`file $MOZ_PROGRAM`
LIB=lib
echo $mozilla_lib | grep -q -E 'ELF.64-bit.*(x86-64|S/390|PowerPC)' && LIB=lib64

BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins
if [ ! -d $BROWSER_PLUGIN_DIR ]; then
  BROWSER_PLUGIN_DIR=/opt/netscape/plugins
fi

MOZILLA_FIVE_HOME="$MOZ_DIST_LIB"
export MOZILLA_FIVE_HOME
LD_LIBRARY_PATH=$MOZ_DIST_LIB${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export LD_LIBRARY_PATH

# needed for SUN Java under Xorg >= 7.2
export LIBXCB_ALLOW_SLOPPY_LOCK=1

##
if [ -z "$MOZ_PLUGIN_PATH" ]; then
  export MOZ_PLUGIN_PATH=$BROWSER_PLUGIN_DIR
else
  # make sure that BROWSER_PLUGIN_DIR is in MOZ_PLUGIN_PATH
  echo "$MOZ_PLUGIN_PATH" | grep "$BROWSER_PLUGIN_DIR" 2>&1 >/dev/null
  _retval=$?
  if [ ${_retval} -ne 0 ]; then
    export MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$BROWSER_PLUGIN_DIR
  fi
fi

# disable Gnome crash dialog (doesn't make sense anyway)
export GNOME_DISABLE_CRASH_DIALOG=1

moz_debug=0
script_args=""
pass_arg_count=0
while [ $# -gt $pass_arg_count ]
do
  case "$1" in
    -d | --debugger)
      moz_debugger=$2;
      if [ "${moz_debugger}" != "" ]; then
        shift 2
        moz_debug=1
      else
        echo "-d requires an argument"
        exit 1
      fi
      ;;
    *)
      # Move the unrecognized argument to the end of the list.
      arg="$1"
      shift
      set -- "$@" "$arg"
      pass_arg_count=`expr $pass_arg_count + 1`
      ;;
  esac
done

if [ $moz_debug -eq 1 ]; then
  tmpfile=`mktemp /tmp/mozargs.XXXXXX` || { echo "Cannot create temporary file" 
>&2; exit 1; }
  trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
  echo -e "set args ${1+"$@"}\nrun" > $tmpfile
  echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile"
  exec $moz_debugger "$MOZ_PROGRAM" -x $tmpfile
else
  exec $MOZ_PROGRAM "$@"
fi
++++++ source-stamp.txt ++++++
REV=8274648ad79f
REPO=http://hg.mozilla.org/releases/mozilla-release
++++++ spellcheck.js ++++++
pref("spellchecker.dictionary_path", "/usr/share/myspell");
++++++ toolkit-download-folder.patch ++++++
From: Wolfgang Rosenauer
Subject: Don't use localized Downloads unless XDG is set up
References:
https://bugzilla.novell.com/show_bug.cgi?id=501724

diff --git a/browser/components/preferences/main.js 
b/browser/components/preferences/main.js
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -290,17 +290,17 @@ var gMainPane = {
       // and was available as an option in the 1.5 drop down. On XP this
       // was in My Documents, on OSX it was in User Docs. In 2.0, we did
       // away with the drop down option, although the special label was
       // still supported for the folder if it existed. Because it was
       // not exposed it was rarely used.
       // With 3.0, a new desktop folder - 'Downloads' was introduced for
       // platforms and versions that don't support a default system downloads
       // folder. See nsDownloadManager for details. 
-      downloadFolder.label = 
bundlePreferences.getString("downloadsFolderName");
+      downloadFolder.label = "Downloads";
       iconUrlSpec = fph.getURLSpecFromFile(this._indexToFolder(1));
     } else {
       // 'Desktop'
       downloadFolder.label = bundlePreferences.getString("desktopFolderName");
       iconUrlSpec = 
fph.getURLSpecFromFile(this._getDownloadsFolder("Desktop"));
     }
     downloadFolder.image = "moz-icon://" + iconUrlSpec + "?size=16";
     
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp 
b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -1365,18 +1365,20 @@ nsDownloadManager::GetDefaultDownloadsDi
   // Vista:
   // Downloads
   // XP/2K:
   // My Documents/Downloads
   // Linux:
   // XDG user dir spec, with a fallback to Home/Downloads
 
   nsXPIDLString folderName;
-  mBundle->GetStringFromName(MOZ_UTF16("downloadsFolder"),
-                             getter_Copies(folderName));
+  // We don't want localized "Downloads" unless XDG is used
+  //mBundle->GetStringFromName(NS_LITERAL_STRING("downloadsFolder").get(),
+  //                           getter_Copies(folderName));
+  folderName.AssignLiteral("Downloads");
 
 #if defined (XP_MACOSX)
   rv = dirService->Get(NS_OSX_DEFAULT_DOWNLOAD_DIR,
                        NS_GET_IID(nsIFile),
                        getter_AddRefs(downloadDir));
   NS_ENSURE_SUCCESS(rv, rv);
 #elif defined(XP_WIN)
   rv = dirService->Get(NS_WIN_DEFAULT_DOWNLOAD_DIR,
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to