Accepting request 856849 from mozilla:Factory
- Mozilla Firefox 84.0 * Firefox 84 is the final release to support Adobe Flash * WebRender is enabled by default when run on GNOME-based X11 Linux desktops MFSA 2020-54 (bsc#1180039)) * CVE-2020-16042 (bmo#1679003) Operations on a BigInt could have caused uninitialized memory to be exposed * CVE-2020-26971 (bmo#1663466) Heap buffer overflow in WebGL * CVE-2020-26972 (bmo#1671382) Use-After-Free in WebGL * CVE-2020-26973 (bmo#1680084) CSS Sanitizer performed incorrect sanitization * CVE-2020-26974 (bmo#1681022) Incorrect cast of StyleGenericFlexBasis resulted in a heap use-after-free * CVE-2020-26975 (bmo#1661071) Malicious applications on Android could have induced Firefox for Android into sending arbitrary attacker-specified headers * CVE-2020-26976 (bmo#1674343) HTTPS pages could have been intercepted by a registered service worker when they should not have been * CVE-2020-26977 (bmo#1676311) URL spoofing via unresponsive port in Firefox for Android * CVE-2020-26978 (bmo#1677047) Internal network hosts could have been probed by a malicious webpage * CVE-2020-26979 (bmo#1641287, bmo#1673299) When entering an address in the address or search bars, a OBS-URL: https://build.opensuse.org/request/show/856849 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=323
This commit is contained in:
commit
bf6ac788a8
@ -1,3 +1,59 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 13 18:18:58 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
||||
- Mozilla Firefox 84.0
|
||||
* Firefox 84 is the final release to support Adobe Flash
|
||||
* WebRender is enabled by default when run on GNOME-based X11
|
||||
Linux desktops
|
||||
MFSA 2020-54 (bsc#1180039))
|
||||
* CVE-2020-16042 (bmo#1679003)
|
||||
Operations on a BigInt could have caused uninitialized memory
|
||||
to be exposed
|
||||
* CVE-2020-26971 (bmo#1663466)
|
||||
Heap buffer overflow in WebGL
|
||||
* CVE-2020-26972 (bmo#1671382)
|
||||
Use-After-Free in WebGL
|
||||
* CVE-2020-26973 (bmo#1680084)
|
||||
CSS Sanitizer performed incorrect sanitization
|
||||
* CVE-2020-26974 (bmo#1681022)
|
||||
Incorrect cast of StyleGenericFlexBasis resulted in a heap
|
||||
use-after-free
|
||||
* CVE-2020-26975 (bmo#1661071)
|
||||
Malicious applications on Android could have induced Firefox
|
||||
for Android into sending arbitrary attacker-specified headers
|
||||
* CVE-2020-26976 (bmo#1674343)
|
||||
HTTPS pages could have been intercepted by a registered
|
||||
service worker when they should not have been
|
||||
* CVE-2020-26977 (bmo#1676311)
|
||||
URL spoofing via unresponsive port in Firefox for Android
|
||||
* CVE-2020-26978 (bmo#1677047)
|
||||
Internal network hosts could have been probed by a malicious
|
||||
webpage
|
||||
* CVE-2020-26979 (bmo#1641287, bmo#1673299)
|
||||
When entering an address in the address or search bars, a
|
||||
website could have redirected the user before they were
|
||||
navigated to the intended url
|
||||
* CVE-2020-35111 (bmo#1657916)
|
||||
The proxy.onRequest API did not catch view-source URLs
|
||||
* CVE-2020-35112 (bmo#1661365)
|
||||
Opening an extension-less download may have inadvertently
|
||||
launched an executable instead
|
||||
* CVE-2020-35113 (bmo#1664831, bmo#1673589)
|
||||
Memory safety bugs fixed in Firefox 84 and Firefox ESR 78.6
|
||||
* CVE-2020-35114 (bmo#1607449, bmo#1640416, bmo#1656459,
|
||||
bmo#1669914, bmo#1673567)
|
||||
Memory safety bugs fixed in Firefox 84
|
||||
- requires
|
||||
NSS >= 3.59
|
||||
rust >= 1.44
|
||||
rust-cbindgen >= 0.15.0
|
||||
- remove revert-795c8762b16b.patch and replace with mozilla-pgo.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Nov 21 08:12:17 UTC 2020 - Kirill Kirillov <kkirill@opensuse.org>
|
||||
|
||||
- Add/Enable GNOME search provider
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 15 12:16:53 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
||||
@ -82,6 +138,11 @@ Mon Nov 2 09:00:13 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
- Mozilla Firefox 82.0.2
|
||||
* few bugfixes for introduced regressions
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 1 20:15:17 UTC 2020 - Kirill Kirillov <kkirill@opensuse.org>
|
||||
|
||||
- Enable GNOME search provider
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Oct 15 20:44:47 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
||||
|
@ -29,15 +29,15 @@
|
||||
# orig_suffix b3
|
||||
# major 69
|
||||
# mainver %major.99
|
||||
%define major 83
|
||||
%define major 84
|
||||
%define mainver %major.0
|
||||
%define orig_version 83.0
|
||||
%define orig_version 84.0
|
||||
%define orig_suffix %{nil}
|
||||
%define update_channel release
|
||||
%define branding 1
|
||||
%define devpkg 1
|
||||
|
||||
# PGO builds do not work in TW currently (bmo#1642410)
|
||||
# PGO builds do not work in TW currently (bmo#1680306)
|
||||
%define do_profiling 0
|
||||
|
||||
# upstream default is clang (to use gcc for large parts set to 0)
|
||||
@ -92,7 +92,7 @@ BuildRequires: gcc9-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
BuildRequires: cargo >= 1.43
|
||||
BuildRequires: cargo >= 1.44
|
||||
BuildRequires: ccache
|
||||
BuildRequires: libXcomposite-devel
|
||||
BuildRequires: libcurl-devel
|
||||
@ -101,7 +101,7 @@ BuildRequires: libiw-devel
|
||||
BuildRequires: libproxy-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mozilla-nspr-devel >= 4.29
|
||||
BuildRequires: mozilla-nss-devel >= 3.58
|
||||
BuildRequires: mozilla-nss-devel >= 3.59
|
||||
BuildRequires: nasm >= 2.14
|
||||
BuildRequires: nodejs10 >= 10.22.1
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
||||
@ -111,8 +111,8 @@ BuildRequires: python36
|
||||
BuildRequires: python3 >= 3.5
|
||||
BuildRequires: python3-devel
|
||||
%endif
|
||||
BuildRequires: rust >= 1.43
|
||||
BuildRequires: rust-cbindgen >= 0.14.3
|
||||
BuildRequires: rust >= 1.44
|
||||
BuildRequires: rust-cbindgen >= 0.15.0
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
@ -178,6 +178,7 @@ Source13: spellcheck.js
|
||||
Source14: https://github.com/openSUSE/firefox-scripts/raw/5e54f4a/create-tar.sh
|
||||
Source15: firefox-appdata.xml
|
||||
Source16: %{name}.changes
|
||||
Source17: firefox-search-provider.ini
|
||||
# Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for the openSUSE Firefox builds ONLY. For your own distribution,
|
||||
# please get your own set of keys.
|
||||
@ -194,6 +195,7 @@ Patch6: mozilla-sandbox-fips.patch
|
||||
Patch7: mozilla-fix-aarch64-libopus.patch
|
||||
Patch8: mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
|
||||
Patch9: mozilla-s390-context.patch
|
||||
Patch10: mozilla-pgo.patch
|
||||
Patch11: mozilla-reduce-rust-debuginfo.patch
|
||||
Patch13: mozilla-bmo1005535.patch
|
||||
Patch14: mozilla-bmo1568145.patch
|
||||
@ -211,7 +213,6 @@ Patch25: mozilla-bmo998749.patch
|
||||
Patch26: mozilla-bmo1626236.patch
|
||||
Patch27: mozilla-s390x-skia-gradient.patch
|
||||
Patch28: mozilla-libavcodec58_91.patch
|
||||
Patch29: revert-795c8762b16b.patch
|
||||
# Firefox/browser
|
||||
Patch101: firefox-kde.patch
|
||||
Patch102: firefox-branded-icons.patch
|
||||
@ -334,6 +335,7 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
@ -353,7 +355,6 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
|
||||
%patch26 -p1
|
||||
%patch27 -p1
|
||||
%patch28 -p1
|
||||
%patch29 -p1 -R
|
||||
# Firefox
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
@ -508,8 +509,7 @@ ac_add_options --enable-optimize="-O1"
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
|
||||
# TW's gcc is currently also broken with LTO https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93951
|
||||
%if 0%{?suse_version} > 1500 && 0%{?suse_version} < 1550
|
||||
%if 0%{?suse_version} > 1500
|
||||
ac_add_options --enable-lto
|
||||
%if 0%{?do_profiling}
|
||||
ac_add_options MOZ_PGO=1
|
||||
@ -536,7 +536,6 @@ xvfb-run --server-args="-screen 0 1920x1080x24" \
|
||||
|
||||
# build additional locales
|
||||
%if %localize
|
||||
mkdir -p %{buildroot}%{progdir}/browser/extensions
|
||||
truncate -s 0 %{_tmppath}/translations.{common,other}
|
||||
# langpack-build can not be done in parallel easily (see https://bugzilla.mozilla.org/show_bug.cgi?id=1660943)
|
||||
# Therefore, we have to have a separate obj-dir for each language
|
||||
@ -562,6 +561,7 @@ EOF
|
||||
%else
|
||||
%define njobs 0%{?jobs:%jobs}
|
||||
%endif
|
||||
mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
|
||||
sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_version}/browser/locales/shipped-locales \
|
||||
| xargs -n 1 %{?njobs:-P %njobs} -I {} /bin/sh -c '
|
||||
locale=$1
|
||||
@ -571,10 +571,7 @@ sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig
|
||||
# nsinstall is needed for langpack-build. It is already built by `./mach build`, but building it again is very fast
|
||||
./mach build config/nsinstall langpack-$locale
|
||||
cp -L ../obj_$locale/dist/linux-*/xpi/firefox-%{orig_version}.$locale.langpack.xpi \
|
||||
%{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org.xpi
|
||||
# remove prefs, profile defaults, and hyphenation from langpack
|
||||
#rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/defaults
|
||||
#rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/hyphenation
|
||||
$RPM_BUILD_DIR/langpacks_artifacts/langpack-$locale@firefox.mozilla.org.xpi
|
||||
# check against the fixed common list and sort into the right filelist
|
||||
_matched=0
|
||||
for _match in ar ca cs da de el en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
|
||||
@ -604,6 +601,8 @@ grep amazondotcom dist/firefox/browser/omni.ja
|
||||
# copy tree into RPM_BUILD_ROOT
|
||||
mkdir -p %{buildroot}%{progdir}
|
||||
cp -rf $RPM_BUILD_DIR/obj/dist/%{srcname}/* %{buildroot}%{progdir}
|
||||
mkdir -p %{buildroot}%{progdir}/browser/extensions
|
||||
cp -rf $RPM_BUILD_DIR/langpacks_artifacts/* %{buildroot}%{progdir}/browser/extensions/
|
||||
mkdir -p %{buildroot}%{progdir}/distribution/extensions
|
||||
mkdir -p %{buildroot}%{progdir}/browser/defaults/preferences/
|
||||
# renaming executables (for regular vs. ESR)
|
||||
@ -655,6 +654,9 @@ sed "s:firefox.desktop:%{desktop_file_name}:g" \
|
||||
# install man-page
|
||||
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||
cp %{SOURCE11} %{buildroot}%{_mandir}/man1/%{progname}.1
|
||||
# install GNOME Shell search provider
|
||||
mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers
|
||||
cp %{SOURCE17} %{buildroot}%{_datadir}/gnome-shell/search-providers
|
||||
##########
|
||||
# ADDONS
|
||||
#
|
||||
@ -775,6 +777,9 @@ exit 0
|
||||
%endif
|
||||
%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||
%{_datadir}/mime/packages/%{progname}.xml
|
||||
%dir %{_datadir}/gnome-shell
|
||||
%dir %{_datadir}/gnome-shell/search-providers
|
||||
%{_datadir}/gnome-shell/search-providers/*.ini
|
||||
%dir %{_datadir}/mozilla
|
||||
%dir %{_datadir}/mozilla/extensions
|
||||
%dir %{_datadir}/mozilla/extensions/%{firefox_appid}
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d69e84e8b8449f828683d274c24e03095858362bfed21b08bdd7fe715eea5398
|
||||
size 351331940
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl+tfCIACgkQ8aZmj7t9
|
||||
Vy53Kg/7Brg/Ii6J/Gcj8HFS6qvKIMQchM0jZwuqIHUr5IxSH8py2Y69Mvv8oFDG
|
||||
xJdoLFzDmY6+sIOzrkE82iZ+ZJanCwm7eHqol7eGDFp++CXCo/0hUeGfp3w6uIEF
|
||||
ypczVW8K6Z4008BzD3BN982zKjLG+IhK1whWoowzXp4oWHsJzqhs2XY2V5QNV0T8
|
||||
6bI+t9O2CXjKg7aJ0eIf9+mgYUi2llnKUNj92mY0LDvhCuRihehXXn+2aSE0XzAG
|
||||
G1l19TXlWkkdlkkYNCEEi0UKRJlg61UVXdX932vEFWDZT3iVkcrTqG+ExIKpzTO3
|
||||
HvUy/y1zbXZKH3LDfzpx+vi6zk+Ve/PFv51xphY0iRKAOQGE3tCY9rmpnXeClrPX
|
||||
5dc0WmelkQrK09WY1Gi2Doh0x+pE5BmOuOCCHizb34WnJ1Jiyjzo1z61iOEB+X+t
|
||||
QQ4/iowKOMPs4mqHvYVmnWmVxGBbTYQ3D19ErYZPLWrm+37tM6t/o/jQPpOtUiW/
|
||||
23pTXrTVsC8FJdmpNWXuUY2pgvL61LIntDKBMqbiswG2I1/EZ9TzKl9UTZ5NdaBk
|
||||
OIGctLIKFFNsAhFMUzjYz8ihwi0weBgOKuUa7dfxOHHzekitH1aKriss0IHI+iaK
|
||||
u6hf66T6e3V/w8suqOz7hI+TvM6PaMdJH3EdXCtS2Ln14U0wliI=
|
||||
=HFQx
|
||||
-----END PGP SIGNATURE-----
|
3
firefox-84.0.source.tar.xz
Normal file
3
firefox-84.0.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:23273ef0165b243f5d0908c38e7854d38070282c9b526e8d93b7503cd5f69138
|
||||
size 366395172
|
16
firefox-84.0.source.tar.xz.asc
Normal file
16
firefox-84.0.source.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl/UEmMACgkQ8aZmj7t9
|
||||
Vy6eUA/+MnjreNJs3uU+Xx/sLzAnUMAUXgrUhcyxXaTLciDwr4ZWYMmXuM+O+1+m
|
||||
bj6LKDZlUjEhW81FS8ALZXlz4aZHBw+alh+XpjWTSdnTRW9RBXIfewSs4QljAyDE
|
||||
YsT1zFWeacEKag6kF1GxzyH9yM3Hh5giil7wKLbPaEJ+R+8UY+VYdG1VQ3U18DPL
|
||||
tC92GUexs4V8G86KauMXFWgX9VynKRbj3W41SujIq3MwoRFQCDUXjW80Oo1ldlqt
|
||||
MLxFDYJSCrY9r9bbXJ29CS+EeJQgxBQiR/0Y9YplNvDQOHCaPc/Zg4jS6aqEJrsd
|
||||
kKH3qudKWYJ25KJTMMSejROUMEHqYU5MOJKtKJ8jFS3dxp6DguWvID4BKC60KIeO
|
||||
7fs1NuHFL1hVb7vrz1Vmk7v+5qhubki97J47ZKz+hhg3VIpAOc01idRRltFejgPa
|
||||
bGK6IDR8zYeSZrHQoTrVqmcdllrV9XL7k3W/YGe343NQjzz159tSvQI9lB6hdrU9
|
||||
6MN83NCu4ayl9pvkimGlEyPyVrZ5LWnBQuhJkKrvg/Lzv0xrnXH/7abEK+GDAJjg
|
||||
llwpzD3PfXcmpStF6KX6kunul22NoB14Nk4iMKRNLe50TaO7CiZytidHwpQQsl2m
|
||||
1tFR97h4wLmjE7y1faB1/Gy0MDRaGTwQXBHM4cyoIPaNQyHWQpA=
|
||||
=FYid
|
||||
-----END PGP SIGNATURE-----
|
@ -3,7 +3,7 @@
|
||||
# Date 1559300151 -7200
|
||||
# Fri May 31 12:55:51 2019 +0200
|
||||
# Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
|
||||
# Parent 3804871eac4171b99e9049dbc881b5304b5ac207
|
||||
# Parent 8310cc1a162e9dd066a20f6a3bbd271993b67fc6
|
||||
How to apply this patch:
|
||||
1. Import and apply it
|
||||
2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
|
||||
@ -14,7 +14,7 @@ How to apply this patch:
|
||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||
--- a/browser/components/preferences/main.js
|
||||
+++ b/browser/components/preferences/main.js
|
||||
@@ -335,16 +335,23 @@ var gMainPane = {
|
||||
@@ -347,16 +347,23 @@ var gMainPane = {
|
||||
}, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
|
||||
};
|
||||
|
||||
@ -38,7 +38,7 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere
|
||||
);
|
||||
let performanceSettingsUrl =
|
||||
Services.urlFormatter.formatURLPref("app.support.baseURL") +
|
||||
@@ -1291,16 +1298,27 @@ var gMainPane = {
|
||||
@@ -1326,16 +1333,27 @@ var gMainPane = {
|
||||
this._backoffIndex = 0;
|
||||
|
||||
let shellSvc = getShellService();
|
||||
@ -69,24 +69,24 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere
|
||||
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
|
||||
--- a/browser/components/shell/moz.build
|
||||
+++ b/browser/components/shell/moz.build
|
||||
@@ -34,16 +34,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
|
||||
@@ -32,16 +32,18 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "coco
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
|
||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
XPIDL_SOURCES += [
|
||||
'nsIGNOMEShellService.idl',
|
||||
"nsIGNOMEShellService.idl",
|
||||
]
|
||||
|
||||
SOURCES += [
|
||||
'nsGNOMEShellService.cpp',
|
||||
+ 'nsKDEShellService.cpp',
|
||||
+ 'nsUnixShellService.cpp',
|
||||
"nsGNOMEShellService.cpp",
|
||||
+ "nsKDEShellService.cpp",
|
||||
+ "nsUnixShellService.cpp",
|
||||
]
|
||||
if CONFIG['MOZ_ENABLE_DBUS']:
|
||||
if CONFIG["MOZ_ENABLE_DBUS"]:
|
||||
SOURCES += [
|
||||
'nsGNOMEShellDBusHelper.cpp',
|
||||
'nsGNOMEShellSearchProvider.cpp',
|
||||
"nsGNOMEShellDBusHelper.cpp",
|
||||
"nsGNOMEShellSearchProvider.cpp",
|
||||
]
|
||||
include('/ipc/chromium/chromium-config.mozbuild')
|
||||
include("/ipc/chromium/chromium-config.mozbuild")
|
||||
|
||||
diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
|
||||
new file mode 100644
|
||||
|
5
firefox-search-provider.ini
Normal file
5
firefox-search-provider.ini
Normal file
@ -0,0 +1,5 @@
|
||||
[Shell Search Provider]
|
||||
DesktopId=firefox.desktop
|
||||
BusName=org.mozilla.Firefox.SearchProvider
|
||||
ObjectPath=/org/mozilla/Firefox/SearchProvider
|
||||
Version=2
|
@ -6,3 +6,5 @@ pref("network.trr.mode", 5);
|
||||
pref("extensions.autoDisableScopes", 0);
|
||||
pref("extensions.shownSelectionUI", true);
|
||||
pref("extensions.langpacks.signatures.required", false);
|
||||
// enable D-Bus inteface for Gnome Shell search
|
||||
pref("browser.gnome-search-provider.enabled", true);
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3345251de218fd1c84373318f8ddc342eaf98a8bdd53ab8403b07cd5b007f022
|
||||
size 49220644
|
3
l10n-84.0.tar.xz
Normal file
3
l10n-84.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c8391819e8c9d72260077e8d0a3538bb98f6938064916180ca64dc064397c047
|
||||
size 49373248
|
@ -1,12 +1,12 @@
|
||||
# HG changeset patch
|
||||
# Parent e42a036a5533ea6a60ebc22fd2a150c384d42fda
|
||||
# Parent f9f5af4c88f2f3172a4f30d7e42bd2131bf24146
|
||||
This fixes a broken build for gcc < 9 on ppc64le.
|
||||
This patch can be removed for newer gcc-versions.
|
||||
|
||||
diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
--- a/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
+++ b/js/xpconnect/src/XPCWrappedNative.cpp
|
||||
@@ -1080,17 +1080,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
@@ -1072,17 +1072,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
uint32_t* result);
|
||||
|
||||
MOZ_ALWAYS_INLINE bool GetInterfaceTypeFromParam(const nsXPTType& type,
|
||||
@ -29,7 +29,7 @@ diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrapped
|
||||
paramIndex += 1;
|
||||
}
|
||||
if (paramIndex >= mOptArgcIndex) {
|
||||
@@ -1127,17 +1131,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
@@ -1119,17 +1123,21 @@ class MOZ_STACK_CLASS CallMethodHelper f
|
||||
|
||||
{
|
||||
// Success checked later.
|
||||
|
@ -28,12 +28,12 @@ diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbu
|
||||
ManifestLocale,
|
||||
parse_manifest,
|
||||
)
|
||||
@@ -94,17 +95,17 @@ def get_dt_from_hg(path):
|
||||
@@ -100,17 +101,17 @@ def get_dt_from_hg(path):
|
||||
# ts == "20170914215617"
|
||||
###
|
||||
def get_timestamp_for_locale(path):
|
||||
dt = None
|
||||
if os.path.isdir(os.path.join(path, '.hg')):
|
||||
if os.path.isdir(os.path.join(path, ".hg")):
|
||||
dt = get_dt_from_hg(path)
|
||||
|
||||
if dt is None:
|
||||
|
@ -8,28 +8,50 @@ Subject: [PATCH] Fix top-level asm issue.
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
|
||||
index aae85843e9f6..208368dfd189 100644
|
||||
--- a/security/sandbox/linux/moz.build
|
||||
+++ b/security/sandbox/linux/moz.build
|
||||
@@ -61,7 +61,6 @@ UNIFIED_SOURCES += [
|
||||
'../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc',
|
||||
'../chromium/sandbox/linux/bpf_dsl/syscall_set.cc',
|
||||
'../chromium/sandbox/linux/seccomp-bpf/die.cc',
|
||||
- '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
|
||||
'broker/SandboxBrokerCommon.cpp',
|
||||
'Sandbox.cpp',
|
||||
'SandboxBrokerClient.cpp',
|
||||
@@ -77,6 +76,7 @@ UNIFIED_SOURCES += [
|
||||
SOURCES += [
|
||||
'../chromium/base/strings/safe_sprintf.cc',
|
||||
'../chromium/base/third_party/icu/icu_utf.cc',
|
||||
+ '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
|
||||
'../chromium/sandbox/linux/seccomp-bpf/trap.cc',
|
||||
'../chromium/sandbox/linux/services/syscall_wrappers.cc',
|
||||
@@ -66,32 +66,32 @@ UNIFIED_SOURCES += [
|
||||
"../chromium/base/time/time_now_posix.cc",
|
||||
"../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc",
|
||||
"../chromium/sandbox/linux/bpf_dsl/codegen.cc",
|
||||
"../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc",
|
||||
"../chromium/sandbox/linux/bpf_dsl/policy.cc",
|
||||
"../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc",
|
||||
"../chromium/sandbox/linux/bpf_dsl/syscall_set.cc",
|
||||
"../chromium/sandbox/linux/seccomp-bpf/die.cc",
|
||||
- "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
|
||||
"broker/SandboxBrokerCommon.cpp",
|
||||
"Sandbox.cpp",
|
||||
"SandboxBrokerClient.cpp",
|
||||
"SandboxFilter.cpp",
|
||||
"SandboxFilterUtil.cpp",
|
||||
"SandboxHooks.cpp",
|
||||
"SandboxInfo.cpp",
|
||||
"SandboxLogging.cpp",
|
||||
"SandboxOpenedFiles.cpp",
|
||||
"SandboxReporterClient.cpp",
|
||||
]
|
||||
@@ -96,6 +96,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags += [
|
||||
'-Wno-empty-body',
|
||||
|
||||
SOURCES += [
|
||||
"../chromium/base/strings/safe_sprintf.cc",
|
||||
"../chromium/base/third_party/icu/icu_utf.cc",
|
||||
+ "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
|
||||
"../chromium/sandbox/linux/seccomp-bpf/trap.cc",
|
||||
"../chromium/sandbox/linux/services/syscall_wrappers.cc",
|
||||
]
|
||||
|
||||
# This copy of SafeSPrintf doesn't need to avoid the Chromium logging
|
||||
# dependency like the one in libxul does, but this way the behavior is
|
||||
# consistent. See also the comment in SandboxLogging.h.
|
||||
SOURCES["../chromium/base/strings/safe_sprintf.cc"].flags += ["-DNDEBUG"]
|
||||
@@ -105,16 +105,19 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
|
||||
"-Wno-unreachable-code-return"
|
||||
]
|
||||
|
||||
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
|
||||
CXXFLAGS += ["-Wno-shadow"]
|
||||
SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags += [
|
||||
"-Wno-empty-body",
|
||||
]
|
||||
+ SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
|
||||
+ '-fno-lto'
|
||||
@ -37,6 +59,8 @@ index aae85843e9f6..208368dfd189 100644
|
||||
|
||||
# gcc lto likes to put the top level asm in syscall.cc in a different partition
|
||||
# from the function using it which breaks the build. Work around that by
|
||||
--
|
||||
2.23.0
|
||||
|
||||
# forcing there to be only one partition.
|
||||
for f in CONFIG["OS_CXXFLAGS"]:
|
||||
if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
|
||||
LDFLAGS += ["--param lto-partitions=1"]
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
# Date 1559294891 -7200
|
||||
# Fri May 31 11:28:11 2019 +0200
|
||||
# Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
|
||||
# Parent e89d21ead66fbb34b6349edda42748a3ad9e6136
|
||||
# Parent 4b9aa59b15c3247d263cc32804786b3a6bff7912
|
||||
Description: Add KDE integration to Firefox (toolkit parts)
|
||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||
Author: Lubos Lunak <lunak@suse.com>
|
||||
@ -13,7 +13,7 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
|
||||
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
--- a/modules/libpref/Preferences.cpp
|
||||
+++ b/modules/libpref/Preferences.cpp
|
||||
@@ -83,16 +83,17 @@
|
||||
@@ -82,16 +82,17 @@
|
||||
#include "nsXPCOM.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
#include "nsZipArchive.h"
|
||||
@ -31,7 +31,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
#ifdef MOZ_MEMORY
|
||||
# include "mozmemory.h"
|
||||
#endif
|
||||
@@ -4536,25 +4537,37 @@ nsresult Preferences::InitInitialObjects
|
||||
@@ -4459,25 +4460,37 @@ nsresult Preferences::InitInitialObjects
|
||||
// application pref files for backwards compatibility.
|
||||
static const char* specialFiles[] = {
|
||||
#if defined(XP_MACOSX)
|
||||
@ -69,7 +69,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
|
||||
// Load jar:$app/omni.jar!/defaults/preferences/*.js
|
||||
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
|
||||
@@ -4600,17 +4613,17 @@ nsresult Preferences::InitInitialObjects
|
||||
@@ -4523,17 +4536,17 @@ nsresult Preferences::InitInitialObjects
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
|
||||
@ -91,13 +91,13 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
||||
--- a/modules/libpref/moz.build
|
||||
+++ b/modules/libpref/moz.build
|
||||
@@ -118,16 +118,20 @@ EXPORTS.mozilla += [
|
||||
@@ -116,16 +116,20 @@ EXPORTS.mozilla += [
|
||||
]
|
||||
EXPORTS.mozilla += sorted(['!' + g for g in gen_h])
|
||||
EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
'Preferences.cpp',
|
||||
'SharedPrefMap.cpp',
|
||||
"Preferences.cpp",
|
||||
"SharedPrefMap.cpp",
|
||||
]
|
||||
|
||||
+LOCAL_INCLUDES += [
|
||||
@ -106,52 +106,52 @@ diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
||||
+
|
||||
gen_all_tuple = tuple(gen_h + gen_cpp + gen_rs)
|
||||
|
||||
GeneratedFile(*gen_all_tuple, script='init/generate_static_pref_list.py',
|
||||
entry_point='emit_code', inputs=['init/StaticPrefList.yaml'])
|
||||
|
||||
PYTHON_UNITTEST_MANIFESTS += [
|
||||
'test/python.ini',
|
||||
]
|
||||
GeneratedFile(
|
||||
*gen_all_tuple,
|
||||
script="init/generate_static_pref_list.py",
|
||||
entry_point="emit_code",
|
||||
inputs=["init/StaticPrefList.yaml"]
|
||||
)
|
||||
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
|
||||
--- a/python/mozbuild/mozpack/chrome/flags.py
|
||||
+++ b/python/mozbuild/mozpack/chrome/flags.py
|
||||
@@ -227,16 +227,17 @@ class Flags(OrderedDict):
|
||||
'contentaccessible': Flag,
|
||||
'os': StringFlag,
|
||||
'osversion': VersionFlag,
|
||||
'abi': StringFlag,
|
||||
'platform': Flag,
|
||||
'xpcnativewrappers': Flag,
|
||||
'tablet': Flag,
|
||||
'process': StringFlag,
|
||||
+ 'desktop': StringFlag,
|
||||
@@ -228,16 +228,17 @@ class Flags(OrderedDict):
|
||||
"contentaccessible": Flag,
|
||||
"os": StringFlag,
|
||||
"osversion": VersionFlag,
|
||||
"abi": StringFlag,
|
||||
"platform": Flag,
|
||||
"xpcnativewrappers": Flag,
|
||||
"tablet": Flag,
|
||||
"process": StringFlag,
|
||||
+ "desktop": StringFlag,
|
||||
}
|
||||
RE = re.compile(r'([!<>=]+)')
|
||||
RE = re.compile(r"([!<>=]+)")
|
||||
|
||||
def __init__(self, *flags):
|
||||
'''
|
||||
"""
|
||||
Initialize a set of flags given in string form.
|
||||
flags = Flags('contentaccessible=yes', 'appversion>=3.5')
|
||||
'''
|
||||
"""
|
||||
diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
|
||||
--- a/python/mozbuild/mozpack/chrome/manifest.py
|
||||
+++ b/python/mozbuild/mozpack/chrome/manifest.py
|
||||
@@ -37,16 +37,17 @@ class ManifestEntry(object):
|
||||
'platformversion',
|
||||
'os',
|
||||
'osversion',
|
||||
'abi',
|
||||
'xpcnativewrappers',
|
||||
'tablet',
|
||||
'process',
|
||||
'contentaccessible',
|
||||
+ 'desktop',
|
||||
@@ -38,16 +38,17 @@ class ManifestEntry(object):
|
||||
"platformversion",
|
||||
"os",
|
||||
"osversion",
|
||||
"abi",
|
||||
"xpcnativewrappers",
|
||||
"tablet",
|
||||
"process",
|
||||
"contentaccessible",
|
||||
+ "desktop",
|
||||
]
|
||||
|
||||
def __init__(self, base, *flags):
|
||||
'''
|
||||
"""
|
||||
Initialize a manifest entry with the given base path and flags.
|
||||
'''
|
||||
"""
|
||||
self.base = base
|
||||
self.flags = Flags(*flags)
|
||||
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
|
||||
@ -159,23 +159,23 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
|
||||
+++ b/toolkit/components/downloads/moz.build
|
||||
@@ -45,10 +45,14 @@ XPCOM_MANIFESTS += [
|
||||
|
||||
if CONFIG['MOZ_PLACES']:
|
||||
if CONFIG["MOZ_PLACES"]:
|
||||
EXTRA_JS_MODULES += [
|
||||
'DownloadHistory.jsm',
|
||||
"DownloadHistory.jsm",
|
||||
]
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
FINAL_LIBRARY = "xul"
|
||||
|
||||
+LOCAL_INCLUDES += [
|
||||
+ '/toolkit/xre'
|
||||
+]
|
||||
+
|
||||
with Files('**'):
|
||||
BUG_COMPONENT = ('Toolkit', 'Downloads API')
|
||||
with Files("**"):
|
||||
BUG_COMPONENT = ("Toolkit", "Downloads API")
|
||||
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||
--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||
+++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||
@@ -1239,36 +1239,66 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
@@ -1243,36 +1243,66 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
params.handlerApp &&
|
||||
params.handlerApp.executable &&
|
||||
params.handlerApp.executable.isFile()
|
||||
@ -356,26 +356,26 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
||||
--- a/toolkit/xre/moz.build
|
||||
+++ b/toolkit/xre/moz.build
|
||||
@@ -90,17 +90,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
|
||||
'../components/printingui',
|
||||
@@ -91,17 +91,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
|
||||
"../components/printingui",
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
|
||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
|
||||
UNIFIED_SOURCES += [
|
||||
'nsNativeAppSupportDefault.cpp',
|
||||
'UIKitDirProvider.mm',
|
||||
"nsNativeAppSupportDefault.cpp",
|
||||
"UIKitDirProvider.mm",
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
|
||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
+ EXPORTS += ['nsKDEUtils.h']
|
||||
UNIFIED_SOURCES += [
|
||||
+ 'nsKDEUtils.cpp',
|
||||
'nsNativeAppSupportUnix.cpp',
|
||||
+ "nsKDEUtils.cpp",
|
||||
"nsNativeAppSupportUnix.cpp",
|
||||
]
|
||||
else:
|
||||
UNIFIED_SOURCES += [
|
||||
'nsNativeAppSupportDefault.cpp',
|
||||
"nsNativeAppSupportDefault.cpp",
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_HAS_REMOTE']:
|
||||
if CONFIG["MOZ_HAS_REMOTE"]:
|
||||
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@ -841,44 +841,44 @@ diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandle
|
||||
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
||||
--- a/uriloader/exthandler/moz.build
|
||||
+++ b/uriloader/exthandler/moz.build
|
||||
@@ -85,17 +85,19 @@ else:
|
||||
@@ -86,17 +86,19 @@ else:
|
||||
SOURCES += [
|
||||
osdir + '/nsOSHelperAppService.cpp',
|
||||
osdir + "/nsOSHelperAppService.cpp",
|
||||
]
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
CXXFLAGS += ['-Wno-error=shadow']
|
||||
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
|
||||
CXXFLAGS += ["-Wno-error=shadow"]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
UNIFIED_SOURCES += [
|
||||
+ 'unix/nsCommonRegistry.cpp',
|
||||
'unix/nsGNOMERegistry.cpp',
|
||||
+ 'unix/nsKDERegistry.cpp',
|
||||
'unix/nsMIMEInfoUnix.cpp',
|
||||
+ "unix/nsCommonRegistry.cpp",
|
||||
"unix/nsGNOMERegistry.cpp",
|
||||
+ "unix/nsKDERegistry.cpp",
|
||||
"unix/nsMIMEInfoUnix.cpp",
|
||||
]
|
||||
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
|
||||
UNIFIED_SOURCES += [
|
||||
'android/nsAndroidHandlerApp.cpp',
|
||||
'android/nsExternalURLHandlerService.cpp',
|
||||
'android/nsMIMEInfoAndroid.cpp',
|
||||
"android/nsAndroidHandlerApp.cpp",
|
||||
"android/nsExternalURLHandlerService.cpp",
|
||||
"android/nsMIMEInfoAndroid.cpp",
|
||||
]
|
||||
@@ -135,16 +137,17 @@ include('/ipc/chromium/chromium-config.m
|
||||
FINAL_LIBRARY = 'xul'
|
||||
@@ -136,16 +138,17 @@ include("/ipc/chromium/chromium-config.m
|
||||
FINAL_LIBRARY = "xul"
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
'/docshell/base',
|
||||
'/dom/base',
|
||||
'/dom/ipc',
|
||||
'/netwerk/base',
|
||||
'/netwerk/protocol/http',
|
||||
+ '/toolkit/xre',
|
||||
"/docshell/base",
|
||||
"/dom/base",
|
||||
"/dom/ipc",
|
||||
"/netwerk/base",
|
||||
"/netwerk/protocol/http",
|
||||
+ "/toolkit/xre",
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_ENABLE_DBUS']:
|
||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
|
||||
if CONFIG["MOZ_ENABLE_DBUS"]:
|
||||
CXXFLAGS += CONFIG["TK_CFLAGS"]
|
||||
CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
|
||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
CXXFLAGS += CONFIG["TK_CFLAGS"]
|
||||
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
@ -1293,23 +1293,23 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||
--- a/widget/gtk/moz.build
|
||||
+++ b/widget/gtk/moz.build
|
||||
@@ -134,16 +134,17 @@ FINAL_LIBRARY = 'xul'
|
||||
@@ -138,16 +138,17 @@ FINAL_LIBRARY = "xul"
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
'/layout/base',
|
||||
'/layout/forms',
|
||||
'/layout/generic',
|
||||
'/layout/xul',
|
||||
'/other-licenses/atk-1.0',
|
||||
'/third_party/cups/include',
|
||||
+ '/toolkit/xre',
|
||||
'/widget',
|
||||
'/widget/headless',
|
||||
"/layout/base",
|
||||
"/layout/forms",
|
||||
"/layout/generic",
|
||||
"/layout/xul",
|
||||
"/other-licenses/atk-1.0",
|
||||
"/third_party/cups/include",
|
||||
+ "/toolkit/xre",
|
||||
"/widget",
|
||||
"/widget/headless",
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_X11']:
|
||||
if CONFIG["MOZ_X11"]:
|
||||
LOCAL_INCLUDES += [
|
||||
'/widget/x11',
|
||||
"/widget/x11",
|
||||
]
|
||||
diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
||||
--- a/widget/gtk/nsFilePicker.cpp
|
||||
@ -1816,28 +1816,28 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
||||
--- a/xpcom/components/moz.build
|
||||
+++ b/xpcom/components/moz.build
|
||||
@@ -62,16 +62,17 @@ LOCAL_INCLUDES += [
|
||||
'!..',
|
||||
'../base',
|
||||
'../build',
|
||||
'../ds',
|
||||
'/chrome',
|
||||
'/js/xpconnect/loader',
|
||||
'/layout/build',
|
||||
'/modules/libjar',
|
||||
+ '/toolkit/xre',
|
||||
@@ -66,16 +66,17 @@ LOCAL_INCLUDES += [
|
||||
"!..",
|
||||
"../base",
|
||||
"../build",
|
||||
"../ds",
|
||||
"/chrome",
|
||||
"/js/xpconnect/loader",
|
||||
"/layout/build",
|
||||
"/modules/libjar",
|
||||
+ "/toolkit/xre",
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
|
||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
if CONFIG['MOZ_ENABLE_DBUS']:
|
||||
CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
CXXFLAGS += CONFIG["TK_CFLAGS"]
|
||||
if CONFIG["MOZ_ENABLE_DBUS"]:
|
||||
CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
|
||||
|
||||
include('/ipc/chromium/chromium-config.mozbuild')
|
||||
include("/ipc/chromium/chromium-config.mozbuild")
|
||||
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
--- a/xpcom/io/nsLocalFileUnix.cpp
|
||||
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
||||
@@ -46,16 +46,17 @@
|
||||
@@ -49,16 +49,17 @@
|
||||
#include "prproces.h"
|
||||
#include "nsIDirectoryEnumerator.h"
|
||||
#include "nsSimpleEnumerator.h"
|
||||
@ -1855,7 +1855,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
# include "prmem.h"
|
||||
# include "plbase64.h"
|
||||
|
||||
@@ -1898,62 +1899,77 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
@@ -1968,62 +1969,77 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsLocalFile::Reveal() {
|
||||
|
225
mozilla-pgo.patch
Normal file
225
mozilla-pgo.patch
Normal file
@ -0,0 +1,225 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent 431962e810598b34327620fb99e06768e9a29c38
|
||||
|
||||
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
|
||||
--- a/build/moz.configure/lto-pgo.configure
|
||||
+++ b/build/moz.configure/lto-pgo.configure
|
||||
@@ -223,23 +223,23 @@ def lto(value, c_compiler, ld64_known_go
|
||||
"configure."
|
||||
)
|
||||
|
||||
if c_compiler.type == "clang":
|
||||
if len(value) and value[0].lower() == "full":
|
||||
cflags.append("-flto")
|
||||
ldflags.append("-flto")
|
||||
else:
|
||||
- cflags.append("-flto=thin")
|
||||
- ldflags.append("-flto=thin")
|
||||
+ cflags.append("-flto")
|
||||
+ ldflags.append("-flto")
|
||||
elif c_compiler.type == "clang-cl":
|
||||
if len(value) and value[0].lower() == "full":
|
||||
cflags.append("-flto")
|
||||
else:
|
||||
- cflags.append("-flto=thin")
|
||||
+ cflags.append("-flto")
|
||||
# With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
|
||||
# AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
|
||||
cflags.append("-fuse-ld=lld")
|
||||
|
||||
# Explicitly set the CPU to optimize for so the linker doesn't
|
||||
# choose a poor default. Rust compilation by default uses the
|
||||
# pentium4 CPU on x86:
|
||||
#
|
||||
@@ -263,17 +263,17 @@ def lto(value, c_compiler, ld64_known_go
|
||||
ldflags.append("-mllvm:-mcpu=x86-64")
|
||||
# We do not need special flags for arm64. Hooray for fixed-length
|
||||
# instruction sets.
|
||||
else:
|
||||
num_cores = multiprocessing.cpu_count()
|
||||
if len(value) and value[0].lower() == "full":
|
||||
cflags.append("-flto")
|
||||
else:
|
||||
- cflags.append("-flto=thin")
|
||||
+ cflags.append("-flto")
|
||||
cflags.append("-flifetime-dse=1")
|
||||
|
||||
ldflags.append("-flto=%s" % num_cores)
|
||||
ldflags.append("-flifetime-dse=1")
|
||||
|
||||
# Tell LTO not to inline functions above a certain size, to mitigate
|
||||
# binary size growth while still getting good performance.
|
||||
# (For hot functions, PGO will put a multiplier on this limit.)
|
||||
diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
|
||||
--- a/build/pgo/profileserver.py
|
||||
+++ b/build/pgo/profileserver.py
|
||||
@@ -6,17 +6,17 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
import glob
|
||||
import subprocess
|
||||
|
||||
import mozcrash
|
||||
-from mozbuild.base import MozbuildObject, BinaryNotFoundException
|
||||
+from mozbuild.base import MozbuildObject, BinaryNotFoundException, BuildEnvironmentNotFoundException
|
||||
from mozfile import TemporaryDirectory
|
||||
from mozhttpd import MozHttpd
|
||||
from mozprofile import FirefoxProfile, Preferences
|
||||
from mozprofile.permissions import ServerLocations
|
||||
from mozrunner import FirefoxRunner, CLI
|
||||
from six import string_types
|
||||
|
||||
PORT = 8888
|
||||
@@ -82,19 +82,32 @@ if __name__ == "__main__":
|
||||
docroot=os.path.join(build.topsrcdir, "build", "pgo"),
|
||||
path_mappings=path_mappings,
|
||||
)
|
||||
httpd.start(block=False)
|
||||
|
||||
locations = ServerLocations()
|
||||
locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
|
||||
|
||||
- old_profraw_files = glob.glob("*.profraw")
|
||||
- for f in old_profraw_files:
|
||||
- os.remove(f)
|
||||
+ using_gcc = False
|
||||
+ try:
|
||||
+ if build.config_environment.substs.get('CC_TYPE') == 'gcc':
|
||||
+ using_gcc = True
|
||||
+ except BuildEnvironmentNotFoundException:
|
||||
+ pass
|
||||
+
|
||||
+ if using_gcc:
|
||||
+ for dirpath, _, filenames in os.walk('.'):
|
||||
+ for f in filenames:
|
||||
+ if f.endswith('.gcda'):
|
||||
+ os.remove(os.path.join(dirpath, f))
|
||||
+ else:
|
||||
+ old_profraw_files = glob.glob('*.profraw')
|
||||
+ for f in old_profraw_files:
|
||||
+ os.remove(f)
|
||||
|
||||
with TemporaryDirectory() as profilePath:
|
||||
# TODO: refactor this into mozprofile
|
||||
profile_data_dir = os.path.join(build.topsrcdir, "testing", "profiles")
|
||||
with open(os.path.join(profile_data_dir, "profiles.json"), "r") as fh:
|
||||
base_profiles = json.load(fh)["profileserver"]
|
||||
|
||||
prefpaths = [
|
||||
@@ -207,16 +220,20 @@ if __name__ == "__main__":
|
||||
|
||||
# Try to move the crash reports to the artifacts even if Firefox appears
|
||||
# to exit successfully, in case there's a crash that doesn't set the
|
||||
# return code to non-zero for some reason.
|
||||
if get_crashreports(profilePath, name="Firefox exited successfully?") != 0:
|
||||
print("Firefox exited successfully, but produced a crashreport")
|
||||
sys.exit(1)
|
||||
|
||||
+ print('Copying profile data....')
|
||||
+ os.system('pwd');
|
||||
+ os.system('tar cf profdata.tar.gz `find . -name "*.gcda"`; cd ..; tar xf instrumented/profdata.tar.gz;');
|
||||
+
|
||||
llvm_profdata = env.get("LLVM_PROFDATA")
|
||||
if llvm_profdata:
|
||||
profraw_files = glob.glob("*.profraw")
|
||||
if not profraw_files:
|
||||
print(
|
||||
"Could not find profraw files in the current directory: %s"
|
||||
% os.getcwd()
|
||||
)
|
||||
diff --git a/build/unix/mozconfig.unix b/build/unix/mozconfig.unix
|
||||
--- a/build/unix/mozconfig.unix
|
||||
+++ b/build/unix/mozconfig.unix
|
||||
@@ -1,16 +1,25 @@
|
||||
. "$topsrcdir/build/mozconfig.common"
|
||||
|
||||
TOOLTOOL_DIR=${TOOLTOOL_DIR:-$topsrcdir}
|
||||
|
||||
if [ -n "$FORCE_GCC" ]; then
|
||||
CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
|
||||
CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
|
||||
|
||||
+ if [ -n "$MOZ_PGO" ]; then
|
||||
+ if [ -z "$USE_ARTIFACT" ]; then
|
||||
+ ac_add_options --enable-lto
|
||||
+ fi
|
||||
+ export AR="$topsrcdir/gcc/bin/gcc-ar"
|
||||
+ export NM="$topsrcdir/gcc/bin/gcc-nm"
|
||||
+ export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
|
||||
+ fi
|
||||
+
|
||||
# We want to make sure we use binutils and other binaries in the tooltool
|
||||
# package.
|
||||
mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH"
|
||||
ac_add_options --with-clang-path=$MOZ_FETCHES_DIR/clang/bin/clang
|
||||
else
|
||||
CC="$MOZ_FETCHES_DIR/clang/bin/clang"
|
||||
CXX="$MOZ_FETCHES_DIR/clang/bin/clang++"
|
||||
|
||||
diff --git a/extensions/spellcheck/src/moz.build b/extensions/spellcheck/src/moz.build
|
||||
--- a/extensions/spellcheck/src/moz.build
|
||||
+++ b/extensions/spellcheck/src/moz.build
|
||||
@@ -26,8 +26,10 @@ LOCAL_INCLUDES += [
|
||||
]
|
||||
EXPORTS.mozilla += [
|
||||
"mozInlineSpellChecker.h",
|
||||
"mozSpellChecker.h",
|
||||
]
|
||||
|
||||
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
|
||||
CXXFLAGS += ["-Wno-error=shadow"]
|
||||
+
|
||||
+CXXFLAGS += ['-fno-devirtualize']
|
||||
diff --git a/python/mozbuild/mozbuild/build_commands.py b/python/mozbuild/mozbuild/build_commands.py
|
||||
--- a/python/mozbuild/mozbuild/build_commands.py
|
||||
+++ b/python/mozbuild/mozbuild/build_commands.py
|
||||
@@ -121,19 +121,18 @@ class Build(MachCommandBase):
|
||||
silent=not verbose,
|
||||
ensure_exit_code=False,
|
||||
append_env=append_env,
|
||||
)
|
||||
if status != 0:
|
||||
return status
|
||||
|
||||
pgo_env = os.environ.copy()
|
||||
- pgo_env["LLVM_PROFDATA"] = instr.config_environment.substs.get(
|
||||
- "LLVM_PROFDATA"
|
||||
- )
|
||||
+ if instr.config_environment.substs.get('CC_TYPE') != 'gcc':
|
||||
+ pgo_env["LLVM_PROFDATA"] = instr.config_environment.substs.get("LLVM_PROFDATA")
|
||||
pgo_env["JARLOG_FILE"] = mozpath.join(orig_topobjdir, "jarlog/en-US.log")
|
||||
pgo_cmd = [
|
||||
instr.virtualenv_manager.python_path,
|
||||
mozpath.join(self.topsrcdir, "build/pgo/profileserver.py"),
|
||||
]
|
||||
subprocess.check_call(
|
||||
pgo_cmd, cwd=instr.topobjdir, env=ensure_subprocess_env(pgo_env)
|
||||
)
|
||||
diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp
|
||||
--- a/toolkit/components/terminator/nsTerminator.cpp
|
||||
+++ b/toolkit/components/terminator/nsTerminator.cpp
|
||||
@@ -413,16 +413,21 @@ void nsTerminator::StartWatchdog() {
|
||||
// Defend against overflow
|
||||
crashAfterMS = INT32_MAX;
|
||||
} else {
|
||||
crashAfterMS *= scaleUp;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
+ // Disable watchdog for PGO train builds - writting profile information at
|
||||
+ // exit may take time and it is better to make build hang rather than
|
||||
+ // silently produce poorly performing binary.
|
||||
+ crashAfterMS = INT32_MAX;
|
||||
+
|
||||
UniquePtr<Options> options(new Options());
|
||||
const PRIntervalTime ticksDuration = PR_MillisecondsToInterval(1000);
|
||||
options->crashAfterTicks = crashAfterMS / ticksDuration;
|
||||
// Handle systems where ticksDuration is greater than crashAfterMS.
|
||||
if (options->crashAfterTicks == 0) {
|
||||
options->crashAfterTicks = crashAfterMS / 1000;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@
|
||||
# Date 1560754926 -7200
|
||||
# Mon Jun 17 09:02:06 2019 +0200
|
||||
# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
|
||||
# Parent 83625bab561d09fb68aa2c71cea7cbafd9ec09b4
|
||||
# Parent f5e9431a99bb1d122ccd76411f08ac6f3236c19f
|
||||
#Description: reduce the rust debuginfo level on selected architectures where
|
||||
# compiling with debuginfo=2 causes the OOM killer to interrupt the build on
|
||||
# launchpad builders. Initially this was only on 32 bit architectures, but with
|
||||
@ -12,18 +12,19 @@
|
||||
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
|
||||
--- a/build/moz.configure/toolchain.configure
|
||||
+++ b/build/moz.configure/toolchain.configure
|
||||
@@ -1823,18 +1823,18 @@ imply_option('RUSTC_OPT_LEVEL', '2', whe
|
||||
@depends('RUSTC_OPT_LEVEL', moz_optimize)
|
||||
@@ -2138,19 +2138,19 @@ imply_option("RUSTC_OPT_LEVEL", "2", whe
|
||||
def rustc_opt_level(opt_level_option, moz_optimize):
|
||||
if opt_level_option:
|
||||
return opt_level_option[0]
|
||||
else:
|
||||
return '1' if moz_optimize.optimize else '0'
|
||||
return "1" if moz_optimize.optimize else "0"
|
||||
|
||||
|
||||
-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers')
|
||||
@depends(
|
||||
- rustc_opt_level, debug_rust, "--enable-debug-symbols", "--enable-frame-pointers"
|
||||
+ rustc_opt_level, debug_rust, "--enable-debug-symbols", "--enable-frame-pointers", host
|
||||
)
|
||||
-def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers):
|
||||
+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers', host)
|
||||
+def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers, host):
|
||||
# Cargo currently supports only two interesting profiles for building:
|
||||
# development and release. Those map (roughly) to --enable-debug and
|
||||
@ -33,22 +34,22 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
|
||||
# optimization level. Since Cargo only supports 2 profiles, we're in
|
||||
# a bit of a bind.
|
||||
#
|
||||
@@ -1847,16 +1847,18 @@ def rust_compile_flags(opt_level, debug_
|
||||
@@ -2163,16 +2163,18 @@ def rust_compile_flags(opt_level, debug_
|
||||
|
||||
# opt-level=0 implies -C debug-assertions, which may not be desired
|
||||
# unless Rust debugging is enabled.
|
||||
if opt_level == '0' and not debug_rust:
|
||||
if opt_level == "0" and not debug_rust:
|
||||
debug_assertions = False
|
||||
|
||||
if debug_symbols:
|
||||
debug_info = '2'
|
||||
debug_info = "2"
|
||||
+ if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64':
|
||||
+ debug_info = '1'
|
||||
|
||||
opts = []
|
||||
|
||||
if opt_level is not None:
|
||||
opts.append('opt-level=%s' % opt_level)
|
||||
opts.append("opt-level=%s" % opt_level)
|
||||
if debug_assertions is not None:
|
||||
opts.append('debug-assertions=%s' %
|
||||
('yes' if debug_assertions else 'no'))
|
||||
opts.append("debug-assertions=%s" % ("yes" if debug_assertions else "no"))
|
||||
if debug_info is not None:
|
||||
|
@ -1,25 +0,0 @@
|
||||
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
|
||||
--- a/build/moz.configure/lto-pgo.configure
|
||||
+++ b/build/moz.configure/lto-pgo.configure
|
||||
@@ -224,17 +224,20 @@ def lto(value, c_compiler, ld64_known_go
|
||||
#
|
||||
# https://github.com/llvm/llvm-project/blob/e7694f34ab6a12b8bb480cbfcb396d0a64fe965f/llvm/lib/Target/X86/X86.td#L1165-L1187
|
||||
if target.cpu == 'x86_64':
|
||||
ldflags.append('-mllvm:-mcpu=x86-64')
|
||||
# We do not need special flags for arm64. Hooray for fixed-length
|
||||
# instruction sets.
|
||||
else:
|
||||
num_cores = multiprocessing.cpu_count()
|
||||
- cflags.append("-flto")
|
||||
+ if len(value) and value[0].lower() == 'full':
|
||||
+ cflags.append("-flto")
|
||||
+ else:
|
||||
+ cflags.append("-flto=thin")
|
||||
cflags.append("-flifetime-dse=1")
|
||||
|
||||
ldflags.append("-flto=%s" % num_cores)
|
||||
ldflags.append("-flifetime-dse=1")
|
||||
|
||||
# Tell LTO not to inline functions above a certain size, to mitigate
|
||||
# binary size growth while still getting good performance.
|
||||
# (For hot functions, PGO will put a multiplier on this limit.)
|
@ -1,11 +1,11 @@
|
||||
PRODUCT="firefox"
|
||||
CHANNEL="release"
|
||||
VERSION="83.0"
|
||||
VERSION="84.0"
|
||||
VERSION_SUFFIX=""
|
||||
PREV_VERSION="82.0.3"
|
||||
PREV_VERSION="83.0"
|
||||
PREV_VERSION_SUFFIX=""
|
||||
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
|
||||
|
||||
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
|
||||
RELEASE_TAG="55359edc5d1cb8addecf9d2e7151782da543f67b"
|
||||
RELEASE_TIMESTAMP="20201112153044"
|
||||
RELEASE_TAG="98507f230e7442065b287ced065ac77d4d8ea35d"
|
||||
RELEASE_TIMESTAMP="20201211215739"
|
||||
|
Loading…
x
Reference in New Issue
Block a user