4c0036
%global disable_toolsets  0
4c0036
17290f
%ifarch %{ix86}
17290f
  # no debug package for the i686 because oom on i686 with debuginfos
17290f
  #FIXME revise if still necessary
17290f
  %global debug_package %{nil}
a173ee
%endif
61b5ae
e30b24
%{lua:
e30b24
function dist_to_rhel_minor(str, start)
e30b24
  match = string.match(str, ".module%+el8.%d+")
e30b24
  if match then
e30b24
     return string.sub(match, 13)
e30b24
  end
e30b24
  match = string.match(str, ".el8_%d+")
e30b24
  if match then
e30b24
     return string.sub(match, 6)
e30b24
  end
f2ba8c
  match = string.match(str, ".el8")
f2ba8c
  if match then
4f1bf9
     return 7
f2ba8c
  end
e30b24
  return -1
e30b24
end}
e30b24
e30b24
%global rhel_minor_version %{lua:print(dist_to_rhel_minor(rpm.expand("%dist")))}
17290f
%global build_with_clang  0
a173ee
61b5ae
%global system_nss        1
fefd99
%global bundle_nss        0
fefd99
e8f573
%if 0%{?rhel} == 8
17290f
  %if %{rhel_minor_version} < 3
17290f
    %global bundle_nss        1
17290f
    %global system_nss        1
61b5ae
  %endif
ea2d40
%endif
fefd99
4c0036
%define use_bundled_ffi   0
fefd99
17290f
%global use_llvmts        0
17290f
%global use_nodejsts      0
17290f
%if 0%{?rhel} < 8
17290f
%global use_llvmts        1
17290f
%global use_nodejsts      1
a595fa
%endif
a595fa
17290f
%global nodejs_rb         nodejs
17290f
%global llvm_version      7.0
4c0036
e8f573
%if 0%{?rhel} == 8
17290f
%global llvm_version      6.0
e8f573
%endif
4c0036
17290f
%if 0%{?rhel} == 7
17290f
  %global use_dts         1
17290f
  %global nodejs_rb       rh-nodejs10-nodejs
17290f
  %global llvm_version    11.0
4c0036
%endif
4c0036
4c0036
%global use_rustts        1
17290f
%if 0%{?rhel} >= 9
17290f
  %global use_rustts      0
4c0036
%endif
4c0036
17290f
%global dts_version       10
17290f
%global rust_version      1.52
17290f
4c0036
%if 0%{?disable_toolsets}
4c0036
%global use_rustts        0
4c0036
%global use_dts           0
4c0036
%global use_llvmts        0
4c0036
%endif
4c0036
4c0036
# Big endian platforms
4c0036
%ifarch ppc64 s390x
4c0036
# Javascript Intl API is not supported on big endian platforms right now:
4c0036
# https://bugzilla.mozilla.org/show_bug.cgi?id=1322212
4c0036
%global big_endian        1
4c0036
%endif
4c0036
4c0036
# Hardened build?
4c0036
%global hardened_build    1
4c0036
4c0036
%ifarch %{ix86} x86_64
4c0036
%global run_tests         0
4c0036
%else
4c0036
%global run_tests         0
4c0036
%endif
4c0036
4c0036
# Build as a debug package?
4c0036
%global debug_build       0
4c0036
17290f
# We need to use full path because of flatpak where datadir is /app/share
993716
%global default_bookmarks_file  /usr/share/bookmarks/default-bookmarks.html
4c0036
%global firefox_app_id  \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
4c0036
# Minimal required versions
4c0036
4e4262
%if 0%{?system_nss}
17290f
%global nspr_version 4.32
4c0036
# NSS/NSPR quite often ends in build override, so as requirement the version
4c0036
# we're building against could bring us some broken dependencies from time to time.
17290f
#%global nspr_build_version %(pkg-config --silence-errors --modversion nspr 2>/dev/null || echo 65536)
4c0036
%global nspr_build_version %{nspr_version}
17290f
%global nss_version 3.67
17290f
#%global nss_build_version %(pkg-config --silence-errors --modversion nss 2>/dev/null || echo 65536)
4c0036
%global nss_build_version %{nss_version}
4c0036
%endif
4c0036
fefd99
# GTK3 bundling
fefd99
%define avoid_bundled_rebuild   0
fefd99
17290f
%define bundled_install_path %{mozappdir}/bundled
4c0036
4c0036
# We could use %%include, but in %%files, %%post and other sections, but in these
4c0036
# sections it could lead to syntax errors about unclosed %%if. Work around it by
4c0036
# using the following macro
4c0036
%define include_file() %{expand:%(cat '%1')}
4c0036
4c0036
%global mozappdir     %{_libdir}/%{name}
4c0036
%global mozappdirdev  %{_libdir}/%{name}-devel-%{version}
a5fbdf
%global langpackdir   %{mozappdir}/browser/extensions
4c0036
%global tarballdir    %{name}-%{version}
4c0036
%global pre_version   esr
4c0036
4c0036
%global official_branding       1
ea2d40
%global build_langpacks         1
4c0036
ab11d2
# Workaround the dreaded "upstream source file changed content" rpmdiff failure that only secalert can waive.
ab11d2
# If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g.
ab11d2
# firefox-91.9.0esr.b2.processed-source.tar.xz
ab11d2
# With does_not_exist it's empty and source file name as is.
ab11d2
#global buildnum %{?does_not_exist}
ab11d2
%global buildnum %{?does_not_exist}
ab11d2
4c0036
Summary:        Mozilla Firefox Web browser
4c0036
Name:           firefox
ab11d2
Version:        91.9.1
7878cf
Release:        1%{?dist}
4c0036
URL:            https://www.mozilla.org/firefox/
4c0036
License:        MPLv1.1 or GPLv2+ or LGPLv2+
17290f
%if 0%{?rhel} == 9
17290f
ExcludeArch:    %{ix86}
17290f
%endif
17290f
%if 0%{?rhel} == 8
84862a
  %if %{rhel_minor_version} == 1
84862a
ExcludeArch:    %{ix86} aarch64 s390x
84862a
  %else
17290f
ExcludeArch:    %{ix86}
84862a
  %endif
