Mozilla Firefox Web browser
591789b9e3e230f74954ed27b377f8e72068d895..d059faaa3512e7863c93bb52dcfadcf5ab6d32cc
2017-11-17 CentOS Sources
debrand firefox-52.5.0-1.el7_4
d059fa diff | tree
2017-11-17 CentOS Sources
import firefox-52.5.0-1.el7_4
0bcd21 diff | tree
33 files added
1 files deleted
2750 ■■■■■ changed files
.firefox.metadata 6 ●●●●● patch | view | raw | blame | history
.gitignore 6 ●●●●● patch | view | raw | blame | history
README.debrand 2 ●●●●● patch | view | raw | blame | history
README.md 5 ●●●●● patch | view | raw | blame | history
SOURCES/build-icu-big-endian.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/build-missing-getrandom.patch 21 ●●●●● patch | view | raw | blame | history
SOURCES/build-nss-prbool.patch 22 ●●●●● patch | view | raw | blame | history
SOURCES/build-nss-version.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/build-s390-atomic.patch 13 ●●●●● patch | view | raw | blame | history
SOURCES/build-s390-missing-include.patch 11 ●●●●● patch | view | raw | blame | history
SOURCES/find-external-requires 23 ●●●●● patch | view | raw | blame | history
SOURCES/firefox-default.patch 97 ●●●●● patch | view | raw | blame | history
SOURCES/firefox-enable-addons.patch 13 ●●●●● patch | view | raw | blame | history
SOURCES/firefox-enable-plugins.patch 21 ●●●●● patch | view | raw | blame | history
SOURCES/firefox-install-dir.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/firefox-mozconfig 28 ●●●●● patch | view | raw | blame | history
SOURCES/firefox-ppc64le.patch 28 ●●●●● patch | view | raw | blame | history
SOURCES/firefox-redhat-default-prefs.js 27 ●●●●● patch | view | raw | blame | history
SOURCES/firefox.1 138 ●●●●● patch | view | raw | blame | history
SOURCES/firefox.desktop 73 ●●●●● patch | view | raw | blame | history
SOURCES/firefox.sh.in.rhel6 256 ●●●●● patch | view | raw | blame | history
SOURCES/firefox.sh.in.rhel7 261 ●●●●● patch | view | raw | blame | history
SOURCES/mozilla-1005640-accept-lang.patch 30 ●●●●● patch | view | raw | blame | history
SOURCES/mozilla-1152515.patch 68 ●●●●● patch | view | raw | blame | history
SOURCES/mozilla-1170092-etc-conf.patch 96 ●●●●● patch | view | raw | blame | history
SOURCES/mozilla-1324096.patch 72 ●●●●● patch | view | raw | blame | history
SOURCES/mozilla-256180.patch 11 ●●●●● patch | view | raw | blame | history
SOURCES/mozilla-api-key 1 ●●●● patch | view | raw | blame | history
SOURCES/rhbz-1173156.patch 12 ●●●●● patch | view | raw | blame | history
SOURCES/rhbz-1423012.patch 15 ●●●●● patch | view | raw | blame | history
SOURCES/rhbz-966424.patch 23 ●●●●● patch | view | raw | blame | history
SOURCES/webrtc-arch-cpu.patch 22 ●●●●● patch | view | raw | blame | history
SOURCES/xulrunner-24.0-jemalloc-ppc.patch 12 ●●●●● patch | view | raw | blame | history
SPECS/firefox.spec 1301 ●●●●● patch | view | raw | blame | history
.firefox.metadata
New file
@@ -0,0 +1,6 @@
511960dd78451a06c9df76509635aeec05b2051a SOURCES/Python-2.7.8.tgz
467bdb846d67c01aed9e521fe0ef280065a50c3c SOURCES/devtoolset-2-binutils-2.23.52.0.1-10.el5.src.rpm
4941f498f8ec838b1bdc70fc8f13c8fde379ddce SOURCES/firefox-52.5.0esr.source.tar.xz
0ef9b869a366758141ec6f75cdd6633e137e8386 SOURCES/firefox-langpacks-52.5.0esr-20171109.tar.xz
e5ba84786af5d0e0e23b1a9112c76821ef23306c SOURCES/gcc48-4.8.2-16.el5.src.rpm
77fd30f7ebc12a629a31c1e252cec06af55a71fe SOURCES/yasm-1.2.0-3.el5.src.rpm
.gitignore
New file
@@ -0,0 +1,6 @@
SOURCES/Python-2.7.8.tgz
SOURCES/devtoolset-2-binutils-2.23.52.0.1-10.el5.src.rpm
SOURCES/firefox-52.5.0esr.source.tar.xz
SOURCES/firefox-langpacks-52.5.0esr-20171109.tar.xz
SOURCES/gcc48-4.8.2-16.el5.src.rpm
SOURCES/yasm-1.2.0-3.el5.src.rpm
README.debrand
New file
@@ -0,0 +1,2 @@
Warning: This package was configured for automatic debranding, but the changes
failed to apply.
README.md
File was deleted
SOURCES/build-icu-big-endian.patch
New file
@@ -0,0 +1,12 @@
diff -up mozilla-aurora/build/autoconf/icu.m4.icu-endian mozilla-aurora/build/autoconf/icu.m4
--- mozilla-aurora/build/autoconf/icu.m4.icu-endian    2016-12-09 09:11:01.227317790 +0100
+++ mozilla-aurora/build/autoconf/icu.m4    2016-12-09 09:18:40.608712247 +0100
@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then
     # TODO: the l is actually endian-dependent
     # We could make this set as 'l' or 'b' for little or big, respectively,
     # but we'd need to check in a big-endian version of the file.
-    ICU_DATA_FILE="icudt${version}l.dat"
+    ICU_DATA_FILE="icudt${version}b.dat"
     dnl We won't build ICU data as a separate file when building
     dnl JS standalone so that embedders don't have to deal with it.
SOURCES/build-missing-getrandom.patch
New file
@@ -0,0 +1,21 @@
diff -up firefox-52.0b8/js/src/jsmath.cpp.missing-getrandom firefox-52.0b8/js/src/jsmath.cpp
--- firefox-52.0b8/js/src/jsmath.cpp.missing-getrandom    2017-02-22 08:09:21.764353407 +0100
+++ firefox-52.0b8/js/src/jsmath.cpp    2017-02-22 08:10:36.939330775 +0100
@@ -78,7 +78,7 @@
 static_assert(GETRANDOM_NR == SYS_getrandom,
               "GETRANDOM_NR should match the actual SYS_getrandom value");
 #  endif
-# else
+# elif defined(GETRANDOM_NR)
 #  define SYS_getrandom GETRANDOM_NR
 # endif
@@ -721,7 +721,7 @@ js::GenerateRandomSeed()
     seed = (static_cast<uint64_t>(arc4random()) << 32) | arc4random();
 #elif defined(XP_UNIX)
     bool done = false;
-# if defined(__linux__)
+# if defined(__linux__) && defined(SYS_getrandom)
     // Try the relatively new getrandom syscall first. It's the preferred way
     // on Linux as /dev/urandom may not work inside chroots and is harder to
     // sandbox (see bug 995069).
SOURCES/build-nss-prbool.patch
New file
@@ -0,0 +1,22 @@
diff -up firefox-52.0esr/security/certverifier/CTLogVerifier.cpp.nss-prbool firefox-52.0esr/security/certverifier/CTLogVerifier.cpp
--- firefox-52.0esr/security/certverifier/CTLogVerifier.cpp.nss-prbool    2017-02-28 02:56:03.000000000 +0100
+++ firefox-52.0esr/security/certverifier/CTLogVerifier.cpp    2017-03-01 11:34:15.623577628 +0100
@@ -7,6 +7,7 @@
 #include "CTLogVerifier.h"
 #include "CTSerialization.h"
+#include "prtypes.h"
 #include "hasht.h"
 #include "mozilla/ArrayUtils.h"
 #include "mozilla/Assertions.h"
diff -up firefox-52.0esr/security/manager/ssl/nsSSLStatus.cpp.nss-prbool firefox-52.0esr/security/manager/ssl/nsSSLStatus.cpp
--- firefox-52.0esr/security/manager/ssl/nsSSLStatus.cpp.nss-prbool    2017-03-01 12:09:16.649945106 +0100
+++ firefox-52.0esr/security/manager/ssl/nsSSLStatus.cpp    2017-03-01 12:09:35.749939355 +0100
@@ -4,6 +4,7 @@
  * 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/. */
+#include "prtypes.h"
 #include "mozilla/Casting.h"
 #include "nsSSLStatus.h"
 #include "nsIClassInfoImpl.h"
SOURCES/build-nss-version.patch
New file
@@ -0,0 +1,12 @@
diff -up firefox-52.0esr/old-configure.in.nss-ver firefox-52.0esr/old-configure.in
--- firefox-52.0esr/old-configure.in.nss-ver    2017-03-01 10:12:54.668047060 +0100
+++ firefox-52.0esr/old-configure.in    2017-03-01 10:13:01.733044933 +0100
@@ -2123,7 +2123,7 @@ MOZ_ARG_WITH_BOOL(system-nss,
     _USE_SYSTEM_NSS=1 )
 if test -n "$_USE_SYSTEM_NSS"; then
