Browse Source

Shuffle in patches

Ian Neal 1 month ago
parent
commit
e326481610

+ 0 - 0
mozilla-release/patches/1180498-68a1.patch → mozilla-release/patches/1180498-69a1.patch


+ 16 - 16
mozilla-release/patches/1377445-2no3-89a1.patch

@@ -2,7 +2,7 @@
 # User Mike Hommey <mh+mozilla@glandium.org>
 # Date 1618883823 0
 # Node ID 0ce69d9f596b3910876f4838c5b04250a553b9c4
-# Parent  e1e6bb90e15a555f872492a154c053aff7c56a6b
+# Parent  1442a189d3925322d50597a09d410872510225a1
 Bug 1377445 - Remove build dependencies on gtk+2. r=firefox-build-system-reviewers,mhentges
 
 Differential Revision: https://phabricator.services.mozilla.com/D111997
@@ -144,7 +144,7 @@ diff --git a/old-configure.in b/old-configure.in
 diff --git a/python/mozboot/mozboot/archlinux.py b/python/mozboot/mozboot/archlinux.py
 --- a/python/mozboot/mozboot/archlinux.py
 +++ b/python/mozboot/mozboot/archlinux.py
-@@ -35,17 +35,16 @@ class ArchlinuxBootstrapper(
+@@ -34,17 +34,16 @@ class ArchlinuxBootstrapper(
          'python-pip',
          'unzip',
          'zip',
@@ -165,7 +165,7 @@ diff --git a/python/mozboot/mozboot/archlinux.py b/python/mozboot/mozboot/archli
 diff --git a/python/mozboot/mozboot/centosfedora.py b/python/mozboot/mozboot/centosfedora.py
 --- a/python/mozboot/mozboot/centosfedora.py
 +++ b/python/mozboot/mozboot/centosfedora.py
-@@ -32,18 +32,16 @@ class CentOSFedoraBootstrapper(
+@@ -29,18 +29,16 @@ class CentOSFedoraBootstrapper(
          self.browser_group_packages = [
              'GNOME Software Development',
          ]
@@ -181,13 +181,13 @@ diff --git a/python/mozboot/mozboot/centosfedora.py b/python/mozboot/mozboot/cen
              'nasm',
              'pulseaudio-libs-devel',
              'wireless-tools-devel',
-             'yasm',
          ]
  
+         self.mobile_android_packages = [
 diff --git a/python/mozboot/mozboot/debian.py b/python/mozboot/mozboot/debian.py
 --- a/python/mozboot/mozboot/debian.py
 +++ b/python/mozboot/mozboot/debian.py
-@@ -54,17 +54,16 @@ class DebianBootstrapper(
+@@ -55,17 +55,16 @@ class DebianBootstrapper(
      # These are common packages for building Firefox for Desktop
      # (browser) for all Debian-derived distros (such as Ubuntu).
      BROWSER_COMMON_PACKAGES = [
@@ -202,13 +202,13 @@ diff --git a/python/mozboot/mozboot/debian.py b/python/mozboot/mozboot/debian.py
          'libxt-dev',
          'python-dbus',
          'xvfb',
-         'yasm',
      ]
  
+     # Subclasses can add packages to this variable to have them installed.
 diff --git a/python/mozboot/mozboot/freebsd.py b/python/mozboot/mozboot/freebsd.py
 --- a/python/mozboot/mozboot/freebsd.py
 +++ b/python/mozboot/mozboot/freebsd.py
-@@ -22,17 +22,16 @@ class FreeBSDBootstrapper(BaseBootstrapp
+@@ -21,17 +21,16 @@ class FreeBSDBootstrapper(BaseBootstrapp
              'python3',
              'rust',
              'watchman',
@@ -224,18 +224,18 @@ diff --git a/python/mozboot/mozboot/freebsd.py b/python/mozboot/mozboot/freebsd.
              'nasm',
              'pulseaudio',
              'v4l_compat',
-             'yasm',
          ]
+ 
 diff --git a/python/mozboot/mozboot/gentoo.py b/python/mozboot/mozboot/gentoo.py
 --- a/python/mozboot/mozboot/gentoo.py
 +++ b/python/mozboot/mozboot/gentoo.py
-@@ -41,17 +41,16 @@ class GentooBootstrapper(
+@@ -40,17 +40,16 @@ class GentooBootstrapper(
+                           ])
  
      def ensure_browser_packages(self, artifact_mode=False):
          # TODO: Figure out what not to install for artifact mode
          self.run_as_root(['emerge',
                            '--oneshot', '--noreplace', '--quiet', '--newuse',
-                           'dev-lang/yasm',
                            'dev-libs/dbus-glib',
                            'media-sound/pulseaudio',
 -                          'x11-libs/gtk+:2',
@@ -250,7 +250,8 @@ diff --git a/python/mozboot/mozboot/gentoo.py b/python/mozboot/mozboot/gentoo.py
 diff --git a/python/mozboot/mozboot/openbsd.py b/python/mozboot/mozboot/openbsd.py
 --- a/python/mozboot/mozboot/openbsd.py
 +++ b/python/mozboot/mozboot/openbsd.py
-@@ -20,17 +20,16 @@ class OpenBSDBootstrapper(BaseBootstrapp
+@@ -18,17 +18,16 @@ class OpenBSDBootstrapper(BaseBootstrapp
+             'wget',
              'unzip',
              'zip',
          ]
@@ -258,7 +259,6 @@ diff --git a/python/mozboot/mozboot/openbsd.py b/python/mozboot/mozboot/openbsd.
          self.browser_packages = [
              'llvm',
              'nasm',
-             'yasm',
 -            'gtk+2',
              'gtk+3',
              'dbus-glib',
@@ -271,7 +271,8 @@ diff --git a/python/mozboot/mozboot/openbsd.py b/python/mozboot/mozboot/openbsd.
 diff --git a/python/mozboot/mozboot/opensuse.py b/python/mozboot/mozboot/opensuse.py
 --- a/python/mozboot/mozboot/opensuse.py
 +++ b/python/mozboot/mozboot/opensuse.py
-@@ -32,17 +32,16 @@ class OpenSUSEBootstrapper(
+@@ -30,17 +30,16 @@ class OpenSUSEBootstrapper(
+         'gtk3-devel',
          'dbus-1-glib-devel',
          'gconf2-devel',
          'glibc-devel-static',
@@ -279,7 +280,6 @@ diff --git a/python/mozboot/mozboot/opensuse.py b/python/mozboot/mozboot/opensus
          'libXt-devel',
          'libproxy-devel',
          'libuuid-devel',
-         'yasm',
 -        'gtk2-devel',
          'clang-devel',
          'patterns-gnome-devel_gnome',
@@ -292,7 +292,7 @@ diff --git a/python/mozboot/mozboot/opensuse.py b/python/mozboot/mozboot/opensus
 diff --git a/python/mozboot/mozboot/solus.py b/python/mozboot/mozboot/solus.py
 --- a/python/mozboot/mozboot/solus.py
 +++ b/python/mozboot/mozboot/solus.py
-@@ -32,17 +32,16 @@ class SolusBootstrapper(
+@@ -31,17 +31,16 @@ class SolusBootstrapper(
      ]
      SYSTEM_COMPONENTS = [
          'system.devel',
@@ -313,7 +313,7 @@ diff --git a/python/mozboot/mozboot/solus.py b/python/mozboot/mozboot/solus.py
 diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
 --- a/toolkit/library/moz.build
 +++ b/toolkit/library/moz.build
-@@ -112,19 +112,17 @@ USE_LIBS += [
+@@ -101,19 +101,17 @@ USE_LIBS += [
      'nspr',
      'nss',
      'psshparser',

+ 183 - 7
mozilla-release/patches/1408777-3-58a1.patch

@@ -2,11 +2,187 @@
 # User Dan Banner <dbugs@thebanners.uk>
 # Date 1508093430 -3600
 # Node ID 167e5e6fd9308fa6557f2010ac5c3821558e8015
-# Parent  1c369d4f31966eb28584750d99729562868032ca
+# Parent  eca06cfbe00455f4692f4bf800eb6b4fd9fefe3a
 Bug 1408777 - Automatically fix instances of missing semicolons in the tree. r=Standard8
 
 MozReview-Commit-ID: Jm8BRgt6mIv
 
+diff --git a/accessible/tests/mochitest/treeupdate/test_ariaowns.html b/accessible/tests/mochitest/treeupdate/test_ariaowns.html
+--- a/accessible/tests/mochitest/treeupdate/test_ariaowns.html
++++ b/accessible/tests/mochitest/treeupdate/test_ariaowns.html
+@@ -286,43 +286,43 @@
+       this.invoke = function removeA11eteiner_invoke() {
+         var tree =
+           { SECTION: [
+               { CHECKBUTTON: [ ] } // ARIA owned, 't2_owned'
+           ] };
+         testAccessibleTree("t2_container1", tree);
+ 
+         getNode("t2_container2").removeChild(getNode("t2_container3"));
+-      }
++      };
+ 
+       this.finalCheck = function removeA11eteiner_finalCheck() {
+         var tree =
+           { SECTION: [
+           ] };
+         testAccessibleTree("t2_container1", tree);
+-      }
++      };
+ 
+       this.getID = function removeA11eteiner_getID() {
+         return "Remove an accessible DOM element containing an element referred by ARIA owns";
+-      }
++      };
+     }
+ 
+     /**
+      * Attempt to steal an element from other ARIA owns element. This should
+      * not be possible. The only child that will get owned into this
+      * container is a previously not aria-owned one.
+      */
+     function stealFromOtherARIAOwns() {
+       this.eventSeq = [
+         new invokerChecker(EVENT_REORDER, getNode("t3_container3"))
+       ];
+ 
+       this.invoke = function stealFromOtherARIAOwns_invoke() {
+         getNode("t3_container3").setAttribute("aria-owns", "t3_child t3_child2");
+-      }
++      };
+ 
+       this.finalCheck = function stealFromOtherARIAOwns_finalCheck() {
+         var tree =
+           { SECTION: [
+             { CHECKBUTTON: [
+             ] }
+           ] };
+         testAccessibleTree("t3_container1", tree);
+@@ -333,110 +333,110 @@
+         testAccessibleTree("t3_container2", tree);
+ 
+         tree =
+           { SECTION: [
+             { CHECKBUTTON: [
+             ] }
+           ] };
+         testAccessibleTree("t3_container3", tree);
+-      }
++      };
+ 
+       this.getID = function stealFromOtherARIAOwns_getID() {
+         return "Steal an element from other ARIA owns element";
+-      }
++      };
+     }
+ 
+     function appendElToRecacheChildren() {
+       this.eventSeq = [
+         new invokerChecker(EVENT_REORDER, getNode("t3_container3"))
+       ];
+ 
+       this.invoke = function appendElToRecacheChildren_invoke() {
+         var div = document.createElement("div");
+-        div.setAttribute("role", "radio")
++        div.setAttribute("role", "radio");
+         getNode("t3_container3").appendChild(div);
+-      }
++      };
+ 
+       this.finalCheck = function appendElToRecacheChildren_finalCheck() {
+         var tree =
+           { SECTION: [
+           ] };
+         testAccessibleTree("t3_container2", tree);
+ 
+         tree =
+           { SECTION: [
+             { RADIOBUTTON: [ ] },
+             { CHECKBUTTON: [ ] } // ARIA owned
+           ] };
+         testAccessibleTree("t3_container3", tree);
+-      }
++      };
+ 
+       this.getID = function appendElToRecacheChildren_getID() {
+         return "Append a child under @aria-owns element to trigger children recache";
+-      }
++      };
+     }
+ 
+     function showHiddenElement() {
+       this.eventSeq = [
+         new invokerChecker(EVENT_REORDER, getNode("t4_container1"))
+       ];
+ 
+       this.invoke = function showHiddenElement_invoke() {
+         var tree =
+           { SECTION: [
+             { RADIOBUTTON: [] }
+           ] };
+         testAccessibleTree("t4_container1", tree);
+ 
+         getNode("t4_child1").style.display = "block";
+-      }
++      };
+ 
+       this.finalCheck = function showHiddenElement_finalCheck() {
+         var tree =
+           { SECTION: [
+             { CHECKBUTTON: [] },
+             { RADIOBUTTON: [] }
+           ] };
+         testAccessibleTree("t4_container1", tree);
+-      }
++      };
+ 
+       this.getID = function showHiddenElement_getID() {
+         return "Show hidden ARIA owns referred element";
+-      }
++      };
+     }
+ 
+     function rearrangeARIAOwns(aContainer, aAttr, aIdList, aRoleList) {
+       this.eventSeq = [];
+-      for (let id of aIdList) {
++      for (var id of aIdList) {
+         this.eventSeq.push(new invokerChecker(EVENT_HIDE, getNode(id)));
+       }
+ 
+-      for (let id of aIdList) {
++      for (var id of aIdList) {
+         this.eventSeq.push(new invokerChecker(EVENT_SHOW, getNode(id)));
+       }
+       this.eventSeq.push(new invokerChecker(EVENT_REORDER, getNode(aContainer)));
+ 
+       this.invoke = function rearrangeARIAOwns_invoke() {
+         getNode(aContainer).setAttribute("aria-owns", aAttr);
+-      }
++      };
+ 
+       this.finalCheck = function rearrangeARIAOwns_finalCheck() {
+         var tree = { SECTION: [ ] };
+         for (var role of aRoleList) {
+           var ch = {};
+           ch[role] = [];
+           tree.SECTION.push(ch);
+         }
+         testAccessibleTree(aContainer, tree);
+-      }
++      };
+ 
+       this.getID = function rearrangeARIAOwns_getID() {
+         return `Rearrange @aria-owns attribute to '${aAttr}'`;
+-      }
++      };
+     }
+ 
+     function removeNotARIAOwnedEl(aContainer, aChild) {
+       this.eventSeq = [
+         new invokerChecker(EVENT_REORDER, aContainer)
+       ];
+ 
+       this.invoke = function removeNotARIAOwnedEl_invoke() {
 diff --git a/browser/base/content/test/general/browser_clipboard.js b/browser/base/content/test/general/browser_clipboard.js
 --- a/browser/base/content/test/general/browser_clipboard.js
 +++ b/browser/base/content/test/general/browser_clipboard.js
@@ -68,7 +244,7 @@ diff --git a/browser/components/preferences/in-content-new/findInPage.js b/brows
 diff --git a/browser/components/preferences/in-content-new/main.js b/browser/components/preferences/in-content-new/main.js
 --- a/browser/components/preferences/in-content-new/main.js
 +++ b/browser/components/preferences/in-content-new/main.js
-@@ -619,17 +619,17 @@ var gMainPane = {
+@@ -634,17 +634,17 @@ var gMainPane = {
      else
        useCurrent.label = useCurrent.getAttribute("label1");
  
@@ -87,7 +263,7 @@ diff --git a/browser/components/preferences/in-content-new/main.js b/browser/com
  
      const Cc = Components.classes, Ci = Components.interfaces;
      var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
-@@ -1663,17 +1663,17 @@ var gMainPane = {
+@@ -1759,17 +1759,17 @@ var gMainPane = {
      // is to use a helper app, we have to pick the specific helper app item).
      if (handlerInfo.alwaysAskBeforeHandling)
        menu.selectedItem = askMenuItem;
@@ -106,7 +282,7 @@ diff --git a/browser/components/preferences/in-content-new/main.js b/browser/com
        case Ci.nsIHandlerInfo.useHelperApp:
          if (preferredApp)
            menu.selectedItem =
-@@ -1977,17 +1977,17 @@ var gMainPane = {
+@@ -2090,17 +2090,17 @@ var gMainPane = {
    _getIconURLForHandlerApp(aHandlerApp) {
      if (aHandlerApp instanceof Ci.nsILocalHandlerApp)
        return this._getIconURLForFile(aHandlerApp.executable);
@@ -125,7 +301,7 @@ diff --git a/browser/components/preferences/in-content-new/main.js b/browser/com
    _getIconURLForFile(aFile) {
      var fph = this._ioSvc.getProtocolHandler("file").
                QueryInterface(Ci.nsIFileProtocolHandler);
-@@ -2455,17 +2455,17 @@ HandlerInfoWrapper.prototype = {
+@@ -2568,17 +2568,17 @@ HandlerInfoWrapper.prototype = {
      return this.wrappedHandlerInfo.preferredApplicationHandler;
    },
  
@@ -144,7 +320,7 @@ diff --git a/browser/components/preferences/in-content-new/main.js b/browser/com
  
    addPossibleApplicationHandler(aNewHandler) {
      var possibleApps = this.possibleApplicationHandlers.enumerate();
-@@ -2892,37 +2892,37 @@ FeedHandlerInfo.prototype = {
+@@ -3110,37 +3110,37 @@ FeedHandlerInfo.prototype = {
  var feedHandlerInfo = {
    __proto__: new FeedHandlerInfo(TYPE_MAYBE_FEED),
    _prefSelectedApp: PREF_FEED_SELECTED_APP,
@@ -188,7 +364,7 @@ diff --git a/browser/components/preferences/in-content-new/main.js b/browser/com
 diff --git a/browser/components/preferences/in-content-new/sync.js b/browser/components/preferences/in-content-new/sync.js
 --- a/browser/components/preferences/in-content-new/sync.js
 +++ b/browser/components/preferences/in-content-new/sync.js
-@@ -437,18 +437,18 @@ var gSyncPane = {
+@@ -444,18 +444,18 @@ var gSyncPane = {
    verifyFirefoxAccount() {
      let showVerifyNotification = (data) => {
        let isError = !data;

+ 0 - 185
mozilla-release/patches/1408777-FIX-58a1.patch

@@ -1,185 +0,0 @@
-# HG changeset patch
-# User Dan Banner <dbugs@thebanners.uk>
-# Date 1508093430 -3600
-# Node ID 167e5e6fd9308fa6557f2010ac5c3821558e8015
-# Parent  6b35a1e24aad4d72b4b277c550584b6155ff0fe2
-Bug 1408777 - Automatically fix instances of missing semicolons in the tree. r=Standard8
-
-MozReview-Commit-ID: Jm8BRgt6mIv
-
-diff --git a/accessible/tests/mochitest/treeupdate/test_ariaowns.html b/accessible/tests/mochitest/treeupdate/test_ariaowns.html
---- a/accessible/tests/mochitest/treeupdate/test_ariaowns.html
-+++ b/accessible/tests/mochitest/treeupdate/test_ariaowns.html
-@@ -286,43 +286,43 @@
-       this.invoke = function removeA11eteiner_invoke() {
-         var tree =
-           { SECTION: [
-               { CHECKBUTTON: [ ] } // ARIA owned, 't2_owned'
-           ] };
-         testAccessibleTree("t2_container1", tree);
- 
-         getNode("t2_container2").removeChild(getNode("t2_container3"));
--      }
-+      };
- 
-       this.finalCheck = function removeA11eteiner_finalCheck() {
-         var tree =
-           { SECTION: [
-           ] };
-         testAccessibleTree("t2_container1", tree);
--      }
-+      };
- 
-       this.getID = function removeA11eteiner_getID() {
-         return "Remove an accessible DOM element containing an element referred by ARIA owns";
--      }
-+      };
-     }
- 
-     /**
-      * Attempt to steal an element from other ARIA owns element. This should
-      * not be possible. The only child that will get owned into this
-      * container is a previously not aria-owned one.
-      */
-     function stealFromOtherARIAOwns() {
-       this.eventSeq = [
-         new invokerChecker(EVENT_REORDER, getNode("t3_container3"))
-       ];
- 
-       this.invoke = function stealFromOtherARIAOwns_invoke() {
-         getNode("t3_container3").setAttribute("aria-owns", "t3_child t3_child2");
--      }
-+      };
- 
-       this.finalCheck = function stealFromOtherARIAOwns_finalCheck() {
-         var tree =
-           { SECTION: [
-             { CHECKBUTTON: [
-             ] }
-           ] };
-         testAccessibleTree("t3_container1", tree);
-@@ -333,110 +333,110 @@
-         testAccessibleTree("t3_container2", tree);
- 
-         tree =
-           { SECTION: [
-             { CHECKBUTTON: [
-             ] }
-           ] };
-         testAccessibleTree("t3_container3", tree);
--      }
-+      };
- 
-       this.getID = function stealFromOtherARIAOwns_getID() {
-         return "Steal an element from other ARIA owns element";
--      }
-+      };
-     }
- 
-     function appendElToRecacheChildren() {
-       this.eventSeq = [
-         new invokerChecker(EVENT_REORDER, getNode("t3_container3"))
-       ];
- 
-       this.invoke = function appendElToRecacheChildren_invoke() {
-         var div = document.createElement("div");
--        div.setAttribute("role", "radio")
-+        div.setAttribute("role", "radio");
-         getNode("t3_container3").appendChild(div);
--      }
-+      };
- 
-       this.finalCheck = function appendElToRecacheChildren_finalCheck() {
-         var tree =
-           { SECTION: [
-           ] };
-         testAccessibleTree("t3_container2", tree);
- 
-         tree =
-           { SECTION: [
-             { RADIOBUTTON: [ ] },
-             { CHECKBUTTON: [ ] } // ARIA owned
-           ] };
-         testAccessibleTree("t3_container3", tree);
--      }
-+      };
- 
-       this.getID = function appendElToRecacheChildren_getID() {
-         return "Append a child under @aria-owns element to trigger children recache";
--      }
-+      };
-     }
- 
-     function showHiddenElement() {
-       this.eventSeq = [
-         new invokerChecker(EVENT_REORDER, getNode("t4_container1"))
-       ];
- 
-       this.invoke = function showHiddenElement_invoke() {
-         var tree =
-           { SECTION: [
-             { RADIOBUTTON: [] }
-           ] };
-         testAccessibleTree("t4_container1", tree);
- 
-         getNode("t4_child1").style.display = "block";
--      }
-+      };
- 
-       this.finalCheck = function showHiddenElement_finalCheck() {
-         var tree =
-           { SECTION: [
-             { CHECKBUTTON: [] },
-             { RADIOBUTTON: [] }
-           ] };
-         testAccessibleTree("t4_container1", tree);
--      }
-+      };
- 
-       this.getID = function showHiddenElement_getID() {
-         return "Show hidden ARIA owns referred element";
--      }
-+      };
-     }
- 
-     function rearrangeARIAOwns(aContainer, aAttr, aIdList, aRoleList) {
-       this.eventSeq = [];
--      for (let id of aIdList) {
-+      for (var id of aIdList) {
-         this.eventSeq.push(new invokerChecker(EVENT_HIDE, getNode(id)));
-       }
- 
--      for (let id of aIdList) {
-+      for (var id of aIdList) {
-         this.eventSeq.push(new invokerChecker(EVENT_SHOW, getNode(id)));
-       }
-       this.eventSeq.push(new invokerChecker(EVENT_REORDER, getNode(aContainer)));
- 
-       this.invoke = function rearrangeARIAOwns_invoke() {
-         getNode(aContainer).setAttribute("aria-owns", aAttr);
--      }
-+      };
- 
-       this.finalCheck = function rearrangeARIAOwns_finalCheck() {
-         var tree = { SECTION: [ ] };
-         for (var role of aRoleList) {
-           var ch = {};
-           ch[role] = [];
-           tree.SECTION.push(ch);
-         }
-         testAccessibleTree(aContainer, tree);
--      }
-+      };
- 
-       this.getID = function rearrangeARIAOwns_getID() {
-         return `Rearrange @aria-owns attribute to '${aAttr}'`;
--      }
-+      };
-     }
- 
-     function removeNotARIAOwnedEl(aContainer, aChild) {
-       this.eventSeq = [
-         new invokerChecker(EVENT_REORDER, aContainer)
-       ];
- 
-       this.invoke = function removeNotARIAOwnedEl_invoke() {

+ 0 - 0
mozilla-release/patches/1435223-59a1.patch → mozilla-release/patches/1435223-60a1.patch


+ 12 - 11
mozilla-release/patches/1496746-71a1.patch

@@ -2,7 +2,7 @@
 # User Mike Shal <mshal@mozilla.com>
 # Date 1568051087 0
 # Node ID b2e49b3d407e3e716596cc07c98fbc75523f2ecf
-# Parent  4870ae919bd162da8727f644f90ab79da6d3955c
+# Parent  e16411b0a19fec7568266310f8f221161a4e580b
 Bug 1496746 - Remove VPATH; r=glandium
 
 Having a full VPATH for the srcdir sometimes causes make to grab the
@@ -283,9 +283,10 @@ diff --git a/config/rules.mk b/config/rules.mk
  	@echo Creating Resource file: $@
  ifdef GNU_CC
 -	$(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) $(OUTOPTION)$@ $(_VPATH_SRCS)
-+	$(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) $(OUTOPTION)$@ $<
- else
+-else
 -	$(RC) $(RCFLAGS) -r $(DEFINES) $(INCLUDES) $(OUTOPTION)$@ $(_VPATH_SRCS)
++	$(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) $(OUTOPTION)$@ $<
++else
 +	$(RC) $(RCFLAGS) -r $(DEFINES) $(INCLUDES) $(OUTOPTION)$@ $<
  endif
  
@@ -499,7 +500,7 @@ diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild
 diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozbuild/frontend/context.py
 --- a/python/mozbuild/mozbuild/frontend/context.py
 +++ b/python/mozbuild/mozbuild/frontend/context.py
-@@ -1668,29 +1668,29 @@ VARIABLES = {
+@@ -1657,29 +1657,29 @@ VARIABLES = {
                 """Whether profile-guided optimization is disable in this directory.
          """),
  
@@ -666,13 +667,13 @@ diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
 -        RCINCLUDE = '$(DEPTH)/toolkit/library/xulrunner.rc'
 +        RCINCLUDE = '/toolkit/library/xulrunner.rc'
  
-     # BFD ld doesn't create multiple PT_LOADs as usual when an unknown section
-     # exists. Using an implicit linker script to make it fold that section in
-     # .data.rel.ro makes it create multiple PT_LOADs. That implicit linker
-     # script however makes gold misbehave, first because it doesn't like that
-     # the linker script is given after crtbegin.o, and even past that, replaces
-     # the default section rules with those from the script instead of
-     # supplementing them. Which leads to a lib with a huge load of sections.
+     Libxul_defines()
+ 
+     if CONFIG['MOZ_NEEDS_LIBATOMIC']:
+         OS_LIBS += ['atomic']
+ 
+     # This option should go away in bug 1290972, but we need to wait until
+     # Rust 1.12 has been released.
 diff --git a/toolkit/xre/test/win/Makefile.in b/toolkit/xre/test/win/Makefile.in
 --- a/toolkit/xre/test/win/Makefile.in
 +++ b/toolkit/xre/test/win/Makefile.in

+ 4 - 4
mozilla-release/patches/1519636-11-68a1.patch

@@ -3,7 +3,7 @@
 # Date 1553672004 0
 #      Wed Mar 27 07:33:24 2019 +0000
 # Node ID fa3daa92292dde4bf9405c56e43a464e53c349a2
-# Parent  79f6afbc9059b4210a7e1cf0864a62919ca5d018
+# Parent  6def29f44e9166ab764c1ddb438e3a8143b59774
 Bug 1519636 - Ride along: Add media/libdav1d/version.h to the ignore list r=andi
 
 Differential Revision: https://phabricator.services.mozilla.com/D24558
@@ -11,7 +11,7 @@ Differential Revision: https://phabricator.services.mozilla.com/D24558
 diff --git a/.clang-format-ignore b/.clang-format-ignore
 --- a/.clang-format-ignore
 +++ b/.clang-format-ignore
-@@ -62,16 +62,17 @@ ipc/chromium/.*
+@@ -58,16 +58,17 @@ ipc/chromium/.*
  js/src/ctypes/libffi/.*
  js/src/dtoa.c.*
  js/src/jit/arm64/vixl/.*
@@ -32,10 +32,10 @@ diff --git a/.clang-format-ignore b/.clang-format-ignore
 diff --git a/tools/rewriting/ThirdPartyPaths.txt b/tools/rewriting/ThirdPartyPaths.txt
 --- a/tools/rewriting/ThirdPartyPaths.txt
 +++ b/tools/rewriting/ThirdPartyPaths.txt
-@@ -25,16 +25,17 @@ js/src/ctypes/libffi/
+@@ -19,16 +19,17 @@ ipc/chromium/
+ js/src/ctypes/libffi/
  js/src/dtoa.c
  js/src/jit/arm64/vixl/
- js/src/vtune/ittnotify_config.h
  media/ffvpx/
  media/gmp-clearkey/0.1/openaes/
  media/kiss_fft/

+ 4 - 4
mozilla-release/patches/1519636-20-69a1.patch → mozilla-release/patches/1519636-21-69a1.patch

@@ -3,7 +3,7 @@
 # Date 1561707478 0
 #      Fri Jun 28 07:37:58 2019 +0000
 # Node ID 98eb0b753429a9da45154a18c3779e7840c72619
-# Parent  21d501143e0b3a29f7bbd98705077ad0deb411ff
+# Parent  3dd37f9d34506b285d4cd1eade090e6cdc9eeb0a
 Bug 1519636 - Mark the entire media/libdav1d directory as third-party; r=andi
 
 Differential Revision: https://phabricator.services.mozilla.com/D35474
@@ -11,7 +11,7 @@ Differential Revision: https://phabricator.services.mozilla.com/D35474
 diff --git a/.clang-format-ignore b/.clang-format-ignore
 --- a/.clang-format-ignore
 +++ b/.clang-format-ignore
-@@ -62,17 +62,17 @@ ipc/chromium/.*
+@@ -61,17 +61,17 @@ ipc/chromium/.*
  js/src/ctypes/libffi/.*
  js/src/dtoa.c.*
  js/src/jit/arm64/vixl/.*
@@ -33,10 +33,10 @@ diff --git a/.clang-format-ignore b/.clang-format-ignore
 diff --git a/tools/rewriting/ThirdPartyPaths.txt b/tools/rewriting/ThirdPartyPaths.txt
 --- a/tools/rewriting/ThirdPartyPaths.txt
 +++ b/tools/rewriting/ThirdPartyPaths.txt
-@@ -25,17 +25,17 @@ js/src/ctypes/libffi/
+@@ -19,17 +19,17 @@ ipc/chromium/
+ js/src/ctypes/libffi/
  js/src/dtoa.c
  js/src/jit/arm64/vixl/
- js/src/vtune/ittnotify_config.h
  media/ffvpx/
  media/gmp-clearkey/0.1/openaes/
  media/kiss_fft/

+ 5 - 5
mozilla-release/patches/1540760-1-68a1.patch

@@ -2,7 +2,7 @@
 # User Dan Minor <dminor@mozilla.com>
 # Date 1556723088 0
 # Node ID f1bc4fcd152e66e858c3a1d0b0afd30a78e9474b
-# Parent  3ca39e2837e77b27b1058be69bcd6129a3dfcff9
+# Parent  c25bb3353335741cf7045c4430ea4c8c33f6f074
 Bug 1540760 - Make it possible to use clang-cl as an assembler; r=firefox-build-system-reviewers,mshal
 
 Some media libraries use gas syntax in their assembly files. Rather than
@@ -14,7 +14,7 @@ Differential Revision: https://phabricator.services.mozilla.com/D27785
 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
-@@ -2217,16 +2217,30 @@ def have_yasm(yasm_asflags):
+@@ -2110,16 +2110,30 @@ def have_yasm(yasm_asflags):
          return True
  
  set_config('HAVE_NASM', have_nasm)
@@ -48,7 +48,7 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
 diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozbuild/frontend/context.py
 --- a/python/mozbuild/mozbuild/frontend/context.py
 +++ b/python/mozbuild/mozbuild/frontend/context.py
-@@ -2274,16 +2274,24 @@ VARIABLES = {
+@@ -2195,16 +2195,24 @@ VARIABLES = {
  
          By default, the build will use the toolchain assembler, $(AS), to
          assemble source files in assembly language (.s or .asm files). Setting
@@ -71,12 +71,12 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
  for name, (storage_type, input_types, docs) in VARIABLES.items():
      if storage_type == list:
          raise RuntimeError('%s has a "list" storage type. Use "List" instead.'
-                            % name)
+             % name)
  
 diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py
 --- a/python/mozbuild/mozbuild/frontend/emitter.py
 +++ b/python/mozbuild/mozbuild/frontend/emitter.py
-@@ -1327,16 +1327,26 @@ class TreeMetadataEmitter(LoggingMixin):
+@@ -1353,16 +1353,26 @@ class TreeMetadataEmitter(LoggingMixin):
              if not nasm:
                  raise SandboxValidationError('nasm is not available', context)
              passthru.variables['AS'] = nasm

+ 7 - 7
mozilla-release/patches/1541792_PARTIAL-68a1.patch → mozilla-release/patches/1541792-PARTIAL-68a1.patch

@@ -2,7 +2,7 @@
 # User Mike Hommey <mh+mozilla@glandium.org>
 # Date 1554431456 0
 # Node ID 60669a841a87644ba9b2f4d9f17f225e2eca0980
-# Parent  c4bbbe847264a06d65632ec40dca84c9e4bde656
+# Parent  0f0782a8fbfd5c6096731f871a059fea5f1bd9a2
 Bug 1541792 - Replace linker magic with manual component registration. r=froydnj
 
 Before bug 938437, we had a rather large and error-prone
@@ -40,14 +40,14 @@ deleted file mode 100644
 diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
 --- a/toolkit/library/moz.build
 +++ b/toolkit/library/moz.build
-@@ -47,27 +47,16 @@ def Libxul(name, output_category=None):
- 
-     if CONFIG['OS_ARCH'] == 'WINNT' and CONFIG['CC_TYPE'] not in ('clang', 'gcc'):
-         LOCAL_INCLUDES += [
-             '/widget/windows',
+@@ -51,27 +51,16 @@ def Libxul(name, output_category=None):
              '/xpcom/base',
          ]
-         RCINCLUDE = '/toolkit/library/xulrunner.rc'
+         # config/version.mk says $(srcdir)/$(RCINCLUDE), and this needs to
+         # be valid in both toolkit/library and toolkit/library/gtest.
+         # Eventually, the make backend would do its own path canonicalization
+         # and config/version.mk would lift the $(srcdir)
+         RCINCLUDE = '$(DEPTH)/toolkit/library/xulrunner.rc'
  
 -    # BFD ld doesn't create multiple PT_LOADs as usual when an unknown section
 -    # exists. Using an implicit linker script to make it fold that section in

+ 86 - 73
mozilla-release/patches/1542963-2-69a1.patch

@@ -2,7 +2,7 @@
 # User Justin Wood <Callek@gmail.com>
 # Date 1559053320 0
 # Node ID 41e1409393169e979098e02645f3dfe190b19ef2
-# Parent  c863d15a29f92ea376ce8b7026e22fdb63f6c8ba
+# Parent  f1a51a7f4a383fa7fd820273410a3048234164cb
 Bug 1542963 - run './mach lint ... --fix' on mozbuild/mozbuild, undoes some black changes. r=glandium
 
 Lint python/mozbuild/{mozbuild,mozpack}.
@@ -733,17 +733,11 @@ diff --git a/python/mozbuild/mozbuild/action/xpccheck.py b/python/mozbuild/mozbu
 +        name = os.path.basename(f)
 +        if name.endswith('.in'):
 +            name = name[:-3]
-+
-+        if not name.endswith('.js'):
-+            continue
  
 -    if not name.endswith('.js'):
 -      continue
-+        found = False
-+        for test in initests:
-+            if os.path.join(os.path.abspath(directory), name) == test['path']:
-+                found = True
-+                break
++        if not name.endswith('.js'):
++            continue
  
 -    found = False
 -    for test in initests:
@@ -754,6 +748,12 @@ diff --git a/python/mozbuild/mozbuild/action/xpccheck.py b/python/mozbuild/mozbu
 -    if not found:
 -      print >>sys.stderr, "TEST-UNEXPECTED-FAIL | xpccheck | test %s is missing from test manifest %s!" % (name, os.path.join(directory, 'xpcshell.ini'))
 -      sys.exit(1)
++        found = False
++        for test in initests:
++            if os.path.join(os.path.abspath(directory), name) == test['path']:
++                found = True
++                break
++
 +        if not found:
 +            print >>sys.stderr, "TEST-UNEXPECTED-FAIL | xpccheck | test %s is missing from test manifest %s!" % (
 +                name, os.path.join(directory, 'xpcshell.ini'))
@@ -1681,9 +1681,10 @@ diff --git a/python/mozbuild/mozbuild/backend/cpp_eclipse.py b/python/mozbuild/m
 +            workspace_settings_dir, 'org.eclipse.core.resources.prefs')
          with open(core_resources_prefs_path, 'wb') as fh:
 -            fh.write(STATIC_CORE_RESOURCES_PREFS);
-+            fh.write(STATIC_CORE_RESOURCES_PREFS)
- 
+-
 -        core_runtime_prefs_path = os.path.join(workspace_settings_dir, 'org.eclipse.core.runtime.prefs')
++            fh.write(STATIC_CORE_RESOURCES_PREFS)
++
 +        core_runtime_prefs_path = os.path.join(
 +            workspace_settings_dir, 'org.eclipse.core.runtime.prefs')
          with open(core_runtime_prefs_path, 'wb') as fh:
@@ -1721,9 +1722,10 @@ diff --git a/python/mozbuild/mozbuild/backend/cpp_eclipse.py b/python/mozbuild/m
              # so we need add those now:
              cdt_core_prefs += FORMATTER_SETTINGS
 -            fh.write(cdt_core_prefs);
-+            fh.write(cdt_core_prefs)
- 
+-
 -        editor_prefs_path = os.path.join(workspace_settings_dir, "org.eclipse.ui.editors.prefs");
++            fh.write(cdt_core_prefs)
++
 +        editor_prefs_path = os.path.join(workspace_settings_dir, "org.eclipse.ui.editors.prefs")
          with open(editor_prefs_path, 'wb') as fh:
 -            fh.write(EDITOR_SETTINGS);
@@ -5814,7 +5816,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
          files are elsehwere (jar.mn, for instance) and this state of affairs
          is OK.
          """),
-@@ -2021,196 +2033,196 @@ VARIABLES = {
+@@ -2021,204 +2033,204 @@ VARIABLES = {
              - non_unified_sources, a list containing sources files, relative to
                the current moz.build, that should be excluded from source file
                unification.
@@ -6018,6 +6020,15 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
          If yasm is not available on this system, or does not support the
          current target architecture, an error will be raised.
          """),
+ 
+     'USE_INTEGRATED_CLANGCL_AS': (bool, bool,
+-        """Use the integrated clang-cl assembler to assemble assembly files from SOURCES.
++                                  """Use the integrated clang-cl assembler to assemble assembly files from SOURCES.
+ 
+         This allows using clang-cl to assemble assembly files which is useful
+         on platforms like aarch64 where the alternative is to have to run a
+         pre-processor to generate files with suitable syntax.
+         """),
  }
  
  # Sanity check: we don't want any variable above to have a list as storage type.
@@ -6034,7 +6045,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
      'HOST_PROGRAM',
      'HOST_LIBRARY_NAME',
      'HOST_SIMPLE_PROGRAMS',
-@@ -2219,34 +2231,34 @@ TEMPLATE_VARIABLES = {
+@@ -2227,34 +2239,34 @@ TEMPLATE_VARIABLES = {
      'PROGRAM',
      'SIMPLE_PROGRAMS',
  }
@@ -6071,7 +6082,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
          If a relative path is given, it is evaluated as relative to the file
          currently being processed. If there is a chain of multiple include(),
          the relative path computation is from the most recent/active file.
-@@ -2263,17 +2275,17 @@ FUNCTIONS = {
+@@ -2271,17 +2283,17 @@ FUNCTIONS = {
             include('sibling.build')
  
          Include ``foo.build`` from a path within the top source directory::
@@ -6090,7 +6101,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
  
          The value used for the variable is the final value at the end of the
          moz.build file, so it is possible (but not recommended style) to place
-@@ -2290,31 +2302,31 @@ FUNCTIONS = {
+@@ -2298,31 +2310,31 @@ FUNCTIONS = {
  
          To make all children directories install as the given extension::
  
@@ -6125,7 +6136,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
          Contrary to traditional python functions:
             - return values from template functions are ignored,
             - template functions don't have access to the global scope.
-@@ -2363,48 +2375,48 @@ TestDirsPlaceHolder = List()
+@@ -2371,48 +2383,48 @@ TestDirsPlaceHolder = List()
  # Special variables. These complement VARIABLES.
  #
  # Each entry is a tuple of:
@@ -6179,7 +6190,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
              lambda key: context.config.substs_unicode.get(key)), dict,
          """Dictionary containing the current configuration variables.
  
-@@ -2413,92 +2425,92 @@ SPECIAL_VARIABLES = {
+@@ -2421,92 +2433,92 @@ SPECIAL_VARIABLES = {
  
          Values in this container are read-only. Attempts at changing values
          will result in a run-time error.
@@ -7079,7 +7090,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozb
              ('FINAL_TARGET_PP_FILES', FinalTargetPreprocessedFiles),
              ('LOCALIZED_FILES', LocalizedFiles),
              ('LOCALIZED_PP_FILES', LocalizedPreprocessedFiles),
-@@ -1331,17 +1335,16 @@ class TreeMetadataEmitter(LoggingMixin):
+@@ -1341,17 +1345,16 @@ class TreeMetadataEmitter(LoggingMixin):
              yield computed_link_flags
  
          if context.objdir in self._asm_compile_dirs:
@@ -7097,7 +7108,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozb
  
          return sub
  
-@@ -1349,21 +1352,21 @@ class TreeMetadataEmitter(LoggingMixin):
+@@ -1359,21 +1362,21 @@ class TreeMetadataEmitter(LoggingMixin):
          # XPIDL source files get processed and turned into .h and .xpt files.
          # If there are multiple XPIDL files in a directory, they get linked
          # together into a final .xpt, which has the name defined by
@@ -7121,7 +7132,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozb
  
          for idl in context['XPIDL_SOURCES']:
              yield XPIDLFile(context, mozpath.join(context.srcdir, idl),
-@@ -1432,43 +1435,43 @@ class TreeMetadataEmitter(LoggingMixin):
+@@ -1442,43 +1445,43 @@ class TreeMetadataEmitter(LoggingMixin):
                      yield obj
  
      def _process_test_manifest(self, context, info, manifest_path, mpmanifest):
@@ -7173,7 +7184,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozb
                  obj.manifest_obj_relpath = mozpath.join(manifest_reldir,
                                                          defaults['install-to-subdir'],
                                                          mozpath.basename(path))
-@@ -1482,29 +1485,29 @@ class TreeMetadataEmitter(LoggingMixin):
+@@ -1492,29 +1495,29 @@ class TreeMetadataEmitter(LoggingMixin):
                      obj.installs[source] = (dest, False)
                  obj.external_installs |= install_info.external_installs
                  for install_path in install_info.deferred_installs:
@@ -7206,7 +7217,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozb
              for path, m_defaults in mpmanifest.manifest_defaults.items():
                  process_support_files(m_defaults)
  
-@@ -1521,38 +1524,38 @@ class TreeMetadataEmitter(LoggingMixin):
+@@ -1531,38 +1534,38 @@ class TreeMetadataEmitter(LoggingMixin):
              # FUTURE we should be able to detect autogenerated files from
              # other build metadata. Once we do that, we can get rid of this.
              for f in defaults.get('generated-files', '').split():
@@ -7254,7 +7265,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozb
                  'manifest': source_manifest,
                  'name': mozpath.basename(test),
                  'head': '',
-@@ -1561,33 +1564,33 @@ class TreeMetadataEmitter(LoggingMixin):
+@@ -1571,33 +1574,33 @@ class TreeMetadataEmitter(LoggingMixin):
              })
  
          yield obj
@@ -10302,9 +10313,6 @@ diff --git a/python/mozbuild/mozbuild/test/action/test_buildlist.py b/python/moz
 -    rmtree(self.tmpdir)
 +    def setUp(self):
 +        self.tmpdir = mkdtemp()
-+
-+    def tearDown(self):
-+        rmtree(self.tmpdir)
  
 -  # utility methods for tests
 -  def touch(self, file, dir=None):
@@ -10313,13 +10321,8 @@ diff --git a/python/mozbuild/mozbuild/test/action/test_buildlist.py b/python/moz
 -    f = os.path.join(dir, file)
 -    open(f, 'w').close()
 -    return f
-+    # utility methods for tests
-+    def touch(self, file, dir=None):
-+        if dir is None:
-+            dir = self.tmpdir
-+        f = os.path.join(dir, file)
-+        open(f, 'w').close()
-+        return f
++    def tearDown(self):
++        rmtree(self.tmpdir)
  
 -  def assertFileContains(self, filename, l):
 -    """Assert that the lines in the file |filename| are equal
@@ -10336,6 +10339,23 @@ diff --git a/python/mozbuild/mozbuild/test/action/test_buildlist.py b/python/moz
 -    self.assert_(len(l) == 0, 
 -                 "not enough lines in file! (expected '{0}',"
 -                 " got '{1}'".format(l, lines))
++    # utility methods for tests
++    def touch(self, file, dir=None):
++        if dir is None:
++            dir = self.tmpdir
++        f = os.path.join(dir, file)
++        open(f, 'w').close()
++        return f
+ 
+-  def test_basic(self):
+-    "Test that addEntriesToListFile works when file doesn't exist."
+-    testfile = os.path.join(self.tmpdir, "test.list")
+-    l = ["a", "b", "c"]
+-    addEntriesToListFile(testfile, l)
+-    self.assertFileContains(testfile, l)
+-    # ensure that attempting to add the same entries again doesn't change it
+-    addEntriesToListFile(testfile, l)
+-    self.assertFileContains(testfile, l)
 +    def assertFileContains(self, filename, l):
 +        """Assert that the lines in the file |filename| are equal
 +        to the contents of the list |l|, in order."""
@@ -10352,14 +10372,15 @@ diff --git a/python/mozbuild/mozbuild/test/action/test_buildlist.py b/python/moz
 +                     "not enough lines in file! (expected '{0}',"
 +                     " got '{1}'".format(l, lines))
  
--  def test_basic(self):
--    "Test that addEntriesToListFile works when file doesn't exist."
+-  def test_append(self):
+-    "Test adding new entries."
 -    testfile = os.path.join(self.tmpdir, "test.list")
 -    l = ["a", "b", "c"]
 -    addEntriesToListFile(testfile, l)
 -    self.assertFileContains(testfile, l)
--    # ensure that attempting to add the same entries again doesn't change it
--    addEntriesToListFile(testfile, l)
+-    l2 = ["x","y","z"]
+-    addEntriesToListFile(testfile, l2)
+-    l.extend(l2)
 -    self.assertFileContains(testfile, l)
 +    def test_basic(self):
 +        "Test that addEntriesToListFile works when file doesn't exist."
@@ -10371,16 +10392,14 @@ diff --git a/python/mozbuild/mozbuild/test/action/test_buildlist.py b/python/moz
 +        addEntriesToListFile(testfile, l)
 +        self.assertFileContains(testfile, l)
  
--  def test_append(self):
--    "Test adding new entries."
+-  def test_append_some(self):
+-    "Test adding new entries mixed with existing entries."
 -    testfile = os.path.join(self.tmpdir, "test.list")
 -    l = ["a", "b", "c"]
 -    addEntriesToListFile(testfile, l)
 -    self.assertFileContains(testfile, l)
--    l2 = ["x","y","z"]
--    addEntriesToListFile(testfile, l2)
--    l.extend(l2)
--    self.assertFileContains(testfile, l)
+-    addEntriesToListFile(testfile, ["a", "x", "c", "z"])
+-    self.assertFileContains(testfile, ["a", "b", "c", "x", "z"])
 +    def test_append(self):
 +        "Test adding new entries."
 +        testfile = os.path.join(self.tmpdir, "test.list")
@@ -10392,14 +10411,14 @@ diff --git a/python/mozbuild/mozbuild/test/action/test_buildlist.py b/python/moz
 +        l.extend(l2)
 +        self.assertFileContains(testfile, l)
  
--  def test_append_some(self):
--    "Test adding new entries mixed with existing entries."
+-  def test_add_multiple(self):
+-    """Test that attempting to add the same entry multiple times results in
+-    only one entry being added."""
 -    testfile = os.path.join(self.tmpdir, "test.list")
--    l = ["a", "b", "c"]
--    addEntriesToListFile(testfile, l)
--    self.assertFileContains(testfile, l)
--    addEntriesToListFile(testfile, ["a", "x", "c", "z"])
--    self.assertFileContains(testfile, ["a", "b", "c", "x", "z"])
+-    addEntriesToListFile(testfile, ["a","b","a","a","b"])
+-    self.assertFileContains(testfile, ["a","b"])
+-    addEntriesToListFile(testfile, ["c","a","c","b","c"])
+-    self.assertFileContains(testfile, ["a","b","c"])
 +    def test_append_some(self):
 +        "Test adding new entries mixed with existing entries."
 +        testfile = os.path.join(self.tmpdir, "test.list")
@@ -10408,15 +10427,7 @@ diff --git a/python/mozbuild/mozbuild/test/action/test_buildlist.py b/python/moz
 +        self.assertFileContains(testfile, l)
 +        addEntriesToListFile(testfile, ["a", "x", "c", "z"])
 +        self.assertFileContains(testfile, ["a", "b", "c", "x", "z"])
- 
--  def test_add_multiple(self):
--    """Test that attempting to add the same entry multiple times results in
--    only one entry being added."""
--    testfile = os.path.join(self.tmpdir, "test.list")
--    addEntriesToListFile(testfile, ["a","b","a","a","b"])
--    self.assertFileContains(testfile, ["a","b"])
--    addEntriesToListFile(testfile, ["c","a","c","b","c"])
--    self.assertFileContains(testfile, ["a","b","c"])
++
 +    def test_add_multiple(self):
 +        """Test that attempting to add the same entry multiple times results in
 +        only one entry being added."""
@@ -13215,10 +13226,12 @@ diff --git a/python/mozbuild/mozbuild/test/test_containers.py b/python/mozbuild/
          self.assertEqual(test['foo'], 1)
  
 -        self.assertEqual(test.keys(), ['foo', 'bar' ])
-+        self.assertEqual(test.keys(), ['foo', 'bar'])
- 
-     def test_defaults(self):
+-
+-    def test_defaults(self):
 -        test = OrderedDefaultDict(bool, {'foo': 1 })
++        self.assertEqual(test.keys(), ['foo', 'bar'])
++
++    def test_defaults(self):
 +        test = OrderedDefaultDict(bool, {'foo': 1})
  
          self.assertEqual(test['foo'], 1)
@@ -13938,18 +13951,13 @@ diff --git a/python/mozbuild/mozbuild/test/test_line_endings.py b/python/mozbuil
 +        for line, ending in zip(['a', '#literal b', 'c'], lineendings):
 +            f.write(line+ending)
 +        f.close()
-+
-+    def testMac(self):
-+        self.createFile(['\x0D']*3)
-+        self.pp.do_include(self.tempnam)
-+        self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
  
 -  def testMac(self):
 -    self.createFile(['\x0D']*3)
 -    self.pp.do_include(self.tempnam)
 -    self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
-+    def testUnix(self):
-+        self.createFile(['\x0A']*3)
++    def testMac(self):
++        self.createFile(['\x0D']*3)
 +        self.pp.do_include(self.tempnam)
 +        self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
  
@@ -13957,8 +13965,8 @@ diff --git a/python/mozbuild/mozbuild/test/test_line_endings.py b/python/mozbuil
 -    self.createFile(['\x0A']*3)
 -    self.pp.do_include(self.tempnam)
 -    self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
-+    def testWindows(self):
-+        self.createFile(['\x0D\x0A']*3)
++    def testUnix(self):
++        self.createFile(['\x0A']*3)
 +        self.pp.do_include(self.tempnam)
 +        self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
  
@@ -13966,6 +13974,11 @@ diff --git a/python/mozbuild/mozbuild/test/test_line_endings.py b/python/mozbuil
 -    self.createFile(['\x0D\x0A']*3)
 -    self.pp.do_include(self.tempnam)
 -    self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
++    def testWindows(self):
++        self.createFile(['\x0D\x0A']*3)
++        self.pp.do_include(self.tempnam)
++        self.assertEquals(self.pp.out.getvalue(), 'a\nb\nc\n')
++
  
  if __name__ == '__main__':
 -  mozunit.main()

+ 2 - 2
mozilla-release/patches/1577726-6-71a1.patch

@@ -2,7 +2,7 @@
 # User Sylvestre Ledru <sledru@mozilla.com>
 # Date 1568018023 0
 # Node ID 29a4f1f27dde683b3e149ef98b6317e600c694f7
-# Parent  8c7db053e78bfeae5981373b99b101a0b82ffa23
+# Parent  b5cd77d6440fc9bfd89528fc7d450d7457de6dda
 Bug 1577726 - Reorder tools/rewriting/ThirdPartyPaths.txt r=andi
 
 Depends on D45158
@@ -62,6 +62,6 @@ diff --git a/tools/rewriting/ThirdPartyPaths.txt b/tools/rewriting/ThirdPartyPat
  media/kiss_fft/
  media/libav/
  media/libcubeb/
+ media/libdav1d/
  media/libjpeg/
  media/libmkv/
- media/libnestegg/

+ 2 - 2
mozilla-release/patches/1585359-71a1.patch

@@ -2,7 +2,7 @@
 # User Tom Ritter <tom@mozilla.com>
 # Date 1570732256 0
 # Node ID b86bb62c23b1495ebfe4a2a78508408bfd1b722e
-# Parent  de69b48bbeb0bc9623fb257c45b663fc67c405a3
+# Parent  088767bea734f07ba73d8978b9f54b48b5a384f0
 Bug 1585359 - Remove mingw-gcc configuration stuff from libaom r=jya
 
 mingw-gcc is no longer supported.
@@ -6134,7 +6134,7 @@ diff --git a/media/libaom/generate_sources_mozbuild.py b/media/libaom/generate_s
 --- a/media/libaom/generate_sources_mozbuild.py
 +++ b/media/libaom/generate_sources_mozbuild.py
 @@ -84,36 +84,34 @@ if __name__ == '__main__':
-     f = open('sources.mozbuild', 'w')
+     f = open('sources.mozbuild', 'wb')
      f.write('# This file is generated. Do not edit.\n\n')
      f.write('files = {\n')
  

+ 3 - 3
mozilla-release/patches/1592855-2-72a1.patch

@@ -2,7 +2,7 @@
 # User Edwin Takahashi <egao@mozilla.com>
 # Date 1572899503 0
 # Node ID 4257591c09c6586fc06f3837e66ed5be81bcee96
-# Parent  1d78d1c49fe18ddf15ed614c21b67412902f6004
+# Parent  8bbe4908598afad341f747097799a624834be3f9
 Bug 1592855 - run mach vendor aom with python3 r=dminor
 
 Changes:
@@ -79,8 +79,8 @@ diff --git a/media/libaom/generate_sources_mozbuild.py b/media/libaom/generate_s
          ('armv7', 'linux', 'arm', True),
          ('generic', '', 'generic', True),
          ('x86', 'linux', 'ia32', True),
-         ('x86', 'win', 'mingw32', False),
-@@ -126,25 +126,27 @@ if __name__ == '__main__':
+         ('x86', 'win', 'ia32', False),
+@@ -124,25 +124,27 @@ if __name__ == '__main__':
              sources = filter(lambda x: x.startswith(AOM_DIR), sources)
              sources = filter(lambda x: not x.endswith('.pl'), sources)
  

+ 26 - 18
mozilla-release/patches/1630317-77a1.patch

@@ -2,7 +2,7 @@
 # User Ricky Stewart <rstewart@mozilla.com>
 # Date 1586984338 0
 # Node ID 32a048d1d8035a8801431614e2781af98aa9c6a9
-# Parent  d5b5e31f48ab78158f921e594cfde70776a248ae
+# Parent  d03cb9556fed8a98ca8705edf95b585a694191df
 Bug 1630317 - Add a warning if there is an attempt to mach bootstrap from an "old commit" r=nalexander
 
 Differential Revision: https://phabricator.services.mozilla.com/D71076
@@ -33,7 +33,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
      from ConfigParser import (
          Error as ConfigParserError,
          RawConfigParser,
-@@ -125,16 +126,25 @@ may be called ~/.bashrc or ~/.bash_profi
+@@ -180,16 +181,25 @@ may be called ~/.bashrc or ~/.bash_profi
  lines:
  
      export PATH="{}:$PATH"
@@ -54,19 +54,19 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
  class Bootstrapper(object):
      """Main class that performs system bootstrap."""
  
-     def __init__(self, choice=None, no_interactive=False, hg_configure=False,
-                  no_system_changes=False, mach_context=None):
+     def __init__(self, finished=FINISHED, choice=None, no_interactive=False,
+                  hg_configure=False, no_system_changes=False, mach_context=None,
+                  vcs=None):
          self.instance = None
-         self.choice = choice
-         self.hg_configure = hg_configure
-@@ -417,28 +427,30 @@ def current_firefox_checkout(env, hg=Non
-         git_dir = os.path.join(path, '.git')
+         self.finished = finished
+@@ -600,28 +610,30 @@ def current_firefox_checkout(check_outpu
          if hg and os.path.exists(hg_dir):
              # Verify the hg repo is a Firefox repo by looking at rev 0.
              try:
-                 node = subprocess.check_output(
-                     [hg, 'log', '-r', '0', '--template', '{node}'],
-                     cwd=path, env=env, universal_newlines=True)
+                 node = check_output([hg, 'log', '-r', '0', '--template', '{node}'],
+                                     cwd=path,
+                                     env=env,
+                                     universal_newlines=True)
                  if node in HG_ROOT_REVISIONS:
 +                    _warn_if_risky_revision(path)
                      return ('hg', path)
@@ -88,19 +88,17 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
          if child == '':
              break
  
-     raise UserError('Could not identify the root directory of your checkout! '
-                     'Are you running `mach bootstrap` in an hg or git clone?')
-@@ -486,8 +498,20 @@ def update_git_repo(git, url, dest):
-         print('=' * 80)
+     return (None, None)
  
+@@ -683,16 +695,28 @@ def update_git_repo(git, url, dest):
  
  def configure_git(git, root_state_dir, top_src_dir):
      """Run the Git configuration steps."""
      cinnabar_dir = update_git_tools(git, root_state_dir, top_src_dir)
  
      print(ADD_GIT_TOOLS_PATH.format(cinnabar_dir))
-+
-+
+ 
+ 
 +def _warn_if_risky_revision(path):
 +    # Warn the user if they're trying to bootstrap from an obviously old
 +    # version of tree as reported by the version control system (a month in
@@ -111,6 +109,16 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
 +    repo = get_repository_object(path)
 +    if (time.time() - repo.get_commit_time()) >= NUM_SECONDS_IN_MONTH:
 +        print(OLD_REVISION_WARNING)
++
++
+ def git_clone_firefox(git, dest, watchman=None):
+     """Clone the Firefox repository to a specified destination."""
+     print('Cloning Firefox repository to %s' % dest)
+ 
+     try:
+         # Configure git per the git-cinnabar requirements.
+         subprocess.check_call([git, 'clone', '-b', 'bookmarks/central',
+                                'hg::https://hg.mozilla.org/mozilla-unified', dest])
 diff --git a/python/mozversioncontrol/mozversioncontrol/__init__.py b/python/mozversioncontrol/mozversioncontrol/__init__.py
 --- a/python/mozversioncontrol/mozversioncontrol/__init__.py
 +++ b/python/mozversioncontrol/mozversioncontrol/__init__.py
@@ -157,7 +165,7 @@ diff --git a/python/mozversioncontrol/mozversioncontrol/__init__.py b/python/moz
          # to verify it.
          sparse = os.path.join(self.path, '.hg', 'sparse')
  
-@@ -428,16 +437,19 @@ class GitRepository(Repository):
+@@ -424,16 +433,19 @@ class GitRepository(Repository):
      @property
      def has_git_cinnabar(self):
          try:

+ 7 - 7
mozilla-release/patches/1645196-80a1.patch

@@ -2,7 +2,7 @@
 # User Mitchell Hentges <mhentges@mozilla.com>
 # Date 1594385664 0
 # Node ID 422c5c783008f10b0ca3f2379a8ab5df69353eba
-# Parent  814e2d41a648868812d02c575f46df69719d0ccc
+# Parent  a6bbac40a3ca213dd1e63b4b9466f673ef7273ad
 Bug 1645196: Tune git settings to improve performance r=rstewart
 
 Also adds a warning if a user's git version is older than 2.24
@@ -51,7 +51,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
  Note on Artifact Mode:
  
  Artifact builds download prebuilt C++ components rather than building
-@@ -135,16 +134,25 @@ OLD_REVISION_WARNING = '''
+@@ -202,16 +201,25 @@ OLD_REVISION_WARNING = '''
  WARNING! You appear to be running `mach bootstrap` from an old revision.
  bootstrap is meant primarily for getting developer environments up-to-date to
  build the latest version of tree. Running bootstrap on old revisions may fail
@@ -72,12 +72,12 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
  class Bootstrapper(object):
      """Main class that performs system bootstrap."""
  
-     def __init__(self, choice=None, no_interactive=False, hg_configure=False,
-                  no_system_changes=False, mach_context=None):
+     def __init__(self, finished=FINISHED, choice=None, no_interactive=False,
+                  hg_configure=False, no_system_changes=False, mach_context=None,
+                  vcs=None):
          self.instance = None
-         self.choice = choice
-         self.hg_configure = hg_configure
-@@ -495,16 +503,30 @@ def update_git_repo(git, url, dest):
+         self.finished = finished
+@@ -711,16 +719,30 @@ def update_git_repo(git, url, dest):
          subprocess.check_call(pull_args, cwd=cwd)
          subprocess.check_call(update_args, cwd=dest)
      finally:

+ 131 - 112
mozilla-release/patches/1647792-82a1.patch

@@ -2,7 +2,7 @@
 # User Ricky Stewart <rstewart@mozilla.com>
 # Date 1598985756 0
 # Node ID 8134800276e920f0ae7f83438d13fcea80d63776
-# Parent  cceb47737e06b4b54b79128c61bfc250dcbb7221
+# Parent  4394c38dd7c1dcd27d699b49556e8eac8a96da3f
 Bug 1647792 - Standalone `bootstrap.py` script clones before running `mach bootstrap` r=mhentges,froydnj,mhoye
 
 Note that when I refer to "standalone `bootstrap.py`" here, I'm referring to the file `python/mozboot/bin/bootstrap.py` and no other similarly-named file in-tree.
@@ -78,11 +78,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
  
 -from io import BytesIO
  from optparse import OptionParser
-+from urllib.request import urlopen
-+
-+CLONE_MERCURIAL_PULL_FAIL = '''
-+Failed to pull from hg.mozilla.org.
- 
+-
 -# NOTE: This script is intended to be run with a vanilla Python install.  We
 -# have to rely on the standard library instead of Python 2+3 helpers like
 -# the six module.
@@ -90,6 +86,63 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 -    from urllib2 import urlopen
 -except ImportError:
 -    from urllib.request import urlopen
+-
+-
+-# The next two variables define where in the repository the Python files
+-# reside. This is used to remotely download file content when it isn't
+-# available locally.
+-REPOSITORY_PATH_PREFIX = 'python/mozboot/'
+-
+-TEMPDIR = None
+-
+-
+-def setup_proxy():
+-    # Some Linux environments define ALL_PROXY, which is a SOCKS proxy
+-    # intended for all protocols. Python doesn't currently automatically
+-    # detect this like it does for http_proxy and https_proxy.
+-    if 'ALL_PROXY' in os.environ and 'https_proxy' not in os.environ:
+-        os.environ['https_proxy'] = os.environ['ALL_PROXY']
+-    if 'ALL_PROXY' in os.environ and 'http_proxy' not in os.environ:
+-        os.environ['http_proxy'] = os.environ['ALL_PROXY']
+-
+-
+-def fetch_files(repo_url, repo_rev, repo_type):
+-    setup_proxy()
+-    repo_url = repo_url.rstrip('/')
+-
+-    files = {}
+-
+-    if repo_type == 'hgweb':
+-        url = repo_url + '/archive/%s.zip/python/mozboot' % repo_rev
+-        req = urlopen(url=url, timeout=30)
+-        data = BytesIO(req.read())
+-        data.seek(0)
+-        zip = zipfile.ZipFile(data, 'r')
+-        for f in zip.infolist():
+-            # The paths are prefixed with the repo and revision name before the
+-            # directory name.
+-            offset = f.filename.find(REPOSITORY_PATH_PREFIX) + len(REPOSITORY_PATH_PREFIX)
+-            name = f.filename[offset:]
+-
+-            # We only care about the Python modules.
+-            if not name.startswith('mozboot/'):
+-                continue
+-
+-            files[name] = zip.read(f)
+-
+-        # Retrieve distro script
+-        url = repo_url + '/archive/%s.zip/third_party/python/distro/distro.py' % repo_rev
+-        req = urlopen(url=url, timeout=30)
+-        data = BytesIO(req.read())
+-        data.seek(0)
+-        zip = zipfile.ZipFile(data, 'r')
+-        files["distro.py"] = zip.read(zip.infolist()[0])
+-
++from urllib.request import urlopen
++
++CLONE_MERCURIAL_PULL_FAIL = '''
++Failed to pull from hg.mozilla.org.
++
 +This is most likely because of unstable network connection.
 +Try running `cd %s && hg pull https://hg.mozilla.org/mozilla-unified` manually,
 +or download a mercurial bundle and use it:
@@ -100,16 +153,11 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +    'hg': 'Mercurial',
 +    'git': 'Git',
 +}
- 
- 
--# The next two variables define where in the repository the Python files
--# reside. This is used to remotely download file content when it isn't
--# available locally.
--REPOSITORY_PATH_PREFIX = 'python/mozboot/'
++
++
 +def which(name):
 +    """Python implementation of which.
- 
--TEMPDIR = None
++
 +    It returns the path of an executable or None if it couldn't be found.
 +    """
 +    # git-cinnabar.exe doesn't exist, but .exe versions of the other executables
@@ -124,16 +172,8 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +            return test
 +
 +    return None
- 
- 
--def setup_proxy():
--    # Some Linux environments define ALL_PROXY, which is a SOCKS proxy
--    # intended for all protocols. Python doesn't currently automatically
--    # detect this like it does for http_proxy and https_proxy.
--    if 'ALL_PROXY' in os.environ and 'https_proxy' not in os.environ:
--        os.environ['https_proxy'] = os.environ['ALL_PROXY']
--    if 'ALL_PROXY' in os.environ and 'http_proxy' not in os.environ:
--        os.environ['http_proxy'] = os.environ['ALL_PROXY']
++
++
 +def validate_clone_dest(dest):
 +    dest = os.path.abspath(dest)
 +
@@ -146,7 +186,15 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +
 +    if not os.listdir(dest):
 +        return dest
-+    else:
+     else:
+-        raise NotImplementedError('Not sure how to handle repo type.', repo_type)
+-
+-    return files
+-
+-
+-def ensure_environment(repo_url=None, repo_rev=None, repo_type=None):
+-    """Ensure we can load the Python modules necessary to perform bootstrap."""
+-
 +        print('ERROR! Destination directory %s exists but is nonempty.' %
 +              dest)
 +        return None
@@ -167,25 +215,8 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +            return dest
 +        if no_interactive:
 +            return None
- 
- 
--def fetch_files(repo_url, repo_rev, repo_type):
--    setup_proxy()
--    repo_url = repo_url.rstrip('/')
--
--    files = {}
--
--    if repo_type == 'hgweb':
--        url = repo_url + '/archive/%s.zip/python/mozboot' % repo_rev
--        req = urlopen(url=url, timeout=30)
--        data = BytesIO(req.read())
--        data.seek(0)
--        zip = zipfile.ZipFile(data, 'r')
--        for f in zip.infolist():
--            # The paths are prefixed with the repo and revision name before the
--            # directory name.
--            offset = f.filename.find(REPOSITORY_PATH_PREFIX) + len(REPOSITORY_PATH_PREFIX)
--            name = f.filename[offset:]
++
++
 +def hg_clone_firefox(hg, dest):
 +    # We create an empty repo then modify the config before adding data.
 +    # This is necessary to ensure storage settings are optimally
@@ -202,12 +233,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +    if res:
 +        print('unable to create destination repo; please try cloning manually')
 +        return None
- 
--            # We only care about the Python modules.
--            if not name.startswith('mozboot/'):
--                continue
--
--            files[name] = zip.read(f)
++
 +    # Strictly speaking, this could overwrite a config based on a template
 +    # the user has installed. Let's pretend this problem doesn't exist
 +    # unless someone complains about it.
@@ -215,14 +241,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +        fh.write('[paths]\n')
 +        fh.write('default = https://hg.mozilla.org/mozilla-unified\n')
 +        fh.write('\n')
- 
--        # Retrieve distro script
--        url = repo_url + '/archive/%s.zip/third_party/python/distro/distro.py' % repo_rev
--        req = urlopen(url=url, timeout=30)
--        data = BytesIO(req.read())
--        data.seek(0)
--        zip = zipfile.ZipFile(data, 'r')
--        files["distro.py"] = zip.read(zip.infolist()[0])
++
 +        # The server uses aggressivemergedeltas which can blow up delta chain
 +        # length. This can cause performance to tank due to delta chains being
 +        # too long. Limit the delta chain length to something reasonable
@@ -230,28 +249,22 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +        fh.write('[format]\n')
 +        fh.write('# This is necessary to keep performance in check\n')
 +        fh.write('maxchainlen = 10000\n')
- 
--    else:
--        raise NotImplementedError('Not sure how to handle repo type.', repo_type)
++
 +    res = subprocess.call(
 +        [hg, 'pull', 'https://hg.mozilla.org/mozilla-unified'], cwd=dest)
 +    print('')
 +    if res:
 +        print(CLONE_MERCURIAL_PULL_FAIL % dest)
 +        return None
- 
--    return files
++
 +    print('updating to "central" - the development head of Gecko and Firefox')
 +    res = subprocess.call([hg, 'update', '-r', 'central'], cwd=dest)
 +    if res:
 +        print('error updating; you will need to `cd %s && hg update -r central` '
 +              'manually' % dest)
 +    return dest
- 
- 
--def ensure_environment(repo_url=None, repo_rev=None, repo_type=None):
--    """Ensure we can load the Python modules necessary to perform bootstrap."""
--
++
++
 +def git_clone_firefox(git, dest, watchman):
 +    tempdir = None
 +    cinnabar = None
@@ -264,6 +277,37 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 -        # and have the files in a sibling directory.
 -        pardir = os.path.join(os.path.dirname(__file__), os.path.pardir)
 -        include = os.path.normpath(pardir)
+-
+-        sys.path.append(include)
+-        try:
+-            from mozboot.bootstrap import Bootstrapper
+-            return Bootstrapper
+-        except ImportError:
+-            sys.path.pop()
+-
+-            # The next fallback is to download the files from the source
+-            # repository.
+-            files = fetch_files(repo_url, repo_rev, repo_type)
+-
+-            # Install them into a temporary location. They will be deleted
+-            # after this script has finished executing.
+-            global TEMPDIR
+-            TEMPDIR = tempfile.mkdtemp()
+-
+-            for relpath in files.keys():
+-                destpath = os.path.join(TEMPDIR, relpath)
+-                destdir = os.path.dirname(destpath)
+-
+-                if not os.path.exists(destdir):
+-                    os.makedirs(destdir)
+-
+-                with open(destpath, 'wb') as fh:
+-                    fh.write(files[relpath])
+-
+-            # This should always work.
+-            sys.path.append(TEMPDIR)
+-            from mozboot.bootstrap import Bootstrapper
+-            return Bootstrapper
 +        cinnabar = which('git-cinnabar')
 +        if not cinnabar:
 +            cinnabar_url = ('https://github.com/glandium/git-cinnabar/archive/'
@@ -296,13 +340,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +                  'will ask if you would like to configure git; answer yes, '
 +                  'and be sure to add git-cinnabar to your PATH according to '
 +                  'the bootstrapper output.')
- 
--        sys.path.append(include)
--        try:
--            from mozboot.bootstrap import Bootstrapper
--            return Bootstrapper
--        except ImportError:
--            sys.path.pop()
++
 +        # We're guaranteed to have `git-cinnabar` installed now.
 +        # Configure git per the git-cinnabar requirements.
 +        subprocess.check_call(
@@ -312,10 +350,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +                              env=env)
 +        subprocess.check_call([git, 'config', 'pull.ff', 'only'], cwd=dest,
 +                              env=env)
- 
--            # The next fallback is to download the files from the source
--            # repository.
--            files = fetch_files(repo_url, repo_rev, repo_type)
++
 +        watchman_sample = os.path.join(
 +            dest, '.git/hooks/fsmonitor-watchman.sample')
 +        # Older versions of git didn't include fsmonitor-watchman.sample.
@@ -327,11 +362,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +                copy_args = ['cp', '.git/hooks/fsmonitor-watchman.sample',
 +                             '.git/hooks/query-watchman']
 +                subprocess.check_call(copy_args, cwd=dest)
- 
--            # Install them into a temporary location. They will be deleted
--            # after this script has finished executing.
--            global TEMPDIR
--            TEMPDIR = tempfile.mkdtemp()
++
 +            config_args = [git, 'config', 'core.fsmonitor',
 +                           '.git/hooks/query-watchman']
 +            subprocess.check_call(config_args, cwd=dest, env=env)
@@ -344,13 +375,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +        if tempdir:
 +            shutil.rmtree(tempdir)
 +
- 
--            for relpath in files.keys():
--                destpath = os.path.join(TEMPDIR, relpath)
--                destdir = os.path.dirname(destpath)
--
--                if not os.path.exists(destdir):
--                    os.makedirs(destdir)
++
 +def clone(vcs, no_interactive):
 +    hg = which('hg')
 +    if not hg:
@@ -367,9 +392,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +            print('Git is not installed.')
 +            print('Try installing git using your system package manager.')
 +            return None
- 
--                with open(destpath, 'wb') as fh:
--                    fh.write(files[relpath])
++
 +    dest = input_clone_dest(vcs, no_interactive)
 +    if not dest:
 +        return None
@@ -381,11 +404,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 +    else:
 +        watchman = which('watchman')
 +        return git_clone_firefox(binary, dest, watchman)
- 
--            # This should always work.
--            sys.path.append(TEMPDIR)
--            from mozboot.bootstrap import Bootstrapper
--            return Bootstrapper
++
 +
 +def bootstrap(srcdir, application_choice, no_interactive, no_system_changes):
 +    args = [sys.executable, os.path.join(srcdir, 'mach'), 'bootstrap']
@@ -471,7 +490,7 @@ diff --git a/python/mozboot/bin/bootstrap.py b/python/mozboot/bin/bootstrap.py
 diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootstrap.py
 --- a/python/mozboot/mozboot/bootstrap.py
 +++ b/python/mozboot/mozboot/bootstrap.py
-@@ -140,49 +140,16 @@ optimally configured?'''
+@@ -141,49 +141,16 @@ optimally configured?'''
  
  CONFIGURE_GIT = '''
  Mozilla recommends using git-cinnabar to work with mozilla-central (or
@@ -521,7 +540,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
      'neon',
  )
  
-@@ -266,53 +233,16 @@ class Bootstrapper(object):
+@@ -285,53 +252,16 @@ class Bootstrapper(object):
                  cls = WindowsBootstrapper
  
          if cls is None:
@@ -575,7 +594,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
      def try_to_create_state_dir(self):
          state_dir = get_state_dir()
  
-@@ -441,37 +371,16 @@ class Bootstrapper(object):
+@@ -460,37 +390,16 @@ class Bootstrapper(object):
              else:
                  # Assuming default configuration setting applies to all VCS.
                  should_configure_git = self.hg_configure
@@ -613,7 +632,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
  
          print(self.finished % name)
          if not (self.instance.which('rustc') and self.instance._parse_version('rustc')
-@@ -561,67 +470,16 @@ def update_mercurial_repo(hg, url, dest,
+@@ -580,67 +489,16 @@ def update_mercurial_repo(hg, url, dest,
  
      try:
          subprocess.check_call(pull_args, cwd=cwd)
@@ -681,15 +700,15 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
      HG_ROOT_REVISIONS = set([
          # From mozilla-unified.
          '8ba995b74e18334ab3707f27e9eb8f4e37ba3d29',
-@@ -701,47 +559,8 @@ def update_git_repo(git, url, dest):
-         print('=' * 80)
- 
- 
- def configure_git(git, root_state_dir, top_src_dir):
-     """Run the Git configuration steps."""
-     cinnabar_dir = update_git_tools(git, root_state_dir, top_src_dir)
- 
-     print(ADD_GIT_TOOLS_PATH.format(cinnabar_dir))
+@@ -752,47 +610,8 @@ def _warn_if_risky_revision(path):
+     # version of tree as reported by the version control system (a month in
+     # this case). This is an approximate calculation but is probably good
+     # enough for our purposes.
+     NUM_SECONDS_IN_MONTH = 60 * 60 * 24 * 30
+     from mozversioncontrol import get_repository_object
+     repo = get_repository_object(path)
+     if (time.time() - repo.get_commit_time()) >= NUM_SECONDS_IN_MONTH:
+         print(OLD_REVISION_WARNING)
 -
 -
 -def git_clone_firefox(git, dest, watchman=None):

+ 5 - 5
mozilla-release/patches/1651403-80a1.patch

@@ -2,7 +2,7 @@
 # User Ricky Stewart <rstewart@mozilla.com>
 # Date 1594309727 0
 # Node ID 7a29f8f30a7badfbb110952bb195c12f11fb0494
-# Parent  c37c9629565cd065074c33ed110cf18702037853
+# Parent  1e475e5ea7f53d3dc99723dacb59b1fd296d6826
 Bug 1651403 - Clean up `bootstrap` code post-Python 3 migration r=nalexander
 
 Since bug 1647865, we're no longer allowing `bootstrap` to be run with Python 2. Therefore we have leeway to make a bunch of simplifications.
@@ -66,7 +66,7 @@ diff --git a/python/mozboot/mozboot/base.py b/python/mozboot/mozboot/base.py
 diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootstrap.py
 --- a/python/mozboot/mozboot/bootstrap.py
 +++ b/python/mozboot/mozboot/bootstrap.py
-@@ -373,17 +373,16 @@ class Bootstrapper(object):
+@@ -391,17 +391,16 @@ class Bootstrapper(object):
              raise Exception('Please pick a valid application choice: (%s)' %
                              '/'.join(APPLICATIONS.keys()))
  
@@ -84,7 +84,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
              self.maybe_install_private_packages_or_exit(state_dir,
                                                          state_dir_available,
                                                          have_clone,
-@@ -399,18 +398,17 @@ class Bootstrapper(object):
+@@ -417,18 +416,17 @@ class Bootstrapper(object):
          hg_installed, hg_modern = self.instance.ensure_mercurial_modern()
          self.instance.ensure_python_modern()
          self.instance.ensure_rust_modern()
@@ -104,7 +104,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
          if not self.vcs:
              if checkout_type and False:
                  vcs = checkout_type
-@@ -612,37 +610,36 @@ def hg_clone_firefox(hg, dest):
+@@ -630,37 +628,36 @@ def hg_clone_firefox(hg, dest):
      res = subprocess.call([hg, 'update', '-r', 'central'], cwd=dest)
      if res:
          print('error updating; you will need to `hg update` manually')
@@ -139,13 +139,13 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
 +                    [hg, 'log', '-r', '0', '--template', '{node}'],
 +                    cwd=path, env=env, universal_newlines=True)
                  if node in HG_ROOT_REVISIONS:
+                     _warn_if_risky_revision(path)
                      return ('hg', path)
                  # Else the root revision is different. There could be nested
                  # repos. So keep traversing the parents.
              except subprocess.CalledProcessError:
                  pass
  
-         # Just check for known-good files in the checkout, to prevent attempted
 diff --git a/python/mozboot/mozboot/debian.py b/python/mozboot/mozboot/debian.py
 --- a/python/mozboot/mozboot/debian.py
 +++ b/python/mozboot/mozboot/debian.py

+ 37 - 44
mozilla-release/patches/1662893-82a1.patch

@@ -2,7 +2,7 @@
 # User Ricky Stewart <rstewart@mozilla.com>
 # Date 1599582786 0
 # Node ID a4f631604a0cc37c67b2d694fb913a0226505088
-# Parent  e87f3b15df0880c568ae60e60f858999fce1fdca
+# Parent  3eafa14b16a26636a26ebd82f843fa81b14b39f1
 Bug 1662893 - Refactor `bootstrap` to reflect that the `~/.mozbuild` state directory and a local checkout are both mandatory r=glandium
 
 `bootstrap` is written in such a way that we don't necessarily assume the existence of either the global state directory (`~/.mozbuild`) or a local checkout of `mozilla-central`. The independence from `~/.mozbuild` is a design decision that may have been appropriate at some point, but today it's arguably useless to continue executing `bootstrap` without a global state directory (we install a bunch of build dependencies there, as well as the `mach` `virtualenv`s that are needed for running non-`bootstrap` `mach` commands after bug 1656993). The independence from a local checkout is an artifact of the old design of `python/mozboot/bin/bootstrap.py`, which is no longer necessary as of bug 1647792.
@@ -45,7 +45,7 @@ diff --git a/python/mozboot/mozboot/base.py b/python/mozboot/mozboot/base.py
 diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootstrap.py
 --- a/python/mozboot/mozboot/bootstrap.py
 +++ b/python/mozboot/mozboot/bootstrap.py
-@@ -21,18 +21,18 @@ if sys.version_info < (3,):
+@@ -24,18 +24,18 @@ if sys.version_info < (3,):
      )
      input = raw_input  # noqa
  else:
@@ -66,7 +66,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
  from mozboot.gentoo import GentooBootstrapper
  from mozboot.osx import OSXBootstrapper
  from mozboot.openbsd import OpenBSDBootstrapper
-@@ -66,76 +66,42 @@ Your choice: '''
+@@ -67,76 +67,42 @@ Your choice: '''
  
  APPLICATIONS = OrderedDict([
      ('Firefox for Desktop Artifact Mode', 'browser_artifact_mode'),
@@ -143,10 +143,10 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
  optimally configured?'''
  
  CONFIGURE_GIT = '''
-@@ -162,26 +128,23 @@ lines:
- 
- Then restart your shell.
- '''
+@@ -181,26 +147,23 @@ You are running an older version of git 
+ We recommend upgrading to at least version "{minimum_recommended_version}" to improve
+ performance.
+ '''.strip()
  
  
  class Bootstrapper(object):
@@ -172,7 +172,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
              # distro package provides reliable ids for popular distributions so
              # we use those instead of the full distribution name
              dist_id, version, codename = distro.linux_distribution(full_distribution_name=False)
-@@ -233,57 +196,43 @@ class Bootstrapper(object):
+@@ -252,57 +215,43 @@ class Bootstrapper(object):
                  cls = WindowsBootstrapper
  
          if cls is None:
@@ -236,7 +236,7 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
          self.instance.ensure_sccache_packages(state_dir, checkout_root)
          self.instance.ensure_lucetc_packages(state_dir, checkout_root)
          self.instance.ensure_wasi_sysroot_packages(state_dir, checkout_root)
-@@ -298,89 +247,69 @@ class Bootstrapper(object):
+@@ -317,89 +266,69 @@ class Bootstrapper(object):
          elif self.choice in APPLICATIONS.keys():
              name, application = self.choice, APPLICATIONS[self.choice]
          elif self.choice in APPLICATIONS.values():
@@ -333,9 +333,9 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
  
      def _output_mozconfig(self, application):
          # Like 'generate_browser_mozconfig' or 'generate_mobile_android_mozconfig'.
-@@ -503,17 +432,18 @@ def current_firefox_checkout(check_outpu
-             moz_configure = os.path.join(path, 'moz.configure')
+@@ -523,17 +452,18 @@ def current_firefox_checkout(env, hg=Non
              if os.path.exists(moz_configure):
+                 _warn_if_risky_revision(path)
                  return ('git', path)
  
          path, child = os.path.split(path)
@@ -353,36 +353,29 @@ diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootst
      cinnabar_dir = os.path.join(root_state_dir, 'git-cinnabar')
  
      # Ensure the latest revision of git-cinnabar is present.
-diff --git a/python/mozboot/mozboot/bootstrap.py.1662893.later b/python/mozboot/mozboot/bootstrap.py.1662893.later
-new file mode 100644
---- /dev/null
-+++ b/python/mozboot/mozboot/bootstrap.py.1662893.later
-@@ -0,0 +1,28 @@
-+--- bootstrap.py
-++++ bootstrap.py
-+@@ -670,21 +599,20 @@ def configure_git(git, cinnabar, root_st
-+         raise Exception('Could not find git version')
-+     git_version = LooseVersion(match.group(1))
-+ 
-+     if git_version < MINIMUM_RECOMMENDED_GIT_VERSION:
-+         print(OLD_GIT_WARNING.format(
-+             old_version=git_version,
-+             minimum_recommended_version=MINIMUM_RECOMMENDED_GIT_VERSION))
-+ 
-+-    if top_src_dir and os.path.exists(top_src_dir):
-+-        if git_version >= LooseVersion('2.17'):
-+-            # "core.untrackedCache" has a bug before 2.17
-+-            subprocess.check_call(
-+-                [git, 'config', 'core.untrackedCache', 'true'], cwd=top_src_dir)
-++    if git_version >= LooseVersion('2.17'):
-++        # "core.untrackedCache" has a bug before 2.17
-++        subprocess.check_call(
-++            [git, 'config', 'core.untrackedCache', 'true'], cwd=top_src_dir)
-+ 
-+     cinnabar_dir = update_git_tools(git, root_state_dir, top_src_dir)
-+ 
-+     if not cinnabar:
-+         print(ADD_GIT_CINNABAR_PATH.format(cinnabar_dir))
-+ 
-+ 
-+ def _warn_if_risky_revision(path):
+@@ -582,21 +512,20 @@ def configure_git(git, root_state_dir, t
+         raise Exception('Could not find git version')
+     git_version = LooseVersion(match.group(1))
+ 
+     if git_version < MINIMUM_RECOMMENDED_GIT_VERSION:
+         print(OLD_GIT_WARNING.format(
+             old_version=git_version,
+             minimum_recommended_version=MINIMUM_RECOMMENDED_GIT_VERSION))
+ 
+-    if top_src_dir and os.path.exists(top_src_dir):
+-        if git_version >= LooseVersion('2.17'):
+-            # "core.untrackedCache" has a bug before 2.17
+-            subprocess.check_call(
+-                [git, 'config', 'core.untrackedCache', 'true'], cwd=top_src_dir)
++    if git_version >= LooseVersion('2.17'):
++        # "core.untrackedCache" has a bug before 2.17
++        subprocess.check_call(
++            [git, 'config', 'core.untrackedCache', 'true'], cwd=top_src_dir)
+ 
+     cinnabar_dir = update_git_tools(git, root_state_dir, top_src_dir)
+ 
+     print(ADD_GIT_TOOLS_PATH.format(cinnabar_dir))
+ 
+ 
+ def _warn_if_risky_revision(path):
+     # Warn the user if they're trying to bootstrap from an obviously old

+ 0 - 75
mozilla-release/patches/1662893-FIX-82a1.patch

@@ -1,75 +0,0 @@
-# HG changeset patch
-# User Ricky Stewart <rstewart@mozilla.com>
-# Date 1599582786 0
-# Node ID a4f631604a0cc37c67b2d694fb913a0226505088
-# Parent  8f669d4e0ef0609926dd79947a5a905cccdd9053
-Bug 1662893 - Refactor `bootstrap` to reflect that the `~/.mozbuild` state directory and a local checkout are both mandatory r=glandium
-
-`bootstrap` is written in such a way that we don't necessarily assume the existence of either the global state directory (`~/.mozbuild`) or a local checkout of `mozilla-central`. The independence from `~/.mozbuild` is a design decision that may have been appropriate at some point, but today it's arguably useless to continue executing `bootstrap` without a global state directory (we install a bunch of build dependencies there, as well as the `mach` `virtualenv`s that are needed for running non-`bootstrap` `mach` commands after bug 1656993). The independence from a local checkout is an artifact of the old design of `python/mozboot/bin/bootstrap.py`, which is no longer necessary as of bug 1647792.
-
-With that in mind, 1) throw errors if we can't create the global state directory or find the topsrcdir, and 2) remove all existing conditionals of the form "if the global state directory exists" or "if the root of the checkout exists" since these conditions are always going to be true in practice.
-
-Differential Revision: https://phabricator.services.mozilla.com/D89220
-
-diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootstrap.py
---- a/python/mozboot/mozboot/bootstrap.py
-+++ b/python/mozboot/mozboot/bootstrap.py
-@@ -516,21 +516,20 @@ def configure_git(git, root_state_dir, t
-         raise Exception('Could not find git version')
-     git_version = LooseVersion(match.group(1))
- 
-     if git_version < MINIMUM_RECOMMENDED_GIT_VERSION:
-         print(OLD_GIT_WARNING.format(
-             old_version=git_version,
-             minimum_recommended_version=MINIMUM_RECOMMENDED_GIT_VERSION))
- 
--    if top_src_dir and os.path.exists(top_src_dir):
--        if git_version >= LooseVersion('2.17'):
--            # "core.untrackedCache" has a bug before 2.17
--            subprocess.check_call(
--                [git, 'config', 'core.untrackedCache', 'true'], cwd=top_src_dir)
-+    if git_version >= LooseVersion('2.17'):
-+        # "core.untrackedCache" has a bug before 2.17
-+        subprocess.check_call(
-+            [git, 'config', 'core.untrackedCache', 'true'], cwd=top_src_dir)
- 
-     cinnabar_dir = update_git_tools(git, root_state_dir, top_src_dir)
- 
-     print(ADD_GIT_TOOLS_PATH.format(cinnabar_dir))
- 
- 
- def _warn_if_risky_revision(path):
-     # Warn the user if they're trying to bootstrap from an obviously old
-diff --git a/python/mozboot/mozboot/bootstrap.py.1662893.later b/python/mozboot/mozboot/bootstrap.py.1662893.later
-deleted file mode 100644
---- a/python/mozboot/mozboot/bootstrap.py.1662893.later
-+++ /dev/null
-@@ -1,28 +0,0 @@
----- bootstrap.py
--+++ bootstrap.py
--@@ -670,21 +599,20 @@ def configure_git(git, cinnabar, root_st
--         raise Exception('Could not find git version')
--     git_version = LooseVersion(match.group(1))
-- 
--     if git_version < MINIMUM_RECOMMENDED_GIT_VERSION:
--         print(OLD_GIT_WARNING.format(
--             old_version=git_version,
--             minimum_recommended_version=MINIMUM_RECOMMENDED_GIT_VERSION))
-- 
---    if top_src_dir and os.path.exists(top_src_dir):
---        if git_version >= LooseVersion('2.17'):
---            # "core.untrackedCache" has a bug before 2.17
---            subprocess.check_call(
---                [git, 'config', 'core.untrackedCache', 'true'], cwd=top_src_dir)
--+    if git_version >= LooseVersion('2.17'):
--+        # "core.untrackedCache" has a bug before 2.17
--+        subprocess.check_call(
--+            [git, 'config', 'core.untrackedCache', 'true'], cwd=top_src_dir)
-- 
--     cinnabar_dir = update_git_tools(git, root_state_dir, top_src_dir)
-- 
--     if not cinnabar:
--         print(ADD_GIT_CINNABAR_PATH.format(cinnabar_dir))
-- 
-- 
-- def _warn_if_risky_revision(path):

+ 3 - 3
mozilla-release/patches/1692940-09-88a1.patch

@@ -3,7 +3,7 @@
 # Date 1614043606 0
 #      Tue Feb 23 01:26:46 2021 +0000
 # Node ID fdba4b86b00aa04bbc8b1c42862b2f4e37b2b101
-# Parent  f2b3e8c02580d35fbabd8580c4573dc7bd49ffc0
+# Parent  2096939ba47f5a72b43ae652efc0f7ab8f809c28
 Bug 1692940 - Remove build system support for yasm. r=firefox-build-system-reviewers,dmajor
 
 Differential Revision: https://phabricator.services.mozilla.com/D105432
@@ -113,7 +113,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozb
 -        """),
 -
      'USE_INTEGRATED_CLANGCL_AS': (bool, bool,
-         """Use the integrated clang-cl assembler to assemble assembly files from SOURCES.
+                                   """Use the integrated clang-cl assembler to assemble assembly files from SOURCES.
  
          This allows using clang-cl to assemble assembly files which is useful
          on platforms like aarch64 where the alternative is to have to run a
@@ -153,7 +153,7 @@ diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozb
 diff --git a/toolkit/moz.configure b/toolkit/moz.configure
 --- a/toolkit/moz.configure
 +++ b/toolkit/moz.configure
-@@ -1468,41 +1468,16 @@ with only_when(compile_environment):
+@@ -1473,41 +1473,16 @@ with only_when(compile_environment):
      set_config('MOZ_FFVPX', True, when=ffvpx.enable)
      set_define('MOZ_FFVPX', True, when=ffvpx.enable)
      set_config('MOZ_FFVPX_FLACONLY', True, when=ffvpx.flac_only)

+ 14 - 14
mozilla-release/patches/1692940-10no11-88a1.patch

@@ -3,7 +3,7 @@
 # Date 1614043607 0
 #      Tue Feb 23 01:26:47 2021 +0000
 # Node ID 2310bd4635a257928870e576995dd76151f2983e
-# Parent  aa2eda8a84e69b50cd81a13ea5e28fd445c9f834
+# Parent  db70edabbdb4891e557e1ff9b7f7187b16ed6d34
 Bug 1692940 - Don't bootstrap yasm. r=firefox-build-system-reviewers,dmajor
 
 Differential Revision: https://phabricator.services.mozilla.com/D105599
@@ -11,7 +11,7 @@ Differential Revision: https://phabricator.services.mozilla.com/D105599
 diff --git a/python/mozboot/mozboot/archlinux.py b/python/mozboot/mozboot/archlinux.py
 --- a/python/mozboot/mozboot/archlinux.py
 +++ b/python/mozboot/mozboot/archlinux.py
-@@ -44,17 +44,16 @@ class ArchlinuxBootstrapper(
+@@ -45,17 +45,16 @@ class ArchlinuxBootstrapper(
          'libvpx',
          'libxt',
          'mime-types',
@@ -49,10 +49,10 @@ diff --git a/python/mozboot/mozboot/centosfedora.py b/python/mozboot/mozboot/cen
          LinuxBootstrapper,
          BaseBootstrapper):
      def __init__(self, distro, version, dist_id, **kwargs):
-@@ -36,17 +34,16 @@ class CentOSFedoraBootstrapper(
-             'alsa-lib-devel',
-             'dbus-glib-devel',
+@@ -38,17 +36,16 @@ class CentOSFedoraBootstrapper(
              'glibc-static',
+             'gtk2-devel',  # It is optional in Fedora 20's GNOME Software
+                            # Development group.
              'libstdc++-static',
              'libXt-devel',
              'nasm',
@@ -67,7 +67,7 @@ diff --git a/python/mozboot/mozboot/centosfedora.py b/python/mozboot/mozboot/cen
              'wget',
          ]
  
-@@ -114,25 +111,16 @@ class CentOSFedoraBootstrapper(
+@@ -116,25 +113,16 @@ class CentOSFedoraBootstrapper(
      def install_mobile_android_artifact_mode_packages(self):
          self.ensure_mobile_android_packages(artifact_mode=True)
  
@@ -96,10 +96,10 @@ diff --git a/python/mozboot/mozboot/centosfedora.py b/python/mozboot/mozboot/cen
 diff --git a/python/mozboot/mozboot/debian.py b/python/mozboot/mozboot/debian.py
 --- a/python/mozboot/mozboot/debian.py
 +++ b/python/mozboot/mozboot/debian.py
-@@ -60,17 +60,16 @@ class DebianBootstrapper(
-         'libdbus-1-dev',
+@@ -61,17 +61,16 @@ class DebianBootstrapper(
          'libdbus-glib-1-dev',
          'libgtk-3-dev',
+         'libgtk2.0-dev',
          'libpulse-dev',
          'libx11-xcb-dev',
          'libxt-dev',
@@ -117,9 +117,9 @@ diff --git a/python/mozboot/mozboot/debian.py b/python/mozboot/mozboot/debian.py
 diff --git a/python/mozboot/mozboot/freebsd.py b/python/mozboot/mozboot/freebsd.py
 --- a/python/mozboot/mozboot/freebsd.py
 +++ b/python/mozboot/mozboot/freebsd.py
-@@ -27,17 +27,16 @@ class FreeBSDBootstrapper(BaseBootstrapp
-         self.browser_packages = [
+@@ -28,17 +28,16 @@ class FreeBSDBootstrapper(BaseBootstrapp
              'dbus-glib',
+             'gtk2',
              'gtk3',
              'libXt',
              'mesa-dri',  # depends on llvm*
@@ -150,12 +150,12 @@ diff --git a/python/mozboot/mozboot/gentoo.py b/python/mozboot/mozboot/gentoo.py
 -                          'dev-lang/yasm',
                            'dev-libs/dbus-glib',
                            'media-sound/pulseaudio',
+                           'x11-libs/gtk+:2',
                            'x11-libs/gtk+:3',
                            'x11-libs/libXt'
                            ])
  
      def ensure_mobile_android_packages(self, artifact_mode=False):
-         self.run_as_root(['emerge', '--noreplace', '--quiet',
 diff --git a/python/mozboot/mozboot/gentoo.py.1672894.later b/python/mozboot/mozboot/gentoo.py.1672894.later
 --- a/python/mozboot/mozboot/gentoo.py.1672894.later
 +++ b/python/mozboot/mozboot/gentoo.py.1672894.later
@@ -183,6 +183,7 @@ diff --git a/python/mozboot/mozboot/openbsd.py b/python/mozboot/mozboot/openbsd.
              'llvm',
              'nasm',
 -            'yasm',
+             'gtk+2',
              'gtk+3',
              'dbus-glib',
              'pulseaudio',
@@ -190,7 +191,6 @@ diff --git a/python/mozboot/mozboot/openbsd.py b/python/mozboot/mozboot/openbsd.
  
      def install_system_packages(self):
          # we use -z because there's no other way to say "any autoconf-2.13"
-         self.run_as_root(['pkg_add', '-z'] + self.packages)
 diff --git a/python/mozboot/mozboot/opensuse.py b/python/mozboot/mozboot/opensuse.py
 --- a/python/mozboot/mozboot/opensuse.py
 +++ b/python/mozboot/mozboot/opensuse.py
@@ -204,6 +204,7 @@ diff --git a/python/mozboot/mozboot/opensuse.py b/python/mozboot/mozboot/opensus
          'libproxy-devel',
          'libuuid-devel',
 -        'yasm',
+         'gtk2-devel',
          'clang-devel',
          'patterns-gnome-devel_gnome',
      ]
@@ -211,7 +212,6 @@ diff --git a/python/mozboot/mozboot/opensuse.py b/python/mozboot/mozboot/opensus
      BROWSER_GROUP_PACKAGES = [
          'devel_C_C++',
          'devel_gnome',
-     ]
 diff --git a/python/mozboot/mozboot/osx.py b/python/mozboot/mozboot/osx.py
 --- a/python/mozboot/mozboot/osx.py
 +++ b/python/mozboot/mozboot/osx.py
@@ -335,7 +335,7 @@ new file mode 100644
 diff --git a/python/mozboot/mozboot/solus.py b/python/mozboot/mozboot/solus.py
 --- a/python/mozboot/mozboot/solus.py
 +++ b/python/mozboot/mozboot/solus.py
-@@ -41,17 +41,16 @@ class SolusBootstrapper(
+@@ -42,17 +42,16 @@ class SolusBootstrapper(
          'libvpx',
          'libxt',
          'nasm',

+ 114 - 116
mozilla-release/patches/series

@@ -29,6 +29,8 @@
 1821434-2-NSS390-114a1.patch
 NOBUG-20170803-promisehelper-57a1.patch
 1386275-57a1.patch
+1363723-1-FIX-57a1.patch
+1363723-2-57a1.patch
 1373563-1-57a1.patch
 1380617-01-57a1.patch
 1380617-02-57a1.patch
@@ -400,6 +402,7 @@ NOBUG-20170803-promisehelper-57a1.patch
 1404917-2-59a1.patch
 1404917-3-59a1.patch
 1416194-59a1.patch
+1416893-59a1.patch
 1411645-59a1.patch
 1414447-59a1.patch
 1416960-59a1.patch
@@ -537,6 +540,7 @@ NOBUG-20170803-promisehelper-57a1.patch
 1408942-59a1.patch
 1420419-1-59a1.patch
 1420419-2-59a1.patch
+1419131-59a1.patch
 1404928-59a1.patch
 1401548-59a1.patch
 1408124-59a1.patch
@@ -657,6 +661,9 @@ NOBUG-20170803-promisehelper-57a1.patch
 1414450-59a1.patch
 1424809-59a1.patch
 1411622-59a1.patch
+1424867-1-59a1.patch
+1424867-2-59a1.patch
+1424867-3-59a1.patch
 1293277-1-59a1.patch
 1293277-2-59a1.patch
 1293277-3-59a1.patch
@@ -691,6 +698,7 @@ NOBUG-20170803-promisehelper-57a1.patch
 1415472-59a1.patch
 1425704-59a1.patch
 1424336-59a1.patch
+1260598-59a1.patch
 1425318-1-59a1.patch
 1425318-2-59a1.patch
 1425318-3-59a1.patch
@@ -727,6 +735,7 @@ NOBUG-20170803-promisehelper-57a1.patch
 1425653-59a1.patch
 1425839-59a1.patch
 1426462-59a1.patch
+1405796-59a1.patch
 1227746-59a1.patch
 1424690-59a1.patch
 1427051-59a1.patch
@@ -753,6 +762,7 @@ NOBUG-20170803-promisehelper-57a1.patch
 1421678-59a1.patch
 1426989-59a1.patch
 1426094-59a1.patch
+1427825-59a1.patch
 1426809-59a1.patch
 1419088-59a1.patch
 1421335-1-59a1.patch
@@ -980,6 +990,7 @@ NOBUG-20170803-promisehelper-57a1.patch
 1406039-59a1.patch
 1427006-59a1.patch
 1428685-59a1.patch
+1430729-59a1.patch
 1429908-59a1.patch
 1429014-59a1.patch
 1425440-28-59a1.patch
@@ -990,6 +1001,7 @@ NOBUG-20170803-promisehelper-57a1.patch
 1421213-2-59a1.patch
 1396666-59a1.patch
 1405637-59a1.patch
+1431109-59a1.patch
 1430745-59a1.patch
 1430703-59a1.patch
 1418243-1no2-59a1.patch
@@ -1226,6 +1238,7 @@ servo-19850-60a1.patch
 1403005-2-60a1.patch
 1431477-1-60a1.patch
 1431477-2-60a1.patch
+1432513-60a1.patch
 1429373-1-60a1.patch
 1429373-2-60a1.patch
 1429373-3-60a1.patch
@@ -1698,6 +1711,9 @@ servo-19927-60a1.patch
 1434981-60a1.patch
 1430916-60a1.patch
 1434225-60a1.patch
+1431264-1-60a1.patch
+1431264-2-60a1.patch
+1431264-3-60a1.patch
 1433849-60a1.patch
 1207734-11-60a1.patch
 1434769-60a1.patch
@@ -1708,6 +1724,7 @@ servo-19927-60a1.patch
 1434958-60a1.patch
 1435002-60a1.patch
 1435244-60a1.patch
+1435223-60a1.patch
 1435366-60a1.patch
 1435180-60a1.patch
 1435307-60a1.patch
@@ -1832,6 +1849,7 @@ servo-19970-60a1.patch
 1435927-2-60a1.patch
 1435927-3-60a1.patch
 1435943-60a1.patch
+1435568-60a1.patch
 1435730-1-60a1.patch
 1435730-2-60a1.patch
 1399158-60a1.patch
@@ -1898,6 +1916,7 @@ servo-19981-60a1.patch
 1435146-60a1.patch
 1436185-60a1.patch
 1435942-60a1.patch
+1433891-60a1.patch
 1436541-60a1.patch
 servo-19984-60a1.patch
 servo-19985-60a1.patch
@@ -2667,6 +2686,7 @@ servo-20143-60a1.patch
 1436845-2-60a1.patch
 1436845-3-60a1.patch
 1441872-60a1.patch
+857348-60a1.patch
 1442266-60a1.patch
 1432195-60a1.patch
 1437003-60a1.patch
@@ -2793,6 +2813,7 @@ servo-20198-60a1.patch
 1437694-60a1.patch
 1443163-60a1.patch
 1382604-60a1.patch
+1442196-60a1.patch
 253143-1only-60a1.patch
 1440511-01-60a1.patch
 1440511-02-60a1.patch
@@ -2854,6 +2875,7 @@ servo-20211-60a1.patch
 1442126-60a1.patch
 1443344-60a1.patch
 1443393-60a1.patch
+1402999-60a1.patch
 1443697-60a1.patch
 1436096-1-60a1.patch
 1436096-2-60a1.patch
@@ -2887,6 +2909,7 @@ servo-20230-60a1.patch
 1443470-2-60a1.patch
 1443470-3-60a1.patch
 1439846-60a1.patch
+1438196-60a1.patch
 1443932-1-60a1.patch
 1443932-2-60a1.patch
 1442502-60a1.patch
@@ -2942,6 +2965,7 @@ servo-20254-60a1.patch
 1443232-1-60a1.patch
 1443232-2-60a1.patch
 1428430-60a1.patch
+1444003-60a1.patch
 1443228-60a1.patch
 1444175-60a1.patch
 1443807-1-60a1.patch
@@ -2983,6 +3007,7 @@ servo-20274-60a1.patch
 1382841-3-60a1.patch
 1382841-4-60a1.patch
 1382841-5-60a1.patch
+1444633-60a1.patch
 1444881-61a1.patch
 1421563-61a1.patch
 1401129-7-61a1.patch
@@ -3245,6 +3270,7 @@ servo-20351-61a1.patch
 1444327-61a1.patch
 1443671-2-61a1.patch
 1443599-61a1.patch
+1444851-61a1.patch
 1407240-61a1.patch
 1446022-61a1.patch
 1188955-1-61a1.patch
@@ -3336,6 +3362,10 @@ servo-20351-61a1.patch
 1448006-61a1.patch
 1447062-61a1.patch
 1444007-61a1.patch
+1431256-1-61a1.patch
+1431256-2-61a1.patch
+1431256-3-61a1.patch
+1431256-4-61a1.patch
 1447750-61a1.patch
 1447728-1only-61a1.patch
 1083458-1-61a1.patch
@@ -3351,6 +3381,7 @@ servo-20351-61a1.patch
 1443846-1-61a1.patch
 1443846-2-61a1.patch
 1443846-3-61a1.patch
+1431256-5-61a1.patch
 1440013-61a1.patch
 1448288-61a1.patch
 1414286-1-61a1.patch
@@ -3541,6 +3572,8 @@ NOBUG-20180329-extensions-61a1.patch
 1451038-61a1.patch
 1083458-3-61a1.patch
 1450242-61a1.patch
+1449530-1-61a1.patch
+1449530-2-61a1.patch
 1449087-1-61a1.patch
 1450740-61a1.patch
 1394602-61a1.patch
@@ -4045,6 +4078,7 @@ NOBUG-20180505-lint-61a1.patch
 1461795-62a1.patch
 1460647-62a1.patch
 1423767-62a1.patch
+1461614-62a1.patch
 1460003-62a1.patch
 1457499-1-62a1.patch
 1457499-2-62a1.patch
@@ -4424,6 +4458,8 @@ NOBUG-20180505-lint-61a1.patch
 1413418-63a1.patch
 1476278-63a1.patch
 1477219-63a1.patch
+1464890-63a1.patch
+1477540-63a1.patch
 1467798-63a1.patch
 1323381-63a1.patch
 1477579-1-63a1.patch
@@ -5414,6 +5450,7 @@ NOBUG-removenonascii67a1-25314.patch
 1480480-68a1.patch
 1380031-68a1.patch
 1532630-68a1.patch
+1519636-11-68a1.patch
 1539574-68a1.patch
 1539648-68a1.patch
 1526072-3only-PARTIAL-68a1.patch
@@ -5444,6 +5481,7 @@ NOBUG-removenonascii67a1-25314.patch
 1195299-2only-68a1.patch
 1519636-13-crashreporter-68a1.patch
 1541285-68a1.patch
+1541792-PARTIAL-68a1.patch
 524410-1-68a1.patch
 524410-2-68a1.patch
 524410-3-68a1.patch
@@ -5499,6 +5537,12 @@ NOBUG-removenonascii67a1-25314.patch
 1353680-2-68a1.patch
 1457669-68a1.patch
 1540733-68a1.patch
+1540760-1-68a1.patch
+1540760-2-68a1.patch
+1540760-3-68a1.patch
+1540760-4-68a1.patch
+1540760-5-68a1.patch
+1540760-6-68a1.patch
 1549206-1-68a1.patch
 1549554-68a1.patch
 1549646-68a1.patch
@@ -5586,6 +5630,7 @@ NOBUG-removenonascii67a1-25314.patch
 1553864-69a1.patch
 1554306-69a1.patch
 1556073-69a1.patch
+1180498-69a1.patch
 1556662-69a1.patch
 1556880-69a1.patch
 1556891-1-69a1.patch
@@ -5647,6 +5692,7 @@ NOBUG-removenonascii67a1-25314.patch
 1473498-04-69a1.patch
 1473498-05-69a1.patch
 1562083-69a1.patch
+1519636-21-69a1.patch
 1556103-1only-69a1.patch
 1560044-1-69a1.patch
 1560044-2-69a1.patch
@@ -5918,6 +5964,8 @@ NOBUG-removenonascii67a1-25314.patch
 1578348-71a1.patch
 1576859-71a1.patch
 1587187-71a1.patch
+1585358-71a1.patch
+1585359-71a1.patch
 1587206-1-71a1.patch
 1583582-71a1.patch
 1579758-71a1.patch
@@ -6183,6 +6231,7 @@ NOBUG-removenonascii67a1-25314.patch
 1618620-5-75a1.patch
 1618620-6-75a1.patch
 1618620-9-75a1.patch
+1525393-1-75a1.patch
 1583854-1-75a1.patch
 1602773-2no3-PARTIAL-75a1.patch
 1602773-4-75a1.patch
@@ -6345,6 +6394,7 @@ NOBUG-removenonascii67a1-25314.patch
 1628954-1-77a1.patch
 1630426-77a1.patch
 1630047-77a1.patch
+1630317-77a1.patch
 1628954-2-77a1.patch
 1630668-77a1.patch
 1621440-77a1.patch
@@ -6539,8 +6589,13 @@ NOBUG-removenonascii67a1-25314.patch
 1649850-80a1.patch
 1481425-2-80a1.patch
 1607426-1-80a1.patch
+1650299-80a1.patch
+1651305-80a1.patch
+1651207-80a1.patch
+1645196-80a1.patch
 1651403-80a1.patch
 1616694-1only-80a1.patch
+1652736-80a1.patch
 1652675-80a1.patch
 1633880-1-6811.patch
 1633880-2-6811.patch
@@ -6561,6 +6616,7 @@ NOBUG-removenonascii67a1-25314.patch
 1635260-1-PARTIAL-81a1.patch
 1661391-82a1.patch
 1654074-1-81a1.patch
+1656063-81a1.patch
 1655835-81a1.patch
 1657650-81a1.patch
 1657719-81a1.patch
@@ -6609,6 +6665,7 @@ NOBUG-removenonascii67a1-25314.patch
 1664581-1-82a1.patch
 1665494-82a1.patch
 1664210-82a1.patch
+1663863-82a1.patch
 1666232-83a1.patch
 1627944-83a1.patch
 1661485-83a1.patch
@@ -6631,6 +6688,7 @@ NOBUG-removenonascii67a1-25314.patch
 1669934-1-83a1.patch
 1669934-2-83a1.patch
 1670788-83a1.patch
+1669888-83a1.patch
 1672563-84a1.patch
 1672506-84a1.patch
 1654103-PARTIAL-ANGLE-84a1.patch
@@ -6648,6 +6706,8 @@ NOBUG-removenonascii67a1-25314.patch
 1575293-84a1.patch
 1495733-1-84a1.patch
 1675587-84a1.patch
+1672894-84a1.patch
+1670807-84a1.patch
 1661624-85a1.patch
 1666345-85a1.patch
 1666347-85a1.patch
@@ -6697,6 +6757,8 @@ NOBUG-removenonascii67a1-25314.patch
 1340901-87a1.patch
 1691957-87a1.patch
 1692254-87a1.patch
+1692945-1-87a1.patch
+1692945-2-87a1.patch
 1696206-1-88a1.patch
 1699950-1-88a1.patch
 1699950-2-88a1.patch
@@ -6709,6 +6771,23 @@ NOBUG-removenonascii67a1-25314.patch
 1690604-88a1.patch
 1513184-88a1.patch
 1698827-88a1.patch
+1507272-1-88a1.patch
+1693215-1-88a1.patch
+1693215-2-88a1.patch
+1693215-3-88a1.patch
+1693498-1-88a1.patch
+1693498-2-88a1.patch
+1692940-01-88a1.patch
+1692940-02-88a1.patch
+1692940-03-88a1.patch
+1692940-04-88a1.patch
+1692940-05-88a1.patch
+1692940-06-88a1.patch
+1692940-07-88a1.patch
+1692940-08-88a1.patch
+1692940-09-88a1.patch
+1692940-10no11-88a1.patch
+1692940-12-88a1.patch
 1698592-89a1.patch
 1698595-1-PARTIAL-89a1.patch
 1698595-2-89a1.patch
@@ -6815,6 +6894,7 @@ NOBUG-removenonascii67a1-25314.patch
 1730397-4only-94a1.patch
 1730712-1-94a1.patch
 1723031-1-94a1.patch
+1709303-1-94a1.patch
 1709303-2-94a1.patch
 1738598-PARTIAL-95a1.patch
 1730048-913.patch
@@ -6903,6 +6983,7 @@ NOBUG-removenonascii67a1-25314.patch
 1750760-1-99a1.patch
 1750760-3-99a1.patch
 1750760-4-99a1.patch
+1757308-99a1.patch
 1758062-9162.patch
 NOBUG-removemobilepromo-25312.patch
 NOBUG-disableupdates-25312.patch
@@ -7022,6 +7103,7 @@ NOBUG-ppcheck-25315.patch
 1801893-webp-109a1.patch
 1801583-109a1.patch
 1803469-webp-109a1.patch
+1787515-109a1.patch
 1466443-110a1.patch
 1782344-1-110a1.patch
 1782344-2-110a1.patch
@@ -7033,11 +7115,13 @@ NOBUG-ppcheck-25315.patch
 1760633-2-110a1.patch
 1760633-3-110a1.patch
 1810078-webp-111a1.patch
+1815737-111a1.patch
 1816737-112a1.patch
 1817900-13-112a1.patch
 1819374-4-112a1.patch
 1821011-112a1.patch
 1821026-112a1.patch
+1519636-74-elfhack-112a1.patch
 NOBUG-licensepaths-25316.patch
 NOBUG-msvc-py3-25316.patch
 NOBUG-nofeatures-repack-25316.patch
@@ -7082,6 +7166,10 @@ NOBUG-histo-utf-25317.patch
 1813299-116a1.patch
 1836529-webp-116a1.patch
 1840202-webp-116a1.patch
+1838328-116a1.patch
+1839746-116a1.patch
+1840931-116a1.patch
+1841212-116a1.patch
 1846080-10215.patch
 1841943-117a1.patch
 1837263-version-release-mr-25317.patch
@@ -7101,10 +7189,23 @@ NOBUG-removemobilethemes-25318.patch
 1852749-webp-119a1.patch
 1738426-119a1.patch
 1802057-119a1.patch
+1839741-119a1.patch
+1839740-2-119a1.patch
+1839740-3-119a1.patch
+1850867-1-119a1.patch
+1850867-2-119a1.patch
+1854052-119a1.patch
+1854303-119a1.patch
+1854497-119a1.patch
 1849433-11504.patch
 1801501-PARTIAL-NOTESTS-120a1.patch
 1836607-11504.patch
 1648336-120a1.patch
+1855955-PARTIAL-elfhack-120a1.patch
+1855568-1-120a1.patch
+1855568-2-120a1.patch
+1855568-3-120a1.patch
+1856752-120a1.patch
 1835524-sym-upload-fix-v1_2-25318.patch
 1835524-bugsplat-mr-v1_6-25318.patch
 1858551-crashreporter-vendor-v1_2-25318.patch
@@ -7115,7 +7216,10 @@ NOBUG-removemobilethemes-25318.patch
 1861842-version-release-mr-25318.patch
 1861843-1-version-prebeta-mr-25319.patch
 1826791-121a1.patch
+1863485-121a1.patch
+1863441-121a1.patch
 1660223-11507.patch
+1864318-122a1.patch
 1864385-PARTIAL-11508.patch
 1873636-123a1.patch
 1867982-124a1.patch
@@ -7145,13 +7249,23 @@ NOBUG-textrange-25319.patch
 1892449-127a1.patch
 1893891-127a1.patch
 1896208-127a1.patch
+1892493-127a1.patch
 1895086-11512.patch
 1893388-11512.patch
 1891234-PARTIAL-NOTESTS-11512.patch
+1898109-128a1.patch
+1856630-128a1.patch
+1896573-128a1.patch
+1898606-128a1.patch
+1901193-128a1.patch
 1897801-about-seamonkey-mozilla-25319.patch
 1861843-2-version-beta-mr-25319.patch
 1837550-11513.patch
+1903254-129a1.patch
+1903021-129a1.patch
+1902304-129a1.patch
 1902849-version-release-mr-25319.patch
+1519636-80-elfhack-130a1.patch
 1902851-1-version-prebeta-mr-25320.patch
 PPPPPPP-check_stdcxx-warn.patch
 PPPPPPP-NOBUG-PLASTER-getrandom.patch
@@ -7282,123 +7396,7 @@ TOP-NOBUG-nsstyle-prefers-contrast.patch
 TOP-NOBUG-nsstyle-prefers-reduced-motion.patch
 TOP-1909714-NSS3904-11514.patch
 TOP-NOBUG-blockquad0-25319.patch
-1363723-1-FIX-57a1.patch
-1363723-2-57a1.patch
-1408777-FIX-58a1.patch
-1416893-59a1.patch
-1419131-59a1.patch
-1424867-1-59a1.patch
-1424867-2-59a1.patch
-1424867-3-59a1.patch
-1260598-59a1.patch
-1405796-59a1.patch
-1427825-59a1.patch
-1430729-59a1.patch
-1431109-59a1.patch
-1435223-59a1.patch
-1432513-60a1.patch
-1431264-1-60a1.patch
-1431264-2-60a1.patch
-1431264-3-60a1.patch
-1435568-60a1.patch
-1433891-60a1.patch
-857348-60a1.patch
-1442196-60a1.patch
-1402999-60a1.patch
-1438196-60a1.patch
-1444003-60a1.patch
-1444633-60a1.patch
-1444851-61a1.patch
-1431256-1-61a1.patch
-1431256-2-61a1.patch
-1431256-3-61a1.patch
-1431256-4-61a1.patch
-1431256-5-61a1.patch
-1449530-1-61a1.patch
-1449530-2-61a1.patch
-1461614-62a1.patch
-1464890-63a1.patch
-1477540-63a1.patch
-1519636-11-68a1.patch
-1541792_PARTIAL-68a1.patch
-1180498-68a1.patch
-1519636-20-69a1.patch
-1630317-77a1.patch
-1645196-80a1.patch
-1652736-80a1.patch
-1662893-FIX-82a1.patch
-1663863-82a1.patch
-1672894-84a1.patch
-1670807-84a1.patch
-1507272-1-88a1.patch
-1519636-74-elfhack-112a1.patch
-1838328-116a1.patch
-1839746-116a1.patch
-1840931-116a1.patch
-1841212-116a1.patch
-1839741-119a1.patch
-1839740-2-119a1.patch
-1839740-3-119a1.patch
-1850867-1-119a1.patch
-1850867-2-119a1.patch
-1854052-119a1.patch
-1854303-119a1.patch
-1854497-119a1.patch
-1855955-PARTIAL-elfhack-120a1.patch
-1855568-1-120a1.patch
-1855568-2-120a1.patch
-1855568-3-120a1.patch
-1856752-120a1.patch
-1863485-121a1.patch
-1863441-121a1.patch
-1864318-122a1.patch
-1892493-127a1.patch
-1898109-128a1.patch
-1903254-129a1.patch
-1903021-129a1.patch
-1519636-80-elfhack-130a1.patch
 1902935-seamonkey-credits-25320.patch
 1862395-incorrect-version-resistfingerprinting-v2-25320.patch
 1737436-use-mozilla-compat-version-define-25320.patch
-1540760-1-68a1.patch
-1540760-2-68a1.patch
-1540760-3-68a1.patch
-1540760-4-68a1.patch
-1540760-5-68a1.patch
-1540760-6-68a1.patch
-1585358-71a1.patch
-1585359-71a1.patch
-1525393-1-75a1.patch
-1650299-80a1.patch
-1651305-80a1.patch
-1651207-80a1.patch
-1656063-81a1.patch
-1669888-83a1.patch
-1692945-1-87a1.patch
-1692945-2-87a1.patch
-1693215-1-88a1.patch
-1693215-2-88a1.patch
-1693215-3-88a1.patch
-1693498-1-88a1.patch
-1693498-2-88a1.patch
-1692940-01-88a1.patch
-1692940-02-88a1.patch
-1692940-03-88a1.patch
-1692940-04-88a1.patch
-1692940-05-88a1.patch
-1692940-06-88a1.patch
-1692940-07-88a1.patch
-1692940-08-88a1.patch
-1692940-09-88a1.patch
-1692940-10no11-88a1.patch
-1692940-12-88a1.patch
-1709303-1-94a1.patch
-1757308-99a1.patch
-1787515-109a1.patch
-1815737-111a1.patch
 TOP-NOBUG-fixnasmcheck-25320.patch
-1856630-128a1.patch
-1896573-128a1.patch
-1898606-128a1.patch
-1901193-128a1.patch
-1902304-129a1.patch