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

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

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