diff --git a/.firefox.metadata b/.firefox.metadata index 8c8247f..692c2d9 100644 --- a/.firefox.metadata +++ b/.firefox.metadata @@ -1,7 +1,7 @@ 18a8f30a0356c751b8d0ea6f76e764cab13ee046 SOURCES/Python-2.7.13.tar.xz a9effcc06cf80eaa22f12c1f7d6aa4266a1c4966 SOURCES/cbindgen-vendor-0.14.3.tar.xz -f2e0607bf57105e8741c0f941bcacee8a75d672a SOURCES/firefox-78.3.0esr.source.tar.xz -444ca305428fc4778a7252f3cdc2e65495921dcd SOURCES/firefox-langpacks-78.3.0esr-20200918.tar.xz +4dc4e41ae749e1d189ac8f45d0b804a18b8d38c3 SOURCES/firefox-78.6.0esr.source.tar.xz +d45296cbd3128ebc9aaf3f91a8b1d4cd6051365a SOURCES/firefox-langpacks-78.6.0esr-20201210.tar.xz 0de63f863b158454b9429234b52ed28a397ec45c SOURCES/gtk3-private-3.22.26-1.el6.src.rpm e188ab1a444697bc649e223c28389d82ca94c472 SOURCES/libffi-3.0.13-18.el7_3.src.rpm 5715f987bc0024ce5d72993cb101b8268350033b SOURCES/nodejs-10.21.0-5.fc32.src.rpm diff --git a/.gitignore b/.gitignore index 683a467..297d297 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ SOURCES/Python-2.7.13.tar.xz SOURCES/cbindgen-vendor-0.14.3.tar.xz -SOURCES/firefox-78.3.0esr.source.tar.xz -SOURCES/firefox-langpacks-78.3.0esr-20200918.tar.xz +SOURCES/firefox-78.6.0esr.source.tar.xz +SOURCES/firefox-langpacks-78.6.0esr-20201210.tar.xz SOURCES/gtk3-private-3.22.26-1.el6.src.rpm SOURCES/libffi-3.0.13-18.el7_3.src.rpm SOURCES/nodejs-10.21.0-5.fc32.src.rpm diff --git a/SOURCES/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch b/SOURCES/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch deleted file mode 100644 index 6dfe2ad..0000000 --- a/SOURCES/Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 firefox-60.0/mfbt/LinuxSignal.h ---- firefox-60.0/mfbt/LinuxSignal.h.mozilla-1238661 2018-04-27 08:55:38.848241768 +0200 -+++ firefox-60.0/mfbt/LinuxSignal.h 2018-04-27 09:06:47.946769859 +0200 -@@ -22,7 +22,7 @@ __attribute__((naked)) void SignalTrampo - void* aContext) { - asm volatile("nop; nop; nop; nop" : : : "memory"); - -- asm volatile("b %0" : : "X"(H) : "memory"); -+ asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory"); - } - - # define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline) diff --git a/SOURCES/Bug-1526653---fix_user_vfp_armv7.patch b/SOURCES/Bug-1526653---fix_user_vfp_armv7.patch deleted file mode 100644 index 3f84f95..0000000 --- a/SOURCES/Bug-1526653---fix_user_vfp_armv7.patch +++ /dev/null @@ -1,35 +0,0 @@ -From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001 -From: Mike Hommey -Date: Sat, 1 Jun 2019 09:06:01 +0900 -Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and - user_vfp_exc. - ---- - js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp -index 636537f8478..383c380f04c 100644 ---- a/js/src/wasm/WasmSignalHandlers.cpp -+++ b/js/src/wasm/WasmSignalHandlers.cpp -@@ -248,7 +248,16 @@ using mozilla::DebugOnly; - #endif - - #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS --# include -+struct user_vfp { -+ unsigned long long fpregs[32]; -+ unsigned long fpscr; -+}; -+ -+struct user_vfp_exc { -+ unsigned long fpexc; -+ unsigned long fpinst; -+ unsigned long fpinst2; -+}; - #endif - - #if defined(ANDROID) --- -2.20.1 - diff --git a/SOURCES/fedora-shebang-build.patch b/SOURCES/fedora-shebang-build.patch deleted file mode 100644 index 9ade86c..0000000 --- a/SOURCES/fedora-shebang-build.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff -up firefox-73.0/build/unix/run-mozilla.sh.old firefox-73.0/build/unix/run-mozilla.sh ---- firefox-73.0/build/unix/run-mozilla.sh.old 2020-02-12 09:58:00.150895904 +0100 -+++ firefox-73.0/build/unix/run-mozilla.sh 2020-02-12 09:58:06.505860696 +0100 -@@ -1,4 +1,4 @@ --#!/bin/sh -+#!/usr/bin/sh - # - # This Source Code Form is subject to the terms of the Mozilla Public - # License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/SOURCES/firefox-centos-default-prefs.js b/SOURCES/firefox-centos-default-prefs.js deleted file mode 100644 index ea10021..0000000 --- a/SOURCES/firefox-centos-default-prefs.js +++ /dev/null @@ -1,35 +0,0 @@ -pref("app.update.auto", false); -pref("app.update.enabled", false); -pref("app.update.autoInstallEnabled", false); -pref("general.smoothScroll", true); -pref("intl.locale.matchOS", true); -pref("toolkit.storage.synchronous", 0); -pref("toolkit.networkmanager.disable", false); -pref("offline.autoDetect", true); -pref("browser.backspace_action", 2); -pref("browser.display.use_system_colors", true); -pref("browser.download.folderList", 1); -pref("browser.link.open_external", 3); -pref("browser.shell.checkDefaultBrowser", false); -pref("network.manage-offline-status", true); -pref("extensions.shownSelectionUI", true); -pref("ui.SpellCheckerUnderlineStyle", 1); -pref("startup.homepage_override_url", "http://www.centos.org"); -pref("startup.homepage_welcome_url", "http://www.centos.org"); -pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=file:///usr/share/doc/HTML/index.html"); -pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"); -pref("media.gmp-gmpopenh264.provider.enabled",false); -pref("media.gmp-gmpopenh264.autoupdate",false); -pref("media.gmp-gmpopenh264.enabled",false); -pref("media.gmp-gmpopenh264.enabled",false); -pref("plugins.notifyMissingFlash", false); -/* See https://bugzilla.redhat.com/show_bug.cgi?id=1226489 */ -pref("browser.display.use_system_colors", false); -pref("layers.use-image-offscreen-surfaces", false); -/* Allow sending credetials to all https:// sites */ -pref("network.negotiate-auth.trusted-uris", "https://"); -pref("security.use_sqldb", false); -/* Use OS settings for UI language */ -pref("intl.locale.requested", ""); -/* See https://bugzilla.redhat.com/show_bug.cgi?id=1672424 */ -pref("storage.nfs_filesystem", true); diff --git a/SOURCES/firefox-mozconfig b/SOURCES/firefox-mozconfig index 6efa937..cc9fda8 100644 --- a/SOURCES/firefox-mozconfig +++ b/SOURCES/firefox-mozconfig @@ -17,6 +17,7 @@ ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key ac_add_options --with-google-location-service-api-keyfile=../google-api-key ac_add_options --with-google-safebrowsing-api-keyfile=../google-api-key ac_add_options --disable-av1 +ac_add_options --allow-addon-sideload export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 diff --git a/SOURCES/firefox.sh.in b/SOURCES/firefox.sh.in index a33e812..2c8ffc1 100644 --- a/SOURCES/firefox.sh.in +++ b/SOURCES/firefox.sh.in @@ -153,15 +153,6 @@ export MOZ_USE_XINPUT2=1 ## FEDORA_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.fedora-langpack-install" -# Since Firefox 60 the installation of individual langpack cannot be done by -# copying xpi file to the home directory, because the langpack is loaded -# as to the available languages after the language has been decided and -# for the first run it won't be in language according to the locale. -# -# The current workaround is to put all langpacks to the location -# for system wide extensions. So we set MOZ_DISABLE_LANGPACKS=1 for this moment -export MOZ_DISABLE_LANGPACKS=1 -# MOZ_DISABLE_LANGPACKS disables language packs completely MOZILLA_DOWN=0 if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then if [ -x $MOZ_DIST_BIN/$MOZ_FIREFOX_FILE ]; then diff --git a/SOURCES/rhel6-at-no-automount.patch b/SOURCES/rhel6-at-no-automount.patch new file mode 100644 index 0000000..830ed54 --- /dev/null +++ b/SOURCES/rhel6-at-no-automount.patch @@ -0,0 +1,27 @@ +diff -ru firefox-78.3.0/security/sandbox/linux/SandboxFilter.cpp firefox-78.4.0/security/sandbox/linux/SandboxFilter.cpp +--- firefox-78.3.0/security/sandbox/linux/SandboxFilter.cpp 2020-09-14 21:21:02.000000000 +0200 ++++ firefox-78.4.0/security/sandbox/linux/SandboxFilter.cpp 2020-10-14 11:34:48.000000000 +0200 +@@ -243,14 +243,21 @@ + auto path = reinterpret_cast(aArgs.args[1]); + auto buf = reinterpret_cast(aArgs.args[2]); + auto flags = static_cast(aArgs.args[3]); ++ ++ if (fd != AT_FDCWD && (flags & AT_EMPTY_PATH) != 0 && ++ strcmp(path, "") == 0) { ++ return ConvertError(fstatsyscall(fd, buf)); ++ } ++ + if (fd != AT_FDCWD && path[0] != '/') { + SANDBOX_LOG_ERROR("unsupported fd-relative fstatat(%d, \"%s\", %p, %d)", + fd, path, buf, flags); + return BlockedSyscallTrap(aArgs, nullptr); + } +- if ((flags & ~AT_SYMLINK_NOFOLLOW) != 0) { ++ if ((flags & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT)) != 0) { + SANDBOX_LOG_ERROR("unsupported flags %d in fstatat(%d, \"%s\", %p, %d)", +- (flags & ~AT_SYMLINK_NOFOLLOW), fd, path, buf, flags); ++ (flags & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT)), fd, ++ path, buf, flags); + return BlockedSyscallTrap(aArgs, nullptr); + } + return (flags & AT_SYMLINK_NOFOLLOW) == 0 ? broker->Stat(path, buf) diff --git a/SPECS/firefox.spec b/SPECS/firefox.spec index 867e00a..fa8653b 100644 --- a/SPECS/firefox.spec +++ b/SPECS/firefox.spec @@ -1,20 +1,17 @@ # Set for local builds only %global disable_toolsets 0 -%ifarch %{arm} -%if %{defined el8} -%undefine _debugsource_packages -%endif -%endif - %ifarch i686 # no debug package for the i686 because oom on i686 with debuginfos %global debug_package %{nil} %endif %global rhel_minor_version -1 +%if 0%{?flatpak:1} +%global rhel_minor_version 4 +%endif %if "%{?dist}" == ".el8" -%global rhel_minor_version 3 +%global rhel_minor_version 4 %endif %if "%{?dist}" == ".el8_3" %global rhel_minor_version 3 @@ -132,7 +129,9 @@ # Build as a debug package? %global debug_build 0 -%global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html +#%global default_bookmarks_file %{_datadir}/bookmarks/default-bookmarks.html +# need to use full path because of flatpak where datadir is /app/share +%global default_bookmarks_file /usr/share/bookmarks/default-bookmarks.html %global firefox_app_id \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} # Minimal required versions %global cairo_version 1.13.1 @@ -199,7 +198,7 @@ %global mozappdir %{_libdir}/%{name} %global mozappdirdev %{_libdir}/%{name}-devel-%{version} -%global langpackdir %{mozappdir}/distribution/extensions +%global langpackdir %{mozappdir}/langpacks %global tarballdir %{name}-%{version} %global pre_version esr #global pre_tag alpha @@ -216,7 +215,7 @@ Summary: Mozilla Firefox Web browser Name: firefox -Version: 78.3.0 +Version: 78.6.0 Release: 1%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -229,7 +228,7 @@ ExclusiveArch: i686 x86_64 ppc64 s390x Source0: https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%{version}%{?pre_version}.source.tar.xz %if %{build_langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20200918.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20201210.tar.xz %endif Source2: cbindgen-vendor-0.14.3.tar.xz Source10: firefox-mozconfig @@ -290,7 +289,6 @@ Patch232: firefox-rhel6-hugepage.patch Patch233: firefox-rhel6-nss-tls1.3.patch Patch234: rhbz-1821418.patch Patch235: firefox-pipewire-0-3.patch -Patch236: fedora-shebang-build.patch # Upstream patches Patch402: mozilla-1196777.patch @@ -324,6 +322,9 @@ Patch602: rhel6-mach-fail.patch Patch603: rhel6-zconst.patch Patch604: rhel6-auxvh.patch Patch605: rhel6-abiv2-mozbz1642174.patch +Patch607: rhel6-at-no-automount.patch + +# Flatpak patches %if %{?system_nss} %if !0%{?bundle_nss} @@ -530,6 +531,12 @@ BuildRequires: libatomic BuildRequires: openssl-devel %endif +%if 0%{?big_endian} + %if 0%{?flatpak} +BuildRequires: icu + %endif +%endif + Obsoletes: mozilla <= 37:1.7.13 Provides: webclient @@ -633,6 +640,12 @@ echo "use_bundled_yasm %{?use_bundled_yasm}" %patch215 -p1 -b .addons %patch219 -p1 -b .rhbz-1173156 %patch224 -p1 -b .1170092 + +# fixing /usr/include in the patch for the flatpak build +%if 0%{?flatpak} +sed -ie 's|/usr/include|/app/include|' %_sourcedir/firefox-pipewire-0-3.patch +%endif + %if 0%{?rhel} == 8 %if 0%{?rhel_minor_version} >= 3 %patch235 -p1 -b .pipewire-0-3 @@ -641,7 +654,6 @@ echo "use_bundled_yasm %{?use_bundled_yasm}" %endif %endif -#%patch236 -p1 -b .fedora-shebang-build %if 0%{?rhel} == 6 %patch232 -p1 -b .hugepage @@ -681,6 +693,7 @@ echo "use_bundled_yasm %{?use_bundled_yasm}" %patch603 -p1 -b .rhel6-zconst %patch604 -p1 -b .rhel6-auxvh %patch605 -p1 -b .rhel6-abiv2-mozbz1642174 +%patch607 -R -p1 -b .rhel6-at-no-automount %endif # CentOS patches @@ -739,12 +752,8 @@ echo "ac_add_options --disable-optimize" >> .mozconfig %endif %ifarch armv7hl # ARMv7 need that (rhbz#1426850) -%if %{defined el8} -%global optimize_flags "-g0 -O2 -fno-schedule-insns -fno-lto" -%else %global optimize_flags "-g -O2 -fno-schedule-insns" %endif -%endif %ifarch ppc64le aarch64 %global optimize_flags "-g -O2" %endif @@ -957,7 +966,19 @@ function build_bundled_package() { %filter_from_requires /libssl3.so.*/d %filter_from_requires /libnssutil3.so.*/d %filter_from_requires /libnspr4.so.*/d +%endif +%if 0%{?rhel} == 6 + %filter_from_requires /libnss3.so.*/d + %filter_from_requires /libsmime3.so.*/d + %filter_from_requires /libssl3.so.*/d + %filter_from_requires /libnssutil3.so.*/d + %filter_from_requires /libnspr4.so.*/d + %filter_from_provides /libnss3.so.*/d + %filter_from_provides /libsmime3.so.*/d + %filter_from_provides /libssl3.so.*/d + %filter_from_provides /libnssutil3.so.*/d + %filter_from_provides /libnspr4.so.*/d %endif %if 0%{?bundle_gtk3} @@ -1093,12 +1114,19 @@ esac ./mach python -c "import sys;print(sys.path)" %if 0%{?big_endian} + %if 0%{?flatpak} +echo "Generate big endian version of config/external/icu/data/icud58l.dat" +icupkg -tb config/external/icu/data/icudt67l.dat config/external/icu/data/icudt67b.dat +ls -l config/external/icu/data +rm -f config/external/icu/data/icudt*l.dat + %else echo "Generate big endian version of config/external/icu/data/icud64l.dat" ./mach python intl/icu_sources_data.py . rm -f config/external/icu/data/icudt*l.dat # mv config/external/icu/data/icudt64l.dat config/external/icu/data/icudt64b.dat ls -l config/external/icu/data cat /tmp/icu-make* + %endif %endif mkdir %{_buildrootdir}/bin || : @@ -1141,13 +1169,6 @@ MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g1/') export MOZ_DEBUG_FLAGS=" " %endif -%ifarch %{arm} -%if %{defined el8} -MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g0/') -export MOZ_DEBUG_FLAGS=" " -%endif -%endif - # We don't wantfirefox to use CK_GCM_PARAMS_V3 in nss MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT" @@ -1182,34 +1203,26 @@ MOZ_SMP_FLAGS=-j1 [ -z "$RPM_BUILD_NCPUS" ] && \ RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`" [ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2 -[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j2 -[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j2 +[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j3 +[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j3 %endif %endif cat /proc/meminfo -# Free memory in kB - -MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }') -# Usually the compiler processes can take 2 GB of memory at peaks -TASK_SIZE=4000000 -MEM_CONSTRAINED_JOBS=$(( MEM_AVAILABLE / TASK_SIZE )) -CPU_AVAILABLE=$(/usr/bin/getconf _NPROCESSORS_ONLN) -# Pick the minimum from available CPUs or memory constrained number of jobs -#MOZ_SMP_FLAGS=-j$([ "$CPU_AVAILABLE" -le "$MEM_CONSTRAINED_JOBS" ] && echo "$CPU_AVAILABLE" || echo "$MEM_CONSTRAINED_JOBS") - -cat /proc/meminfo # Free memory in kB - -MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }') +if grep -q MemAvailable /proc/meminfo; then + MEM_AVAILABLE=$(grep MemAvailable /proc/meminfo | awk '{ print $2 }') +else + MEM_AVAILABLE=$(grep MemFree /proc/meminfo | awk '{ print $2 }') +fi # Usually the compiler processes can take 2 GB of memory at peaks TASK_SIZE=4000000 MEM_CONSTRAINED_JOBS=$(( MEM_AVAILABLE / TASK_SIZE )) CPU_AVAILABLE=$(/usr/bin/getconf _NPROCESSORS_ONLN) # Pick the minimum from available CPUs or memory constrained number of jobs -#MOZ_SMP_FLAGS=-j$([ "$CPU_AVAILABLE" -le "$MEM_CONSTRAINED_JOBS" ] && echo "$CPU_AVAILABLE" || echo "$MEM_CONSTRAINED_JOBS") +MOZ_SMP_FLAGS=-j$([ "$CPU_AVAILABLE" -le "$MEM_CONSTRAINED_JOBS" ] && echo "$CPU_AVAILABLE" || echo "$MEM_CONSTRAINED_JOBS") %if 0%{?bundle_gtk3} # gtk3-private-setup-flags-env.inc @@ -1665,6 +1678,24 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Thu Dec 10 2020 Jan Horak - 78.6.0-1 +- Update to 78.6.0 build1 + +* Wed Nov 18 2020 Jan Horak - 78.5.0-1 +- Update to 78.5.0 build1 + +* Tue Nov 10 2020 erack@redhat.com - 78.4.1-1 +- Update to 78.4.1 + +* Tue Nov 10 2020 Jan Horak - 78.4.0-3 +- Fixing flatpak build, fixing firefox.sh.in to not disable langpacks loading + +* Thu Oct 29 2020 Jan Horak - 78.4.0-2 +- Enable addon sideloading + +* Fri Oct 16 2020 Jan Horak - 78.4.0-1 +- Update to 78.4.0 build2 + * Fri Sep 18 2020 Jan Horak - Update to 78.3.0 build1