c59d34
# Set for local builds only
c59d34
%global disable_toolsets  0
c59d34
3f591a
%ifarch i686
3f591a
# no debug package for the i686 because oom on i686 with debuginfos
3f591a
%global debug_package %{nil}
b21e02
%endif
3f591a
3f591a
%global rhel_minor_version -1
69c14a
%if 0%{?flatpak:1}
69c14a
%global rhel_minor_version 4
69c14a
%endif
3f591a
%if "%{?dist}" == ".el8"
69c14a
%global rhel_minor_version 4
3f591a
%endif
3f591a
%if "%{?dist}" == ".el8_3"
3f591a
%global rhel_minor_version 3
3f591a
%endif
3f591a
%if "%{?dist}" == ".el8_2"
3f591a
%global rhel_minor_version 2
3f591a
%endif
3f591a
%if "%{?dist}" == ".el8_1"
3f591a
%global rhel_minor_version 1
3f591a
%endif
3f591a
%if "%{?dist}" == ".el8_0"
3f591a
%global rhel_minor_version 0
b21e02
%endif
b21e02
3f591a
%global system_nss        1
b41e6b
%global bundle_nss        0
b41e6b
c59d34
%if 0%{?rhel} == 8
3f591a
  %if 0%{?rhel_minor_version} < 2
3f591a
%global bundle_nss        1
3f591a
  %endif
c59d34
%endif
b41e6b
c59d34
%if 0%{?rhel} == 6
b41e6b
%global system_nss        0
c59d34
%endif
3f591a
c59d34
%define use_bundled_ffi   0
b41e6b
b41e6b
%define use_bundled_python_2 1
b41e6b
%define use_bundled_python_3 1
b41e6b
c59d34
%if 0%{?rhel} == 8
c59d34
%define use_bundled_python_2 1
c59d34
%define use_bundled_python_3 0
b41e6b
%endif
b41e6b
b41e6b
%if 0%{?rhel} == 7
b41e6b
%define use_bundled_python_2 0
b41e6b
%define use_bundled_python_3 0
c59d34
%endif
3f591a
3f591a
%if 0%{?flatpak:1}
3f591a
%define use_bundled_python_2 1
3f591a
%endif
3f591a
3f591a
# we need python2 because of icu data gen
3f591a
%define use_bundled_python_2 1
3f591a
c59d34
%define bundle_gnome_extension 0
c59d34
c59d34
# Don't use system hunspell for now
c59d34
%global system_hunspell   0
c59d34
%global system_sqlite     0
c59d34
%if 0%{?rhel} == 8
c59d34
%global use_llvmts        0
c59d34
%else
c59d34
%global use_llvmts        1
c59d34
%endif
c59d34
c59d34
%if 0%{?rhel} > 6
c59d34
%global system_ffi        1
c59d34
%else
c59d34
%global system_ffi        0
c59d34
%endif
c59d34
%if 0%{?rhel} < 8
c59d34
%global use_dts           1
c59d34
%endif
c59d34
c59d34
%global use_rustts        1
c59d34
%global dts_version       8
c59d34
%if 0%{?rhel} == 6
c59d34
%global dts_version       8
c59d34
%endif
b41e6b
%global rust_version         1.41
b41e6b
%global rust_toolset_version 1.41
c59d34
%global llvm_version      7.0
c59d34
%if 0%{?rhel} == 8
c59d34
%global llvm_version      6.0
c59d34
%endif
c59d34
c59d34
%if 0%{?disable_toolsets}
c59d34
%global use_rustts        0
c59d34
%global use_dts           0
c59d34
%global use_llvmts        0
c59d34
%endif
c59d34
c59d34
# Use system cairo?
c59d34
%global system_cairo      0
c59d34
c59d34
# Use system libvpx?
c59d34
%global system_libvpx     0
c59d34
c59d34
# Use system libicu?
c59d34
%global system_libicu     0
c59d34
c59d34
# Big endian platforms
c59d34
%ifarch ppc64 s390x
c59d34
# Javascript Intl API is not supported on big endian platforms right now:
c59d34
# https://bugzilla.mozilla.org/show_bug.cgi?id=1322212
c59d34
%global big_endian        1
c59d34
%endif
c59d34
c59d34
# Hardened build?
c59d34
%global hardened_build    1
c59d34
c59d34
%global system_jpeg       1
c59d34
c59d34
%ifarch %{ix86} x86_64
c59d34
%global run_tests         0
c59d34
%else
c59d34
%global run_tests         0
c59d34
%endif
c59d34
c59d34
# Build as a debug package?
c59d34
%global debug_build       0
c59d34
69c14a
#%global default_bookmarks_file  %{_datadir}/bookmarks/default-bookmarks.html
69c14a
# need to use full path because of flatpak where datadir is /app/share
69c14a
%global default_bookmarks_file  /usr/share/bookmarks/default-bookmarks.html
c59d34
%global firefox_app_id  \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
c59d34
# Minimal required versions
c59d34
%global cairo_version 1.13.1
c59d34
%global freetype_version 2.1.9
c59d34
%if %{?system_libvpx}
c59d34
%global libvpx_version 1.4.0
c59d34
%endif
c59d34
c59d34
%if 0%{?system_nss}
b41e6b
%global nspr_version 4.25
c59d34
# NSS/NSPR quite often ends in build override, so as requirement the version
c59d34
# we're building against could bring us some broken dependencies from time to time.
c59d34
#%global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536)
c59d34
%global nspr_build_version %{nspr_version}
b41e6b
%global nss_version 3.53.1
c59d34
#%global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536)
c59d34
%global nss_build_version %{nss_version}
c59d34
%endif
c59d34
c59d34
%if %{?system_sqlite}
c59d34
%global sqlite_version 3.8.4.2
c59d34
# The actual sqlite version (see #480989):
c59d34
%global sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo 65536)
c59d34
%endif
c59d34
c59d34
%define bundled_python_version_2 2.7.13
c59d34
%define bundled_python_version_3 3.6.8
c59d34
%define use_bundled_openssl     0
c59d34
%define use_bundled_nodejs      0
b41e6b
%define use_bundled_yasm        0
3f591a
3f591a
%if 0%{?rhel} == 8
3f591a
  %if 0%{?rhel_minor_version} <= 2
3f591a
%define use_bundled_nodejs      1
3f591a
  %endif