-    AM_PATH_NSS(3.28.6, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
+    AM_PATH_NSS(3.28.4, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
 fi
 if test -n "$MOZ_SYSTEM_NSS"; then
SOURCES/build-s390-atomic.patch
New file
@@ -0,0 +1,13 @@
diff -up mozilla-aurora/js/src/jit/AtomicOperations.h.s390-atomic mozilla-aurora/js/src/jit/AtomicOperations.h
--- mozilla-aurora/js/src/jit/AtomicOperations.h.s390-atomic    2016-11-15 12:22:38.000000000 +0100
+++ mozilla-aurora/js/src/jit/AtomicOperations.h    2016-12-08 15:36:11.792439891 +0100
@@ -341,6 +341,9 @@ AtomicOperations::isLockfree(int32_t siz
 #  include "jit/none/AtomicOperations-ppc.h"
 # elif defined(__aarch64__)
 #  include "jit/arm64/AtomicOperations-arm64.h"
+# elif defined(__s390__)
+   // Also works with ppc atomic operations
+#  include "jit/none/AtomicOperations-ppc.h"
 # else
 #  include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
 # endif
SOURCES/build-s390-missing-include.patch
New file
@@ -0,0 +1,11 @@
diff -up firefox-52.1.0esr/dom/filesystem/compat/FileSystemDirectoryReader.h.s390-build-includes-fix firefox-52.1.0esr/dom/filesystem/compat/FileSystemDirectoryReader.h
--- firefox-52.1.0esr/dom/filesystem/compat/FileSystemDirectoryReader.h.s390-build-includes-fix    2017-04-12 09:31:39.419402551 +0200
+++ firefox-52.1.0esr/dom/filesystem/compat/FileSystemDirectoryReader.h    2017-04-12 09:31:53.392340589 +0200
@@ -11,6 +11,7 @@
 #include "mozilla/ErrorResult.h"
 #include "mozilla/dom/BindingDeclarations.h"
 #include "nsCycleCollectionParticipant.h"
+#include "mozilla/dom/FileSystemDirectoryEntry.h"
 #include "nsWrapperCache.h"
 namespace mozilla {
SOURCES/find-external-requires
New file
@@ -0,0 +1,23 @@
#!/bin/sh
# Finds requirements provided outside of the current file set
filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`
provides=`echo $filelist | /usr/lib/rpm/find-provides`
{
for f in $filelist ; do
    echo $f | /usr/lib/rpm/find-requires | while read req ; do
        found=0
        for p in $provides ; do
            if [ "$req" = "$p" ]; then
                found=1
            fi
        done
        if [ "$found" = "0" ]; then
            echo $req
        fi
    done
done
} | sort -u
SOURCES/firefox-default.patch
New file
@@ -0,0 +1,97 @@
diff -up mozilla-aurora/browser/components/preferences/in-content/advanced.xul.default mozilla-aurora/browser/components/preferences/in-content/advanced.xul
--- mozilla-aurora/browser/components/preferences/in-content/advanced.xul.default    2016-11-15 12:21:37.000000000 +0100
+++ mozilla-aurora/browser/components/preferences/in-content/advanced.xul    2016-12-08 10:51:04.049353573 +0100
@@ -75,7 +75,7 @@
               type="bool"/>
  <!-- Update tab -->
-#ifdef MOZ_UPDATER
+#ifdef 0
   <preference id="app.update.enabled"
               name="app.update.enabled"
               type="bool"/>
@@ -116,7 +116,7 @@
               type="int"/>
 </preferences>
-#ifdef HAVE_SHELL_SERVICE
+#ifdef 0
   <stringbundle id="bundleShell" src="chrome://browser/locale/shellservice.properties"/>
   <stringbundle id="bundleBrand" src="chrome://branding/locale/brand.properties"/>
 #endif
diff -up mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp.default mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp
--- mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp.default    2016-11-15 12:21:39.000000000 +0100
+++ mozilla-aurora/browser/components/shell/nsGNOMEShellService.cpp    2016-12-08 10:51:04.049353573 +0100
@@ -150,8 +150,8 @@ nsGNOMEShellService::GetAppPathFromLaunc
 bool
 nsGNOMEShellService::KeyMatchesAppName(const char *aKeyValue) const
 {
+  nsAutoCString appName;
-  gchar *commandPath;
   if (mUseLocaleFilenames) {
     gchar *nativePath = g_filename_from_utf8(aKeyValue, -1,
                                              nullptr, nullptr, nullptr);
@@ -160,17 +160,13 @@ nsGNOMEShellService::KeyMatchesAppName(c
       return false;
     }
-    commandPath = g_find_program_in_path(nativePath);
+    appName.Assign(nativePath);
     g_free(nativePath);
   } else {
-    commandPath = g_find_program_in_path(aKeyValue);
+    appName.Assign(aKeyValue);
   }
-  if (!commandPath)
-    return false;
-
-  bool matches = mAppPath.Equals(commandPath);
-  g_free(commandPath);
+  bool matches = mAppPath.Equals(appName);
   return matches;
 }
@@ -253,16 +249,7 @@ nsGNOMEShellService::SetDefaultBrowser(b
   nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
   nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
   if (gconf) {
-    nsAutoCString appKeyValue;
-    if (mAppIsInPath) {
-      // mAppPath is in the users path, so use only the basename as the launcher
-      gchar *tmp = g_path_get_basename(mAppPath.get());
-      appKeyValue = tmp;
-      g_free(tmp);
-    } else {
-      appKeyValue = mAppPath;
-    }
-
+    nsAutoCString appKeyValue(MOZ_APP_NAME);
     appKeyValue.AppendLiteral(" %s");
     for (unsigned int i = 0; i < ArrayLength(appProtocols); ++i) {
diff -up mozilla-aurora/browser/components/shell/nsGNOMEShellService.h.default mozilla-aurora/browser/components/shell/nsGNOMEShellService.h
--- mozilla-aurora/browser/components/shell/nsGNOMEShellService.h.default    2016-12-08 10:51:04.049353573 +0100
+++ mozilla-aurora/browser/components/shell/nsGNOMEShellService.h    2016-12-08 10:55:53.754263671 +0100
@@ -13,7 +13,7 @@
 class nsGNOMEShellService final : public nsIGNOMEShellService
 {
 public:
-  nsGNOMEShellService() : mAppIsInPath(false) { }
+  nsGNOMEShellService() : mAppIsInPath(true) { }
   NS_DECL_ISUPPORTS
   NS_DECL_NSISHELLSERVICE
diff -up mozilla-aurora/browser/components/shell/ShellService.jsm.default mozilla-aurora/browser/components/shell/ShellService.jsm
--- mozilla-aurora/browser/components/shell/ShellService.jsm.default    2016-12-08 10:56:51.602245720 +0100
+++ mozilla-aurora/browser/components/shell/ShellService.jsm    2016-12-08 10:56:58.213243668 +0100
@@ -48,7 +48,7 @@ let ShellServiceInternal = {
    * up and "browser.shell.checkDefaultBrowser" is true, otherwise it
    * is false.
    */
-  _checkedThisSession: false,
+  _checkedThisSession: true,
   get shouldCheckDefaultBrowser() {
     // If we've already checked, the browser has been started and this is a
     // new window open, and we don't want to check again.
SOURCES/firefox-enable-addons.patch
New file
@@ -0,0 +1,13 @@
diff -up mozilla-aurora/browser/app/profile/firefox.js.addons mozilla-aurora/browser/app/profile/firefox.js
--- mozilla-aurora/browser/app/profile/firefox.js.addons    2015-03-12 13:21:14.000000000 +0100
+++ mozilla-aurora/browser/app/profile/firefox.js    2015-03-12 14:25:39.974909169 +0100
@@ -65,7 +65,8 @@ pref("extensions.hotfix.certs.1.sha1Fing
 // Disable add-ons that are not installed by the user in all scopes by default.
 // See the SCOPE constants in AddonManager.jsm for values to use here.
-pref("extensions.autoDisableScopes", 15);
+pref("extensions.autoDisableScopes", 0);
+pref("extensions.showMismatchUI", false);
 // Dictionary download preference
 pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/");
SOURCES/firefox-enable-plugins.patch
New file
@@ -0,0 +1,21 @@
diff -up firefox-31.1.0/mozilla-esr31/browser/app/profile/firefox.js.plugins firefox-31.1.0/mozilla-esr31/browser/app/profile/firefox.js
--- firefox-31.1.0/mozilla-esr31/browser/app/profile/firefox.js.plugins    2014-09-11 13:47:45.000000000 +0200
+++ firefox-31.1.0/mozilla-esr31/browser/app/profile/firefox.js    2014-09-11 14:42:26.036810267 +0200
@@ -657,7 +657,7 @@ pref("plugins.click_to_play", true);
 pref("plugins.hideMissingPluginsNotification", false);
-pref("plugin.default.state", 1);
+pref("plugin.default.state", 2);
 // Plugins bundled in XPIs are enabled by default.
 pref("plugin.defaultXpi.state", 2);
@@ -665,7 +665,7 @@ pref("plugin.defaultXpi.state", 2);
 // Flash is enabled by default, and Java is click-to-activate by default on
 // all channels.
 pref("plugin.state.flash", 2);
-pref("plugin.state.java", 1);
+pref("plugin.state.java", 2);
 // Whitelist Requests
SOURCES/firefox-install-dir.patch
New file
@@ -0,0 +1,12 @@
diff -up mozilla-aurora/config/baseconfig.mk.orig mozilla-aurora/config/baseconfig.mk
--- mozilla-aurora/config/baseconfig.mk.orig    2014-05-06 13:17:17.000000000 +0200
+++ mozilla-aurora/config/baseconfig.mk    2014-05-27 17:13:05.215503107 +0200
@@ -4,7 +4,7 @@
 # whether a normal build is happening or whether the check is running.
 includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
 idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+installdir = $(libdir)/$(MOZ_APP_NAME)
 sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
 ifndef TOP_DIST
 TOP_DIST = dist
SOURCES/firefox-mozconfig
New file
@@ -0,0 +1,28 @@
. $topsrcdir/browser/config/mozconfig
ac_add_options --disable-crashreporter
ac_add_options --disable-libjpeg-turbo
ac_add_options --disable-necko-wifi
ac_add_options --disable-strip
ac_add_options --disable-tests
ac_add_options --disable-updater
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-extensions=default
ac_add_options --enable-release
ac_add_options --enable-safe-browsing
ac_add_options --enable-startup-notification
ac_add_options --libdir="$LIBDIR"
ac_add_options --prefix="$PREFIX"
ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
ac_add_options --without-system-libvpx
ac_add_options --with-pthreads
ac_add_options --with-system-zlib
ac_add_options --enable-system-hunspell
ac_add_options --with-system-jpeg
export BUILD_OFFICIAL=1
export CFLAGS="$CFLAGS -gdwarf-2"
export CXXFLAGS="$CXXFLAGS -gdwarf-2"
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
SOURCES/firefox-ppc64le.patch
New file
@@ -0,0 +1,28 @@
diff -up firefox-36.0/mozilla-release/gfx/skia/skia/include/core/SkPreConfig.h.ppc64le firefox-36.0/mozilla-release/gfx/skia/skia/include/core/SkPreConfig.h
--- firefox-36.0/mozilla-release/gfx/skia/skia/include/core/SkPreConfig.h.ppc64le    2015-02-20 03:01:40.000000000 +0100
+++ firefox-36.0/mozilla-release/gfx/skia/skia/include/core/SkPreConfig.h    2015-03-06 15:52:58.298050379 +0100
@@ -90,6 +90,13 @@
 #endif
 //////////////////////////////////////////////////////////////////////
+#if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
+    #if defined(__BIG_ENDIAN__)
+         #define SK_CPU_BENDIAN
+    #elif defined(__LITTLE_ENDIAN__)
+        #define SK_CPU_LENDIAN
+    #endif
+#endif
 #if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
     #if defined(__sparc) || defined(__sparc__) || \
diff -up firefox-36.0/mozilla-release/js/src/jsdtoa.cpp.ppc64le firefox-36.0/mozilla-release/js/src/jsdtoa.cpp
--- firefox-36.0/mozilla-release/js/src/jsdtoa.cpp.ppc64le    2015-02-20 03:01:49.000000000 +0100
+++ firefox-36.0/mozilla-release/js/src/jsdtoa.cpp    2015-03-06 15:54:38.348048226 +0100
@@ -52,6 +52,7 @@ static inline void dtoa_free(void* p) {
 #define MALLOC dtoa_malloc
 #define FREE dtoa_free
 #include "dtoa.c"
+#undef CONST
 /* Mapping of JSDToStrMode -> js_dtoa mode */
 static const uint8_t dtoaModes[] = {
SOURCES/firefox-redhat-default-prefs.js
New file
@@ -0,0 +1,27 @@
pref("app.update.auto",                     false);
pref("app.update.enabled",                  false);
pref("app.update.autoInstallEnabled",       false);
pref("browser.backspace_action",            2);
pref("browser.display.use_system_colors",   true);
pref("browser.download.folderList",         1);
pref("browser.link.open_external",          3);
pref("browser.shell.checkDefaultBrowser",   false);
pref("general.smoothScroll",                true);
pref("general.useragent.vendor",            "Red Hat");
pref("general.useragent.vendorSub",         "FIREFOX_RPM_VR");
pref("intl.locale.matchOS",                 true);
pref("storage.nfs_filesystem",              false);
pref("dom.ipc.plugins.enabled.nswrapper*",  false);
pref("network.manage-offline-status",       true);
pref("toolkit.networkmanager.disable",      false);
pref("browser.startup.homepage",            "data:text/plain,browser.startup.homepage=file:///usr/share/doc/HTML/index.html");
pref("toolkit.storage.synchronous",         0);
pref("startup.homepage_override_url",       "http://www.redhat.com");
pref("startup.homepage_welcome_url",        "http://www.redhat.com");
pref("extensions.shownSelectionUI",         true);
/* Workaround for rhbz#1110291 */
pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
/* Workaround for mozbz#1063315 */
pref("security.use_mozillapkix_verification", false);
pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
pref("browser.tabs.remote.autostart",       false);
SOURCES/firefox.1
New file
@@ -0,0 +1,138 @@
.TH FIREFOX 1 "August 07, 2001" 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]
.B firefox-bin
[\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, \fBfirefox-bin\fR.
.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
.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\-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 \-jsconsole
Start with Javascript Console
.TP
\fB\-chrome\fR \fIurl\fR
Load the specified chrome.
.TP
\fB\-no\-remote\fR
Don't connect to any other running instances of \fBfirefox\fR. Use this if you want to run \fBfirefox\fR
in an entirely new process. By default, \fBfirefox\fR will delegate a command to an already running instance.
.TP
\fB\-safe\-mode\fR
Start \fBfirefox\fR in safe-mode. This disables all third-party extensions, and may be necessary if
you are having problems with an extension you installed.
.TP
\fB\-new\-tab\fR \fIurl\fR
Open \fIurl\fR in a new tab.
.TP
\fB\-new\-window\fR \fIurl\fR
Open \fIurl\fR in a new window.
.TP
\fB\-preferences\fR
Open the preferences dialog.
.TP
\fB\-private\fR
Start \fBfirefox\fR in private browsing mode.
.TP
\fB\-private\-toggle\fR
Toggle private browsing mode.
.TP
\fB\-setDefaultBrowser\fR
Set \fBfirefox\fR as the default web browser.
.TP
\fB\-search\fR \fIterm\fR
Search for \fIterm\fR with your default search engine.
.TP
\fB\-migration\fR
Start with migration wizard.
.TP
\fB\-new-instance\fR
Open new instance, not a new window in running instance.
.SH FILES
\fI/usr/bin/firefox\fR - shell script wrapping
\fBfirefox\fR
.br
\fI/usr/lib/mozilla/firefox-bin\fR - \fBfirefox\fR
executable
.SH VERSION
1.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
SOURCES/firefox.desktop
New file
@@ -0,0 +1,73 @@
[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
Name[ca]=Navegador web Firefox
Name[cs]=Firefox Webový prohlížeč
Name[es]=Navegador Firefox
Name[fa]=مرورگر اینترنتی Firefox
Name[fi]=Firefox-selain
Name[fr]=Navigateur web Firefox
Name[hu]=Firefox webböngésző
Name[it]=Web browser Firefox
Name[ja]=Firefox Web ブラウザー
Name[ko]=Firefox 웹 브라우저
Name[nb]=Firefox Nettleser
Name[nl]=Firefox webbrowser
Name[nn]=Firefox Nettlesar
Name[no]=Firefox Nettleser
Name[pl]=Przeglądarka WWW Firefox
Name[pt]=Firefox Navegador Web
Name[pt_BR]=Navegador Firefox
Name[ru]=Веб-браузер Firefox
Name[sk]=Internetový prehliadač Firefox
Name[sv]=Webbläsaren Firefox
Name[zh_CN]=火狐浏览器
Name[zh_TW]=Firefox 網頁瀏覽器
GenericName=Web Browser
GenericName[ca]=Navegador web
GenericName[cs]=Webový prohlížeč
GenericName[es]=Navegador web
GenericName[fa]=مرورگر اینترنتی
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[hu]=Webböngésző
GenericName[it]=Browser Web
GenericName[ja]=ウェブ・ブラウザ
GenericName[ko]=웹 브라우저
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[nn]=Nettlesar
GenericName[no]=Nettleser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[sk]=Internetový prehliadač
GenericName[sv]=Webbläsare
Comment=Browse the Web
Comment[ca]=Navegueu per el web
Comment[cs]=Prohlížení stránek World Wide Webu
Comment[de]=Im Internet surfen
Comment[es]=Navegue por la web
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
Comment[fi]=Selaa Internetin WWW-sivuja
Comment[fr]=Navigue sur Internet
Comment[hu]=A világháló böngészése
Comment[it]=Esplora il web
Comment[ja]=ウェブを閲覧します
Comment[ko]=웹을 돌아 다닙니다
Comment[nb]=Surf på nettet
Comment[nl]=Verken het internet
Comment[nn]=Surf på nettet
Comment[no]=Surf på nettet
Comment[pl]=Przeglądanie stron WWW
Comment[pt]=Navegue na Internet
Comment[pt_BR]=Navegue na Internet
Comment[sk]=Prehliadanie internetu
Comment[sv]=Surfa på webben
Exec=firefox %u
Icon=firefox
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;
SOURCES/firefox.sh.in.rhel6
New file
@@ -0,0 +1,256 @@
#!/bin/bash
#
# The contents of this file are subject to the Netscape 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/NPL/
#
# 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 Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
##
## Usage:
##
## $ firefox
##
## 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_ARCH=$(uname -m)
case $MOZ_ARCH in
    x86_64 | s390x | sparc64)
        MOZ_LIB_DIR="/usr/lib64"
        SECONDARY_LIB_DIR="/usr/lib"
        ;;
    * )
        MOZ_LIB_DIR="/usr/lib"
        SECONDARY_LIB_DIR="/usr/lib64"
        ;;
esac
MOZ_FIREFOX_FILE="firefox"
if [ ! -r $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
    if [ ! -r $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
    echo "Error: $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
    if [ -d $SECONDARY_LIB_DIR ]; then
        echo "       $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
    fi
    exit 1
    fi
    MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
fi
MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox"
MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE"
MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh"
##
## Set MOZ_GRE_CONF
##
MOZ_GRE_CONF=/etc/gre.d/gre.conf
if [ "$MOZ_LIB_DIR" == "/usr/lib64" ]; then
  MOZ_GRE_CONF=/etc/gre.d/gre64.conf
fi
export MOZ_GRE_CONF
##
## Set MOZILLA_FIVE_HOME
##
MOZILLA_FIVE_HOME="$MOZ_DIST_BIN"
export MOZILLA_FIVE_HOME
##
## Select the propper plugin dir
## Wrapped plug-ins are located in /lib/mozilla/plugins-wrapped
##
if [ -x "/usr/bin/mozilla-plugin-config" ]
then
  MOZ_PLUGIN_DIR="plugins-wrapped"
else
  MOZ_PLUGIN_DIR="plugins"
fi
##
## Make sure that we set the plugin path
##
if [ "$MOZ_PLUGIN_PATH" ]
then
  MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR
else
  MOZ_PLUGIN_PATH=$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR
fi
export MOZ_PLUGIN_PATH
##
## Set MOZ_APP_LAUNCHER for gnome-session
##
export MOZ_APP_LAUNCHER="/usr/bin/firefox"
##
## If plugins are wrapped, check them
##
if [ -x "/usr/bin/mozilla-plugin-config" ]
then
  /usr/bin/mozilla-plugin-config
fi
##
## Set FONTCONFIG_PATH for Xft/fontconfig
##
FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
export FONTCONFIG_PATH
##
## In order to better support certain scripts (such as Indic and some CJK
## scripts), Fedora builds its Firefox, with permission from the Mozilla
## Corporation, with the Pango system as its text renderer.  This change
## may negatively impact performance on some pages.  To disable the use of
## Pango, set MOZ_DISABLE_PANGO=1 in your environment before launching
## Firefox.
##
#
# MOZ_DISABLE_PANGO=1
# export MOZ_DISABLE_PANGO
#
##
## Disable the GNOME crash dialog, Moz has it's own
##
GNOME_DISABLE_CRASH_DIALOG=1
export GNOME_DISABLE_CRASH_DIALOG
# OK, here's where all the real work gets done
##
## To disable the use of Firefox localization, set MOZ_DISABLE_LANGPACKS=1
## in your environment before launching Firefox.
##
#
# MOZ_DISABLE_LANGPACKS=1
# export MOZ_DISABLE_LANGPACKS
#
##
## Automatically installed langpacks are tracked by .fedora-langpack-install
## config file.
##
FEDORA_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.fedora-langpack-install"
# MOZ_DISABLE_LANGPACKS disables language packs completely
MOZILLA_DOWN=0
if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then
    if [ -x $MOZ_DIST_BIN/$MOZ_FIREFOX_FILE ]; then
        # Is firefox running?
        /usr/bin/pidof firefox > /dev/null 2>&1
        MOZILLA_DOWN=$?
    fi
fi
# Modify language pack configuration only when firefox is not running
# and language packs are not disabled
if [ $MOZILLA_DOWN -ne 0 ]; then
    # Clear already installed langpacks
    mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR
    if [ -f $FEDORA_LANGPACK_CONFIG ]; then
        rm `cat $FEDORA_LANGPACK_CONFIG` > /dev/null 2>&1
        rm $FEDORA_LANGPACK_CONFIG > /dev/null 2>&1
        # remove all empty langpacks dirs while they block installation of langpacks
        rmdir $MOZ_EXTENSIONS_PROFILE_DIR/langpack* > /dev/null 2>&1
    fi
    # Get locale from system
    CURRENT_LOCALE=$LC_ALL
    CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES}
    CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG}
    # Try with a local variant first, then without a local variant
    SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g"`
    MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g"`
    function create_langpack_link() {
        local language=$*
        local langpack=langpack-${language}@firefox.mozilla.org.xpi
        if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
            rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
            # If the target file is a symlink (the fallback langpack),
            # install the original file instead of the fallback one
            if [ -h $MOZ_LANGPACKS_DIR/$langpack ]; then
                langpack=`readlink $MOZ_LANGPACKS_DIR/$langpack`
            fi
            ln -s $MOZ_LANGPACKS_DIR/$langpack \
                  $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
            echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG
            return 0
        fi
        return 1
    }
    create_langpack_link $MOZLOCALE || create_langpack_link $SHORTMOZLOCALE || true
fi
# BEAST fix (rhbz#1005611)
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
export NSS_SSL_CBC_RANDOM_IV
# Prepare command line arguments
script_args=""
pass_arg_count=0
while [ $# -gt $pass_arg_count ]
do
  case "$1" in
    -g | --debug)
      script_args="$script_args -g"
      debugging=1
      shift
      ;;
    -d | --debugger)
      if [ $# -gt 1 ]; then
        script_args="$script_args -d $2"
        shift 2
      else
        shift
      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
# Run the browser
debugging=0
if [ $debugging = 1 ]
then
  echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
fi
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
SOURCES/firefox.sh.in.rhel7
New file
@@ -0,0 +1,261 @@
#!/bin/bash
#
# The contents of this file are subject to the Netscape 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/NPL/
#
# 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 Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
##
## Usage:
##
## $ firefox
##
## 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_ARCH=$(uname -m)
case $MOZ_ARCH in
    x86_64 | s390x | sparc64)
        MOZ_LIB_DIR="/usr/lib64"
        SECONDARY_LIB_DIR="/usr/lib"
        ;;
    * )
        MOZ_LIB_DIR="/usr/lib"
        SECONDARY_LIB_DIR="/usr/lib64"
        ;;
esac
MOZ_FIREFOX_FILE="firefox"
if [ ! -r $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
    if [ ! -r $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
    echo "Error: $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
    if [ -d $SECONDARY_LIB_DIR ]; then
        echo "       $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
    fi
    exit 1
    fi
    MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
fi
MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox"
MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
MOZ_PROGRAM="$MOZ_DIST_BIN/$MOZ_FIREFOX_FILE"
MOZ_LAUNCHER="$MOZ_DIST_BIN/run-mozilla.sh"
##
## Set MOZ_GRE_CONF
##
MOZ_GRE_CONF=/etc/gre.d/gre.conf
if [ "$MOZ_LIB_DIR" == "/usr/lib64" ]; then
  MOZ_GRE_CONF=/etc/gre.d/gre64.conf
fi
export MOZ_GRE_CONF
##
## Set MOZILLA_FIVE_HOME
##
MOZILLA_FIVE_HOME="$MOZ_DIST_BIN"
export MOZILLA_FIVE_HOME
##
## Select the propper plugin dir
## Wrapped plug-ins are located in /lib/mozilla/plugins-wrapped
##
if [ -x "/usr/bin/mozilla-plugin-config" ]
then
  MOZ_PLUGIN_DIR="plugins-wrapped"
else
  MOZ_PLUGIN_DIR="plugins"
fi
##
## Make sure that we set the plugin path
##
if [ "$MOZ_PLUGIN_PATH" ]
then
  MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR
else
  MOZ_PLUGIN_PATH=$MOZ_LIB_DIR/mozilla/$MOZ_PLUGIN_DIR:$MOZ_DIST_BIN/$MOZ_PLUGIN_DIR
fi
export MOZ_PLUGIN_PATH
##
## Set MOZ_APP_LAUNCHER for gnome-session
##
export MOZ_APP_LAUNCHER="/usr/bin/firefox"
##
## If plugins are wrapped, check them
##
if [ -x "/usr/bin/mozilla-plugin-config" ]
then
  /usr/bin/mozilla-plugin-config
fi
##
## Set FONTCONFIG_PATH for Xft/fontconfig
##
FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
export FONTCONFIG_PATH
##
## In order to better support certain scripts (such as Indic and some CJK
## scripts), Fedora builds its Firefox, with permission from the Mozilla
## Corporation, with the Pango system as its text renderer.  This change
## may negatively impact performance on some pages.  To disable the use of
## Pango, set MOZ_DISABLE_PANGO=1 in your environment before launching
## Firefox.
##
#
# MOZ_DISABLE_PANGO=1
# export MOZ_DISABLE_PANGO
#
##
## Disable the GNOME crash dialog, Moz has it's own
##
GNOME_DISABLE_CRASH_DIALOG=1
export GNOME_DISABLE_CRASH_DIALOG
##
## Disable the SLICE allocator (rhbz#1014858)
##
export G_SLICE=always-malloc
# OK, here's where all the real work gets done
##
## To disable the use of Firefox localization, set MOZ_DISABLE_LANGPACKS=1
## in your environment before launching Firefox.
##
#
# MOZ_DISABLE_LANGPACKS=1
# export MOZ_DISABLE_LANGPACKS
#
##
## Automatically installed langpacks are tracked by .fedora-langpack-install
## config file.
##
FEDORA_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.fedora-langpack-install"
# MOZ_DISABLE_LANGPACKS disables language packs completely
MOZILLA_DOWN=0
if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then
    if [ -x $MOZ_DIST_BIN/$MOZ_FIREFOX_FILE ]; then
        # Is firefox running?
        /usr/bin/pidof firefox > /dev/null 2>&1
        MOZILLA_DOWN=$?
    fi
fi
# Modify language pack configuration only when firefox is not running
# and language packs are not disabled
if [ $MOZILLA_DOWN -ne 0 ]; then
    # Clear already installed langpacks
    mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR
    if [ -f $FEDORA_LANGPACK_CONFIG ]; then
        rm `cat $FEDORA_LANGPACK_CONFIG` > /dev/null 2>&1
        rm $FEDORA_LANGPACK_CONFIG > /dev/null 2>&1
        # remove all empty langpacks dirs while they block installation of langpacks
        rmdir $MOZ_EXTENSIONS_PROFILE_DIR/langpack* > /dev/null 2>&1
    fi
    # Get locale from system
    CURRENT_LOCALE=$LC_ALL
    CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES}
    CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG}
    # Try with a local variant first, then without a local variant
    SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g"`
    MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g"`
    function create_langpack_link() {
        local language=$*
        local langpack=langpack-${language}@firefox.mozilla.org.xpi
        if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
            rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
            # If the target file is a symlink (the fallback langpack),
            # install the original file instead of the fallback one
            if [ -h $MOZ_LANGPACKS_DIR/$langpack ]; then
                langpack=`readlink $MOZ_LANGPACKS_DIR/$langpack`
            fi
            ln -s $MOZ_LANGPACKS_DIR/$langpack \
                  $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
            echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG
            return 0
        fi
        return 1
    }
    create_langpack_link $MOZLOCALE || create_langpack_link $SHORTMOZLOCALE || true
fi
# BEAST fix (rhbz#1005611)
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
export NSS_SSL_CBC_RANDOM_IV
# Prepare command line arguments
script_args=""
pass_arg_count=0
while [ $# -gt $pass_arg_count ]
do
  case "$1" in
    -g | --debug)
      script_args="$script_args -g"
      debugging=1
      shift
      ;;
    -d | --debugger)
      if [ $# -gt 1 ]; then
        script_args="$script_args -d $2"
        shift 2
      else
        shift
      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
# Run the browser
debugging=0
if [ $debugging = 1 ]
then
  echo $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
fi
exec $MOZ_LAUNCHER $script_args $MOZ_PROGRAM "$@"
SOURCES/mozilla-1005640-accept-lang.patch
New file
@@ -0,0 +1,30 @@
diff -up firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.1005640-accept-lang firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm
--- firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.1005640-accept-lang    2017-01-16 17:16:52.000000000 +0100
+++ firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm    2017-01-18 12:35:29.380394216 +0100
@@ -2852,6 +2852,11 @@ this.XPIProvider = {
         this.addAddonsToCrashReporter();
       }
+      // Save locale settings to compare it later to check whenever some addon
+      // changed it.
+      var previousLocale = Cc["@mozilla.org/chrome/chrome-registry;1"]
+                          .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global");
+
       try {
         AddonManagerPrivate.recordTimestamp("XPI_bootstrap_addons_begin");
@@ -2880,6 +2885,14 @@ this.XPIProvider = {
         AddonManagerPrivate.recordException("XPI-BOOTSTRAP", "startup failed", e);
       }
+      var currentLocale = Cc["@mozilla.org/chrome/chrome-registry;1"]
+                         .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global");
+      if (currentLocale != previousLocale) {
+        // We have to flush string cache if the locale was changed during loading
+        // of addons
+        Services.obs.notifyObservers(null, "chrome-flush-caches", null);
+      }
+
       // Let these shutdown a little earlier when they still have access to most
       // of XPCOM
       Services.obs.addObserver({
SOURCES/mozilla-1152515.patch
New file
@@ -0,0 +1,68 @@
diff --git a/security/pkix/lib/pkixder.cpp b/security/pkix/lib/pkixder.cpp
--- a/security/pkix/lib/pkixder.cpp
+++ b/security/pkix/lib/pkixder.cpp
@@ -466,28 +466,63 @@ TimeChoice(Reader& tagged, uint8_t expec
   if (rv != Success) {
     return rv;
   }
   uint8_t b;
   if (input.Read(b) != Success) {
     return Result::ERROR_INVALID_DER_TIME;
   }
-  if (b != 'Z') {
+
+  unsigned int hourOffset = 0;
+  unsigned int minuteOffset = 0;
+  bool allowOffset = false;
+  bool haveOffset = false;
+  bool offsetIsPositive = false;
+
+  if (getenv("PKIX_ALLOW_CERT_UTCTIME_OFFSET") != 0) {
+    allowOffset = true;
+  }
+
+  if (allowOffset && (b == '+' || b == '-')) {
+    haveOffset = true;
+    rv = ReadTwoDigits(input, 0u, 23u, hourOffset);
+    if (rv != Success) {
+      return rv;
+    }
+    rv = ReadTwoDigits(input, 0u, 59u, minuteOffset);
+    if (rv != Success) {
+      return rv;
+    }
+    if (b == '+') {
+      offsetIsPositive = true;
+    }
+  } else if (b != 'Z') {
     return Result::ERROR_INVALID_DER_TIME;
   }
   if (End(input) != Success) {
     return Result::ERROR_INVALID_DER_TIME;
   }
   uint64_t totalSeconds = (static_cast<uint64_t>(days) * 24u * 60u * 60u) +
                           (static_cast<uint64_t>(hours)      * 60u * 60u) +
                           (static_cast<uint64_t>(minutes)          * 60u) +
                           seconds;
+  if (haveOffset) {
+    uint64_t offsetInSeconds =
+                          (static_cast<uint64_t>(hourOffset) * 60u * 60u) +
+                          (static_cast<uint64_t>(minuteOffset)     * 60u);
+    if (offsetIsPositive) {
+      totalSeconds -= offsetInSeconds;
+    } else {
+      totalSeconds += offsetInSeconds;
+    }
+  }
+
   time = TimeFromElapsedSecondsAD(totalSeconds);
   return Success;
 }
 Result
 IntegralBytes(Reader& input, uint8_t tag,
               IntegralValueRestriction valueRestriction,
               /*out*/ Input& value,
SOURCES/mozilla-1170092-etc-conf.patch
New file
@@ -0,0 +1,96 @@
diff -up firefox-45.0.1/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-45.0.1/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-45.0.1/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092    2016-03-15 23:37:54.000000000 +0100
+++ firefox-45.0.1/extensions/pref/autoconfig/src/nsReadConfig.cpp    2016-03-21 16:10:42.540417899 +0100
@@ -245,8 +245,20 @@ nsresult nsReadConfig::openAndEvaluateJS
             return rv;
         rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
-        if (NS_FAILED(rv))
-            return rv;
+        if (NS_FAILED(rv)) {
+          // Look for cfg file in /etc/<application>/pref
+          rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
+                                      getter_AddRefs(jsFile));
+          NS_ENSURE_SUCCESS(rv, rv);
+
+          rv = jsFile->AppendNative(NS_LITERAL_CSTRING("pref"));
+          NS_ENSURE_SUCCESS(rv, rv);
+          rv = jsFile->AppendNative(nsDependentCString(aFileName));
+          NS_ENSURE_SUCCESS(rv, rv);
+
+          rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
+          NS_ENSURE_SUCCESS(rv, rv);
+        }
     } else {
         nsAutoCString location("resource://gre/defaults/autoconfig/");
diff -up firefox-45.0.1/modules/libpref/Preferences.cpp.1170092 firefox-45.0.1/modules/libpref/Preferences.cpp
--- firefox-45.0.1/modules/libpref/Preferences.cpp.1170092    2016-03-21 16:10:42.540417899 +0100
+++ firefox-45.0.1/modules/libpref/Preferences.cpp    2016-03-21 16:13:29.145888710 +0100
@@ -1214,6 +1214,8 @@ static nsresult pref_InitInitialObjects(
   // - jar:$gre/omni.jar!/defaults/preferences/*.js
   // Thus, in omni.jar case, we always load app-specific default preferences
   // from omni.jar, whether or not $app == $gre.
+  // At very end load configuration from system config location:
+  // - /etc/firefox/pref/*.js
   nsZipFind *findPtr;
   nsAutoPtr<nsZipFind> find;
diff -up firefox-45.0.1/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-45.0.1/toolkit/xre/nsXREDirProvider.cpp
--- firefox-45.0.1/toolkit/xre/nsXREDirProvider.cpp.1170092    2016-03-15 23:37:46.000000000 +0100
+++ firefox-45.0.1/toolkit/xre/nsXREDirProvider.cpp    2016-03-21 16:12:06.498655156 +0100
@@ -51,6 +51,7 @@
 #endif
 #ifdef XP_UNIX
 #include <ctype.h>
+#include "nsIXULAppInfo.h"
 #endif
 #ifdef XP_IOS
 #include "UIKitDirProvider.h"
@@ -457,6 +458,20 @@ nsXREDirProvider::GetFile(const char* aP
       }
     }
   }
+#if defined(XP_UNIX)
+  if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
+    nsCString sysConfigDir = NS_LITERAL_CSTRING("/etc/");
+    nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
+    if (!appInfo)
+      return NS_ERROR_NOT_AVAILABLE;
+    nsCString appName;
+    appInfo->GetName(appName);
+    ToLowerCase(appName);
+    sysConfigDir.Append(appName);
+    return NS_NewNativeLocalFile(sysConfigDir, false, aFile);
+  }
+#endif
+
   if (NS_FAILED(rv) || !file)
     return NS_ERROR_FAILURE;
@@ -753,6 +768,14 @@ nsXREDirProvider::GetFilesInternal(const
     LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
     LoadDirsIntoArray(mAppBundleDirectories,
                       kAppendPrefDir, directories);
+    // Add /etc/<application>/pref/ directory if it exists
+    nsCOMPtr<nsIFile> systemPrefDir;
+    rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR, getter_AddRefs(systemPrefDir));
+    if (NS_SUCCEEDED(rv)) {
+      rv = systemPrefDir->AppendNative(NS_LITERAL_CSTRING("pref"));
+      if (NS_SUCCEEDED(rv))
+        directories.AppendObject(systemPrefDir);
+    }
     rv = NS_NewArrayEnumerator(aResult, directories);
   }
diff -up firefox-45.0.1/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-45.0.1/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-45.0.1/xpcom/io/nsAppDirectoryServiceDefs.h.1170092    2016-03-15 23:37:47.000000000 +0100
+++ firefox-45.0.1/xpcom/io/nsAppDirectoryServiceDefs.h    2016-03-21 16:10:42.541417902 +0100
@@ -67,6 +67,7 @@
 #define NS_APP_PREFS_DEFAULTS_DIR_LIST          "PrefDL"
 #define NS_EXT_PREFS_DEFAULTS_DIR_LIST          "ExtPrefDL"
 #define NS_APP_PREFS_OVERRIDE_DIR               "PrefDOverride" // Directory for per-profile defaults
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR          "PrefSysConf"   // Directory with system-wide configuration
 #define NS_APP_USER_PROFILE_50_DIR              "ProfD"
 #define NS_APP_USER_PROFILE_LOCAL_50_DIR        "ProfLD"
SOURCES/mozilla-1324096.patch
New file
@@ -0,0 +1,72 @@
diff --git a/security/certverifier/CertVerifier.cpp b/security/certverifier/CertVerifier.cpp
--- a/security/certverifier/CertVerifier.cpp
+++ b/security/certverifier/CertVerifier.cpp
@@ -120,16 +120,20 @@ IsCertChainRootBuiltInRoot(const UniqueC
   }
   CERTCertificate* root = rootNode->cert;
   if (!root) {
     return Result::FATAL_ERROR_LIBRARY_FAILURE;
   }
   return IsCertBuiltInRoot(root, result);
 }
+// The term "builtin root" traditionally refers to a root CA certificate that
+// has been added to the NSS trust store, because it has been approved
+// for inclusion according to the Mozilla CA policy, and might be accepted
+// by Mozilla applications as an issuer for certificates seen on the public web.
 Result
 IsCertBuiltInRoot(CERTCertificate* cert, bool& result)
 {
   result = false;
 #ifdef DEBUG
   nsCOMPtr<nsINSSComponent> component(do_GetService(PSM_COMPONENT_CONTRACTID));
   if (!component) {
     return Result::FATAL_ERROR_LIBRARY_FAILURE;
@@ -142,25 +146,38 @@ IsCertBuiltInRoot(CERTCertificate* cert,
     return Success;
   }
 #endif // DEBUG
   AutoSECMODListReadLock lock;
   for (SECMODModuleList* list = SECMOD_GetDefaultModuleList(); list;
        list = list->next) {
     for (int i = 0; i < list->module->slotCount; i++) {
       PK11SlotInfo* slot = list->module->slots[i];
-      // PK11_HasRootCerts should return true if and only if the given slot has
-      // an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST, which
-      // should be true only of the builtin root list.
-      // If we can find a copy of the given certificate on the slot with the
-      // builtin root list, that certificate must be a builtin.
-      if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot) &&
-          PK11_FindCertInSlot(slot, cert, nullptr) != CK_INVALID_HANDLE) {
-        result = true;
-        return Success;
+      // We're searching for the "builtin root module", which is a module that
+      // contains an object with a CKA_CLASS of CKO_NETSCAPE_BUILTIN_ROOT_LIST.
+      // We use PK11_HasRootCerts() to identify a module with that property.
+      // In the past, we exclusively used the PKCS#11 module named nssckbi,
+      // which is provided by the NSS library.
+      // Nowadays, some distributions use a replacement module, which contains
+      // the builtin roots, but which also contains additional CA certificates,
+      // such as CAs trusted in a local deployment.
+      // We want to be able to distinguish between these two categories,
+      // because a CA, which may issue certificates for the public web,
+      // is expected to comply with additional requirements.
+      // If the certificate has attribute CKA_NSS_MOZILLA_CA_POLICY set to true,
+      // then we treat it as a "builtin root".
+      if (PK11_IsPresent(slot) && PK11_HasRootCerts(slot)) {
+        CK_OBJECT_HANDLE handle = PK11_FindCertInSlot(slot, cert, nullptr);
+        if (handle != CK_INVALID_HANDLE &&
+            PK11_HasAttributeSet(slot, handle, CKA_NSS_MOZILLA_CA_POLICY,
+                                 false)) {
+          // Attribute was found, and is set to true
+          result = true;
+          break;
+        }
       }
     }
   }
   return Success;
 }
 static Result
 BuildCertChainForOneKeyUsage(NSSCertDBTrustDomain& trustDomain, Input certDER,
SOURCES/mozilla-256180.patch
New file
@@ -0,0 +1,11 @@
--- a/layout/generic/nsIFrame.h.old    2016-07-11 13:41:39.688276559 +0200
+++ b/layout/generic/nsIFrame.h    2016-07-11 13:42:12.791406976 +0200
@@ -13,7 +13,7 @@
 #error This header/class should only be used within Mozilla code. It should not be used by extensions.
 #endif
-#define MAX_REFLOW_DEPTH 200
+#define MAX_REFLOW_DEPTH 1000
 /* nsIFrame is in the process of being deCOMtaminated, i.e., this file is eventually
    going to be eliminated, and all callers will use nsFrame instead.  At the moment
SOURCES/mozilla-api-key
New file
@@ -0,0 +1 @@
9008bb7e-1e22-4038-94fe-047dd48ccc0b
SOURCES/rhbz-1173156.patch
New file
@@ -0,0 +1,12 @@
diff -up firefox-31.3.0/mozilla-esr31/extensions/auth/nsAuthSambaNTLM.cpp.old firefox-31.3.0/mozilla-esr31/extensions/auth/nsAuthSambaNTLM.cpp
--- firefox-31.3.0/mozilla-esr31/extensions/auth/nsAuthSambaNTLM.cpp.old    2014-11-25 12:23:22.000000000 +0100
+++ firefox-31.3.0/mozilla-esr31/extensions/auth/nsAuthSambaNTLM.cpp    2014-12-23 15:26:36.606674625 +0100
@@ -174,7 +174,7 @@ nsAuthSambaNTLM::SpawnNTLMAuthHelper()
         return NS_ERROR_FAILURE;
     const char* const args[] = {
-        "ntlm_auth",
+        "/usr/bin/ntlm_auth",
         "--helper-protocol", "ntlmssp-client-1",
         "--use-cached-creds",
         "--username", username,
SOURCES/rhbz-1423012.patch
New file
@@ -0,0 +1,15 @@
diff -up firefox-52.0b8/gfx/2d/HelpersCairo.h.old firefox-52.0b8/gfx/2d/HelpersCairo.h
--- firefox-52.0b8/gfx/2d/HelpersCairo.h.old    2017-03-02 09:23:01.230766731 -0500
+++ firefox-52.0b8/gfx/2d/HelpersCairo.h    2017-03-02 09:23:49.711930251 -0500
@@ -239,9 +239,9 @@ CairoFormatToGfxFormat(cairo_format_t fo
 {
   switch (format) {
     case CAIRO_FORMAT_ARGB32:
-      return SurfaceFormat::A8R8G8B8_UINT32;
+      return SurfaceFormat::B8G8R8A8;
     case CAIRO_FORMAT_RGB24:
-      return SurfaceFormat::X8R8G8B8_UINT32;
+      return SurfaceFormat::B8G8R8X8;
     case CAIRO_FORMAT_A8:
       return SurfaceFormat::A8;
     case CAIRO_FORMAT_RGB16_565:
SOURCES/rhbz-966424.patch
New file
@@ -0,0 +1,23 @@
--- a/toolkit/modules/CertUtils.jsm
+++ b/toolkit/modules/CertUtils.jsm
@@ -170,17 +170,19 @@ this.checkCert =
   issuerCert = issuerCert.QueryInterface(Ci.nsIX509Cert3);
   var tokenNames = issuerCert.getAllTokenNames({});
   if (!tokenNames || !tokenNames.some(isBuiltinToken))
     throw new Ce(certNotBuiltInErr, Cr.NS_ERROR_ABORT);
 }
 function isBuiltinToken(tokenName) {
-  return tokenName == "Builtin Object Token";
+  return tokenName == "Builtin Object Token" ||
+         tokenName == "Default Trust" ||
+         tokenName == "System Trust";
 }
 /**
  * This class implements nsIBadCertListener.  Its job is to prevent "bad cert"
  * security dialogs from being shown to the user.  It is better to simply fail
  * if the certificate is bad. See bug 304286.
  *
  * @param  aAllowNonBuiltInCerts (optional)
SOURCES/webrtc-arch-cpu.patch
New file
@@ -0,0 +1,22 @@
--- a/media/webrtc/trunk/build/build_config.h
+++ b/media/webrtc/trunk/build/build_config.h
@@ -123,7 +123,9 @@
 #define ARCH_CPU_PPC_FAMILY 1
 #define ARCH_CPU_PPC64 1
 #define ARCH_CPU_64_BITS 1
+#ifndef _LITTLE_ENDIAN
 #define ARCH_CPU_BIG_ENDIAN 1
+#endif
 #elif defined(__ppc__) || defined(__powerpc__)
 #define ARCH_CPU_PPC_FAMILY 1
 #define ARCH_CPU_PPC 1
@@ -156,6 +158,9 @@
 #elif defined(__alpha__)
 #define ARCH_CPU_ALPHA 1
 #define ARCH_CPU_64_BITS 1
+#elif defined(__aarch64__)
+#define ARCH_CPU_AARCH64 1
+#define ARCH_CPU_64_BITS 1
 #else
 #error Please add support for your architecture in build/build_config.h
 #endif
SOURCES/xulrunner-24.0-jemalloc-ppc.patch
New file
@@ -0,0 +1,12 @@
diff -up mozilla-aurora/memory/mozjemalloc/jemalloc.c.jemalloc-ppc.patch mozilla-aurora/memory/mozjemalloc/jemalloc.c
--- mozilla-aurora/memory/mozjemalloc/jemalloc.c.jemalloc-ppc.patch    2016-11-18 08:56:32.242742746 +0100
+++ mozilla-aurora/memory/mozjemalloc/jemalloc.c    2016-11-18 08:59:51.809071876 +0100
@@ -1096,7 +1096,7 @@ static const bool config_recycle = false
  * controlling the malloc behavior are defined as compile-time constants
  * for best performance and cannot be altered at runtime.
  */
-#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__)
+#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__aarch64__) && !defined(__powerpc__)
 #define MALLOC_STATIC_SIZES 1
 #endif
SPECS/firefox.spec
New file
@@ -0,0 +1,1301 @@
%define system_nss              1
%global nspr_version            4.13.1
%global nss_version             3.28.4-11
%define system_sqlite           0
%define sqlite_version          3.8.4.2
%define system_ffi              1
%define ffi_version             3.0.9
%define use_bundled_yasm        1
%define use_bundled_python      0
%define python_version          2.7.8
%define use_bundled_gcc         0
%define gcc_version             4.8.2-16
%define cairo_version           1.10.2
%define freetype_version        2.1.9
%define system_jpeg             1
%define system_libatomic        0
%define with_intl_api           1
%define use_baselinejit         1
%define official_branding       1
%define use_gtk3                0
%define debug_build             0
# This is for local builds or builds in mock with --no-clean
# It skips building of gcc, binutils and yasm rpms when they exists, it just installs
# them and doesn't delete them to allow recycling them in next build.
# SHOULD ALWAYS BE 0 WHEN BUILDING IN BREW
%define do_not_clean_rpms       0
# Configure and override build options for various platforms and RHEL versions
# ============================================================================
# RHEL7
%if 0%{?rhel} == 7
%ifarch s390x
%define use_bundled_gcc         1
%endif
%endif
# RHEL6
%if 0%{?rhel} == 6
%define use_bundled_python      1
%define use_bundled_gcc         1
%define use_bundled_yasm        1
%define system_ffi              0
%define use_bundled_binutils    1
%endif
# Require libatomic for ppc
%ifarch ppc
%define system_libatomic        1
%endif
# Big endian platforms
%ifarch ppc ppc64 s390 s390x
# Javascript Intl API is not supported on big endian platforms right now:
# https://bugzilla.mozilla.org/show_bug.cgi?id=1322212
%define with_intl_api           1
%define big_endian              1
%endif
# ============================================================================
# Avoid patch failures
%define _default_patch_fuzz 2
%define default_bookmarks_file  %{_datadir}/bookmarks/default-bookmarks.html
%define firefox_app_id          \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
%define mozappdir               %{_libdir}/%{name}
%define build_langpacks         1
%define langpackdir             %{mozappdir}/langpacks
%if %{?system_sqlite}
# The actual sqlite version (see #480989):
%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536)
%endif
Summary:        Mozilla Firefox Web browser
Name:           firefox
Version:        52.5.0
Release:        1%{?dist}
URL:            http://www.mozilla.org/projects/firefox/
License:        MPLv1.1 or GPLv2+ or LGPLv2+
Group:          Applications/Internet
%define         ext_version             esr
%define         tarballdir              firefox-%{version}%{?ext_version}
# From ftp://archive.mozilla.org/pub/firefox/releases/%{version}%{?ext_version}/source
Source0:        firefox-%{version}%{?ext_version}.source.tar.xz
%if %{build_langpacks}
Source1:        firefox-langpacks-%{version}%{?ext_version}-20171109.tar.xz
%endif
Source10:       firefox-mozconfig
Source12:       firefox-redhat-default-prefs.js
Source20:       firefox.desktop
Source600:      firefox.sh.in.rhel6
Source700:      firefox.sh.in.rhel7
Source23:       firefox.1
Source24:       mozilla-api-key
Source100:      find-external-requires
Source200:      https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
Source300:      gcc48-%{gcc_version}.el5.src.rpm
Source301:      yasm-1.2.0-3.el5.src.rpm
Source302:      devtoolset-2-binutils-2.23.52.0.1-10.el5.src.rpm
# Build patches
Patch0:         firefox-install-dir.patch
Patch5:         xulrunner-24.0-jemalloc-ppc.patch
Patch6:         webrtc-arch-cpu.patch
Patch8:         firefox-ppc64le.patch
#ALREADY Patch19:        mozilla-1319374-skia-endian.patch
Patch20:        build-s390-atomic.patch
Patch21:        build-icu-big-endian.patch
Patch22:        build-missing-getrandom.patch
Patch23:        build-nss-version.patch
Patch24:        build-nss-prbool.patch
Patch25:        build-s390-missing-include.patch
# RHEL patches
Patch101:       firefox-default.patch
# TODO code changed a lot, need to test it
Patch102:       firefox-enable-addons.patch
Patch103:       rhbz-966424.patch
Patch106:       firefox-enable-plugins.patch
Patch110:       mozilla-1170092-etc-conf.patch
Patch111:       rhbz-1173156.patch
Patch112:       mozilla-256180.patch
Patch114:       rhbz-1423012.patch
Patch116:       mozilla-1005640-accept-lang.patch
# Upstream patches
# Skia support for big endian platforms, since patch got review- I think we can delete that:
#Patch201:       mozilla-1005535.patch
# Kaie's patch, we'll most likely need this one
Patch202:       mozilla-1152515.patch
Patch203:       mozilla-1324096.patch
# RHEL7 patches
# RHEL6 patches
# HOPEFULY fixed Patch401:       build-el6-harfbuzz-old-glib.patch
# ---------------------------------------------------
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires:  desktop-file-utils
BuildRequires:  mesa-libGL-devel
BuildRequires:  zip
BuildRequires:  bzip2-devel
BuildRequires:  zlib-devel
BuildRequires:  libIDL-devel
%if %{?use_gtk3}
BuildRequires:  gtk3-devel
%else
BuildRequires:  gtk2-devel
%endif
BuildRequires:  gnome-vfs2-devel
BuildRequires:  libgnome-devel
BuildRequires:  libgnomeui-devel
BuildRequires:  krb5-devel
BuildRequires:  pango-devel
BuildRequires:  freetype-devel >= %{freetype_version}
BuildRequires:  libXt-devel
BuildRequires:  libXrender-devel
BuildRequires:  startup-notification-devel
BuildRequires:  alsa-lib-devel
BuildRequires:  libnotify-devel
BuildRequires:  autoconf213
BuildRequires:  mesa-libGL-devel
BuildRequires:  autoconf213
BuildRequires:  xz
%if ! %{use_bundled_yasm}0
BuildRequires:  yasm
%endif
%if %{?system_sqlite}
BuildRequires:  sqlite-devel >= %{sqlite_version}
Requires:       sqlite >= %{sqlite_build_version}
%endif
%if %{?system_nss}
BuildRequires:  nspr-devel >= %{nspr_version}
BuildRequires:  nss-devel >= %{nss_version}
Requires:       nspr >= %{nspr_version}
Requires:       nss >= %{nss_version}
%endif
%if %{?system_sqlite}
BuildRequires:  sqlite-devel >= %{sqlite_version}
Requires:       sqlite >= %{sqlite_build_version}
%endif
%if %{?system_ffi}
BuildRequires:  libffi-devel >= %{ffi_version}
Requires:       libffi >= %{ffi_version}
%endif
BuildRequires:  libpng-devel
BuildRequires:  libjpeg-devel
BuildRequires:  hunspell-devel
%if %{system_libatomic}
BuildRequires:  libatomic
Requires:       libatomic
%endif
# RHEL7 requires
%if 0%{?rhel} == 7
Requires:       redhat-indexhtml
BuildRequires:  pulseaudio-libs-devel
BuildRequires:  system-bookmarks
Requires:       mozilla-filesystem
Requires:       liberation-fonts-common
Requires:       liberation-sans-fonts
BuildRequires:  dbus-glib-devel >= 0.60
%endif
# RHEL6 requires
%if 0%{?rhel} == 6
BuildRequires:  desktop-file-utils
BuildRequires:  system-bookmarks
Requires:       system-bookmarks
Requires:       redhat-indexhtml
Requires:       mozilla-filesystem
Requires:       gtk2 >= 2.24
BuildRequires:  pulseaudio-libs-devel
BuildRequires:  system-bookmarks
Requires:       mozilla-filesystem
Requires:       liberation-fonts-common
Requires:       liberation-sans-fonts
%endif
Obsoletes:      mozilla <= 37:1.7.13
Obsoletes:      firefox < 38.0
Conflicts:      firefox < 38.0
Provides:       webclient
%if %{use_bundled_python}
BuildRequires:  openssl-devel
%endif
# GCC 4.8 BuildRequires
# ==================================================================================
%if %{use_bundled_gcc}
%ifarch s390x
%global multilib_32_arch s390
%endif
%ifarch sparc64
%global multilib_32_arch sparcv9
%endif
%ifarch ppc64
%global multilib_32_arch ppc
%endif
%ifarch x86_64
%if 0%{?rhel} >= 6
%global multilib_32_arch i686
%else
%global multilib_32_arch i386
%endif
%endif
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%if 0%{?rhel} >= 6
# Need binutils which support --build-id >= 2.17.50.0.17-3
# Need binutils which support %gnu_unique_object >= 2.19.51.0.14
# Need binutils which support .cfi_sections >= 2.19.51.0.14-33
BuildRequires: binutils >= 2.19.51.0.14-33
# While gcc doesn't include statically linked binaries, during testing
# -static is used several times.
BuildRequires: glibc-static
%else
# Don't have binutils which support --build-id >= 2.17.50.0.17-3
# Don't have binutils which support %gnu_unique_object >= 2.19.51.0.14
# Don't have binutils which  support .cfi_sections >= 2.19.51.0.14-33
BuildRequires: binutils >= 2.17.50.0.2-8
%endif
BuildRequires: zlib-devel, gettext, dejagnu, bison, flex, texinfo, sharutils
BuildRequires: /usr/bin/pod2man
%if 0%{?rhel} >= 7
BuildRequires: texinfo-tex
%endif
#BuildRequires: systemtap-sdt-devel >= 1.3
# For VTA guality testing
BuildRequires: gdb
# Make sure pthread.h doesn't contain __thread tokens
# Make sure glibc supports stack protector
# Make sure glibc supports DT_GNU_HASH
BuildRequires: glibc-devel >= 2.4.90-13
%if 0%{?rhel} >= 6
BuildRequires: elfutils-devel >= 0.147
BuildRequires: elfutils-libelf-devel >= 0.147
%else
BuildRequires: elfutils-devel >= 0.72
%endif
%ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
# Make sure glibc supports TFmode long double
BuildRequires: glibc >= 2.3.90-35
%endif
%ifarch %{multilib_64_archs} sparcv9 ppc
# Ensure glibc{,-devel} is installed for both multilib arches
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
%endif
%ifarch ia64
BuildRequires: libunwind >= 0.98
%endif
# Need .eh_frame ld optimizations
# Need proper visibility support
# Need -pie support
# Need --as-needed/--no-as-needed support
# On ppc64, need omit dot symbols support and --non-overlapping-opd
# Need binutils that owns /usr/bin/c++filt
# Need binutils that support .weakref
# Need binutils that supports --hash-style=gnu
# Need binutils that support mffgpr/mftgpr
#%if 0%{?rhel} >= 6
## Need binutils which support --build-id >= 2.17.50.0.17-3
## Need binutils which support %gnu_unique_object >= 2.19.51.0.14
## Need binutils which support .cfi_sections >= 2.19.51.0.14-33
#Requires: binutils >= 2.19.51.0.14-33
#%else
## Don't have binutils which support --build-id >= 2.17.50.0.17-3
## Don't have binutils which support %gnu_unique_object >= 2.19.51.0.14
## Don't have binutils which  support .cfi_sections >= 2.19.51.0.14-33
#Requires: binutils >= 2.17.50.0.2-8
#%endif
## Make sure gdb will understand DW_FORM_strp
#Conflicts: gdb < 5.1-2
#Requires: glibc-devel >= 2.2.90-12
#%ifarch ppc ppc64 s390 s390x sparc sparcv9 alpha
## Make sure glibc supports TFmode long double
#Requires: glibc >= 2.3.90-35
#%endif
#Requires: libgcc >= 4.1.2-43
#Requires: libgomp >= 4.4.4-13
#%if 0%{?rhel} == 6
#Requires: libstdc++ >= 4.4.4-13
#%else
#Requires: libstdc++ = 4.1.2
#%endif
##FIXME gcc version
#Requires: libstdc++-devel = %{version}-%{release}
BuildRequires: gmp-devel >= 4.1.2-8
%if 0%{?rhel} >= 6
BuildRequires: mpfr-devel >= 2.2.1
%endif
%if 0%{?rhel} >= 7
BuildRequires: libmpc-devel >= 0.8.1
%endif
%endif # bundled gcc BuildRequires
# ==================================================================================
# Override internal dependency generator to avoid showing libraries provided by this package
# in dependencies:
AutoProv: 0
%define _use_internal_dependency_generator 0
%define __find_requires %{SOURCE100}
%description
Mozilla Firefox is an open-source web browser, designed for standards
compliance, performance and portability.
#---------------------------------------------------------------------
%prep
%setup -q -c
cd %{tarballdir}
# Build patches
# We have to keep original patch backup extension to go thru configure without problems with tests
%patch0 -p1 -b .orig
%patch5 -p1 -b .jemalloc-ppc.patch
%patch6 -p1 -b .webrtc-arch-cpu
%patch8 -p2 -b .ppc64le
#ALREADY %patch19 -p1 -b .skia-endian
%patch20 -p1 -b .s390-atomic
%patch22 -p1 -b .missing-getrandom
%patch23 -p1 -b .nss-version
%patch24 -p1 -b .nss-prbool
%patch25 -p1 -b .s390-missing-include
# RPM specific patches
%patch101 -p1 -b .default
%patch102 -p1 -b .addons
%patch103 -p1 -b .rhbz-966424
%patch106 -p2 -b .plugins
%patch110 -p1 -b .moz-1170092-etc-conf
%patch111 -p2 -b .rhbz-1173156
%patch112 -p1 -b .mozbz-256180
%patch114 -p1 -b .rhbz-1423012
%patch116 -p1 -b .mozbz-1005640-accept-lang
# Upstream patches
#%patch201 -p1 -b .mozbz-1005535 see Patch201 comment
%patch202 -p1 -b .mozbz-1152515
%patch203 -p1 -b .mozbz-1324096
# RHEL7 only patches
%if %{?rhel} == 7
%endif
#%if %{?rhel} == 6
#HOPEFULY FIXED %patch401 -p1 -b .harfbuzz-old-glib
#%endif
# Patch for big endian platforms only
%if 0%{?big_endian}
%patch21 -p1 -b .s390-atomic
%endif
%{__rm} -f .mozconfig
%{__cp} %{SOURCE10} .mozconfig
%{__cp} %{SOURCE24} mozilla-api-key
function add_to_mozconfig() {
  mozconfig_entry=$1
  echo "ac_add_options --$1" >> .mozconfig
}
# Modify mozconfig file
%if %{official_branding}
 add_to_mozconfig "enable-official-branding"
%endif
%if %{?use_gtk3}
 add_to_mozconfig "enable-default-toolkit=cairo-gtk3"
%else
 add_to_mozconfig "enable-default-toolkit=cairo-gtk2"
%endif
%if %{?system_sqlite}
 add_to_mozconfig "enable-system-sqlite"
%else
 add_to_mozconfig "disable-system-sqlite"
%endif
%if %{?system_nss}
 add_to_mozconfig "with-system-nspr"
 add_to_mozconfig "with-system-nss"
%else
 add_to_mozconfig "without-system-nspr"
 add_to_mozconfig "without-system-nss"
%endif
# RHEL 7 mozconfig changes:
%if 0%{rhel} >= 6
 add_to_mozconfig "enable-startup-notification"
 add_to_mozconfig "enable-jemalloc"
%endif
# RHEL 6
%if 0%{rhel} == 6
 # Disable dbus, because we're unable to build with its support in brew
 add_to_mozconfig "disable-dbus"
 # ctypes require system libffi for these platforms and RHEL6 does not have libffi >= 3.0.9 available
 %ifarch ppc64 ppc64le ppc s390 s390x
  add_to_mozconfig "disable-ctypes"
 %endif
%endif
%ifarch aarch64 ppc64 ppc64le ppc s390 s390x
 add_to_mozconfig "disable-ion"
%endif
%ifarch aarch64 ppc ppc64 s390 s390x
 add_to_mozconfig "disable-skia"
%endif
# Debug build flags
%if %{?debug_build}
 add_to_mozconfig "enable-debug"
 add_to_mozconfig "disable-optimize"
%else
 add_to_mozconfig "disable-debug"
 add_to_mozconfig "enable-optimize"
%endif
%if %{?with_intl_api}
 add_to_mozconfig "with-intl-api"
%else
 add_to_mozconfig "without-intl-api"
%endif
#TODO reconsider this, really needed for RHEL7 or even RHEL6? Disabling this
#also require to disable-fmp4 and most likely disable-eme
#Disabled due to rhbz#1330898
#add_to_mozconfig "disable-ffmpeg"
#TODO what's this?
#FIXME RTTI?? RHEL5/6
# ac_add_options --enable-cpp-rtti
# RHEL7: ac_add_options --with-system-bz2
# RHEL5: never been there, but is it usable --enable-gnomeui ????
%if %{use_bundled_python}
 # Prepare Python 2.7 sources
 tar xf %{SOURCE200}
%endif
#---------------------------------------------------------------------
%build
function build_bundled_package() {
  PACKAGE_RPM=$1
  PACKAGE_FILES=$2
  PACKAGE_SOURCE=$3
  PACKAGE_DIR="%{_topdir}/RPMS"
  PACKAGE_ALREADY_BUILD=0
  %if %{do_not_clean_rpms}
    if ls $PACKAGE_DIR/$PACKAGE_RPM; then
      PACKAGE_ALREADY_BUILD=1
    fi
    if ls $PACKAGE_DIR/%{_arch}/$PACKAGE_RPM; then
      PACKAGE_ALREADY_BUILD=1
    fi
  %endif
  if [ $PACKAGE_ALREADY_BUILD == 0 ]; then
    echo "Rebuilding $PACKAGE_RPM from $PACKAGE_SOURCE"; echo "==============================="
    rpmbuild --nodeps --rebuild $PACKAGE_SOURCE
  fi
  if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
    # Hack for tps tests
    ARCH_STR=%{_arch}
    %ifarch i386 i686
    ARCH_STR="i?86"
    %endif
    PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
  fi
  pushd $PACKAGE_DIR
  echo "Installing $PACKAGE_DIR/$PACKAGE_RPM"; echo "==============================="
  rpm2cpio $PACKAGE_DIR/$PACKAGE_RPM | cpio -iduv
  # Clean rpms to avoid including them to package
  %if ! %{do_not_clean_rpms}0
    rm -f $PACKAGE_FILES
  %endif
  PATH=$PACKAGE_DIR/usr/bin:$PATH
  export PATH
  LD_LIBRARY_PATH=$PACKAGE_DIR/usr/%{_lib}
  export LD_LIBRARY_PATH
  popd
}
# Build and install local yasm if needed
# ======================================
%if %{use_bundled_yasm}
  build_bundled_package 'yasm-1*.rpm' 'yasm-*.rpm' '%{SOURCE301}'
%endif
# Install local binutils if needed
# ======================================
%if 0%{?use_bundled_binutils}
  build_bundled_package 'binutils-2*.rpm' 'binutils*.rpm' '%{SOURCE302}'
%endif
# Install local GCC if needed
# ======================================
%if %{use_bundled_gcc}
  build_bundled_package 'gcc48-%{gcc_version}*.rpm' 'gcc48-*.rpm' '%{SOURCE300}'
  export CXX=g++
%endif
# Install local Python if needed
# ======================================
%if %{use_bundled_python}
    echo "Rebuilding Python"; echo "==============================="
  pushd %{tarballdir}
  # Build Python 2.7 and set environment
  BUILD_DIR=`pwd`/python_build
  cd Python-%{python_version}
  ./configure --prefix=$BUILD_DIR --exec-prefix=$BUILD_DIR
  make
  make install
  cd -
  PATH=$BUILD_DIR/bin:$PATH
  export PATH
  popd
%endif # bundled Python
%if %{?system_sqlite}
  # Do not proceed with build if the sqlite require would be broken:
  # make sure the minimum requirement is non-empty, ...
  sqlite_version=$(expr "%{sqlite_version}" : '\([0-9]*\.\)[0-9]*\.') || exit 1
  # ... and that major number of the computed build-time version matches:
  case "%{sqlite_build_version}" in
    "$sqlite_version"*) ;;
    *) exit 1 ;;
  esac