17290f
%endif
4c0036
%if 0%{?rhel} == 7
84862a
ExcludeArch:    aarch64 s390 ppc
4c0036
%endif
4c0036
17290f
# We can't use the official tarball as it contains some test files that use
17290f
# licenses that are rejected by Red Hat Legal.
17290f
# The official tarball has to be always processed by the process-official-tarball
17290f
# script.
17290f
# Link to official tarball: https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%%{version}%%{?pre_version}.source.tar.xz
ab11d2
Source0:        firefox-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz
4c0036
%if %{build_langpacks}
ab11d2
Source1:        firefox-langpacks-%{version}%{?pre_version}-20220520.tar.xz
a5fbdf
4c0036
%endif
17290f
Source2:        cbindgen-vendor.tar.xz
17290f
Source3:        process-official-tarball
4c0036
Source10:       firefox-mozconfig
1f029b
%if 0%{?centos}
057b81
Source12:       firefox-centos-default-prefs.js
1f029b
%else
1f029b
Source12:       firefox-redhat-default-prefs.js
1f029b
%endif
4c0036
Source20:       firefox.desktop
4c0036
Source21:       firefox.sh.in
4c0036
Source23:       firefox.1
4c0036
Source24:       mozilla-api-key
4c0036
Source25:       firefox-symbolic.svg
4c0036
Source26:       distribution.ini
4c0036
Source27:       google-api-key
e8f573
Source28:       node-stdout-nonblocking-wrapper
4c0036
d468ae
Source403:      nss-3.67.0-7.el8_1.src.rpm
61b5ae
Source401:      nss-setup-flags-env.inc
17290f
Source402:      nspr-4.32.0-1.el8_1.src.rpm
17290f
4c0036
# Build patches
9aef81
Patch1001:      build-ppc64le-inline.patch
17290f
Patch1008:        build-rhel7-nasm-dwarf.patch
17290f
Patch1009:        build-debuginfo-fix.patch
e8f573
# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1699374
4c0036
Patch4:         build-mozconfig-fix.patch
e8f573
Patch6:         build-nss-version.patch
4c0036
4c0036
# Fedora/RHEL specific patches
4c0036
Patch215:        firefox-enable-addons.patch
4c0036
Patch219:        rhbz-1173156.patch
4c0036
Patch224:        mozilla-1170092.patch
a4a946
Patch225:        firefox-nss-addon-hack.patch
4c0036
4c0036
# Upstream patches
4c0036
57077a
Patch503:        mozilla-s390-context.patch
57077a
Patch505:        mozilla-bmo1005535.patch
57077a
Patch506:        mozilla-bmo1504834-part1.patch
57077a
Patch507:        mozilla-bmo1504834-part2.patch
57077a
Patch508:        mozilla-bmo1504834-part3.patch
57077a
Patch509:        mozilla-bmo1504834-part4.patch
57077a
Patch510:        mozilla-bmo1554971.patch
57077a
Patch511:        mozilla-bmo1602730.patch
57077a
Patch512:        mozilla-bmo849632.patch
61b5ae
Patch513:        mozilla-bmo998749.patch
61b5ae
Patch514:        mozilla-s390x-skia-gradient.patch
61b5ae
Patch515:        mozilla-bmo1626236.patch
f9ee7b
Patch518:        D110204-fscreen.diff
a5fbdf
Patch519:        expat-CVE-2022-25235.patch
a5fbdf
Patch520:        expat-CVE-2022-25236.patch
a5fbdf
Patch521:        expat-CVE-2022-25315.patch
7efd93
8535f9
# Flatpak patches
8535f9
4c0036
%if %{?system_nss}
61b5ae
%if !0%{?bundle_nss}
4c0036
BuildRequires:  pkgconfig(nspr) >= %{nspr_version}
4c0036
BuildRequires:  pkgconfig(nss) >= %{nss_version}
4c0036
BuildRequires:  nss-static >= %{nss_version}
4c0036
%endif
61b5ae
%endif
4c0036
BuildRequires:  pkgconfig(libpng)
4c0036
BuildRequires:  xz
4c0036
BuildRequires:  libXt-devel
4c0036
BuildRequires:  mesa-libGL-devel
4c0036
Requires:       liberation-fonts-common
4c0036
Requires:       liberation-sans-fonts
4c0036
BuildRequires:  libjpeg-devel
4c0036
BuildRequires:  zip
4c0036
BuildRequires:  bzip2-devel
4c0036
BuildRequires:  pkgconfig(zlib)
17290f
#BuildRequires:  pkgconfig(libIDL-2.0)
4c0036
BuildRequires:  pkgconfig(gtk+-2.0)
4c0036
BuildRequires:  krb5-devel
4c0036
BuildRequires:  pkgconfig(pango)
17290f
BuildRequires:  pkgconfig(freetype2) >= 2.1.9
4c0036
BuildRequires:  pkgconfig(xt)
4c0036
BuildRequires:  pkgconfig(xrender)
4c0036
BuildRequires:  pkgconfig(libstartup-notification-1.0)
4c0036
BuildRequires:  pkgconfig(libnotify)
4c0036
BuildRequires:  pkgconfig(dri)
4c0036
BuildRequires:  pkgconfig(libcurl)
4c0036
BuildRequires:  dbus-glib-devel
17290f
BuildRequires:  m4
17290f
4c0036
BuildRequires:  pkgconfig(libpulse)
4c0036
4c0036
%if 0%{?use_dts}
4c0036
BuildRequires:  devtoolset-%{dts_version}-gcc-c++
4c0036
BuildRequires:  devtoolset-%{dts_version}-gcc
4c0036
BuildRequires:  devtoolset-%{dts_version}-libatomic-devel
4c0036
%endif
17290f
%if 0%{?rhel} == 9
17290f
BuildRequires:  gcc
17290f
BuildRequires:  gcc-c++
17290f
BuildRequires:  cargo
17290f
BuildRequires:  rust
17290f
BuildRequires:  clang clang-libs llvm
4c0036
%endif
4c0036
e8f573
BuildRequires:  scl-utils
fefd99
BuildRequires:  findutils
e8f573
17290f
BuildRequires:  %{nodejs_rb} >= 10.21
17290f
BuildRequires:  python3
1f029b
4c0036
%if 0%{?rhel} == 8
4c0036
BuildRequires:  cargo
e8f573
BuildRequires:  rust >= %{rust_version}
4c0036
BuildRequires:  llvm >= %{llvm_version}
4c0036
BuildRequires:  llvm-devel >= %{llvm_version}
4c0036
BuildRequires:  clang >= %{llvm_version}
4e2c80
BuildRequires:  clang-devel >= %{llvm_version}
4e2c80
BuildRequires:  rustfmt >= %{rust_version}
4c0036
%else
4c0036
%if 0%{?use_rustts}
17290f
BuildRequires:  rust-toolset-%{rust_version}
fefd99
%endif
4c0036
%if 0%{?use_llvmts}
4c0036
BuildRequires:  llvm-toolset-%{llvm_version}
4c0036
BuildRequires:  llvm-toolset-%{llvm_version}-llvm-devel
17290f
BuildRequires:  llvm-toolset-%{llvm_version}-clang
17290f
BuildRequires:  llvm-toolset-%{llvm_version}-clang-devel
4c0036
%endif
4c0036
%endif
4c0036
17290f
BuildRequires:  nasm
17290f
%if %{build_with_clang}
17290f
BuildRequires:  lld
4c0036
%endif
4c0036
4c0036
%if 0%{?rhel} == 8
e30b24
  %if %{rhel_minor_version} >= 3
61b5ae
BuildRequires:  pkgconfig(libpipewire-0.3)
61b5ae
  %else
4c0036
BuildRequires:  pipewire-devel
61b5ae
  %endif
4c0036
%endif
4c0036
4c0036
BuildRequires:        gtk3-devel
4c0036
BuildRequires:        glib2-devel
17290f
BuildRequires:        perl-interpreter
4c0036
61b5ae
# Bundled nss/nspr requirement
61b5ae
%if 0%{?bundle_nss}
61b5ae
BuildRequires:    nss-softokn
61b5ae
BuildRequires:    sqlite-devel
61b5ae
BuildRequires:    zlib-devel
61b5ae
BuildRequires:    pkgconfig
61b5ae
BuildRequires:    gawk
61b5ae
BuildRequires:    psmisc
61b5ae
BuildRequires:    perl-interpreter
61b5ae
BuildRequires:    gcc-c++
61b5ae
BuildRequires:    xmlto
61b5ae
%endif
61b5ae
17290f
BuildRequires:    libstdc++-static
17290f
4c0036
Requires:       mozilla-filesystem
4c0036
Requires:       p11-kit-trust
4c0036
%if %{?system_nss}
61b5ae
%if !0%{?bundle_nss}
4c0036
Requires:       nspr >= %{nspr_build_version}
4c0036
Requires:       nss >= %{nss_build_version}
4c0036
%endif
61b5ae
%endif
4c0036
4c0036
BuildRequires:  desktop-file-utils
4c0036
BuildRequires:  system-bookmarks
4c0036
Requires:       redhat-indexhtml
4c0036
4c0036
%if %{?run_tests}
4c0036
BuildRequires:  xorg-x11-server-Xvfb
4c0036
%endif
4c0036
4c0036
BuildRequires:  pkgconfig(libffi)
61b5ae
993716
%if 0%{?big_endian}
993716
  %if 0%{?flatpak}
993716
BuildRequires:  icu
993716
  %endif
993716
%endif
993716
4c0036
Obsoletes:      mozilla <= 37:1.7.13
4c0036
Provides:       webclient
4c0036
17290f
# Bundled libraries
17290f
Provides: bundled(angle)
17290f
Provides: bundled(cairo)
17290f
Provides: bundled(graphite2)
17290f
Provides: bundled(harfbuzz)
17290f
Provides: bundled(ots)
17290f
Provides: bundled(sfntly)
17290f
Provides: bundled(skia)
17290f
Provides: bundled(thebes)
17290f
Provides: bundled(WebRender)
17290f
Provides: bundled(audioipc-2)
17290f
Provides: bundled(ffvpx)
17290f
Provides: bundled(kissfft)
17290f
Provides: bundled(libaom)
17290f
Provides: bundled(libcubeb)
17290f
Provides: bundled(libdav1d)
17290f
Provides: bundled(libjpeg)
17290f
Provides: bundled(libmkv)
17290f
Provides: bundled(libnestegg)
17290f
Provides: bundled(libogg)
17290f
Provides: bundled(libopus)
17290f
Provides: bundled(libpng)
17290f
Provides: bundled(libsoundtouch)
17290f
Provides: bundled(libspeex_resampler)
17290f
Provides: bundled(libtheora)
17290f
Provides: bundled(libtremor)
17290f
Provides: bundled(libvorbis)
17290f
Provides: bundled(libvpx)
17290f
Provides: bundled(libwebp)
17290f
Provides: bundled(libyuv)
17290f
Provides: bundled(mp4parse-rust)
17290f
Provides: bundled(mtransport)
17290f
Provides: bundled(openmax_dl)
17290f
Provides: bundled(double-conversion)
17290f
Provides: bundled(brotli)
17290f
Provides: bundled(fdlibm)
17290f
Provides: bundled(freetype2)
17290f
Provides: bundled(libmar)
17290f
Provides: bundled(woff2)
17290f
Provides: bundled(xz-embedded)
17290f
Provides: bundled(zlib)
17290f
Provides: bundled(expat)
17290f
Provides: bundled(msgpack-c)
17290f
Provides: bundled(libprio)
17290f
Provides: bundled(rlbox_sandboxing_api)
17290f
Provides: bundled(sqlite3)
17290f
17290f
%if 0%{?bundle_nss}
17290f
Provides: bundled(nss) = 3.67.0
17290f
Provides: bundled(nspr) = 4.32.0
17290f
%endif
17290f
4c0036
%description
4c0036
Mozilla Firefox is an open-source web browser, designed for standards
4c0036
compliance, performance and portability.
4c0036
4c0036
%if %{run_tests}
4c0036
%global testsuite_pkg_name mozilla-%{name}-testresults
4c0036
%package -n %{testsuite_pkg_name}
4c0036
Summary: Results of testsuite
4c0036
%description -n %{testsuite_pkg_name}
4c0036
This package contains results of tests executed during build.
4c0036
%files -n %{testsuite_pkg_name}
4c0036
/test_results
4c0036
%endif
4c0036
4c0036
#---------------------------------------------------------------------
4c0036
%prep
61b5ae
echo "Build environment"
61b5ae
echo "dist                  %{?dist}"
e30b24
echo "RHEL 8 minor version: %{rhel_minor_version}"
61b5ae
echo "use_bundled_ffi       %{?use_bundled_ffi}"
61b5ae
echo "bundle_nss            %{?bundle_nss}"
61b5ae
echo "system_nss            %{?system_nss}"
61b5ae
echo "use_rustts            %{?use_rustts}"
61b5ae
61b5ae
4c0036
%setup -q -n %{tarballdir}
4c0036
# Build patches, can't change backup suffix from default because during build
4c0036
# there is a compare of config and js/config directories and .orig suffix is
4c0036
# ignored during this compare.
4c0036
4c0036
%patch4  -p1 -b .build-mozconfig-fix
17290f
%patch6  -p1 -b .nss-version
4c0036
4c0036
# Fedora patches
4c0036
%patch215 -p1 -b .addons
4c0036
%patch219 -p1 -b .rhbz-1173156
02297a
%patch224 -p1 -b .1170092
993716
ab11d2
# Enable workaround for RHEL >= 8: rhbz#2043303
ab11d2
%if 0%{?rhel} == 8 || 0%{?rhel} >= 9
a4a946
%patch225 -p1 -b .firefox-nss-addon-hack
a4a946
%endif
a4a946
4c0036
# Patch for big endian platforms only
4c0036
%if 0%{?big_endian}
4c0036
%endif
4c0036
57077a
%patch503 -p1 -b .mozilla-s390-context
57077a
%patch505 -p1 -b .mozilla-bmo1005535
57077a
%patch506 -p1 -b .mozilla-bmo1504834-part1
57077a
%patch507 -p1 -b .mozilla-bmo1504834-part2
57077a
%patch508 -p1 -b .mozilla-bmo1504834-part3
57077a
%patch509 -p1 -b .mozilla-bmo1504834-part4
57077a
%patch510 -p1 -b .mozilla-bmo1554971
57077a
%patch511 -p1 -b .mozilla-bmo1602730
57077a
%patch512 -p1 -b .mozilla-bmo849632
61b5ae
%patch513 -p1 -b .mozilla-bmo998749
17290f
#%patch514 -p1 -b .mozilla-s390x-skia-gradient
61b5ae
%patch515 -p1 -b .mozilla-bmo1626236
f9ee7b
%patch518 -p1 -b .D110204-fscreen.diff
a5fbdf
%patch519 -p1 -b .expat-CVE-2022-25235
a5fbdf
%patch520 -p1 -b .expat-CVE-2022-25236
a5fbdf
%patch521 -p1 -b .expat-CVE-2022-25315
fefd99
fefd99
9aef81
%patch1001 -p1 -b .ppc64le-inline
17290f
%if 0%{?rhel} == 7
17290f
# fix the /usr/lib/rpm/debugedit: canonicalization unexpectedly shrank by one character
17290f
%patch1009 -p1 -b .build-debuginfo-fix
17290f
  %ifarch %{ix86}