3f591a
%endif
3f591a
b41e6b
%if 0%{?rhel} == 7
c59d34
%define use_bundled_nodejs      1
3f591a
%define use_bundled_yasm        1
c59d34
%endif
c59d34
c59d34
%if 0%{?rhel} == 6
b41e6b
%define use_bundled_nodejs      1
b41e6b
%define use_bundled_openssl     1
b41e6b
%define use_bundled_yasm        1
c59d34
%define bundle_gtk3             1
c59d34
# In-tree libffi is able to build on following platforms, we have to bundle it for the rest
c59d34
%ifnarch x86_64 i686 aarch64
c59d34
%define use_bundled_ffi         1
c59d34
%endif
c59d34
%endif
c59d34
b41e6b
# GTK3 bundling
b41e6b
%define avoid_bundled_rebuild   0
b41e6b
c59d34
%define gtk3_nvr 3.22.26-1
c59d34
%define gtk3_install_path %{mozappdir}/bundled
c59d34
c59d34
# We could use %%include, but in %%files, %%post and other sections, but in these
c59d34
# sections it could lead to syntax errors about unclosed %%if. Work around it by
c59d34
# using the following macro
c59d34
%define include_file() %{expand:%(cat '%1')}
c59d34
c59d34
%global mozappdir     %{_libdir}/%{name}
c59d34
%global mozappdirdev  %{_libdir}/%{name}-devel-%{version}
69c14a
%global langpackdir   %{mozappdir}/langpacks
c59d34
%global tarballdir    %{name}-%{version}
c59d34
%global pre_version   esr
c59d34
#global pre_tag       alpha
c59d34
c59d34
%global official_branding       1
c59d34
%global build_langpacks         1
c59d34
c59d34
%global enable_mozilla_crashreporter       0
c59d34
%if !%{debug_build}
c59d34
%ifarch %{ix86} x86_64
c59d34
%global enable_mozilla_crashreporter       0
c59d34
%endif
c59d34
%endif
c59d34
c59d34
Summary:        Mozilla Firefox Web browser
c59d34
Name:           firefox
69c14a
Version:        78.6.0
b41e6b
Release:        1%{?dist}
c59d34
URL:            https://www.mozilla.org/firefox/
c59d34
License:        MPLv1.1 or GPLv2+ or LGPLv2+
c59d34
%if 0%{?rhel} == 7
c59d34
ExcludeArch:    s390 ppc
c59d34
%endif
c59d34
%if 0%{?rhel} == 6
c59d34
ExclusiveArch:  i686 x86_64 ppc64 s390x
c59d34
%endif
c59d34
c59d34
Source0:        https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%{version}%{?pre_version}.source.tar.xz
c59d34
%if %{build_langpacks}
69c14a
Source1:        firefox-langpacks-%{version}%{?pre_version}-20201210.tar.xz
c59d34
%endif
3f591a
Source2:        cbindgen-vendor-0.14.3.tar.xz
c59d34
Source10:       firefox-mozconfig
c59d34
%if 0%{?centos}
c59d34
Source12:       firefox-centos-default-prefs.js
c59d34
%else
c59d34
Source12:       firefox-redhat-default-prefs.js
c59d34
%endif
c59d34
Source20:       firefox.desktop
c59d34
Source21:       firefox.sh.in
c59d34
Source23:       firefox.1
c59d34
Source24:       mozilla-api-key
c59d34
Source25:       firefox-symbolic.svg
c59d34
Source26:       distribution.ini
c59d34
Source27:       google-api-key
c59d34
Source28:       node-stdout-nonblocking-wrapper
c59d34
c59d34
Source200:      gtk3-private-%{gtk3_nvr}.el6.src.rpm
c59d34
Source201:      gtk3-private-%{gtk3_nvr}-post.inc
c59d34
Source202:      gtk3-private-%{gtk3_nvr}-postun.inc
c59d34
Source203:      gtk3-private-%{gtk3_nvr}-posttrans.inc
c59d34
Source204:      gtk3-private-%{gtk3_nvr}-files.inc
c59d34
Source205:      gtk3-private-%{gtk3_nvr}-setup-flags-env.inc
c59d34
Source206:      gtk3-private-%{gtk3_nvr}-requires-provides-filter.inc
c59d34
Source301:      yasm-1.2.0-3.el5.src.rpm
c59d34
Source303:      libffi-3.0.13-18.el7_3.src.rpm
b41e6b
Source304:      nodejs-10.21.0-5.fc32.src.rpm
c59d34
Source305:      openssl-1.0.2k-19.6.bundle.el7_7.src.rpm
c59d34
b41e6b
Source403:      nss-3.53.1-3.fc32.src.rpm
3f591a
Source401:      nss-setup-flags-env.inc
3f591a
Source402:      nspr-4.25.0-1.el8_0.src.rpm 
c59d34
#Python
c59d34
%if 0%{?use_bundled_python_2}
c59d34
Source100:      https://www.python.org/ftp/python/%{bundled_python_version_2}/Python-%{bundled_python_version_2}.tar.xz
c59d34
%endif
c59d34
%if 0%{?use_bundled_python_3}
c59d34
Source101:      https://www.python.org/ftp/python/%{bundled_python_version_3}/Python-%{bundled_python_version_3}.tar.xz
c59d34
%endif
c59d34
# Build patches
c59d34
Patch1000:      python-2.7.patch
c59d34
Patch1001:      build-ppc64le-inline.patch
c59d34
Patch1002:      python-2.7-gcc8-fix.patch
c59d34
Patch1003:      python-missing-utimensat.patch
c59d34
Patch1004:      build-icu-make.patch
c59d34
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
c59d34
Patch4:         build-mozconfig-fix.patch
c59d34
Patch6:         build-nss-version.patch
c59d34
Patch7:         firefox-debugedits-error.patch
c59d34
c59d34
# Fedora/RHEL specific patches
c59d34
Patch215:        firefox-enable-addons.patch
c59d34
Patch219:        rhbz-1173156.patch
c59d34
Patch224:        mozilla-1170092.patch
c59d34
#ARM run-time patch
c59d34
Patch231:        firefox-pipewire.patch
c59d34
Patch232:        firefox-rhel6-hugepage.patch
c59d34
Patch233:        firefox-rhel6-nss-tls1.3.patch
c59d34
Patch234:        rhbz-1821418.patch
c59d34
Patch235:        firefox-pipewire-0-3.patch
c59d34
c59d34
# Upstream patches
c59d34
Patch402:        mozilla-1196777.patch
c59d34
c59d34
Patch501:        python-encode.patch
c59d34
Patch503:        mozilla-s390-context.patch
c59d34
Patch505:        mozilla-bmo1005535.patch
c59d34
Patch506:        mozilla-bmo1504834-part1.patch
c59d34
Patch507:        mozilla-bmo1504834-part2.patch
c59d34
Patch508:        mozilla-bmo1504834-part3.patch
c59d34
Patch509:        mozilla-bmo1504834-part4.patch
c59d34
Patch510:        mozilla-bmo1554971.patch
c59d34
Patch511:        mozilla-bmo1602730.patch
c59d34
Patch512:        mozilla-bmo849632.patch
3f591a
Patch513:        mozilla-bmo998749.patch
3f591a
Patch514:        mozilla-s390x-skia-gradient.patch
3f591a
Patch515:        mozilla-bmo1626236.patch
3f591a
Patch516:        D87019-thin-vec-big-endian.diff
c59d34
b41e6b
c59d34
# CentOS patches
c59d34
%if 0%{?centos}
c59d34
Patch10000:      Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
c59d34
Patch10001:      Bug-1526653---fix_user_vfp_armv7.patch
c59d34
%endif
c59d34
b41e6b
# RHEL6 patches
b41e6b
Patch600:        rhel6-dbusver.patch
b41e6b
Patch601:        rhel6-kernel.patch
b41e6b
Patch602:        rhel6-mach-fail.patch
b41e6b
Patch603:        rhel6-zconst.patch
b41e6b
Patch604:        rhel6-auxvh.patch
b41e6b
Patch605:        rhel6-abiv2-mozbz1642174.patch
69c14a
Patch607:        rhel6-at-no-automount.patch
69c14a
69c14a
# Flatpak patches
b41e6b
c59d34
%if %{?system_nss}
3f591a
%if !0%{?bundle_nss}
c59d34
BuildRequires:  pkgconfig(nspr) >= %{nspr_version}
c59d34
BuildRequires:  pkgconfig(nss) >= %{nss_version}
c59d34
BuildRequires:  nss-static >= %{nss_version}
c59d34
%endif
3f591a
%endif
c59d34
%if %{?system_cairo}
c59d34
BuildRequires:  pkgconfig(cairo) >= %{cairo_version}
c59d34
%endif
c59d34
BuildRequires:  pkgconfig(libpng)
c59d34
BuildRequires:  xz
c59d34
BuildRequires:  libXt-devel
c59d34
BuildRequires:  mesa-libGL-devel
c59d34
Requires:       liberation-fonts-common
c59d34
Requires:       liberation-sans-fonts
c59d34
%if %{?system_jpeg}
c59d34
BuildRequires:  libjpeg-devel
c59d34
%endif
c59d34
BuildRequires:  zip
c59d34
BuildRequires:  bzip2-devel
c59d34
BuildRequires:  pkgconfig(zlib)
c59d34
BuildRequires:  pkgconfig(libIDL-2.0)
c59d34
BuildRequires:  pkgconfig(gtk+-2.0)
c59d34
BuildRequires:  krb5-devel
c59d34
BuildRequires:  pkgconfig(pango)
c59d34
BuildRequires:  pkgconfig(freetype2) >= %{freetype_version}
c59d34
BuildRequires:  pkgconfig(xt)
c59d34
BuildRequires:  pkgconfig(xrender)
c59d34
%if %{?system_hunspell}
c59d34
BuildRequires:  hunspell-devel
c59d34
%endif
c59d34
BuildRequires:  pkgconfig(libstartup-notification-1.0)
c59d34
BuildRequires:  pkgconfig(libnotify)
c59d34
BuildRequires:  pkgconfig(dri)
c59d34
BuildRequires:  pkgconfig(libcurl)
c59d34
BuildRequires:  dbus-glib-devel
c59d34
%if %{?system_libvpx}
c59d34
BuildRequires:  libvpx-devel >= %{libvpx_version}
c59d34
%endif
c59d34
BuildRequires:  autoconf213
c59d34
BuildRequires:  pkgconfig(libpulse)
c59d34
BuildRequires:  pkgconfig(gconf-2.0)
c59d34
c59d34
%if 0%{?use_dts}
c59d34
BuildRequires:  devtoolset-%{dts_version}-gcc-c++
c59d34
BuildRequires:  devtoolset-%{dts_version}-gcc
c59d34
BuildRequires:  devtoolset-%{dts_version}-binutils
c59d34
BuildRequires:  devtoolset-%{dts_version}-libatomic-devel
c59d34
%if 0%{?use_llvmts}
c59d34
BuildRequires:  llvm-toolset-%{llvm_version}
c59d34
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
c59d34
%endif
c59d34
%endif
c59d34
c59d34
BuildRequires:  scl-utils
b41e6b
BuildRequires:  findutils
c59d34
c59d34
c59d34
%if 0%{?rhel} == 8
c59d34
BuildRequires:  cargo
c59d34
BuildRequires:  rust >= %{rust_version}
c59d34
BuildRequires:  llvm >= %{llvm_version}
c59d34
BuildRequires:  llvm-devel >= %{llvm_version}
c59d34
BuildRequires:  clang >= %{llvm_version}
c59d34
BuildRequires:  clang-devel >= %{llvm_version}
c59d34
BuildRequires:  rustfmt >= %{rust_version}
c59d34
BuildRequires:  python3
3f591a
BuildRequires:  nodejs >= 10.21
c59d34
%else
c59d34
%if 0%{?use_rustts}
c59d34
BuildRequires:  rust-toolset-%{rust_toolset_version}
c59d34
%endif
b41e6b
%if 0%{?rhel} == 7
b41e6b
#BuildRequires:  rh-nodejs12
b41e6b
%endif
c59d34
%if 0%{?use_llvmts}
c59d34
BuildRequires:  llvm-toolset-%{llvm_version}
c59d34
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
c59d34
%endif
c59d34
%endif
c59d34
3f591a
%if ! 0%{?use_bundled_yasm}
3f591a
BuildRequires:  yasm
3f591a
%endif
3f591a
3f591a
c59d34
%if 0%{?use_bundled_python_2}
c59d34
# Needed for Python in RHEL6
c59d34
BuildRequires:  openssl-devel
c59d34
%endif
c59d34
c59d34
%if 0%{?rhel} == 8
3f591a
  %if 0%{?rhel_minor_version} >= 3
3f591a
BuildRequires:  pkgconfig(libpipewire-0.3)
3f591a
  %else
b41e6b
BuildRequires:  pipewire-devel
3f591a
  %endif
c59d34
%endif
c59d34
c59d34
%if 0%{?bundle_gtk3}
c59d34
BuildRequires:        automake
c59d34
BuildRequires:        autoconf
c59d34
BuildRequires:        cups-devel
c59d34
BuildRequires:        dbus-devel
c59d34
BuildRequires:        desktop-file-utils
c59d34
BuildRequires:        expat-devel
c59d34
BuildRequires:        fontpackages-devel
c59d34
BuildRequires:        gamin-devel
c59d34
BuildRequires:        gettext-devel
c59d34
BuildRequires:        git
c59d34
BuildRequires:        intltool
c59d34
BuildRequires:        jasper-devel
c59d34
BuildRequires:        libepoxy-devel
c59d34
BuildRequires:        libcroco-devel
c59d34
BuildRequires:        libffi-devel
c59d34
BuildRequires:        libpng-devel
c59d34
BuildRequires:        libtiff-devel
c59d34
BuildRequires:        libtool
c59d34
BuildRequires:        libxml2-devel
c59d34
BuildRequires:        libX11-devel
c59d34
BuildRequires:        libXcomposite-devel
c59d34
BuildRequires:        libXcursor-devel
c59d34
BuildRequires:        libXinerama-devel
c59d34
BuildRequires:        libXevie-devel
c59d34
BuildRequires:        libXrandr-devel
c59d34
BuildRequires:        libXrender-devel
c59d34
BuildRequires:        libXtst-devel
c59d34
BuildRequires:        mesa-libGL-devel
c59d34
BuildRequires:        mesa-libEGL-devel
c59d34
BuildRequires:        pixman-devel
c59d34
BuildRequires:        rest-devel
c59d34
BuildRequires:        readline-devel
c59d34
# TODO: We miss that dependency in our bundled gtk3 package.
c59d34
# As a hotfix we put it here and fix gtk3 in next release.
c59d34
Requires:             mesa-libEGL%{?_isa}
c59d34
Requires:             libcroco%{?_isa}
c59d34
Requires:             mesa-libGL%{?_isa}
c59d34
Requires:             bzip2-libs%{?_isa}
c59d34
Requires:             libXtst%{?_isa}
c59d34
%else
c59d34
BuildRequires:        gtk3-devel
c59d34
BuildRequires:        glib2-devel
c59d34
%endif
c59d34
3f591a
# Bundled nss/nspr requirement
3f591a
%if 0%{?bundle_nss}
3f591a
BuildRequires:    nss-softokn
3f591a
BuildRequires:    sqlite-devel
3f591a
BuildRequires:    zlib-devel
3f591a
BuildRequires:    pkgconfig
3f591a
BuildRequires:    gawk
3f591a
BuildRequires:    psmisc
3f591a
%if 0%{?rhel} == 6
3f591a
BuildRequires:    perl
3f591a
%else
3f591a
BuildRequires:    perl-interpreter
3f591a
%endif
3f591a
BuildRequires:    gcc-c++
3f591a
BuildRequires:    xmlto
3f591a
%endif
3f591a
c59d34
Requires:       mozilla-filesystem
c59d34
Requires:       p11-kit-trust
c59d34
%if %{?system_nss}
3f591a
%if !0%{?bundle_nss}
c59d34
Requires:       nspr >= %{nspr_build_version}
c59d34
Requires:       nss >= %{nss_build_version}
c59d34
%endif
3f591a
%endif
c59d34
c59d34
BuildRequires:  desktop-file-utils
c59d34
BuildRequires:  system-bookmarks
c59d34
Requires:       redhat-indexhtml
3f591a
#for the python2
3f591a
BuildRequires:  pkgconfig(sqlite3)
c59d34
%if %{?system_sqlite}
c59d34
BuildRequires:  pkgconfig(sqlite3) >= %{sqlite_version}
c59d34
Requires:       sqlite >= %{sqlite_build_version}
c59d34
%endif
c59d34
c59d34
c59d34
%if %{?run_tests}
c59d34
BuildRequires:  xorg-x11-server-Xvfb
c59d34
%endif
c59d34
c59d34
%if %{?system_ffi}
c59d34
  %if !%{use_bundled_ffi}0
