# HG changeset patch # User Wolfgang Rosenauer # Date 1571995171 -7200 # Node ID 8a4f5aea2475df71c286f0310b415c1e9043f22b # Parent 97a6da6d7e29e98b25eec2e82f29274b2bbb8185 Firefox 70.0 diff -r 97a6da6d7e29 -r 8a4f5aea2475 MozillaFirefox/MozillaFirefox.changes --- a/MozillaFirefox/MozillaFirefox.changes Sun Oct 20 14:25:55 2019 +0200 +++ b/MozillaFirefox/MozillaFirefox.changes Fri Oct 25 11:19:31 2019 +0200 @@ -1,4 +1,50 @@ ------------------------------------------------------------------- +Sun Oct 20 20:19:31 UTC 2019 - Wolfgang Rosenauer + +- Mozilla Firefox 70.0 + * more privacy protections from Enhanced Tracking Protection + * Firefox Lockwise passwordmanager + * Improvements to core engine components, for better browsing on more sites + * Improved privacy and security indicators + MFSA 2019-34 + * CVE-2018-6156 (bmo#1480088) + Heap buffer overflow in FEC processing in WebRTC + * CVE-2019-15903 (bmo#1584907) + Heap overflow in expat library in XML_GetCurrentLineNumber + * CVE-2019-11757 (bmo#1577107) + Use-after-free when creating index updates in IndexedDB + * CVE-2019-11759 (bmo#1577953) + Stack buffer overflow in HKDF output + * CVE-2019-11760 (bmo#1577719) + Stack buffer overflow in WebRTC networking + * CVE-2019-11761 (bmo#1561502) + Unintended access to a privileged JSONView object + * CVE-2019-11762 (bmo#1582857) + document.domain-based origin isolation has same-origin-property violation + * CVE-2019-11763 (bmo#1584216) + Incorrect HTML parsing results in XSS bypass technique + * CVE-2019-11765 (bmo#1562582) + Incorrect permissions could be granted to a website + * CVE-2019-17000 (bmo#1441468) + CSP bypass using object tag with data: URI + * CVE-2019-17001 (bmo#1587976) + CSP bypass using object tag when script-src 'none' is specified + * CVE-2019-17002 (bmo#1561056) + upgrade-insecure-requests was not being honored for links dragged and dropped + * CVE-2019-11764 (bmo#1558522, bmo#1577061, bmo#1548044, bmo#1571223, + bmo#1573048, bmo#1578933, bmo#1575217, bmo#1583684, bmo#1586845, bmo#1581950, + bmo#1583463, bmo#1586599) + Memory safety bugs fixed in Firefox 70 and Firefox ESR 68.2 +- requires + rust/cargo >= 1.36 + NSPR >= 4.22 + NSS >= 3.46.1 + rust-cbindgen >= 0.9.1 +- removed obsolete patches + mozilla-bmo1573381.patch + mozilla-nestegg-big-endian.patch + +------------------------------------------------------------------- Sun Oct 13 08:58:12 UTC 2019 - Wolfgang Rosenauer - Mozilla Firefox 69.0.3 diff -r 97a6da6d7e29 -r 8a4f5aea2475 MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Sun Oct 20 14:25:55 2019 +0200 +++ b/MozillaFirefox/MozillaFirefox.spec Fri Oct 25 11:19:31 2019 +0200 @@ -18,14 +18,14 @@ # changed with every update -%define major 69 -%define mainver %major.0.3 -%define orig_version 69.0.3 +%define major 70 +%define mainver %major.0 +%define orig_version 70.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 %define devpkg 1 -%define releasedate 20191009172106 +%define releasedate 20191016161957 # always build with GCC as SUSE Security Team requires that %define clang_build 0 @@ -73,7 +73,7 @@ %else BuildRequires: gcc-c++ %endif -BuildRequires: cargo >= 1.35 +BuildRequires: cargo >= 1.36 BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libidl-devel @@ -81,15 +81,15 @@ BuildRequires: libnotify-devel BuildRequires: libproxy-devel BuildRequires: makeinfo -BuildRequires: mozilla-nspr-devel >= 4.21 -BuildRequires: mozilla-nss-devel >= 3.45 +BuildRequires: mozilla-nspr-devel >= 4.22 +BuildRequires: mozilla-nss-devel >= 3.46.1 BuildRequires: nasm >= 2.13 BuildRequires: nodejs8 >= 8.11 BuildRequires: python-devel BuildRequires: python2-xml BuildRequires: python3 >= 3.5 -BuildRequires: rust >= 1.35 -BuildRequires: rust-cbindgen >= 0.9.0 +BuildRequires: rust >= 1.36 +BuildRequires: rust-cbindgen >= 0.9.1 BuildRequires: startup-notification-devel BuildRequires: unzip BuildRequires: update-desktop-files @@ -179,15 +179,13 @@ Patch13: mozilla-ppc-altivec_static_inline.patch Patch14: mozilla-bmo1005535.patch Patch15: mozilla-bmo1568145.patch -Patch16: mozilla-bmo1573381.patch -Patch17: mozilla-bmo1504834-part1.patch -Patch18: mozilla-bmo1504834-part2.patch -Patch19: mozilla-bmo1504834-part3.patch -Patch20: mozilla-bmo1511604.patch -Patch21: mozilla-bmo1554971.patch -Patch22: mozilla-nestegg-big-endian.patch -Patch23: mozilla-bmo1512162.patch -Patch24: mozilla-fix-top-level-asm.patch +Patch16: mozilla-bmo1504834-part1.patch +Patch17: mozilla-bmo1504834-part2.patch +Patch18: mozilla-bmo1504834-part3.patch +Patch19: mozilla-bmo1511604.patch +Patch20: mozilla-bmo1554971.patch +Patch21: mozilla-bmo1512162.patch +Patch22: mozilla-fix-top-level-asm.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -323,8 +321,6 @@ %patch20 -p1 %patch21 -p1 %patch22 -p1 -%patch23 -p1 -%patch24 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -346,6 +342,7 @@ source %{SOURCE5} %endif # only_print_mozconfig +export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo export MOZ_SOURCE_CHANGESET=$REV export SOURCE_REPO=$REPO export source_repo=$REPO @@ -501,7 +498,7 @@ # renaming executables (for regular vs. ESR) %if "%{srcname}" != "%{progname}" mv %{buildroot}%{progdir}/%{srcname} %{buildroot}%{progdir}/%{progname} -mv %{buildroot}%{progdir}/%{srcname}-bin %{buildroot}%{progdir}/%{progname} +mv %{buildroot}%{progdir}/%{srcname}-bin %{buildroot}%{progdir}/%{progname}-bin %endif # install gre prefs install -m 644 %{SOURCE13} %{buildroot}%{progdir}/defaults/pref/ diff -r 97a6da6d7e29 -r 8a4f5aea2475 MozillaFirefox/mozilla-bmo1573381.patch --- a/MozillaFirefox/mozilla-bmo1573381.patch Sun Oct 20 14:25:55 2019 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -../mozilla-bmo1573381.patch \ No newline at end of file diff -r 97a6da6d7e29 -r 8a4f5aea2475 MozillaFirefox/mozilla-nestegg-big-endian.patch --- a/MozillaFirefox/mozilla-nestegg-big-endian.patch Sun Oct 20 14:25:55 2019 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -../mozilla-nestegg-big-endian.patch \ No newline at end of file diff -r 97a6da6d7e29 -r 8a4f5aea2475 MozillaFirefox/source-stamp.txt --- a/MozillaFirefox/source-stamp.txt Sun Oct 20 14:25:55 2019 +0200 +++ b/MozillaFirefox/source-stamp.txt Fri Oct 25 11:19:31 2019 +0200 @@ -1,2 +1,2 @@ -REV=e40b66e55c283267a74ea411b9dfeeb7ddbb879c +REV=990d9f90f0f5c02b8af12d784dc76ab40ea84781 REPO=http://hg.mozilla.org/releases/mozilla-release diff -r 97a6da6d7e29 -r 8a4f5aea2475 MozillaFirefox/tar_stamps --- a/MozillaFirefox/tar_stamps Sun Oct 20 14:25:55 2019 +0200 +++ b/MozillaFirefox/tar_stamps Fri Oct 25 11:19:31 2019 +0200 @@ -1,8 +1,8 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="69.0.3" +VERSION="70.0" VERSION_SUFFIX="" -RELEASE_TAG="c4227f95dae9e613acd966b9999fda0565eafb9d" +RELEASE_TAG="990d9f90f0f5c02b8af12d784dc76ab40ea84781" PREV_VERSION="" PREV_VERSION_SUFFIX="" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation diff -r 97a6da6d7e29 -r 8a4f5aea2475 firefox-branded-icons.patch --- a/firefox-branded-icons.patch Sun Oct 20 14:25:55 2019 +0200 +++ b/firefox-branded-icons.patch Fri Oct 25 11:19:31 2019 +0200 @@ -1,6 +1,6 @@ # HG changeset patch # Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de -# Parent 8a401a01454e9f5e8a357262d774e0ff348d9bc1 +# Parent b75f4c79d0757cd16065811d34a563bdb5cfb15e diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild --- a/browser/branding/branding-common.mozbuild @@ -10,13 +10,13 @@ 'VisualElements_150.png', 'VisualElements_70.png', ] - elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: + elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': FINAL_TARGET_FILES.chrome.icons.default += [ 'default128.png', 'default16.png', -+ 'default22.png', -+ 'default24.png', -+ 'default256.png', ++ 'default22.png', ++ 'default24.png', ++ 'default256.png', 'default32.png', 'default48.png', 'default64.png', @@ -24,7 +24,7 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -404,20 +404,23 @@ +@@ -246,20 +246,23 @@ @RESPATH@/browser/chrome/pdfjs.manifest @RESPATH@/browser/chrome/pdfjs/* @RESPATH@/chrome/toolkit@JAREXT@ @@ -46,5 +46,5 @@ ; [Webide Files] @RESPATH@/browser/chrome/webide@JAREXT@ @RESPATH@/browser/chrome/webide.manifest - @RESPATH@/browser/@PREF_DIR@/webide.js + ; [DevTools Startup Files] diff -r 97a6da6d7e29 -r 8a4f5aea2475 firefox-kde.patch --- a/firefox-kde.patch Sun Oct 20 14:25:55 2019 +0200 +++ b/firefox-kde.patch Fri Oct 25 11:19:31 2019 +0200 @@ -3,7 +3,7 @@ # Date 1559300151 -7200 # Fri May 31 12:55:51 2019 +0200 # Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec -# Parent 28bde69150771a1530f784903bf68214dd5790ea +# Parent 4faaad3619f286bd6077754d8e59d339a5142b80 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 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js --- a/browser/components/preferences/in-content/main.js +++ b/browser/components/preferences/in-content/main.js -@@ -339,16 +339,23 @@ var gMainPane = { +@@ -341,16 +341,23 @@ var gMainPane = { }, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]); }; @@ -38,7 +38,7 @@ ); let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + -@@ -1146,16 +1153,27 @@ var gMainPane = { +@@ -1199,16 +1206,27 @@ var gMainPane = { this._backoffIndex = 0; let shellSvc = getShellService(); @@ -71,7 +71,7 @@ +++ b/browser/components/shell/moz.build @@ -28,16 +28,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco ] - elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: + elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': XPIDL_SOURCES += [ 'nsIGNOMEShellService.idl', ] @@ -92,7 +92,7 @@ new file mode 100644 --- /dev/null +++ b/browser/components/shell/nsKDEShellService.cpp -@@ -0,0 +1,150 @@ +@@ -0,0 +1,103 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 @@ -196,53 +196,6 @@ + return NS_ERROR_NOT_IMPLEMENTED; +} + -+NS_IMETHODIMP -+nsKDEShellService::OpenApplication(PRInt32 aApplication) -+{ -+ nsCOMPtr command = do_CreateInstance( NS_ARRAY_CONTRACTID ); -+ if (!command) -+ return NS_ERROR_FAILURE; -+ -+ nsCOMPtr str = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID ); -+ if (!str) -+ return NS_ERROR_FAILURE; -+ -+ if( aApplication == APPLICATION_MAIL ) -+ str->SetData( NS_LITERAL_CSTRING( "OPENMAIL" )); -+ else if( aApplication == APPLICATION_NEWS ) -+ str->SetData( NS_LITERAL_CSTRING( "OPENNEWS" )); -+ else -+ return NS_ERROR_NOT_IMPLEMENTED; -+ -+ command->AppendElement( str ); -+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; -+} -+ -+NS_IMETHODIMP -+nsKDEShellService::OpenApplicationWithURI(nsIFile* aApplication, const nsACString& aURI) -+{ -+ nsCOMPtr command = do_CreateInstance( NS_ARRAY_CONTRACTID ); -+ if (!command) -+ return NS_ERROR_FAILURE; -+ -+ nsCOMPtr cmdstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID ); -+ nsCOMPtr appstr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID ); -+ nsCOMPtr uristr = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID ); -+ if (!cmdstr || !appstr || !uristr) -+ return NS_ERROR_FAILURE; -+ -+ cmdstr->SetData( NS_LITERAL_CSTRING( "RUN" )); -+ command->AppendElement( cmdstr ); -+ nsAutoCString app; -+ nsresult rv = aApplication->GetNativePath( app ); -+ NS_ENSURE_SUCCESS( rv, rv ); -+ appstr->SetData( app ); -+ command->AppendElement( appstr ); -+ uristr->SetData( aURI ); -+ command->AppendElement( uristr ); -+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; -+} -+ diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h new file mode 100644 --- /dev/null diff -r 97a6da6d7e29 -r 8a4f5aea2475 mozilla-bmo1573381.patch --- a/mozilla-bmo1573381.patch Sun Oct 20 14:25:55 2019 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -# HG changeset patch -# Parent 45680ce4ca06795cbca1ea5a9ae8a7a11ab95cf1 -The code tries to find a codec in a list of codecs. For this it searches for a given prefix. -But the prefix is of type char16_t, which means 2 bytes per character instead of 1, as was compared here. -On big endian this created some false positives, as the order of bytes is different and some characters only -occupy "the first" byte, having the second null'ed out. -Noticed because of gtest: MediaMIMETypes.MediaCodecs - -Upstream bugreport: https://bugzilla.mozilla.org/show_bug.cgi?id=1573381 - -diff -r 45680ce4ca06 -r 381102061fcc dom/media/MediaMIMETypes.cpp ---- a/dom/media/MediaMIMETypes.cpp Mon Aug 05 09:28:53 2019 +0200 -+++ b/dom/media/MediaMIMETypes.cpp Tue Aug 13 07:51:27 2019 +0200 -@@ -87,7 +87,7 @@ - const size_t prefixLength = aCodecPrefix.Length(); - for (const auto& myCodec : Range()) { - if (myCodec.Length() >= prefixLength && -- memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength) == 0) { -+ memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength * sizeof(char16_t)) == 0) { - return true; - } - } diff -r 97a6da6d7e29 -r 8a4f5aea2475 mozilla-kde.patch --- a/mozilla-kde.patch Sun Oct 20 14:25:55 2019 +0200 +++ b/mozilla-kde.patch Fri Oct 25 11:19:31 2019 +0200 @@ -3,7 +3,7 @@ # Date 1559294891 -7200 # Fri May 31 11:28:11 2019 +0200 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112 -# Parent 85e4798b74da9c377f84cf8f5dd59a7f952d92eb +# Parent 86d7ace0b36abf542e56fbb702a5f9b308b9bf77 Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -13,7 +13,7 @@ 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 @@ +@@ -88,16 +88,17 @@ #include "nsXPCOM.h" #include "nsXULAppAPI.h" #include "nsZipArchive.h" @@ -31,7 +31,7 @@ #ifdef MOZ_MEMORY # include "mozmemory.h" #endif -@@ -4623,25 +4624,37 @@ Result Preferences::Ini +@@ -4542,25 +4543,37 @@ nsresult Preferences::InitInitialObjects // application pref files for backwards compatibility. static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -69,7 +69,7 @@ // Load jar:$app/omni.jar!/defaults/preferences/*.js // or jar:$gre/omni.jar!/defaults/preferences/*.js. -@@ -4688,17 +4701,17 @@ Result Preferences::Ini +@@ -4606,17 +4619,17 @@ nsresult Preferences::InitInitialObjects } nsCOMPtr path = do_QueryInterface(elem); @@ -91,9 +91,9 @@ diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build --- a/modules/libpref/moz.build +++ b/modules/libpref/moz.build -@@ -31,16 +31,20 @@ EXPORTS.mozilla += [ - 'StaticPrefs.h', +@@ -110,16 +110,20 @@ EXPORTS.mozilla += [ ] + EXPORTS.mozilla += sorted(['!' + g for g in gen_h]) UNIFIED_SOURCES += [ 'Preferences.cpp', @@ -104,13 +104,13 @@ + '/toolkit/xre' +] + - XPCOM_MANIFESTS += [ - 'components.conf', - ] + gen_all_tuple = tuple(gen_h + gen_cpp + gen_rs) + + GENERATED_FILES += [gen_all_tuple] - include('/ipc/chromium/chromium-config.mozbuild') - - FINAL_LIBRARY = 'xul' + static_pref_list = GENERATED_FILES[gen_all_tuple] + static_pref_list.script = 'init/generate_static_pref_list.py:emit_code' + static_pref_list.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 @@ -175,7 +175,7 @@ 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 -@@ -1204,36 +1204,66 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1199,36 +1199,66 @@ nsUnknownContentTypeDialog.prototype = { params.handlerApp && params.handlerApp.executable && params.handlerApp.executable.isFile() @@ -302,7 +302,7 @@ nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { // dbus prevents us from being threadsafe, but this routine should not block // anyhow -@@ -382,21 +385,50 @@ nsresult nsUnixSystemProxySettings::GetP +@@ -381,21 +384,50 @@ nsresult nsUnixSystemProxySettings::GetP return NS_OK; } @@ -356,7 +356,7 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build -@@ -83,17 +83,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co +@@ -85,17 +85,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co '../components/printingui', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': @@ -364,7 +364,7 @@ 'nsNativeAppSupportDefault.cpp', 'UIKitDirProvider.mm', ] - elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: + elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': + EXPORTS += ['nsKDEUtils.h'] UNIFIED_SOURCES += [ + 'nsKDEUtils.cpp', @@ -781,7 +781,7 @@ diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandler/HandlerServiceParent.cpp --- a/uriloader/exthandler/HandlerServiceParent.cpp +++ b/uriloader/exthandler/HandlerServiceParent.cpp -@@ -1,17 +1,17 @@ +@@ -7,17 +7,17 @@ #include "mozilla/ipc/ProtocolUtils.h" #include "mozilla/Logging.h" #include "HandlerServiceParent.h" @@ -800,7 +800,7 @@ using mozilla::dom::RemoteHandlerApp; namespace { -@@ -282,17 +282,17 @@ mozilla::ipc::IPCResult HandlerServicePa +@@ -288,17 +288,17 @@ mozilla::ipc::IPCResult HandlerServicePa mozilla::ipc::IPCResult HandlerServiceParent::RecvExistsForProtocolOS( const nsCString& aProtocolScheme, bool* aHandlerExists) { if (aProtocolScheme.Length() > MAX_SCHEME_LENGTH) { @@ -819,7 +819,7 @@ /* * Check if a handler exists for the provided protocol. Check the datastore -@@ -311,17 +311,17 @@ mozilla::ipc::IPCResult HandlerServicePa +@@ -317,17 +317,17 @@ mozilla::ipc::IPCResult HandlerServicePa nsCOMPtr protoSvc = do_GetService(NS_EXTERNALPROTOCOLSERVICE_CONTRACTID, &rv); if (NS_WARN_IF(NS_FAILED(rv))) { @@ -848,7 +848,7 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow'] - if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': UNIFIED_SOURCES += [ + 'unix/nsCommonRegistry.cpp', 'unix/nsGNOMERegistry.cpp', @@ -877,7 +877,7 @@ CXXFLAGS += CONFIG['TK_CFLAGS'] CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS'] - if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': + 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 @@ -1826,7 +1826,7 @@ + '/toolkit/xre', ] - if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk': CXXFLAGS += CONFIG['TK_CFLAGS'] if CONFIG['MOZ_LAYOUT_DEBUGGER']: diff -r 97a6da6d7e29 -r 8a4f5aea2475 mozilla-nestegg-big-endian.patch --- a/mozilla-nestegg-big-endian.patch Sun Oct 20 14:25:55 2019 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -# HG changeset patch -# Parent 381102061fccdec40efda75c7423a766f68201ba -Bug-behavior: Youtube-videos using VP9 and opus as audio-codec started loading but did not play -Reason: While parsing the audio-stream, the sampling frequency (short rate) was wrongly parsed by - nestegg, returning 0 all the time. This led to the audio-track reporting that it neither had - valid video nor audio. Which led to an endless-loop in the video state machine. -Solution: Correct parsing of rate in nestegg, which is a float and cuts of bytes. -Link: https://github.com/kinetiknz/nestegg/issues/64 - -diff -r 381102061fcc -r 8da4be020b1e media/libnestegg/src/nestegg.c ---- a/media/libnestegg/src/nestegg.c Tue Aug 13 07:51:27 2019 +0200 -+++ b/media/libnestegg/src/nestegg.c Tue Aug 20 07:59:54 2019 +0200 -@@ -768,7 +768,15 @@ - { - union { - uint64_t u; -- float f; -+ struct { -+#if __FLOAT_WORD_ORDER__ == __ORDER_BIG_ENDIAN__ -+ uint32_t _pad; -+ float f; -+#else -+ float f; -+ uint32_t _pad; -+#endif -+ } f; - double d; - } value; - int r; -@@ -780,7 +788,7 @@ - if (r != 1) - return r; - if (length == 4) -- *val = value.f; -+ *val = value.f.f; - else - *val = value.d; - return 1; diff -r 97a6da6d7e29 -r 8a4f5aea2475 mozilla-reduce-rust-debuginfo.patch --- a/mozilla-reduce-rust-debuginfo.patch Sun Oct 20 14:25:55 2019 +0200 +++ b/mozilla-reduce-rust-debuginfo.patch Fri Oct 25 11:19:31 2019 +0200 @@ -3,27 +3,42 @@ # Date 1560754926 -7200 # Mon Jun 17 09:02:06 2019 +0200 # Node ID 428161c3b9599083e1b8710eda1760f1f707ab11 -# Parent 6cd963b6c82ea6629aaf4050851789b78f310338 +# Parent fa1cf8b9cb4efdf89fe19e543fb54272b726a353 #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 # firefox 63 it started happening frequently on arm64 and ppc64el too. -diff -r 6cd963b6c82e -r 428161c3b959 build/moz.configure/toolchain.configure ---- a/build/moz.configure/toolchain.configure Tue May 21 17:26:58 2019 +0200 -+++ b/build/moz.configure/toolchain.configure Mon Jun 17 09:02:06 2019 +0200 -@@ -1865,8 +1865,8 @@ +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 +@@ -1861,18 +1861,18 @@ imply_option('RUSTC_OPT_LEVEL', '2', whe + @depends('RUSTC_OPT_LEVEL', moz_optimize) + 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' --@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols') --def rust_compile_flags(opt_level, debug_rust, debug_symbols): -+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', host) -+def rust_compile_flags(opt_level, debug_rust, debug_symbols, host): +-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers') +-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 # --disable-debug in Gecko, respectively. -@@ -1889,6 +1889,8 @@ + # + # But we'd also like to support an additional axis of control for + # optimization level. Since Cargo only supports 2 profiles, we're in + # a bit of a bind. + # +@@ -1885,16 +1885,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: + debug_assertions = False if debug_symbols: debug_info = '2' @@ -32,3 +47,8 @@ opts = [] + if opt_level is not None: + opts.append('opt-level=%s' % opt_level) + if debug_assertions is not None: + opts.append('debug-assertions=%s' % + ('yes' if debug_assertions else 'no')) diff -r 97a6da6d7e29 -r 8a4f5aea2475 series --- a/series Sun Oct 20 14:25:55 2019 +0200 +++ b/series Fri Oct 25 11:19:31 2019 +0200 @@ -14,13 +14,11 @@ mozilla-ppc-altivec_static_inline.patch mozilla-bmo1005535.patch mozilla-bmo1568145.patch -mozilla-bmo1573381.patch mozilla-bmo1504834-part1.patch mozilla-bmo1504834-part2.patch mozilla-bmo1504834-part3.patch mozilla-bmo1511604.patch mozilla-bmo1554971.patch -mozilla-nestegg-big-endian.patch mozilla-bmo1512162.patch mozilla-fix-top-level-asm.patch