forked from pool/MozillaFirefox
- Firefox 102.0
* You can now disable automatic opening of the download panel every time a new download starts * Firefox now mitigates query parameter tracking when navigating sites in ETP strict mode * Improved security by moving audio decoding into a separate process with stricter sandboxing, thus improving process isolation * https://www.mozilla.org/en-US/firefox/102.0/releasenotes MFSA 2022-24 (bsc#1200793) * CVE-2022-34479 (bmo#1745595) A popup window could be resized in a way to overlay the address bar with web content * CVE-2022-34470 (bmo#1765951) Use-after-free in nsSHistory * CVE-2022-34468 (bmo#1768537) CSP sandbox header without `allow-scripts` can be bypassed via retargeted javascript: URI * CVE-2022-34482 (bmo#845880) Drag and drop of malicious image could have led to malicious executable and potential code execution * CVE-2022-34483 (bmo#1335845) Drag and drop of malicious image could have led to malicious executable and potential code execution * CVE-2022-34476 (bmo#1387919) ASN.1 parser could have been tricked into accepting malformed ASN.1 * CVE-2022-34481 (bmo#1483699, bmo#1497246) Potential integer overflow in ReplaceElementsAt * CVE-2022-34474 (bmo#1677138) Sandboxed iframes could redirect to external schemes * CVE-2022-34469 (bmo#1721220) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=983
This commit is contained in:
parent
f85c2ce39f
commit
a756387aa3
@ -1,3 +1,74 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jun 25 12:51:46 UTC 2022 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
|
||||
- Firefox 102.0
|
||||
* You can now disable automatic opening of the download panel
|
||||
every time a new download starts
|
||||
* Firefox now mitigates query parameter tracking when navigating
|
||||
sites in ETP strict mode
|
||||
* Improved security by moving audio decoding into a separate
|
||||
process with stricter sandboxing, thus improving process isolation
|
||||
* https://www.mozilla.org/en-US/firefox/102.0/releasenotes
|
||||
MFSA 2022-24 (bsc#1200793)
|
||||
* CVE-2022-34479 (bmo#1745595)
|
||||
A popup window could be resized in a way to overlay the
|
||||
address bar with web content
|
||||
* CVE-2022-34470 (bmo#1765951)
|
||||
Use-after-free in nsSHistory
|
||||
* CVE-2022-34468 (bmo#1768537)
|
||||
CSP sandbox header without `allow-scripts` can be bypassed
|
||||
via retargeted javascript: URI
|
||||
* CVE-2022-34482 (bmo#845880)
|
||||
Drag and drop of malicious image could have led to malicious
|
||||
executable and potential code execution
|
||||
* CVE-2022-34483 (bmo#1335845)
|
||||
Drag and drop of malicious image could have led to malicious
|
||||
executable and potential code execution
|
||||
* CVE-2022-34476 (bmo#1387919)
|
||||
ASN.1 parser could have been tricked into accepting malformed ASN.1
|
||||
* CVE-2022-34481 (bmo#1483699, bmo#1497246)
|
||||
Potential integer overflow in ReplaceElementsAt
|
||||
* CVE-2022-34474 (bmo#1677138)
|
||||
Sandboxed iframes could redirect to external schemes
|
||||
* CVE-2022-34469 (bmo#1721220)
|
||||
TLS certificate errors on HSTS-protected domains could be
|
||||
bypassed by the user on Firefox for Android
|
||||
* CVE-2022-34471 (bmo#1766047)
|
||||
Compromised server could trick a browser into an addon downgrade
|
||||
* CVE-2022-34472 (bmo#1770123)
|
||||
Unavailable PAC file resulted in OCSP requests being blocked
|
||||
* CVE-2022-34478 (bmo#1773717)
|
||||
Microsoft protocols can be attacked if a user accepts a prompt
|
||||
* CVE-2022-2200 (bmo#1771381)
|
||||
Undesired attributes could be set as part of prototype pollution
|
||||
* CVE-2022-34480 (bmo#1454072)
|
||||
Free of uninitialized pointer in lg_init
|
||||
* CVE-2022-34477 (bmo#1731614)
|
||||
MediaError message property leaked information on cross-
|
||||
origin same-site pages
|
||||
* CVE-2022-34475 (bmo#1757210)
|
||||
HTML Sanitizer could have been bypassed via same-origin
|
||||
script via use tags
|
||||
* CVE-2022-34473 (bmo#1770888)
|
||||
HTML Sanitizer could have been bypassed via use tags
|
||||
* CVE-2022-34484 (bmo#1763634, bmo#1772651)
|
||||
Memory safety bugs fixed in Firefox 102 and Firefox ESR 91.11
|
||||
* CVE-2022-34485 (bmo#1768409, bmo#1768578)
|
||||
Memory safety bugs fixed in Firefox 102
|
||||
- requires
|
||||
NSPR >= 4.34
|
||||
NSS >= 3.79
|
||||
rust = 1.60
|
||||
- switch out skia-patches with webrender-patches for big endian
|
||||
removed:
|
||||
* mozilla-bmo1504834-part2.patch
|
||||
* mozilla-bmo1504834-part4.patch
|
||||
* mozilla-bmo1626236.patch
|
||||
added:
|
||||
* one_swizzle_to_rule_them_all.patch
|
||||
* svg-rendering.patch
|
||||
- add some more returns to the no-return-patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 10 20:45:37 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||
|
||||
|
@ -28,9 +28,9 @@
|
||||
# orig_suffix b3
|
||||
# major 69
|
||||
# mainver %major.99
|
||||
%define major 101
|
||||
%define mainver %major.0.1
|
||||
%define orig_version 101.0.1
|
||||
%define major 102
|
||||
%define mainver %major.0
|
||||
%define orig_version 102.0
|
||||
%define orig_suffix %{nil}
|
||||
%define update_channel release
|
||||
%define branding 1
|
||||
@ -91,19 +91,23 @@ BuildRequires: dbus-1-glib-devel
|
||||
BuildRequires: dejavu-fonts
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: memory-constraints
|
||||
%if 0%{?suse_version} <= 1320
|
||||
BuildRequires: gcc9-c++
|
||||
%if 0%{?sle_version} <= 150300
|
||||
BuildRequires: gcc11-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
|
||||
BuildRequires: cargo >= 1.57
|
||||
BuildRequires: rust >= 1.57
|
||||
BuildRequires: cargo >= 1.59
|
||||
BuildRequires: rust >= 1.59
|
||||
%else
|
||||
# Newer sle/leap/tw use parallel versioned rust releases which have
|
||||
# a different method for provides that we can use to request a
|
||||
# specific version
|
||||
# minimal requirement:
|
||||
BuildRequires: rust+cargo >= 1.59
|
||||
# actually used upstream:
|
||||
BuildRequires: cargo1.60
|
||||
BuildRequires: rust1.60
|
||||
%endif
|
||||
%if 0%{useccache} != 0
|
||||
BuildRequires: ccache
|
||||
@ -113,8 +117,8 @@ BuildRequires: libcurl-devel
|
||||
BuildRequires: libiw-devel
|
||||
BuildRequires: libproxy-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mozilla-nspr-devel >= 4.33
|
||||
BuildRequires: mozilla-nss-devel >= 3.78.1
|
||||
BuildRequires: mozilla-nspr-devel >= 4.34
|
||||
BuildRequires: mozilla-nss-devel >= 3.79
|
||||
BuildRequires: nasm >= 2.14
|
||||
BuildRequires: nodejs >= 10.22.1
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
||||
@ -178,7 +182,9 @@ Source1: MozillaFirefox.desktop
|
||||
Source2: MozillaFirefox-rpmlintrc
|
||||
Source3: mozilla.sh.in
|
||||
Source4: tar_stamps
|
||||
%if %{localize}
|
||||
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
|
||||
%endif
|
||||
Source8: firefox-mimeinfo.xml
|
||||
Source9: firefox.js
|
||||
Source11: firefox.1
|
||||
@ -207,18 +213,17 @@ Patch8: mozilla-reduce-rust-debuginfo.patch
|
||||
Patch9: mozilla-bmo1005535.patch
|
||||
Patch10: mozilla-bmo1568145.patch
|
||||
Patch11: mozilla-bmo1504834-part1.patch
|
||||
Patch12: mozilla-bmo1504834-part2.patch
|
||||
Patch13: mozilla-bmo1504834-part3.patch
|
||||
Patch14: mozilla-bmo1512162.patch
|
||||
Patch15: mozilla-fix-top-level-asm.patch
|
||||
Patch16: mozilla-bmo1504834-part4.patch
|
||||
Patch17: mozilla-bmo849632.patch
|
||||
Patch18: mozilla-bmo998749.patch
|
||||
Patch19: mozilla-bmo1626236.patch
|
||||
Patch20: mozilla-s390x-skia-gradient.patch
|
||||
Patch21: mozilla-libavcodec58_91.patch
|
||||
Patch22: mozilla-silence-no-return-type.patch
|
||||
Patch23: mozilla-bmo531915.patch
|
||||
Patch25: one_swizzle_to_rule_them_all.patch
|
||||
Patch26: svg-rendering.patch
|
||||
# Firefox/browser
|
||||
Patch101: firefox-kde.patch
|
||||
Patch102: firefox-branded-icons.patch
|
||||
@ -341,22 +346,20 @@ sed -i "s/python3/python36/g" mach
|
||||
export PYTHON3=/usr/bin/python36
|
||||
%endif
|
||||
|
||||
# Webrender does not support big endian yet, so we are forcing it off
|
||||
# see: https://bugzilla.mozilla.org/show_bug.cgi?id=1716707
|
||||
%ifarch s390x ppc64
|
||||
echo 'pref("gfx.webrender.force-disabled", true);' >> %{SOURCE9}
|
||||
%endif
|
||||
|
||||
#
|
||||
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
|
||||
if test "$kdehelperversion" != %{kde_helper_version}; then
|
||||
echo fix kde helper version in the .spec file
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source %{SOURCE4}
|
||||
# When doing only_print_mozconfig, this file isn't necessarily available, so skip it
|
||||
cp %{SOURCE4} .obsenv.sh
|
||||
%else
|
||||
# We need to make sure its empty
|
||||
echo "" > .obsenv.sh
|
||||
%endif
|
||||
|
||||
cat >> .obsenv.sh <<EOF
|
||||
export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
|
||||
export MOZ_SOURCE_CHANGESET=$RELEASE_TAG
|
||||
export SOURCE_REPO=$RELEASE_REPO
|
||||
@ -367,8 +370,8 @@ export MOZILLA_OFFICIAL=1
|
||||
export BUILD_OFFICIAL=1
|
||||
export MOZ_TELEMETRY_REPORTING=1
|
||||
export MACH_USE_SYSTEM_PYTHON=1
|
||||
%if 0%{?suse_version} <= 1320
|
||||
export CC=gcc-9
|
||||
%if 0%{?sle_version} <= 150300
|
||||
export CC=gcc-11
|
||||
%else
|
||||
%if 0%{?clang_build} == 0
|
||||
export CC=gcc
|
||||
@ -392,27 +395,12 @@ export CFLAGS="$CFLAGS -mminimal-toc"
|
||||
%endif
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
|
||||
%if %{with only_print_mozconfig}
|
||||
echo "export CC=$CC"
|
||||
echo "export CXX=$CXX"
|
||||
echo "export CFLAGS=\"$CFLAGS\""
|
||||
echo "export CXXFLAGS=\"$CXXFLAGS\""
|
||||
echo "export LDFLAGS=\"$LDFLAGS\""
|
||||
echo "export RUSTFLAGS=\"$RUSTFLAGS\""
|
||||
echo "export CARGO_HOME=\"$CARGO_HOME\""
|
||||
echo "export PATH=\"$PATH\""
|
||||
echo "export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\""
|
||||
echo "export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\""
|
||||
echo "export MOZCONFIG=\"$MOZCONFIG\""
|
||||
echo "export MOZILLA_OFFICIAL=1"
|
||||
echo "export BUILD_OFFICIAL=1"
|
||||
echo "export MOZ_TELEMETRY_REPORTING=1"
|
||||
echo ""
|
||||
cat << EOF
|
||||
%else
|
||||
%limit_build -m 2560
|
||||
EOF
|
||||
# Done with env-variables.
|
||||
source ./.obsenv.sh
|
||||
|
||||
# Generating mozconfig
|
||||
cat << EOF > $MOZCONFIG
|
||||
%endif
|
||||
mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
||||
@ -498,7 +486,15 @@ ac_add_options MOZ_PGO=1
|
||||
%endif
|
||||
%endif
|
||||
EOF
|
||||
%if !%{with only_print_mozconfig}
|
||||
|
||||
%if %{with only_print_mozconfig}
|
||||
cat ./.obsenv.sh
|
||||
cat $MOZCONFIG
|
||||
%else
|
||||
%ifarch aarch64 %arm ppc64 ppc64le
|
||||
%limit_build -m 2000
|
||||
%endif
|
||||
|
||||
%if 0%{useccache} != 0
|
||||
ccache -s
|
||||
%endif
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b4c76e8bdf81f473f3e56b2f69dbe5119bba5cab38e36ab0f3f38cf0cdc4a9c2
|
||||
size 486021240
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmKhEeYACgkQ6+QekPbx
|
||||
L22cCQ//Zk8f21tV5R7nx0WjxO4KyvM4ZPj5luYK4SEpwsmWhDcm4yyjr59NESCT
|
||||
79ObF3LapENKK9cYnz3T5Q8UYvAQj/NtnQeNS5NrvhaYPVLpnPP70UHq4XD4JSuC
|
||||
lUCce7ST55mX3F/vFVa3CWwpUiW6I5GWYmEzkgXviO5js+JWSufKINrKN7yG0/U0
|
||||
Mv3AYG2+CU+poT2xZiKDrJalmekY8nIFQ5CgDhn+Vmfn0KLbw3HZ1A6HUJYNrJVa
|
||||
JZ9bxomOUcgLmJsvVhmVI9uBwsWTZDIK4erZpdylGRSk/7m5dBsTvi4vN1B44rbz
|
||||
6ZnbKfX58zbzYjfyk0m6ZAgCd3BAwDYOG7fBCEIaKlUA981vH1GqNqAExDPSkFaa
|
||||
c9cm3bzWmNYAUmmTfNRr5irud+4L86BY60eynVlJwYV+TvIw7RsUMKHRSfILHEsY
|
||||
8ibcWCwEv3dRBTiwSlpcV6mOLz0v5usidpZtOEw/vW8pSBzyZCCSP+kr/DNwid9w
|
||||
5I+TCFcBh6edcZGdmu3lejG6XLf8amMfjJsznt/UVOJn9GcEqrbW4VKGs8BDcy5E
|
||||
VXXbo8MGFRtV6H+mmBTXgkeUWtTewOdr3fz6qLhe0cVp+Tcb5Msu8Gas4S99hl0q
|
||||
M23UX7G7iH2g/HxMy2Xoi+/t4ZzGUrdoGldvKjcIJ4PFvs8wbw4=
|
||||
=Iqkr
|
||||
-----END PGP SIGNATURE-----
|
3
firefox-102.0.source.tar.xz
Normal file
3
firefox-102.0.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:01797f04bd8d65f4c7f628d7ce832bf52a0874433886e4d0d78ef33c1ca66abf
|
||||
size 482027632
|
16
firefox-102.0.source.tar.xz.asc
Normal file
16
firefox-102.0.source.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmK0EykACgkQ6+QekPbx
|
||||
L21IKhAAlliNZ1t49JNYbvinEpFprZBGjvpQqPv9Ydl9sTgjQlD9KMzeSWOccFtR
|
||||
1IY65ANkbIq53nETF0bxT3ON+KY/r8J8BZ6VkqNFx6sJE7XoLfTu8VUoTqoG7crs
|
||||
XZXhBFDBdJ0dn1rOqE+K3Jv8e+yIcUSmZrBZSARk0o4wGNx9kWO93xPTCwiB2NnD
|
||||
XPIQOAVHmENhQ7U0X5zHMymnCWHuFcsfjVMoqh5wtUNVt3DLwCFipaDPAAH6EhN5
|
||||
jRwzhH6uusaRzi8fRpQjO++kN+aFTPHFnP0Yg6zlqFN4N0r0PtvO7kP8y1rH8OoF
|
||||
+ZpJyvzO4Bpx/y1/zW5IwdKUeeTPBIYmHQLITyktR06JzLiT/lEENcL0OaFABV9L
|
||||
gOsYAxVFlX9fhwEWt4posW3oQGM8qchR37bHeaI1Ssy2R8BFWcZaZR3QubcnxCUG
|
||||
rfdq4htPjFMHI+s/7A3Xlc7tAcr+VwUCiBmjTOSNCdoZrKor/ahD2Wjiq6AjQfcS
|
||||
2bWQBUFY7j8d0GutvHnxJGH3z33YG0lBkzzCPPIxYIcMUkp3CwMrCmlBjRzcm1p8
|
||||
jXHGuV/yfWt7soEZ8VMKCD9/bjZ7RI9y/HLprzYbNphrhOl1t0aEG3htqX2n7sRP
|
||||
Wtu0zhOS/7qX+ZzpeIqi2ldEQ+VjpE6bkiFmQVCi8EXC5wnhF/M=
|
||||
=6YnI
|
||||
-----END PGP SIGNATURE-----
|
@ -3,7 +3,7 @@
|
||||
# Date 1559300151 -7200
|
||||
# Fri May 31 12:55:51 2019 +0200
|
||||
# Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
|
||||
# Parent 23d64c5753fda6f201477fe1f2f6cf1fb1657ccc
|
||||
# Parent c9baf1c9eb9359b7968a52157e8892cdd20f2c6d
|
||||
How to apply this patch:
|
||||
1. Import and apply it
|
||||
2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
|
||||
@ -14,7 +14,7 @@ How to apply this patch:
|
||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||
--- a/browser/components/preferences/main.js
|
||||
+++ b/browser/components/preferences/main.js
|
||||
@@ -353,16 +353,23 @@ var gMainPane = {
|
||||
@@ -303,16 +303,23 @@ var gMainPane = {
|
||||
}, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
|
||||
};
|
||||
|
||||
@ -38,7 +38,7 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere
|
||||
);
|
||||
let performanceSettingsUrl =
|
||||
Services.urlFormatter.formatURLPref("app.support.baseURL") +
|
||||
@@ -1365,16 +1372,27 @@ var gMainPane = {
|
||||
@@ -1334,16 +1341,27 @@ var gMainPane = {
|
||||
this._backoffIndex = 0;
|
||||
|
||||
let shellSvc = getShellService();
|
||||
@ -260,11 +260,11 @@ new file mode 100644
|
||||
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init)
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult)
|
||||
+nsUnixShellServiceConstructor(REFNSIID aIID, void **aResult)
|
||||
+{
|
||||
+ if( nsKDEUtils::kdeSupport())
|
||||
+ return nsKDEShellServiceConstructor( aOuter, aIID, aResult );
|
||||
+ return nsGNOMEShellServiceConstructor( aOuter, aIID, aResult );
|
||||
+ return nsKDEShellServiceConstructor( aIID, aResult );
|
||||
+ return nsGNOMEShellServiceConstructor( aIID, aResult );
|
||||
+}
|
||||
diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
|
||||
new file mode 100644
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:afcc91cfc8920c3343deabf634d83d5d6e1517f8b3f659941959b9dbfdd84da2
|
||||
size 48915416
|
3
l10n-102.0.tar.xz
Normal file
3
l10n-102.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1e84c860104cb0a506b39f5886be4db16c272955c6b8c4fb466a8061dc1326a6
|
||||
size 49084872
|
@ -1,112 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 9319844dca3133fa8bd7107079f1d1ddc5c0bf70
|
||||
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
|
||||
has no interest in maintaining big endian.
|
||||
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
|
||||
out again, we transform back to BE.
|
||||
|
||||
diff --git a/gfx/2d/ConvolutionFilter.cpp b/gfx/2d/ConvolutionFilter.cpp
|
||||
--- a/gfx/2d/ConvolutionFilter.cpp
|
||||
+++ b/gfx/2d/ConvolutionFilter.cpp
|
||||
@@ -29,32 +29,79 @@ bool ConvolutionFilter::GetFilterOffsetA
|
||||
int32_t* aResultLength) {
|
||||
if (aRowIndex >= mFilter->numValues()) {
|
||||
return false;
|
||||
}
|
||||
mFilter->FilterForValue(aRowIndex, aResultOffset, aResultLength);
|
||||
return true;
|
||||
}
|
||||
|
||||
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
|
||||
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
|
||||
+ for (int pxl = 0; pxl < size; ++pxl) {
|
||||
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
|
||||
+ uint32_t rgba = array[pxl];
|
||||
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
|
||||
bool aHasAlpha) {
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ int outputSize = mFilter->numValues();
|
||||
+
|
||||
+ // Input size isn't handed in, so we have to calculate it quickly
|
||||
+ int inputSize = 0;
|
||||
+ for (int xx = 0; xx < outputSize; ++xx) {
|
||||
+ // Get the filter that determines the current output pixel.
|
||||
+ int filterOffset, filterLength;
|
||||
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
|
||||
+ inputSize = std::max(inputSize, filterOffset + filterLength);
|
||||
+ }
|
||||
+
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+ ByteSwapArray(aDst, outputSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
|
||||
int32_t aRowIndex, int32_t aRowSize,
|
||||
bool aHasAlpha) {
|
||||
MOZ_ASSERT(aRowIndex < mFilter->numValues());
|
||||
|
||||
int32_t filterOffset;
|
||||
int32_t filterLength;
|
||||
auto filterValues =
|
||||
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ // Skia only knows LE, so we have to swizzle the input
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
|
||||
aHasAlpha);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ // After skia is finished, we swizzle back to BE, in case
|
||||
+ // the input is used again somewhere else
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+ // The destination array as well
|
||||
+ ByteSwapArray(aDst, aRowSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
|
||||
* SkBitmapScaler/SkResizeFilter::computeFactors. It is governed by Skia's
|
||||
* BSD-style license (see gfx/skia/LICENSE) and the following copyright:
|
||||
* Copyright (c) 2015 Google Inc.
|
||||
*/
|
||||
bool ConvolutionFilter::ComputeResizeFilter(ResizeMethod aResizeMethod,
|
||||
diff --git a/gfx/skia/skia/include/core/SkPreConfig.h b/gfx/skia/skia/include/core/SkPreConfig.h
|
||||
--- a/gfx/skia/skia/include/core/SkPreConfig.h
|
||||
+++ b/gfx/skia/skia/include/core/SkPreConfig.h
|
||||
@@ -68,17 +68,17 @@
|
||||
#define SK_CPU_BENDIAN
|
||||
#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
|
||||
#define SK_CPU_LENDIAN
|
||||
#elif defined(__sparc) || defined(__sparc__) || \
|
||||
defined(_POWER) || defined(__powerpc__) || \
|
||||
defined(__ppc__) || defined(__hppa) || \
|
||||
defined(__PPC__) || defined(__PPC64__) || \
|
||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
||||
- defined(__s390__) || \
|
||||
+ defined(__s390__) || defined(__s390x__) || \
|
||||
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
|
||||
(defined(__ia64) && defined(__BIG_ENDIAN__))
|
||||
#define SK_CPU_BENDIAN
|
||||
#else
|
||||
#define SK_CPU_LENDIAN
|
||||
#endif
|
||||
#endif
|
||||
|
@ -1,40 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent 883d2c7fec80b9714ccfefa461a02f5b09e3ee09
|
||||
Problem description: Tab-titles that are too long to fit into a tab get faded out.
|
||||
On big endian this is broken and instead of fading out, the
|
||||
tab gets white and the font transparent, leading to an unreadable
|
||||
tab-title
|
||||
Solution: This is not a real solution, but a hack. The real solution would have been
|
||||
to byte-swap the correct buffer, but I could not find it.
|
||||
So the next best thing is to deactivate the fading-effect. Now all tab-titles
|
||||
are readable, albeit not as pretty to look at as they could be.
|
||||
Side-effects: I have not yet found an unwanted side-effect.
|
||||
|
||||
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
|
||||
--- a/gfx/2d/DrawTargetSkia.cpp
|
||||
+++ b/gfx/2d/DrawTargetSkia.cpp
|
||||
@@ -1856,16 +1856,24 @@ void DrawTargetSkia::PushLayerWithBlend(
|
||||
}
|
||||
|
||||
SkCanvas::SaveLayerRec saveRec(
|
||||
aBounds.IsEmpty() ? nullptr : &bounds, &paint, nullptr, clipImage.get(),
|
||||
&clipMatrix,
|
||||
SkCanvas::kPreserveLCDText_SaveLayerFlag |
|
||||
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
|
||||
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ // Pushing a layer where an aMask is defined produces wrong output.
|
||||
+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
|
||||
+ // Therefore I deactivate those layers in the meantime.
|
||||
+ // The result is: Tab-titles that are longer than the available space should be faded out.
|
||||
+ // The fading doesn't work, so we deactivate the fading-effect here.
|
||||
+ if (!aMask)
|
||||
+#endif
|
||||
mCanvas->saveLayer(saveRec);
|
||||
|
||||
SetPermitSubpixelAA(aOpaque);
|
||||
|
||||
#ifdef MOZ_WIDGET_COCOA
|
||||
CGContextRelease(mCG);
|
||||
mCG = nullptr;
|
||||
#endif
|
@ -1,85 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1582805876 -3600
|
||||
# Thu Feb 27 13:17:56 2020 +0100
|
||||
# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158
|
||||
# Parent 9cd90914846f667f18babc491a74c164ae5d6e9f
|
||||
imported patch decoder_workaround.patch
|
||||
|
||||
diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
|
||||
--- a/image/decoders/nsGIFDecoder2.cpp Thu Feb 27 12:57:14 2020 +0100
|
||||
+++ b/image/decoders/nsGIFDecoder2.cpp Fri Mar 27 13:06:18 2020 +0100
|
||||
@@ -422,6 +422,9 @@
|
||||
MOZ_ASSERT(mSwizzleFn);
|
||||
uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
|
||||
mSwizzleFn(data, data, aColors);
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors);
|
||||
+#endif
|
||||
}
|
||||
|
||||
LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
|
||||
diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
|
||||
--- a/image/decoders/nsJPEGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
||||
+++ b/image/decoders/nsJPEGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
||||
@@ -263,6 +263,9 @@
|
||||
case JCS_YCbCr:
|
||||
// By default, we will output directly to BGRA. If we need to apply
|
||||
// special color transforms, this may change.
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
|
||||
+#else
|
||||
switch (SurfaceFormat::OS_RGBX) {
|
||||
case SurfaceFormat::B8G8R8X8:
|
||||
mInfo.out_color_space = JCS_EXT_BGRX;
|
||||
@@ -277,6 +280,7 @@
|
||||
mState = JPEG_ERROR;
|
||||
return Transition::TerminateFailure();
|
||||
}
|
||||
+#endif
|
||||
break;
|
||||
case JCS_CMYK:
|
||||
case JCS_YCCK:
|
||||
diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
|
||||
--- a/image/decoders/nsPNGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
||||
+++ b/image/decoders/nsPNGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
||||
@@ -361,7 +361,7 @@
|
||||
IResumable* aOnResume) {
|
||||
MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
|
||||
|
||||
- return mLexer.Lex(aIterator, aOnResume,
|
||||
+ LexerResult res = mLexer.Lex(aIterator, aOnResume,
|
||||
[=](State aState, const char* aData, size_t aLength) {
|
||||
switch (aState) {
|
||||
case State::PNG_DATA:
|
||||
@@ -371,6 +371,14 @@
|
||||
}
|
||||
MOZ_CRASH("Unknown State");
|
||||
});
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ if(res.is<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
|
||||
+ NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ return res;
|
||||
}
|
||||
|
||||
LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
|
||||
diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
|
||||
--- a/image/decoders/nsWebPDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
||||
+++ b/image/decoders/nsWebPDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
||||
@@ -237,7 +237,12 @@
|
||||
// WebP doesn't guarantee that the alpha generated matches the hint in the
|
||||
// header, so we always need to claim the input is BGRA. If the output is
|
||||
// BGRX, swizzling will mask off the alpha channel.
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ mBuffer.colorspace = MODE_ARGB;
|
||||
+ SurfaceFormat inFormat = mFormat;
|
||||
+#else
|
||||
SurfaceFormat inFormat = SurfaceFormat::OS_RGBA;
|
||||
+#endif
|
||||
|
||||
SurfacePipeFlags pipeFlags = SurfacePipeFlags();
|
||||
if (mFormat == SurfaceFormat::OS_RGBA &&
|
@ -3,7 +3,7 @@
|
||||
# Date 1559294891 -7200
|
||||
# Fri May 31 11:28:11 2019 +0200
|
||||
# Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
|
||||
# Parent eeedc49c16aba3b50d1547315a88091a1c765904
|
||||
# Parent edd7284c391b503b76bb5bb6321f24ab2f5f8bdf
|
||||
Description: Add KDE integration to Firefox (toolkit parts)
|
||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||
Author: Lubos Lunak <lunak@suse.com>
|
||||
@ -165,7 +165,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
|
||||
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||
--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||
+++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||
@@ -1252,36 +1252,66 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
@@ -1254,36 +1254,66 @@ nsUnknownContentTypeDialog.prototype = {
|
||||
params.handlerApp &&
|
||||
params.handlerApp.executable &&
|
||||
params.handlerApp.executable.isFile()
|
||||
@ -255,15 +255,15 @@ diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downlo
|
||||
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
@@ -13,16 +13,17 @@
|
||||
#include "nsPrintfCString.h"
|
||||
#include "nsNetCID.h"
|
||||
@@ -10,16 +10,17 @@
|
||||
#include "prnetdb.h"
|
||||
#include "prenv.h"
|
||||
#include "nsInterfaceHashtable.h"
|
||||
#include "nsHashtablesFwd.h"
|
||||
#include "nsHashKeys.h"
|
||||
#include "nsNetUtil.h"
|
||||
#include "nsISupportsPrimitives.h"
|
||||
#include "nsIGSettingsService.h"
|
||||
#include "nsInterfaceHashtable.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "nsIURI.h"
|
||||
+#include "nsKDEUtils.h"
|
||||
|
||||
using namespace mozilla;
|
||||
@ -273,7 +273,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSISYSTEMPROXYSETTINGS
|
||||
|
||||
@@ -36,16 +37,18 @@ class nsUnixSystemProxySettings final :
|
||||
@@ -33,16 +34,18 @@ class nsUnixSystemProxySettings final :
|
||||
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
||||
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection>
|
||||
mSchemeProxySettings;
|
||||
@ -292,7 +292,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
|
||||
// dbus prevents us from being threadsafe, but this routine should not block
|
||||
// anyhow
|
||||
@@ -381,21 +384,50 @@ nsresult nsUnixSystemProxySettings::GetP
|
||||
@@ -378,21 +381,50 @@ nsresult nsUnixSystemProxySettings::GetP
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -786,25 +786,6 @@ diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandle
|
||||
|
||||
/*
|
||||
* Check if a handler exists for the provided protocol. Check the datastore
|
||||
@@ -328,17 +328,17 @@ mozilla::ipc::IPCResult HandlerServicePa
|
||||
nsCOMPtr<nsIExternalProtocolService> protoSvc =
|
||||
do_GetService(NS_EXTERNALPROTOCOLSERVICE_CONTRACTID, &rv);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
*aHandlerExists = false;
|
||||
return IPC_OK();
|
||||
}
|
||||
rv = protoSvc->ExternalProtocolHandlerExists(aProtocolScheme.get(),
|
||||
aHandlerExists);
|
||||
-
|
||||
+##
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
*aHandlerExists = false;
|
||||
}
|
||||
#else
|
||||
MOZ_RELEASE_ASSERT(false, "No implementation on this platform.");
|
||||
*aHandlerExists = false;
|
||||
#endif
|
||||
return IPC_OK();
|
||||
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
||||
--- a/uriloader/exthandler/moz.build
|
||||
+++ b/uriloader/exthandler/moz.build
|
||||
@ -1825,7 +1806,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
# include "prmem.h"
|
||||
# include "plbase64.h"
|
||||
|
||||
@@ -2071,20 +2072,29 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
@@ -2097,20 +2098,29 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsLocalFile::Reveal() {
|
||||
@ -1857,7 +1838,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
::CFRelease(url);
|
||||
return rv;
|
||||
}
|
||||
@@ -2096,16 +2106,23 @@ nsLocalFile::Reveal() {
|
||||
@@ -2122,16 +2132,23 @@ nsLocalFile::Reveal() {
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsLocalFile::Launch() {
|
||||
|
@ -1,16 +1,16 @@
|
||||
# HG changeset patch
|
||||
# Parent 3802b7b2b99885f3ad4d2ec3e2c157e38d04a168
|
||||
# Parent 63747fd31719c6e4f7810512a3c57e75a02b8bfd
|
||||
|
||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
--- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||
@@ -31,16 +31,18 @@ static const char* sLibs[] = {
|
||||
"libavcodec.58.dylib",
|
||||
"libavcodec.57.dylib",
|
||||
"libavcodec.56.dylib",
|
||||
@@ -34,16 +34,18 @@ static const char* sLibs[] = {
|
||||
"libavcodec.55.dylib",
|
||||
"libavcodec.54.dylib",
|
||||
"libavcodec.53.dylib",
|
||||
#elif defined(XP_OPENBSD)
|
||||
"libavcodec.so", // OpenBSD hardly controls the major/minor library version
|
||||
// of ffmpeg and update it regulary on ABI/API changes
|
||||
#else
|
||||
"libavcodec.so.59",
|
||||
+ "libavcodec.so.58.134",
|
||||
|
File diff suppressed because it is too large
Load Diff
34
one_swizzle_to_rule_them_all.patch
Normal file
34
one_swizzle_to_rule_them_all.patch
Normal file
@ -0,0 +1,34 @@
|
||||
# HG changeset patch
|
||||
# User M. Sirringhaus <msirringhaus@suse.de>
|
||||
# Date 1645518286 -3600
|
||||
# Tue Feb 22 09:24:46 2022 +0100
|
||||
# Node ID 494640792b4677f6462e95b90a54a4e22aeb738b
|
||||
# Parent 81832d035e101471dcf52dd91de287268add7a91
|
||||
imported patch one_swizzle_to_rule_them_all.patch
|
||||
|
||||
Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
===================================================================
|
||||
--- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
+++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "RenderCompositorSWGL.h"
|
||||
|
||||
#include "mozilla/gfx/Logging.h"
|
||||
+#include "mozilla/gfx/Swizzle.h"
|
||||
#include "mozilla/widget/CompositorWidget.h"
|
||||
|
||||
#ifdef MOZ_WIDGET_GTK
|
||||
@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB
|
||||
}
|
||||
mDT->Flush();
|
||||
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ // One swizzle to rule them all.
|
||||
+ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
|
||||
+ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
|
||||
+ mDT->GetSize());
|
||||
+#endif
|
||||
+
|
||||
// Done with the DT. Hand it back to the widget and clear out any trace of it.
|
||||
mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion);
|
||||
mDirtyRegion.SetEmpty();
|
29
svg-rendering.patch
Normal file
29
svg-rendering.patch
Normal file
@ -0,0 +1,29 @@
|
||||
# HG changeset patch
|
||||
# User M. Sirringhaus <msirringhaus@suse.de>
|
||||
# Date 1645518286 -3600
|
||||
# Tue Feb 22 09:24:46 2022 +0100
|
||||
# Node ID 81832d035e101471dcf52dd91de287268add7a91
|
||||
# Parent 66f7ce16eb4965108687280e5443edd610631efb
|
||||
imported patch svg-rendering.patch
|
||||
|
||||
diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp
|
||||
--- a/image/imgFrame.cpp
|
||||
+++ b/image/imgFrame.cpp
|
||||
@@ -372,6 +372,17 @@ nsresult imgFrame::InitWithDrawable(gfxD
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
|
||||
+#if MOZ_BIG_ENDIAN()
|
||||
+ if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
|
||||
+ // SKIA is lying about what format it returns on big endian
|
||||
+ for (int ii=0; ii < mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
|
||||
+ uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
|
||||
+ uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 0xFF00FF );
|
||||
+ vals[ii] = (val << 16) | (val >> 16);
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (!canUseDataSurface) {
|
||||
// We used an offscreen surface, which is an "optimized" surface from
|
||||
// imgFrame's perspective.
|
@ -1,10 +1,10 @@
|
||||
PRODUCT="firefox"
|
||||
CHANNEL="release"
|
||||
VERSION="101.0.1"
|
||||
VERSION="102.0"
|
||||
VERSION_SUFFIX=""
|
||||
PREV_VERSION="101.0"
|
||||
PREV_VERSION="101.0.1"
|
||||
PREV_VERSION_SUFFIX=""
|
||||
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
|
||||
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
|
||||
RELEASE_TAG="c66093146ac832a0748f0f8a31139664abf73a42"
|
||||
RELEASE_TIMESTAMP="20220608170832"
|
||||
RELEASE_TAG="b6b2b8930fdfb037e4a743d0ac722a1f2b1b1447"
|
||||
RELEASE_TIMESTAMP="20220623063721"
|
||||
|
Loading…
Reference in New Issue
Block a user