c59d34
BuildRequires:  pkgconfig(libffi)
c59d34
  %endif
c59d34
%endif
c59d34
3f591a
%if %{?use_bundled_nodejs}
b41e6b
%if !0%{?use_bundled_python_3}
3f591a
BuildRequires: python3-devel
b41e6b
%endif
3f591a
BuildRequires: zlib-devel
b41e6b
#BuildRequires: brotli-devel
b41e6b
#BuildRequires: gcc >= 4.9.4
b41e6b
#BuildRequires: gcc-c++ >= 4.9.4
3f591a
BuildRequires: chrpath
3f591a
BuildRequires: libatomic
3f591a
BuildRequires: openssl-devel
3f591a
%endif
3f591a
69c14a
%if 0%{?big_endian}
69c14a
  %if 0%{?flatpak}
69c14a
BuildRequires:  icu
69c14a
  %endif
69c14a
%endif
69c14a
c59d34
Obsoletes:      mozilla <= 37:1.7.13
c59d34
Provides:       webclient
c59d34
c59d34
%description
c59d34
Mozilla Firefox is an open-source web browser, designed for standards
c59d34
compliance, performance and portability.
c59d34
c59d34
%if %{enable_mozilla_crashreporter}
c59d34
%global moz_debug_prefix %{_prefix}/lib/debug
c59d34
%global moz_debug_dir %{moz_debug_prefix}%{mozappdir}
c59d34
%global uname_m %(uname -m)
c59d34
%global symbols_file_name %{name}-%{version}.en-US.%{_os}-%{uname_m}.crashreporter-symbols.zip
c59d34
%global symbols_file_path %{moz_debug_dir}/%{symbols_file_name}
c59d34
%global _find_debuginfo_opts -p %{symbols_file_path} -o debugcrashreporter.list
c59d34
%global crashreporter_pkg_name mozilla-crashreporter-%{name}-debuginfo
c59d34
%package -n %{crashreporter_pkg_name}
c59d34
Summary: Debugging symbols used by Mozilla's crash reporter servers
c59d34
%description -n %{crashreporter_pkg_name}
c59d34
This package provides debug information for Firefox, for use by
c59d34
Mozilla's crash reporter servers.  If you are trying to locally
c59d34
debug %{name}, you want to install %{name}-debuginfo instead.
c59d34
%files -n %{crashreporter_pkg_name} -f debugcrashreporter.list
c59d34
%endif
c59d34
c59d34
%if %{run_tests}
c59d34
%global testsuite_pkg_name mozilla-%{name}-testresults
c59d34
%package -n %{testsuite_pkg_name}
c59d34
Summary: Results of testsuite
c59d34
%description -n %{testsuite_pkg_name}
c59d34
This package contains results of tests executed during build.
c59d34
%files -n %{testsuite_pkg_name}
c59d34
/test_results
c59d34
%endif
c59d34
c59d34
#---------------------------------------------------------------------
c59d34
c59d34
%if %{?bundle_gnome_extension}
c59d34
%package        -n firefox-gnome-shell-extension
c59d34
%global         firefox_gnome_shell_addon_name addon-751081-latest.xpi
c59d34
Summary:        Support for managing GNOME Shell Extensions through web browsers
c59d34
Requires:       %{name}%{?_isa} = %{version}-%{release}
c59d34
c59d34
License:        GPLv3+
c59d34
URL:            https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome
c59d34
Source2:        https://addons.mozilla.org/firefox/downloads/latest/gnome-shell-integration/platform:2/%{firefox_gnome_shell_addon_name}
c59d34
c59d34
Requires:       dbus
c59d34
Requires:       gnome-icon-theme
c59d34
Requires:       gnome-shell
c59d34
Requires:       hicolor-icon-theme
c59d34
Requires:       mozilla-filesystem
c59d34
c59d34
%description -n firefox-gnome-shell-extension
c59d34
Browser extension for Firefox and native host messaging connector that provides
c59d34
integration with GNOME Shell and the corresponding extensions repository
c59d34
https://extensions.gnome.org.
c59d34
c59d34
%files -n firefox-gnome-shell-extension
c59d34
%{mozappdir}/distribution/extensions/chrome-gnome-shell@gnome.org.xpi
c59d34
%endif
c59d34
c59d34
%prep
3f591a
echo "Build environment"
3f591a
echo "dist                  %{?dist}"
3f591a
echo "RHEL 8 minor version: %{?rhel_minor_version}"
3f591a
echo "use_bundled_ffi       %{?use_bundled_ffi}"
3f591a
echo "use_bundled_python_2  %{?use_bundled_python_2}"
3f591a
echo "use_bundled_python_3  %{?use_bundled_python_3}"
3f591a
echo "bundle_nss            %{?bundle_nss}"
3f591a
echo "system_nss            %{?system_nss}"
3f591a
echo "use_rustts            %{?use_rustts}"
3f591a
echo "use_bundled_nodejs    %{?use_bundled_nodejs}"
3f591a
echo "use_bundled_openssl   %{?use_bundled_openssl}"
3f591a
echo "use_bundled_yasm      %{?use_bundled_yasm}"
3f591a
3f591a
c59d34
%if 0%{?use_bundled_python_2}
c59d34
%setup -q -T -c -n python2 -a 100
c59d34
%patch1000 -p0 -b .build
c59d34
%patch1002 -p0 -b .gcc8
c59d34
%endif
c59d34
%if 0%{?use_bundled_python_3}
c59d34
%setup -q -T -c -n python3 -a 101
c59d34
%if 0%{?rhel} == 6
c59d34
%patch1003 -p0 -b .missing-utimensat.patch
c59d34
%endif
c59d34
%endif
c59d34
%setup -q -n %{tarballdir}
c59d34
# Build patches, can't change backup suffix from default because during build
c59d34
# there is a compare of config and js/config directories and .orig suffix is
c59d34
# ignored during this compare.
c59d34
%patch7 -p1 -b .debugedits-error
c59d34
%ifarch %{ix86} %{arm} ppc
c59d34
# binary check fails OOM on 32bit arches
c59d34
%endif
c59d34
c59d34
%patch4  -p1 -b .build-mozconfig-fix
3f591a
#%patch6  -p1 -b .nss-version
c59d34
c59d34
# Fedora patches
c59d34
%patch215 -p1 -b .addons
c59d34
%patch219 -p1 -b .rhbz-1173156
c59d34
%patch224 -p1 -b .1170092
69c14a
69c14a
# fixing /usr/include in the patch for the flatpak build
69c14a
%if 0%{?flatpak}
69c14a
sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch
69c14a
%endif
69c14a
c59d34
%if 0%{?rhel} == 8
c59d34
  %if 0%{?rhel_minor_version} >= 3
ffa54f
%patch235 -p1 -b .pipewire-0-3
c59d34
  %else
c59d34
%patch231 -p1 -b .pipewire
c59d34
  %endif