%endif
echo "Building Firefox"; echo "==============================="
cd %{tarballdir}
# Hack for missing shell when building in brew on RHEL6 and RHEL5
%if 0%{?rhel} <= 6
export SHELL=/bin/sh
%endif
echo "Generate big endian version of config/external/icu/data/icud58l.dat"
%if 0%{?big_endian}
  ./mach python intl/icu_sources_data.py .
  ls -l config/external/icu/data
  rm -f config/external/icu/data/icudt*l.dat
%endif
# 1. Mozilla builds with -Wall with exception of a few warnings which show up
#    everywhere in the code; so, don't override that.
# 2. -Werror=format-security causes build failures when -Wno-format is explicitly given
#    for some sources
MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive -Wformat-security -Wformat -Werror=format-security" | %{__sed} -e 's/-Wall//')
# TODO check if necessery
%ifarch s390
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/')
%endif
# Avoid failing builds because OOM killer on some arches
%ifarch s390 %{arm} ppc
MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif
%if %{rhel} == 6
  %if %{system_libatomic}
    MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -l:libatomic.so.1"
  %endif
%endif
%if %{?debug_build}
  MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
%endif
export CFLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-fpermissive//')
export CXXFLAGS=$MOZ_OPT_FLAGS
export LDFLAGS="-Wl,--verbose $MOZ_LINK_FLAGS"
export PREFIX='%{_prefix}'
export LIBDIR='%{_libdir}'
MOZ_SMP_FLAGS=-j1
[ -z "$RPM_BUILD_NCPUS" ] && \
     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8
