mozilla-bmo1725828.patch
branchfirefox95
changeset 1169 7481543bab31
parent 1168 c384af864671
child 1170 f9b2d408b7ef
--- a/mozilla-bmo1725828.patch	Sat Dec 04 11:19:16 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,553 +0,0 @@
-# HG changeset patch
-# Parent  fbca0d2a522cd1ab78001476293d3d79bfabb4cf
-
-<!DOCTYPE html>
-<html lang='en'>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>Tree - rpms/firefox - src.fedoraproject.org</title>
-        <link rel="shortcut icon" type="image/vnd.microsoft.icon"
-        href="/theme/static/favicon.ico?version=5.13.2"/>
-    <link href="/theme/static/fedora-bootstrap-1.3.0/fedora-bootstrap.min.css?version=5.13.2"
-        type="text/css" rel="stylesheet" />
-    <link href="/theme/static/fonts/fonts.css?version=5.13.2"
-        rel="stylesheet" type="text/css" />
-    <link href="/theme/static/fonts/hack_fonts/css/hack-extended.min.css?version=5.13.2"
-        type="text/css" rel="stylesheet" />
-    <link href="/theme/static/theme.css?version=5.13.2"
-        type="text/css" rel="stylesheet" />
-
-    <link type="text/css" rel="stylesheet" nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ" href="/static/vendor/font-awesome/font-awesome.css?version=5.13.2"/>
-    <link type="text/css" rel="stylesheet" nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ" href="/static/pagure.css?version=5.13.2"/>
-<link nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ" rel="stylesheet" href="/static/vendor/highlight.js/styles/github.css?version=5.13.2"/>
-<link nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ" rel="stylesheet" href="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.css?version=5.13.2"/>
-<style nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ">
-  .hljs {
-    background: #fff;
-  }
-</style>
-  </head>
-  <body id="home">
-
-    <!-- start masthead -->
-    <nav class="navbar navbar-light masthead p-0 navbar-expand">
-      <div class="container">
-        <a href="/" class="navbar-brand">
-        <img height=40px src="/theme/static/pagure-logo.png?version=5.13.2"
-             alt="pagure Logo" id="pagureLogo"/>
-        </a>
-        <ul class="navbar-nav ml-auto">
-
-
-
-          <li class="nav-item">
-            <a class="btn btn-primary" href="/login/?next=https://src.fedoraproject.org/rpms/firefox/blob/fc69159c16b8035abdc07e69134357970f6b516f/f/mozilla-1725828.patch">Log In</a>
-          </li>
-        </ul>
-      </div>
-    </nav>
-    <!-- close masthead-->
-
-    <div class="bodycontent">
-
-
-<div class="bg-light border border-bottom pt-3">
-  <div class="container">
-    <div class="row mb-3">
-      <div class="col-6">
-        <div class="row">
-        <div class="col-auto pr-0">
-            <h3>
-<i class="fa fa-archive text-muted"></i></h3>
-        </div>
-        <div class="col-auto pl-2">
-            <h3 class="mb-0">
-<a href="/projects/rpms/%2A">rpms</a>&nbsp;/&nbsp;<a href="/rpms/firefox"><strong>firefox</strong></a>
-            </h3>
-        </div>
-        </div>
-      </div>
-      <div class="col-6 text-right">
-        <div class="btn-group">
-        <div class="btn-group">
-        <a href="#"
-            class="btn btn-sm dropdown-toggle btn-outline-primary"
-            data-toggle="dropdown" id="watch-button">
-          <i class="fa fa-clone fa-fw"></i>
-          <span>Clone</span>
-        </a>
-        <div class="dropdown-menu dropdown-menu-right">
-          <div class="m-3" id="source-dropdown" class="pointer">
-            <div>
-              <h5><strong>Source Code</strong></h5>
-
-              <div class="form-group">
-                <div class="input-group input-group-sm">
-                  <div class="input-group-prepend"><span class="input-group-text">GIT</span></div>
-                  <input class="form-control bg-white select-on-focus" type="text" value="https://src.fedoraproject.org/rpms/firefox.git" readonly>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-
-      </div>
-    </div>
-  </div>
-</div>
-
-<ul class="nav nav-tabs nav-small border-bottom-0">
-  <li class="nav-item mr-2 text-dark">
-    <a class="nav-link active" href="/rpms/firefox">
-        <i class="fa fa-code fa-fw text-muted"></i>
-        <span class="d-none d-md-inline">Source</span>
-    </a>
-  </li>
-
-    <li class="nav-item mr-2 text-dark">
-        <a class="nav-link" href="https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&product=Fedora&product=Fedora EPEL&component=firefox">
-          <i class="fa fa-fw text-muted fa-exclamation-circle"></i>
-          <span class="d-none d-md-inline">Issues&nbsp;</span>
-          <span class="fa fa-external-link"></span>
-        </a>
-    </li>
-
-    <li class="nav-item mr-2 text-dark">
-      <a class="nav-link" href="/rpms/firefox/pull-requests">
-          <i class="fa fa-fw text-muted fa-arrow-circle-down"></i>
-          <span class="d-none d-md-inline">Pull Requests&nbsp;</span>
-          <span class="badge badge-secondary py-0 d-none d-md-inline">
-            0
-          </span>
-      </a>
-    </li>
-
-
-    <li class="nav-item mr-2 text-dark">
-      <a class="nav-link" href="/rpms/firefox/stats">
-          <i class="fa fa-line-chart fa-fw text-muted"></i>
-          <span class="d-none d-md-inline">Stats</span>
-      </a>
-    </li>
-
-
-</ul>
-  </div>
-</div>
-
-<div class="container pt-5 repo-body-container">
-  <div class="row">
-    <div class="col-2">
-<nav class="nav nav-tabs nav-sidetabs flex-column">
-  <a class=
-      "nav-link nowrap
-"
-      href="/rpms/firefox">
-      <i class="fa fa-home text-muted fa-fw"></i>&nbsp;<span class="d-none d-md-inline">Overview</span>
-  </a>
-  <a class=
-    "nav-link nowrap
- active"
-    href="/rpms/firefox/tree/fc69159c16b8035abdc07e69134357970f6b516f">
-    <i class="fa fa-file-code-o text-muted fa-fw"></i>&nbsp;Files
-  </a>
-  <a class=
-    "nav-link nowrap
-"
-    href="/rpms/firefox/commits/fc69159c16b8035abdc07e69134357970f6b516f">
-    <i class="fa fa-list-alt text-muted fa-fw" data-glyph="spreadsheet"></i>&nbsp;Commits
-  </a>
-  <a class=
-    "nav-link nowrap
-"
-    href="/rpms/firefox/branches?branchname=fc69159c16b8035abdc07e69134357970f6b516f">
-    <i class="fa fa-random text-muted fa-fw"></i>&nbsp;Branches
-  </a>
-  <a class=
-    "nav-link nowrap
-"
-    href="/rpms/firefox/forks">
-    <i class="fa fa-code-fork text-muted fa-fw"></i>&nbsp;Forks
-  </a>
-  <a class=
-    "nav-link nowrap
-"
-    href="/rpms/firefox/releases">
-    <i class="fa fa-tags text-muted fa-fw"></i>&nbsp;Releases
-  </a>
-
-  <div class="col-xs-2 line-height-1"></div>
-  <h6>Monitoring status:</h6>
-  <div class="btn-group">
-    <button title="Monitoring status" class="btn btn-sm btn-outline-primary disabled"
-        id="monitoring-button">
-      <i id="monitoring-icon" class="fa fa-fw fa-eye"></i>
-      <span id="monitoring-label" class="fa fa-circle-o-notch fa-spin fa-1x fa-fw"></span>
-    </button>
-  </div>
-
-  <div class="col-xs-2 line-height-1"></div>
-  <div id="orphan-section" class="pt-3">
-      <div class="col-xs-2 line-height-1"></div>
-
-  </div>
-
-  <div class="pt-3">
-    <div class="col-xs-2 line-height-1">
-    <h6>Bugzilla Assignee:</h6>
-      <dl>
-        <dt>Fedora: </dt>
-        <dd id="fedora_assignee_txt">
-        gecko-maint
-        </dd>
-        <dt>EPEL: </dt>
-        <dd id="epel_assignee_txt">
-        gecko-maint
-        </dd>
-      </dl>
-    </div>
-  </div>
-
-  <div class="modal fade" id="modal_assignee" tabindex="-1"
-          role="dialog" aria-labelledby="Bugzilla assignee" aria-hidden="true">
-    <div class="modal-dialog" role="document">
-      <div class="modal-content">
-        <div class="modal-header">
-          <h4 class="modal-title">Bugzilla Assignee</h4>
-          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-            <span aria-hidden="true">&times;</span>
-            <span class="sr-only">Close</span>
-          </button>
-        </div>
-        <form id="change_assignees">
-          <div class="modal-body">
-            <label for="fedora_assignee">Fedora</label>
-            <input title="Default assignee for Fedora in bugzilla - Empty input resets to default"
-              class="form-control" name="fedora_assignee" id="fedora_assignee" value="gecko-maint"/>
-            <label for="epel_assignee">EPEL</label>
-            <input title="Default assignee for EPEL in bugzilla (if applicable) - Empty input resets to default"
-              class="form-control" name="epel_assignee" id="epel_assignee" value="gecko-maint" />
-            <p class="pt-2">
-              These two fields allow to specify a different default assignee for ticket opened against
-              this package in bugzilla. Note: The EPEL field is
-              always displayed for packages in the 'rpms' namespace regardless of whether it
-              is used in bugzilla or not.            </p>
-          </div>
-          <div class="modal-footer">
-            <button class="btn btn-secondary" type="button" title="Update bugzilla overrides" id="reset_assignees">
-               Reset to defaults
-            </button>
-            <button class="btn btn-primary" type="submit" title="Update bugzilla overrides" id="update_assignees">
-               Update
-            </button>
-          </div>
-        </form>
-      </div>
-    </div>
-  </div>
-
-  <div class="modal fade" id="modal_orphan" tabindex="-1"
-          role="dialog" aria-labelledby="Orphan this package" aria-hidden="true">
-    <div class="modal-dialog" role="document">
-      <div class="modal-content">
-        <div class="modal-header">
-          <h4 class="modal-title">Orphan package</h4>
-          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-            <span aria-hidden="true">&times;</span>
-            <span class="sr-only">Close</span>
-          </button>
-        </div>
-          <div class="modal-body">
-            <div class="form-group">
-              <label for="reason_menu">Reason</label>
-              <select id="reason_menu" class="form-control">
-
-                <option id="lack_of_time_option_button">Lack of time</option>
-
-                <option id="do_not_use_it_option_button">Do not use it anymore</option>
-
-                <option id="unmaintained_option_button">Unmaintained upstream</option>
-
-                <option id="fails_to_build_option_button">Fails to build from source</option>
-
-                <option id="not_fixed_option_button">Important bug not fixed</option>
-
-                <option id="other_option_button">Other</option>
-              </select>
-            </div>
-          <label for="orphan_reason_info">Additional info</label>
-          <input title="Additional info for orphaning reason"
-                  class="form-control" name="orphan_reason_info" id="orphan_reason_info" value=""/>
-          </div>
-          <div class="modal-footer">
-            <button class="btn btn-primary" type="submit" title="Orphan this package" id="orphan_button">
-               Update
-            </button>
-          </div>
-      </div>
-    </div>
-  </div>
-
-  <script type="text/javascript" nonce="5VHCMUQ81dmw6zbPtdKqrXAJZ">
-    window.addEventListener('load', function() {
-      set_up_monitoring = function(status){
-        var _label = "Disabled"
-        if (status === "monitoring") {
-          _label = "Monitoring";
-          $("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
-        } else if (status === "monitoring-with-scratch") {
-          _label = "Scratch builds"
-          $("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
-        } else {
-          $("#monitoring-icon").attr("class", "fa fa-fw fa-eye-slash")
-        }
-
-        $("#monitoring-label").text(_label);
-        $("#monitoring-label").removeClass("fa fa-circle-o-notch fa-spin fa-1x fa-fw");
-      }
-
-      $.ajax({
-        url: "/_dg/anitya/rpms/firefox",
-        type: 'GET',
-        dataType: 'json',
-        success: function(res) {
-          console.log(res);
-          set_up_monitoring(res.monitoring)
-        }
-      });
-
-
-      $("#reset_assignees").on('click', function(){
-        $('#fedora_assignee').val('');
-        $('#epel_assignee').val('');
-        $("#change_assignees").submit();
-        return false;
-      });
-
-      $("#change_assignees").on('submit',  function(){
-        $('html').css('cursor', 'progress');
-        $('#reset_assignees').attr('disabled', true);
-        $('#update_assignees').attr('disabled', true);
-        $('#update_assignees').text('Updating...');
-        $.ajax({
-          url: "/_dg/bzoverrides/rpms/firefox",
-          type: 'POST',
-          dataType: 'json',
-          data: {
-             'epel_assignee': $('#epel_assignee').val(),
-             'fedora_assignee': $('#fedora_assignee').val()
-          },
-          success: function(res) {
-            $("#fedora_assignee_txt").text(res.fedora_assignee);
-            $("#epel_assignee_txt").text(res.epel_assignee);
-            $('#modal_assignee').modal('hide');
-            $('#reset_assignees').attr('disabled', false);
-            $('#update_assignees').attr('disabled', false);
-            $('#update_assignees').text('Update');
-            $('html').css('cursor', 'default');
-            console.log("Successfully changed the bugzilla assignees");
-            return false;
-          },
-          error: function(res) {
-            var msg = '';
-            if(res.responseJSON.errors){
-              msg = ': ' + res.responseJSON.errors.join(', ');
-            }
-            alert("Unable to update the bugzilla assignee(s)" + msg);
-            $('html').css('cursor', 'default');
-            $('#reset_assignees').attr('disabled', false);
-            $('#update_assignees').attr('disabled', false);
-            $('#update_assignees').text('Update');
-            return false;
-          }
-        })
-        return false;
-      });
-
-
-      $.ajax({
-        url: "/_dg/actived/rpms/firefox",
-        type: 'GET',
-        dataType: 'json',
-        success: function(res) {
-          var _btn = $("#take_orphan_button");
-          if (!res.active){
-            _btn.off("click");
-            _btn.click(function(){
-                window.open(
-                    "https://pagure.io/releng/new_issue?title="
-                    + "Unretire rpms/firefox"
-                    + "&amp;template=package_unretiremet");
-            });
-            _btn.prop( "title", "Package retired - Open a releng ticket to adopt it" );
-            _btn.html("Retired");
-          }
-          _btn.removeClass('disabled');
-        }
-      });
-
-      $("#orphan_button").click(function(){
-        $("#orphan_button").attr("disabled", true);
-        $.ajax({
-          url: "/_dg/orphan/rpms/firefox",
-          type: 'POST',
-          dataType: 'json',
-          data: {
-            'orphan_reason': $('#reason_menu').val(),
-            'orphan_reason_info': $('#orphan_reason_info').val()
-          },
-          success: function(res) {
-            $("#point_of_contact_div").html("Package is currently unmaintained");
-            $("#orphan_button").attr("disabled", false);
-            $('#modal_orphan').modal('hide');
-            $('#orphan-section').html('');
-          },
-          error: function(res) {
-            if (res.responseJSON.errors) {
-              alert('Unable to orphan the package: ' + res.responseJSON.errors);
-            } else {
-              alert('Unable to orphan the package: ' + res.responseJSON.error);
-            }
-            $("#orphan_button").attr("disabled", false);
-          }
-        });
-      });
-    });
-  </script>
-
-</nav>    </div>
-    <div class="col-10">
-  <div class="row mb-1">
-    <div class="col-sm-6">
-    <h3>
-      Files
-    </h3>
-    </div>
-
-    <div class="col-sm-6">
-      <div class="float-right">
-        <a href="#" class="btn btn-outline-light border-secondary text-dark btn-sm"
-        aria-haspopup="true" aria-expanded="false">
-        Commit: <span class="font-weight-bold">fc69159c16b8035abdc07e69134357970f6b516f</span>
-        </a>
-    </div>
-  </div>
-  </div>
-    <div class="card mb-3">
-      <div class="card-header">
-        <ol class="breadcrumb p-0 bg-transparent mb-0">
-          <li class="breadcrumb-item">
-            <a href="/rpms/firefox/tree/fc69159c16b8035abdc07e69134357970f6b516f">
-              <span class="fa fa-random">
-              </span>&nbsp; fc69159c16b8035abdc07e69134357970f6b516f
-            </a>
-          </li>
-          <li class="active breadcrumb-item">
-            <span class="fa fa-file" data-glyph="">
-            </span>&nbsp; mozilla-1725828.patch
-          </li>
-        </ol>
-      </div>
-
-  <div class="card-body p-0">
-            <div class="bg-light border text-right pr-2">
-                <form class="btn btn-sm" method="POST" name="fork_project"
-                    action="/fork_edit/rpms/firefox/edit/fc69159c16b8035abdc07e69134357970f6b516f/f/mozilla-1725828.patch">
-                    <button class="btn btn-sm btn-secondary fork_project_btn">
-                            Fork and Edit
-                    </button>
-
-                </form>
-
-                <a class="btn btn-secondary btn-sm" href="/rpms/firefox/blob/fc69159c16b8035abdc07e69134357970f6b516f/f/mozilla-1725828.patch" title="View as blob">Blob</a>
-
-                <a class="btn btn-secondary btn-sm" href="/rpms/firefox/blame/mozilla-1725828.patch?identifier=fc69159c16b8035abdc07e69134357970f6b516f" title="View git blame">Blame</a>
-
-                <a class="btn btn-secondary btn-sm" href="/rpms/firefox/history/mozilla-1725828.patch?identifier=fc69159c16b8035abdc07e69134357970f6b516f" title="View git log for this file">History</a>
-
-                <a class="btn btn-secondary btn-sm" href="/rpms/firefox/raw/fc69159c16b8035abdc07e69134357970f6b516f/f/mozilla-1725828.patch" title="View as raw">Raw</a>
-            </div>
-
-        <pre class="syntaxhighlightblock"><code class="lang-diff">diff -up firefox-92.0/dom/media/gmp/GMPChild.cpp.1725828 firefox-92.0/dom/media/gmp/GMPChild.cpp
-
-diff --git a/dom/media/gmp/GMPChild.cpp b/dom/media/gmp/GMPChild.cpp
---- a/dom/media/gmp/GMPChild.cpp
-+++ b/dom/media/gmp/GMPChild.cpp
-@@ -227,18 +227,24 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
-               .EqualsASCII(lib.Data(), lib.Length())) {
-         LoadLibraryW(char16ptr_t(whiteListedLib));
-         break;
-       }
-     }
-   }
- #elif defined(XP_LINUX)
-   constexpr static const char* whitelist[] = {
-+      // NSS libraries used by clearkey.
-       "libfreeblpriv3.so",
-       "libsoftokn3.so",
-+      // glibc libraries merged into libc.so.6; see bug 1725828 and
-+      // the corresponding code in GMPParent.cpp.
-+      "libdl.so.2",
-+      "libpthread.so.0",
-+      "librt.so.1",
-   };
- 
-   nsTArray<nsCString> libs;
-   SplitAt(", ", aLibs, libs);
-   for (const nsCString& lib : libs) {
-     for (const char* whiteListedLib : whitelist) {
-       if (lib.EqualsASCII(whiteListedLib)) {
-         auto libHandle = dlopen(whiteListedLib, RTLD_NOW | RTLD_GLOBAL);
-@@ -251,17 +257,17 @@ mozilla::ipc::IPCResult GMPChild::RecvPr
-           if (error) {
-             // We should always have an error, but gracefully handle just in
-             // case.
-             nsAutoCString nsError{error};
-             CrashReporter::AppendAppNotesToCrashReport(nsError);
-           }
-           // End bug 1698718 logging.
- 
--          MOZ_CRASH("Couldn't load lib needed by NSS");
-+          MOZ_CRASH("Couldn't load lib needed by media plugin");
-         }
-       }
-     }
-   }
- #endif
-   return IPC_OK();
- }
- 
-diff --git a/dom/media/gmp/GMPParent.cpp b/dom/media/gmp/GMPParent.cpp
---- a/dom/media/gmp/GMPParent.cpp
-+++ b/dom/media/gmp/GMPParent.cpp
-@@ -871,16 +871,30 @@ RefPtr<GenericPromise> GMPParent::ParseC
-     mLibs = "dxva2.dll"_ns;
- #endif
-   } else {
-     GMP_PARENT_LOG_DEBUG("%s: Unrecognized key system: %s, failing.",
-                          __FUNCTION__, mDisplayName.get());
-     return GenericPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
-   }
- 
-+#ifdef XP_LINUX
-+  // These glibc libraries were merged into libc.so.6 as of glibc
-+  // 2.34; they now exist only as stub libraries for compatibility and
-+  // newly linked code won&#39;t depend on them, so we need to ensure
-+  // they&#39;re loaded for plugins that may have been linked against a
-+  // different version of glibc.  (See also bug 1725828.)
-+  if (!mDisplayName.EqualsASCII("clearkey")) {
-+    if (!mLibs.IsEmpty()) {
-+      mLibs.AppendLiteral(", ");
-+    }
-+    mLibs.AppendLiteral("libdl.so.2, libpthread.so.0, librt.so.1");
-+  }
-+#endif
-+
-   nsCString codecsString = NS_ConvertUTF16toUTF8(m.mX_cdm_codecs);
-   nsTArray<nsCString> codecs;
-   SplitAt(",", codecsString, codecs);
- 
-   // Parse the codec strings in the manifest and map them to strings used
-   // internally by Gecko for capability recognition.
-   //
-   // Google's code to parse manifests can be used as a reference for strings