c59d34
%endif
3f591a
3f591a
c59d34
%if 0%{?rhel} == 6
c59d34
%patch232 -p1 -b .hugepage
c59d34
%patch233 -p1 -b .rhel6-nss-tls1.3
c59d34
%endif
c59d34
%patch234 -p1 -b .rhbz-1821418
c59d34
c59d34
%patch402 -p1 -b .1196777
c59d34
c59d34
# Patch for big endian platforms only
c59d34
%if 0%{?big_endian}
c59d34
%endif
c59d34
c59d34
%patch501 -p1 -b .python-encode
c59d34
%patch503 -p1 -b .mozilla-s390-context
c59d34
%patch505 -p1 -b .mozilla-bmo1005535
c59d34
%patch506 -p1 -b .mozilla-bmo1504834-part1
c59d34
%patch507 -p1 -b .mozilla-bmo1504834-part2
c59d34
%patch508 -p1 -b .mozilla-bmo1504834-part3
c59d34
%patch509 -p1 -b .mozilla-bmo1504834-part4
c59d34
%patch510 -p1 -b .mozilla-bmo1554971
c59d34
%patch511 -p1 -b .mozilla-bmo1602730
c59d34
%patch512 -p1 -b .mozilla-bmo849632
3f591a
%patch513 -p1 -b .mozilla-bmo998749
3f591a
%patch514 -p1 -b .mozilla-s390x-skia-gradient
3f591a
%patch515 -p1 -b .mozilla-bmo1626236
3f591a
%patch516 -p1 -b .D87019-thin-vec-big-endian.diff
b41e6b
b41e6b
c59d34
%patch1001 -p1 -b .ppc64le-inline
c59d34
%patch1004 -p1 -b .icu-make
c59d34
b41e6b
%if 0%{?rhel} == 6
b41e6b
%patch600 -p1 -b .rhel6-dbusver
b41e6b
%patch601 -p1 -b .rhel6-kernel
b41e6b
%patch602 -p1 -b .rhel6-mach-fail
b41e6b
%patch603 -p1 -b .rhel6-zconst
b41e6b
%patch604 -p1 -b .rhel6-auxvh
b41e6b
%patch605 -p1 -b .rhel6-abiv2-mozbz1642174
69c14a
%patch607 -R -p1 -b .rhel6-at-no-automount
b41e6b
%endif
b41e6b
c59d34
# CentOS patches
c59d34
%if 0%{?centos}
c59d34
%patch10000 -p1 -b .mozilla-1238661
c59d34
%patch10001 -p1 -b .mozilla-1526653
c59d34
%endif
c59d34
c59d34
%{__rm} -f .mozconfig
c59d34
%{__cp} %{SOURCE10} .mozconfig
c59d34
%if %{official_branding}
c59d34
echo "ac_add_options --enable-official-branding" >> .mozconfig
c59d34
%endif
c59d34
%{__cp} %{SOURCE24} mozilla-api-key
c59d34
%{__cp} %{SOURCE27} google-api-key
c59d34
c59d34
%if %{?system_nss}
c59d34
echo "ac_add_options --with-system-nspr" >> .mozconfig
c59d34
echo "ac_add_options --with-system-nss" >> .mozconfig
c59d34
%else
c59d34
echo "ac_add_options --without-system-nspr" >> .mozconfig
c59d34
echo "ac_add_options --without-system-nss" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if %{?system_cairo}
c59d34
echo "ac_add_options --enable-system-cairo" >> .mozconfig
c59d34
%else
c59d34
echo "ac_add_options --disable-system-cairo" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if 0%{?use_bundled_ffi}
c59d34
echo "ac_add_options --enable-system-ffi" >> .mozconfig
c59d34
%endif
c59d34
%if 0%{?system_ffi}
c59d34
echo "ac_add_options --enable-system-ffi" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%ifarch %{arm} %{ix86} x86_64
c59d34
echo "ac_add_options --disable-elf-hack" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if %{?system_hunspell}
c59d34
echo "ac_add_options --enable-system-hunspell" >> .mozconfig
c59d34
%else
c59d34
# not available?
c59d34
#echo "ac_add_options --disable-system-hunspell" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if %{?debug_build}
c59d34
echo "ac_add_options --enable-debug" >> .mozconfig
c59d34
echo "ac_add_options --disable-optimize" >> .mozconfig
c59d34
%else
c59d34
%global optimize_flags "-g -O2"
c59d34
%ifarch s390 s390x
c59d34
%global optimize_flags "-g -O1"
c59d34
%endif
c59d34
%ifarch armv7hl
c59d34
# ARMv7 need that (rhbz#1426850)
c59d34
%global optimize_flags "-g -O2 -fno-schedule-insns"
c59d34
%endif
c59d34
%ifarch ppc64le aarch64
c59d34
%global optimize_flags "-g -O2"
c59d34
%endif
c59d34
%if %{optimize_flags} != "none"
c59d34
echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig
c59d34
%else
c59d34
echo 'ac_add_options --enable-optimize' >> .mozconfig
c59d34
%endif
c59d34
echo "ac_add_options --disable-debug" >> .mozconfig
c59d34
%endif
c59d34
c59d34
# Second arches fail to start with jemalloc enabled
c59d34
%ifnarch %{ix86} x86_64
c59d34
echo "ac_add_options --disable-jemalloc" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%ifnarch %{ix86} x86_64
c59d34
echo "ac_add_options --disable-webrtc" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if !%{enable_mozilla_crashreporter}
c59d34
echo "ac_add_options --disable-crashreporter" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if %{?run_tests}
c59d34
echo "ac_add_options --enable-tests" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if !%{?system_jpeg}
c59d34
echo "ac_add_options --without-system-jpeg" >> .mozconfig
c59d34
%else
c59d34
echo "ac_add_options --with-system-jpeg" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if %{?system_libvpx}
c59d34
echo "ac_add_options --with-system-libvpx" >> .mozconfig
c59d34
%else
c59d34
echo "ac_add_options --without-system-libvpx" >> .mozconfig
c59d34
%endif
c59d34
c59d34
%if %{?system_libicu}
c59d34
echo "ac_add_options --with-system-icu" >> .mozconfig
c59d34
%else
c59d34
echo "ac_add_options --without-system-icu" >> .mozconfig
c59d34
%endif
c59d34
%ifarch s390 s390x
3f591a
echo "ac_add_options --disable-jit" >> .mozconfig
3f591a
%endif
3f591a
3f591a
%ifnarch %{ix86}
3f591a
%if !0%{?debug_build}
3f591a
echo "ac_add_options --disable-debug-symbols" >> .mozconfig
3f591a
%endif
c59d34
%endif
c59d34
c59d34
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
c59d34
c59d34
# Remove executable bit to make brp-mangle-shebangs happy.
c59d34
chmod -x third_party/rust/itertools/src/lib.rs
3f591a
chmod a-x third_party/rust/gfx-backend-vulkan/src/*.rs
3f591a
chmod a-x third_party/rust/gfx-hal/src/*.rs
3f591a
chmod a-x third_party/rust/ash/src/extensions/ext/*.rs
3f591a
chmod a-x third_party/rust/ash/src/extensions/khr/*.rs
3f591a
chmod a-x third_party/rust/ash/src/extensions/mvk/*.rs
3f591a
chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
c59d34
c59d34
#---------------------------------------------------------------------
c59d34
c59d34
%build
3f591a
ulimit -a
b41e6b
free
b41e6b
#set -e
c59d34
# Hack for missing shell when building in brew on RHEL6
c59d34
%if 0%{?rhel} == 6
c59d34
export SHELL=/bin/sh
c59d34
%endif
c59d34
c59d34
%if ! 0%{?avoid_bundled_rebuild}
c59d34
    rm -rf %{_buildrootdir}/*
c59d34
%endif
c59d34
export PATH="%{_buildrootdir}/bin:$PATH"
c59d34
c59d34
function install_rpms_to_current_dir() {
c59d34
    PACKAGE_RPM=$(eval echo $1)
c59d34
    PACKAGE_DIR=%{_rpmdir}
c59d34
c59d34
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
c59d34
        # Hack for tps tests
c59d34
        ARCH_STR=%{_arch}
c59d34
        %ifarch i386 i686
c59d34
            ARCH_STR="i?86"
c59d34
        %endif
b41e6b
        %if 0%{?rhel} > 6
b41e6b
          PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
b41e6b
        %endif
c59d34
     fi
c59d34
c59d34
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
c59d34
     do
c59d34
         echo "$package"
c59d34
         rpm2cpio "$package" | cpio -idu
c59d34
     done
c59d34
}
c59d34
c59d34
function build_bundled_package() {
c59d34
  PACKAGE_RPM=$1
c59d34
  PACKAGE_FILES=$2
c59d34
  PACKAGE_SOURCE=$3
3f591a
  PACKAGE_BUILD_OPTIONS=$4
c59d34
  export PACKAGE_DIR="%{_topdir}/RPMS"
c59d34
c59d34
  PACKAGE_ALREADY_BUILD=0
c59d34
  %if %{?avoid_bundled_rebuild}
c59d34
    if ls $PACKAGE_DIR/$PACKAGE_RPM; then
c59d34
      PACKAGE_ALREADY_BUILD=1
c59d34
    fi
c59d34
    if ls $PACKAGE_DIR/%{_arch}/$PACKAGE_RPM; then
c59d34
      PACKAGE_ALREADY_BUILD=1
c59d34
    fi
c59d34
  %endif
c59d34
  if [ $PACKAGE_ALREADY_BUILD == 0 ]; then
c59d34
    echo "Rebuilding $PACKAGE_RPM from $PACKAGE_SOURCE"; echo "==============================="
3f591a
    rpmbuild --nodeps $PACKAGE_BUILD_OPTIONS --rebuild $PACKAGE_SOURCE
b41e6b
    cat /var/tmp/rpm-tmp*
c59d34
  fi
c59d34
b41e6b
  find $PACKAGE_DIR
c59d34
  if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
c59d34
    # Hack for tps tests
c59d34
    ARCH_STR=%{_arch}
c59d34
    %ifarch i386 i686
c59d34
    ARCH_STR="i?86"
c59d34
    %endif
b41e6b
    %if 0%{?rhel} > 6
b41e6b
      export PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
b41e6b
    %endif
c59d34
  fi
c59d34
  pushd $PACKAGE_DIR
c59d34
c59d34
  echo "Installing $PACKAGE_DIR/$PACKAGE_RPM"; echo "==============================="
3f591a
  pwd
c59d34
  PACKAGE_LIST=$(echo $PACKAGE_DIR/$PACKAGE_RPM | tr " " "\n")
c59d34
  for PACKAGE in $PACKAGE_LIST
c59d34
  do
c59d34
      rpm2cpio $PACKAGE | cpio -iduv
c59d34
  done
c59d34
c59d34
  PATH=$PACKAGE_DIR/usr/bin:$PATH
c59d34
  export PATH
c59d34
  LD_LIBRARY_PATH=$PACKAGE_DIR/usr/%{_lib}:$LD_LIBRARY_PATH
c59d34
  export LD_LIBRARY_PATH
c59d34
c59d34
  # Clean rpms to avoid including them to package
c59d34
  %if ! 0%{?avoid_bundled_rebuild}
c59d34
    rm -f $PACKAGE_FILES
c59d34
  %endif
c59d34
c59d34
  popd
c59d34
}
c59d34
c59d34
# Build and install local yasm if needed
c59d34
# ======================================
3f591a
%if 0%{?use_bundled_yasm}
c59d34
  build_bundled_package 'yasm-1*.rpm' 'yasm-*.rpm' '%{SOURCE301}'
c59d34
%endif
c59d34
3f591a
%if 0%{?bundle_nss}
3f591a
   rpm -ivh %{SOURCE402}
b41e6b
   #rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' --without=tests -ba %{_specdir}/nspr.spec
b41e6b
   rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/nspr.spec
3f591a
   pushd %{_buildrootdir}
b41e6b
   install_rpms_to_current_dir nspr-4*.rpm
3f591a
   install_rpms_to_current_dir nspr-devel*.rpm
3f591a
   popd
3f591a
   echo "Setting nspr flags"
3f591a
   # nss-setup-flags-env.inc
3f591a
   sed -i 's@%{gtk3_install_path}@%{_buildrootdir}%{gtk3_install_path}@g' %{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig/nspr*.pc
3f591a
3f591a
   export LDFLAGS="-L%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
3f591a
   export LDFLAGS="-Wl,-rpath,%{gtk3_install_path}/%{_lib} $LDFLAGS"
3f591a
   export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
3f591a
   export PKG_CONFIG_PATH=%{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig
3f591a
   export PATH="{_buildrootdir}%{gtk3_install_path}/bin:$PATH"
3f591a
3f591a
   export PATH=%{_buildrootdir}/%{gtk3_install_path}/bin:$PATH
3f591a
   echo $PKG_CONFIG_PATH
3f591a
b41e6b
   rpm -ivh %{SOURCE403}
b41e6b
   rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/nss.spec
3f591a
   pushd %{_buildrootdir}
3f591a
   #cleanup
3f591a
   #rm -rf {_buildrootdir}/usr/lib/debug/*
3f591a
   #rm -rf {_buildrootdir}/usr/lib/.build-id
3f591a
   #install_rpms_to_current_dir nss-%{gtk3_nvr}*.rpm
3f591a
   #install_rpms_to_current_dir nss-devel-%{gtk3_nvr}*.rpm
3f591a
   install_rpms_to_current_dir nss-3*.rpm
3f591a
   install_rpms_to_current_dir nss-devel*.rpm
3f591a
   install_rpms_to_current_dir nss-pkcs11-devel*.rpm
3f591a
   install_rpms_to_current_dir nss-softokn-3*.rpm
3f591a
   install_rpms_to_current_dir nss-softokn-devel*.rpm
3f591a
   install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
3f591a
   install_rpms_to_current_dir nss-softokn-freebl-devel*.rpm
3f591a
   install_rpms_to_current_dir nss-util-3*.rpm
3f591a
   install_rpms_to_current_dir nss-util-devel*.rpm
3f591a
   popd
3f591a
  %filter_provides_in %{gtk3_install_path}/%{_lib}
3f591a
  %filter_requires_in %{gtk3_install_path}/%{_lib}
b41e6b
  %filter_from_requires /libnss3.so.*/d
b41e6b
  %filter_from_requires /libsmime3.so.*/d
b41e6b
  %filter_from_requires /libssl3.so.*/d
b41e6b
  %filter_from_requires /libnssutil3.so.*/d
b41e6b
  %filter_from_requires /libnspr4.so.*/d
69c14a
%endif
b41e6b
69c14a
%if 0%{?rhel} == 6
69c14a
  %filter_from_requires /libnss3.so.*/d
69c14a
  %filter_from_requires /libsmime3.so.*/d
69c14a
  %filter_from_requires /libssl3.so.*/d
69c14a
  %filter_from_requires /libnssutil3.so.*/d
69c14a
  %filter_from_requires /libnspr4.so.*/d
69c14a
  %filter_from_provides /libnss3.so.*/d
69c14a
  %filter_from_provides /libsmime3.so.*/d
69c14a
  %filter_from_provides /libssl3.so.*/d
69c14a
  %filter_from_provides /libnssutil3.so.*/d
69c14a
  %filter_from_provides /libnspr4.so.*/d
3f591a
%endif
3f591a
c59d34
%if 0%{?bundle_gtk3}
c59d34
   %if ! 0%{?avoid_bundled_rebuild}
c59d34
    rpm -ivh %{SOURCE200}
c59d34
    rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/gtk3-private.spec
c59d34
   %endif
c59d34
   pushd %{_buildrootdir}
c59d34
   install_rpms_to_current_dir gtk3-private-%{gtk3_nvr}*.rpm
c59d34
   install_rpms_to_current_dir gtk3-private-devel-%{gtk3_nvr}*.rpm
c59d34
   install_rpms_to_current_dir gtk3-private-rpm-scripts-%{gtk3_nvr}*.rpm
c59d34
   popd
c59d34
%endif
c59d34
c59d34
%if 0%{?bundle_gtk3}
c59d34
# gtk3-private-3.22.26.el6-1-requires-provides-filter.inc
c59d34
%include_file %{SOURCE206}
c59d34
%endif
c59d34
%if 0%{use_bundled_ffi}
c59d34
  # Install libraries to the predefined location to later add them to the Firefox libraries
