merge from firefox51
authorWolfgang Rosenauer <wr@rosenauer.org>
Sun, 12 Feb 2017 08:57:22 +0100
changeset 941 ff9e20146e8b
parent 936 096e59808e91 (current diff)
parent 940 f63a4ac0fe06 (diff)
child 942 66115255ad6f
merge from firefox51 remove obsolete xulrunner from tree
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
xulrunner/_constraints
xulrunner/baselibs.conf
xulrunner/create-tar.sh
xulrunner/find-external-requires.sh
xulrunner/mozilla-add-glibcxx_use_cxx11_abi.patch
xulrunner/mozilla-arm-disable-edsp.patch
xulrunner/mozilla-arm64-libjpeg-turbo.patch
xulrunner/mozilla-bmo1005535.patch
xulrunner/mozilla-icu-strncat.patch
xulrunner/mozilla-idldir.patch
xulrunner/mozilla-language.patch
xulrunner/mozilla-nongnome-proxies.patch
xulrunner/mozilla-ntlm-full-path.patch
xulrunner/mozilla-pkgconfig.patch
xulrunner/mozilla-prefer_plugin_pref.patch
xulrunner/mozilla-preferences.patch
xulrunner/mozilla-repo.patch
xulrunner/mozilla-shared-nss-db.patch
xulrunner/mozilla-skia-be-le.patch
xulrunner/spellcheck.js
xulrunner/toolkit-download-folder.patch
xulrunner/xulrunner-openSUSE-prefs.js
xulrunner/xulrunner-rpmlintrc
xulrunner/xulrunner.changes
xulrunner/xulrunner.spec
--- a/MozillaFirefox/MozillaFirefox.changes	Sat Jan 21 12:37:55 2017 +0100
+++ b/MozillaFirefox/MozillaFirefox.changes	Sun Feb 12 08:57:22 2017 +0100
@@ -1,7 +1,14 @@
 -------------------------------------------------------------------