17290f
# -F dwarf not available in RHEL7's nasm
17290f
%patch1008 -p1 -b .build-rhel7-nasm-dwarf
17290f
  %endif
1f029b
%endif
057b81
4c0036
%{__rm} -f .mozconfig
4c0036
%{__cp} %{SOURCE10} .mozconfig
4c0036
%if %{official_branding}
4c0036
echo "ac_add_options --enable-official-branding" >> .mozconfig
4c0036
%endif
4c0036
%{__cp} %{SOURCE24} mozilla-api-key
4c0036
%{__cp} %{SOURCE27} google-api-key
4c0036
4c0036
%if %{?system_nss}
4c0036
echo "ac_add_options --with-system-nspr" >> .mozconfig
4c0036
echo "ac_add_options --with-system-nss" >> .mozconfig
4c0036
%else
4c0036
echo "ac_add_options --without-system-nspr" >> .mozconfig
4c0036
echo "ac_add_options --without-system-nss" >> .mozconfig
4c0036
%endif
4c0036
17290f
%ifarch %{ix86} x86_64
4c0036
echo "ac_add_options --disable-elf-hack" >> .mozconfig
4c0036
%endif
4c0036
4c0036
%if %{?debug_build}
4c0036
echo "ac_add_options --enable-debug" >> .mozconfig
4c0036
echo "ac_add_options --disable-optimize" >> .mozconfig
4c0036
%else
4c0036
%global optimize_flags "-g -O2"
17290f
%ifarch s390x
57077a
%global optimize_flags "-g -O1"
4c0036
%endif
4c0036
%ifarch ppc64le aarch64
4c0036
%global optimize_flags "-g -O2"
4c0036
%endif
4c0036
%if %{optimize_flags} != "none"
4c0036
echo 'ac_add_options --enable-optimize=%{?optimize_flags}' >> .mozconfig
4c0036
%else
4c0036
echo 'ac_add_options --enable-optimize' >> .mozconfig
4c0036
%endif
4c0036
echo "ac_add_options --disable-debug" >> .mozconfig
4c0036
%endif
4c0036
4c0036
# Second arches fail to start with jemalloc enabled
4c0036
%ifnarch %{ix86} x86_64
4c0036
echo "ac_add_options --disable-jemalloc" >> .mozconfig
4c0036
%endif
4c0036
4c0036
%ifnarch %{ix86} x86_64
4c0036
echo "ac_add_options --disable-webrtc" >> .mozconfig
4c0036
%endif
4c0036
4c0036
%if %{?run_tests}
4c0036
echo "ac_add_options --enable-tests" >> .mozconfig
4c0036
%endif
4c0036
17290f
%ifarch s390x
61b5ae
echo "ac_add_options --disable-jit" >> .mozconfig
61b5ae
%endif
61b5ae
61b5ae
%ifnarch %{ix86}
61b5ae
%if !0%{?debug_build}
61b5ae
echo "ac_add_options --disable-debug-symbols" >> .mozconfig
61b5ae
%endif
4c0036
%endif
4c0036
17290f
# AV1 requires newer nasm that was rebased in 8.4
17290f
%if 0%{?rhel} == 7 || (0%{?rhel} == 8 && %{rhel_minor_version} < 4)
17290f
echo "ac_add_options --disable-av1" >> .mozconfig
17290f
%endif
17290f
e8f573
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
4c0036
4c0036
# Remove executable bit to make brp-mangle-shebangs happy.
4c0036
chmod -x third_party/rust/itertools/src/lib.rs
61b5ae
chmod a-x third_party/rust/gfx-backend-vulkan/src/*.rs
61b5ae
chmod a-x third_party/rust/gfx-hal/src/*.rs
61b5ae
chmod a-x third_party/rust/ash/src/extensions/ext/*.rs
61b5ae
chmod a-x third_party/rust/ash/src/extensions/khr/*.rs
61b5ae
chmod a-x third_party/rust/ash/src/extensions/mvk/*.rs
61b5ae
chmod a-x third_party/rust/ash/src/extensions/nv/*.rs
4c0036
4c0036
#---------------------------------------------------------------------
4c0036
4c0036
%build
17290f
# Disable LTO to work around rhbz#1883904
17290f
%define _lto_cflags %{nil}
61b5ae
ulimit -a
fefd99
free
fefd99
#set -e
e8f573
# Hack for missing shell when building in brew on RHEL6
4c0036
4c0036
%if ! 0%{?avoid_bundled_rebuild}
4c0036
    rm -rf %{_buildrootdir}/*
4c0036
%endif
4c0036
export PATH="%{_buildrootdir}/bin:$PATH"
4c0036
4c0036
function install_rpms_to_current_dir() {
4c0036
    PACKAGE_RPM=$(eval echo $1)
4c0036
    PACKAGE_DIR=%{_rpmdir}
4c0036
4c0036
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
4c0036
        # Hack for tps tests
4c0036
        ARCH_STR=%{_arch}
17290f
        %ifarch %{ix86}
4c0036
            ARCH_STR="i?86"
4c0036
        %endif
17290f
        PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
4c0036
     fi
4c0036
4c0036
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
4c0036
     do
4c0036
         echo "$package"
4c0036
         rpm2cpio "$package" | cpio -idu
4c0036
     done
4c0036
}
4c0036
4c0036
function build_bundled_package() {
4c0036
  PACKAGE_RPM=$1
4c0036
  PACKAGE_FILES=$2
4c0036
  PACKAGE_SOURCE=$3
61b5ae
  PACKAGE_BUILD_OPTIONS=$4
e8f573
  export PACKAGE_DIR="%{_topdir}/RPMS"
4c0036
4c0036
  PACKAGE_ALREADY_BUILD=0
4c0036
  %if %{?avoid_bundled_rebuild}
4c0036
    if ls $PACKAGE_DIR/$PACKAGE_RPM; then
4c0036
      PACKAGE_ALREADY_BUILD=1
4c0036
    fi
4c0036
    if ls $PACKAGE_DIR/%{_arch}/$PACKAGE_RPM; then
4c0036
      PACKAGE_ALREADY_BUILD=1
4c0036
    fi
4c0036
  %endif
4c0036
  if [ $PACKAGE_ALREADY_BUILD == 0 ]; then
4c0036
    echo "Rebuilding $PACKAGE_RPM from $PACKAGE_SOURCE"; echo "==============================="
61b5ae
    rpmbuild --nodeps $PACKAGE_BUILD_OPTIONS --rebuild $PACKAGE_SOURCE
fefd99
    cat /var/tmp/rpm-tmp*
4c0036
  fi
4c0036
fefd99
  find $PACKAGE_DIR
4c0036
  if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
4c0036
    # Hack for tps tests
4c0036
    ARCH_STR=%{_arch}
17290f
    %ifarch %{ix86}
4c0036
    ARCH_STR="i?86"
4c0036
    %endif
17290f
    export PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
4c0036
  fi
4c0036
  pushd $PACKAGE_DIR
ea2d40
4c0036
  echo "Installing $PACKAGE_DIR/$PACKAGE_RPM"; echo "==============================="
61b5ae
  pwd
ea2d40
  PACKAGE_LIST=$(echo $PACKAGE_DIR/$PACKAGE_RPM | tr " " "\n")
ea2d40
  for PACKAGE in $PACKAGE_LIST
ea2d40
  do
ea2d40
      rpm2cpio $PACKAGE | cpio -iduv
ea2d40
  done
ea2d40
ea2d40
  PATH=$PACKAGE_DIR/usr/bin:$PATH
ea2d40
  export PATH
ea2d40
  LD_LIBRARY_PATH=$PACKAGE_DIR/usr/%{_lib}:$LD_LIBRARY_PATH
ea2d40
  export LD_LIBRARY_PATH
ea2d40
4c0036
  # Clean rpms to avoid including them to package
4c0036
  %if ! 0%{?avoid_bundled_rebuild}
4c0036
    rm -f $PACKAGE_FILES
4c0036
  %endif
4c0036
4c0036
  popd
4c0036
}
4c0036
61b5ae
%if 0%{?bundle_nss}
17290f
  rpm -ivh %{SOURCE402}
17290f
  #rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nspr.spec
17290f
  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nspr.spec
17290f
  pushd %{_buildrootdir}
17290f
  install_rpms_to_current_dir nspr-4*.rpm
17290f
  install_rpms_to_current_dir nspr-devel*.rpm
17290f
  popd
17290f
  echo "Setting nspr flags"
17290f
  # nss-setup-flags-env.inc
17290f
  sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nspr*.pc
17290f
17290f
  export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
17290f
  export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS"
17290f
  export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
17290f
  export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig
17290f
  export PATH="{_buildrootdir}%{bundled_install_path}/bin:$PATH"
fefd99
17290f
  export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH
17290f
  echo $PKG_CONFIG_PATH
17290f
17290f
  rpm -ivh %{SOURCE403}
a5fbdf
  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' --without=tests -ba %{_specdir}/nss.spec
17290f
  pushd %{_buildrootdir}
17290f
  #cleanup
17290f
  #rm -rf {_buildrootdir}/usr/lib/debug/*
17290f
  #rm -rf {_buildrootdir}/usr/lib/.build-id
17290f
  install_rpms_to_current_dir nss-3*.rpm
17290f
  install_rpms_to_current_dir nss-devel*.rpm
17290f
  install_rpms_to_current_dir nss-pkcs11-devel*.rpm
17290f
  install_rpms_to_current_dir nss-softokn-3*.rpm
17290f
  install_rpms_to_current_dir nss-softokn-devel*.rpm
17290f
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
17290f
  install_rpms_to_current_dir nss-softokn-freebl-devel*.rpm
17290f
  install_rpms_to_current_dir nss-util-3*.rpm
17290f
  install_rpms_to_current_dir nss-util-devel*.rpm
17290f
  popd
17290f
  %filter_provides_in %{bundled_install_path}/%{_lib}
17290f
  %filter_requires_in %{bundled_install_path}/%{_lib}
8535f9
  %filter_from_requires /libnss3.so.*/d