c59d34
  rpm -ivh %{SOURCE303}
c59d34
  rpmbuild --nodeps --define '_prefix %{gtk3_install_path}' -ba %{_specdir}/libffi.spec
c59d34
  pushd %{_buildrootdir}
c59d34
  install_rpms_to_current_dir 'libffi*.rpm'
c59d34
  popd
c59d34
  %filter_from_requires /libffi.so.6/d
c59d34
%endif
c59d34
%filter_setup
c59d34
c59d34
# If needed build the bundled python 2.7 and 3.6 and put it in the PATH
c59d34
%if 0%{?use_bundled_python_3}
c59d34
    pushd %{_builddir}/python3/Python-%{bundled_python_version_3}
b41e6b
    ./configure --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib" || cat config.log
c59d34
    make %{?_smp_mflags} install V=1 -j1
c59d34
    cp Tools/scripts/pathfix.py %{_buildrootdir}/bin
c59d34
    popd
c59d34
%endif
c59d34
%if 0%{?use_bundled_python_2}
c59d34
    pushd %{_builddir}/python2/Python-%{bundled_python_version_2}
3f591a
    ./configure --prefix="%{_buildrootdir}" --exec-prefix="%{_buildrootdir}" --libdir="%{_buildrootdir}/lib" || cat config.log
c59d34
    make %{?_smp_mflags} install V=1
3f591a
    popd    
c59d34
%endif
c59d34
c59d34
function replace_prefix() {
c59d34
  FILE_NAME=$1
c59d34
  PKG_CONFIG_PREFIX=$2
c59d34
c59d34
  cat $FILE_NAME | tail -n +2 > tmp.txt
c59d34
  echo "$PKG_CONFIG_PREFIX" > $FILE_NAME
c59d34
  cat tmp.txt >> $FILE_NAME
c59d34
  rm -rf tmp.txt
c59d34
}
c59d34
c59d34
# Build and install local openssl if needed
c59d34
# =========================================
c59d34
%if 0%{?use_bundled_openssl}
c59d34
  rpm -ivh %{SOURCE305}
c59d34
  rpmbuild --nodeps -ba %{_specdir}/openssl.spec
c59d34
  pushd %{_buildrootdir}
c59d34
  install_rpms_to_current_dir openssl-1.0.2k*.rpm
c59d34
  install_rpms_to_current_dir openssl-libs-1.0.2k*.rpm
c59d34
  install_rpms_to_current_dir openssl-devel-1.0.2k*.rpm
c59d34
  install_rpms_to_current_dir openssl-static-1.0.2k*.rpm
c59d34
  # openssl is installed to %{_buildrootdir}/usr/lib(64)/...
c59d34
  export PKG_CONFIG_PATH=%{_buildrootdir}/%{_libdir}/pkgconfig/:$PKG_CONFIG_PATH
c59d34
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/libcrypto.pc prefix=%{_buildrootdir}/usr
c59d34
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/libssl.pc prefix=%{_buildrootdir}/usr
c59d34
  replace_prefix %{_buildrootdir}/%{_libdir}/pkgconfig/openssl.pc prefix=%{_buildrootdir}/usr
c59d34
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/libcrypto.pc
c59d34
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/libssl.pc
c59d34
  cat  %{_buildrootdir}/%{_libdir}/pkgconfig/openssl.pc
c59d34
  pushd %{_rpmdir}
c59d34
  rm -f openssl-*.rpm
c59d34
  popd
c59d34
  popd
c59d34
%endif
c59d34
c59d34
# We need to disable exit on error temporarily for the following scripts:
c59d34
set +e
c59d34
%if 0%{?use_dts}
c59d34
source scl_source enable devtoolset-%{dts_version}
c59d34
%endif
c59d34
%if 0%{?use_rustts}
c59d34
source scl_source enable rust-toolset-%{rust_toolset_version}
c59d34
%endif
c59d34
b41e6b
env
b41e6b
which gcc
b41e6b
which c++
b41e6b
which g++
b41e6b
which ld
c59d34
# Build and install local node if needed
c59d34
# ======================================
c59d34
%if %{use_bundled_nodejs}
3f591a
  build_bundled_package 'nodejs-10*.rpm' 'nodejs-*.rpm npm-*.rpm' %{SOURCE304} "--with bootstrap"
c59d34
  export MOZ_NODEJS=$PACKAGE_DIR/usr/bin/node
c59d34
%else
c59d34
  export MOZ_NODEJS=/usr/bin/node
c59d34
%endif
c59d34
c59d34
mkdir -p my_rust_vendor
c59d34
cd my_rust_vendor
c59d34
%{__tar} xf %{SOURCE2}
c59d34
cd -
c59d34
mkdir -p .cargo
c59d34
cat > .cargo/config <
c59d34
[source.crates-io]
c59d34
replace-with = "vendored-sources"
c59d34
c59d34
[source.vendored-sources]
c59d34
directory = "`pwd`/my_rust_vendor"
c59d34
EOL
c59d34
c59d34
export CARGO_HOME=.cargo
c59d34
cargo install cbindgen
c59d34
export PATH=`pwd`/.cargo/bin:$PATH
c59d34
export CBINDGEN=`pwd`/.cargo/bin/cbindgen
c59d34
c59d34
c59d34
%if %{?system_sqlite}
c59d34
# Do not proceed with build if the sqlite require would be broken:
c59d34
# make sure the minimum requirement is non-empty, ...
c59d34
sqlite_version=$(expr "%{sqlite_version}" : '\([0-9]*\.\)[0-9]*\.') || exit 1
c59d34
# ... and that major number of the computed build-time version matches:
c59d34
case "%{sqlite_build_version}" in
c59d34
  "$sqlite_version"*) ;;
c59d34
  *) exit 1 ;;
c59d34
esac
c59d34
%endif
c59d34
3f591a
# debug missing sqlite3 python module
3f591a
./mach python -c "import sys;print(sys.path)"
3f591a
c59d34
%if 0%{?big_endian}
69c14a
  %if 0%{?flatpak}
69c14a
echo "Generate big endian version of config/external/icu/data/icud58l.dat"
69c14a
icupkg -tb config/external/icu/data/icudt67l.dat config/external/icu/data/icudt67b.dat
69c14a
ls -l config/external/icu/data
69c14a
rm -f config/external/icu/data/icudt*l.dat
69c14a
  %else
c59d34
echo "Generate big endian version of config/external/icu/data/icud64l.dat"
c59d34
 ./mach python intl/icu_sources_data.py .
c59d34
 rm -f config/external/icu/data/icudt*l.dat
c59d34
# mv config/external/icu/data/icudt64l.dat config/external/icu/data/icudt64b.dat
c59d34
 ls -l config/external/icu/data
c59d34
 cat /tmp/icu-make*
69c14a
  %endif
c59d34
%endif
c59d34
c59d34
mkdir %{_buildrootdir}/bin || :
c59d34
cp %{SOURCE28} %{_buildrootdir}/bin || :
3f591a
chmod +x %{_buildrootdir}/bin/node-stdout-nonblocking-wrapper
c59d34
c59d34
# Update the various config.guess to upstream release for aarch64 support
c59d34
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
c59d34
c59d34
# -fpermissive is needed to build with gcc 4.6+ which has become stricter
c59d34
#
c59d34
# Mozilla builds with -Wall with exception of a few warnings which show up
c59d34
# everywhere in the code; so, don't override that.
c59d34
#
c59d34
# Disable C++ exceptions since Mozilla code is not exception-safe
c59d34
#
c59d34
MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
c59d34
#rhbz#1037063
c59d34
# -Werror=format-security causes build failures when -Wno-format is explicitly given
c59d34
# for some sources
c59d34
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
c59d34
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
c59d34
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
c59d34
%if 0%{?fedora} > 23
c59d34
# Disable null pointer gcc6 optimization in gcc6 (rhbz#1328045)
c59d34
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks"
c59d34
%endif
c59d34
# Use hardened build?
c59d34
%if %{?hardened_build}
c59d34
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
c59d34
%endif
c59d34
%if %{?debug_build}
c59d34
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
c59d34
%endif
c59d34
%ifarch s390
c59d34
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/')
c59d34
# If MOZ_DEBUG_FLAGS is empty, firefox's build will default it to "-g" which
c59d34
# overrides the -g1 from line above and breaks building on s390
c59d34
# (OOM when linking, rhbz#1238225)
c59d34
export MOZ_DEBUG_FLAGS=" "
c59d34
%endif
3f591a
3f591a
# We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss
3f591a
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
3f591a
b41e6b
%ifarch s390 %{arm} ppc aarch64 i686 x86_64 s390x
c59d34
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
c59d34
%endif
3f591a
%ifarch %{arm} i686
3f591a
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug"
b21e02
echo "ac_add_options --enable-linker=gold" >> .mozconfig
b21e02
%endif
3f591a
3f591a
%ifarch %{arm} i686
3f591a
export RUSTFLAGS="-Cdebuginfo=0"
c59d34
%endif
c59d34
export CFLAGS=$MOZ_OPT_FLAGS
c59d34
export CXXFLAGS=$MOZ_OPT_FLAGS
c59d34
export LDFLAGS=$MOZ_LINK_FLAGS
c59d34
c59d34
export PREFIX='%{_prefix}'
c59d34
export LIBDIR='%{_libdir}'
c59d34
export CC=gcc
c59d34
export CXX=g++
c59d34
c59d34
MOZ_SMP_FLAGS=-j1
c59d34
# More than two build tasks can lead to OOM gcc crash.
c59d34
%if 0%{?rhel} < 8
c59d34
[ -z "$RPM_BUILD_NCPUS" ] && \
c59d34
     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
c59d34
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
c59d34
%else
c59d34
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64
c59d34
[ -z "$RPM_BUILD_NCPUS" ] && \
c59d34
     RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
c59d34
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
69c14a
[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j3
69c14a
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j3
c59d34
%endif
c59d34
%endif
3f591a
b41e6b
cat /proc/meminfo
3f591a
b41e6b
# Free memory in kB
69c14a
if grep -q MemAvailable /proc/meminfo; then
69c14a
    MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }')
69c14a
else
69c14a
    MEM_AVAILABLE=$(grep MemFree /proc/meminfo | awk '{ print $2 }')
