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

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

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