MOZ_APP_DIR=%{_libdir}/%{name}
make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
#---------------------------------------------------------------------
%install
# Hack for missing shell when building in brew on RHEL6 and RHEL5
%if 0%{?rhel} <= 6
export SHELL=/bin/sh
%endif
cd %{tarballdir}
%{__rm} -rf $RPM_BUILD_ROOT
# set up our default bookmarks
%{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/defaults/profile/bookmarks.html
# Make sure locale works for langpacks
%{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
EOF
DESTDIR=$RPM_BUILD_ROOT make -C objdir install
%{__mkdir_p} $RPM_BUILD_ROOT{%{_libdir},%{_bindir},%{_datadir}/applications}
desktop-file-install \
  --dir $RPM_BUILD_ROOT%{_datadir}/applications \
  --add-category WebBrowser \
  --add-category Network \
  %{SOURCE20}
# Set up the firefox start script, unfortunatelly it is different for each RHEL
rm -rf $RPM_BUILD_ROOT%{_bindir}/firefox
FIREFOX_SH_SOURCE=%{SOURCE700}
%if %{rhel} == 6
  FIREFOX_SH_SOURCE=%{SOURCE600}
%endif
cp $FIREFOX_SH_SOURCE $RPM_BUILD_ROOT%{_bindir}/firefox
%{__chmod} 755 $RPM_BUILD_ROOT%{_bindir}/firefox
# Installing man page
%{__install} -p -D -m 644 %{SOURCE23} $RPM_BUILD_ROOT%{_mandir}/man1/firefox.1
%{__rm} -f $RPM_BUILD_ROOT/%{mozappdir}/firefox-config
for s in 16 22 24 32 48 256; do
    %{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps
    %{__cp} -p browser/branding/official/default${s}.png \
               $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png
done
echo > ../%{name}.lang
%if %{build_langpacks}
# Extract langpacks, make any mods needed, repack the langpack, and install it.
%{__mkdir_p} $RPM_BUILD_ROOT%{langpackdir}
%{__xz} -dc %{SOURCE1} | %{__tar} xf -
for langpack in `ls firefox-langpacks/*.xpi`; do
  language=`basename $langpack .xpi`
  extensionID=langpack-$language@firefox.mozilla.org
  %{__mkdir_p} $extensionID
  unzip $langpack -d $extensionID
  find $extensionID -type f | xargs chmod 644
  cd $extensionID
  zip -r9mX ../${extensionID}.xpi *
  cd -
  %{__install} -m 644 ${extensionID}.xpi $RPM_BUILD_ROOT%{langpackdir}
  language=`echo $language | sed -e 's/-/_/g'`
  echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> ../%{name}.lang
done
%{__rm} -rf firefox-langpacks
# Install langpack workaround (see #707100, #821169)
function create_default_langpack() {
  language_long=$1
  language_short=$2
  cd $RPM_BUILD_ROOT%{langpackdir}
  ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi
  cd -
  echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> ../%{name}.lang
}
# Table of fallbacks for each language
# please file a bug at bugzilla.redhat.com if the assignment is incorrect
create_default_langpack "bn-IN" "bn"
create_default_langpack "es-AR" "es"
create_default_langpack "fy-NL" "fy"
create_default_langpack "ga-IE" "ga"
create_default_langpack "gu-IN" "gu"
create_default_langpack "hi-IN" "hi"
create_default_langpack "hy-AM" "hy"
create_default_langpack "nb-NO" "nb"
create_default_langpack "nn-NO" "nn"
create_default_langpack "pa-IN" "pa"
create_default_langpack "pt-PT" "pt"
create_default_langpack "sv-SE" "sv"
create_default_langpack "zh-TW" "zh"
%endif # build_langpacks
# Keep compatibility with the old preference location.
%{__mkdir_p} $RPM_BUILD_ROOT/%{mozappdir}/defaults/preferences
%{__mkdir_p} $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults
ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults/preferences
# Install default ones
%{__cp} %{SOURCE12} ${RPM_BUILD_ROOT}%{mozappdir}/defaults/preferences/all-redhat.js
# Modify preset preferences
%if %{use_baselinejit}
  echo 'pref("javascript.options.baselinejit",      true);'  >> ${RPM_BUILD_ROOT}%{mozappdir}/defaults/preferences/all-redhat.js
%else
  echo '/* Workaround for rhbz#1134876 */'                   >> ${RPM_BUILD_ROOT}%{mozappdir}/defaults/preferences/all-redhat.js
  echo 'pref("javascript.options.baselinejit",      false);' >> ${RPM_BUILD_ROOT}%{mozappdir}/defaults/preferences/all-redhat.js
%endif
# System config dir
%{__mkdir_p} $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/pref
# System extensions
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/mozilla/extensions/%{firefox_app_id}
%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/mozilla/extensions/%{firefox_app_id}
# Copy over the LICENSE
%{__install} -p -c -m 644 LICENSE $RPM_BUILD_ROOT/%{mozappdir}
# Use the system dictionaries for system hunspell
%{__rm} -rf ${RPM_BUILD_ROOT}%{mozappdir}/dictionaries
ln -s %{_datadir}/myspell ${RPM_BUILD_ROOT}%{mozappdir}/dictionaries
# Clean firefox-devel debuginfo
rm -rf %{_prefix}/lib/debug/lib/%{name}-devel-*
rm -rf %{_prefix}/lib/debug/lib64/%{name}-devel-*
#---------------------------------------------------------------------
%clean
%{__rm} -rf $RPM_BUILD_ROOT
#---------------------------------------------------------------------
%post
update-desktop-database &> /dev/null || :
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%postun
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
update-desktop-database &> /dev/null || :
%preun
# is it a final removal?
if [ $1 -eq 0 ]; then
  %{__rm} -rf %{mozappdir}/components
  %{__rm} -rf %{mozappdir}/extensions
  %{__rm} -rf %{mozappdir}/plugins
fi
%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files -f %{name}.lang
%defattr(-,root,root,-)
%{_bindir}/firefox
%doc %{_mandir}/man1/*
%dir %{_sysconfdir}/%{name}/*
%dir %{_datadir}/mozilla/extensions/%{firefox_app_id}
%dir %{_libdir}/mozilla/extensions/%{firefox_app_id}
%{_datadir}/icons/hicolor/16x16/apps/firefox.png
%{_datadir}/icons/hicolor/48x48/apps/firefox.png
%{_datadir}/icons/hicolor/22x22/apps/firefox.png
%{_datadir}/icons/hicolor/24x24/apps/firefox.png
%{_datadir}/icons/hicolor/256x256/apps/firefox.png
%{_datadir}/icons/hicolor/32x32/apps/firefox.png
%{_datadir}/applications/%{name}.desktop
%dir %{mozappdir}
%doc %{mozappdir}/LICENSE
%{mozappdir}/browser/chrome
%{mozappdir}/browser/chrome.manifest
%{mozappdir}/browser/features/aushelper@mozilla.org.xpi
%{mozappdir}/browser/features/e10srollout@mozilla.org.xpi
%{mozappdir}/browser/features/firefox@getpocket.com.xpi
%{mozappdir}/browser/features/webcompat@mozilla.org.xpi
#gone %{mozappdir}/browser/features/disableSHA1rollout@mozilla.org.xpi
#gone %dir %{mozappdir}/browser/components
#gone %{mozappdir}/browser/components/*.so
#gone %{mozappdir}/browser/components/*.manifest
%attr(644, root, root) %{mozappdir}/browser/blocklist.xml
%dir %{mozappdir}/browser/extensions
%{mozappdir}/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
# gone %{mozappdir}/browser/features/loop@mozilla.org.xpi
%dir %{mozappdir}/langpacks
%{mozappdir}/browser/icons
%{mozappdir}/browser/omni.ja
%{mozappdir}/firefox
%{mozappdir}/firefox-bin
%{mozappdir}/run-mozilla.sh
%{mozappdir}/application.ini
%{mozappdir}/defaults/preferences/*
%{mozappdir}/browser/defaults/preferences
%exclude %{mozappdir}/removed-files
# gone %{mozappdir}/webapprt-stub
# gone %dir %{mozappdir}/webapprt
# g %{mozappdir}/webapprt/omni.ja
# g %{mozappdir}/webapprt/webapprt.ini
%{mozappdir}/dictionaries
%{mozappdir}/*.so
%{mozappdir}/omni.ja
%{mozappdir}/platform.ini
%{mozappdir}/plugin-container
%{mozappdir}/dependentlibs.list
%{mozappdir}/chrome.manifest
%{mozappdir}/fonts/EmojiOneMozilla.ttf
%{mozappdir}/gmp-clearkey
%if %{?use_gtk3}
%{mozappdir}/gtk2/*.so
%endif
%if %{?with_intl_api}
%if 0%{?big_endian}
%{mozappdir}/icudt58b.dat
%else
%{mozappdir}/icudt58l.dat
%endif
%endif
%exclude %{mozappdir}/defaults/pref/channel-prefs.js
%if !%{?system_nss}
%{mozappdir}/*.chk
%endif
%exclude %{_datadir}/idl/*
%exclude %{_includedir}/*
%exclude %{_libdir}/%{name}-devel-*/*
#---------------------------------------------------------------------
%changelog
* Fri Nov 17 2017 CentOS Sources <bugs@centos.org> - 52.5.0-1.el7.centos
- Apply debranding changes
* Thu Nov  9 2017 Jan Horak <jhorak@redhat.com> - 52.5.0-1
- Update to 52.5.0 ESR
* Mon Sep 25 2017 Jan Horak <jhorak@redhat.com> - 52.4.0-1
- Update to 52.4.0 ESR
* Thu Aug  3 2017 Jan Horak <jhorak@redhat.com> - 52.3.0-3
- Update to 52.3.0 ESR (b2)
- Require correct nss version
* Tue Jun 13 2017 Jan Horak <jhorak@redhat.com> - 52.2.0-1
- Update to 52.2.0 ESR
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.1.2-1
- Update to 52.1.2 ESR
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.0-7
- Added fix for accept language (rhbz#1454322)
* Wed Mar 22 2017 Jan Horak <jhorak@redhat.com> - 52.0-6
- Removing patch required for older NSS from RHEL 7.3
- Added patch for rhbz#1414564
* Fri Mar 17 2017 Martin Stransky <stransky@redhat.com> - 52.0-5
- Added fix for mozbz#1348168/CVE-2017-5428
* Mon Mar  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-4
- Update to 52.0 ESR (b4)
* Thu Mar 2 2017 Martin Stransky <stransky@redhat.com> - 52.0-3
- Added fix for rhbz#1423012 - ppc64 gfx crashes
* Wed Mar  1 2017 Jan Horak <jhorak@redhat.com> - 52.0-2
- Enable system nss
* Tue Feb 28 2017 Martin Stransky <stransky@redhat.com> - 52.0-1
- Update to 52.0ESR (B1)
- Build RHEL7 package for Gtk3
* Mon Feb 27 2017 Martin Stransky <stransky@redhat.com> - 52.0-0.13
- Added fix for rhbz#1414535
* Tue Feb 21 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.12
- Update to 52.0b8
* Tue Feb  7 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.11
- Readded addons patch
* Mon Feb  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.10
- Update to 52.0b3
* Tue Jan 31 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.9
- Update to 52.0b2
* Fri Jan 27 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.8
- Update to 52.0b1
* Thu Dec  8 2016 Jan Horak <jhorak@redhat.com> - 52.0-0.5
- Firefox Aurora 52 testing build
* Tue Nov  8 2016 Jan Horak <jhorak@redhat.com> - 45.5.0-1
- Update to 45.5.0 ESR
* Mon Oct 31 2016 Jan Horak <jhorak@redhat.com> - 45.4.0-3
- Added upcoming upstream patches mozbz#1018486
* Mon Sep 26 2016 Jan Horak <jhorak@redhat.com> - 45.4.0-2
- Added Laszlo Ersek patch for aarch64 crashes
* Wed Sep  7 2016 Jan Horak <jhorak@redhat.com> - 45.4.0-1
- Update to 45.4.0 ESR
* Wed Jul 27 2016 Jan Horak <jhorak@redhat.com> - 45.3.0-1
- Update to 45.3.0 ESR
* Mon Jul 11 2016 Martin Stransky <stransky@redhat.com> - 45.2.0-3
- Added fix for mozbz#256180
* Mon Jun 20 2016 Martin Stransky <stransky@redhat.com> - 45.2.0-2
- Added fix for mozbz#975832, rhbz#1343202
* Fri Jun  3 2016 Jan Horak <jhorak@redhat.com> - 45.2.0-1
- Update to 45.2.0 ESR
* Tue May 10 2016 Martin Stransky <stransky@redhat.com> - 45.1.1-2
- Added fix for mozbz#1270046 - new Samba auth response
* Wed May  4 2016 Jan Horak <jhorak@redhat.com> - 45.1.1-1
- Update to 45.1.1 ESR
* Tue May 3 2016 Martin Stransky <stransky@redhat.com> - 45.1.0-3
- Disabled ffmpeg (rhbz#1330898)
* Fri Apr 29 2016 Jan Horak <jhorak@redhat.com> - 45.1.0-1
- Fixed some regressions introduced by rebase
* Thu Apr 21 2016 Jan Horak <jhorak@redhat.com> - 45.1.0-1
- Update to 45.1.0 ESR
* Tue Apr 12 2016 Jan Horak <jhorak@redhat.com> - 45.0.2-1
- Update to 45.0.2 ESR
* Wed Apr  6 2016 Jan Horak <jhorak@redhat.com> - 45.0.1-1
- Update to 45.0.1 ESR
* Mon Apr  4 2016 Martin Stransky <stransky@redhat.com> - 45.0-5
- Fixed crashed after start (rhbz#1323744, rhbz#1323738)
* Mon Apr  4 2016 Jan Horak <jhorak@redhat.com> - 45.0-4
- Added system-level location for configuring Firefox (rhbz#1206239)
* Mon Mar  7 2016 Jan Horak <jhorak@redhat.com> - 45.0-3
- Update to 45.0 ESR
* Fri Dec 11 2015 Jan Horak <jhorak@redhat.com> - 38.5.0-3
- Update to 38.5.0 ESR
* Thu Oct 29 2015 Jan Horak <jhorak@redhat.com> - 38.4.0-1
- Update to 38.4.0 ESR
* Tue Sep 15 2015 Jan Horak <jhorak@redhat.com> - 38.3.0-2
- Update to 38.3.0 ESR
* Wed Aug 26 2015 Martin Stransky <stransky@redhat.com> - 38.2.1-1
- Update to 38.2.1 ESR
* Fri Aug  7 2015 Jan Horak <jhorak@redhat.com> - 38.2.0-4
- Update to 38.2.0 ESR
* Thu Aug  6 2015 Jan Horak <jhorak@redhat.com> - 38.1.1-1
- Update to 38.1.1 ESR
* Thu Jun 25 2015 Jan Horak <jhorak@redhat.com> - 38.1.0-1
- Update to 38.1.0 ESR
* Thu May 21 2015 Jan Horak <jhorak@redhat.com> - 38.0.1-2
- Fixed rhbz#1222807 by removing preun section
* Fri May 15 2015 Martin Stransky <stransky@redhat.com> - 38.0.1-1
- Update to 38.0.1 ESR
* Thu May 14 2015 Martin Stransky <stransky@redhat.com> - 38.0-4
- Fixed rhbz#1221286 - After update to Firefox 38 ESR
  all RH preferences are gone
* Thu May  7 2015 Martin Stransky <stransky@redhat.com> - 38.0-3
- Enabled system nss
- Removed unused patches
* Mon May  4 2015 Jan Horak - 38.0-2
- Update to 38.0 ESR
* Mon Apr 27 2015 Martin Stransky <stransky@redhat.com> - 38.0b8-0.11
- Update to 38.0 Beta 8
* Wed Apr 22 2015 Martin Stransky <stransky@redhat.com> - 38.0b6-0.10
- Added patch for mozbz#1152515
* Tue Apr 21 2015 Martin Stransky <stransky@redhat.com> - 38.0b6-0.9
- Update to 38.0 Beta 6
* Mon Apr 20 2015 Martin Stransky <stransky@redhat.com> - 38.0b5-0.8
- Update to 38.0 Beta 5
* Fri Apr 10 2015 Martin Stransky <stransky@redhat.com> - 38.0b3-0.7
- Update to 38.0 Beta 3
* Fri Apr 10 2015 Martin Stransky <stransky@redhat.com> - 38.0b1-0.6
- Added patch for mozbz#1152391
* Thu Apr  9 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 38.0b1-0.5
- Fix build on AArch64 (based on upstream skia changes)
* Tue Apr 7 2015 Martin Stransky <stransky@redhat.com> - 38.0b1-0.4
- Enabled debug build
* Wed Apr  1 2015 Jan Horak <jhorak@redhat.com> - 38.0b1-1
- Update to 38.0b1
* Wed Feb 18 2015 Martin Stransky <stransky@redhat.com> - 31.5.0-2
- Update to 31.5.0 ESR Build 2
* Tue Jan  6 2015 Jan Horak <jhorak@redhat.com> - 31.4.0-1
- Update to 31.4.0 ESR
* Mon Jan 5 2015 Martin Stransky <stransky@redhat.com> - 31.3.0-6
- Fixed Bug 1140385 - [HP HPS 7.1 bug] assertion
  "sys_page_size == 0" when starting firefox
* Fri Dec 19 2014 Martin Stransky <stransky@redhat.com> - 31.3.0-5
- Fixed problems with dictionary (mozbz#1097550)
- JS JIT fixes for ppc64le
* Sat Nov 29 2014 Martin Stransky <stransky@redhat.com> - 31.3.0-3
- Fixed geolocation key location
* Fri Nov 28 2014 Martin Stransky <stransky@redhat.com> - 31.3.0-2
- Disable exact rooting for JS
* Wed Nov 26 2014 Martin Stransky <stransky@redhat.com> - 31.3.0-1
- Update to 31.3.0 ESR Build 2
- Fix for geolocation API (rhbz#1063739)
* Thu Nov 6 2014 Martin Stransky <stransky@redhat.com> - 31.2.0-5
- Enabled gstreamer-1 support (rhbz#1161077)
* Mon Oct 27 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 31.2.0-4
- Fix webRTC for aarch64, ppc64le (rhbz#1148622)
* Tue Oct  7 2014 Jan Horak <jhorak@redhat.com> - 31.2.0-3
- Update to 31.2.0 ESR
- Fix for mozbz#1042889
* Wed Oct 1 2014 Martin Stransky <stransky@redhat.com> - 31.1.0-7
- Enable WebM on all arches
* Thu Sep 11 2014 Martin Stransky <stransky@redhat.com> - 31.1.0-6
- Enable all NPAPI plugins by default to keep compatibility
  with the FF24 line
* Wed Sep 10 2014 Martin Stransky <stransky@redhat.com> - 31.1.0-5
- Added workaround for rhbz#1134876
* Mon Sep 8 2014 Martin Stransky <stransky@redhat.com> - 31.1.0-3
- Disable mozilla::pkix (mozbz#1063315)
- Enable image cache
* Mon Sep 8 2014 Martin Stransky <stransky@redhat.com> - 31.1.0-2
- A workaround for rhbz#1110291
* Thu Aug 28 2014 Martin Stransky <stransky@redhat.com> - 31.1.0-1
- Update to 31.1.0 ESR
* Tue Aug 5 2014 Martin Stransky <stransky@redhat.com> - 31.0-3
- Built with system libvpx/WebM
* Mon Aug 4 2014 Martin Stransky <stransky@redhat.com> - 31.0-2
- Built with system nss/nspr
* Mon Jul 28 2014 Martin Stransky <stransky@redhat.com> - 31.0-1
- Update to 31.0 ESR
* Wed Jun  4 2014 Jan Horak <jhorak@redhat.com> - 24.6.0-1
- Update to 24.6.0 ESR
* Wed Apr 23 2014 Martin Stransky <stransky@redhat.com> - 24.5.0-2
- Removed unused patches
* Tue Apr 22 2014 Martin Stransky <stransky@redhat.com> - 24.5.0-1
- Update to 24.5.0 ESR
* Tue Apr 15 2014 Martin Stransky <stransky@redhat.com> - 24.4.0-3
- Added a workaround for Bug 1054242 - RHEVM: Extremely high memory
  usage in Firefox 24 ESR on RHEL 6.5
* Wed Mar 26 2014 Martin Stransky <stransky@redhat.com> - 24.4.0-2
- fixed rhbz#1067343 - Broken languagepack configuration
  after firefox update
* Tue Mar 18 2014 Jan Horak <jhorak@redhat.com> - 24.4.0-1
- Update to 24.4.0 ESR
* Thu Feb 27 2014 Martin Stransky <stransky@redhat.com> - 24.3.0-3
- fixed rhbz#1054832 - Firefox does not support Camellia cipher
* Mon Feb  3 2014 Jan Horak <jhorak@redhat.com> - 24.3.0-1
- Update to 24.3.0 ESR
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 24.2.0-3
- Mass rebuild 2014-01-24
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 24.2.0-2
- Mass rebuild 2013-12-27
* Mon Dec 9 2013 Martin Stransky <stransky@redhat.com> - 24.2.0-1
- Update to 24.2.0 ESR
* Mon Dec 2 2013 Martin Stransky <stransky@redhat.com> - 24.1.0-5
- Fixed mozbz#938730 - avoid mix of memory allocators (crashes)
  when using system sqlite
* Tue Nov 26 2013 Martin Stransky <stransky@redhat.com> - 24.1.0-4
- Fixed rhbz#1034541 - No translation being picked up
  from langpacks for firefox
* Fri Nov 8 2013 Martin Stransky <stransky@redhat.com> - 24.1.0-3
- Conflicts with old, xulrunner based firefox
* Thu Nov 7 2013 Martin Stransky <stransky@redhat.com> - 24.1.0-2
- Ship dependentlibs.list (rhbz#1027782)
- Nss/nspr dependency update
* Wed Nov 6 2013 Martin Stransky <stransky@redhat.com> - 24.1.0-1
- Update to 24.1.0 ESR
* Wed Nov 6 2013 Martin Stransky <stransky@redhat.com> - 24.0-2
- Build as stand alone browser, without xulrunner
* Thu Oct 31 2013 Martin Stransky <stransky@redhat.com> - 24.0-1
- Update to 24.0 ESR
* Thu Sep 12 2013 Jan Horak <jhorak@redhat.com> - 17.0.9-1
- Update to 17.0.9 ESR
* Thu Aug 29 2013 Martin Stransky <stransky@redhat.com> - 17.0.8-2
- Desktop file update
- Spec file tweaks
* Thu Aug 1 2013 Martin Stransky <stransky@redhat.com> - 17.0.8-1
- Update to 17.0.8 ESR
* Wed Jul 31 2013 Jan Horak <jhorak@redhat.com> - 17.0.7-2
- Updated manual page
* Thu Jun 20 2013 Jan Horak <jhorak@redhat.com> - 17.0.7-1
- Update to 17.0.7 ESR
* Fri May 17 2013 Jan Horak <jhorak@redhat.com> - 17.0.6-1
- Update to 17.0.6 ESR
* Fri May 17 2013 Martin Stransky <stransky@redhat.com> - 17.0.5-3
- Removed mozilla prefix from desktop file (rhbz#826960)
* Thu Apr 18 2013 Martin Stransky <stransky@redhat.com> - 17.0.5-2
- Updated XulRunner SDK check
* Fri Mar 29 2013 Jan Horak <jhorak@redhat.com> - 17.0.5-1
- Update to 17.0.5 ESR
* Thu Mar 14 2013 Martin Stransky <stransky@redhat.com> - 17.0.4-2
- Fixed rhbz#837606 - firefox has no x-scheme-handler/http mime
* Wed Mar 13 2013 Martin Stransky <stransky@redhat.com> - 17.0.4-1
- Update to 17.0.4 ESR
- Added fix for mozbz#239254 - [Linux] Support disk cache on a local path
* Tue Jan 15 2013 Martin Stransky <stransky@redhat.com> - 17.0.2-3
- Added NM preferences
* Fri Jan 11 2013 Martin Stransky <stransky@redhat.com> - 17.0.2-2
- Updated preferences (NFS, nspluginwrapper)
* Thu Jan 10 2013 Jan Horak <jhorak@redhat.com> - 17.0.2-1
- Update to 17.0.2 ESR
* Thu Dec 20 2012 Jan Horak <jhorak@redhat.com> - 17.0.1-1
- Update to 17.0.1 ESR
* Mon Oct  8 2012 Jan Horak <jhorak@redhat.com> - 10.0.8-2
- Update to 10.0.8 ESR
* Sat Aug 25 2012 Jan Horak <jhorak@redhat.com> - 10.0.7-1
- Update to 10.0.7 ESR
* Mon Jul 16 2012 Martin Stransky <stransky@redhat.com> - 10.0.6-1
- Update to 10.0.6 ESR
* Mon Jun 25 2012 Martin Stransky <stransky@redhat.com> - 10.0.5-4
- Enabled WebM
* Mon Jun 25 2012 Martin Stransky <stransky@redhat.com> - 10.0.5-2
- Added fix for mozbz#703633, rhbz#818341
* Fri Jun 1 2012 Martin Stransky <stransky@redhat.com> - 10.0.5-1
- Update to 10.0.5 ESR
* Sun Apr 22 2012 Martin Stransky <stransky@redhat.com> - 10.0.4-1
- Update to 10.0.4 ESR
* Tue Mar 6 2012 Martin Stransky <stransky@redhat.com> - 10.0.3-1
- Update to 10.0.3 ESR
* Thu Feb  9 2012 Jan Horak <jhorak@redhat.com> - 10.0.1-1
- Update to 10.0.1 ESR
* Tue Feb 7 2012 Martin Stransky <stransky@redhat.com> - 10.0-3
- Update to 10.0 ESR
* Mon Jan 30 2012 Martin Stransky <stransky@redhat.com> - 10.0-1
- Update to 10.0
* Mon Sep 26 2011 Martin Stransky <stransky@redhat.com> - 7.0-5
- Update to 7.0
* Tue Sep 20 2011 Jan Horak <jhorak@redhat.com> - 7.0-4
- Update to 7.0 Beta 6
* Tue Sep 13 2011 Martin Stransky <stransky@redhat.com> - 7.0-2
- Update to 7.0 Beta 4
* Mon Jul 11 2011 Martin Stransky <stransky@redhat.com> - 5.0-1
- Update to 5.0
* Mon Jun 13 2011 Jan Horak <jhorak@redhat.com> - 3.6.18-1
- Fixed #698313 - "background-repeat" css property isn't rendered well
- Update to 3.6.18
* Mon Apr 18 2011 Jan Horak <jhorak@redhat.com> - 3.6.17-1
- Update to 3.6.17
* Tue Mar  8 2011 Jan Horak <jhorak@redhat.com> - 3.6.15-1
- Update to 3.6.15
* Mon Feb 21 2011 Jan Horak <jhorak@redhat.com> - 3.6.14-4
- Update to build3
* Tue Feb  8 2011 Jan Horak <jhorak@redhat.com> - 3.6.14-3
- Update to build2
* Wed Jan 26 2011 Jan Horak <jhorak@redhat.com> - 3.6.14-2
- Update to 3.6.14