69c14a
fi
b41e6b
b41e6b
# Usually the compiler processes can take 2 GB of memory at peaks
b41e6b
TASK_SIZE=4000000
b41e6b
MEM_CONSTRAINED_JOBS=$(( MEM_AVAILABLE / TASK_SIZE ))
b41e6b
CPU_AVAILABLE=$(/usr/bin/getconf _NPROCESSORS_ONLN)
b41e6b
# Pick the minimum from available CPUs or memory constrained number of jobs
69c14a
MOZ_SMP_FLAGS=-j$([ "$CPU_AVAILABLE" -le "$MEM_CONSTRAINED_JOBS" ] && echo "$CPU_AVAILABLE" || echo "$MEM_CONSTRAINED_JOBS")
c59d34
c59d34
%if 0%{?bundle_gtk3}
c59d34
# gtk3-private-setup-flags-env.inc
c59d34
%include_file %{SOURCE205}
c59d34
%endif
c59d34
3f591a
%if 0%{?bundle_nss}
3f591a
echo "Setting nss flags"
3f591a
# nss-setup-flags-env.inc
3f591a
%include_file %{SOURCE401}
3f591a
export PATH=%{_buildrootdir}/%{gtk3_install_path}/bin:$PATH
3f591a
echo $PKG_CONFIG_PATH
3f591a
%endif
3f591a
c59d34
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
c59d34
export MOZ_SERVICES_SYNC="1"
3f591a
# we need to strip the sources on i686 because to we don't use rpm to generate debugsymbols because of oom
b41e6b
%ifnarch i686 i386
c59d34
export STRIP=/bin/true
3f591a
%endif
3f591a
which node
3f591a
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"'
3f591a
env
3f591a
ls %{_buildrootdir}
3f591a
b41e6b
b41e6b
%if 0%{?rhel} == 6
b41e6b
export POLICY_FILE="rhel6.config"
b41e6b
export POLICT_PATH="/etc/pki/nss-legacy"
b41e6b
%endif
b41e6b
b41e6b
%if 0%{?use_llvmts}
b41e6b
scl enable llvm-toolset-%{llvm_version} './mach build -v'
b41e6b
%else
c59d34
./mach build -v
b41e6b
%endif
c59d34
c59d34
# create debuginfo for crash-stats.mozilla.com
c59d34
%if %{enable_mozilla_crashreporter}
c59d34
#cd %{moz_objdir}
c59d34
make -C objdir buildsymbols
c59d34
%endif
c59d34
c59d34
%if %{?run_tests}
c59d34
%if %{?system_nss}
c59d34
ln -s /usr/bin/certutil objdir/dist/bin/certutil
c59d34
ln -s /usr/bin/pk12util objdir/dist/bin/pk12util
c59d34
c59d34
%endif
c59d34
mkdir test_results
c59d34
./mach --log-no-times check-spidermonkey &> test_results/check-spidermonkey || true
c59d34
./mach --log-no-times check-spidermonkey &> test_results/check-spidermonkey-2nd-run || true
c59d34
./mach --log-no-times cppunittest &> test_results/cppunittest || true
c59d34
xvfb-run ./mach --log-no-times crashtest &> test_results/crashtest || true
c59d34
./mach --log-no-times gtest &> test_results/gtest || true
c59d34
xvfb-run ./mach --log-no-times jetpack-test &> test_results/jetpack-test || true
c59d34
# not working right now ./mach marionette-test &> test_results/marionette-test || true
c59d34
xvfb-run ./mach --log-no-times mochitest-a11y &> test_results/mochitest-a11y || true
c59d34
xvfb-run ./mach --log-no-times mochitest-browser &> test_results/mochitest-browser || true
c59d34
xvfb-run ./mach --log-no-times mochitest-chrome &> test_results/mochitest-chrome || true
c59d34
xvfb-run ./mach --log-no-times mochitest-devtools &> test_results/mochitest-devtools || true
c59d34
xvfb-run ./mach --log-no-times mochitest-plain &> test_results/mochitest-plain || true
c59d34
xvfb-run ./mach --log-no-times reftest &> test_results/reftest || true
c59d34
xvfb-run ./mach --log-no-times webapprt-test-chrome &> test_results/webapprt-test-chrome || true
c59d34
xvfb-run ./mach --log-no-times webapprt-test-content &> test_results/webapprt-test-content || true
c59d34
./mach --log-no-times webidl-parser-test &> test_results/webidl-parser-test || true
c59d34
xvfb-run ./mach --log-no-times xpcshell-test &> test_results/xpcshell-test || true
c59d34
%if %{?system_nss}
c59d34
rm -f  objdir/dist/bin/certutil
c59d34
rm -f  objdir/dist/bin/pk12util
c59d34
%endif
c59d34
c59d34
%endif
c59d34
#---------------------------------------------------------------------
c59d34
c59d34
%install
c59d34
%if 0%{?rhel} == 6
c59d34
export SHELL=/bin/sh
c59d34
%endif
c59d34
c59d34
function install_rpms_to_current_dir() {
c59d34
    PACKAGE_RPM=$(eval echo $1)
c59d34
    PACKAGE_DIR=%{_rpmdir}
c59d34
c59d34
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
c59d34
        # Hack for tps tests
c59d34
        ARCH_STR=%{_arch}
c59d34
        %ifarch i386 i686
c59d34
            ARCH_STR="i?86"
c59d34
        %endif
b41e6b
        %if 0%{?rhel} > 6
b41e6b
          PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
b41e6b
        %endif
c59d34
     fi
c59d34
c59d34
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
c59d34
     do
c59d34
         echo "$package"
c59d34
         rpm2cpio "$package" | cpio -idu
c59d34
     done
c59d34
}
c59d34
3f591a
%if 0%{?bundle_gtk3}
c59d34
pushd %{buildroot}
c59d34
# Install gtk3-private again to the buildroot, but without devel subpackage
c59d34
install_rpms_to_current_dir gtk3-private-%{gtk3_nvr}*.rpm
c59d34
install_rpms_to_current_dir gtk3-private-rpm-scripts-%{gtk3_nvr}*.rpm
c59d34
popd
c59d34
%endif
c59d34
3f591a
%if 0%{?bundle_nss}
3f591a
  pushd %{buildroot}
3f591a
  #install_rpms_to_current_dir nss-*.rpm
3f591a
  install_rpms_to_current_dir nspr-4*.rpm
3f591a
  install_rpms_to_current_dir nss-3*.rpm
3f591a
  install_rpms_to_current_dir nss-softokn-3*.rpm
3f591a
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
3f591a
  install_rpms_to_current_dir nss-util-3*.rpm
3f591a
 
3f591a
  # cleanup unecessary nss files
3f591a
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/bin
3f591a
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/include
3f591a
  rm -rf %{buildroot}/%{gtk3_install_path}/lib/dracut
3f591a
  rm -rf %{buildroot}/%{gtk3_install_path}/%{_lib}/nss
3f591a
  #rm -rf %{_buildrootdir}/%{gtk3_install_path}/%{_lib}/pkgconfig
3f591a
  rm -rf %{buildroot}/%{gtk3_install_path}/%{_lib}/share
3f591a
  rm -rf %{buildroot}/%{gtk3_install_path}/share
3f591a
  rm -rf %{buildroot}/etc/pki
3f591a
  rm -rf %{buildroot}/usr/lib/.build-id
3f591a
  rm -rf %{buildroot}/etc/crypto-policies
3f591a
  popd
3f591a
%endif
3f591a
c59d34
# Install bundled libffi
c59d34
%if %{use_bundled_ffi}
c59d34
  pushd %{buildroot}
c59d34
  install_rpms_to_current_dir libffi-3*.rpm
c59d34
  popd
c59d34
%endif
c59d34
c59d34
# set up our default bookmarks
c59d34
%{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/chrome/en-US/locale/browser/bookmarks.html
c59d34
c59d34
# Make sure locale works for langpacks
c59d34
%{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF
c59d34
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
c59d34
EOF
c59d34
c59d34
DESTDIR=%{buildroot} make -C objdir install
c59d34
c59d34
%{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications}
c59d34
c59d34
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20}
c59d34
c59d34
# set up the firefox start script
c59d34
%{__rm} -rf %{buildroot}%{_bindir}/firefox
c59d34
%{__cat} %{SOURCE21} > %{buildroot}%{_bindir}/firefox
c59d34
%if 0%{?bundle_gtk3}
c59d34
sed -i -e 's|%RHEL_ENV_VARS%|export XDG_DATA_DIRS="$MOZ_LIB_DIR/firefox/bundled/share:/usr/share:$XDG_DATA_DIRS"\nexport FONTCONFIG_FILE="$MOZ_LIB_DIR/firefox/bundled/etc/fonts/fonts.conf"|' %{buildroot}%{_bindir}/firefox
c59d34
%else
c59d34
sed -i -e 's|%RHEL_ENV_VARS%||' %{buildroot}%{_bindir}/firefox
c59d34
%endif
c59d34
c59d34
%{__chmod} 755 %{buildroot}%{_bindir}/firefox
c59d34
c59d34
%{__install} -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1
c59d34
c59d34
%{__rm} -f %{buildroot}/%{mozappdir}/firefox-config
c59d34
%{__rm} -f %{buildroot}/%{mozappdir}/update-settings.ini
c59d34
c59d34
for s in 16 22 24 32 48 256; do
c59d34
    %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
c59d34
    %{__cp} -p browser/branding/official/default${s}.png \
c59d34
               %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png
c59d34
done
c59d34
c59d34
# Install hight contrast icon
c59d34
%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
c59d34
%{__cp} -p %{SOURCE25} \
c59d34
           %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
c59d34
c59d34
# Register as an application to be visible in the software center
c59d34
#
c59d34
# NOTE: It would be *awesome* if this file was maintained by the upstream
c59d34
# project, translated and installed into the right place during `make install`.
c59d34
#
c59d34
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
c59d34
#
c59d34
%{__mkdir_p} %{buildroot}%{_datadir}/appdata
c59d34
cat > %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml <
c59d34
c59d34
c59d34
c59d34
BugReportURL: https://bugzilla.mozilla.org/show_bug.cgi?id=1071061
c59d34
SentUpstream: 2014-09-22
c59d34
-->
c59d34
<application>
c59d34
  <id type="desktop">firefox.desktop</id>
c59d34
  <metadata_license>CC0-1.0</metadata_license>
c59d34
  <description>
c59d34
    

c59d34
      Bringing together all kinds of awesomeness to make browsing better for you.
c59d34
      Get to your favorite sites quickly – even if you don’t remember the URLs.
c59d34
      Type your term into the location bar (aka the Awesome Bar) and the autocomplete
c59d34
      function will include possible matches from your browsing history, bookmarked
c59d34
      sites and open tabs.
c59d34
    

c59d34
    
c59d34
  </description>
c59d34
  <url type="homepage">http://www.mozilla.org/</url>
c59d34
  <screenshots>
c59d34
    <screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png</screenshot>
c59d34
    <screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png</screenshot>
c59d34
    <screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png</screenshot>
c59d34
  </screenshots>
c59d34
  
c59d34
  <updatecontact>someone_who_cares@upstream_project.org</updatecontact>
c59d34
   -->
c59d34
</application>
c59d34
EOF
c59d34
c59d34
echo > %{name}.lang
c59d34
%if %{build_langpacks}
c59d34
# Extract langpacks, make any mods needed, repack the langpack, and install it.
c59d34
%{__mkdir_p} %{buildroot}%{langpackdir}
c59d34
%{__tar} xf %{SOURCE1}
c59d34
for langpack in `ls firefox-langpacks/*.xpi`; do
c59d34
  language=`basename $langpack .xpi`
c59d34
  extensionID=langpack-$language@firefox.mozilla.org
c59d34
  %{__mkdir_p} $extensionID
c59d34
  unzip -qq $langpack -d $extensionID
c59d34
  find $extensionID -type f | xargs chmod 644
c59d34
c59d34
  cd $extensionID
c59d34
  zip -qq -r9mX ../${extensionID}.xpi *
c59d34
  cd -
c59d34
c59d34
  %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir}
c59d34
  language=`echo $language | sed -e 's/-/_/g'`
c59d34
  echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang
