Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package MozillaThunderbird for openSUSE:Factory checked in at 2021-08-24 10:54:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old) and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird" Tue Aug 24 10:54:07 2021 rev:259 rq:913013 version:91.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes 2021-08-16 10:05:37.875522539 +0200 +++ /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1899/MozillaThunderbird.changes 2021-08-24 10:54:34.412344733 +0200 @@ -1,0 +2,31 @@ +Tue Aug 17 07:19:15 UTC 2021 - Wolfgang Rosenauer <w...@rosenauer.org> + +- Mozilla Thunderbird 91.0.1 + MFSA 2021-37 (bsc#1189547) + * CVE-2021-29991 (bmo#1724896) + Header Splitting possible with HTTP/3 Responses +- appdate screenshot URL updated (by mailaen...@opensuse.org) + +------------------------------------------------------------------- +Sun Aug 15 17:21:46 UTC 2021 - Wolfgang Rosenauer <w...@rosenauer.org> + +- Mozilla Thunderbird 91.0 + * based on Mozilla's 91 ESR codebase + * many new and changed features + https://www.thunderbird.net/en-US/thunderbird/91.0/releasenotes/#whatsnew + * Renamed "Add-ons" to "Add-ons and Themes" and "Options" to "Preferences" + * Thunderbird now operates in multi-process (e10s) mode by default + * New user interface for adding attachments + * Enable redirect of messages + * CardDAV address book support +- Removed obsolete patches: + * mozilla-bmo1463035.patch + * mozilla-ppc-altivec_static_inline.patch + * mozilla-pipewire-0-3.patch + * mozilla-bmo1554971.patch +- add mozilla-libavcodec58_91.patch +- removed obsolete BigEndian ICU build workaround +- updated build requirements +- build using clang + +------------------------------------------------------------------- Old: ---- l10n-78.13.0.tar.xz mozilla-bmo1463035.patch mozilla-bmo1554971.patch mozilla-pipewire-0-3.patch mozilla-ppc-altivec_static_inline.patch thunderbird-78.13.0.source.tar.xz thunderbird-78.13.0.source.tar.xz.asc New: ---- l10n-91.0.1.tar.xz mozilla-libavcodec58_91.patch thunderbird-91.0.1.source.tar.xz thunderbird-91.0.1.source.tar.xz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaThunderbird.spec ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.124330545 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.124330545 +0200 @@ -25,20 +25,18 @@ # orig_suffix b3 # major 69 # mainver %major.99 -%define major 78 -%define mainver %major.13.0 -%define orig_version 78.13.0 +%define major 91 +%define mainver %major.0.1 +%define orig_version 91.0.1 %define orig_suffix %{nil} %define update_channel release %define source_prefix thunderbird-%{orig_version} -%if 0%{?suse_version} > 1500 -# PGO builds do not work in TW currently (bmo#1642410) +# PGO builds do not work in TW currently (bmo#1680306) %define do_profiling 0 -%endif # upstream default is clang (to use gcc for large parts set to 0) -%define clang_build 0 +%define clang_build 1 # PIE, full relro %define build_hardened 1 @@ -49,6 +47,16 @@ %bcond_with mozilla_tb_valgrind %bcond_without mozilla_tb_optimize_for_size +# define if ccache should be used or not +%define useccache 1 + +# Firefox only supports i686 +%ifarch %ix86 +ExclusiveArch: i586 i686 +BuildArch: i686 +%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic} +%endif + # general build definitions %define progname thunderbird %define pkgname MozillaThunderbird @@ -82,31 +90,33 @@ %else BuildRequires: gcc-c++ %endif -BuildRequires: cargo >= 1.41 +%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300 +BuildRequires: cargo >= 1.51 +BuildRequires: rust >= 1.51 +%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 +BuildRequires: rust+cargo >= 1.51 +%endif +%if 0%{useccache} != 0 BuildRequires: ccache +%endif BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libidl-devel -BuildRequires: mozilla-nspr-devel >= 4.25.1 -BuildRequires: mozilla-nss-devel >= 3.53.1 +BuildRequires: mozilla-nspr-devel >= 4.32 +BuildRequires: mozilla-nss-devel >= 3.68 BuildRequires: nasm >= 2.14 -BuildRequires: nodejs >= 10.21.0 -# Leap 15 still requires python2 for BE (ICU creation) -%if 0%{?suse_version} < 1550 -BuildRequires: python-devel -BuildRequires: python2-xml -%endif +BuildRequires: nodejs >= 10.22.1 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 -# SLE12 exception BuildRequires: python-libxml2 BuildRequires: python36 %else -# TW is python2 free BuildRequires: python3 >= 3.5 BuildRequires: python3-devel %endif -BuildRequires: rust >= 1.41 -BuildRequires: rust-cbindgen >= 0.14.1 +BuildRequires: rust-cbindgen >= 0.19.0 BuildRequires: unzip BuildRequires: update-desktop-files BuildRequires: xorg-x11-libXt-devel @@ -127,9 +137,7 @@ BuildRequires: pkgconfig(gdk-x11-2.0) BuildRequires: pkgconfig(glib-2.0) >= 2.22 BuildRequires: pkgconfig(gobject-2.0) -BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0 BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0 -BuildRequires: pkgconfig(gtk+-unix-print-2.0) BuildRequires: pkgconfig(gtk+-unix-print-3.0) BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libpulse) @@ -179,28 +187,25 @@ Patch2: mozilla-kde.patch Patch3: mozilla-ntlm-full-path.patch Patch4: mozilla-aarch64-startup-crash.patch -Patch5: mozilla-bmo1463035.patch Patch6: mozilla-sandbox-fips.patch Patch7: mozilla-fix-aarch64-libopus.patch Patch8: mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch Patch9: mozilla-s390-context.patch Patch11: mozilla-reduce-rust-debuginfo.patch -Patch12: mozilla-ppc-altivec_static_inline.patch Patch13: mozilla-bmo1005535.patch Patch14: mozilla-bmo1568145.patch Patch15: mozilla-bmo1504834-part1.patch Patch16: mozilla-bmo1504834-part2.patch Patch17: mozilla-bmo1504834-part3.patch -Patch18: mozilla-bmo1554971.patch Patch19: mozilla-bmo1512162.patch Patch20: mozilla-fix-top-level-asm.patch Patch21: mozilla-bmo1504834-part4.patch Patch22: mozilla-bmo849632.patch -Patch23: mozilla-pipewire-0-3.patch Patch24: mozilla-bmo1602730.patch Patch25: mozilla-bmo998749.patch Patch26: mozilla-bmo1626236.patch Patch27: mozilla-s390x-skia-gradient.patch +Patch28: mozilla-libavcodec58_91.patch %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /bin/sh @@ -281,30 +286,25 @@ %endif %patch3 -p1 %patch4 -p1 -%patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch11 -p1 -%patch12 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 -%patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 -%if %{with_pipewire0_3} -%patch23 -p1 -%endif %patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 +%patch28 -p1 %endif %build @@ -343,6 +343,8 @@ export MOZILLA_OFFICIAL=1 export BUILD_OFFICIAL=1 export MOZ_TELEMETRY_REPORTING=1 +export MOZ_REQUIRE_SIGNING= +export MACH_USE_SYSTEM_PYTHON=1 %if 0%{?suse_version} <= 1320 export CC=gcc-9 %else @@ -380,6 +382,7 @@ echo "export MOZILLA_OFFICIAL=1" echo "export BUILD_OFFICIAL=1" echo "export MOZ_TELEMETRY_REPORTING=1" +echo "export MOZ_REQUIRE_SIGNING=" echo "" cat << EOF %else @@ -389,13 +392,14 @@ %limit_build -m 2000 %endif # TODO: Check if this can be removed -export MOZ_DEBUG_FLAGS="-pipe" +#export MOZ_DEBUG_FLAGS="-pipe" 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} mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj +ac_add_options --disable-bootstrap ac_add_options --prefix=%{_prefix} ac_add_options --libdir=%{_libdir} ac_add_options --includedir=%{_includedir} @@ -420,7 +424,9 @@ #%endif ac_add_options --with-system-nspr ac_add_options --with-system-nss +%if 0%{useccache} != 0 ac_add_options --with-ccache +%endif ac_add_options --with-system-zlib ac_add_options --disable-updater ac_add_options --disable-tests @@ -449,7 +455,7 @@ %endif %ifarch x86_64 # LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506) -%if 0%{?suse_version} > 1500 +%if 0%{?suse_version} > 1500 && 0%{?suse_version} < 1550 ac_add_options --enable-lto %if 0%{?do_profiling} ac_add_options MOZ_PGO=1 @@ -462,17 +468,9 @@ %endif EOF %if !%{with only_print_mozconfig} -%ifarch ppc64 s390x s390 -# NOTE: Currently, system-icu is too old, so we can't build with that, -# but have to generate the .dat-file freshly. This seems to be a -# less fragile approach anyways. -# ac_add_options --with-system-icu -echo "Generate big endian version of config/external/icu/data/icud58l.dat" -./mach python intl/icu_sources_data.py . -ls -l config/external/icu/data -rm -f config/external/icu/data/icudt*l.dat -%endif +%if 0%{useccache} != 0 ccache -s +%endif %if 0%{?do_profiling} xvfb-run --server-args="-screen 0 1920x1080x24" \ %endif @@ -640,8 +638,6 @@ %{progdir}/application.ini %{progdir}/dependentlibs.list %{progdir}/fonts/ -%dir %{progdir}/gtk2 -%{progdir}/gtk2/libmozgtk.so %{progdir}/*.so %{progdir}/omni.ja %{progdir}/pingsender ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.204330439 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.208330434 +0200 @@ -2,7 +2,7 @@ <constraints> <hardware> <disk> - <size unit="G">24</size> + <size unit="G">36</size> </disk> <memory> <size unit="G">9</size> ++++++ l10n-78.13.0.tar.xz -> l10n-91.0.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-78.13.0.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1899/l10n-91.0.1.tar.xz differ: char 26, line 1 ++++++ mozilla-aarch64-startup-crash.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.248330381 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.248330381 +0200 @@ -3,14 +3,19 @@ # Date 1558442998 -7200 # Tue May 21 14:49:58 2019 +0200 # Node ID 386083b58d8558141901d796ec6919a4aba7ad3a -# Parent 835641be7eb9408aa1eff0d38b37f6c523d2ef98 +# Parent a30a9b9aae5740f096a16118ed9e4bc45d3d1c35 bsc#991344 - Rpi3: Firefox crashes after a few seconds of usage bmo#1302554 - ARM/AARCH64: Firefox crashes on NULL nsIChannel** result pointer in nsIOService::NewChannelFromURIWithProxyFlagsInternal() -diff -r 835641be7eb9 -r 386083b58d85 netwerk/base/nsIOService.cpp ---- a/netwerk/base/nsIOService.cpp Fri Feb 26 16:20:09 2016 +0000 -+++ b/netwerk/base/nsIOService.cpp Tue May 21 14:49:58 2019 +0200 -@@ -1000,7 +1000,13 @@ +diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp +--- a/netwerk/base/nsIOService.cpp ++++ b/netwerk/base/nsIOService.cpp +@@ -1032,17 +1032,23 @@ nsresult nsIOService::NewChannelFromURIW + "doesn't support nsIUploadChannel2. An extension has " + "supplied a non-functional http protocol handler. This will " + "break behavior and in future releases not work at all."); + } + gHasWarnedUploadChannel2 = true; } } @@ -24,3 +29,8 @@ return NS_OK; } + NS_IMETHODIMP + nsIOService::NewChannelFromURIWithProxyFlags( + nsIURI* aURI, nsIURI* aProxyURI, uint32_t aProxyFlags, + nsINode* aLoadingNode, nsIPrincipal* aLoadingPrincipal, + nsIPrincipal* aTriggeringPrincipal, uint32_t aSecurityFlags, ++++++ mozilla-bmo1005535.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.260330365 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.260330365 +0200 @@ -3,13 +3,18 @@ # Date 1558451540 -7200 # Tue May 21 17:12:20 2019 +0200 # Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad -# Parent 0b9b94a6526d4f1aa6e23b95c1f5f7c0bef841a7 +# Parent c0fdccc716e80a6d289c94f5d507ae141c62a3bf Bug 1005535 - Get skia GPU building on big endian. -diff -r 0b9b94a6526d gfx/skia/skia/src/gpu/GrColor.h ---- a/gfx/skia/skia/src/gpu/GrColor.h Tue May 21 17:26:58 2019 +0200 -+++ b/gfx/skia/skia/src/gpu/GrColor.h Wed Jan 08 12:14:52 2020 +0100 -@@ -64,7 +64,7 @@ +diff --git a/gfx/skia/skia/src/gpu/GrColor.h b/gfx/skia/skia/src/gpu/GrColor.h +--- a/gfx/skia/skia/src/gpu/GrColor.h ++++ b/gfx/skia/skia/src/gpu/GrColor.h +@@ -59,17 +59,17 @@ static inline GrColor GrColorPackRGBA(un + #define GrColorUnpackG(color) (((color) >> GrColor_SHIFT_G) & 0xFF) + #define GrColorUnpackB(color) (((color) >> GrColor_SHIFT_B) & 0xFF) + #define GrColorUnpackA(color) (((color) >> GrColor_SHIFT_A) & 0xFF) + + /** * Since premultiplied means that alpha >= color, we construct a color with * each component==255 and alpha == 0 to be "illegal" */ @@ -18,3 +23,8 @@ /** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */ static inline float GrNormalizeByteToFloat(uint8_t value) { + static const float ONE_OVER_255 = 1.f / 255.f; + return value * ONE_OVER_255; + } + + /** Used to pick vertex attribute types. */ ++++++ mozilla-bmo1504834-part1.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.272330349 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.276330344 +0200 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 9db312f823881c04c5c16a7623df08cf6aef371d +# Parent b5471d23321d16a0bacc25b7afd27d2e16adba1a Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834 diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp --- a/gfx/2d/DrawTargetSkia.cpp +++ b/gfx/2d/DrawTargetSkia.cpp -@@ -131,18 +131,17 @@ static IntRect CalculateSurfaceBounds(co +@@ -130,18 +130,17 @@ static IntRect CalculateSurfaceBounds(co Rect sampledBounds = inverse.TransformBounds(*aBounds); if (!sampledBounds.ToIntRect(&bounds)) { return surfaceBounds; @@ -28,7 +28,7 @@ diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h --- a/gfx/2d/Types.h +++ b/gfx/2d/Types.h -@@ -82,25 +82,18 @@ enum class SurfaceFormat : int8_t { +@@ -84,25 +84,18 @@ enum class SurfaceFormat : int8_t { Depth, // This represents the unknown format. ++++++ mozilla-bmo1504834-part2.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.300330312 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.304330307 +0200 @@ -1,14 +1,19 @@ # HG changeset patch -# Parent 0e579dcbf7328dda4512cbdafc9b42acec4935ea +# 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 -r 0e579dcbf732 gfx/2d/ConvolutionFilter.cpp ---- a/gfx/2d/ConvolutionFilter.cpp Wed Jan 08 12:17:44 2020 +0100 -+++ b/gfx/2d/ConvolutionFilter.cpp Wed Jan 08 12:17:49 2020 +0100 -@@ -35,9 +35,38 @@ +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; } @@ -47,7 +52,11 @@ } void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst, -@@ -49,8 +78,26 @@ + 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); @@ -74,10 +83,20 @@ } /* ConvolutionFilter::ComputeResizeFactor is derived from Skia's -diff -r 0e579dcbf732 gfx/skia/skia/include/core/SkPreConfig.h ---- a/gfx/skia/skia/include/core/SkPreConfig.h Wed Jan 08 12:17:44 2020 +0100 -+++ b/gfx/skia/skia/include/core/SkPreConfig.h Wed Jan 08 12:17:49 2020 +0100 -@@ -73,7 +73,7 @@ + * 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__) || \ @@ -86,3 +105,8 @@ (defined(__sh__) && defined(__BIG_ENDIAN__)) || \ (defined(__ia64) && defined(__BIG_ENDIAN__)) #define SK_CPU_BENDIAN + #else + #define SK_CPU_LENDIAN + #endif + #endif + ++++++ mozilla-bmo1504834-part3.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.316330291 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.316330291 +0200 @@ -1,12 +1,17 @@ # HG changeset patch -# Parent aecb4600e5da17443b224c79eee178c1d8e155e3 +# Parent d1d66f7e4d0e7fd45e91e4fcee07555e72046d48 For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white). -diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h ---- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200 -+++ b/gfx/skia/skia/include/private/SkNx.h Mon Sep 09 10:04:06 2019 +0200 -@@ -238,7 +238,18 @@ +diff --git a/gfx/skia/skia/include/private/SkNx.h b/gfx/skia/skia/include/private/SkNx.h +--- a/gfx/skia/skia/include/private/SkNx.h ++++ b/gfx/skia/skia/include/private/SkNx.h +@@ -233,17 +233,28 @@ struct SkNx<1,T> { + AI SkNx operator<<(int bits) const { return fVal << bits; } + AI SkNx operator>>(int bits) const { return fVal >> bits; } + + AI SkNx operator+(const SkNx& y) const { return fVal + y.fVal; } + AI SkNx operator-(const SkNx& y) const { return fVal - y.fVal; } AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; } AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; } @@ -25,10 +30,20 @@ AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); } AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); } -diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h ---- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200 -+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Mon Sep 09 10:04:06 2019 +0200 -@@ -203,7 +203,13 @@ + AI SkNx operator==(const SkNx& y) const { return FromBits(fVal == y.fVal ? ~0 : 0); } + AI SkNx operator!=(const SkNx& y) const { return FromBits(fVal != y.fVal ? ~0 : 0); } + AI SkNx operator<=(const SkNx& y) const { return FromBits(fVal <= y.fVal ? ~0 : 0); } + AI SkNx operator>=(const SkNx& y) const { return FromBits(fVal >= y.fVal ? ~0 : 0); } + AI SkNx operator< (const SkNx& y) const { return FromBits(fVal < y.fVal ? ~0 : 0); } +diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h +--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h ++++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h +@@ -198,17 +198,23 @@ namespace SK_OPTS_NS { + const SkAlpha* mask, size_t maskRB, + int w, int h) { + auto fn = [](const Sk4px& d, const Sk4px& aa) { + // = (s + d(1-sa))aa + d(1-aa) + // = s*aa + d(1-sa*aa) // ~~~> // a = 1*aa + d(1-1*aa) = aa + d(1-aa) // c = 0*aa + d(1-1*aa) = d(1-aa) @@ -42,3 +57,8 @@ + d.approxMulDiv255(aa.inv()); }; while (h --> 0) { + Sk4px::MapDstAlpha(w, dst, mask, fn); + dst += dstRB / sizeof(*dst); + mask += maskRB / sizeof(*mask); + } + } ++++++ mozilla-bmo1504834-part4.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.332330269 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.332330269 +0200 @@ -1,19 +1,24 @@ # HG changeset patch -# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec +# 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 + 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. + 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 -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp ---- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200 -+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100 -@@ -1861,6 +1861,14 @@ +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)); @@ -28,3 +33,8 @@ mCanvas->saveLayer(saveRec); SetPermitSubpixelAA(aOpaque); + + #ifdef MOZ_WIDGET_COCOA + CGContextRelease(mCG); + mCG = nullptr; + #endif ++++++ mozilla-bmo1512162.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.348330248 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.348330248 +0200 @@ -1,12 +1,17 @@ # HG changeset patch -# Parent e5858dc7ab007042436496f7cfb9a5abf10f5082 +# Parent f9f5af4c88f2f3172a4f30d7e42bd2131bf24146 This fixes a broken build for gcc < 9 on ppc64le. This patch can be removed for newer gcc-versions. -diff -r e5858dc7ab00 -r 5d3469aabe61 js/xpconnect/src/XPCWrappedNative.cpp ---- a/js/xpconnect/src/XPCWrappedNative.cpp Thu Nov 29 10:07:29 2018 +0100 -+++ b/js/xpconnect/src/XPCWrappedNative.cpp Tue Sep 10 12:42:13 2019 +0200 -@@ -1092,7 +1092,11 @@ +diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp +--- a/js/xpconnect/src/XPCWrappedNative.cpp ++++ b/js/xpconnect/src/XPCWrappedNative.cpp +@@ -1072,17 +1072,21 @@ class MOZ_STACK_CLASS CallMethodHelper f + uint32_t* result); + + MOZ_ALWAYS_INLINE bool GetInterfaceTypeFromParam(const nsXPTType& type, + nsID* result) const; + MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex, MutableHandleValue srcp) const; @@ -19,7 +24,17 @@ MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath(); -@@ -1139,7 +1143,11 @@ + nsXPTCVariant* GetDispatchParam(uint8_t paramIndex) { + if (paramIndex >= mJSContextIndex) { + paramIndex += 1; + } + if (paramIndex >= mOptArgcIndex) { +@@ -1119,17 +1123,21 @@ class MOZ_STACK_CLASS CallMethodHelper f + + { + // Success checked later. + mIFaceInfo->GetMethodInfo(mVTableIndex, &mMethodInfo); + } ~CallMethodHelper(); @@ -32,3 +47,8 @@ // Trace implementation so we can put our CallMethodHelper in a Rooted<T>. void trace(JSTracer* aTrc); + }; + + // static + bool XPCWrappedNative::CallMethod(XPCCallContext& ccx, + CallMode mode /*= CALL_METHOD */) { ++++++ mozilla-bmo1568145.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.360330233 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.360330233 +0200 @@ -8,10 +8,14 @@ for the definition of this variable. diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py -index 6f72697..d4cca96 100644 --- a/python/mozbuild/mozbuild/action/langpack_manifest.py +++ b/python/mozbuild/mozbuild/action/langpack_manifest.py -@@ -16,6 +16,7 @@ import os +@@ -11,16 +11,17 @@ + from __future__ import absolute_import, print_function, unicode_literals + + import argparse + import sys + import os import json import io import datetime @@ -19,7 +23,17 @@ import requests import mozversioncontrol import mozpack.path as mozpath -@@ -100,7 +101,7 @@ def get_timestamp_for_locale(path): + from mozpack.chrome.manifest import ( + Manifest, + ManifestLocale, + parse_manifest, + ) +@@ -100,17 +101,17 @@ def get_dt_from_hg(path): + # ts == "20170914215617" + ### + def get_timestamp_for_locale(path): + dt = None + if os.path.isdir(os.path.join(path, ".hg")): dt = get_dt_from_hg(path) if dt is None: @@ -28,3 +42,8 @@ dt = dt.replace(microsecond=0) return dt.strftime("%Y%m%d%H%M%S") + + + ### + # Parses multiple defines files into a single key-value pair object. + # ++++++ mozilla-bmo849632.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.384330201 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.384330201 +0200 @@ -1,12 +1,20 @@ +# HG changeset patch +# Parent 3de59fe1b8708c01e134ce698c4232b8a854f617 Problem: webGL sites are displayed in the wrong color (usually blue-ish) Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only knows how to deal with little endian. So we swizzle the output of webgl after reading it from readpixels() Note: This does not fix all webGL sites, but is a step in the right direction -diff -r 6b017d3e9733 gfx/gl/GLContext.h ---- a/gfx/gl/GLContext.h Mon Sep 09 10:04:05 2019 +0200 -+++ b/gfx/gl/GLContext.h Wed Nov 13 17:13:04 2019 +0100 -@@ -1551,6 +1551,13 @@ + +diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h +--- a/gfx/gl/GLContext.h ++++ b/gfx/gl/GLContext.h +@@ -1548,16 +1548,23 @@ class GLContext : public GenericAtomicRe + AFTER_GL_CALL; + } + + void raw_fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, GLvoid* pixels) { BEFORE_GL_CALL; mSymbols.fReadPixels(x, y, width, height, format, type, pixels); OnSyncCall(); @@ -20,4 +28,8 @@ AFTER_GL_CALL; mHeavyGLCallsSinceLastFlush = true; } - + + void fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, + GLenum format, GLenum type, GLvoid* pixels); + + public: ++++++ mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.400330180 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.400330180 +0200 @@ -1,6 +1,15 @@ ---- a/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:25:13.260881532 +0200 -+++ b/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:24:35.164589301 +0200 -@@ -243,7 +243,7 @@ using mozilla::DebugOnly; +# HG changeset patch +# Parent 9bc02ee6567ae3f1dad1f8578e650c0a1faa0179 + +diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp +--- a/js/src/wasm/WasmSignalHandlers.cpp ++++ b/js/src/wasm/WasmSignalHandlers.cpp +@@ -240,17 +240,17 @@ using mozilla::DebugOnly; + // Those definitions are however not present in the headers of every Linux + // distro - Raspbian is known to be a problem, for example. However those + // distros are tier-3 platforms. + // + // If you run into compile problems on a tier-3 platform, you can disable the // emulation here. #if defined(__linux__) && defined(__arm__) @@ -9,3 +18,8 @@ #endif #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS + # include <sys/user.h> + #endif + + #if defined(ANDROID) + // Not all versions of the Android NDK define ucontext_t or mcontext_t. ++++++ mozilla-fix-aarch64-libopus.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.408330169 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.412330164 +0200 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent 1317782cd47f1d1f2410712a1dd283b305393eae +# Parent 2640f2f68373b7bec776bb11d3b3fb75c72a8adb diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c --- a/media/libopus/silk/arm/arm_silk_map.c ++++++ mozilla-fix-top-level-asm.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.420330153 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.424330148 +0200 @@ -8,28 +8,50 @@ 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build -index aae85843e9f6..208368dfd189 100644 --- a/security/sandbox/linux/moz.build +++ b/security/sandbox/linux/moz.build -@@ -61,7 +61,6 @@ UNIFIED_SOURCES += [ - '../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc', - '../chromium/sandbox/linux/bpf_dsl/syscall_set.cc', - '../chromium/sandbox/linux/seccomp-bpf/die.cc', -- '../chromium/sandbox/linux/seccomp-bpf/syscall.cc', - 'broker/SandboxBrokerCommon.cpp', - 'Sandbox.cpp', - 'SandboxBrokerClient.cpp', -@@ -77,6 +76,7 @@ UNIFIED_SOURCES += [ +@@ -66,32 +66,32 @@ UNIFIED_SOURCES += [ + "../chromium/base/time/time_now_posix.cc", + "../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc", + "../chromium/sandbox/linux/bpf_dsl/codegen.cc", + "../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc", + "../chromium/sandbox/linux/bpf_dsl/policy.cc", + "../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc", + "../chromium/sandbox/linux/bpf_dsl/syscall_set.cc", + "../chromium/sandbox/linux/seccomp-bpf/die.cc", +- "../chromium/sandbox/linux/seccomp-bpf/syscall.cc", + "broker/SandboxBrokerCommon.cpp", + "Sandbox.cpp", + "SandboxBrokerClient.cpp", + "SandboxFilter.cpp", + "SandboxFilterUtil.cpp", + "SandboxHooks.cpp", + "SandboxInfo.cpp", + "SandboxLogging.cpp", + "SandboxOpenedFiles.cpp", + "SandboxReporterClient.cpp", + ] + SOURCES += [ - '../chromium/base/strings/safe_sprintf.cc', - '../chromium/base/third_party/icu/icu_utf.cc', -+ '../chromium/sandbox/linux/seccomp-bpf/syscall.cc', - '../chromium/sandbox/linux/seccomp-bpf/trap.cc', - '../chromium/sandbox/linux/services/syscall_wrappers.cc', + "../chromium/base/strings/safe_sprintf.cc", + "../chromium/base/third_party/icu/icu_utf.cc", ++ "../chromium/sandbox/linux/seccomp-bpf/syscall.cc", + "../chromium/sandbox/linux/seccomp-bpf/trap.cc", + "../chromium/sandbox/linux/services/syscall_wrappers.cc", ] -@@ -96,6 +96,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'): - SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags += [ - '-Wno-empty-body', + + # This copy of SafeSPrintf doesn't need to avoid the Chromium logging + # dependency like the one in libxul does, but this way the behavior is + # consistent. See also the comment in SandboxLogging.h. + SOURCES["../chromium/base/strings/safe_sprintf.cc"].flags += ["-DNDEBUG"] +@@ -105,16 +105,19 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc") + "-Wno-unreachable-code-return" + ] + + if CONFIG["CC_TYPE"] in ("clang", "gcc"): + CXXFLAGS += ["-Wno-shadow", "-Wno-error=stack-protector"] + SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags += [ + "-Wno-empty-body", ] + SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [ + '-fno-lto' @@ -37,6 +59,8 @@ # gcc lto likes to put the top level asm in syscall.cc in a different partition # from the function using it which breaks the build. Work around that by --- -2.23.0 - + # forcing there to be only one partition. + for f in CONFIG["OS_CXXFLAGS"]: + if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang": + LDFLAGS += ["--param lto-partitions=1"] + ++++++ mozilla-kde.patch ++++++ ++++ 736 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-kde.patch ++++ and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1899/mozilla-kde.patch ++++++ mozilla-libavcodec58_91.patch ++++++ # HG changeset patch # Parent e4abeadbbb7a0c63c17177f1d14ea04c77c6128e 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 @@ -22,23 +22,27 @@ class FFmpegDecoderModule { static already_AddRefed<PlatformDecoderModule> Create(FFmpegLibWrapper*); }; static FFmpegLibWrapper sLibAV; static const char* sLibs[] = { // clang-format off #if defined(XP_DARWIN) + "libavcodec.58.134.dylib", + "libavcodec.58.91.dylib", "libavcodec.58.dylib", "libavcodec.57.dylib", "libavcodec.56.dylib", "libavcodec.55.dylib", "libavcodec.54.dylib", "libavcodec.53.dylib", #else + "libavcodec.so.58.134", + "libavcodec.so.58.91", "libavcodec.so.58", "libavcodec-ffmpeg.so.58", "libavcodec-ffmpeg.so.57", "libavcodec-ffmpeg.so.56", "libavcodec.so.57", "libavcodec.so.56", "libavcodec.so.55", "libavcodec.so.54", ++++++ mozilla-nongnome-proxies.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.456330105 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.456330105 +0200 @@ -3,33 +3,42 @@ # Date 1558442915 -7200 # Tue May 21 14:48:35 2019 +0200 # Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5 -# Parent 4c434d19d03d5461e54fa22dfb82eaed4cd6631b +# Parent bd5d1f49975deb730064a16b3079edb53c4a5f84 Do not use gconf for proxy settings if not running within Gnome Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp =================================================================== RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v retrieving revision 1.1 -diff -r 4c434d19d03d -r 6bcf2dfebc1e toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp ---- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Wed Jun 12 17:43:18 2019 +0000 -+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Tue May 21 14:48:35 2019 +0200 -@@ -55,11 +55,14 @@ +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 +@@ -49,20 +49,24 @@ NS_IMETHODIMP + nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { + // dbus prevents us from being threadsafe, but this routine should not block + // anyhow + *aMainThreadOnly = true; + return NS_OK; } void nsUnixSystemProxySettings::Init() { - mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); - if (mGSettings) { -- mGSettings->GetCollectionForSchema( -- NS_LITERAL_CSTRING("org.gnome.system.proxy"), -- getter_AddRefs(mProxySettings)); +- mGSettings->GetCollectionForSchema("org.gnome.system.proxy"_ns, +- getter_AddRefs(mProxySettings)); + const char* sessionType = PR_GetEnv("DESKTOP_SESSION"); + if (sessionType && !strcmp(sessionType, "gnome")) { + mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); + if (mGSettings) { + mGSettings->GetCollectionForSchema( -+ NS_LITERAL_CSTRING("org.gnome.system.proxy"), ++ "org.gnome.system.proxy"_ns, + getter_AddRefs(mProxySettings)); + } } } + nsresult nsUnixSystemProxySettings::GetPACURI(nsACString& aResult) { + if (mProxySettings) { + nsCString proxyMode; + // Check if mode is auto + nsresult rv = mProxySettings->GetString("mode"_ns, proxyMode); ++++++ mozilla-ntlm-full-path.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.468330090 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.468330090 +0200 @@ -1,7 +1,7 @@ # HG changeset patch # User Petr Cerny <pce...@novell.com> # Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6 -# Parent 6ab277cf616dc2748e9855101100a97a6cec10a6 +# Parent 2361c5db1e70e358b2158325e07fa15bb4569c2c Bug 634334 - call to the ntlm_auth helper fails diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp ++++++ mozilla-reduce-rust-debuginfo.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.480330073 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.480330073 +0200 @@ -1,54 +1,28 @@ -# HG changeset patch -# User msirringh...@suse.de -# Date 1560754926 -7200 -# Mon Jun 17 09:02:06 2019 +0200 -# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11 -# Parent fa1cf8b9cb4efdf89fe19e543fb54272b726a353 -#Description: reduce the rust debuginfo level on selected architectures where -# compiling with debuginfo=2 causes the OOM killer to interrupt the build on -# launchpad builders. Initially this was only on 32 bit architectures, but with -# firefox 63 it started happening frequently on arm64 and ppc64el too. - -diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure ---- a/build/moz.configure/toolchain.configure -+++ b/build/moz.configure/toolchain.configure -@@ -1861,18 +1861,18 @@ imply_option('RUSTC_OPT_LEVEL', '2', whe - @depends('RUSTC_OPT_LEVEL', moz_optimize) - def rustc_opt_level(opt_level_option, moz_optimize): - if opt_level_option: - return opt_level_option[0] - else: - return '1' if moz_optimize.optimize else '0' - - --@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers') --def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers): -+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers', host) -+def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers, host): +diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure +--- a/build/moz.configure/rust.configure ++++ b/build/moz.configure/rust.configure +@@ -610,6 +610,7 @@ set_config("CARGO_PROFILE_DEV_OPT_LEVEL" + "--enable-frame-pointers", + path_remapping, + path_remappings, ++ host + ) + def rust_compile_flags( + opt_level, +@@ -619,6 +620,7 @@ def rust_compile_flags( + frame_pointers, + path_remapping, + path_remappings, ++ host + ): # Cargo currently supports only two interesting profiles for building: # development and release. Those map (roughly) to --enable-debug and - # --disable-debug in Gecko, respectively. - # - # But we'd also like to support an additional axis of control for - # optimization level. Since Cargo only supports 2 profiles, we're in - # a bit of a bind. - # -@@ -1885,16 +1885,18 @@ def rust_compile_flags(opt_level, debug_ - - # opt-level=0 implies -C debug-assertions, which may not be desired - # unless Rust debugging is enabled. - if opt_level == '0' and not debug_rust: - debug_assertions = False +@@ -642,6 +644,8 @@ def rust_compile_flags( if debug_symbols: - debug_info = '2' -+# if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64': # Just reduce debug_info for all archs -+ debug_info = '1' + debug_info = "2" ++ if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64' or host.cpu == 's390x': ++ debug_info = '1' opts = [] - if opt_level is not None: - opts.append('opt-level=%s' % opt_level) - if debug_assertions is not None: - opts.append('debug-assertions=%s' % - ('yes' if debug_assertions else 'no')) ++++++ mozilla-s390-context.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.492330058 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.492330058 +0200 @@ -3,13 +3,18 @@ # Date 1558452408 -7200 # Tue May 21 17:26:48 2019 +0200 # Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4 -# Parent a3cc550d25e3a04d906f516928cbcbe50efd585e +# Parent cb0089687ab899846b8229c3741261d50101340e [mq]: mozilla-s390-context.patch -diff -r a3cc550d25e3 -r 602e92722e76 js/src/wasm/WasmSignalHandlers.cpp ---- a/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:22:06 2019 +0200 -+++ b/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:26:48 2019 +0200 -@@ -154,6 +154,10 @@ +diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp +--- a/js/src/wasm/WasmSignalHandlers.cpp ++++ b/js/src/wasm/WasmSignalHandlers.cpp +@@ -150,16 +150,20 @@ using mozilla::DebugOnly; + # define FP_sig(p) ((p)->uc_mcontext.mc_fp) + # define SP_sig(p) ((p)->uc_mcontext.mc_i7) + # endif + # if defined(__linux__) && (defined(__ppc64__) || defined(__PPC64__) || \ + defined(__ppc64le__) || defined(__PPC64LE__)) # define R01_sig(p) ((p)->uc_mcontext.gp_regs[1]) # define R32_sig(p) ((p)->uc_mcontext.gp_regs[32]) # endif @@ -20,7 +25,17 @@ #elif defined(__NetBSD__) # define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP]) # define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP]) -@@ -385,8 +389,13 @@ + # define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP]) + # define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP]) + # define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP]) + # define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP]) + # define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11]) +@@ -381,18 +385,23 @@ struct macos_arm_context { + # define FP_sig(p) RFP_sig(p) + # define SP_sig(p) RSP_sig(p) + # define LR_sig(p) R31_sig(p) + #elif defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \ + defined(__PPC64LE__) # define PC_sig(p) R32_sig(p) # define SP_sig(p) R01_sig(p) # define FP_sig(p) R01_sig(p) @@ -34,3 +49,8 @@ static void SetContextPC(CONTEXT* context, uint8_t* pc) { #ifdef PC_sig *reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc; + #else + MOZ_CRASH(); + #endif + } + ++++++ mozilla-sandbox-fips.patch ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.508330037 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.508330037 +0200 @@ -1,16 +1,49 @@ -From: meiss...@suse.com +From: meiss...@suse.com, cgrobert...@suse.com Subject: allow Firefox to access addtional process information -Reference: http://bugzilla.suse.com/show_bug.cgi?id=1167132 +References: +http://bugzilla.suse.com/show_bug.cgi?id=1167132 +bsc#1174284 - Firefox tab just crashed in FIPS mode -Index: firefox-74.0/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp -=================================================================== ---- firefox-74.0.orig/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp -+++ firefox-74.0/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp -@@ -276,6 +276,7 @@ SandboxBrokerPolicyFactory::SandboxBroke +diff --git a/security/sandbox/linux/Sandbox.cpp b/security/sandbox/linux/Sandbox.cpp +--- a/security/sandbox/linux/Sandbox.cpp ++++ b/security/sandbox/linux/Sandbox.cpp +@@ -647,16 +647,17 @@ void SetMediaPluginSandbox(const char* a + SANDBOX_LOG_ERROR("failed to open plugin file %s: %s", aFilePath, + strerror(errno)); + MOZ_CRASH("failed while trying to open the plugin file "); + } + + auto files = new SandboxOpenedFiles(); + files->Add(std::move(plugin)); + files->Add("/dev/urandom", true); ++ files->Add("/dev/random", true); + files->Add("/etc/ld.so.cache"); // Needed for NSS in clearkey. + files->Add("/sys/devices/system/cpu/cpu0/tsc_freq_khz"); + files->Add("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"); + files->Add("/proc/cpuinfo"); // Info also available via CPUID instruction. + files->Add("/proc/sys/crypto/fips_enabled"); // Needed for NSS in clearkey. + #ifdef __i386__ + files->Add("/proc/self/auxv"); // Info also in process's address space. + #endif +diff --git a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp +--- a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp ++++ b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp +@@ -308,16 +308,18 @@ void SandboxBrokerPolicyFactory::InitCon + policy->AddDir(rdwr, "/dev/dri"); + } + + // Bug 1575985: WASM library sandbox needs RW access to /dev/null + policy->AddPath(rdwr, "/dev/null"); // Read permissions policy->AddPath(rdonly, "/dev/urandom"); ++ policy->AddPath(rdonly, "/dev/random"); + policy->AddPath(rdonly, "/proc/sys/crypto/fips_enabled"); policy->AddPath(rdonly, "/proc/cpuinfo"); policy->AddPath(rdonly, "/proc/meminfo"); policy->AddDir(rdonly, "/sys/devices/cpu"); + policy->AddDir(rdonly, "/sys/devices/system/cpu"); + policy->AddDir(rdonly, "/lib"); + policy->AddDir(rdonly, "/lib64"); + policy->AddDir(rdonly, "/usr/lib"); + policy->AddDir(rdonly, "/usr/lib32"); ++++++ mozilla.sh.in ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.540329994 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.540329994 +0200 @@ -58,6 +58,8 @@ MOZ_DIST_LIB="%PROGDIR" MOZ_APPNAME="%APPNAME" MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin" +MOZ_LANGPACKS_DIR="$MOZ_DIST_LIB/langpacks" +MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh" if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then @@ -91,6 +93,84 @@ fi ## +## Use D-Bus remote exclusively when there's Wayland display. +## +if [ "$WAYLAND_DISPLAY" ]; then + export MOZ_DBUS_REMOTE=1 +fi + +# xinput2 (boo#1173320) +source /etc/os-release +if [ "$ID" = "opensuse-tumbleweed" ]; then + export MOZ_USE_XINPUT2=1 +fi + +## +## To disable the use of Firefox localization handling for +## the home profile, set MOZ_DISABLE_LANGPACKS=1 +## in your environment before launching Firefox. +## currently disabled by default since langpacks +## are shipped as app sideloading addons +## +# +MOZ_DISABLE_LANGPACKS=1 +export MOZ_DISABLE_LANGPACKS +# + +## +## Automatically installed langpacks are tracked by .suse-langpack-install +## config file. +## +SUSE_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.suse-langpack-install" + +# MOZ_DISABLE_LANGPACKS disables language packs completely +MOZILLA_DOWN=0 +if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then + if [ -x $MOZ_PROGRAM ]; then + # Is firefox running? + /bin/pidof %APPNAME% > /dev/null 2>&1 + MOZILLA_DOWN=$? + fi +fi + +# Modify language pack configuration only when firefox is not running +# and language packs are not disabled +if [ $MOZILLA_DOWN -ne 0 ]; then + # Clear already installed langpacks + mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR + if [ -f $SUSE_LANGPACK_CONFIG ]; then + rm `cat $SUSE_LANGPACK_CONFIG` > /dev/null 2>&1 + rm $SUSE_LANGPACK_CONFIG > /dev/null 2>&1 + # remove all empty langpacks dirs while they block installation of langpacks + rmdir $MOZ_EXTENSIONS_PROFILE_DIR/langpack* > /dev/null 2>&1 + fi + # Get locale from system + CURRENT_LOCALE=$LC_ALL + CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES} + CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG} + # Try with a local variant first, then without a local variant + SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g" | sed "s|\..*||g"` + MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g" | sed "s|\..*||g"` + function create_langpack_link() { + local language=$* + local langpack=langpack-${language}@firefox.mozilla.org.xpi + if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then + rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack + # If the target file is a symlink (the fallback langpack), + # install the original file instead of the fallback one + if [ -h $MOZ_LANGPACKS_DIR/$langpack ]; then + langpack=`readlink $MOZ_LANGPACKS_DIR/$langpack` + fi + ln -s $MOZ_LANGPACKS_DIR/$langpack \ + $MOZ_EXTENSIONS_PROFILE_DIR/$langpack + echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $SUSE_LANGPACK_CONFIG + return 0 + fi + return 1 + } + create_langpack_link $MOZLOCALE || create_langpack_link $SHORTMOZLOCALE || true +fi + moz_debug=0 script_args="" ++++++ tar_stamps ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.580329942 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.592329925 +0200 @@ -1,10 +1,10 @@ PRODUCT="thunderbird" -CHANNEL="esr78" -VERSION="78.13.0" +CHANNEL="esr91" +VERSION="91.0.1" VERSION_SUFFIX="" -PREV_VERSION="78.12.0" +PREV_VERSION="91.0" PREV_VERSION_SUFFIX="" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation -RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr78" -RELEASE_TAG="adcfedf831da719455116546865f9a5faea848a6" -RELEASE_TIMESTAMP="20210802223056" +RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr91" +RELEASE_TAG="8c371f7adbc855a95bf2ff35477be78069319573" +RELEASE_TIMESTAMP="20210816195200" ++++++ thunderbird-78.13.0.source.tar.xz -> thunderbird-91.0.1.source.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-78.13.0.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1899/thunderbird-91.0.1.source.tar.xz differ: char 15, line 1 ++++++ thunderbird.appdata.xml ++++++ --- /var/tmp/diff_new_pack.DxT3jf/_old 2021-08-24 10:54:45.656329840 +0200 +++ /var/tmp/diff_new_pack.DxT3jf/_new 2021-08-24 10:54:45.656329840 +0200 @@ -17,6 +17,6 @@ </description> <url type="homepage">https://www.thunderbird.net/</url> <screenshots> - <screenshot type="default">https://addons.cdn.mozilla.net/user-media/previews/full/60/60940.png</screenshot> + <screenshot type="default">https://upload.wikimedia.org/wikipedia/commons/9/9d/Mozilla_Thunderbird_GNOME.png</screenshot> </screenshots> </application>