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

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

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