c59d34
done
c59d34
%{__rm} -rf firefox-langpacks
c59d34
c59d34
# Install langpack workaround (see #707100, #821169)
c59d34
function create_default_langpack() {
c59d34
language_long=$1
c59d34
language_short=$2
c59d34
cd %{buildroot}%{langpackdir}
c59d34
ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi
c59d34
cd -
c59d34
echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang
c59d34
}
c59d34
c59d34
# Table of fallbacks for each language
c59d34
# please file a bug at bugzilla.redhat.com if the assignment is incorrect
c59d34
create_default_langpack "es-AR" "es"
c59d34
create_default_langpack "fy-NL" "fy"
c59d34
create_default_langpack "ga-IE" "ga"
c59d34
create_default_langpack "gu-IN" "gu"
c59d34
create_default_langpack "hi-IN" "hi"
c59d34
create_default_langpack "hy-AM" "hy"
c59d34
create_default_langpack "nb-NO" "nb"
c59d34
create_default_langpack "nn-NO" "nn"
c59d34
create_default_langpack "pa-IN" "pa"
c59d34
create_default_langpack "pt-PT" "pt"
c59d34
create_default_langpack "sv-SE" "sv"
c59d34
create_default_langpack "zh-TW" "zh"
c59d34
%endif
c59d34
c59d34
# Keep compatibility with the old preference location.
c59d34
%{__mkdir_p} %{buildroot}%{mozappdir}/defaults/preferences
c59d34
%{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults
c59d34
ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults/preferences
c59d34
# Default preferences
c59d34
%{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
c59d34
c59d34
# System config dir
c59d34
%{__mkdir_p} %{buildroot}/%{_sysconfdir}/%{name}/pref
c59d34
c59d34
# System extensions
c59d34
%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id}
c59d34
%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id}
c59d34
c59d34
# Copy over the LICENSE
c59d34
%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir}
c59d34
c59d34
# Use the system hunspell dictionaries
c59d34
%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries
c59d34
ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries
c59d34
c59d34
# Enable crash reporter for Firefox application
c59d34
%if %{enable_mozilla_crashreporter}
c59d34
sed -i -e "s/\[Crash Reporter\]/[Crash Reporter]\nEnabled=1/" %{buildroot}/%{mozappdir}/application.ini
c59d34
# Add debuginfo for crash-stats.mozilla.com
c59d34
%{__mkdir_p} %{buildroot}/%{moz_debug_dir}
c59d34
%{__cp} objdir/dist/%{symbols_file_name} %{buildroot}/%{moz_debug_dir}
c59d34
%endif
c59d34
c59d34
%if %{run_tests}
c59d34
# Add debuginfo for crash-stats.mozilla.com
c59d34
%{__mkdir_p} %{buildroot}/test_results
c59d34
%{__cp} test_results/* %{buildroot}/test_results
c59d34
%endif
c59d34
c59d34
c59d34
# Copy over run-mozilla.sh
c59d34
%{__cp} build/unix/run-mozilla.sh %{buildroot}%{mozappdir}
c59d34
c59d34
# Add distribution.ini
c59d34
%{__mkdir_p} %{buildroot}%{mozappdir}/distribution
c59d34
%{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution
c59d34
c59d34
%if 0%{?centos}
c59d34
sed -i -e 's|Red Hat Enterprise|CentOS|' %{buildroot}%{mozappdir}/distribution/distribution.ini
c59d34
%endif
c59d34
c59d34
# Remove copied libraries to speed up build
c59d34
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozjs.so
c59d34
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozalloc.so
c59d34
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libxul.so
c59d34
c59d34
%if %{bundle_gnome_extension}
c59d34
# Gnome extension
c59d34
%{__mkdir_p} %{buildroot}%{mozappdir}/distribution/extensions
c59d34
%{__cp} -p %{SOURCE2} %{buildroot}%{mozappdir}/distribution/extensions/chrome-gnome-shell@gnome.org.xpi
c59d34
chmod 644 %{buildroot}%{mozappdir}/distribution/extensions/chrome-gnome-shell@gnome.org.xpi
c59d34
%endif
c59d34
#---------------------------------------------------------------------
c59d34
c59d34
%preun
c59d34
# is it a final removal?
c59d34
if [ $1 -eq 0 ]; then
c59d34
  %{__rm} -rf %{mozappdir}/components
c59d34
  %{__rm} -rf %{mozappdir}/extensions
c59d34
  %{__rm} -rf %{mozappdir}/plugins
c59d34
fi
c59d34
c59d34
%clean
c59d34
rm -rf %{_srcrpmdir}/gtk3-private-%{gtk3_nvr}*.src.rpm
c59d34
find %{_rpmdir} -name "gtk3-private-*%{gtk3_nvr}*.rpm" -delete
c59d34
rm -rf %{_srcrpmdir}/libffi*.src.rpm
c59d34
find %{_rpmdir} -name "libffi*.rpm" -delete
c59d34
rm -rf %{_srcrpmdir}/openssl*.src.rpm
c59d34
find %{_rpmdir} -name "openssl*.rpm" -delete
3f591a
rm -rf %{_srcrpmdir}/nss*.src.rpm
3f591a
find %{_rpmdir} -name "nss*.rpm" -delete
3f591a
rm -rf %{_srcrpmdir}/nspr*.src.rpm
3f591a
find %{_rpmdir} -name "nspr*.rpm" -delete
c59d34
c59d34
%post
c59d34
update-desktop-database &> /dev/null || :
c59d34
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
c59d34
%if 0%{?bundle_gtk3}
c59d34
# gtk3-private-post.inc
c59d34
%include_file %{SOURCE201}
c59d34
%endif
c59d34
c59d34
%postun
c59d34
update-desktop-database &> /dev/null || :
c59d34
if [ $1 -eq 0 ] ; then
c59d34
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
c59d34
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
c59d34
fi
c59d34
%if 0%{?bundle_gtk3}
c59d34
# gtk3-private-postun.inc
c59d34
%include_file %{SOURCE202}
c59d34
%endif
c59d34
c59d34
%posttrans
c59d34
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
c59d34
%if 0%{?bundle_gtk3}
c59d34
# gtk3-private-posttrans.inc
c59d34
%include_file %{SOURCE203}
c59d34
%endif
c59d34
c59d34
%files -f %{name}.lang
c59d34
%{_bindir}/firefox
c59d34
%{mozappdir}/firefox
c59d34
%{mozappdir}/firefox-bin
c59d34
%doc %{_mandir}/man1/*
c59d34
%dir %{_sysconfdir}/%{name}
c59d34
%dir %{_sysconfdir}/%{name}/*
c59d34
%dir %{_datadir}/mozilla/extensions/*
c59d34
%dir %{_libdir}/mozilla/extensions/*
c59d34
%{_datadir}/appdata/*.appdata.xml
c59d34
%{_datadir}/applications/*.desktop
c59d34
%dir %{mozappdir}
c59d34
%doc %{mozappdir}/LICENSE
c59d34
%{mozappdir}/browser/chrome
c59d34
%{mozappdir}/defaults/preferences/*
c59d34
%{mozappdir}/browser/defaults/preferences
c59d34
%{mozappdir}/browser/features/*.xpi
c59d34
%{mozappdir}/distribution/distribution.ini
ffa54f
%if %{build_langpacks}
ffa54f
%dir %{langpackdir}
ffa54f
%endif
c59d34
%{mozappdir}/browser/omni.ja
c59d34
%{mozappdir}/run-mozilla.sh
c59d34
%{mozappdir}/application.ini
c59d34
%{mozappdir}/pingsender
c59d34
%exclude %{mozappdir}/removed-files
c59d34
%{_datadir}/icons/hicolor/16x16/apps/firefox.png
c59d34
%{_datadir}/icons/hicolor/22x22/apps/firefox.png
c59d34
%{_datadir}/icons/hicolor/24x24/apps/firefox.png
c59d34
%{_datadir}/icons/hicolor/256x256/apps/firefox.png
c59d34
%{_datadir}/icons/hicolor/32x32/apps/firefox.png
c59d34
%{_datadir}/icons/hicolor/48x48/apps/firefox.png
c59d34
%{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg
c59d34
%if %{enable_mozilla_crashreporter}
c59d34
%{mozappdir}/crashreporter
c59d34
%{mozappdir}/crashreporter.ini
c59d34
%{mozappdir}/minidump-analyzer
c59d34
%{mozappdir}/Throbber-small.gif
c59d34
%{mozappdir}/browser/crashreporter-override.ini
c59d34
%endif
c59d34
%{mozappdir}/*.so
c59d34
%{mozappdir}/gtk2/*.so
c59d34
%{mozappdir}/defaults/pref/channel-prefs.js
c59d34
%{mozappdir}/dependentlibs.list
c59d34
%{mozappdir}/dictionaries
c59d34
%{mozappdir}/omni.ja
c59d34
%{mozappdir}/platform.ini
c59d34
%{mozappdir}/plugin-container
c59d34
%{mozappdir}/gmp-clearkey
c59d34
%{mozappdir}/fonts/*.ttf
c59d34
%if !%{?system_nss}
c59d34
%exclude %{mozappdir}/libnssckbi.so
c59d34
%endif
c59d34
%if 0%{use_bundled_ffi}
c59d34
%{mozappdir}/bundled/%{_lib}/libffi.so*
c59d34
%exclude %{_datadir}/doc/libffi*
c59d34
%endif
c59d34
c59d34
%if 0%{?bundle_gtk3}
c59d34
# gtk3-private-files.inc
c59d34
%include_file %{SOURCE204}
c59d34
%endif
c59d34
3f591a
%if 0%{?bundle_nss}
3f591a
%{mozappdir}/bundled/%{_lib}/libfreebl*
3f591a
%{mozappdir}/bundled/%{_lib}/libnss3*
3f591a
%{mozappdir}/bundled/%{_lib}/libnssdbm3*
3f591a
%{mozappdir}/bundled/%{_lib}/libnssutil3*
3f591a
%{mozappdir}/bundled/%{_lib}/libsmime3*
3f591a
%{mozappdir}/bundled/%{_lib}/libsoftokn*
3f591a
%{mozappdir}/bundled/%{_lib}/libssl3*
3f591a
%{mozappdir}/bundled/%{_lib}/libnspr4.so
3f591a
%{mozappdir}/bundled/%{_lib}/libplc4.so
3f591a
%{mozappdir}/bundled/%{_lib}/libplds4.so
3f591a
%endif
3f591a
c59d34
c59d34
#---------------------------------------------------------------------
c59d34
c59d34
%changelog
69c14a
* Thu Dec 10 2020 Jan Horak <jhorak@redhat.com> - 78.6.0-1
69c14a
- Update to 78.6.0 build1
69c14a
69c14a
* Wed Nov 18 2020 Jan Horak <jhorak@redhat.com> - 78.5.0-1
69c14a
- Update to 78.5.0 build1
69c14a
69c14a
* Tue Nov 10 2020 erack@redhat.com - 78.4.1-1
69c14a
- Update to 78.4.1
69c14a
69c14a
* Tue Nov 10 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-3
69c14a
- Fixing flatpak build, fixing firefox.sh.in to not disable langpacks loading
69c14a
69c14a
* Thu Oct 29 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-2
69c14a
- Enable addon sideloading
69c14a
69c14a
* Fri Oct 16 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-1
69c14a
- Update to 78.4.0 build2
69c14a
b41e6b
* Fri Sep 18 2020 Jan Horak <jhorak@redhat.com>
b41e6b
- Update to 78.3.0 build1
b41e6b
ffa54f
* Tue Aug 18 2020 Jan Horak <jhorak@redhat.com> - 78.2.0-3
3f591a
- Update to 78.2.0 build1
3f591a
3f591a
* Fri Jul 24 2020 Jan Horak <jhorak@redhat.com>
3f591a
- Update to 68.11.0 build1
3f591a
3f591a
* Fri Jun 26 2020 Jan Horak <jhorak@redhat.com>
3f591a
- Update to 68.10.0 build1
3f591a
c59d34
* Fri May 29 2020 Jan Horak <jhorak@redhat.com>
c59d34
- Update to 68.9.0 build1
c59d34
- Added patch for pipewire 0.3
c59d34
c59d34
* Mon May 11 2020 Jan Horak <jhorak@redhat.com>
c59d34
- Added s390x specific patches
c59d34
c59d34
* Wed Apr 29 2020 Jan Horak <jhorak@redhat.com>
c59d34
- Update to 68.8.0 build1
c59d34
c59d34
* Thu Apr 23 2020 Martin Stransky <stransky@redhat.com> - 68.7.0-3
c59d34
- Added fix for rhbz#1821418
c59d34
c59d34
* Tue Apr 07 2020 Jan Horak <jhorak@redhat.com> - 68.7.0-2
c59d34
- Update to 68.7.0 build3
c59d34
c59d34
* Mon Apr  6 2020 Jan Horak <jhorak@redhat.com> - 68.6.1-1
c59d34
- Update to 68.6.1 ESR
c59d34
c59d34
* Wed Mar 04 2020 Jan Horak <jhorak@redhat.com>
c59d34
- Update to 68.6.0 build1
c59d34
c59d34
* Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 68.5.0-3
c59d34
- Added fix for rhbz#1805667
c59d34
- Enabled mzbz@1170092 - Firefox prefs at /etc
c59d34
c59d34
* Fri Feb 07 2020 Jan Horak <jhorak@redhat.com>
c59d34
- Update to 68.5.0 build2
c59d34
c59d34
* Wed Feb 05 2020 Jan Horak <jhorak@redhat.com>
c59d34
- Update to 68.5.0 build1
c59d34
c59d34
* Wed Jan 08 2020 Jan Horak <jhorak@redhat.com>
c59d34
- Update to 68.4.1esr build1
c59d34
c59d34
* Fri Jan 03 2020 Jan Horak <jhorak@redhat.com>
c59d34
- Update to 68.4.0esr build1
c59d34
c59d34
* Wed Dec 18 2019 Jan Horak <jhorak@redhat.com>
c59d34
- Fix for wrong intl.accept_lang when using non en-us langpack
c59d34
c59d34
* Wed Nov 27 2019 Martin Stransky <stransky@redhat.com> - 68.3.0-1
c59d34
- Update to 68.3.0 ESR
c59d34
c59d34
* Thu Oct 24 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-4
c59d34
- Added patch for TLS 1.3 support.
c59d34
c59d34
* Wed Oct 23 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-3
c59d34
- Rebuild
c59d34
c59d34
* Mon Oct 21 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-2
c59d34
- Rebuild
c59d34
c59d34
* Thu Oct 17 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-1
c59d34
- Update to 68.2.0 ESR
c59d34
c59d34
* Thu Oct 10 2019 Martin Stransky <stransky@redhat.com> - 68.1.0-6
c59d34
- Enable system nss on RHEL6
c59d34
c59d34
* Thu Sep  5 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-2
c59d34
- Enable building langpacks
c59d34
c59d34
* Wed Aug 28 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-1
c59d34
- Update to 68.1.0 ESR
c59d34
c59d34
* Mon Aug 5 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-4
c59d34
- Enable system nss
c59d34
c59d34
* Mon Jul 29 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-3
c59d34
- Enable official branding
c59d34
c59d34
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-2
c59d34
- Enabled PipeWire on RHEL8
c59d34
c59d34
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-1
c59d34
- Updated to 68.0.1 ESR
c59d34
c59d34
* Tue Jul 16 2019 Jan Horak <jhorak@redhat.com> - 68.0-0.11
c59d34
- Update to 68.0 ESR
c59d34
c59d34
* Tue Jun 25 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.10
c59d34
- Updated to 68.0 alpha 13
c59d34
- Enabled second arches
c59d34
c59d34
* Fri Mar 22 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.1
c59d34
- Updated to 68.0 alpha
c59d34
c59d34
* Fri Mar 15 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-3
c59d34
- Added Google API keys (mozbz#1531176)
c59d34
c59d34
* Thu Mar 14 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-2
c59d34
- Update to 60.6.0 ESR (Build 2)
c59d34
c59d34
* Wed Mar 13 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-1
c59d34
- Update to 60.6.0 ESR (Build 1)
c59d34
c59d34
* Wed Feb 13 2019 Jan Horak <jhorak@redhat.com> - 60.5.1-1
c59d34
- Update to 60.5.1 ESR
c59d34
c59d34
* Wed Feb 6 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-3
c59d34
- Added fix for rhbz#1672424 - Firefox crashes on NFS drives.
c59d34
c59d34
* Fri Jan 25 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-2
c59d34
- Updated to 60.5.0 ESR build2
c59d34
c59d34
* Tue Jan 22 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-1
c59d34
- Updated to 60.5.0 ESR build1
c59d34
c59d34
* Thu Jan 10 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-3
c59d34
- Fixing fontconfig warnings (rhbz#1601475)
c59d34
c59d34
* Wed Jan  9 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-2
c59d34
- Added pipewire patch from Tomas Popela (rhbz#1664270)
c59d34
c59d34
* Wed Dec  5 2018 Jan Horak <jhorak@redhat.com> - 60.4.0-1
c59d34
- Update to 60.4.0 ESR
c59d34
c59d34
* Tue Dec  4 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-2
c59d34
- Added firefox-gnome-shell-extension
c59d34
c59d34
* Fri Oct 19 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-1
c59d34
- Update to 60.3.0 ESR
c59d34
c59d34
* Wed Oct 10 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-2
c59d34
- Added patch for rhbz#1633932
c59d34
c59d34
* Tue Oct  2 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-1
c59d34
- Update to 60.2.2 ESR
c59d34
c59d34
* Mon Sep 24 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-1
c59d34
- Update to 60.2.1 ESR
c59d34
c59d34
* Fri Aug 31 2018 Jan Horak <jhorak@redhat.com> - 60.2.0-1
c59d34
- Update to 60.2.0 ESR
c59d34
c59d34
* Tue Aug 28 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-9
c59d34
- Do not set user agent (rhbz#1608065)
c59d34
- GTK dialogs are localized now (rhbz#1619373)
c59d34
- JNLP association works again (rhbz#1607457)
c59d34
c59d34
* Thu Aug 16 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-8
c59d34
- Fixed homepage and bookmarks (rhbz#1606778)
c59d34
- Fixed missing file associations in RHEL6 (rhbz#1613565)
c59d34
c59d34
* Thu Jul 12 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-7
c59d34
- Run at-spi-bus if not running already (for the bundled gtk3)
c59d34
c59d34
* Mon Jul  9 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-6
c59d34
- Fix for missing schemes for bundled gtk3
c59d34
c59d34
* Mon Jun 25 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-5
c59d34
- Added mesa-libEGL dependency to gtk3/rhel6
c59d34
c59d34
* Sun Jun 24 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-4
c59d34
- Disabled jemalloc on all second arches
c59d34
c59d34
* Fri Jun 22 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-3
c59d34
- Updated to 60.1.0 ESR build2
c59d34
c59d34
* Thu Jun 21 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-2
c59d34
- Disabled jemalloc on second arches
c59d34
c59d34
* Wed Jun 20 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-1
c59d34
- Updated to 60.1.0 ESR
c59d34
c59d34
* Wed Jun 13 2018 Jan Horak <jhorak@redhat.com> - 60.0-12
c59d34
- Fixing bundled libffi issues
c59d34
- Readded some requirements
c59d34
c59d34
* Mon Jun 11 2018 Martin Stransky <stransky@redhat.com> - 60.0-10
c59d34
- Added fix for mozilla BZ#1436242 - IPC crashes.
c59d34
c59d34
* Mon Jun 11 2018 Jan Horak <jhorak@redhat.com> - 60.0-9
c59d34
- Bundling libffi for the sec-arches
c59d34
- Added openssl-devel for the Python
c59d34
- Fixing bundled gtk3
c59d34
c59d34
* Fri May 18 2018 Martin Stransky <stransky@redhat.com> - 60.0-8
c59d34
- Added fix for mozilla BZ#1458492
c59d34
c59d34
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-7
c59d34
- Added patch from rhbz#1498561 to fix ppc64(le) crashes.
c59d34
c59d34
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-6
c59d34
- Disabled jemalloc on second arches
c59d34
c59d34
* Sun May  6 2018 Jan Horak <jhorak@redhat.com> - 60.0-4
c59d34
- Update to 60.0 ESR
c59d34
c59d34
* Thu Mar  8 2018 Jan Horak <jhorak@redhat.com> - 52.7.0-1
c59d34
- Update to 52.7.0 ESR
c59d34
c59d34
* Mon Jan 29 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-2
c59d34
- Build Firefox for desktop arches only (x86_64 and ppc64le)
c59d34
c59d34
* Thu Jan 18 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-1
c59d34
- Update to 52.6.0 ESR
c59d34
c59d34
* Thu Nov  9 2017 Jan Horak <jhorak@redhat.com> - 52.5.0-1
c59d34
- Update to 52.5.0 ESR
c59d34
c59d34
* Mon Sep 25 2017 Jan Horak <jhorak@redhat.com> - 52.4.0-1
c59d34
- Update to 52.4.0 ESR
c59d34
c59d34
* Thu Aug  3 2017 Jan Horak <jhorak@redhat.com> - 52.3.0-3
c59d34
- Update to 52.3.0 ESR (b2)
c59d34
- Require correct nss version
c59d34
c59d34
* Tue Jun 13 2017 Jan Horak <jhorak@redhat.com> - 52.2.0-1
c59d34
- Update to 52.2.0 ESR
c59d34
c59d34
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.1.2-1
c59d34
- Update to 52.1.2 ESR
c59d34
c59d34
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.0-7
c59d34
- Added fix for accept language (rhbz#1454322)
c59d34
c59d34
* Wed Mar 22 2017 Jan Horak <jhorak@redhat.com> - 52.0-6
c59d34
- Removing patch required for older NSS from RHEL 7.3
c59d34
- Added patch for rhbz#1414564
c59d34
c59d34
* Fri Mar 17 2017 Martin Stransky <stransky@redhat.com> - 52.0-5
c59d34
- Added fix for mozbz#1348168/CVE-2017-5428
c59d34
c59d34
* Mon Mar  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-4
c59d34
- Update to 52.0 ESR (b4)
c59d34
c59d34
* Thu Mar 2 2017 Martin Stransky <stransky@redhat.com> - 52.0-3
c59d34
- Added fix for rhbz#1423012 - ppc64 gfx crashes
c59d34
c59d34
* Wed Mar  1 2017 Jan Horak <jhorak@redhat.com> - 52.0-2
c59d34
- Enable system nss
c59d34
c59d34
* Tue Feb 28 2017 Martin Stransky <stransky@redhat.com> - 52.0-1
c59d34
- Update to 52.0ESR (B1)
c59d34
- Build RHEL7 package for Gtk3
c59d34
c59d34
* Mon Feb 27 2017 Martin Stransky <stransky@redhat.com> - 52.0-0.13
c59d34
- Added fix for rhbz#1414535
c59d34
c59d34
* Tue Feb 21 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.12
c59d34
- Update to 52.0b8
c59d34
c59d34
* Tue Feb  7 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.11
c59d34
- Readded addons patch
c59d34
c59d34
* Mon Feb  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.10
c59d34
- Update to 52.0b3
c59d34
c59d34
* Tue Jan 31 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.9
c59d34
- Update to 52.0b2
c59d34
c59d34
* Fri Jan 27 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.8
c59d34
- Update to 52.0b1
c59d34
c59d34
* Thu Dec  8 2016 Jan Horak <jhorak@redhat.com> - 52.0-0.5
c59d34
- Firefox Aurora 52 testing build