8535f9
  %filter_from_requires /libsmime3.so.*/d
8535f9
  %filter_from_requires /libssl3.so.*/d
8535f9
  %filter_from_requires /libnssutil3.so.*/d
8535f9
  %filter_from_requires /libnspr4.so.*/d
17290f
  find %{_buildrootdir}
4c0036
%endif
4c0036
4c0036
%if 0%{use_bundled_ffi}
4c0036
  # Install libraries to the predefined location to later add them to the Firefox libraries
4c0036
  rpm -ivh %{SOURCE303}
17290f
  rpmbuild --nodeps --define '_prefix %{bundled_install_path}' -ba %{_specdir}/libffi.spec
4c0036
  pushd %{_buildrootdir}
4c0036
  install_rpms_to_current_dir 'libffi*.rpm'
4c0036
  popd
4c0036
  %filter_from_requires /libffi.so.6/d
4c0036
%endif
4c0036
%filter_setup
4c0036
ea2d40
function replace_prefix() {
ea2d40
  FILE_NAME=$1
ea2d40
  PKG_CONFIG_PREFIX=$2
ea2d40
ea2d40
  cat $FILE_NAME | tail -n +2 > tmp.txt
ea2d40
  echo "$PKG_CONFIG_PREFIX" > $FILE_NAME
ea2d40
  cat tmp.txt >> $FILE_NAME
ea2d40
  rm -rf tmp.txt
ea2d40
}
ea2d40
e8f573
# We need to disable exit on error temporarily for the following scripts:
e8f573
set +e
e8f573
%if 0%{?use_dts}
e8f573
source scl_source enable devtoolset-%{dts_version}
e8f573
%endif
e8f573
%if 0%{?use_rustts}
17290f
source scl_source enable rust-toolset-%{rust_version}
17290f
%endif
17290f
%if 0%{?use_nodejsts}
17290f
source scl_source enable rh-nodejs10
e8f573
%endif
e8f573
fefd99
env
fefd99
which gcc
fefd99
which c++
fefd99
which g++
fefd99
which ld
17290f
which nasm
ea2d40
# Build and install local node if needed
ea2d40
# ======================================
17290f
export MOZ_NODEJS=`which node`
ea2d40
e8f573
mkdir -p my_rust_vendor
e8f573
cd my_rust_vendor
e8f573
%{__tar} xf %{SOURCE2}
e8f573
cd -
e8f573
mkdir -p .cargo
e8f573
cat > .cargo/config <
e8f573
[source.crates-io]
e8f573
replace-with = "vendored-sources"
e8f573
e8f573
[source.vendored-sources]
e8f573
directory = "`pwd`/my_rust_vendor"
e8f573
EOL
e8f573
e8f573
export CARGO_HOME=.cargo
e8f573
cargo install cbindgen
e8f573
export PATH=`pwd`/.cargo/bin:$PATH
e8f573
export CBINDGEN=`pwd`/.cargo/bin/cbindgen
e8f573
61b5ae
# debug missing sqlite3 python module
17290f
export MACH_USE_SYSTEM_PYTHON=1
61b5ae
./mach python -c "import sys;print(sys.path)"
61b5ae
e8f573
mkdir %{_buildrootdir}/bin || :
e8f573
cp %{SOURCE28} %{_buildrootdir}/bin || :
61b5ae
chmod +x %{_buildrootdir}/bin/node-stdout-nonblocking-wrapper
e8f573
4c0036
# Update the various config.guess to upstream release for aarch64 support
4c0036
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
4c0036
4c0036
# -fpermissive is needed to build with gcc 4.6+ which has become stricter
4c0036
#
4c0036
# Mozilla builds with -Wall with exception of a few warnings which show up
4c0036
# everywhere in the code; so, don't override that.
4c0036
#
4c0036
# Disable C++ exceptions since Mozilla code is not exception-safe
4c0036
#
4c0036
MOZ_OPT_FLAGS=$(echo "%{optflags}" | %{__sed} -e 's/-Wall//')
4c0036
#rhbz#1037063
4c0036
# -Werror=format-security causes build failures when -Wno-format is explicitly given
4c0036
# for some sources
4c0036
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
4c0036
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
4c0036
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
17290f
4c0036
%if %{?hardened_build}
17290f
  MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
17290f
  %endif
4c0036
%if %{?debug_build}
17290f
  MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
4c0036
%endif
61b5ae
61b5ae
# We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss
61b5ae
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
61b5ae
17290f
%if !%{build_with_clang}
17290f
  %ifarch aarch64 %{ix86} x86_64 s390x
17290f
    MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
17290f
  %endif
17290f
  %ifarch %{ix86}
17290f
    MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--strip-debug"
17290f
    echo "ac_add_options --enable-linker=gold" >> .mozconfig
17290f
  %endif
4c0036
%endif
17290f
17290f
%if 0%{?bundle_nss}
17290f
  mkdir -p %{_buildrootdir}%{bundled_install_path}/%{_lib}
17290f
  MOZ_LINK_FLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
17290f
  MOZ_LINK_FLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
17290f
  MOZ_LINK_FLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $MOZ_LINK_FLAGS"
a173ee
%endif
61b5ae
17290f
%ifarch %{ix86}
17290f
  export RUSTFLAGS="-Cdebuginfo=0"
17290f
  echo 'export RUSTFLAGS="-Cdebuginfo=0"' >> .mozconfig
4c0036
%endif
4c0036
4c0036
export PREFIX='%{_prefix}'
4c0036
export LIBDIR='%{_libdir}'
e8f573
export CC=gcc
e8f573
export CXX=g++
17290f
echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
17290f
echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
17290f
echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
17290f
17290f
%if %{build_with_clang}
17290f
  echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig
17290f
  echo "export AR=\"llvm-ar\"" >> .mozconfig
17290f
  echo "export NM=\"llvm-nm\"" >> .mozconfig
17290f
  echo "export RANLIB=\"llvm-ranlib\"" >> .mozconfig
17290f
  echo "ac_add_options --enable-linker=lld" >> .mozconfig
17290f
%else
17290f
  echo "export CC=gcc" >> .mozconfig
17290f
  echo "export CXX=g++" >> .mozconfig
17290f
  echo "export AR=\"gcc-ar\"" >> .mozconfig
17290f
  echo "export NM=\"gcc-nm\"" >> .mozconfig
17290f
  echo "export RANLIB=\"gcc-ranlib\"" >> .mozconfig
17290f
%endif
4c0036
4c0036
MOZ_SMP_FLAGS=-j1
ea2d40
# More than two build tasks can lead to OOM gcc crash.
ea2d40
%if 0%{?rhel} < 8
17290f
  [ -z "$RPM_BUILD_NCPUS" ] && \
17290f
       RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