+Fri Jan 27 20:25:59 UTC 2017 - astieger@suse.com
+
+- Mozilla Firefox 51.0.1:
+  - Multiprocess incompatibility did not correctly register with
+    some add-ons (bmo#1333423)
+
+-------------------------------------------------------------------
 Fri Jan 20 13:57:56 UTC 2017 - wr@rosenauer.org
 
-- update to Firefox 51.0b14
+- update to Firefox 51.0
   * requires NSPR >= 4.13.1, NSS >= 3.28.1
   * Added support for FLAC (Free Lossless Audio Codec) playback
   * Added support for WebGL 2
@@ -13,9 +20,65 @@
   * View passwords from the prompt before saving them
   * Remove Belarusian (be) locale
   * Use Skia for content rendering (Linux)
-- switch Firefox to Gtk3 for Tumbleweed and Leap >= 43
+  * MFSA 2017-01
+    CVE-2017-5375: Excessive JIT code allocation allows bypass of
+                   ASLR and DEP (bmo#1325200, boo#1021814)
+    CVE-2017-5376: Use-after-free in XSL (bmo#1311687, boo#1021817)
+    CVE-2017-5377: Memory corruption with transforms to create
+                   gradients in Skia (bmo#1306883, boo#1021826)
+    CVE-2017-5378: Pointer and frame data leakage of Javascript objects
+                   (bmo#1312001, bmo#1330769, boo#1021818)
+    CVE-2017-5379: Use-after-free in Web Animations
+                   (bmo#1309198,boo#1021827)
+    CVE-2017-5380: Potential use-after-free during DOM manipulations
+                   (bmo#1322107, boo#1021819)
+    CVE-2017-5390: Insecure communication methods in Developer Tools
+                   JSON viewer (bmo#1297361, boo#1021820)
+    CVE-2017-5389: WebExtensions can install additional add-ons via
+                   modified host requests (bmo#1308688, boo#1021828)
+    CVE-2017-5396: Use-after-free with Media Decoder
+                   (bmo#1329403, boo#1021821)
+    CVE-2017-5381: Certificate Viewer exporting can be used to navigate
+                   and save to arbitrary filesystem locations
+		   (bmo#1017616, boo#1021830)
+    CVE-2017-5382: Feed preview can expose privileged content errors
+                   and exceptions (bmo#1295322, boo#1021831)
+    CVE-2017-5383: Location bar spoofing with unicode characters
+                   (bmo#1323338, bmo#1324716, boo#1021822)
+    CVE-2017-5384: Information disclosure via Proxy Auto-Config (PAC)
+                   (bmo#1255474, boo#1021832)
+    CVE-2017-5385: Data sent in multipart channels ignores referrer-policy
+                   response headers (bmo#1295945, boo#1021833)
+    CVE-2017-5386: WebExtensions can use data: protocol to affect other
+                   extensions (bmo#1319070, boo#1021823)
+    CVE-2017-5394: Android location bar spoofing using fullscreen and
+                   JavaScript events (bmo#1222798)
+    CVE-2017-5391: Content about: pages can load privileged about: pages
+                   (bmo#1309310, boo#1021835)
+    CVE-2017-5392: Weak references using multiple threads on weak proxy
+                   objects lead to unsafe memory usage (bmo#1293709)
+		   (Android only)
+    CVE-2017-5393: Remove addons.mozilla.org CDN from whitelist for
+                   mozAddonManager (bmo#1309282, boo#1021837)
+    CVE-2017-5395: Android location bar spoofing during scrolling
+                   (bmo#1293463) (Android only)
+    CVE-2017-5387: Disclosure of local file existence through TRACK
+                   tag error messages (bmo#1295023, boo#1021839)
+    CVE-2017-5388: WebRTC can be used to generate a large amount of
+                   UDP traffic for DDOS attacks
+		   (bmo#1281482, boo#1021840)
+    CVE-2017-5374: Memory safety bugs fixed in Firefox 51 (boo#1021841)
+    CVE-2017-5373: Memory safety bugs fixed in Firefox 51 and
+                   Firefox ESR 45.7 (boo#1021824)
+- switch Firefox to Gtk3 for Tumbleweed
 - removed obsolete patches
   * mozilla-flex_buffer_overrun.patch
+- updated RPM locale support tag
+- improve recognition of LANGUAGE env variable (boo#1017174)
+- add upstream patch to fix PPC64LE (bmo#1319389)
+  (mozilla-skia-ppc-endianess.patch)
+- fix build without skia (big endian archs) (bmo#1319374)
+  (mozilla-disable-skia-be.patch)
 
 -------------------------------------------------------------------
 Mon Dec 12 21:18:41 UTC 2016 - wr@rosenauer.org
--- a/MozillaFirefox/MozillaFirefox.spec	Sat Jan 21 12:37:55 2017 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec	Sun Feb 12 08:57:22 2017 +0100
@@ -18,10 +18,10 @@
 
 
 # changed with every update
-%define major 50
+%define major 51
 %define mainver %major.99
 %define update_channel beta
-%define releasedate 20170117000000
+%define releasedate 20170111000000
 
 # PIE, full relro (x86_64 for now)
 %define build_hardened 1
@@ -36,7 +36,7 @@
 %define pkgname  firefox-dev-edition
 %define appname  Firefox Developer Edition
 %endif
-%if 0%{?suse_version} > 1315
+%if 0%{?suse_version} > 1320
 %define firefox_use_gtk3 1
 %endif
 %define progdir %{_prefix}/%_lib/%{progname}
@@ -78,7 +78,7 @@
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
 BuildRequires:  mozilla-nspr-devel >= 4.13.1
-BuildRequires:  mozilla-nss-devel >= 3.28.1
+BuildRequires:  mozilla-nss-devel >= 3.28.2
 BuildRequires:  nss-shared-helper-devel
 BuildRequires:  python-devel
 BuildRequires:  startup-notification-devel
@@ -150,6 +150,8 @@
 Patch13:        mozilla-check_return.patch
 Patch14:        mozilla-skia-overflow.patch
 Patch17:        mozilla-binutils-visibility.patch
+Patch18:        mozilla-skia-ppc-endianess.patch
+Patch19:        mozilla-disable-skia-be.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-no-default-ualocale.patch
@@ -205,7 +207,7 @@
 %package translations-other
 Summary:        Extra translations for %{appname}
 Group:          System/Localization
-Provides:       locale(%{name}:ach;af;an;as;ast;az;be;bg;bn_BD;bn_IN;br;bs;cak;cy;dsb;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;id;is;kk;km;kn;lij;lt;lv;mai;mk;ml;mr;ms;nn_NO;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;uz;vi;xh)
+Provides:       locale(%{name}:ach;af;an;as;ast;az;bg;bn_BD;bn_IN;br;bs;cak;cy;dsb;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;id;is;ka;kab;kk;km;kn;lij;lt;lv;mai;mk;ml;mr;ms;nn_NO;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;uz;vi;xh)
 Requires:       %{name} = %{version}
 Obsoletes:      %{name}-translations < %{version}-%{release}
 
@@ -264,6 +266,8 @@
 %patch13 -p1
 %patch14 -p1
 %patch17 -p1
+%patch18 -p1
+%patch19 -p1
 # Firefox
 %patch101 -p1
 %patch102 -p1
@@ -398,9 +402,9 @@
 %if %localize
 rm -f %{_tmppath}/translations.*
 touch %{_tmppath}/translations.{common,other}
-for locale in $(awk '{ print $1; }' ../mozilla/browser/locales/shipped-locales); do
+for locale in $(awk '{ print $1; }' %{SOURCE17}); do
   case $locale in
-   ja-JP-mac|en-US)
+   ja-JP-mac|en-US|'')
 	;;
    *)
    	pushd $RPM_BUILD_DIR/compare-locales
--- a/MozillaFirefox/create-tar.sh	Sat Jan 21 12:37:55 2017 +0100
+++ b/MozillaFirefox/create-tar.sh	Sun Feb 12 08:57:22 2017 +0100
@@ -7,8 +7,8 @@
 
 CHANNEL="beta"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_51_0b14_RELEASE"
-VERSION="50.99"
+RELEASE_TAG="FIREFOX_52_0b5_RELEASE"
+VERSION="51.99"
 
 # mozilla
 if [ -d mozilla ]; then
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-disable-skia-be.patch	Sun Feb 12 08:57:22 2017 +0100
@@ -0,0 +1,1 @@
+../mozilla-disable-skia-be.patch
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-skia-ppc-endianess.patch	Sun Feb 12 08:57:22 2017 +0100
@@ -0,0 +1,1 @@
+../mozilla-skia-ppc-endianess.patch
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-disable-skia-be.patch	Sun Feb 12 08:57:22 2017 +0100
@@ -0,0 +1,292 @@
+
+# HG changeset patch
+# User Lee Salzman <lsalzman@mozilla.com>
+# Date 1484854371 18000
+# Node ID 42afdb8f7e6b3e8a465042f64c6c49782f231af4
+# Parent  dfadd79c97458f898d542461033a61dd34d3a5f0
+Bug 1319374 - Wrap PaintCounter with ifdef USE_SKIA. r=mchang, a=jcristau
+
+diff --git a/gfx/2d/BorrowedContext.h b/gfx/2d/BorrowedContext.h
+--- a/gfx/2d/BorrowedContext.h
++++ b/gfx/2d/BorrowedContext.h
+@@ -190,18 +190,28 @@ public:
+   }
+ 
+   ~BorrowedCGContext() {
+     MOZ_ASSERT(!cg);
+   }
+ 
+   CGContextRef cg;
+ private:
++#ifdef USE_SKIA
+   static CGContextRef BorrowCGContextFromDrawTarget(DrawTarget *aDT);
+   static void ReturnCGContextToDrawTarget(DrawTarget *aDT, CGContextRef cg);
++#else
++  static CGContextRef BorrowCGContextFromDrawTarget(DrawTarget *aDT) {
++    MOZ_CRASH("Not supported without Skia");
++  }
++
++  static void ReturnCGContextToDrawTarget(DrawTarget *aDT, CGContextRef cg) {
++    MOZ_CRASH("not supported without Skia");
++  }
++#endif
+   DrawTarget *mDT;
+ };
+ #endif
+ 
+ } // namespace gfx
+ } // namespace mozilla
+ 
+ #endif // _MOZILLA_GFX_BORROWED_CONTEXT_H
+diff --git a/gfx/layers/composite/LayerManagerComposite.cpp b/gfx/layers/composite/LayerManagerComposite.cpp
+--- a/gfx/layers/composite/LayerManagerComposite.cpp
++++ b/gfx/layers/composite/LayerManagerComposite.cpp
+@@ -7,17 +7,16 @@
+ #include <stddef.h>                     // for size_t
+ #include <stdint.h>                     // for uint16_t, uint32_t
+ #include "CanvasLayerComposite.h"       // for CanvasLayerComposite
+ #include "ColorLayerComposite.h"        // for ColorLayerComposite
+ #include "Composer2D.h"                 // for Composer2D
+ #include "CompositableHost.h"           // for CompositableHost
+ #include "ContainerLayerComposite.h"    // for ContainerLayerComposite, etc
+ #include "FPSCounter.h"                 // for FPSState, FPSCounter
+-#include "PaintCounter.h"               // For PaintCounter
+ #include "FrameMetrics.h"               // for FrameMetrics
+ #include "GeckoProfiler.h"              // for profiler_set_frame_number, etc
+ #include "ImageLayerComposite.h"        // for ImageLayerComposite
+ #include "Layers.h"                     // for Layer, ContainerLayer, etc
+ #include "LayerScope.h"                 // for LayerScope Tool
+ #include "protobuf/LayerScopePacket.pb.h" // for protobuf (LayerScope)
+ #include "PaintedLayerComposite.h"      // for PaintedLayerComposite
+ #include "TiledContentHost.h"
+@@ -68,16 +67,20 @@
+ #include "nsScreenManagerGonk.h"
+ #include "nsWindow.h"
+ #endif
+ #include "GeckoProfiler.h"
+ #include "TextRenderer.h"               // for TextRenderer
+ #include "mozilla/layers/CompositorBridgeParent.h"
+ #include "TreeTraversal.h"              // for ForEachNode
+ 
++#ifdef USE_SKIA
++#include "PaintCounter.h"               // For PaintCounter
++#endif
++
+ class gfxContext;
+ 
+ namespace mozilla {
+ namespace layers {
+ 
+ class ImageLayer;
+ 
+ using namespace mozilla::gfx;
+@@ -128,16 +131,20 @@ LayerManagerComposite::LayerManagerCompo
+ , mGeometryChanged(true)
+ , mLastFrameMissedHWC(false)
+ , mWindowOverlayChanged(false)
+ , mLastPaintTime(TimeDuration::Forever())
+ , mRenderStartTime(TimeStamp::Now())
+ {
+   mTextRenderer = new TextRenderer(aCompositor);
+   MOZ_ASSERT(aCompositor);
++
++#ifdef USE_SKIA
++  mPaintCounter = nullptr;
++#endif
+ }
+ 
+ LayerManagerComposite::~LayerManagerComposite()
+ {
+   Destroy();
+ }
+ 
+ 
+@@ -146,18 +153,21 @@ LayerManagerComposite::Destroy()
+ {
+   if (!mDestroyed) {
+     mCompositor->GetWidget()->CleanupWindowEffects();
+     if (mRoot) {
+       RootLayer()->Destroy();
+     }
+     mRoot = nullptr;
+     mClonedLayerTreeProperties = nullptr;
++    mDestroyed = true;
++
++#ifdef USE_SKIA
+     mPaintCounter = nullptr;
+-    mDestroyed = true;
++#endif
+   }
+ }
+ 
+ void
+ LayerManagerComposite::UpdateRenderBounds(const IntRect& aRect)
+ {
+   mRenderBounds = aRect;
+ }
+@@ -559,48 +569,52 @@ LayerManagerComposite::RootLayer() const
+ #endif
+ 
+ void
+ LayerManagerComposite::InvalidateDebugOverlay(nsIntRegion& aInvalidRegion, const IntRect& aBounds)
+ {
+   bool drawFps = gfxPrefs::LayersDrawFPS();
+   bool drawFrameCounter = gfxPrefs::DrawFrameCounter();
+   bool drawFrameColorBars = gfxPrefs::CompositorDrawColorBars();
+-  bool drawPaintTimes = gfxPrefs::AlwaysPaint();
+ 
+   if (drawFps || drawFrameCounter) {
+     aInvalidRegion.Or(aInvalidRegion, nsIntRect(0, 0, 256, 256));
+   }
+   if (drawFrameColorBars) {
+     aInvalidRegion.Or(aInvalidRegion, nsIntRect(0, 0, 10, aBounds.height));
+   }
++
++#ifdef USE_SKIA
++  bool drawPaintTimes = gfxPrefs::AlwaysPaint();
+   if (drawPaintTimes) {
+     aInvalidRegion.Or(aInvalidRegion, nsIntRect(PaintCounter::GetPaintRect()));
+   }
++#endif
+ }
+ 
++#ifdef USE_SKIA
+ void
+ LayerManagerComposite::DrawPaintTimes(Compositor* aCompositor)
+ {
+   if (!mPaintCounter) {
+     mPaintCounter = new PaintCounter();
+   }
+ 
+   TimeDuration compositeTime = TimeStamp::Now() - mRenderStartTime;
+   mPaintCounter->Draw(aCompositor, mLastPaintTime, compositeTime);
+ }
++#endif
+ 
+ static uint16_t sFrameCount = 0;
+ void
+ LayerManagerComposite::RenderDebugOverlay(const IntRect& aBounds)
+ {
+   bool drawFps = gfxPrefs::LayersDrawFPS();
+   bool drawFrameCounter = gfxPrefs::DrawFrameCounter();
+   bool drawFrameColorBars = gfxPrefs::CompositorDrawColorBars();
+-  bool drawPaintTimes = gfxPrefs::AlwaysPaint();
+ 
+   TimeStamp now = TimeStamp::Now();
+ 
+   if (drawFps) {
+     if (!mFPS) {
+       mFPS = MakeUnique<FPSState>();
+     }
+ 
+@@ -731,19 +745,22 @@ LayerManagerComposite::RenderDebugOverla
+   }
+ #endif
+ 
+   if (drawFrameColorBars || drawFrameCounter) {
+     // We intentionally overflow at 2^16.
+     sFrameCount++;
+   }
+ 
++#ifdef USE_SKIA
++  bool drawPaintTimes = gfxPrefs::AlwaysPaint();
+   if (drawPaintTimes) {
+     DrawPaintTimes(mCompositor);
+   }
++#endif
+ }
+ 
+ RefPtr<CompositingRenderTarget>
+ LayerManagerComposite::PushGroupForLayerEffects()
+ {
+   // This is currently true, so just making sure that any new use of this
+   // method is flagged for investigation
+   MOZ_ASSERT(gfxPrefs::LayersEffectInvert() ||
+diff --git a/gfx/layers/composite/LayerManagerComposite.h b/gfx/layers/composite/LayerManagerComposite.h
+--- a/gfx/layers/composite/LayerManagerComposite.h
++++ b/gfx/layers/composite/LayerManagerComposite.h
+@@ -326,21 +326,16 @@ private:
+    * Render the current layer tree to the active target.
+    */
+   void Render(const nsIntRegion& aInvalidRegion, const nsIntRegion& aOpaqueRegion);
+ #if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GONK)
+   void RenderToPresentationSurface();
+ #endif
+ 
+   /**
+-   * Render paint and composite times above the frame.
+-   */
+-  void DrawPaintTimes(Compositor* aCompositor);
+-
+-  /**
+    * We need to know our invalid region before we're ready to render.
+    */
+   void InvalidateDebugOverlay(nsIntRegion& aInvalidRegion, const gfx::IntRect& aBounds);
+ 
+   /**
+    * Render debug overlays such as the FPS/FrameCounter above the frame.
+    */
+   void RenderDebugOverlay(const gfx::IntRect& aBounds);
+@@ -386,19 +381,26 @@ private:
+   RefPtr<TextRenderer> mTextRenderer;
+   bool mGeometryChanged;
+ 
+   // Testing property. If hardware composer is supported, this will return
+   // true if the last frame was deemed 'too complicated' to be rendered.
+   bool mLastFrameMissedHWC;
+ 
+   bool mWindowOverlayChanged;
+-  RefPtr<PaintCounter> mPaintCounter;
+   TimeDuration mLastPaintTime;
+   TimeStamp mRenderStartTime;
++
++#ifdef USE_SKIA
++  /**
++   * Render paint and composite times above the frame.
++   */
++  void DrawPaintTimes(Compositor* aCompositor);
++  RefPtr<PaintCounter> mPaintCounter;
++#endif
+ };
+ 
+ /**
+  * Composite layers are for use with OMTC on the compositor thread only. There
+  * must be corresponding Basic layers on the content thread. For composite
+  * layers, the layer manager only maintains the layer tree, all rendering is
+  * done by a Compositor (see Compositor.h). As such, composite layers are
+  * platform-independent and can be used on any platform for which there is a
+diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build
+--- a/gfx/layers/moz.build
++++ b/gfx/layers/moz.build
+@@ -335,17 +335,16 @@ UNIFIED_SOURCES += [
+     'composite/CompositableHost.cpp',
+     'composite/ContainerLayerComposite.cpp',
+     'composite/ContentHost.cpp',
+     'composite/FPSCounter.cpp',
+     'composite/FrameUniformityData.cpp',
+     'composite/ImageHost.cpp',
+     'composite/ImageLayerComposite.cpp',
+     'composite/LayerManagerComposite.cpp',
+-    'composite/PaintCounter.cpp',
+     'composite/PaintedLayerComposite.cpp',
+     'composite/TextRenderer.cpp',
+     'composite/TextureHost.cpp',
+     'composite/TiledContentHost.cpp',
+     'Compositor.cpp',
+     'CopyableCanvasLayer.cpp',
+     'Effects.cpp',
+     'FrameMetrics.cpp',
+@@ -480,8 +479,13 @@ MOCHITEST_CHROME_MANIFESTS += ['apz/test
+ 
+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
+ CXXFLAGS += CONFIG['TK_CFLAGS']
+ 
+ LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
+ 
+ if CONFIG['GNU_CXX']:
+     CXXFLAGS += ['-Wno-error=shadow']
++
++if CONFIG['MOZ_ENABLE_SKIA']:
++  UNIFIED_SOURCES += [
++    'composite/PaintCounter.cpp',
++  ]
--- a/mozilla-language.patch	Sat Jan 21 12:37:55 2017 +0100
+++ b/mozilla-language.patch	Sun Feb 12 08:57:22 2017 +0100
@@ -1,7 +1,7 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <wr@rosenauer.org>
 # Parent 5a29924228527f8882c83cf62d470963ea1ce62e
-# Parent  bf7b3a5853467b34f13465102a19b9c7c2524bd4
+# Parent  4f39ed617c2f151a3a15903c7ae4471b66774e9e
 Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
 
 diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
@@ -25,7 +25,7 @@
      for( i = 0; i < LocaleListLength; i++ ) {
          nsresult result;
          // setlocale( , "") evaluates LC_* and LANG
-@@ -149,16 +150,21 @@ nsLocaleService::nsLocaleService(void)
+@@ -149,16 +150,36 @@ nsLocaleService::nsLocaleService(void)
              } else {
                  CopyASCIItoUTF16(lang, platformLocale);
                  result = nsPosixLocale::GetXPLocale(lang, xpLocale);
@@ -35,9 +35,24 @@
              return;
          }
 +        // LANGUAGE is overriding LC_MESSAGES
++        // it can be a colon separated list of preferred languages
++        // as we do not recognize here if a language is available
++        // we actually only consider the first entry unless GetXPLocale
++        // fails completely
 +        if (i == LC_MESSAGES && language && *language) {
-+          CopyASCIItoUTF16(language, platformLocale);
-+          result = nsPosixLocale::GetXPLocale(language, xpLocale);
++#define LANGUAGE_SEP ":"
++          nsAutoString xpLocale_temp;
++          char* rawBuffer = (char*) language;
++          char* token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer);
++          for (; token;
++              token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer)) {
++            result = nsPosixLocale::GetXPLocale(token, xpLocale_temp);
++            if (NS_SUCCEEDED(result)) {
++              CopyASCIItoUTF16(token, platformLocale);
++              xpLocale = xpLocale_temp;
++              break;
++            }
++          }
 +        }
          resultLocale->AddCategory(category, xpLocale);
          resultLocale->AddCategory(category_platform, platformLocale);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-skia-ppc-endianess.patch	Sun Feb 12 08:57:22 2017 +0100
@@ -0,0 +1,45 @@
+
+# HG changeset patch
+# User Mike Hommey <mh+mozilla@glandium.org>
+# Date 1479812942 -32400
+# Node ID a6d015fd1add5e16cf37f5868cd2734bafb709b4
+# Parent  319e03b9e8a22a8fba3756cb1afc8b9e7a6724c8
+Bug 1319389 - Generically set SK_CPU_[BL]ENDIAN based on __BYTE_ORDER__ when available. r?jrmuizel
+
+
+diff --git a/gfx/skia/skia/include/core/SkPreConfig.h b/gfx/skia/skia/include/core/SkPreConfig.h
+--- a/gfx/skia/skia/include/core/SkPreConfig.h
++++ b/gfx/skia/skia/include/core/SkPreConfig.h
+@@ -67,25 +67,29 @@
+ 
+ #if !defined(SK_WARN_UNUSED_RESULT)
+     #define SK_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+ #endif
+ 
+ //////////////////////////////////////////////////////////////////////
+ 
+ #if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
+-    #if defined(__sparc) || defined(__sparc__) || \
++    #if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
++        #define SK_CPU_BENDIAN
++    #elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
++        #define SK_CPU_LENDIAN
++    #elif defined(__sparc) || defined(__sparc__) || \
+       defined(_POWER) || defined(__powerpc__) || \
+       defined(__ppc__) || defined(__hppa) || \
+       defined(__PPC__) || defined(__PPC64__) || \
+       defined(_MIPSEB) || defined(__ARMEB__) || \
+       defined(__s390__) || \
+       (defined(__sh__) && defined(__BIG_ENDIAN__)) || \
+       (defined(__ia64) && defined(__BIG_ENDIAN__))
+-         #define SK_CPU_BENDIAN
++        #define SK_CPU_BENDIAN
+     #else
+         #define SK_CPU_LENDIAN
+     #endif
+ #endif
+ 
+ //////////////////////////////////////////////////////////////////////
+ 
+ #if defined(__i386) || defined(_M_IX86) ||  defined(__x86_64__) || defined(_M_X64)
+
--- a/series	Sat Jan 21 12:37:55 2017 +0100
+++ b/series	Sun Feb 12 08:57:22 2017 +0100
@@ -13,6 +13,8 @@
 mozilla-skia-overflow.patch
 mozilla-binutils-visibility.patch
 mozilla-aarch64-startup-crash.patch
+mozilla-skia-ppc-endianess.patch
+mozilla-disable-skia-be.patch
 
 # Firefox patches
 firefox-kde.patch
--- a/xulrunner/_constraints	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<constraints>
-  <hardware>
-    <disk>
-      <size unit="G">9</size>
-    </disk>
-    <memory>
-      <size unit="M">4500</size>
-    </memory>
-  </hardware>
-</constraints>
--- a/xulrunner/baselibs.conf	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-xulrunner
- +/usr/lib(64)?/xulrunner-.*
- +/etc/gre.d/.*
-
--- a/xulrunner/create-tar.sh	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-#!/bin/bash
-
-CHANNEL="esr38"
-BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_38_2_0esr_RELEASE"
-VERSION="38.2.0"
-
-# 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 xulrunner-$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-release/$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
-
--- a/xulrunner/find-external-requires.sh	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-#!/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
--- a/xulrunner/mozilla-add-glibcxx_use_cxx11_abi.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-add-glibcxx_use_cxx11_abi.patch
\ No newline at end of file
--- a/xulrunner/mozilla-arm-disable-edsp.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-arm-disable-edsp.patch
\ No newline at end of file
--- a/xulrunner/mozilla-arm64-libjpeg-turbo.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-arm64-libjpeg-turbo.patch
\ No newline at end of file
--- a/xulrunner/mozilla-bmo1005535.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-bmo1005535.patch
\ No newline at end of file
--- a/xulrunner/mozilla-icu-strncat.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-icu-strncat.patch
\ No newline at end of file
--- a/xulrunner/mozilla-idldir.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-idldir.patch
\ No newline at end of file
--- a/xulrunner/mozilla-language.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-language.patch
\ No newline at end of file
--- a/xulrunner/mozilla-nongnome-proxies.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-nongnome-proxies.patch
\ No newline at end of file
--- a/xulrunner/mozilla-ntlm-full-path.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-ntlm-full-path.patch
\ No newline at end of file
--- a/xulrunner/mozilla-pkgconfig.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-pkgconfig.patch
\ No newline at end of file
--- a/xulrunner/mozilla-prefer_plugin_pref.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-prefer_plugin_pref.patch
\ No newline at end of file
--- a/xulrunner/mozilla-preferences.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-preferences.patch
\ No newline at end of file
--- a/xulrunner/mozilla-repo.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-repo.patch
\ No newline at end of file
--- a/xulrunner/mozilla-shared-nss-db.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-shared-nss-db.patch
\ No newline at end of file
--- a/xulrunner/mozilla-skia-be-le.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-skia-be-le.patch
\ No newline at end of file
--- a/xulrunner/spellcheck.js	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-pref("spellchecker.dictionary_path", "/usr/share/myspell");
--- a/xulrunner/toolkit-download-folder.patch	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../toolkit-download-folder.patch
\ No newline at end of file
--- a/xulrunner/xulrunner-openSUSE-prefs.js	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-// openSUSE overrides for default settings
-pref("layout.word_select.stop_at_punctuation", false);
-pref("intl.locale.matchOS", true);
--- a/xulrunner/xulrunner-rpmlintrc	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-addFilter("no-jar-manifest")
--- a/xulrunner/xulrunner.changes	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,764 +0,0 @@
--------------------------------------------------------------------
-Mon Aug 10 16:40:17 UTC 2015 - wr@rosenauer.org
-
-- update to xulrunner 38.2.0esr (bnc#940806)
-  * MFSA 2015-79/CVE-2015-4473
-    Miscellaneous memory safety hazards
-  * MFSA 2015-80/CVE-2015-4475 (bmo#1175396)
-    Out-of-bounds read with malformed MP3 file
-  * MFSA 2015-82/CVE-2015-4478 (bmo#1105914)
-    Redefinition of non-configurable JavaScript object properties
-  * MFSA 2015-83/CVE-2015-4479/CVE-2015-4480/CVE-2015-4493
-    Overflow issues in libstagefright
-  * MFSA 2015-84/CVE-2015-4481 (bmo1171518)
-    Arbitrary file overwriting through Mozilla Maintenance Service
-    with hard links (only affected Windows)
-  * MFSA 2015-85/CVE-2015-4482 (bmo#1184500)
-    Out-of-bounds write with Updater and malicious MAR file
-    (does not affect openSUSE RPM packages which do not ship the
-     updater)
-  * MFSA 2015-87/CVE-2015-4484 (bmo#1171540)
-    Crash when using shared memory in JavaScript
-  * MFSA 2015-88/CVE-2015-4491 (bmo#1184009)
-    Heap overflow in gdk-pixbuf when scaling bitmap images
-  * MFSA 2015-89/CVE-2015-4485/CVE-2015-4486 (bmo#1177948, bmo#1178148)
-    Buffer overflows on Libvpx when decoding WebM video
-  * MFSA 2015-90/CVE-2015-4487/CVE-2015-4488/CVE-2015-4489
-    Vulnerabilities found through code inspection
-  * MFSA 2015-92/CVE-2015-4492 (bmo#1185820)
-    Use-after-free in XMLHttpRequest with shared workers
-- rebased all patches
-- dropped obsolete patches:
-  * mozilla-sle11.patch
-  * mozilla-ppc.patch
-  * mozilla-nullptr-gcc45.patch
-  * mozilla-libproxy-compat.patch
-  * mozilla-fix-compilation-gcc5-bmo-1021171.patch
-  * mozilla-fix-compilation-gcc5-bmo-1153109.patch
-  * mozilla-aarch64-bmo-810631.patch
-- added platform specific patches from Firefox package:
-  * mozilla-skia-be-le.patch
-  * mozilla-bmo1005535.patch
-  * mozilla-add-glibcxx_use_cxx11_abi.patch
-  * mozilla-arm64-libjpeg-turbo.patch
-  * mozilla-shared-nss-db.patch
-
--------------------------------------------------------------------
-Sat Jun 27 15:26:00 UTC 2015 - wr@rosenauer.org
-
-- update to 31.8.0 (bnc#935979)
-  * MFSA 2015-59/CVE-2015-2724
-    Miscellaneous memory safety hazards
-  * MFSA 2015-61/CVE-2015-2728 (bmo#1142210)
-    Type confusion in Indexed Database Manager
-  * MFSA 2015-64/CVE-2015-2730 (bmo#1125025)
-    ECDSA signature validation fails to handle some signatures correctly
-    (this fix is shipped by NSS 3.19.1 externally)
-  * MFSA 2015-65/CVE-2015-2722/CVE-2015-2733 (bmo#1166924, bmo#1169867)
-    Use-after-free in workers while using XMLHttpRequest
-  * MFSA 2015-66/CVE-2015-2734/CVE-2015-2735/CVE-2015-2736/CVE-2015-2737
-    CVE-2015-2738/CVE-2015-2739/CVE-2015-2740
-    Vulnerabilities found through code inspection
-  * MFSA 2015-69/CVE-2015-2743 (bmo#1163109)
-    Privilege escalation in PDF.js
-  * MFSA 2015-70/CVE-2015-4000 (bmo#1138554)
-    NSS accepts export-length DHE keys with regular DHE cipher suites
-    (this fix is shipped by NSS 3.19.1 externally)
-  * MFSA 2015-71/CVE-2015-2721 (bmo#1086145)
-    NSS incorrectly permits skipping of ServerKeyExchange
-    (this fix is shipped by NSS 3.19.1 externally)
-- requires NSS 3.19.2
-
---------------------------------------------------------------------
-Sun Jun 21 09:39:51 UTC 2015 - antoine.belvire@laposte.net
-
-- Fix compilation with GCC5 (bmo#1153109, bmo#1021171)
-  * add mozilla-fix-compilation-gcc5-bmo-1153109.patch
-  * add mozilla-fix-compilation-gcc5-bmo-1021171.patch
-
--------------------------------------------------------------------
-Wed May  6 07:49:53 UTC 2015 - wr@rosenauer.org
-
-- update to 31.7.0 (bnc#930622)
-  * MFSA 2015-46/CVE-2015-2708
-    Miscellaneous memory safety hazards
-  * MFSA 2015-47/VE-2015-0797 (bmo#1080995)
-    Buffer overflow parsing H.264 video with Linux Gstreamer
-  * MFSA 2015-48/CVE-2015-2710 (bmo#1149542)
-    Buffer overflow with SVG content and CSS
-  * MFSA 2015-51/CVE-2015-2713 (bmo#1153478)
-    Use-after-free during text processing with vertical text enabled
-  * MFSA 2015-54/CVE-2015-2716 (bmo#1140537)
-    Buffer overflow when parsing compressed XML
-  * MFSA 2015-57/CVE-2011-3079 (bmo#1087565)
-    Privilege escalation through IPC channel messages
-- strip baselibs.conf to reflect the current set of packages
-
--------------------------------------------------------------------
-Mon Mar 30 07:56:19 UTC 2015 - wr@rosenauer.org
-
-- update to 31.6.0 (bnc#925368)
-  * MFSA 2015-30/CVE-2015-0815
-    Miscellaneous memory safety hazards
-  * MFSA 2015-31/CVE-2015-0813 (bmo#1106596))
-    Use-after-free when using the Fluendo MP3 GStreamer plugin
-  * MFSA 2015-33/CVE-2015-0816 (bmo#1144991)
-    resource:// documents can load privileged pages
-  * MFSA-2015-37/CVE-2015-0807 (bmo#1111834)
-    CORS requests should not follow 30x redirections after preflight
-  * MFSA-2015-40/CVE-2015-0801 (bmo#1146339)
-    Same-origin bypass through anchor navigation
-
--------------------------------------------------------------------
-Thu Feb 19 22:56:55 UTC 2015 - wr@rosenauer.org
-
-- update to 31.5.0 (bnc#917597)
-  * MFSA 2015-11/CVE-2015-0836
-    Miscellaneous memory safety hazards
-  * MFSA 2015-12/CVE-2015-0833 (bmo#945192)
-    Invoking Mozilla updater will load locally stored DLL files
-    (Windows only)
-  * MFSA 2015-16/CVE-2015-0831 (bmo#1130514)
-    Use-after-free in IndexedDB
-  * MFSA 2015-19/CVE-2015-0827 (bmo#1117304)
-    Out-of-bounds read and write while rendering SVG content
-  * MFSA 2015-24/CVE-2015-0822 (bmo#1110557)
-    Reading of local files through manipulation of form autocomplete
-
--------------------------------------------------------------------
-Sat Jan 10 17:33:51 UTC 2015 - wr@rosenauer.org
-
-- update to 31.4.0 (bnc#910669)
-  * MFSA 2015-01/CVE-2014-8634/CVE-2014-8635
-    Miscellaneous memory safety hazards
-  * MFSA 2015-03/CVE-2014-8638 (bmo#1080987)
-    sendBeacon requests lack an Origin header
-  * MFSA 2015-04/CVE-2014-8639 (bmo#1095859)
-    Cookie injection through Proxy Authenticate responses
-  * MFSA 2015-06/CVE-2014-8641 (bmo#1108455)
-    Read-after-free in WebRTC
-
--------------------------------------------------------------------
-Wed Dec 31 16:01:40 UTC 2014 - dimstar@opensuse.org
-
-- Do not require mozilla-js-32bit from xulrunner-32bit: since we
-  have shared_js currently set to 0, mozilla-js(-32bit) is not
-  being built.
-
--------------------------------------------------------------------
-Sun Nov 30 12:15:59 UTC 2014 - wr@rosenauer.org
-
-- update to 31.3.0 (bnc#908009)
-  * MFSA 2014-83/CVE-2014-1587
-    Miscellaneous memory safety hazards
-  * MFSA 2014-85/CVE-2014-1590 (bmo#1087633)
-    XMLHttpRequest crashes with some input streams
-  * 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
-- readded mozilla-pkgconfig.patch
-
--------------------------------------------------------------------
-Thu Nov 13 08:37:50 UTC 2014 - guillaume@opensuse.org
-
-- Fix %arm build (fix CFLAGS)
-- Disable elf-hack for aarch64
-
--------------------------------------------------------------------
-Sat Nov  1 13:08:20 UTC 2014 - wr@rosenauer.org
-
-- update to 31.2.0
-- synchronize patchset with firefox-esr
-- removed add-plugins.sh in favor of using a pref to use myspell
-
--------------------------------------------------------------------
-Wed Sep 18 14:39:34 UTC 2013 - wr@rosenauer.org
-
-- update to 24.0 (bnc#840485)
-  * MFSA 2013-76/CVE-2013-1718/CVE-2013-1719
-    Miscellaneous memory safety hazards
-  * MFSA 2013-77/CVE-2013-1720 (bmo#888820)
-    Improper state in HTML5 Tree Builder with templates
-  * MFSA 2013-78/CVE-2013-1721 (bmo#890277)
-    Integer overflow in ANGLE library
-  * MFSA 2013-79/CVE-2013-1722 (bmo#893308)
-    Use-after-free in Animation Manager during stylesheet cloning
-  * MFSA 2013-80/CVE-2013-1723 (bmo#891292)
-    NativeKey continues handling key messages after widget is destroyed
-  * MFSA 2013-81/CVE-2013-1724 (bmo#894137)
-    Use-after-free with select element
-  * MFSA 2013-82/CVE-2013-1725 (bmo#876762)
-    Calling scope for new Javascript objects can lead to memory corruption
-  * MFSA 2013-85/CVE-2013-1728 (bmo#883686)
-    Uninitialized data in IonMonkey
-  * MFSA 2013-88/CVE-2013-1730 (bmo#851353)
-    Compartment mismatch re-attaching XBL-backed nodes
-  * MFSA 2013-89/CVE-2013-1732 (bmo#883514)
-    Buffer overflow with multi-column, lists, and floats
-  * MFSA 2013-90/CVE-2013-1735/CVE-2013-1736 (bmo#898871, bmo#906301)
-    Memory corruption involving scrolling
-  * MFSA 2013-91/CVE-2013-1737 (bmo#907727)
-    User-defined properties on DOM proxies get the wrong "this" object
-  * MFSA 2013-92/CVE-2013-1738 (bmo#887334, bmo#882897)
-    GC hazard with default compartments and frame chain restoration
-- require NSPR 4.10 and NSS 3.15.1
-
--------------------------------------------------------------------
-Fri Aug  2 10:56:43 UTC 2013 - wr@rosenauer.org
-
-- update to 17.0.8esr (bnc#833389)
-  * MFSA 2013-63/CVE-2013-1701
-    Miscellaneous memory safety hazards
-  * MFSA 2013-68/CVE-2013-1709 (bmo#838253)
-    Document URI misrepresentation and masquerading
-  * MFSA 2013-69/CVE-2013-1710 (bmo#871368)
-    CRMF requests allow for code execution and XSS attacks
-  * MFSA 2013-72/CVE-2013-1713 (bmo#887098)
-    Wrong principal used for validating URI for some Javascript
-    components
-  * MFSA 2013-73/CVE-2013-1714 (bmo#879787)
-    Same-origin bypass with web workers and XMLHttpRequest
-  * MFSA 2013-75/CVE-2013-1717 (bmo#406541, bmo#738397)
-    Local Java applets may read contents of local file system
-
--------------------------------------------------------------------
-Mon Jun 24 15:26:27 UTC 2013 - wr@rosenauer.org
-
-- update to 17.0.7esr (bnc#825935)
-  * MFSA 2013-49/CVE-2013-1682
-    Miscellaneous memory safety hazards
-  * MFSA 2013-50/CVE-2013-1684/CVE-2013-1685/CVE-2013-1686
-    Memory corruption found using Address Sanitizer
-  * MFSA 2013-51/CVE-2013-1687 (bmo#863933, bmo#866823)
-    Privileged content access and execution via XBL
-  * MFSA 2013-53/CVE-2013-1690 (bmo#857883)
-    Execution of unmapped memory through onreadystatechange event
-  * MFSA 2013-54/CVE-2013-1692 (bmo#866915)
-    Data in the body of XHR HEAD requests leads to CSRF attacks
-  * MFSA 2013-55/CVE-2013-1693 (bmo#711043)
-    SVG filters can lead to information disclosure
-  * MFSA 2013-56/CVE-2013-1694 (bmo#848535)
-    PreserveWrapper has inconsistent behavior
-  * MFSA 2013-59/CVE-2013-1697 (bmo#858101)
-    XrayWrappers can be bypassed to run user defined methods in a
-    privileged context
-
--------------------------------------------------------------------
-Tue Jun  4 16:24:51 UTC 2013 - dvaleev@suse.com
-
-- Fix build on powerpc (ppc-xpcshell.patch)
-
--------------------------------------------------------------------
-Fri May 10 17:27:23 UTC 2013 - wr@rosenauer.org
-
-- update to 17.0.6esr (bnc#819204)
-  * MFSA 2013-41/CVE-2013-0801/CVE-2013-1669
-    Miscellaneous memory safety hazards
-  * MFSA 2013-42/CVE-2013-1670 (bmo#853709)
-    Privileged access for content level constructor
-  * MFSA 2013-46/CVE-2013-1674 (bmo#860971)
-    Use-after-free with video and onresize event
-  * MFSA 2013-47/CVE-2013-1675 (bmo#866825)
-    Uninitialized functions in DOMSVGZoomEvent
-  * MFSA 2013-48/CVE-2013-1676/CVE-2013-1677/CVE-2013-1678/
-    CVE-2013-1679/CVE-2013-1680/CVE-2013-1681
-    Memory corruption found using Address Sanitizer
-
--------------------------------------------------------------------
-Fri Mar 29 16:27:59 UTC 2013 - wr@rosenauer.org
-
-- update to 17.0.5esr (bnc#813026)
-  * requires NSPR 4.9.5 and NSS 3.14.3
-  * MFSA 2013-30/CVE-2013-0788
-    Miscellaneous memory safety hazards
-  * MFSA 2013-31/CVE-2013-0800 (bmo#825721)
-    Out-of-bounds write in Cairo library
-  * MFSA 2013-35/CVE-2013-0796 (bmo#827106)
-    WebGL crash with Mesa graphics driver on Linux
-  * MFSA 2013-36/CVE-2013-0795 (bmo#825697)
-    Bypass of SOW protections allows cloning of protected nodes
-  * MFSA 2013-37/CVE-2013-0794 (bmo#626775)
-    Bypass of tab-modal dialog origin disclosure
-  * MFSA 2013-38/CVE-2013-0793 (bmo#803870)
-    Cross-site scripting (XSS) using timed history navigations
-
--------------------------------------------------------------------
-Fri Mar  8 09:00:09 UTC 2013 - wr@rosenauer.org
-
-- update to 17.0.4esr (bnc#808243)
-  * MFSA 2013-29/CVE-2013-0787 (bmo#848644)
-    Use-after-free in HTML Editor
-
--------------------------------------------------------------------
-Sat Feb 16 17:38:21 UTC 2013 - wr@rosenauer.org
-
-- update to 17.0.3esr (bnc#804248)
-  * MFSA 2013-21/CVE-2013-0783
-    Miscellaneous memory safety hazards
-  * MFSA 2013-24/CVE-2013-0773 (bmo#809652)
-    Web content bypass of COW and SOW security wrappers
-  * MFSA 2013-25/CVE-2013-0774 (bmo#827193)
-    Privacy leak in JavaScript Workers
-  * MFSA 2013-26/CVE-2013-0775 (bmo#831095)
-    Use-after-free in nsImageLoadingContent
-  * MFSA 2013-27/CVE-2013-0776 (bmo#796475)
-    Phishing on HTTPS connection through malicious proxy
-  * MFSA 2013-28/CVE-2013-0780/CVE-2013-0782
-    Use-after-free, out of bounds read, and buffer overflow issues
-    found using Address Sanitizer
-
--------------------------------------------------------------------
-Sat Jan  5 14:46:06 UTC 2013 - wr@rosenauer.org
-
-- update to 17.0.2esr (bnc#796895)
-  * MFSA 2013-01/CVE-2013-0749/CVE-2013-0769/CVE-2013-0770
-    Miscellaneous memory safety hazards
-  * MFSA 2013-02/CVE-2013-0760/CVE-2013-0762/CVE-2013-0766/CVE-2013-0767
-    CVE-2013-0761/CVE-2013-0763/CVE-2013-0771/CVE-2012-5829
-    Use-after-free and buffer overflow issues found using Address Sanitizer
-  * MFSA 2013-03/CVE-2013-0768 (bmo#815795)
-    Buffer Overflow in Canvas
-  * MFSA 2013-04/CVE-2012-0759 (bmo#802026)
-    URL spoofing in addressbar during page loads
-  * MFSA 2013-05/CVE-2013-0744 (bmo#814713)
-    Use-after-free when displaying table with many columns and column groups
-  * MFSA 2013-07/CVE-2013-0764 (bmo#804237)
-    Crash due to handling of SSL on threads
-  * MFSA 2013-08/CVE-2013-0745 (bmo#794158)
-    AutoWrapperChanger fails to keep objects alive during garbage collection
-  * MFSA 2013-09/CVE-2013-0746 (bmo#816842)
-    Compartment mismatch with quickstubs returned values
-  * MFSA 2013-10/CVE-2013-0747 (bmo#733305)
-    Event manipulation in plugin handler to bypass same-origin policy
-  * MFSA 2013-11/CVE-2013-0748 (bmo#806031)
-    Address space layout leaked in XBL objects
-  * MFSA 2013-12/CVE-2013-0750 (bmo#805121)
-    Buffer overflow in Javascript string concatenation
-  * MFSA 2013-13/CVE-2013-0752 (bmo#805024)
-    Memory corruption in XBL with XML bindings containing SVG
-  * MFSA 2013-14/CVE-2013-0757 (bmo#813901)
-    Chrome Object Wrapper (COW) bypass through changing prototype
-  * MFSA 2013-15/CVE-2013-0758 (bmo#813906)
-    Privilege escalation through plugin objects
-  * MFSA 2013-16/CVE-2013-0753 (bmo#814001)
-    Use-after-free in serializeToStream
-  * MFSA 2013-17/CVE-2013-0754 (bmo#814026)
-    Use-after-free in ListenerManager
-  * MFSA 2013-18/CVE-2013-0755 (bmo#814027)
-    Use-after-free in Vibrate
-  * MFSA 2013-19/CVE-2013-0756 (bmo#814029)
-    Use-after-free in Javascript Proxy objects
-- requires NSS 3.14.1 (MFSA 2013-20, CVE-2013-0743)
-- build on SLE11
-  * mozilla-gcc43-enums.patch
-  * mozilla-gcc43-template_hacks.patch
-  * mozilla-gcc43-templates_instantiation.patch
-
--------------------------------------------------------------------
-Thu Nov 29 20:04:34 UTC 2012 - wr@rosenauer.org
-
-- update to 17.0.1
-  * regression/compatibility fixes
-
--------------------------------------------------------------------
-Tue Nov 20 20:15:23 UTC 2012 - wr@rosenauer.org
-
-- update to 17.0 (bnc#790140)
-  * MFSA 2012-91/CVE-2012-5842/CVE-2012-5843
-    Miscellaneous memory safety hazards
-  * MFSA 2012-92/CVE-2012-4202 (bmo#758200)
-    Buffer overflow while rendering GIF images
-  * MFSA 2012-93/CVE-2012-4201 (bmo#747607)
-    evalInSanbox location context incorrectly applied
-  * MFSA 2012-94/CVE-2012-5836 (bmo#792857)
-    Crash when combining SVG text on path with CSS
-  * MFSA 2012-95/CVE-2012-4203 (bmo#765628)
-    Javascript: URLs run in privileged context on New Tab page
-  * MFSA 2012-96/CVE-2012-4204 (bmo#778603)
-    Memory corruption in str_unescape
-  * MFSA 2012-97/CVE-2012-4205 (bmo#779821)
-    XMLHttpRequest inherits incorrect principal within sandbox
-  * MFSA 2012-99/CVE-2012-4208 (bmo#798264)
-    XrayWrappers exposes chrome-only properties when not in chrome
-    compartment
-  * MFSA 2012-100/CVE-2012-5841 (bmo#805807)
-    Improper security filtering for cross-origin wrappers
-  * MFSA 2012-101/CVE-2012-4207 (bmo#801681)
-    Improper character decoding in HZ-GB-2312 charset
-  * MFSA 2012-102/CVE-2012-5837 (bmo#800363)
-    Script entered into Developer Toolbar runs with chrome privileges
-  * MFSA 2012-103/CVE-2012-4209 (bmo#792405)
-    Frames can shadow top.location
-  * MFSA 2012-104/CVE-2012-4210 (bmo#796866)
-    CSS and HTML injection through Style Inspector
-  * MFSA 2012-105/CVE-2012-4214/CVE-2012-4215/CVE-2012-4216/
-    CVE-2012-5829/CVE-2012-5839/CVE-2012-5840/CVE-2012-4212/
-    CVE-2012-4213/CVE-2012-4217/CVE-2012-4218
-    Use-after-free and buffer overflow issues found using Address
-    Sanitizer
-  * MFSA 2012-106/CVE-2012-5830/CVE-2012-5833/CVE-2012-5835/CVE-2012-5838
-    Use-after-free, buffer overflow, and memory corruption issues
-    found using Address Sanitizer
-- rebased patches
-- disabled WebRTC since build is broken (bmo#776877)
-
--------------------------------------------------------------------
-Wed Oct 24 08:28:49 UTC 2012 - wr@rosenauer.org
-
-- update to 16.0.2 (bnc#786522)
-  * MFSA 2012-90/CVE-2012-4194/CVE-2012-4195/CVE-2012-4196
-    (bmo#800666, bmo#793121, bmo#802557)
-    Fixes for Location object issues
-
--------------------------------------------------------------------
-Thu Oct 11 01:50:19 UTC 2012 - wr@rosenauer.org
-
-- update to 16.0.1 (bnc#783533)
-  * MFSA 2012-88/CVE-2012-4191 (bmo#798045)
-    Miscellaneous memory safety hazards
-  * MFSA 2012-89/CVE-2012-4192/CVE-2012-4193 (bmo#799952, bmo#720619)
-    defaultValue security checks not applied
-
--------------------------------------------------------------------
-Sun Oct  7 21:41:01 UTC 2012 - wr@rosenauer.org
-
-- update to 16.0 (bnc#783533)
-  * MFSA 2012-74/CVE-2012-3982/CVE-2012-3983
-    Miscellaneous memory safety hazards
-  * MFSA 2012-75/CVE-2012-3984 (bmo#575294)
-    select element persistance allows for attacks
-  * MFSA 2012-76/CVE-2012-3985 (bmo#655649)
-    Continued access to initial origin after setting document.domain
-  * MFSA 2012-77/CVE-2012-3986 (bmo#775868)
-    Some DOMWindowUtils methods bypass security checks
-  * MFSA 2012-79/CVE-2012-3988 (bmo#725770)
-    DOS and crash with full screen and history navigation
-  * MFSA 2012-80/CVE-2012-3989 (bmo#783867)
-    Crash with invalid cast when using instanceof operator
-  * MFSA 2012-81/CVE-2012-3991 (bmo#783260)
-    GetProperty function can bypass security checks
-  * MFSA 2012-82/CVE-2012-3994 (bmo#765527)
-    top object and location property accessible by plugins
-  * MFSA 2012-83/CVE-2012-3993/CVE-2012-4184 (bmo#768101, bmo#780370)
-    Chrome Object Wrapper (COW) does not disallow acces to privileged
-    functions or properties
-  * MFSA 2012-84/CVE-2012-3992 (bmo#775009)
-    Spoofing and script injection through location.hash
-  * MFSA 2012-85/CVE-2012-3995/CVE-2012-4179/CVE-2012-4180/
-    CVE-2012-4181/CVE-2012-4182/CVE-2012-4183
-    Use-after-free, buffer overflow, and out of bounds read issues
-    found using Address Sanitizer
-  * MFSA 2012-86/CVE-2012-4185/CVE-2012-4186/CVE-2012-4187/
-    CVE-2012-4188
-    Heap memory corruption issues found using Address Sanitizer
-  * MFSA 2012-87/CVE-2012-3990 (bmo#787704)
-    Use-after-free in the IME State Manager
-- requires NSPR 4.9.2
-- removed upstreamed mozilla-crashreporter-restart-args.patch
-- updated translations-other with new languages
-
--------------------------------------------------------------------
-Sun Aug 26 13:48:04 UTC 2012 - wr@rosenauer.org
-
-- update to 15.0 (bnc#777588)
-  * MFSA 2012-57/CVE-2012-1970
-    Miscellaneous memory safety hazards
-  * MFSA 2012-58/CVE-2012-1972/CVE-2012-1973/CVE-2012-1974/CVE-2012-1975
-    CVE-2012-1976/CVE-2012-3956/CVE-2012-3957/CVE-2012-3958/CVE-2012-3959
-    CVE-2012-3960/CVE-2012-3961/CVE-2012-3962/CVE-2012-3963/CVE-2012-3964
-    Use-after-free issues found using Address Sanitizer
-  * MFSA 2012-59/CVE-2012-1956 (bmo#756719)
-    Location object can be shadowed using Object.defineProperty
-  * MFSA 2012-60/CVE-2012-3965 (bmo#769108)
-    Escalation of privilege through about:newtab
-  * MFSA 2012-61/CVE-2012-3966 (bmo#775794, bmo#775793)
-    Memory corruption with bitmap format images with negative height
-  * MFSA 2012-62/CVE-2012-3967/CVE-2012-3968
-    WebGL use-after-free and memory corruption
-  * MFSA 2012-63/CVE-2012-3969/CVE-2012-3970
-    SVG buffer overflow and use-after-free issues
-  * MFSA 2012-64/CVE-2012-3971
-    Graphite 2 memory corruption
-  * MFSA 2012-65/CVE-2012-3972 (bmo#746855)
-    Out-of-bounds read in format-number in XSLT
-  * MFSA 2012-66/CVE-2012-3973 (bmo#757128)
-    HTTPMonitor extension allows for remote debugging without explicit
-    activation
-  * MFSA 2012-68/CVE-2012-3975 (bmo#770684)
-    DOMParser loads linked resources in extensions when parsing
-    text/html
-  * MFSA 2012-69/CVE-2012-3976 (bmo#768568)
-    Incorrect site SSL certificate data display
-  * MFSA 2012-70/CVE-2012-3978 (bmo#770429)
-    Location object security checks bypassed by chrome code
-  * MFSA 2012-72/CVE-2012-3980 (bmo#771859)
-    Web console eval capable of executing chrome-privileged code
-- fix HTML5 video crash with GStreamer enabled (bmo#761030)
-- fixed filelist
-
--------------------------------------------------------------------
-Fri Aug 17 13:09:49 UTC 2012 - dmueller@suse.com
-
-- fix build on ARM:
-  * disable crashreporter, it does not build
-  * reduce debuginfo during built to avoid running out of memory
-
--------------------------------------------------------------------
-Sat Jul 14 19:33:44 UTC 2012 - wr@rosenauer.org
-
-- update to 14.0.1 (bnc#771583)
-  * MFSA 2012-42/CVE-2012-1949/CVE-2012-1948
-    Miscellaneous memory safety hazards
-  * MFSA 2012-43/CVE-2012-1950
-    Incorrect URL displayed in addressbar through drag and drop
-  * MFSA 2012-44/CVE-2012-1951/CVE-2012-1954/CVE-2012-1953/CVE-2012-1952
-    Gecko memory corruption
-  * MFSA 2012-45/CVE-2012-1955 (bmo#757376)
-    Spoofing issue with location
-  * MFSA 2012-46/CVE-2012-1966 (bmo#734076)
-    XSS through data: URLs
-  * MFSA 2012-47/CVE-2012-1957 (bmo#750096)
-    Improper filtering of javascript in HTML feed-view
-  * MFSA 2012-48/CVE-2012-1958 (bmo#750820)
-    use-after-free in nsGlobalWindow::PageHidden
-  * MFSA 2012-49/CVE-2012-1959 (bmo#754044, bmo#737559)
-    Same-compartment Security Wrappers can be bypassed
-  * MFSA 2012-50/CVE-2012-1960 (bmo#761014)
-    Out of bounds read in QCMS
-  * MFSA 2012-51/CVE-2012-1961 (bmo#761655)
-    X-Frame-Options header ignored when duplicated
-  * MFSA 2012-52/CVE-2012-1962 (bmo#764296)
-    JSDependentString::undepend string conversion results in memory
-    corruption
-  * MFSA 2012-53/CVE-2012-1963 (bmo#767778)
-    Content Security Policy 1.0 implementation errors cause data
-    leakage
-  * MFSA 2012-55/CVE-2012-1965 (bmo#758990)
-    feed: URLs with an innerURI inherit security context of page
-  * MFSA 2012-56/CVE-2012-1967 (bmo#758344)
-    Code execution through javascript: URLs
-- license change from tri license to MPL-2.0
-- require NSS 3.13.5
-- PPC fixes:
-  * reenabled mozilla-yarr-pcre.patch to fix build for PPC
-  * add patches for bmo#750620 and bmo#746112
-  * fix xpcshell segfault on ppc
-- build plugin-container on every arch
-
--------------------------------------------------------------------
-Fri Jun 15 12:40:23 UTC 2012 - wr@rosenauer.org
-
-- update to 13.0.1
-  * bugfix release
-
--------------------------------------------------------------------
-Sat Jun  2 09:16:34 UTC 2012 - wr@rosenauer.org
-
-- update to 13.0 (bnc#765204)
-  * MFSA 2012-34/CVE-2012-1938/CVE-2012-1937/CVE-2011-3101
-    Miscellaneous memory safety hazards
-  * MFSA 2012-36/CVE-2012-1944 (bmo#751422)
-    Content Security Policy inline-script bypass
-  * MFSA 2012-37/CVE-2012-1945 (bmo#670514)
-    Information disclosure though Windows file shares and shortcut
-    files
-  * MFSA 2012-38/CVE-2012-1946 (bmo#750109)
-    Use-after-free while replacing/inserting a node in a document
-  * MFSA 2012-40/CVE-2012-1947/CVE-2012-1940/CVE-2012-1941
-    Buffer overflow and use-after-free issues found using Address
-    Sanitizer
-- require NSS 3.13.4
-  * MFSA 2012-39/CVE-2012-0441 (bmo#715073)
-- reenabled crashreporter for Factory/12.2
-  (fixed in mozilla-gcc47.patch)
-
--------------------------------------------------------------------
-Sat Apr 21 10:03:42 UTC 2012 - wr@rosenauer.org
-
-- update to 12.0 (bnc#758408)
-  * rebased patches
-  * MFSA 2012-20/CVE-2012-0467/CVE-2012-0468
-    Miscellaneous memory safety hazards
-  * MFSA 2012-22/CVE-2012-0469 (bmo#738985)
-    use-after-free in IDBKeyRange
-  * MFSA 2012-23/CVE-2012-0470 (bmo#734288)
-    Invalid frees causes heap corruption in gfxImageSurface
-  * MFSA 2012-24/CVE-2012-0471 (bmo#715319)
-    Potential XSS via multibyte content processing errors
-  * MFSA 2012-25/CVE-2012-0472 (bmo#744480)
-    Potential memory corruption during font rendering using cairo-dwrite
-  * MFSA 2012-26/CVE-2012-0473 (bmo#743475)
-    WebGL.drawElements may read illegal video memory due to
-    FindMaxUshortElement error
-  * MFSA 2012-27/CVE-2012-0474 (bmo#687745, bmo#737307)
-    Page load short-circuit can lead to XSS
-  * MFSA 2012-28/CVE-2012-0475 (bmo#694576)
-    Ambiguous IPv6 in Origin headers may bypass webserver access
-    restrictions
-  * MFSA 2012-29/CVE-2012-0477 (bmo#718573)
-    Potential XSS through ISO-2022-KR/ISO-2022-CN decoding issues
-  * MFSA 2012-30/CVE-2012-0478 (bmo#727547)
-    Crash with WebGL content using textImage2D
-  * MFSA 2012-31/CVE-2011-3062 (bmo#739925)
-    Off-by-one error in OpenType Sanitizer
-  * MFSA 2012-32/CVE-2011-1187 (bmo#624621)
-    HTTP Redirections and remote content can be read by javascript errors
-  * MFSA 2012-33/CVE-2012-0479 (bmo#714631)
-    Potential site identity spoofing when loading RSS and Atom feeds
-- added mozilla-libnotify.patch to allow fallback from libnotify
-  to xul based events if no notification-daemon is running
-- gcc 4.7 fixes
-  * mozilla-gcc47.patch
-  * disabled crashreporter temporarily for Factory
-
--------------------------------------------------------------------
-Fri Mar  9 21:49:05 UTC 2012 - wr@rosenauer.org
-
-- update to version 11.0 (bnc#750044)
-  * MFSA 2012-13/CVE-2012-0455 (bmo#704354)
-    XSS with Drag and Drop and Javascript: URL
-  * MFSA 2012-14/CVE-2012-0456/CVE-2012-0457 (bmo#711653, #720103)
-    SVG issues found with Address Sanitizer
-  * MFSA 2012-15/CVE-2012-0451 (bmo#717511)
-    XSS with multiple Content Security Policy headers
-  * MFSA 2012-16/CVE-2012-0458
-    Escalation of privilege with Javascript: URL as home page
-  * MFSA 2012-17/CVE-2012-0459 (bmo#723446)
-    Crash when accessing keyframe cssText after dynamic modification
-  * MFSA 2012-18/CVE-2012-0460 (bmo#727303)
-    window.fullScreen writeable by untrusted content
-  * MFSA 2012-19/CVE-2012-0461/CVE-2012-0462/CVE-2012-0464/
-    CVE-2012-0463
-    Miscellaneous memory safety hazards
-- fix build on ARM
-- disable jemalloc on s390(x)
-
--------------------------------------------------------------------
-Thu Feb 16 08:51:42 UTC 2012 - wr@rosenauer.org
-
-- update to version 10.0.2 (bnc#747328)
-  * CVE-2011-3026 (bmo#727401)
-    libpng: integer overflow leading to heap-buffer overflow
-
--------------------------------------------------------------------
-Thu Feb  9 10:20:49 UTC 2012 - wr@rosenauer.org
-
-- update to version 10.0.1 (bnc#746616)
-  * MFSA 2012-10/CVE-2012-0452 (bmo#724284)
-    use after free in nsXBLDocumentInfo::ReadPrototypeBindings
-
--------------------------------------------------------------------
-Tue Feb  7 10:40:58 UTC 2012 - dvaleev@suse.com
-
-- Use YARR interpreter instead of PCRE on platforms where YARR JIT
-  is not supported, since PCRE doesnt build (bmo#691898)
-- fix ppc64 build (bmo#703534)
-
--------------------------------------------------------------------
-Mon Jan 30 09:43:21 UTC 2012 - wr@rosenauer.org
-
-- update to version 10.0 (bnc#744275)
-  * MFSA 2012-01/CVE-2012-0442/CVE-2012-0443
-    Miscellaneous memory safety hazards
-  * MFSA 2012-03/CVE-2012-0445 (bmo#701071)
-    <iframe> element exposed across domains via name attribute
-  * MFSA 2012-04/CVE-2011-3659 (bmo#708198)
-    Child nodes from nsDOMAttribute still accessible after removal
-    of nodes
-  * MFSA 2012-05/CVE-2012-0446 (bmo#705651)
-    Frame scripts calling into untrusted objects bypass security
-    checks
-  * MFSA 2012-06/CVE-2012-0447 (bmo#710079)
-    Uninitialized memory appended when encoding icon images may
-    cause information disclosure
-  * MFSA 2012-07/CVE-2012-0444 (bmo#719612)
-    Potential Memory Corruption When Decoding Ogg Vorbis files
-  * MFSA 2012-08/CVE-2012-0449 (bmo#701806, bmo#702466)
-    Crash with malformed embedded XSLT stylesheets
-- removed obsolete ppc64 patch
-- disable neon for ARM as it doesn't build correctly
-
--------------------------------------------------------------------
-Fri Dec 23 17:02:01 UTC 2011 - wr@rosenauer.org
-
-- update to Firefox 9.0.1
-  * (strongparent) parentNode of element gets lost (bmo#335998)
-
--------------------------------------------------------------------
-Sun Dec 18 09:28:02 UTC 2011 - wr@rosenauer.org
-
-- update to release 9.0 (bnc#737533)
-  * MFSA 2011-53/CVE-2011-3660
-    Miscellaneous memory safety hazards (rv:9.0)
-  * MFSA 2011-54/CVE-2011-3661 (bmo#691299)
-    Potentially exploitable crash in the YARR regular expression
-    library
-  * MFSA 2011-55/CVE-2011-3658 (bmo#708186)
-    nsSVGValue out-of-bounds access
-  * MFSA 2011-56/CVE-2011-3663 (bmo#704482)
-    Key detection without JavaScript via SVG animation
-  * MFSA 2011-58/VE-2011-3665 (bmo#701259)
-    Crash scaling <video> to extreme sizes
-
--------------------------------------------------------------------
-Sat Nov 12 15:20:49 UTC 2011 - wr@rosenauer.org
-
-- fix ppc64 build
-
--------------------------------------------------------------------
-Sun Nov  6 08:23:04 UTC 2011 - wr@rosenauer.org
-
-- update to release 8.0 (bnc#728520)
-  * MFSA 2011-47/CVE-2011-3648 (bmo#690225)
-    Potential XSS against sites using Shift-JIS
-  * MFSA 2011-48/CVE-2011-3651/CVE-2011-3652/CVE-2011-3654
-    Miscellaneous memory safety hazards
-  * MFSA 2011-49/CVE-2011-3650 (bmo#674776)
-    Memory corruption while profiling using Firebug
-  * MFSA 2011-52/CVE-2011-3655 (bmo#672182)
-    Code execution via NoWaiverWrapper
-- rebased patches
-
--------------------------------------------------------------------
-Fri Sep 30 10:59:54 UTC 2011 - wr@rosenauer.org
-
-- update to minor release 7.0.1
-  * fixed staged addon updates
-
--------------------------------------------------------------------
-Fri Sep 23 11:36:04 UTC 2011 - wr@rosenauer.org
-
-- update to version 7.0 (bnc#720264)
-  * MFSA 2011-36/CVE-2011-2995/CVE-2011-2996/CVE-2011-2997
-    Miscellaneous memory safety hazards
-  * MFSA 2011-39/CVE-2011-3000 (bmo#655389)
-    Defense against multiple Location headers due to CRLF Injection
-  * MFSA 2011-40/CVE-2011-2372/CVE-2011-3001
-    Code installation through holding down Enter
-  * MFSA 2011-41/CVE-2011-3002/CVE-2011-3003 (bmo#680840, bmo#682335)
-    Potentially exploitable WebGL crashes
-  * MFSA 2011-42/CVE-2011-3232 (bmo#653672)
-    Potentially exploitable crash in the YARR regular expression
-    library
-  * MFSA 2011-43/CVE-2011-3004 (bmo#653926)
-    loadSubScript unwraps XPCNativeWrapper scope parameter
-  * MFSA 2011-44/CVE-2011-3005 (bmo#675747)
-    Use after free reading OGG headers
-  * MFSA 2011-45
-    Inferring keystrokes from motion data
-- removed obsolete mozilla-cairo-lcd.patch
-- rebased patches
-
--------------------------------------------------------------------
-Tue Sep 20 11:54:28 UTC 2011 - wr@rosenauer.org
-
-- install xpt.py into SDK (mozilla-639554.patch) (bnc#639554)
-
--------------------------------------------------------------------
-Wed Sep 14 13:07:39 UTC 2011 - wr@rosenauer.org
-
-- initial xulrunner package
-
--- a/xulrunner/xulrunner.spec	Sat Jan 21 12:37:55 2017 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,551 +0,0 @@
-#
-# spec file for package xulrunner
-#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
-#               2006-2015 Wolfgang Rosenauer
-#
-# All modifications and additions to the file contributed by third parties
-# remain the property of their copyright owners, unless otherwise agreed
-# upon. The license for this file, and modifications and additions to the
-# file, is the same license as for the pristine package itself (unless the
-# license for the pristine package is not an Open Source License, in which
-# case the license is the MIT License). An "Open Source License" is a
-# license that conforms to the Open Source Definition (Version 1.9)
-# published by the Open Source Initiative.
-
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
-#
-
-
-%define version_internal 38.2.0
-%define apiversion 38
-%define uaweight 3820000
-%define releasedate 2015080900
-%define shared_js 0
-%define has_system_nspr  1
-%define has_system_nss   1
-%define has_system_cairo 0
-%define localize         0
-%ifarch aarch64 ppc ppc64 ppc64le s390 s390x ia64 %arm
-%define crashreporter    0
-%else
-%define crashreporter    0
-%endif
-%if %suse_version > 1210
-%if %suse_version > 1310
-%define gstreamer_ver 1.0
-%define gstreamer 1
-%else
-%define gstreamer_ver 0.10
-%endif
-%endif
-
-Name:           xulrunner
-BuildRequires:  Mesa-devel
-BuildRequires:  autoconf213
-BuildRequires:  dbus-1-glib-devel
-BuildRequires:  fdupes
-BuildRequires:  gcc-c++
-BuildRequires:  hunspell-devel
-BuildRequires:  libcurl-devel
-BuildRequires:  libgnomeui-devel
-BuildRequires:  libidl-devel
-BuildRequires:  libnotify-devel
-%if %suse_version > 1140
-BuildRequires:  makeinfo
-%endif
-BuildRequires:  pkg-config
-BuildRequires:  python
-BuildRequires:  startup-notification-devel
-BuildRequires:  unzip
-BuildRequires:  xorg-x11-libXt-devel
-BuildRequires:  yasm
-BuildRequires:  zip
-%if %suse_version > 1110
-BuildRequires:  libiw-devel
-BuildRequires:  libproxy-devel
-%else
-BuildRequires:  wireless-tools
-%endif
-BuildRequires:  mozilla-nspr-devel >= 4.10.8
-BuildRequires:  mozilla-nss-devel >= 3.19.2
-BuildRequires:  pkgconfig(libpulse)
-%if %suse_version > 1210
-BuildRequires:  pkgconfig(gstreamer-%gstreamer_ver)
-BuildRequires:  pkgconfig(gstreamer-app-%gstreamer_ver)
-BuildRequires:  pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
-%if 0%{?gstreamer} == 1
-Requires:       libgstreamer-1_0-0
-Recommends:     gstreamer-fluendo-mp3
-Recommends:     gstreamer-plugin-libav
-%else
-Requires:       libgstreamer-0_10-0
-Recommends:     gstreamer-0_10-fluendo-mp3
-Recommends:     gstreamer-0_10-plugins-ffmpeg
-%endif
-%endif
-Version:        %{version_internal}
-Release:        0
-Summary:        Mozilla Runtime Environment
-License:        MPL-2.0
-Group:          Productivity/Other
-Url:            http://www.mozilla.org/
-Provides:       gecko
-%ifarch %ix86
-Provides:       xulrunner-32bit = %{version}-%{release}
-%endif
-Source:         xulrunner-%{version}-source.tar.xz
-Source1:        l10n-%{version}.tar.xz
-Source2:        find-external-requires.sh
-Source3:        %{name}-rpmlintrc
-Source4:        xulrunner-openSUSE-prefs.js
-Source5:        spellcheck.js
-Source6:        create-tar.sh
-Source7:        baselibs.conf
-Source8:        source-stamp.txt
-Source9:        compare-locales.tar.xz
-Patch1:         toolkit-download-folder.patch
-Patch2:         mozilla-pkgconfig.patch
-Patch3:         mozilla-nongnome-proxies.patch
-Patch4:         mozilla-prefer_plugin_pref.patch
-Patch5:         mozilla-shared-nss-db.patch
-Patch6:         mozilla-preferences.patch
-Patch7:         mozilla-language.patch
-Patch8:         mozilla-ntlm-full-path.patch
-Patch9:         mozilla-repo.patch
-Patch10:        mozilla-icu-strncat.patch
-Patch11:        mozilla-arm-disable-edsp.patch
-Patch12:        mozilla-idldir.patch
-Patch13:        mozilla-skia-be-le.patch
-Patch14:        mozilla-bmo1005535.patch
-Patch15:        mozilla-add-glibcxx_use_cxx11_abi.patch
-Patch16:        mozilla-arm64-libjpeg-turbo.patch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%if 0%{?shared_js} == 1
-Requires:       mozilla-js = %{version}
-%endif
-Requires(post):  update-alternatives coreutils
-Requires(preun): update-alternatives coreutils
-Provides:       xulrunner-esr = %{version}
-Obsoletes:      xulrunner-esr < 24.0
-%define _use_internal_dependency_generator 0
-%define __find_requires sh %{SOURCE2}
-%global provfind sh -c "grep -Ev 'mozsqlite3|dbusservice|unixprint' | %__find_provides"
-%global __find_provides %provfind
-%if %has_system_nspr
-Requires:       mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
-%endif
-%if %has_system_nss
-Requires:       mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
-%endif
-
-%description
-XULRunner is a single installable package that can be used to bootstrap
-multiple XUL+XPCOM applications that are as rich as Firefox and
-Thunderbird.
-
-%if 0%{?shared_js} == 1
-%package -n mozilla-js
-Summary:        Mozilla JS engine
-Group:          Productivity/Other
-
-%description -n mozilla-js
-JavaScript is the Netscape-developed object scripting language used in millions
-of web pages and server applications worldwide. Netscape's JavaScript is a
-superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting language,
-with only mild differences from the published standard.
-%endif
-
-%package devel
-Summary:        XULRunner/Gecko SDK
-Group:          Development/Libraries/Other
-%if %has_system_nspr
-Requires:       mozilla-nspr-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr-devel)
-%endif
-%if %has_system_nss
-Requires:       mozilla-nss-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss-devel)
-%endif
-Requires:       %{name} = %{version}
-
-%description devel
-Software Development Kit to embed XUL or Gecko into other applications.
-
-%if %localize
-%package translations-common
-Summary:        Common translations for XULRunner
-Group:          System/Localization
-Requires:       %{name} = %{version}
-Provides:       locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
-Obsoletes:      %{name}-translations < %{version}-%{release}
-
-%description translations-common
-XULRunner is a single installable package that can be used to bootstrap
-multiple XUL+XPCOM applications that are as rich as Firefox and
-Thunderbird.
-
-This package contains the most common languages but en-US which is
-delivered in the main package.
-
-
-%package translations-other
-Summary:        Extra translations for XULRunner
-Group:          System/Localization
-Requires:       %{name} = %{version}
-Provides:       locale(%{name}:ach;af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;vi;zu)
-Obsoletes:      %{name}-translations < %{version}-%{release}
-
-%description translations-other
-XULRunner is a single installable package that can be used to bootstrap
-multiple XUL+XPCOM applications that are as rich as Firefox and
-Thunderbird.
-
-This package contains rarely used languages.
-%endif
-
-%if %crashreporter
-%package buildsymbols
-Summary:        Breakpad buildsymbols for %{name}
-Group:          Development/Debug
-
-%description buildsymbols
-This subpackage contains the Breakpad created and compatible debugging
-symbols meant for upload to Mozilla's crash collector database.
-%endif
-
-%prep
-%setup -n mozilla -q -b 1 -b 9
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-
-%build
-# no need to add build time to binaries
-modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
-DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
-TIME="\"$(date -d "${modified}" "+%%R")\""
-find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
-#
-MOZ_APP_DIR=%{_libdir}/xulrunner-%{version_internal}
-source %{SOURCE8}
-export MOZ_BUILD_DATE=%{releasedate}
-export MOZ_SOURCE_STAMP=$REV
-export SOURCE_REPO=$REPO
-export source_repo=$REPO
-export MOZ_SOURCE_REPO=$REPO
-export MOZILLA_OFFICIAL=1
-export BUILD_OFFICIAL=1
-export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
-%ifarch %ix86
-export CFLAGS="${CFLAGS} -Os"
-%endif
-%ifarch ppc64
-export CFLAGS="$CFLAGS -mminimal-toc"
-%endif
-export LDFLAGS=" -Wl,-rpath -Wl,${MOZ_APP_DIR}"
-%ifarch %arm
-# debug symbols require too much memory during build
-export CFLAGS="${CFLAGS/-g / }"
-# Limit RAM usage during link
-LDFLAGS+="-Wl,--reduce-memory-overheads -Wl,--no-keep-memory"
-%endif
-export CXXFLAGS="$CFLAGS"
-export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
-export MOZ_MILESTONE_RELEASE=1
-#
-cat << EOF > $MOZCONFIG
-mk_add_options MOZILLA_OFFICIAL=1
-mk_add_options BUILD_OFFICIAL=1
-mk_add_options MOZ_MILESTONE_RELEASE=1
-mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
-. \$topsrcdir/xulrunner/config/mozconfig
-ac_add_options --prefix=%{_prefix}
-ac_add_options --libdir=%{_libdir}
-ac_add_options --sysconfdir=%{_sysconfdir}
-ac_add_options --mandir=%{_mandir}
-ac_add_options --includedir=%{_includedir}
-ac_add_options --enable-release
-ac_add_options --enable-stdcxx-compat
-%ifarch %ix86
-%if 0%{?suse_version} > 1230
-ac_add_options --disable-optimize
-%endif
-%endif
-%ifnarch aarch64 ppc ppc64 ppc64le
-ac_add_options --enable-elf-hack
-%endif
-ac_add_options --enable-extensions=default
-#ac_add_options --with-system-jpeg # mozilla uses internal libjpeg-turbo now
-#ac_add_options --with-system-png  # no APNG support
-ac_add_options --with-system-zlib
-ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
-ac_add_options --disable-tests
-ac_add_options --disable-mochitest
-ac_add_options --disable-installer
-ac_add_options --disable-updater
-ac_add_options --disable-javaxpcom
-ac_add_options --enable-system-hunspell
-ac_add_options --enable-startup-notification
-%if 0%{?shared_js} == 1
-ac_add_options --enable-shared-js
-%endif
-#ac_add_options --enable-debug
-%if %suse_version > 1130
-ac_add_options --disable-gnomevfs
-ac_add_options --enable-gio
-%endif
-%if 0%{?gstreamer} == 1
-ac_add_options --enable-gstreamer=1.0
-%endif
-%if %suse_version < 1220
-ac_add_options --disable-gstreamer
-%endif
-%if %has_system_nspr
-ac_add_options --with-system-nspr
-%endif
-%if %has_system_nss
-ac_add_options --with-system-nss
-%endif
-%if %has_system_cairo
-ac_add_options --enable-system-cairo
-%endif
-%if %suse_version > 1110
-ac_add_options --enable-libproxy
-%endif
-%if ! %crashreporter
-ac_add_options --disable-crashreporter
-%endif
-# ARM
-%ifarch %arm
-ac_add_options --disable-neon
-%endif
-%ifnarch %ix86 x86_64
-ac_add_options --disable-webrtc
-%endif
-# try to use OpenGL-ES on ARM
-%ifarch %arm
-ac_add_options --with-gl-provider=EGL
-%endif
-EOF
-make -f client.mk build
-
-%install
-cd ../obj
-# preferences (to package in omni.jar)
-cp %{SOURCE4} dist/bin/defaults/pref/all-openSUSE.js
-cp %{SOURCE5} dist/bin/defaults/pref/
-%makeinstall STRIP=/bin/true
-# xpt.py is not executable
-chmod a+x $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/bin/*.py
-# remove some executable permissions
-find $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal} \
-     -type f -perm -111 -exec chmod a-x {} \;
-find $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/ \
-     -name "*.js" -o -name "*.xpm" -o -name "*.png" | xargs chmod a-x
-# remove mkdir.done files from installed base
-#find $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal} -name ".mkdir.done" | xargs rm
-mkdir -p $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions
-# fixing SDK dynamic libs (symlink instead of copy)
-rm $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/*.so
-%if 0%{?shared_js} == 1
-ln -sf ../../../xulrunner-%{version_internal}/libmozjs.so \
-       $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
-%endif
-ln -sf ../../../xulrunner-%{version_internal}/libxul.so \
-       $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
-# include basic buildenv for xulapps to use
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/xulrunner-%{version_internal}
-pushd ..
-# this list has been compiled by trial and error for prism
-tar --exclude=*.cpp --exclude=*.mm \
-   -cvjf $RPM_BUILD_ROOT%{_datadir}/xulrunner-%{version_internal}/mozilla-src.tar.bz2 \
-    mozilla/configure.in mozilla/Makefile.in mozilla/client.py \
-    mozilla/config mozilla/client.mk mozilla/aclocal.m4 mozilla/build mozilla/js/src/* \
-    mozilla/testing mozilla/toolkit/mozapps/installer mozilla/probes mozilla/memory \
-    mozilla/toolkit/xre mozilla/nsprpub/config mozilla/tools mozilla/xpcom/build
-popd
-# ghosts
-touch $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/global.reginfo
-# install additional locales
-%if %localize
-rm -f %{_tmppath}/translations.*
-touch %{_tmppath}/translations.{common,other}
-for locale in $(awk '{ print $1; }' ../mozilla/browser/locales/shipped-locales); do
-  case $locale in
-   ja-JP-mac|en-US)
-      ;;
-   *)
-      pushd $RPM_BUILD_DIR/compare-locales
-      PYTHONPATH=lib \
-        scripts/compare-locales -m ../l10n-merged/$locale \
-	../mozilla/toolkit/locales/l10n.ini ../l10n $locale
-      popd
-      LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \
-      make -C toolkit/locales langpack-$locale
-      cp dist/xpi-stage/locale-$locale \
-         $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$locale@firefox.mozilla.org
-      # remove prefs and profile defaults from langpack
-      rm -rf $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$locale@firefox.mozilla.org/defaults
-      # check against the fixed common list and sort into the right filelist
-      _matched=0
-      for _match in ar ca cs da de el en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
-        [ "$_match" = "$locale" ] && _matched=1
-      done
-      [ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
-      echo %{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$locale@firefox.mozilla.org \ \
-         >> %{_tmppath}/translations.$_l10ntarget
-  esac
-done
-%endif
-# API symlink
-ln -sf xulrunner-%{version_internal} $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{apiversion}
-# compat links
-%if 0%{?ga_version:1}
-touch $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{ga_version}
-%endif
-# excludes
-%if %suse_version < 1120
-rm -f $RPM_BUILD_ROOT%{_bindir}/xulrunner
-%endif
-rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/updater
-rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/update.locale
-rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/LICENSE
-rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/README.txt
-rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/dictionaries/en-US*
-rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/nspr-config
-rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/mozilla-plugin.pc
-rm -rf $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/gmp-fake/
-rm -rf $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/gmp-fakeopenh264/
-# fdupes
-%fdupes $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal}/
-%fdupes $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/
-# create breakpad debugsymbols
-%if %crashreporter
-SYMBOLS_NAME="xulrunner-%{version}-%{release}.%{_arch}-%{suse_version}-symbols"
-make buildsymbols \
-  SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
-  SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \
-  SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME"
-if [ -e dist/*symbols.zip ]; then
-  mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/
-  cp dist/*symbols.zip $RPM_BUILD_ROOT%{_datadir}/mozilla/
-fi
-%endif
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-%if %localize
-rm -rf %{_tmppath}/translations.*
-%endif
-
-%post
-/usr/sbin/update-alternatives --install %{_bindir}/xulrunner \
-  xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner %{uaweight} || :
-exit 0
-
-%posttrans
-# needed for updates which transition directory to symlink
-%if 0%{?ga_version:1}
-test -d %{_libdir}/xulrunner-%{ga_version} && rm -rf %{_libdir}/xulrunner-%{ga_version}
-ln -sf xulrunner-%{version_internal} %{_libdir}/xulrunner-%{ga_version}
-%endif
-exit 0
-
-%preun
-if [ "$1" = "0" ]; then # deinstallation
-  # that's not quite nice since old versions should be removed on update as well
-  # but that's problematic for updates w/o raising the version number
-  /usr/sbin/update-alternatives --remove xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner
-fi
-exit 0
-
-%files
-%defattr(-,root,root)
-%dir %{_libdir}/xulrunner-%{version_internal}/
-%dir %{_libdir}/xulrunner-%{version_internal}/chrome/
-%dir %{_libdir}/xulrunner-%{version_internal}/dictionaries/
-%dir %{_libdir}/xulrunner-%{version_internal}/extensions/
-%{_libdir}/xulrunner-%{version_internal}/chrome/icons/
-%{_libdir}/xulrunner-%{version_internal}/components/
-%{_libdir}/xulrunner-%{version_internal}/*.so
-%{_libdir}/xulrunner-%{version_internal}/gmp-clearkey/
-%if 0%{?shared_js} == 1
-%exclude %{_libdir}/xulrunner-%{version_internal}/libmozjs.so
-%endif
-%{_libdir}/xulrunner-%{version_internal}/chrome.manifest
-%{_libdir}/xulrunner-%{version_internal}/dependentlibs.list
-%{_libdir}/xulrunner-%{version_internal}/plugin-container
-%{_libdir}/xulrunner-%{version_internal}/xulrunner
-%{_libdir}/xulrunner-%{version_internal}/xulrunner-stub
-%{_libdir}/xulrunner-%{version_internal}/platform.ini
-%{_libdir}/xulrunner-%{version_internal}/omni.ja
-%{_libdir}/xulrunner-%{version_internal}/README.xulrunner
-# crashreporter files
-%if %crashreporter
-%{_libdir}/xulrunner-%{version_internal}/crashreporter
-%{_libdir}/xulrunner-%{version_internal}/crashreporter.ini
-%{_libdir}/xulrunner-%{version_internal}/Throbber-small.gif
-%endif
-# ghosts
-%ghost %{_libdir}/xulrunner-%{version_internal}/global.reginfo
-%if %suse_version >= 1120
-%ghost %{_bindir}/xulrunner
-%endif
-# API symlink (already in mozilla-js)
-%if 0%{?shared_js} == 0
-%{_libdir}/xulrunner-%{apiversion}
-%endif
-# compat symlinks
-%if 0%{?ga_version:1}
-%ghost %{_libdir}/xulrunner-%{ga_version}
-%endif
-
-%if 0%{?shared_js} == 1
-%files -n mozilla-js
-%defattr(-,root,root)
-%dir %{_libdir}/xulrunner-%{version_internal}/
-%{_libdir}/xulrunner-%{apiversion}
-%{_libdir}/xulrunner-%{version_internal}/libmozjs.so
-%endif
-
-%files devel
-%defattr(-,root,root)
-%{_libdir}/xulrunner-devel-%{version_internal}/
-%{_libdir}/xulrunner-%{version_internal}/js-gdb.py
-# FIXME symlink dynamic libs below sdk/lib
-%attr(644,root,root) %{_libdir}/pkgconfig/*
-%{_includedir}/xulrunner-%{version_internal}/
-%{_datadir}/xulrunner-%{version_internal}/
-
-%if %localize
-%files translations-common -f %{_tmppath}/translations.common
-%defattr(-,root,root)
-%dir %{_libdir}/xulrunner-%{version_internal}/
-%dir %{_libdir}/xulrunner-%{version_internal}/chrome/
-
-%files translations-other -f %{_tmppath}/translations.other
-%defattr(-,root,root)
-%dir %{_libdir}/xulrunner-%{version_internal}/
-%dir %{_libdir}/xulrunner-%{version_internal}/chrome/
-%endif
-
-%if %crashreporter
-%files buildsymbols
-%defattr(-,root,root)
-%{_datadir}/mozilla/
-%endif
-
-%changelog