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

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

d417c4
    
d417c4
  </description>
d417c4
  <url type="homepage">http://www.mozilla.org/</url>
d417c4
  <screenshots>
d417c4
    <screenshot type="default">https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/a.png</screenshot>
d417c4
    <screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/b.png</screenshot>
d417c4
    <screenshot>https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/firefox/c.png</screenshot>
d417c4
  </screenshots>
d417c4
  
d417c4
  <updatecontact>someone_who_cares@upstream_project.org</updatecontact>
d417c4
   -->
d417c4
</application>
d417c4
EOF
d417c4
d417c4
echo > %{name}.lang
29a772
%if %{build_langpacks}
29a772
# Extract langpacks, make any mods needed, repack the langpack, and install it.
d417c4
%{__mkdir_p} %{buildroot}%{langpackdir}
d417c4
%{__tar} xf %{SOURCE1}
29a772
for langpack in `ls firefox-langpacks/*.xpi`; do
29a772
  language=`basename $langpack .xpi`
29a772
  extensionID=langpack-$language@firefox.mozilla.org
29a772
  %{__mkdir_p} $extensionID
d417c4
  unzip -qq $langpack -d $extensionID
29a772
  find $extensionID -type f | xargs chmod 644
29a772
29a772
  cd $extensionID
d417c4
  zip -qq -r9mX ../${extensionID}.xpi *
29a772
  cd -
29a772
d417c4
  %{__install} -m 644 ${extensionID}.xpi %{buildroot}%{langpackdir}
29a772
  language=`echo $language | sed -e 's/-/_/g'`
d417c4
  echo "%%lang($language) %{langpackdir}/${extensionID}.xpi" >> %{name}.lang
29a772
done
29a772
%{__rm} -rf firefox-langpacks
690287
690287
# Install langpack workaround (see #707100, #821169)
690287
function create_default_langpack() {
d417c4
language_long=$1
d417c4
language_short=$2
d417c4
cd %{buildroot}%{langpackdir}
d417c4
ln -s langpack-$language_long@firefox.mozilla.org.xpi langpack-$language_short@firefox.mozilla.org.xpi
d417c4
cd -
d417c4
echo "%%lang($language_short) %{langpackdir}/langpack-$language_short@firefox.mozilla.org.xpi" >> %{name}.lang
690287
}
690287
690287
# Table of fallbacks for each language
690287
# please file a bug at bugzilla.redhat.com if the assignment is incorrect
690287
create_default_langpack "es-AR" "es"
690287
create_default_langpack "fy-NL" "fy"
690287
create_default_langpack "ga-IE" "ga"
690287
create_default_langpack "gu-IN" "gu"
690287
create_default_langpack "hi-IN" "hi"
690287
create_default_langpack "hy-AM" "hy"
690287
create_default_langpack "nb-NO" "nb"
690287
create_default_langpack "nn-NO" "nn"
690287
create_default_langpack "pa-IN" "pa"
690287
create_default_langpack "pt-PT" "pt"
690287
create_default_langpack "sv-SE" "sv"
690287
create_default_langpack "zh-TW" "zh"
727eab
%endif
29a772
29a772
# Keep compatibility with the old preference location.
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/defaults/preferences
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/browser/defaults
29a772
ln -s %{mozappdir}/defaults/preferences $RPM_BUILD_ROOT/%{mozappdir}/browser/defaults/preferences
d417c4
# Default preferences
d417c4
%{__cp} %{SOURCE12} %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
62df9b
sed -i -e 's|%PREFIX%|%{_prefix}|' %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
488d12
# Enable modern crypto for the key export on the RHEL9 only (rhbz#1764205)
488d12
%if 0%{?rhel} == 9
488d12
  echo 'pref("security.pki.use_modern_crypto_with_pkcs12", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
488d12
%endif
488d12
04327a
%ifarch s390x ppc64
488d12
  echo 'pref("gfx.webrender.force-disabled", true);' >> %{buildroot}%{mozappdir}/defaults/preferences/all-redhat.js
