Hello community,

here is the log from the commit of package MozillaThunderbird for 
openSUSE:Factory checked in at 2020-10-03 18:55:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
 and      /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "MozillaThunderbird"

Sat Oct  3 18:55:52 2020 rev:238 rq:838449 version:78.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes    
2020-09-09 17:48:06.078483088 +0200
+++ 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.4249/MozillaThunderbird.changes
  2020-10-03 18:56:08.097524319 +0200
@@ -1,0 +2,54 @@
+Fri Sep 25 06:25:54 UTC 2020 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 78.3.1
+  * fix crash in nsImapProtocol::CreateNewLineFromSocket (bmo#1667120)
+
+-------------------------------------------------------------------
+Wed Sep 23 21:04:45 UTC 2020 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 78.3.0
+  MFSA 2020-44 (bsc#1176756)
+  * CVE-2020-15677 (bmo#1641487)
+    Download origin spoofing via redirect
+  * CVE-2020-15676 (bmo#1646140)
+    XSS when pasting attacker-controlled data into a
+    contenteditable element
+  * CVE-2020-15678 (bmo#1660211)
+    When recursing through layers while scrolling, an iterator
+    may have become invalid, resulting in a potential use-after-
+    free scenario
+  * CVE-2020-15673 (bmo#1648493, bmo#1660800)
+    Memory safety bugs fixed in Thunderbird 78.3
+- requires NSPR >= 4.25.1
+- removed obsolete thunderbird-bmo1664607.patch
+
+-------------------------------------------------------------------
+Sun Sep 13 20:10:39 UTC 2020 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 78.2.2
+  https://www.thunderbird.net/en-US/thunderbird/78.2.2/releasenotes
+- added thunderbird-bmo1664607.patch required for builds w/o updater
+  (boo#1176384)
+
+-------------------------------------------------------------------
+Mon Aug 31 12:08:25 UTC 2020 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 78.2.1
+  * based on Mozilla's 78 ESR codebase
+  * many new and changed features
+    https://www.thunderbird.net/en-US/thunderbird/78.0/releasenotes/#whatsnew
+  * built-in OpenPGP support (enigmail neither required nor supported)
+- added platform patches:
+  * mozilla-s390x-skia-gradient.patch
+  * mozilla-pipewire-0-3.patch
+  * mozilla-bmo1512162.patch
+  * mozilla-bmo1626236.patch
+  * mozilla-bmo998749.patch
+  * mozilla-sandbox-fips.patch
+- removed obsolete platform patches
+  * mozilla-s390-bigendian.patch
+  * mozilla-nestegg-big-endian.patch
+  * mozilla-openaes-decl.patch
+  * mozilla-cubeb-noreturn.patch
+
+-------------------------------------------------------------------

Old:
----
  l10n-68.12.0.tar.xz
  mozilla-cubeb-noreturn.patch
  mozilla-nestegg-big-endian.patch
  mozilla-openaes-decl.patch
  mozilla-s390-bigendian.patch
  thunderbird-68.12.0.source.tar.xz
  thunderbird-68.12.0.source.tar.xz.asc

New:
----
  l10n-78.3.1.tar.xz
  mozilla-bmo1512162.patch
  mozilla-bmo1626236.patch
  mozilla-bmo998749.patch
  mozilla-pipewire-0-3.patch
  mozilla-s390x-skia-gradient.patch
  mozilla-sandbox-fips.patch
  spellcheck.js
  thunderbird-78.3.1.source.tar.xz
  thunderbird-78.3.1.source.tar.xz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.101558658 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.109558668 +0200
@@ -25,14 +25,19 @@
 # orig_suffix b3
 # major 69
 # mainver %major.99
-%define major           68
-%define mainver         %major.12.0
-%define orig_version    68.12.0
+%define major          78
+%define mainver        %major.3.1
+%define orig_version   78.3.1
 %define orig_suffix     %{nil}
 %define update_channel  release
-%define source_prefix   thunderbird-%{mainver}
+%define source_prefix  thunderbird-%{orig_version}
 
-# always build with GCC as SUSE Security Team requires that
+%if 0%{?suse_version} > 1500
+# PGO builds do not work in TW currently (bmo#1642410)
+%define do_profiling   0
+%endif
+
+# upstream default is clang (to use gcc for large parts set to 0)
 %define clang_build 0
 
 # PIE, full relro
@@ -47,6 +52,7 @@
 # general build definitions
 %define progname thunderbird
 %define pkgname  MozillaThunderbird
+%define srcname  thunderbird
 %define appname  Thunderbird
 %define progdir %{_prefix}/%_lib/%{progname}
 %define gnome_dir     %{_prefix}
@@ -55,8 +61,13 @@
 %define __requires_exclude 
^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*)$
 %define localize 1
 %define crashreporter 0
-
-%define has_system_cairo 0
+%if 0%{?sle_version} > 150100
+# pipewire is too old on Leap <=15.1
+# Activate only on everything newer
+%define with_pipewire0_3 1
+%else
+%define with_pipewire0_3 0
+%endif
 
 Name:           %{pkgname}
 BuildRequires:  Mesa-devel
@@ -64,55 +75,63 @@
 BuildRequires:  autoconf213
 BuildRequires:  dbus-1-glib-devel
 BuildRequires:  fdupes
+BuildRequires:  memory-constraints
 %if 0%{?suse_version} <= 1320
-BuildRequires:  gcc7-c++
+BuildRequires:  gcc9-c++
 %else
 BuildRequires:  gcc-c++
 %endif
-BuildRequires:  cargo >= 1.34
-#BuildRequires:  hunspell-devel
+BuildRequires:  cargo >= 1.41
+BuildRequires:  ccache
 BuildRequires:  libXcomposite-devel
 BuildRequires:  libcurl-devel
 BuildRequires:  libidl-devel
-BuildRequires:  libnotify-devel
-BuildRequires:  memory-constraints
-BuildRequires:  mozilla-nspr-devel >= 4.21
-BuildRequires:  mozilla-nss-devel >= 3.44.4
-BuildRequires:  nasm >= 2.13
-BuildRequires:  nodejs10 >= 10.19.0
+BuildRequires:  mozilla-nspr-devel >= 4.25.1
+BuildRequires:  mozilla-nss-devel >= 3.53.1
+BuildRequires:  nasm >= 2.14
+BuildRequires:  nodejs10 >= 10.21.0
 BuildRequires:  python-devel
+%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
+BuildRequires:  python-libxml2
+BuildRequires:  python36
+%else
 BuildRequires:  python2-xml
 BuildRequires:  python3 >= 3.5
-BuildRequires:  rust >= 1.34
-BuildRequires:  rust-cbindgen >= 0.8.7
-BuildRequires:  startup-notification-devel
+%endif
+BuildRequires:  rust >= 1.41
+BuildRequires:  rust-cbindgen >= 0.14.1
 BuildRequires:  unzip
 BuildRequires:  update-desktop-files
 BuildRequires:  xorg-x11-libXt-devel
+%if 0%{?do_profiling}
+BuildRequires:  xvfb-run
+%endif
 BuildRequires:  xz
 BuildRequires:  yasm
 BuildRequires:  zip
 %if 0%{?suse_version} < 1550
 BuildRequires:  pkgconfig(gconf-2.0) >= 1.2.1
 %endif
+%if (0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000)
+BuildRequires:  clang6-devel
+%else
+BuildRequires:  clang-devel >= 5
+%endif
 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.4.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)
+%if %{with_pipewire0_3}
+BuildRequires:  pkgconfig(libpipewire-0.3)
+%endif
 %if %{with mozilla_tb_valgrind}
 BuildRequires:  pkgconfig(valgrind)
 %endif
-%if 0%{?suse_version} > 1320
-BuildRequires:  llvm-clang-devel >= 3.9.0
-%else
-# this covers the workaround to compile on Leap 42 in OBS
-BuildRequires:  clang4-devel
-%endif
 # libavcodec is required for H.264 support but the
 # openSUSE version is currently not able to play H.264
 # therefore the Packman version is required
@@ -136,55 +155,57 @@
 Group:          Productivity/Networking/Email/Clients
 URL:            https://www.thunderbird.net/
 %if !%{with only_print_mozconfig}
-Source:         
http://ftp.mozilla.org/pub/%{progname}/releases/%{orig_version}%{orig_suffix}/source/%{progname}-%{orig_version}%{orig_suffix}.source.tar.xz
+Source:         
http://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz
 Source1:        thunderbird.desktop
 Source2:        thunderbird-rpmlintrc
 Source3:        mozilla.sh.in
 Source4:        tar_stamps
 Source6:        suse-default-prefs.js
-Source7:        l10n-%{version}.tar.xz
+Source7:        l10n-%{orig_version}%{orig_suffix}.tar.xz
 Source9:        thunderbird.appdata.xml
+Source13:       spellcheck.js
 Source14:       
https://github.com/openSUSE/firefox-scripts/raw/5e54f4a/create-tar.sh
-Source20:       
https://ftp.mozilla.org/pub/%{progname}/releases/%{orig_version}%{orig_suffix}/source/%{progname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
-Source21:       
https://ftp.mozilla.org/pub/%{progname}/releases/%{orig_version}/KEY#/mozilla.keyring
+Source20:       
https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
+Source21:       
https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring
 # Gecko/Toolkit
 Patch1:         mozilla-nongnome-proxies.patch
 Patch2:         mozilla-kde.patch
 Patch3:         mozilla-ntlm-full-path.patch
-Patch4:         mozilla-openaes-decl.patch
-Patch5:         mozilla-aarch64-startup-crash.patch
-Patch6:         mozilla-bmo1463035.patch
-Patch7:         mozilla-cubeb-noreturn.patch
-Patch8:         mozilla-fix-aarch64-libopus.patch
-Patch9:         mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
-Patch10:        mozilla-s390-context.patch
-Patch11:        mozilla-s390-bigendian.patch
-Patch12:        mozilla-reduce-rust-debuginfo.patch
-Patch13:        mozilla-ppc-altivec_static_inline.patch
-Patch14:        mozilla-bmo1005535.patch
-Patch15:        mozilla-bmo1568145.patch
-Patch16:        mozilla-bmo849632.patch
-Patch17:        mozilla-bmo1504834-part1.patch
-Patch18:        mozilla-bmo1504834-part2.patch
-Patch19:        mozilla-bmo1504834-part3.patch
-Patch20:        mozilla-bmo1602730.patch
-Patch21:        mozilla-bmo1554971.patch
-Patch22:        mozilla-nestegg-big-endian.patch
-Patch24:        mozilla-fix-top-level-asm.patch
-Patch25:        mozilla-bmo1504834-part4.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
 %endif # only_print_mozconfig
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 PreReq:         coreutils fileutils textutils /bin/sh
-Recommends:     libcanberra0
-Recommends:     libpulse0
-### build options
-%define has_system_cairo 0
 ### build options end
 Requires:       mozilla-nspr >= %(rpm -q --queryformat '%%{VERSION}' 
mozilla-nspr)
 Requires:       mozilla-nss >= %(rpm -q --queryformat '%%{VERSION}' 
mozilla-nss)
+Recommends:     libcanberra0
+Recommends:     libpulse0
 Requires(post): desktop-file-utils
 Requires(postun): desktop-file-utils
 %define libgssapi libgssapi_krb5.so.2
+ExcludeArch:    armv6l armv6hl
 
 %description
 Thunderbird is a free, open-source, cross-platform application for
@@ -207,7 +228,7 @@
 %package translations-other
 Summary:        Extra translations for %{appname}
 Group:          System/Localization
-Provides:       
locale(%{name}:ast;be;bg;br;cak;cy;dsb;et;eu;fy_NL;ga_IE;gd;gl;he;hr;hsb;hy_AM;id;is;ka;kab;kk;lt;ms;nn_NO;rm;ro;si;sk;sl;sq;sr;tr;uk;uz;vi)
+Provides:       
locale(%{name}:ach;af;an;ast;az;be;bg;bn;br;bs;cak;cy;dsb;en_CA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;ia;id;is;ka;kab;kk;km;kn;lij;lt;lv;mk;mr;ms;my;ne_NP;nn_NO;oc;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;ur;uz;vi;xh)
 Requires:       %{name} = %{version}
 Obsoletes:      %{name}-translations < %{version}-%{release}
 
@@ -237,9 +258,10 @@
     echo "Translations tarball %{SOURCE7} not generated properly."
     exit 1
 fi
-%setup -q -n %{source_prefix} -b 7
+
+%setup -q -n %{srcname}-%{orig_version} -b 7
 %else
-%setup -q -n %{source_prefix}
+%setup -q -n %{srcname}-%{orig_version}
 %endif
 %patch1 -p1
 %if %{with mozilla_tb_kde4}
@@ -252,10 +274,7 @@
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
-%patch10 -p1
-%ifarch s390x ppc64
 %patch11 -p1
-%endif
 %patch12 -p1
 %patch13 -p1
 %patch14 -p1
@@ -267,18 +286,30 @@
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
+%if %{with_pipewire0_3}
+%patch23 -p1
+%endif
 %patch24 -p1
 %patch25 -p1
+%patch26 -p1
+%patch27 -p1
 %endif # only_print_mozconfig
 
 %build
 %if !%{with only_print_mozconfig}
-%define _lto_cflags %{nil}
 # no need to add build time to binaries
 modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
 DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
 TIME="\"$(date -d "${modified}" "+%%R")\""
 find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i 
"s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
+
+# SLE-12 provides python36, but that package does not provide a python3 binary
+%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
+sed -i "s/python3/python36/g" configure.in
+sed -i "s/python3/python36/g" mach
+export PYTHON3=/usr/bin/python36
+%endif
+
 #
 %if %{with mozilla_tb_kde4}
 kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define 
KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
@@ -291,13 +322,17 @@
 
 source %{SOURCE4}
 
-export SUSE_ASNEEDED=0
+export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
+export MOZ_SOURCE_CHANGESET=$RELEASE_TAG
+export SOURCE_REPO=$RELEASE_REPO
+export source_repo=$RELEASE_REPO
+export MOZ_SOURCE_REPO=$RELEASE_REPO
 export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP
 export MOZILLA_OFFICIAL=1
 export BUILD_OFFICIAL=1
 export MOZ_TELEMETRY_REPORTING=1
 %if 0%{?suse_version} <= 1320
-export CC=gcc-7
+export CC=gcc-9
 %else
 %if 0%{?clang_build} == 0
 export CC=gcc
@@ -322,37 +357,42 @@
 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
+%ifarch ppc64 ppc64le
+%limit_build -m 2500
+%else
 %limit_build -m 2000
+%endif
+# TODO: Check if this can be removed
 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_MILESTONE_RELEASE=1
-%if 0%{?suse_version} > 1320
-%ifarch i586
-mk_add_options MOZ_MAKE_FLAGS=-j1
-%else
 mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
-%endif
-%endif
 mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj
 ac_add_options --prefix=%{_prefix}
-ac_add_options --libdir=%{progdir}
+ac_add_options --libdir=%{_libdir}
 ac_add_options --includedir=%{_includedir}
 ac_add_options --enable-application=comm/mail
-ac_add_options --enable-calendar
-ac_add_options --disable-tests
-ac_add_options --disable-debug
-ac_add_options --enable-alsa
+ac_add_options --enable-release
+%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
 ac_add_options --enable-default-toolkit=cairo-gtk3
-%if 0%{?suse_version} >= 1550
-ac_add_options --disable-gconf
+%else
+ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
 %endif
 # bmo#1441155 - Disable the generation of Rust debug symbols on Linux32
 %ifarch %ix86 %arm
@@ -360,27 +400,27 @@
 %else
 ac_add_options --enable-debug-symbols
 %endif
-%if 0%{?suse_version} > 1549
+# building with elf-hack started to fail everywhere with FF73
+#%if 0%{?suse_version} > 1549
 %ifnarch aarch64 ppc64 ppc64le s390x
 ac_add_options --disable-elf-hack
 %endif
-%endif
+#%endif
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
-ac_add_options --with-system-zlib
-%if 0%{?localize}
+ac_add_options --with-ccache
+%if %{localize}
 ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
 %endif
+ac_add_options --with-system-zlib
 ac_add_options --disable-updater
-#ac_add_options --with-system-png # no apng support
-#ac_add_options --enable-system-hunspell
-ac_add_options --enable-startup-notification
+ac_add_options --disable-tests
+ac_add_options --enable-alsa
+ac_add_options --disable-debug
 ac_add_options --disable-necko-wifi
 ac_add_options --enable-update-channel=%{update_channel}
-%if %has_system_cairo
-ac_add_options --enable-system-cairo
-%endif
 ac_add_options --with-unsigned-addon-scopes=app
+ac_add_options --allow-addon-sideload
 ac_add_options --enable-official-branding
 %if ! %crashreporter
 ac_add_options --disable-crashreporter
@@ -402,12 +442,15 @@
 # LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
 %if 0%{?suse_version} > 1500
 ac_add_options --enable-lto
+%if 0%{?do_profiling}
+ac_add_options MOZ_PGO=1
 %endif
 %endif
 %if %{with mozilla_tb_valgrind}
 ac_add_options --disable-jemalloc
 ac_add_options --enable-valgrind
 %endif
+%endif
 EOF
 %if !%{with only_print_mozconfig}
 %ifarch ppc64 s390x s390
@@ -420,7 +463,11 @@
 ls -l config/external/icu/data
 rm -f config/external/icu/data/icudt*l.dat
 %endif
-./mach build
+ccache -s
+%if 0%{?do_profiling}
+xvfb-run --server-args="-screen 0 1920x1080x24" \
+%endif
+./mach build -v
 
 # build additional locales
 %if %localize
@@ -448,32 +495,16 @@
 
 %install
 cd $RPM_BUILD_DIR/obj
+source %{SOURCE4}
+export MOZ_SOURCE_STAMP=$RELEASE_TAG
+export MOZ_SOURCE_REPO=$RELEASE_REPO
 make -C comm/mail/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
 # copy tree into RPM_BUILD_ROOT
 mkdir -p %{buildroot}%{progdir}
 cp -rf $RPM_BUILD_DIR/obj/dist/%{progname}/* %{buildroot}%{progdir}
 
-%if %localize
-# repack the lightning xpi with all available locales (boo#939153) (lp#545778)
-_extid="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
-rm -rf _lightning
-mkdir -p _lightning
-unzip -q -d _lightning 
"%{buildroot}%{progdir}/distribution/extensions/${_extid}.xpi"
-_langpacks=$(cd "%{buildroot}%{progdir}/extensions/" && find langpack-* -type 
d -prune -print|cut -d'-' -f2-|cut -d'@' -f1)
-for _loc in $_langpacks ; do
-    
_dir="%{buildroot}%{progdir}/extensions/langpack-${_loc}@thunderbird.mozilla.org"
-    _dir="${_dir}/distribution/extensions/${_extid}"
-    test -d "_lightning/chrome/calendar-${_loc}" && continue
-    test -d "_lightning/chrome/lightning-${_loc}" && continue
-    test -f "${_dir}/chrome.manifest" || continue
-    cp -rL "${_dir}"/chrome/{calendar,lightning}-"${_loc}" _lightning/chrome/
-    cat "${_dir}/chrome.manifest" >> _lightning/chrome.manifest
-done
-(cd _lightning && zip -q9r ../"${_extid}.xpi" *)
-cp -p "${_extid}.xpi" %{buildroot}%{progdir}/distribution/extensions/
-%endif
 # remove some executable permissions
-find %{buildroot}%{_libdir}/%{progname}  \
+find %{buildroot}%{progdir} \
     -name "*.js" -o \
     -name "*.jsm" -o \
     -name "*.rdf" -o \
@@ -489,7 +520,7 @@
 mkdir --parents %{buildroot}%{_bindir}/
 sed "s:%%PREFIX:%{_prefix}:g
 s:%%PROGDIR:%{progdir}:g
-s:%%APPNAME:thunderbird:g
+s:%%APPNAME:%{progname}:g
 s:%%PROFILE:.thunderbird:g" \
   %{SOURCE3} > %{buildroot}%{progdir}/%{progname}.sh
 chmod 755 %{buildroot}%{progdir}/%{progname}.sh
@@ -570,8 +601,6 @@
 %attr(755,root,root) %{progdir}/%{progname}.sh
 %dir %{progdir}
 %{progdir}/application.ini
-%{progdir}/blocklist.xml
-%{progdir}/chrome.manifest
 %{progdir}/dependentlibs.list
 %{progdir}/fonts/
 %dir %{progdir}/gtk2
@@ -591,7 +620,6 @@
 %endif
 %dir %{progdir}/chrome/
 %{progdir}/chrome/icons/
-%{progdir}/distribution/
 %{progdir}/defaults/
 %{progdir}/features/
 %{progdir}/isp/

++++++ l10n-68.12.0.tar.xz -> l10n-78.3.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-68.12.0.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.4249/l10n-78.3.1.tar.xz 
differ: char 8, line 1

++++++ mozilla-bmo1005535.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.289558867 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.289558867 +0200
@@ -3,13 +3,13 @@
 # Date 1558451540 -7200
 #      Tue May 21 17:12:20 2019 +0200
 # Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
-# Parent  42c99b59a87b904063bad3193f10c51d068d2eac
+# Parent  0b9b94a6526d4f1aa6e23b95c1f5f7c0bef841a7
 Bug 1005535 - Get skia GPU building on big endian.
 
-diff -r 42c99b59a87b -r 433beec63e6b gfx/skia/skia/include/private/GrColor.h
---- a/gfx/skia/skia/include/private/GrColor.h  Wed Jun 05 08:48:08 2019 +0200
-+++ b/gfx/skia/skia/include/private/GrColor.h  Tue May 21 17:12:20 2019 +0200
-@@ -63,7 +63,7 @@
+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 @@
   *  Since premultiplied means that alpha >= color, we construct a color with
   *  each component==255 and alpha == 0 to be "illegal"
   */

++++++ mozilla-bmo1463035.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.301558880 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.301558880 +0200
@@ -1,9 +1,9 @@
-
 # HG changeset patch
 # User Mike Hommey <mh+mozi...@glandium.org>
 # Date 1526871862 -32400
-# Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43
-# Parent  fc741a5ea37dbe145e0ca5f85e5dfb100f3c9091
+#      Mon May 21 12:04:22 2018 +0900
+# Node ID 74a0c200d7f748a3fe46bb22a38625b074da8e26
+# Parent  0bf4a038a7129aa6bfd7bb27e7455ab649344ac5
 Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
 
 For some reason, GNU as is not happy with the assembly generated after
@@ -12,39 +12,10 @@
 OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
 workaround anymore, so let's just kill it.
 
-diff --git a/mfbt/moz.build b/mfbt/moz.build
---- a/mfbt/moz.build
-+++ b/mfbt/moz.build
-@@ -122,20 +122,16 @@ EXPORTS["double-conversion"] = [
- LOCAL_INCLUDES += [
-     '/mfbt/double-conversion',
- ]
- 
- if CONFIG['OS_ARCH'] == 'WINNT':
-     EXPORTS.mozilla += [
-         'WindowsVersion.h',
-     ]
--elif CONFIG['OS_ARCH'] == 'Linux':
--    EXPORTS.mozilla += [
--        'LinuxSignal.h',
--    ]
- 
- UNIFIED_SOURCES += [
-     'Assertions.cpp',
-     'ChaosMode.cpp',
-     'double-conversion/double-conversion/bignum-dtoa.cc',
-     'double-conversion/double-conversion/bignum.cc',
-     'double-conversion/double-conversion/cached-powers.cc',
-     'double-conversion/double-conversion/diy-fp.cc',
-diff --git a/tools/profiler/core/platform-linux-android.cpp 
b/tools/profiler/core/platform-linux-android.cpp
---- a/tools/profiler/core/platform-linux-android.cpp
-+++ b/tools/profiler/core/platform-linux-android.cpp
-@@ -55,17 +55,16 @@
- #ifdef __GLIBC__
- #  include <execinfo.h>  // backtrace, backtrace_symbols
- #endif                   // def __GLIBC__
- #include <strings.h>     // index
- #include <errno.h>
+diff -r 0bf4a038a712 -r 74a0c200d7f7 
mozglue/baseprofiler/core/platform-linux-android.cpp
+--- a/mozglue/baseprofiler/core/platform-linux-android.cpp     Tue May 21 
14:49:58 2019 +0200
++++ b/mozglue/baseprofiler/core/platform-linux-android.cpp     Mon May 21 
12:04:22 2018 +0900
+@@ -60,7 +60,6 @@
  #include <stdarg.h>
  
  #include "prenv.h"
@@ -52,17 +23,7 @@
  #include "mozilla/PodOperations.h"
  #include "mozilla/DebugOnly.h"
  
- #include <string.h>
- #include <list>
- 
- using namespace mozilla;
- 
-@@ -248,17 +247,17 @@ Sampler::Sampler(PSLockRef aLock)
- 
-   // NOTE: We don't initialize LUL here, instead initializing it in
-   // SamplerThread's constructor. This is because with the
-   // profiler_suspend_and_sample_thread entry point, we want to be able to
-   // sample without waiting for LUL to be initialized.
+@@ -271,7 +270,7 @@
  
    // Request profiling signals.
    struct sigaction sa;
@@ -71,8 +32,15 @@
    sigemptyset(&sa.sa_mask);
    sa.sa_flags = SA_RESTART | SA_SIGINFO;
    if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
-     MOZ_CRASH("Error installing SIGPROF handler in the profiler");
-   }
- }
+diff -r 0bf4a038a712 -r 74a0c200d7f7 
tools/profiler/core/platform-linux-android.cpp
+--- a/tools/profiler/core/platform-linux-android.cpp   Tue May 21 14:49:58 
2019 +0200
++++ b/tools/profiler/core/platform-linux-android.cpp   Mon May 21 12:04:22 
2018 +0900
+@@ -263,7 +263,7 @@
  
- void Sampler::Disable(PSLockRef aLock) {
+   // Request profiling signals.
+   struct sigaction sa;
+-  sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
++  sa.sa_sigaction = SigprofHandler;
+   sigemptyset(&sa.sa_mask);
+   sa.sa_flags = SA_RESTART | SA_SIGINFO;
+   if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {

++++++ mozilla-bmo1504834-part1.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.313558893 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.313558893 +0200
@@ -1,11 +1,16 @@
 # HG changeset patch
-# Parent  051b75a600dfbf7503c3485cebfd34d4eb29be96
+# Parent  9db312f823881c04c5c16a7623df08cf6aef371d
 Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
 
-diff -r 051b75a600df gfx/2d/DrawTargetSkia.cpp
---- a/gfx/2d/DrawTargetSkia.cpp        Fri Jul 05 12:42:44 2019 +0200
-+++ b/gfx/2d/DrawTargetSkia.cpp        Mon Jul 08 10:59:30 2019 +0200
-@@ -138,8 +138,7 @@
+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
+   Rect sampledBounds = inverse.TransformBounds(*aBounds);
+   if (!sampledBounds.ToIntRect(&bounds)) {
+     return surfaceBounds;
+   }
+ 
    return surfaceBounds.Intersect(bounds);
  }
  
@@ -15,38 +20,68 @@
  
  static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
                               const int32_t aStride, SurfaceFormat aFormat) {
-diff -r 051b75a600df gfx/2d/Types.h
---- a/gfx/2d/Types.h   Fri Jul 05 12:42:44 2019 +0200
-+++ b/gfx/2d/Types.h   Mon Jul 08 10:59:30 2019 +0200
-@@ -85,15 +85,8 @@
+   if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) {
+     return true;
+   }
+   // We should've initialized the data to be opaque already
+   // On debug builds, verify that this is actually true.
+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 {
+   Depth,
+ 
+   // This represents the unknown format.
+   UNKNOWN,
+ 
  // The following values are endian-independent synonyms. The _UINT32 suffix
  // indicates that the name reflects the layout when viewed as a uint32_t
  // value.
--#if MOZ_LITTLE_ENDIAN
+-#if MOZ_LITTLE_ENDIAN()
    A8R8G8B8_UINT32 = B8G8R8A8,  // 0xAARRGGBB
-   X8R8G8B8_UINT32 = B8G8R8X8   // 0x00RRGGBB
--#elif MOZ_BIG_ENDIAN
+   X8R8G8B8_UINT32 = B8G8R8X8,  // 0x00RRGGBB
+-#elif MOZ_BIG_ENDIAN()
 -  A8R8G8B8_UINT32 = A8R8G8B8,  // 0xAARRGGBB
--  X8R8G8B8_UINT32 = X8R8G8B8   // 0x00RRGGBB
+-  X8R8G8B8_UINT32 = X8R8G8B8,  // 0x00RRGGBB
 -#else
 -#  error "bad endianness"
 -#endif
- };
  
- static inline int BytesPerPixel(SurfaceFormat aFormat) {
-diff -r 051b75a600df gfx/skia/skia/third_party/skcms/skcms.cc
---- a/gfx/skia/skia/third_party/skcms/skcms.cc Fri Jul 05 12:42:44 2019 +0200
-+++ b/gfx/skia/skia/third_party/skcms/skcms.cc Mon Jul 08 10:59:30 2019 +0200
-@@ -17,6 +17,8 @@
-     #include <arm_neon.h>
- #elif defined(__SSE__)
-     #include <immintrin.h>
+   // The following values are OS and endian-independent synonyms.
+   //
+   // TODO(aosmond): When everything blocking bug 1581828 has been resolved, we
+   // can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms.
+   OS_RGBA = A8R8G8B8_UINT32,
+   OS_RGBX = X8R8G8B8_UINT32
+ };
+diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc 
b/gfx/skia/skia/third_party/skcms/skcms.cc
+--- a/gfx/skia/skia/third_party/skcms/skcms.cc
++++ b/gfx/skia/skia/third_party/skcms/skcms.cc
+@@ -25,16 +25,18 @@
+         // it'd be a lot slower.  But we want all those headers included so we
+         // can use their features after runtime checks later.
+         #include <smmintrin.h>
+         #include <avxintrin.h>
+         #include <avx2intrin.h>
+         #include <avx512fintrin.h>
+         #include <avx512dqintrin.h>
+     #endif
 +#else
 +    #define SKCMS_PORTABLE
  #endif
  
  // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit 
on others.
-@@ -124,20 +126,28 @@
+ // We have better testing on 64-bit machines, so force 32-bit machines to 
behave like 64-bit.
+ //
+ // Please do not use sizeof() directly, and size_t only when required.
+ // (We have no way of enforcing these requests...)
+ #define SAFE_SIZEOF(x) ((uint64_t)sizeof(x))
+@@ -275,30 +277,38 @@ enum {
+     skcms_Signature_sf32 = 0x73663332,
+     // XYZ is also a PCS signature, so it's defined in skcms.h
+     // skcms_Signature_XYZ = 0x58595A20,
+ };
+ 
  static uint16_t read_big_u16(const uint8_t* ptr) {
      uint16_t be;
      memcpy(&be, ptr, sizeof(be));
@@ -79,3 +114,8 @@
  #endif
  }
  
+ static int32_t read_big_i32(const uint8_t* ptr) {
+     return (int32_t)read_big_u32(ptr);
+ }
+ 
+ static float read_big_fixed(const uint8_t* ptr) {

++++++ mozilla-bmo1504834-part2.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.321558902 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.325558907 +0200
@@ -1,13 +1,13 @@
 # HG changeset patch
-# Parent  36563351309ddbc6c29559ba50a41d005f925abb
+# Parent  0e579dcbf7328dda4512cbdafc9b42acec4935ea
 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 36563351309d gfx/2d/ConvolutionFilter.cpp
---- a/gfx/2d/ConvolutionFilter.cpp     Mon Sep 09 17:59:28 2019 +0200
-+++ b/gfx/2d/ConvolutionFilter.cpp     Tue Sep 10 08:25:13 2019 +0200
+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 @@
    return true;
  }
@@ -23,7 +23,7 @@
 +
  void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* 
aDst,
                                               bool aHasAlpha) {
-+#if MOZ_BIG_ENDIAN
++#if MOZ_BIG_ENDIAN()
 +    int outputSize = mFilter->numValues();
 +
 +    // Input size isn't handed in, so we have to calculate it quickly
@@ -40,7 +40,7 @@
 +
    SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
 +
-+#if MOZ_BIG_ENDIAN
++#if MOZ_BIG_ENDIAN()
 +    ByteSwapArray((uint8_t*)aSrc, inputSize);
 +    ByteSwapArray(aDst, outputSize);
 +#endif
@@ -52,7 +52,7 @@
    auto filterValues =
        mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
 +
-+#if MOZ_BIG_ENDIAN
++#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);
@@ -62,7 +62,7 @@
    SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, 
aDst,
                                aHasAlpha);
 +
-+#if MOZ_BIG_ENDIAN
++#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++) {
@@ -74,9 +74,9 @@
  }
  
  /* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
-diff -r 36563351309d gfx/skia/skia/include/core/SkPreConfig.h
---- a/gfx/skia/skia/include/core/SkPreConfig.h Mon Sep 09 17:59:28 2019 +0200
-+++ b/gfx/skia/skia/include/core/SkPreConfig.h Tue Sep 10 08:25:13 2019 +0200
+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 @@
        defined(__ppc__) || defined(__hppa) || \
        defined(__PPC__) || defined(__PPC64__) || \

++++++ mozilla-bmo1504834-part4.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.333558915 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.337558920 +0200
@@ -17,7 +17,7 @@
        SkCanvas::kPreserveLCDText_SaveLayerFlag |
            (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
  
-+#if MOZ_BIG_ENDIAN
++#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.

++++++ mozilla-bmo1512162.patch ++++++
# HG changeset patch
# Parent  e5858dc7ab007042436496f7cfb9a5abf10f5082
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 @@
   MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
                                            MutableHandleValue srcp) const;
 
-  MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+  MOZ_ALWAYS_INLINE
+#endif
+  bool GatherAndConvertResults();
 
   MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
 
@@ -1139,7 +1143,11 @@
 
   ~CallMethodHelper();
 
-  MOZ_ALWAYS_INLINE bool Call();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+  MOZ_ALWAYS_INLINE
+#endif
+  bool Call();
 
   // Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
   void trace(JSTracer* aTrc);
++++++ mozilla-bmo1602730.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.369558955 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.369558955 +0200
@@ -1,28 +1,25 @@
-diff -r 6ef20eee3f8f gfx/layers/basic/BasicCompositor.cpp
---- a/gfx/layers/basic/BasicCompositor.cpp     Thu Oct 31 09:11:56 2019 +0100
-+++ b/gfx/layers/basic/BasicCompositor.cpp     Wed Dec 11 16:16:09 2019 +0100
-@@ -693,9 +693,13 @@
- 
-   RefPtr<SourceSurface> sourceMask;
-   Matrix maskTransform;
-+  // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
-+  // if the typed URL is too long for the textbox (automatic scrolling needed)
-+#if MOZ_LITTLE_ENDIAN
-   if (aTransform.Is2D()) {
-     SetupMask(aEffectChain, dest, offset, sourceMask, maskTransform);
-   }
-+#endif
- 
-   CompositionOp blendMode = CompositionOp::OP_OVER;
-   if (Effect* effect =
-diff -r 6ef20eee3f8f gfx/layers/composite/CompositableHost.cpp
---- a/gfx/layers/composite/CompositableHost.cpp        Thu Oct 31 09:11:56 
2019 +0100
-+++ b/gfx/layers/composite/CompositableHost.cpp        Wed Dec 11 16:16:09 
2019 +0100
-@@ -91,6 +91,7 @@
+# HG changeset patch
+# User msirringh...@suse.de
+# Date 1582805890 -3600
+#      Thu Feb 27 13:18:10 2020 +0100
+# Node ID 457cbe5705f2a3759d3da36a05c0ed66ec61ea12
+# Parent  7440f4b6bab85068ca2f84e9c48e0706d04330e8
+imported patch mozilla-bmo1602730-FF73.patch
+
+diff -r 7440f4b6bab8 gfx/layers/composite/CompositableHost.cpp
+--- a/gfx/layers/composite/CompositableHost.cpp        Thu Feb 27 13:17:56 
2020 +0100
++++ b/gfx/layers/composite/CompositableHost.cpp        Wed Jun 17 15:33:32 
2020 +0200
+@@ -92,9 +92,13 @@
    }
    MOZ_ASSERT(source);
  
-+  // Alternatively: Comment out these lines where the alpha-mask is set
++  // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
++  // if the typed URL is too long for the textbox (automatic scrolling needed)
++#if MOZ_LITTLE_ENDIAN()
    RefPtr<EffectMask> effect =
        new EffectMask(source, source->GetSize(), aTransform);
    aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;
++#endif
+   return true;
+ }
+ 

++++++ mozilla-bmo1626236.patch ++++++
# HG changeset patch
# User msirringh...@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 &&
++++++ mozilla-bmo849632.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.397558986 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.397558986 +0200
@@ -10,7 +10,7 @@
      BEFORE_GL_CALL;
      mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
      OnSyncCall();
-+#if MOZ_BIG_ENDIAN
++#if MOZ_BIG_ENDIAN()
 +    uint8_t* itr = (uint8_t*)pixels;
 +    for (GLsizei i = 0; i < width * height; i++) {
 +      NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);

++++++ mozilla-bmo998749.patch ++++++
# HG changeset patch
# User msirringh...@suse.de
# Date 1583738770 -3600
#      Mon Mar 09 08:26:10 2020 +0100
# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce
# Parent  506857dace0a08d1c9685e3ac264646590b3e27f
[mq]: mozilla-bmo998749.patch

diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h
--- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100
+++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100
@@ -13,10 +13,17 @@
 namespace mozilla {
 namespace gfx {
 
+#if MOZ_BIG_ENDIAN()
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1;
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0;
+#else
 const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0;
 const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1;
 const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2;
 const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3;
+#endif
 
 class FilterProcessing {
  public:
++++++ mozilla-kde.patch ++++++
++++ 1049 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-kde.patch
++++ and 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.4249/mozilla-kde.patch

++++++ mozilla-pipewire-0-3.patch ++++++
++++ 846 lines (skipped)

++++++ mozilla-ppc-altivec_static_inline.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.461559057 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.465559062 +0200
@@ -3,13 +3,18 @@
 # Date 1558452418 -7200
 #      Tue May 21 17:26:58 2019 +0200
 # Node ID 6cd963b6c82ea6629aaf4050851789b78f310338
-# Parent  602e92722e765a3c238d3b96b26c0c8063b5eeb4
+# Parent  010a35335b4e45e222b9efdbda24fd1963202ecf
 imported patch mozilla-ppc-altivec_static_inline.patch
 
-diff -r 602e92722e76 -r 6cd963b6c82e gfx/qcms/transform-altivec.c
---- a/gfx/qcms/transform-altivec.c     Tue May 21 17:26:48 2019 +0200
-+++ b/gfx/qcms/transform-altivec.c     Tue May 21 17:26:58 2019 +0200
-@@ -30,7 +30,7 @@
+diff --git a/gfx/qcms/transform-altivec.cpp b/gfx/qcms/transform-altivec.cpp
+--- a/gfx/qcms/transform-altivec.cpp
++++ b/gfx/qcms/transform-altivec.cpp
+@@ -25,17 +25,17 @@
+ 
+ #include "qcmsint.h"
+ 
+ #define FLOATSCALE (float)(PRECACHE_OUTPUT_SIZE)
+ #define CLAMPMAXVAL (((float) (PRECACHE_OUTPUT_SIZE - 1)) / 
PRECACHE_OUTPUT_SIZE)
  static const ALIGN float floatScaleX4 = FLOATSCALE;
  static const ALIGN float clampMaxValueX4 = CLAMPMAXVAL;
  
@@ -18,3 +23,8 @@
  {
        vector float data = vec_lde(0, dataPtr);
        vector unsigned char moveToStart = vec_lvsl(0, dataPtr);
+       return vec_perm(data, data, moveToStart);
+ }
+ 
+ template <size_t kRIndex, size_t kGIndex, size_t kBIndex, size_t kAIndex = 
NO_A_INDEX>
+ static void qcms_transform_data_template_lut_altivec(const qcms_transform 
*transform,

++++++ mozilla-reduce-rust-debuginfo.patch ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.477559075 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.481559079 +0200
@@ -3,32 +3,52 @@
 # Date 1560754926 -7200
 #      Mon Jun 17 09:02:06 2019 +0200
 # Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
-# Parent  6cd963b6c82ea6629aaf4050851789b78f310338
+# Parent  fa1cf8b9cb4efdf89fe19e543fb54272b726a353
 #Description: reduce the rust debuginfo level on selected architectures where
 # compiling with debuginfo=2 causes the OOM killer to interrupt the build on
 # launchpad builders. Initially this was only on 32 bit architectures, but with
 # firefox 63 it started happening frequently on arm64 and ppc64el too.
 
-diff -r 6cd963b6c82e -r 428161c3b959 build/moz.configure/toolchain.configure
---- a/build/moz.configure/toolchain.configure  Tue May 21 17:26:58 2019 +0200
-+++ b/build/moz.configure/toolchain.configure  Mon Jun 17 09:02:06 2019 +0200
-@@ -1865,8 +1865,8 @@
+diff --git a/build/moz.configure/toolchain.configure 
b/build/moz.configure/toolchain.configure
+--- a/build/moz.configure/toolchain.configure
++++ b/build/moz.configure/toolchain.configure
+@@ -1861,18 +1861,18 @@ imply_option('RUSTC_OPT_LEVEL', '2', whe
+ @depends('RUSTC_OPT_LEVEL', moz_optimize)
+ def rustc_opt_level(opt_level_option, moz_optimize):
+     if opt_level_option:
+         return opt_level_option[0]
+     else:
          return '1' if moz_optimize.optimize else '0'
  
  
--@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols')
--def rust_compile_flags(opt_level, debug_rust, debug_symbols):
-+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', host)
-+def rust_compile_flags(opt_level, debug_rust, debug_symbols, host):
+-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', 
'--enable-frame-pointers')
+-def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers):
++@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', 
'--enable-frame-pointers', host)
++def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers, 
host):
      # Cargo currently supports only two interesting profiles for building:
      # development and release. Those map (roughly) to --enable-debug and
      # --disable-debug in Gecko, respectively.
-@@ -1889,6 +1889,8 @@
+     #
+     # But we'd also like to support an additional axis of control for
+     # optimization level. Since Cargo only supports 2 profiles, we're in
+     # a bit of a bind.
+     #
+@@ -1885,16 +1885,18 @@ def rust_compile_flags(opt_level, debug_
+ 
+     # opt-level=0 implies -C debug-assertions, which may not be desired
+     # unless Rust debugging is enabled.
+     if opt_level == '0' and not debug_rust:
+         debug_assertions = False
  
      if debug_symbols:
          debug_info = '2'
-+        if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64':
-+            debug_info = '1'
++#        if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 
'ppc64': # Just reduce debug_info for all archs
++        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-s390x-skia-gradient.patch ++++++
# HG changeset patch
# Parent  acf59ea86dd1d878b43920832093f082dcfc61c0

diff -r acf59ea86dd1 gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp
--- a/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp        Mon Mar 
09 08:26:10 2020 +0100
+++ b/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp        Fri Mar 
27 13:30:28 2020 +0100
@@ -7,7 +7,7 @@
 
 #include "include/core/SkPaint.h"
 #include "src/shaders/gradients/Sk4fLinearGradient.h"
-
+#include "src/core/SkEndian.h"
 #include <cmath>
 #include <utility>
 
@@ -28,6 +28,9 @@
 
     while (n >= 4) {
         DstTraits<premul>::store4x(c0, c1, c2, c3, dst, bias0, bias1);
+#ifdef SK_CPU_BENDIAN
+        SkEndianSwap32s(dst, 4);
+#endif
         dst += 4;
 
         c0 = c0 + dc4;
@@ -37,12 +40,23 @@
         n -= 4;
     }
     if (n & 2) {
-        DstTraits<premul>::store(c0, dst++, bias0);
-        DstTraits<premul>::store(c1, dst++, bias1);
+        DstTraits<premul>::store(c0, dst, bias0);
+#ifdef SK_CPU_BENDIAN
+        *dst = SkEndianSwap32(*dst);
+#endif
+        ++dst;
+        DstTraits<premul>::store(c1, dst, bias1);
+#ifdef SK_CPU_BENDIAN
+        *dst = SkEndianSwap32(*dst);
+#endif
+        ++dst;
         c0 = c0 + dc2;
     }
     if (n & 1) {
         DstTraits<premul>::store(c0, dst, bias0);
+#ifdef SK_CPU_BENDIAN
+        *dst = SkEndianSwap32(*dst);
+#endif
     }
 }
 
++++++ mozilla-sandbox-fips.patch ++++++
From: meiss...@suse.com
Subject: allow Firefox to access addtional process information
Reference: http://bugzilla.suse.com/show_bug.cgi?id=1167132

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
 
   // Read permissions
   policy->AddPath(rdonly, "/dev/urandom");
+  policy->AddPath(rdonly, "/proc/sys/crypto/fips_enabled");
   policy->AddPath(rdonly, "/proc/cpuinfo");
   policy->AddPath(rdonly, "/proc/meminfo");
   policy->AddDir(rdonly, "/sys/devices/cpu");
++++++ spellcheck.js ++++++
pref("spellchecker.dictionary_path", "/usr/share/myspell");
++++++ tar_stamps ++++++
--- /var/tmp/diff_new_pack.epmMh5/_old  2020-10-03 18:56:39.565559172 +0200
+++ /var/tmp/diff_new_pack.epmMh5/_new  2020-10-03 18:56:39.569559177 +0200
@@ -1,10 +1,10 @@
 PRODUCT="thunderbird"
-CHANNEL="esr68"
-VERSION="68.12.0"
+CHANNEL="esr78"
+VERSION="78.3.1"
 VERSION_SUFFIX=""
-PREV_VERSION="68.11.0"
+PREV_VERSION="78.3.0"
 PREV_VERSION_SUFFIX=""
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
-RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr68";
-RELEASE_TAG="b41cdff70b185358d9c4c1d4a36cfad15a24f001"
-RELEASE_TIMESTAMP="20200820223055"
+RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr78";
+RELEASE_TAG="00912779d73faef4277c57fe99aa5259b11d244d"
+RELEASE_TIMESTAMP="20200925001233"

++++++ thunderbird-68.12.0.source.tar.xz -> thunderbird-78.3.1.source.tar.xz 
++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-68.12.0.source.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.4249/thunderbird-78.3.1.source.tar.xz
 differ: char 15, line 1


Reply via email to