17290f
  [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
ea2d40
%else
17290f
  %ifarch %{ix86} x86_64 ppc64 ppc64le aarch64
17290f
  [ -z "$RPM_BUILD_NCPUS" ] && \
17290f
       RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
17290f
    [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
17290f
    [ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j3
17290f
    [ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j3
17290f
  %endif
ea2d40
%endif
61b5ae
fefd99
cat /proc/meminfo
61b5ae
8535f9
# Free memory in kB
8535f9
if grep -q MemAvailable /proc/meminfo; then
8535f9
    MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }')
8535f9
else
8535f9
    MEM_AVAILABLE=$(grep MemFree /proc/meminfo | awk '{ print $2 }')
8535f9
fi
61b5ae
61b5ae
# Usually the compiler processes can take 2 GB of memory at peaks
61b5ae
TASK_SIZE=4000000
61b5ae
MEM_CONSTRAINED_JOBS=$(( MEM_AVAILABLE / TASK_SIZE ))
f03057
f03057
if [ $MEM_CONSTRAINED_JOBS -le 0 ]; then
f03057
  MEM_CONSTRAINED_JOBS=1
f03057
fi
f03057
61b5ae
CPU_AVAILABLE=$(/usr/bin/getconf _NPROCESSORS_ONLN)
61b5ae
# Pick the minimum from available CPUs or memory constrained number of jobs
7a2c72
MOZ_SMP_FLAGS=-j$([ "$CPU_AVAILABLE" -le "$MEM_CONSTRAINED_JOBS" ] && echo "$CPU_AVAILABLE" || echo "$MEM_CONSTRAINED_JOBS")
4c0036
17290f
# override smp flags to the rpmbuild defaults ATM
17290f
%ifnarch ppc64le
17290f
MOZ_SMP_FLAGS=%{_smp_mflags}
17290f
%endif
17290f
17290f
%ifarch s390x
17290f
MOZ_SMP_FLAGS=-j2
4c0036
%endif
4c0036
61b5ae
%if 0%{?bundle_nss}
17290f
  echo "Setting nss flags"
17290f
  # nss-setup-flags-env.inc
17290f
  %include_file %{SOURCE401}
17290f
  export PATH=%{_buildrootdir}/%{bundled_install_path}/bin:$PATH
17290f
  echo $PKG_CONFIG_PATH
61b5ae
%endif
61b5ae
4c0036
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
4c0036
export MOZ_SERVICES_SYNC="1"
61b5ae
# we need to strip the sources on i686 because to we don't use rpm to generate debugsymbols because of oom
17290f
%ifnarch %{ix86}
17290f
  export STRIP=/bin/true
61b5ae
%endif
61b5ae
which node
61b5ae
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"'
61b5ae
env
61b5ae
ls %{_buildrootdir}
61b5ae
17290f
export MACH_USE_SYSTEM_PYTHON=1
fefd99
%if 0%{?use_llvmts}
17290f
  #scl enable llvm-toolset-%{llvm_version} './mach build -v'
a5fbdf
  ./mach build -v || exit 1
fefd99
%else
a5fbdf
  ./mach build -v || exit 1
4c0036
%endif
17290f
# Look for the reason we get: /usr/lib/rpm/debugedit: canonicalization unexpectedly shrank by one character
17290f
readelf -wl objdir/dist/bin/libxul.so | grep "/"
4c0036
4c0036
%if %{?run_tests}
17290f
  %if %{?system_nss}
17290f
    ln -s /usr/bin/certutil objdir/dist/bin/certutil
17290f
    ln -s /usr/bin/pk12util objdir/dist/bin/pk12util
17290f
  %endif
17290f
  mkdir test_results
17290f
  ./mach --log-no-times check-spidermonkey &> test_results/check-spidermonkey || true
17290f
  ./mach --log-no-times check-spidermonkey &> test_results/check-spidermonkey-2nd-run || true
17290f
  ./mach --log-no-times cppunittest &> test_results/cppunittest || true
17290f
  xvfb-run ./mach --log-no-times crashtest &> test_results/crashtest || true
17290f
  ./mach --log-no-times gtest &> test_results/gtest || true
17290f
  xvfb-run ./mach --log-no-times jetpack-test &> test_results/jetpack-test || true
17290f
  # not working right now ./mach marionette-test &> test_results/marionette-test || true
17290f
  xvfb-run ./mach --log-no-times mochitest-a11y &> test_results/mochitest-a11y || true
17290f
  xvfb-run ./mach --log-no-times mochitest-browser &> test_results/mochitest-browser || true
17290f
  xvfb-run ./mach --log-no-times mochitest-chrome &> test_results/mochitest-chrome || true
17290f
  xvfb-run ./mach --log-no-times mochitest-devtools &> test_results/mochitest-devtools || true
17290f
  xvfb-run ./mach --log-no-times mochitest-plain &> test_results/mochitest-plain || true
17290f
  xvfb-run ./mach --log-no-times reftest &> test_results/reftest || true
17290f
  xvfb-run ./mach --log-no-times webapprt-test-chrome &> test_results/webapprt-test-chrome || true
17290f
  xvfb-run ./mach --log-no-times webapprt-test-content &> test_results/webapprt-test-content || true
17290f
  ./mach --log-no-times webidl-parser-test &> test_results/webidl-parser-test || true
17290f
  xvfb-run ./mach --log-no-times xpcshell-test &> test_results/xpcshell-test || true
17290f
  %if %{?system_nss}
17290f
    rm -f  objdir/dist/bin/certutil
17290f
    rm -f  objdir/dist/bin/pk12util
17290f
  %endif
4c0036
%endif
4c0036
#---------------------------------------------------------------------
4c0036
4c0036
%install
17290f
export MACH_USE_SYSTEM_PYTHON=1
4c0036
function install_rpms_to_current_dir() {
4c0036
    PACKAGE_RPM=$(eval echo $1)
4c0036
    PACKAGE_DIR=%{_rpmdir}
4c0036
4c0036
    if [ ! -f $PACKAGE_DIR/$PACKAGE_RPM ]; then
4c0036
        # Hack for tps tests
4c0036
        ARCH_STR=%{_arch}
17290f
        %ifarch %{ix86}
4c0036
            ARCH_STR="i?86"
4c0036
        %endif
17290f
        PACKAGE_DIR="$PACKAGE_DIR/$ARCH_STR"
4c0036
     fi
4c0036
4c0036
     for package in $(ls $PACKAGE_DIR/$PACKAGE_RPM)
4c0036
     do
4c0036
         echo "$package"
4c0036
         rpm2cpio "$package" | cpio -idu
4c0036
     done
4c0036
}
4c0036
61b5ae
%if 0%{?bundle_nss}
61b5ae
  pushd %{buildroot}
61b5ae
  #install_rpms_to_current_dir nss-*.rpm
61b5ae
  install_rpms_to_current_dir nspr-4*.rpm
61b5ae
  install_rpms_to_current_dir nss-3*.rpm
61b5ae
  install_rpms_to_current_dir nss-softokn-3*.rpm
61b5ae
  install_rpms_to_current_dir nss-softokn-freebl-3*.rpm
61b5ae
  install_rpms_to_current_dir nss-util-3*.rpm
17290f
61b5ae
  # cleanup unecessary nss files
17290f
  #rm -rf %{_buildrootdir}/%{bundled_install_path}/bin
17290f
  #rm -rf %{_buildrootdir}/%{bundled_install_path}/include
17290f
  rm -rf %{buildroot}/%{bundled_install_path}/lib/dracut
17290f
  rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/nss
17290f
  #rm -rf %{_buildrootdir}/%{bundled_install_path}/%{_lib}/pkgconfig
17290f
  rm -rf %{buildroot}/%{bundled_install_path}/%{_lib}/share
17290f
  rm -rf %{buildroot}/%{bundled_install_path}/share
61b5ae
  rm -rf %{buildroot}/etc/pki
61b5ae
  rm -rf %{buildroot}/usr/lib/.build-id
61b5ae
  rm -rf %{buildroot}/etc/crypto-policies
61b5ae
  popd
61b5ae
%endif
61b5ae
4c0036
# Install bundled libffi
4c0036
%if %{use_bundled_ffi}
4c0036
  pushd %{buildroot}
4c0036
  install_rpms_to_current_dir libffi-3*.rpm
4c0036
  popd
4c0036
%endif
4c0036
4c0036
# set up our default bookmarks
4c0036
%{__cp} -p %{default_bookmarks_file} objdir/dist/bin/browser/chrome/en-US/locale/browser/bookmarks.html
4c0036
4c0036
# Make sure locale works for langpacks
4c0036
%{__cat} > objdir/dist/bin/browser/defaults/preferences/firefox-l10n.js << EOF
4c0036
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
4c0036
EOF
4c0036
4c0036
DESTDIR=%{buildroot} make -C objdir install
4c0036
4c0036
%{__mkdir_p} %{buildroot}{%{_libdir},%{_bindir},%{_datadir}/applications}
4c0036
4c0036
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE20}
4c0036
4c0036
# set up the firefox start script
4c0036
%{__rm} -rf %{buildroot}%{_bindir}/firefox
4c0036
%{__cat} %{SOURCE21} > %{buildroot}%{_bindir}/firefox
f03057
sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{_bindir}/firefox
4c0036
sed -i -e 's|%RHEL_ENV_VARS%||' %{buildroot}%{_bindir}/firefox
4c0036
4c0036
%{__chmod} 755 %{buildroot}%{_bindir}/firefox
4c0036
4c0036
%{__install} -p -D -m 644 %{SOURCE23} %{buildroot}%{_mandir}/man1/firefox.1
4c0036
4c0036
%{__rm} -f %{buildroot}/%{mozappdir}/firefox-config
4c0036
%{__rm} -f %{buildroot}/%{mozappdir}/update-settings.ini
4c0036
4c0036
for s in 16 22 24 32 48 256; do
4c0036
    %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
4c0036
    %{__cp} -p browser/branding/official/default${s}.png \
4c0036
               %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/firefox.png
4c0036
done
4c0036
4c0036
# Install hight contrast icon
4c0036
%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
4c0036
%{__cp} -p %{SOURCE25} \
4c0036
           %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
4c0036
4c0036
# Register as an application to be visible in the software center
4c0036
#
4c0036
# NOTE: It would be *awesome* if this file was maintained by the upstream
4c0036
# project, translated and installed into the right place during `make install`.
4c0036
#
4c0036
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
4c0036
#
4c0036
%{__mkdir_p} %{buildroot}%{_datadir}/appdata
4c0036
cat > %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml <
4c0036
4c0036
4c0036
4c0036
BugReportURL: https://bugzilla.mozilla.org/show_bug.cgi?id=1071061
4c0036
SentUpstream: 2014-09-22
4c0036
-->
4c0036
<application>
4c0036
  <id type="desktop">firefox.desktop</id>
4c0036
  <metadata_license>CC0-1.0</metadata_license>
f9ee7b
  <project_license>MPLv1.1 or GPLv2+ or LGPLv2+</project_license>
4c0036
  <description>
4c0036
    

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

4c0036
    
4c0036
  </description>
4c0036
  <url type="homepage">http://www.mozilla.org/</url>
4c0036
  <screenshots>
4c0036
    <screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png</screenshot>
4c0036
    <screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png</screenshot>
4c0036
    <screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png</screenshot>
4c0036
  </screenshots>
4c0036
  
4c0036
  <updatecontact>someone_who_cares@upstream_project.org</updatecontact>
4c0036
   -->
4c0036
</application>
4c0036
EOF
4c0036
4c0036
echo > %{name}.lang
4c0036
%if %{build_langpacks}
4c0036
# Extract langpacks, make any mods needed, repack the langpack, and install it.
4c0036
%{__mkdir_p} %{buildroot}%{langpackdir}
4c0036
%{__tar} xf %{SOURCE1}
4c0036
for langpack in `ls firefox-langpacks/*.xpi`; do
4c0036
  language=`basename $langpack .xpi`
4c0036
  extensionID=langpack-$language@firefox.mozilla.org
4c0036
  %{__mkdir_p} $extensionID
4c0036
  unzip -qq $langpack -d $extensionID
4c0036
  find $extensionID -type f | xargs chmod 644
4c0036
4c0036
  cd $extensionID
4c0036
  zip -qq -r9mX ../${extensionID}.xpi *
4c0036
  cd -
4c0036
4c0036
  %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir}
4c0036
  language=`echo $language | sed -e 's/-/_/g'`
4c0036
  echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang
4c0036
done
4c0036
%{__rm} -rf firefox-langpacks
4c0036
4c0036
# Install langpack workaround (see #707100, #821169)
4c0036
function create_default_langpack() {
4c0036
language_long=$1
4c0036
language_short=$2
4c0036
cd %{buildroot}%{langpackdir}
4c0036
ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi
4c0036
cd -
4c0036
echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang
4c0036
}
4c0036
4c0036
# Table of fallbacks for each language
4c0036
# please file a bug at bugzilla.redhat.com if the assignment is incorrect
4c0036
create_default_langpack "es-AR" "es"
4c0036
create_default_langpack "fy-NL" "fy"
4c0036
create_default_langpack "ga-IE" "ga"
4c0036
create_default_langpack "gu-IN" "gu"
4c0036
create_default_langpack "hi-IN" "hi"
4c0036
create_default_langpack "hy-AM" "hy"
4c0036
create_default_langpack "nb-NO" "nb"
4c0036
create_default_langpack "nn-NO" "nn"
4c0036
create_default_langpack "pa-IN" "pa"
4c0036
create_default_langpack "pt-PT" "pt"
4c0036
create_default_langpack "sv-SE" "sv"
4c0036
create_default_langpack "zh-TW" "zh"
02297a
%endif
4c0036
4c0036
# Keep compatibility with the old preference location.
4c0036
%{__mkdir_p} %{buildroot}%{mozappdir}/defaults/preferences
4c0036
%{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults
4c0036
ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults/preferences
4c0036
# Default preferences
4c0036
%{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
119529
sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
17290f
# Enable modern crypto for the key export on the RHEL9 only (rhbz#1764205)
17290f
%if 0%{?rhel} == 9
17290f
  echo 'pref("security.pki.use_modern_crypto_with_pkcs12", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
17290f
%endif
17290f
d468ae
%ifarch s390x ppc64
17290f
  echo 'pref("gfx.webrender.force-disabled", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
17290f
%endif
17290f
4c0036
4c0036
# System config dir
4c0036
%{__mkdir_p} %{buildroot}/%{_sysconfdir}/%{name}/pref
4c0036
4c0036
# System extensions
4c0036
%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id}
4c0036
%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id}
4c0036
4c0036
# Copy over the LICENSE
4c0036
%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir}
4c0036
4c0036
# Use the system hunspell dictionaries
4c0036
%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries
4c0036
ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries
4c0036
4c0036
%if %{run_tests}
4c0036
# Add debuginfo for crash-stats.mozilla.com
4c0036
%{__mkdir_p} %{buildroot}/test_results
4c0036
%{__cp} test_results/* %{buildroot}/test_results
4c0036
%endif
4c0036
4c0036
4c0036
# Copy over run-mozilla.sh
4c0036
%{__cp} build/unix/run-mozilla.sh %{buildroot}%{mozappdir}
4c0036
4c0036
# Add distribution.ini
4c0036
%{__mkdir_p} %{buildroot}%{mozappdir}/distribution
4c0036
%{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution
4c0036
1f029b
%if 0%{?centos}
1f029b
sed -i -e 's|Red Hat Enterprise|CentOS|' %{buildroot}%{mozappdir}/distribution/distribution.ini
1f029b
%endif
1f029b
4c0036
# Remove copied libraries to speed up build
4c0036
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozjs.so
4c0036
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozalloc.so
4c0036
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libxul.so
4c0036
#---------------------------------------------------------------------
4c0036
4c0036
%preun
4c0036
# is it a final removal?
4c0036
if [ $1 -eq 0 ]; then
4c0036
  %{__rm} -rf %{mozappdir}/components
4c0036
  %{__rm} -rf %{mozappdir}/extensions
4c0036
  %{__rm} -rf %{mozappdir}/plugins
4c0036
fi
4c0036
4c0036
%clean
4c0036
rm -rf %{_srcrpmdir}/libffi*.src.rpm
4c0036
find %{_rpmdir} -name "libffi*.rpm" -delete
ea2d40
rm -rf %{_srcrpmdir}/openssl*.src.rpm
ea2d40
find %{_rpmdir} -name "openssl*.rpm" -delete
61b5ae
rm -rf %{_srcrpmdir}/nss*.src.rpm
61b5ae
find %{_rpmdir} -name "nss*.rpm" -delete
61b5ae
rm -rf %{_srcrpmdir}/nspr*.src.rpm
61b5ae
find %{_rpmdir} -name "nspr*.rpm" -delete
4c0036
4c0036
%post
4c0036
update-desktop-database &> /dev/null || :
4c0036
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
4c0036
4c0036
%postun
4c0036
update-desktop-database &> /dev/null || :
4c0036
if [ $1 -eq 0 ] ; then
4c0036
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
4c0036
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
4c0036
fi
4c0036
4c0036
%posttrans
4c0036
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
4c0036
4c0036
%files -f %{name}.lang
4c0036
%{_bindir}/firefox
4c0036
%{mozappdir}/firefox
4c0036
%{mozappdir}/firefox-bin
4c0036
%doc %{_mandir}/man1/*
4c0036
%dir %{_sysconfdir}/%{name}
4c0036
%dir %{_sysconfdir}/%{name}/*
4c0036
%dir %{_datadir}/mozilla/extensions/*
4c0036
%dir %{_libdir}/mozilla/extensions/*
4c0036
%{_datadir}/appdata/*.appdata.xml
4c0036
%{_datadir}/applications/*.desktop
4c0036
%dir %{mozappdir}
4c0036
%doc %{mozappdir}/LICENSE
4c0036
%{mozappdir}/browser/chrome
4c0036
%{mozappdir}/defaults/preferences/*
4c0036
%{mozappdir}/browser/defaults/preferences
4c0036
%{mozappdir}/browser/features/*.xpi
4c0036
%{mozappdir}/distribution/distribution.ini
fefd99
%if %{build_langpacks}
fefd99
%dir %{langpackdir}
fefd99
%endif
4c0036
%{mozappdir}/browser/omni.ja
4c0036
%{mozappdir}/run-mozilla.sh
4c0036
%{mozappdir}/application.ini
4c0036
%{mozappdir}/pingsender
4c0036
%exclude %{mozappdir}/removed-files
4c0036
%{_datadir}/icons/hicolor/16x16/apps/firefox.png
4c0036
%{_datadir}/icons/hicolor/22x22/apps/firefox.png
4c0036
%{_datadir}/icons/hicolor/24x24/apps/firefox.png
4c0036
%{_datadir}/icons/hicolor/256x256/apps/firefox.png
4c0036
%{_datadir}/icons/hicolor/32x32/apps/firefox.png
4c0036
%{_datadir}/icons/hicolor/48x48/apps/firefox.png
4c0036
%{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg
4c0036
%{mozappdir}/*.so
4c0036
%{mozappdir}/defaults/pref/channel-prefs.js
4c0036
%{mozappdir}/dependentlibs.list
4c0036
%{mozappdir}/dictionaries
4c0036
%{mozappdir}/omni.ja
4c0036
%{mozappdir}/platform.ini
4c0036
%{mozappdir}/plugin-container
4c0036
%{mozappdir}/gmp-clearkey
e8f573
%{mozappdir}/fonts/*.ttf
4c0036
%if !%{?system_nss}
4c0036
%exclude %{mozappdir}/libnssckbi.so
4c0036
%endif
4c0036
%if 0%{use_bundled_ffi}
4c0036
%{mozappdir}/bundled/%{_lib}/libffi.so*
4c0036
%exclude %{_datadir}/doc/libffi*
4c0036
%endif
4c0036
61b5ae
%if 0%{?bundle_nss}
61b5ae
%{mozappdir}/bundled/%{_lib}/libfreebl*
61b5ae
%{mozappdir}/bundled/%{_lib}/libnss3*
61b5ae
%{mozappdir}/bundled/%{_lib}/libnssdbm3*
61b5ae
%{mozappdir}/bundled/%{_lib}/libnssutil3*
61b5ae
%{mozappdir}/bundled/%{_lib}/libsmime3*
61b5ae
%{mozappdir}/bundled/%{_lib}/libsoftokn*
61b5ae
%{mozappdir}/bundled/%{_lib}/libssl3*
61b5ae
%{mozappdir}/bundled/%{_lib}/libnspr4.so
61b5ae
%{mozappdir}/bundled/%{_lib}/libplc4.so
61b5ae
%{mozappdir}/bundled/%{_lib}/libplds4.so
61b5ae
%endif
61b5ae
4c0036
4c0036
#---------------------------------------------------------------------
4c0036
4c0036
%changelog
0c4fbb
* Thu May 26 2022 CentOS Sources <bugs@centos.org> - 91.9.1-1.el8.centos
0c4fbb
- Apply debranding changes
0c4fbb
ab11d2
* Fri May 20 2022 Jan Horak <jhorak@redhat.com> - 91.9.1-1
ab11d2
- Update to 91.9.1 build1
7eff66
4f1bf9
* Tue Apr 26 2022 Eike Rathke <erack@redhat.com> - 91.9.0-1
4f1bf9
- Update to 91.9.0
17208b
7878cf
* Tue Apr 05 2022 Eike Rathke <erack@redhat.com> - 91.8.0-1
7878cf
- Update to 91.8.0
77f511
a5fbdf
* Mon Mar 07 2022 Eike Rathke <erack@redhat.com> - 91.7.0-3
a5fbdf
- Update to 91.7.0 build3
a5fbdf
a5fbdf
* Wed Mar 02 2022 Jan Horak <jhorak@redhat.com> - 91.7.0-2
a5fbdf
- Added expat backports of CVE-2022-25235, CVE-2022-25236 and CVE-2022-25315
a5fbdf
a5fbdf
* Tue Mar 01 2022 Eike Rathke <erack@redhat.com> - 91.7.0-1
a5fbdf
- Update to 91.7.0 build2
a5fbdf
a5fbdf
* Fri Feb 25 2022 Jan Horak <jhorak@redhat.com> - 91.6.0-2
a5fbdf
- Install langpacks to the browser/extensions to make them available in UI:
a5fbdf
  rhbz#2030190
e632b6
a4a946
* Wed Feb 02 2022 Eike Rathke <erack@redhat.com> - 91.6.0-1
a4a946
- Update to 91.6.0 build1
a4a946
a4a946
* Wed Feb 02 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-2
a4a946
- Use default update channel to fix non working enterprise policies:
a4a946
  rhbz#2044667
841454
84862a
* Thu Jan 06 2022 Eike Rathke <erack@redhat.com> - 91.5.0-1
84862a
- Update to 91.5.0 build1
c6592c
a4a946
* Mon Dec 13 2021 Jan Horak <jhorak@redhat.com> - 91.4.0-2
a4a946
- Added fix for failing addons signatures.
a4a946
d468ae
* Wed Dec 01 2021 Eike Rathke <erack@redhat.com> - 91.4.0-1
d468ae
- Update to 91.4.0 build1
0a0a02
b02bee
* Mon Nov 01 2021 Eike Rathke <erack@redhat.com> - 91.3.0-1
b02bee
- Update to 91.3.0 build1
02b5ef
38e56b
* Thu Oct 21 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-5
38e56b
- Fixed crashes when FIPS is enabled.
195469
17290f
* Mon Oct 04 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-4
17290f
- Disable webrender on the s390x due to wrong colors: rhbz#2009503
17290f
17290f
* Wed Sep 29 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-3
17290f
- Update to 91.2.0 build1
17290f
17290f
* Wed Sep 15 2021 Jan Horak <jhorak@redhat.com> - 91.1.0-1
17290f
- Update to 91.1.0 build1
450765
17290f
* Tue Aug 17 2021 Jan Horak <jhorak@redhat.com>
17290f
- Update to 91.0.1 build1
38219e
17290f
* Tue Aug 10 2021 Jan Horak <jhorak@redhat.com> - 91.0-1
17290f
- Update to 91.0 ESR
8c519a
17290f
* Thu Jul 29 2021 Jan Horak <jhorak@redhat.com> - 91.0-1
17290f
- Update to 91.0b8
8c519a
f2ba8c
* Fri Jul 16 2021 Jan Horak <jhorak@redhat.com> - 78.12.0-2
f2ba8c
- Rebuild to pickup older nss
edc76f
e30b24
* Wed Jul 07 2021 Eike Rathke <erack@redhat.com> - 78.12.0-1
e30b24
- Update to 78.12.0 build1
041f71
61a304
* Mon May 31 2021 Eike Rathke <erack@redhat.com> - 78.11.0-3
61a304
- Update to 78.11.0 build2 (release)
61a304
61a304
* Thu May 27 2021 Eike Rathke <erack@redhat.com> - 78.11.0-2
61a304
- Fix rhel_minor_version for dist .el8_4 and .el8
61a304
61a304
* Tue May 25 2021 Eike Rathke <erack@redhat.com> - 78.11.0-1
61a304
- Update to 78.11.0 build1
1db900
f9ee7b
* Tue Apr 20 2021 Eike Rathke <erack@redhat.com> - 78.10.0-1
f9ee7b
- Update to 78.10.0
904a9f
cac0cd
* Wed Mar 17 2021 Eike Rathke <erack@redhat.com> - 78.9.0-1
cac0cd
- Update to 78.9.0 build1
78cfe1
119529
* Wed Feb 17 2021 Eike Rathke <erack@redhat.com> - 78.8.0-1
119529
- Update to 78.8.0 build2
119529
119529
* Tue Feb 09 2021 Eike Rathke <erack@redhat.com> - 78.7.1-1
119529
- Update to 78.7.1
119529
119529
* Tue Feb 09 2021 Jan Horak <jhorak@redhat.com> - 78.7.0-3
119529
- Fixing install prefix for the homepage
2ffc09
bac31b
* Fri Jan 22 2021 Eike Rathke <erack@redhat.com> - 78.7.0-2
bac31b
- Update to 78.7.0 build2
bac31b
bac31b
* Wed Jan 20 2021 Eike Rathke <erack@redhat.com> - 78.7.0-1
bac31b
- Update to 78.7.0 build1
bac31b
bac31b
* Wed Jan  6 2021 Eike Rathke <erack@redhat.com> - 78.6.1-1
f03057
- Update to 78.6.1 build1
641fe1
993716
* Thu Dec 10 2020 Jan Horak <jhorak@redhat.com> - 78.6.0-1
993716
- Update to 78.6.0 build1
532db1
8535f9
* Wed Nov 18 2020 Jan Horak <jhorak@redhat.com> - 78.5.0-1
8535f9
- Update to 78.5.0 build1
f41245
7a2c72
* Tue Nov 10 2020 erack@redhat.com - 78.4.1-1
7a2c72
- Update to 78.4.1
7a2c72
7a2c72
* Tue Nov 10 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-3
7a2c72
- Fixing flatpak build, fixing firefox.sh.in to not disable langpacks loading
7a2c72
7a2c72
* Thu Oct 29 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-2
7a2c72
- Enable addon sideloading
7a2c72
7a2c72
* Fri Oct 16 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-1
7a2c72
- Update to 78.4.0 build2
ac6938
fefd99
* Fri Sep 18 2020 Jan Horak <jhorak@redhat.com>
fefd99
- Update to 78.3.0 build1
fefd99
fefd99
* Tue Aug 18 2020 Jan Horak <jhorak@redhat.com> - 78.2.0-3
61b5ae
- Update to 78.2.0 build1
ab94fe
6d9afa
* Fri Jul 24 2020 Jan Horak <jhorak@redhat.com>
6d9afa
- Update to 68.11.0 build1
2c947b
a595fa
* Fri Jun 26 2020 Jan Horak <jhorak@redhat.com>
a595fa
- Update to 68.10.0 build1
d9df09
57077a
* Fri May 29 2020 Jan Horak <jhorak@redhat.com>
57077a
- Update to 68.9.0 build1
57077a
- Added patch for pipewire 0.3
57077a
57077a
* Mon May 11 2020 Jan Horak <jhorak@redhat.com>
57077a
- Added s390x specific patches
57077a
1f029b
* Wed Apr 29 2020 Jan Horak <jhorak@redhat.com>
1f029b
- Update to 68.8.0 build1
1f029b
1f029b
* Thu Apr 23 2020 Martin Stransky <stransky@redhat.com> - 68.7.0-3
1f029b
- Added fix for rhbz#1821418
1f029b
31d637
* Tue Apr 07 2020 Jan Horak <jhorak@redhat.com> - 68.7.0-2
31d637
- Update to 68.7.0 build3
31d637
301361
* Mon Apr  6 2020 Jan Horak <jhorak@redhat.com> - 68.6.1-1
301361
- Update to 68.6.1 ESR
301361
02297a
* Wed Mar 04 2020 Jan Horak <jhorak@redhat.com>
02297a
- Update to 68.6.0 build1
02297a
02297a
* Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 68.5.0-3
02297a
- Added fix for rhbz#1805667
02297a
- Enabled mzbz@1170092 - Firefox prefs at /etc
02297a
f2b637
* Fri Feb 07 2020 Jan Horak <jhorak@redhat.com>
f2b637
- Update to 68.5.0 build2
f2b637
f2b637
* Wed Feb 05 2020 Jan Horak <jhorak@redhat.com>
f2b637
- Update to 68.5.0 build1
f2b637
4e4262
* Wed Jan 08 2020 Jan Horak <jhorak@redhat.com>
4e4262
- Update to 68.4.1esr build1
4e4262
4e4262
* Fri Jan 03 2020 Jan Horak <jhorak@redhat.com>
4e4262
- Update to 68.4.0esr build1
4e4262
4e4262
* Wed Dec 18 2019 Jan Horak <jhorak@redhat.com>
4e4262
- Fix for wrong intl.accept_lang when using non en-us langpack
4e4262
4e2c80
* Wed Nov 27 2019 Martin Stransky <stransky@redhat.com> - 68.3.0-1
4e2c80
- Update to 68.3.0 ESR
4e2c80
4e2c80
* Thu Oct 24 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-4
4e2c80
- Added patch for TLS 1.3 support.
4e2c80
4e2c80
* Wed Oct 23 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-3
4e2c80
- Rebuild
4e2c80
ea2d40
* Mon Oct 21 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-2
ea2d40
- Rebuild
ea2d40
ea2d40
* Thu Oct 17 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-1
ea2d40
- Update to 68.2.0 ESR
ea2d40
ea2d40
* Thu Oct 10 2019 Martin Stransky <stransky@redhat.com> - 68.1.0-6
ea2d40
- Enable system nss on RHEL6
ea2d40
ea2d40
* Thu Sep  5 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-2
ea2d40
- Enable building langpacks
ea2d40
9aef81
* Wed Aug 28 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-1
9aef81
- Update to 68.1.0 ESR
9aef81
9aef81
* Mon Aug 5 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-4
9aef81
- Enable system nss
9aef81
e8f573
* Mon Jul 29 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-3
e8f573
- Enable official branding
88fddc
e8f573
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-2
e8f573
- Enabled PipeWire on RHEL8
52c38c
e8f573
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-1
e8f573
- Updated to 68.0.1 ESR
52c38c
e8f573
* Tue Jul 16 2019 Jan Horak <jhorak@redhat.com> - 68.0-0.11
e8f573
- Update to 68.0 ESR
52c38c
e8f573
* Tue Jun 25 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.10
e8f573
- Updated to 68.0 alpha 13
e8f573
- Enabled second arches
52c38c
e8f573
* Fri Mar 22 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.1
e8f573
- Updated to 68.0 alpha
97a777
97a777
* Fri Mar 15 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-3
97a777
- Added Google API keys (mozbz#1531176)
97a777
97a777
* Thu Mar 14 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-2
97a777
- Update to 60.6.0 ESR (Build 2)
97a777
97a777
* Wed Mar 13 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-1
97a777
- Update to 60.6.0 ESR (Build 1)
97a777
4c0036
* Wed Feb 13 2019 Jan Horak <jhorak@redhat.com> - 60.5.1-1
4c0036
- Update to 60.5.1 ESR
4c0036
4c0036
* Wed Feb 6 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-3
4c0036
- Added fix for rhbz#1672424 - Firefox crashes on NFS drives.
4c0036
4c0036
* Fri Jan 25 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-2
4c0036
- Updated to 60.5.0 ESR build2
4c0036
4c0036
* Tue Jan 22 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-1
4c0036
- Updated to 60.5.0 ESR build1
4c0036
4c0036
* Thu Jan 10 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-3
4c0036
- Fixing fontconfig warnings (rhbz#1601475)
4c0036
4c0036
* Wed Jan  9 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-2
4c0036
- Added pipewire patch from Tomas Popela (rhbz#1664270)
4c0036
4c0036
* Wed Dec  5 2018 Jan Horak <jhorak@redhat.com> - 60.4.0-1
4c0036
- Update to 60.4.0 ESR
4c0036
4c0036
* Tue Dec  4 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-2
4c0036
- Added firefox-gnome-shell-extension
4c0036
4c0036
* Fri Oct 19 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-1
4c0036
- Update to 60.3.0 ESR
4c0036
4c0036
* Wed Oct 10 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-2
4c0036
- Added patch for rhbz#1633932
4c0036
4c0036
* Tue Oct  2 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-1
4c0036
- Update to 60.2.2 ESR
4c0036
4c0036
* Mon Sep 24 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-1
4c0036
- Update to 60.2.1 ESR
4c0036
4c0036
* Fri Aug 31 2018 Jan Horak <jhorak@redhat.com> - 60.2.0-1
4c0036
- Update to 60.2.0 ESR
4c0036
4c0036
* Tue Aug 28 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-9
4c0036
- Do not set user agent (rhbz#1608065)
4c0036
- GTK dialogs are localized now (rhbz#1619373)
4c0036
- JNLP association works again (rhbz#1607457)
4c0036
4c0036
* Thu Aug 16 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-8
4c0036
- Fixed homepage and bookmarks (rhbz#1606778)
4c0036
- Fixed missing file associations in RHEL6 (rhbz#1613565)
4c0036
4c0036
* Thu Jul 12 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-7
4c0036
- Run at-spi-bus if not running already (for the bundled gtk3)
4c0036
4c0036
* Mon Jul  9 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-6
4c0036
- Fix for missing schemes for bundled gtk3
4c0036
4c0036
* Mon Jun 25 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-5
4c0036
- Added mesa-libEGL dependency to gtk3/rhel6
4c0036
4c0036
* Sun Jun 24 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-4
4c0036
- Disabled jemalloc on all second arches
4c0036
4c0036
* Fri Jun 22 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-3
4c0036
- Updated to 60.1.0 ESR build2
4c0036
4c0036
* Thu Jun 21 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-2
4c0036
- Disabled jemalloc on second arches
4c0036
4c0036
* Wed Jun 20 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-1
4c0036
- Updated to 60.1.0 ESR
4c0036
4c0036
* Wed Jun 13 2018 Jan Horak <jhorak@redhat.com> - 60.0-12
4c0036
- Fixing bundled libffi issues
4c0036
- Readded some requirements
4c0036
4c0036
* Mon Jun 11 2018 Martin Stransky <stransky@redhat.com> - 60.0-10
4c0036
- Added fix for mozilla BZ#1436242 - IPC crashes.
4c0036
4c0036
* Mon Jun 11 2018 Jan Horak <jhorak@redhat.com> - 60.0-9
4c0036
- Bundling libffi for the sec-arches
4c0036
- Added openssl-devel for the Python
4c0036
- Fixing bundled gtk3
4c0036
4c0036
* Fri May 18 2018 Martin Stransky <stransky@redhat.com> - 60.0-8
4c0036
- Added fix for mozilla BZ#1458492
4c0036
4c0036
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-7
4c0036
- Added patch from rhbz#1498561 to fix ppc64(le) crashes.
4c0036
4c0036
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-6
4c0036
- Disabled jemalloc on second arches
4c0036
4c0036
* Sun May  6 2018 Jan Horak <jhorak@redhat.com> - 60.0-4
4c0036
- Update to 60.0 ESR
4c0036
4c0036
* Thu Mar  8 2018 Jan Horak <jhorak@redhat.com> - 52.7.0-1
4c0036
- Update to 52.7.0 ESR
4c0036
4c0036
* Mon Jan 29 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-2
4c0036
- Build Firefox for desktop arches only (x86_64 and ppc64le)
4c0036
4c0036
* Thu Jan 18 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-1
4c0036
- Update to 52.6.0 ESR
4c0036
4c0036
* Thu Nov  9 2017 Jan Horak <jhorak@redhat.com> - 52.5.0-1
4c0036
- Update to 52.5.0 ESR
4c0036
4c0036
* Mon Sep 25 2017 Jan Horak <jhorak@redhat.com> - 52.4.0-1
4c0036
- Update to 52.4.0 ESR
4c0036
4c0036
* Thu Aug  3 2017 Jan Horak <jhorak@redhat.com> - 52.3.0-3
4c0036
- Update to 52.3.0 ESR (b2)
4c0036
- Require correct nss version
4c0036
4c0036
* Tue Jun 13 2017 Jan Horak <jhorak@redhat.com> - 52.2.0-1
4c0036
- Update to 52.2.0 ESR
4c0036
4c0036
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.1.2-1
4c0036
- Update to 52.1.2 ESR
4c0036
4c0036
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.0-7
4c0036
- Added fix for accept language (rhbz#1454322)
4c0036
4c0036
* Wed Mar 22 2017 Jan Horak <jhorak@redhat.com> - 52.0-6
4c0036
- Removing patch required for older NSS from RHEL 7.3
4c0036
- Added patch for rhbz#1414564
4c0036
4c0036
* Fri Mar 17 2017 Martin Stransky <stransky@redhat.com> - 52.0-5
4c0036
- Added fix for mozbz#1348168/CVE-2017-5428
4c0036
4c0036
* Mon Mar  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-4
4c0036
- Update to 52.0 ESR (b4)
4c0036
4c0036
* Thu Mar 2 2017 Martin Stransky <stransky@redhat.com> - 52.0-3
4c0036
- Added fix for rhbz#1423012 - ppc64 gfx crashes
4c0036
4c0036
* Wed Mar  1 2017 Jan Horak <jhorak@redhat.com> - 52.0-2
4c0036
- Enable system nss
4c0036
4c0036
* Tue Feb 28 2017 Martin Stransky <stransky@redhat.com> - 52.0-1
4c0036
- Update to 52.0ESR (B1)
4c0036
- Build RHEL7 package for Gtk3
4c0036
4c0036
* Mon Feb 27 2017 Martin Stransky <stransky@redhat.com> - 52.0-0.13
4c0036
- Added fix for rhbz#1414535
4c0036
4c0036
* Tue Feb 21 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.12
4c0036
- Update to 52.0b8
4c0036
4c0036
* Tue Feb  7 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.11
4c0036
- Readded addons patch
4c0036
4c0036
* Mon Feb  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.10
4c0036
- Update to 52.0b3
4c0036
4c0036
* Tue Jan 31 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.9
4c0036
- Update to 52.0b2
4c0036
4c0036
* Fri Jan 27 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.8
4c0036
- Update to 52.0b1
4c0036
4c0036
* Thu Dec  8 2016 Jan Horak <jhorak@redhat.com> - 52.0-0.5
4c0036
- Firefox Aurora 52 testing build