488d12
%endif
488d12
4cf60e
4cf60e
# System config dir
d417c4
%{__mkdir_p} %{buildroot}/%{_sysconfdir}/%{name}/pref
690287
29a772
# System extensions
d417c4
%{__mkdir_p} %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_app_id}
d417c4
%{__mkdir_p} %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_app_id}
29a772
29a772
# Copy over the LICENSE
d417c4
%{__install} -p -c -m 644 LICENSE %{buildroot}/%{mozappdir}
d417c4
d417c4
# Use the system hunspell dictionaries
d417c4
%{__rm} -rf %{buildroot}%{mozappdir}/dictionaries
d417c4
ln -s %{_datadir}/myspell %{buildroot}%{mozappdir}/dictionaries
d417c4
d417c4
%if %{run_tests}
d417c4
# Add debuginfo for crash-stats.mozilla.com
d417c4
%{__mkdir_p} %{buildroot}/test_results
d417c4
%{__cp} test_results/* %{buildroot}/test_results
d417c4
%endif
4cf60e
29a772
d417c4
# Copy over run-mozilla.sh
d417c4
%{__cp} build/unix/run-mozilla.sh %{buildroot}%{mozappdir}
29a772
d417c4
# Add distribution.ini
d417c4
%{__mkdir_p} %{buildroot}%{mozappdir}/distribution
d417c4
%{__cp} %{SOURCE26} %{buildroot}%{mozappdir}/distribution
29a772
f5d0dc
%if 0%{?centos}
f5d0dc
sed -i -e 's|Red Hat Enterprise|CentOS|' %{buildroot}%{mozappdir}/distribution/distribution.ini
f5d0dc
%endif
f5d0dc
d417c4
# Remove copied libraries to speed up build
d417c4
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozjs.so
d417c4
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libmozalloc.so
d417c4
rm -f %{buildroot}%{mozappdirdev}/sdk/lib/libxul.so
29a772
#---------------------------------------------------------------------
29a772
4cf60e
%preun
4cf60e
# is it a final removal?
4cf60e
if [ $1 -eq 0 ]; then
4cf60e
  %{__rm} -rf %{mozappdir}/components
4cf60e
  %{__rm} -rf %{mozappdir}/extensions
4cf60e
  %{__rm} -rf %{mozappdir}/plugins
4cf60e
fi
4cf60e
d417c4
%clean
d417c4
rm -rf %{_srcrpmdir}/libffi*.src.rpm
d417c4
find %{_rpmdir} -name "libffi*.rpm" -delete
83e1c4
rm -rf %{_srcrpmdir}/openssl*.src.rpm
83e1c4
find %{_rpmdir} -name "openssl*.rpm" -delete
e98f2c
rm -rf %{_srcrpmdir}/nss*.src.rpm
e98f2c
find %{_rpmdir} -name "nss*.rpm" -delete
e98f2c
rm -rf %{_srcrpmdir}/nspr*.src.rpm
e98f2c
find %{_rpmdir} -name "nspr*.rpm" -delete
d417c4
d417c4
%post
d417c4
update-desktop-database &> /dev/null || :
d417c4
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
d417c4
d417c4
%postun
d417c4
update-desktop-database &> /dev/null || :
d417c4
if [ $1 -eq 0 ] ; then
d417c4
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
d417c4
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
d417c4
fi
d417c4
29a772
%posttrans
29a772
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
29a772
29a772
%files -f %{name}.lang
29a772
%{_bindir}/firefox
d417c4
%{mozappdir}/firefox
d417c4
%{mozappdir}/firefox-bin
29a772
%doc %{_mandir}/man1/*
d417c4
%dir %{_sysconfdir}/%{name}
4cf60e
%dir %{_sysconfdir}/%{name}/*
d417c4
%dir %{_datadir}/mozilla/extensions/*
d417c4
%dir %{_libdir}/mozilla/extensions/*
d417c4
%{_datadir}/appdata/*.appdata.xml
d417c4
%{_datadir}/applications/*.desktop
29a772
%dir %{mozappdir}
29a772
%doc %{mozappdir}/LICENSE
29a772
%{mozappdir}/browser/chrome
d417c4
%{mozappdir}/defaults/preferences/*
d417c4
%{mozappdir}/browser/defaults/preferences
d417c4
%{mozappdir}/browser/features/*.xpi
d417c4
%{mozappdir}/distribution/distribution.ini
d417c4
%if %{build_langpacks}
d417c4
%dir %{langpackdir}
d417c4
%endif
29a772
%{mozappdir}/browser/omni.ja
29a772
%{mozappdir}/run-mozilla.sh
29a772
%{mozappdir}/application.ini
d417c4
%{mozappdir}/pingsender
29a772
%exclude %{mozappdir}/removed-files
d417c4
%{_datadir}/icons/hicolor/16x16/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/22x22/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/24x24/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/256x256/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/32x32/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/48x48/apps/firefox.png
d417c4
%{_datadir}/icons/hicolor/symbolic/apps/firefox-symbolic.svg
29a772
%{mozappdir}/*.so
d417c4
%{mozappdir}/defaults/pref/channel-prefs.js
d417c4
%{mozappdir}/dependentlibs.list
d417c4
%{mozappdir}/dictionaries
29a772
%{mozappdir}/omni.ja
29a772
%{mozappdir}/platform.ini
29a772
%{mozappdir}/plugin-container
f9af33
%{mozappdir}/gmp-clearkey
c82edc
%{mozappdir}/fonts/*.ttf
d417c4
%if !%{?system_nss}
d417c4
%exclude %{mozappdir}/libnssckbi.so
f9af33
%endif
d417c4
%if 0%{use_bundled_ffi}
d417c4
%{mozappdir}/bundled/%{_lib}/libffi.so*
d417c4
%exclude %{_datadir}/doc/libffi*
f9af33
%endif
d417c4
e98f2c
%if 0%{?bundle_nss}
e98f2c
%{mozappdir}/bundled/%{_lib}/libfreebl*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnss3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnssdbm3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnssutil3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libsmime3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libsoftokn*
e98f2c
%{mozappdir}/bundled/%{_lib}/libssl3*
e98f2c
%{mozappdir}/bundled/%{_lib}/libnspr4.so
e98f2c
%{mozappdir}/bundled/%{_lib}/libplc4.so
e98f2c
%{mozappdir}/bundled/%{_lib}/libplds4.so
e98f2c
%endif
e98f2c
4cf60e
29a772
#---------------------------------------------------------------------
29a772
29a772
%changelog
d10ee9
* Fri May 20 2022 Jan Horak <jhorak@redhat.com> - 91.9.1-1
d10ee9
- Update to 91.9.1 build1
d10ee9
92cce7
* Tue Apr 26 2022 Eike Rathke <erack@redhat.com> - 91.9.0-1
92cce7
- Update to 91.9.0
92cce7
9b33a3
* Tue Apr 05 2022 Eike Rathke <erack@redhat.com> - 91.8.0-1
9b33a3
- Update to 91.8.0
9b33a3
c88246
* Mon Mar 07 2022 Eike Rathke <erack@redhat.com> - 91.7.0-3
c88246
- Update to 91.7.0 build3
c88246
c88246
* Wed Mar 02 2022 Jan Horak <jhorak@redhat.com> - 91.7.0-2
c88246
- Added expat backports of CVE-2022-25235, CVE-2022-25236 and CVE-2022-25315
c88246
c88246
* Tue Mar 01 2022 Eike Rathke <erack@redhat.com> - 91.7.0-1
c88246
- Update to 91.7.0 build2
c88246
c88246
* Fri Feb 25 2022 Jan Horak <jhorak@redhat.com> - 91.6.0-2
c88246
- Install langpacks to the browser/extensions to make them available in UI:
c88246
  rhbz#2030190
c88246
391ea6
* Wed Feb 02 2022 Eike Rathke <erack@redhat.com> - 91.6.0-1
391ea6
- Update to 91.6.0 build1
391ea6
391ea6
* Wed Feb 02 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-2
391ea6
- Use default update channel to fix non working enterprise policies:
391ea6
  rhbz#2044667
391ea6
a9b9fb
* Thu Jan 06 2022 Eike Rathke <erack@redhat.com> - 91.5.0-1
a9b9fb
- Update to 91.5.0 build1
a9b9fb
391ea6
* Mon Dec 13 2021 Jan Horak <jhorak@redhat.com> - 91.4.0-2
391ea6
- Added fix for failing addons signatures.
391ea6
170e37
* Wed Dec 01 2021 Eike Rathke <erack@redhat.com> - 91.4.0-1
170e37
- Update to 91.4.0 build1
170e37
c5a455
* Mon Nov 01 2021 Eike Rathke <erack@redhat.com> - 91.3.0-1
c5a455
- Update to 91.3.0 build1
c5a455
04327a
* Thu Oct 21 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-5
04327a
- Fixed crashes when FIPS is enabled.
04327a
488d12
* Mon Oct 04 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-4
488d12
- Disable webrender on the s390x due to wrong colors: rhbz#2009503
488d12
488d12
* Wed Sep 29 2021 Jan Horak <jhorak@redhat.com> - 91.2.0-3
488d12
- Update to 91.2.0 build1
488d12
488d12
* Wed Sep 15 2021 Jan Horak <jhorak@redhat.com> - 91.1.0-1
488d12
- Update to 91.1.0 build1
488d12
488d12
* Tue Aug 17 2021 Jan Horak <jhorak@redhat.com>
488d12
- Update to 91.0.1 build1
113162
488d12
* Tue Aug 10 2021 Jan Horak <jhorak@redhat.com> - 91.0-1
488d12
- Update to 91.0 ESR
2ebcee
488d12
* Thu Jul 29 2021 Jan Horak <jhorak@redhat.com> - 91.0-1
488d12
- Update to 91.0b8
2ebcee
2ebcee
* Fri Jul 16 2021 Jan Horak <jhorak@redhat.com> - 78.12.0-2
2ebcee
- Rebuild to pickup older nss
2ebcee
1a0d85
* Wed Jul 07 2021 Eike Rathke <erack@redhat.com> - 78.12.0-1
1a0d85
- Update to 78.12.0 build1
1a0d85
28122c
* Mon May 31 2021 Eike Rathke <erack@redhat.com> - 78.11.0-3
28122c
- Update to 78.11.0 build2 (release)
28122c
28122c
* Thu May 27 2021 Eike Rathke <erack@redhat.com> - 78.11.0-2
28122c
- Fix rhel_minor_version for dist .el8_4 and .el8
28122c
28122c
* Tue May 25 2021 Eike Rathke <erack@redhat.com> - 78.11.0-1
28122c
- Update to 78.11.0 build1
28122c
58cb8d
* Tue Apr 20 2021 Eike Rathke <erack@redhat.com> - 78.10.0-1
58cb8d
- Update to 78.10.0
58cb8d
bbd8ff
* Wed Mar 17 2021 Eike Rathke <erack@redhat.com> - 78.9.0-1
bbd8ff
- Update to 78.9.0 build1
bbd8ff
62df9b
* Wed Feb 17 2021 Eike Rathke <erack@redhat.com> - 78.8.0-1
62df9b
- Update to 78.8.0 build2
62df9b
62df9b
* Tue Feb 09 2021 Eike Rathke <erack@redhat.com> - 78.7.1-1
62df9b
- Update to 78.7.1
62df9b
62df9b
* Tue Feb 09 2021 Jan Horak <jhorak@redhat.com> - 78.7.0-3
62df9b
- Fixing install prefix for the homepage
62df9b
2329c5
* Fri Jan 22 2021 Eike Rathke <erack@redhat.com> - 78.7.0-2
2329c5
- Update to 78.7.0 build2
2329c5
2329c5
* Wed Jan 20 2021 Eike Rathke <erack@redhat.com> - 78.7.0-1
2329c5
- Update to 78.7.0 build1
2329c5
844667
* Wed Jan  6 2021 Eike Rathke <erack@redhat.com> - 78.6.1-1
844667
- Update to 78.6.1 build1
844667
62f5ec
* Thu Dec 10 2020 Jan Horak <jhorak@redhat.com> - 78.6.0-1
62f5ec
- Update to 78.6.0 build1
62f5ec
e0a0b4
* Wed Nov 18 2020 Jan Horak <jhorak@redhat.com> - 78.5.0-1
e0a0b4
- Update to 78.5.0 build1
e0a0b4
2d7a08
* Tue Nov 10 2020 erack@redhat.com - 78.4.1-1
2d7a08
- Update to 78.4.1
2d7a08
2d7a08
* Tue Nov 10 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-3
2d7a08
- Fixing flatpak build, fixing firefox.sh.in to not disable langpacks loading
2d7a08
2d7a08
* Thu Oct 29 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-2
2d7a08
- Enable addon sideloading
2d7a08
d3afb2
* Fri Oct 16 2020 Jan Horak <jhorak@redhat.com> - 78.4.0-1
d3afb2
- Update to 78.4.0 build2
d3afb2
e98f2c
* Fri Sep 18 2020 Jan Horak <jhorak@redhat.com>
e98f2c
- Update to 78.3.0 build1
e98f2c
e98f2c
* Tue Aug 18 2020 Jan Horak <jhorak@redhat.com> - 78.2.0-3
e98f2c
- Update to 78.2.0 build1
812ff3
e98f2c
* Fri Jul 24 2020 Jan Horak <jhorak@redhat.com>
ec3a5b
- Update to 68.11.0 build1
ec3a5b
4c7c17
* Fri Jun 26 2020 Jan Horak <jhorak@redhat.com>
4c7c17
- Update to 68.10.0 build1
4c7c17
5bf1f5
* Fri May 29 2020 Jan Horak <jhorak@redhat.com>
5bf1f5
- Update to 68.9.0 build1
5bf1f5
- Added patch for pipewire 0.3
5bf1f5
5bf1f5
* Mon May 11 2020 Jan Horak <jhorak@redhat.com>
5bf1f5
- Added s390x specific patches
5bf1f5
f5d0dc
* Wed Apr 29 2020 Jan Horak <jhorak@redhat.com>
f5d0dc
- Update to 68.8.0 build1
f5d0dc
f5d0dc
* Thu Apr 23 2020 Martin Stransky <stransky@redhat.com> - 68.7.0-3
f5d0dc
- Added fix for rhbz#1821418
f5d0dc
10686e
* Tue Apr 07 2020 Jan Horak <jhorak@redhat.com> - 68.7.0-2
10686e
- Update to 68.7.0 build3
10686e
79653b
* Mon Apr  6 2020 Jan Horak <jhorak@redhat.com> - 68.6.1-1
79653b
- Update to 68.6.1 ESR
79653b
727eab
* Wed Mar 04 2020 Jan Horak <jhorak@redhat.com>
727eab
- Update to 68.6.0 build1
727eab
727eab
* Mon Feb 24 2020 Martin Stransky <stransky@redhat.com> - 68.5.0-3
727eab
- Added fix for rhbz#1805667
727eab
- Enabled mzbz@1170092 - Firefox prefs at /etc
727eab
aec9d4
* Fri Feb 07 2020 Jan Horak <jhorak@redhat.com>
aec9d4
- Update to 68.5.0 build2
aec9d4
aec9d4
* Wed Feb 05 2020 Jan Horak <jhorak@redhat.com>
aec9d4
- Update to 68.5.0 build1
aec9d4
ce8c9f
* Wed Jan 08 2020 Jan Horak <jhorak@redhat.com>
ce8c9f
- Update to 68.4.1esr build1
ce8c9f
ce8c9f
* Fri Jan 03 2020 Jan Horak <jhorak@redhat.com>
ce8c9f
- Update to 68.4.0esr build1
ce8c9f
ce8c9f
* Wed Dec 18 2019 Jan Horak <jhorak@redhat.com>
ce8c9f
- Fix for wrong intl.accept_lang when using non en-us langpack
ce8c9f
edb57c
* Wed Nov 27 2019 Martin Stransky <stransky@redhat.com> - 68.3.0-1
edb57c
- Update to 68.3.0 ESR
edb57c
edb57c
* Thu Oct 24 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-4
edb57c
- Added patch for TLS 1.3 support.
edb57c
edb57c
* Wed Oct 23 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-3
edb57c
- Rebuild
edb57c
edb57c
* Mon Oct 21 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-2
edb57c
- Rebuild
edb57c
83e1c4
* Thu Oct 17 2019 Martin Stransky <stransky@redhat.com> - 68.2.0-1
83e1c4
- Update to 68.2.0 ESR
83e1c4
83e1c4
* Thu Oct 10 2019 Martin Stransky <stransky@redhat.com> - 68.1.0-6
83e1c4
- Enable system nss on RHEL6
83e1c4
c82edc
* Thu Sep  5 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-2
c82edc
- Enable building langpacks
64d073
c82edc
* Wed Aug 28 2019 Jan Horak <jhorak@redhat.com> - 68.1.0-1
c82edc
- Update to 68.1.0 ESR
64d073
c82edc
* Mon Aug 5 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-4
c82edc
- Enable system nss
484e5e
c82edc
* Mon Jul 29 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-3
c82edc
- Enable official branding
484e5e
c82edc
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-2
c82edc
- Enabled PipeWire on RHEL8
585d85
c82edc
* Fri Jul 26 2019 Martin Stransky <stransky@redhat.com> - 68.0.1-1
c82edc
- Updated to 68.0.1 ESR
585d85
c82edc
* Tue Jul 16 2019 Jan Horak <jhorak@redhat.com> - 68.0-0.11
c82edc
- Update to 68.0 ESR
585d85
c82edc
* Tue Jun 25 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.10
c82edc
- Updated to 68.0 alpha 13
c82edc
- Enabled second arches
c1be9b
c82edc
* Fri Mar 22 2019 Martin Stransky <stransky@redhat.com> - 68.0-0.1
c82edc
- Updated to 68.0 alpha
9c9a85
073c86
* Fri Mar 15 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-3
073c86
- Added Google API keys (mozbz#1531176)
073c86
073c86
* Thu Mar 14 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-2
073c86
- Update to 60.6.0 ESR (Build 2)
073c86
073c86
* Wed Mar 13 2019 Martin Stransky <stransky@redhat.com> - 60.6.0-1
073c86
- Update to 60.6.0 ESR (Build 1)
073c86
9844c3
* Wed Feb 13 2019 Jan Horak <jhorak@redhat.com> - 60.5.1-1
9844c3
- Update to 60.5.1 ESR
9844c3
9844c3
* Wed Feb 6 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-3
9844c3
- Added fix for rhbz#1672424 - Firefox crashes on NFS drives.
32a056
7468b5
* Fri Jan 25 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-2
7468b5
- Updated to 60.5.0 ESR build2
7468b5
7468b5
* Tue Jan 22 2019 Martin Stransky <stransky@redhat.com> - 60.5.0-1
7468b5
- Updated to 60.5.0 ESR build1
7468b5
7468b5
* Thu Jan 10 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-3
7468b5
- Fixing fontconfig warnings (rhbz#1601475)
7468b5
7468b5
* Wed Jan  9 2019 Jan Horak <jhorak@redhat.com> - 60.4.0-2
7468b5
- Added pipewire patch from Tomas Popela (rhbz#1664270)
400df2
b26a6b
* Wed Dec  5 2018 Jan Horak <jhorak@redhat.com> - 60.4.0-1
b26a6b
- Update to 60.4.0 ESR
b26a6b
b26a6b
* Tue Dec  4 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-2
b26a6b
- Added firefox-gnome-shell-extension
b26a6b
b26a6b
* Fri Oct 19 2018 Jan Horak <jhorak@redhat.com> - 60.3.0-1
b26a6b
- Update to 60.3.0 ESR
b26a6b
332c93
* Wed Oct 10 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-2
332c93
- Added patch for rhbz#1633932
332c93
6a1aae
* Tue Oct  2 2018 Jan Horak <jhorak@redhat.com> - 60.2.2-1
6a1aae
- Update to 60.2.2 ESR
a5ff67
b6986f
* Mon Sep 24 2018 Jan Horak <jhorak@redhat.com> - 60.2.1-1
b6986f
- Update to 60.2.1 ESR
6d119b
58eb7f
* Fri Aug 31 2018 Jan Horak <jhorak@redhat.com> - 60.2.0-1
58eb7f
- Update to 60.2.0 ESR
58eb7f
58eb7f
* Tue Aug 28 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-9
58eb7f
- Do not set user agent (rhbz#1608065)
58eb7f
- GTK dialogs are localized now (rhbz#1619373)
58eb7f
- JNLP association works again (rhbz#1607457)
58eb7f
58eb7f
* Thu Aug 16 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-8
58eb7f
- Fixed homepage and bookmarks (rhbz#1606778)
58eb7f
- Fixed missing file associations in RHEL6 (rhbz#1613565)
58eb7f
58eb7f
* Thu Jul 12 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-7
58eb7f
- Run at-spi-bus if not running already (for the bundled gtk3)
58eb7f
58eb7f
* Mon Jul  9 2018 Jan Horak <jhorak@redhat.com> - 60.1.0-6
58eb7f
- Fix for missing schemes for bundled gtk3
58eb7f
58eb7f
* Mon Jun 25 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-5
58eb7f
- Added mesa-libEGL dependency to gtk3/rhel6
ce03ed
d417c4
* Sun Jun 24 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-4
d417c4
- Disabled jemalloc on all second arches
d417c4
d417c4
* Fri Jun 22 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-3
d417c4
- Updated to 60.1.0 ESR build2
d417c4
d417c4
* Thu Jun 21 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-2
d417c4
- Disabled jemalloc on second arches
d417c4
d417c4
* Wed Jun 20 2018 Martin Stransky <stransky@redhat.com> - 60.1.0-1
d417c4
- Updated to 60.1.0 ESR
d417c4
d417c4
* Wed Jun 13 2018 Jan Horak <jhorak@redhat.com> - 60.0-12
d417c4
- Fixing bundled libffi issues
d417c4
- Readded some requirements
d417c4
d417c4
* Mon Jun 11 2018 Martin Stransky <stransky@redhat.com> - 60.0-10
d417c4
- Added fix for mozilla BZ#1436242 - IPC crashes.
48ab33
d417c4
* Mon Jun 11 2018 Jan Horak <jhorak@redhat.com> - 60.0-9
d417c4
- Bundling libffi for the sec-arches
d417c4
- Added openssl-devel for the Python
d417c4
- Fixing bundled gtk3
d3672c
d417c4
* Fri May 18 2018 Martin Stransky <stransky@redhat.com> - 60.0-8
d417c4
- Added fix for mozilla BZ#1458492
41fb10
d417c4
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-7
d417c4
- Added patch from rhbz#1498561 to fix ppc64(le) crashes.
d417c4
d417c4
* Wed May 16 2018 Martin Stransky <stransky@redhat.com> - 60.0-6
d417c4
- Disabled jemalloc on second arches
d417c4
d417c4
* Sun May  6 2018 Jan Horak <jhorak@redhat.com> - 60.0-4
d417c4
- Update to 60.0 ESR
f0612e
746756
* Thu Mar  8 2018 Jan Horak <jhorak@redhat.com> - 52.7.0-1
746756
- Update to 52.7.0 ESR
746756
d417c4
* Mon Jan 29 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-2
d417c4
- Build Firefox for desktop arches only (x86_64 and ppc64le)
e856dc
d417c4
* Thu Jan 18 2018 Martin Stransky <stransky@redhat.com> - 52.6.0-1
d417c4
- Update to 52.6.0 ESR
56500d
d074aa
* Thu Nov  9 2017 Jan Horak <jhorak@redhat.com> - 52.5.0-1
d074aa
- Update to 52.5.0 ESR
dfb614
07688c
* Mon Sep 25 2017 Jan Horak <jhorak@redhat.com> - 52.4.0-1
07688c
- Update to 52.4.0 ESR
3dae0c
07688c
* Thu Aug  3 2017 Jan Horak <jhorak@redhat.com> - 52.3.0-3
ecb567
- Update to 52.3.0 ESR (b2)
07688c
- Require correct nss version
c2606d
81cc07
* Tue Jun 13 2017 Jan Horak <jhorak@redhat.com> - 52.2.0-1
7b80ca
- Update to 52.2.0 ESR
7b80ca
81cc07
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.1.2-1
81cc07
- Update to 52.1.2 ESR
00e548
81cc07
* Wed May 24 2017 Jan Horak <jhorak@redhat.com> - 52.0-7
81cc07
- Added fix for accept language (rhbz#1454322)
99a998
81cc07
* Wed Mar 22 2017 Jan Horak <jhorak@redhat.com> - 52.0-6
81cc07
- Removing patch required for older NSS from RHEL 7.3
81cc07
- Added patch for rhbz#1414564
6b6f2b
464556
* Fri Mar 17 2017 Martin Stransky <stransky@redhat.com> - 52.0-5
464556
- Added fix for mozbz#1348168/CVE-2017-5428
464556
f9af33
* Mon Mar  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-4
f9af33
- Update to 52.0 ESR (b4)
f9af33
f9af33
* Thu Mar 2 2017 Martin Stransky <stransky@redhat.com> - 52.0-3
f9af33
- Added fix for rhbz#1423012 - ppc64 gfx crashes
f9af33
f9af33
* Wed Mar  1 2017 Jan Horak <jhorak@redhat.com> - 52.0-2
f9af33
- Enable system nss
f9af33
f9af33
* Tue Feb 28 2017 Martin Stransky <stransky@redhat.com> - 52.0-1
f9af33
- Update to 52.0ESR (B1)
f9af33
- Build RHEL7 package for Gtk3
f9af33
f9af33
* Mon Feb 27 2017 Martin Stransky <stransky@redhat.com> - 52.0-0.13
f9af33
- Added fix for rhbz#1414535
f9af33
f9af33
* Tue Feb 21 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.12
f9af33
- Update to 52.0b8
39f831
f9af33
* Tue Feb  7 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.11
f9af33
- Readded addons patch
0775c5
f9af33
* Mon Feb  6 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.10
f9af33
- Update to 52.0b3
eeb87f
f9af33
* Tue Jan 31 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.9
f9af33
- Update to 52.0b2
28b932
f9af33
* Fri Jan 27 2017 Jan Horak <jhorak@redhat.com> - 52.0-0.8
f9af33
- Update to 52.0b1
76ac1a
f9af33
* Thu Dec  8 2016 Jan Horak <jhorak@redhat.com> - 52.0-0.5
f9af33
- Firefox Aurora 52 testing build