Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package MozillaThunderbird for 
openSUSE:Factory checked in at 2023-09-07 21:13:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
 and      /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "MozillaThunderbird"

Thu Sep  7 21:13:51 2023 rev:315 rq:1109528 version:115.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes    
2023-08-03 17:29:28.595652087 +0200
+++ 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/MozillaThunderbird.changes
  2023-09-07 21:15:33.135335043 +0200
@@ -2 +2 @@
-Tue Aug  1 20:15:02 UTC 2023 - Wolfgang Rosenauer <w...@rosenauer.org>
+Sun Aug 27 08:17:34 UTC 2023 - Wolfgang Rosenauer <w...@rosenauer.org>
@@ -4,2 +4,53 @@
-- Mozilla Thunderbird 102.14.0
-  MFSA 2023-32 (bsc#1213746)
+- Mozilla Thunderbird 115.2.0
+  https://www.thunderbird.net/en-US/thunderbird/115.2.0/releasenotes
+  MFSA 2023-38 (bsc#1214606)
+  * CVE-2023-4573 (bmo#1846687)
+    Memory corruption in IPC CanvasTranslator
+  * CVE-2023-4574 (bmo#1846688)
+    Memory corruption in IPC ColorPickerShownCallback
+  * CVE-2023-4575 (bmo#1846689)
+    Memory corruption in IPC FilePickerShownCallback
+  * CVE-2023-4576 (bmo#1846694)
+    Integer Overflow in RecordedSourceSurfaceCreation
+  * CVE-2023-4577 (bmo#1847397)
+    Memory corruption in JIT UpdateRegExpStatics
+  * CVE-2023-4051 (bmo#1821884)
+    Full screen notification obscured by file open dialog
+  * CVE-2023-4578 (bmo#1839007)
+    Error reporting methods in SpiderMonkey could have triggered
+    an Out of Memory Exception
+  * CVE-2023-4053 (bmo#1839079)
+    Full screen notification obscured by external program
+  * CVE-2023-4580 (bmo#1843046)
+    Push notifications saved to disk unencrypted
+  * CVE-2023-4581 (bmo#1843758)
+    XLL file extensions were downloadable without warnings
+  * CVE-2023-4582 (bmo#1773874)
+    Buffer Overflow in WebGL glGetProgramiv
+  * CVE-2023-4583 (bmo#1842030)
+    Browsing Context potentially not cleared when closing Private
+    Window
+  * CVE-2023-4584 (bmo#1843968, bmo#1845205, bmo#1846080,
+    bmo#1846526, bmo#1847529)
+    Memory safety bugs fixed in Firefox 117, Firefox ESR 102.15,
+    Firefox ESR 115.2, Thunderbird 102.15, and Thunderbird 115.2
+  * CVE-2023-4585 (bmo#1751583, bmo#1833504, bmo#1841082,
+    bmo#1847904, bmo#1848999)
+    Memory safety bugs fixed in Firefox 117, Firefox ESR 115.2,
+    and Thunderbird 115.2
+
+-------------------------------------------------------------------
+Tue Aug 15 07:53:02 UTC 2023 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 115.1.1
+  bugfixes as documented here
+  https://www.thunderbird.net/en-US/thunderbird/115.1.1/releasenotes
+
+-------------------------------------------------------------------
+Tue Aug  1 07:51:37 UTC 2023 - Wolfgang Rosenauer <w...@rosenauer.org>
+
+- Mozilla Thunderbird 115.1.0
+  New major release with Supernova UI
+  Releasenotes for 115.0:
+  https://www.thunderbird.net/en-US/thunderbird/115.0/releasenotes
+  MFSA 2023-33 (bsc#1213746)
@@ -17,0 +69,2 @@
+  * CVE-2023-4052 (bmo#1824420)
+    File deletion and privilege escalation through Firefox uninstaller
@@ -22,2 +75,2 @@
-  * CVE-2023-4056 (bmo#1820587, bmo#1824634, bmo#1839235,
-    bmo#1842325, bmo#1843847)
+  * CVE-2023-4056 (bmo#1820587, bmo#1824634, bmo#1839235, bmo#1842325,
+    bmo#1843847)
@@ -25,0 +79,14 @@
+  * CVE-2023-4057 (bmo#1841682)
+    Memory safety bugs fixed in Firefox 116, Firefox ESR 115.1,
+    and Thunderbird 115.1
+- requires NSS 3.90
+- add patches:
+  mozilla-rust-disable-future-incompat.patch
+  mozilla-partial-revert-1768632.patch
+  mozilla-bmo1775202.patch
+- removed obsolete patches:
+  gcc13-fix.patch
+  mozilla-bmo1568145.patch
+  mozilla-bmo1005535.patch
+  mozilla-s390x-skia-gradient.patch
+- update create-tar.sh

Old:
----
  gcc13-fix.patch
  l10n-102.14.0.tar.xz
  mozilla-bmo1005535.patch
  mozilla-bmo1568145.patch
  mozilla-s390x-skia-gradient.patch
  thunderbird-102.14.0.source.tar.xz
  thunderbird-102.14.0.source.tar.xz.asc

New:
----
  l10n-115.2.0.tar.xz
  mozilla-bmo1775202.patch
  mozilla-partial-revert-1768632.patch
  mozilla-rust-disable-future-incompat.patch
  thunderbird-115.2.0.source.tar.xz
  thunderbird-115.2.0.source.tar.xz.asc

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

Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:45.863790057 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:45.863790057 +0200
@@ -2,7 +2,7 @@
 # spec file
 #
 # Copyright (c) 2023 SUSE LLC
-#               2006-2023 Wolfgang Rosenauer <w...@rosenauer.org>
+# Copyright (c) 2006-2023 Wolfgang Rosenauer <w...@rosenauer.org>
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -27,11 +27,11 @@
 # orig_version 70.0
 # orig_suffix b3
 # major 69
-# mainver %major.99
-%define major          102
-%define mainver        %major.14.0
-%define orig_version   102.14.0
-%define orig_suffix    %{nil}
+# mainver %%major.99
+%define major          115
+%define mainver        %major.2.0
+%define orig_version   115.2.0
+%define orig_suffix    %nil
 %define update_channel release
 %define source_prefix  thunderbird-%{orig_version}
 
@@ -54,8 +54,9 @@
 %ifarch %ix86
 ExclusiveArch:  i586 i686
 BuildArch:      i686
-%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 
-mtune=generic}
+%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 
-mtune=generic -msse2}
 %endif
+%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
 
 # general build definitions
 %define progname thunderbird
@@ -68,7 +69,11 @@
 %define __provides_exclude ^lib.*\\.so.*$
 %define __requires_exclude 
^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*|librnp.*)$
 %define localize 1
+%ifarch %ix86 x86_64
+%define crashreporter 1
+%else
 %define crashreporter 0
+%endif
 %define with_pipewire0_3 1
 %define wayland_supported 1
 %if 0%{?sle_version} > 0 && 0%{?sle_version} < 150200
@@ -85,41 +90,33 @@
 BuildRequires:  dbus-1-glib-devel
 BuildRequires:  fdupes
 BuildRequires:  memory-constraints
-%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
-BuildRequires:  gcc11-c++
+%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
+BuildRequires:  gcc12
+BuildRequires:  gcc12-c++
 %else
 BuildRequires:  gcc-c++
 %endif
-%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
-BuildRequires:  cargo >= 1.59
-BuildRequires:  rust >= 1.59
-%else
-# Newer sle/leap/tw use parallel versioned rust releases which have
-# a different method for provides that we can use to request a
-# specific version
-# minimal requirement:
-BuildRequires:  rust+cargo >= 1.59
-# actually used upstream:
-BuildRequires:  cargo1.67
-BuildRequires:  rust1.67
-%endif
+BuildRequires:  cargo1.69
+BuildRequires:  rust1.69
 %if 0%{useccache} != 0
 BuildRequires:  ccache
 %endif
 BuildRequires:  libXcomposite-devel
 BuildRequires:  libcurl-devel
-BuildRequires:  mozilla-nspr-devel >= 4.34.1
-BuildRequires:  mozilla-nss-devel >= 3.79.4
+BuildRequires:  mozilla-nspr-devel >= 4.35
+BuildRequires:  mozilla-nss-devel >= 3.90
 BuildRequires:  nasm >= 2.14
-BuildRequires:  nodejs >= 10.22.1
-%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
-BuildRequires:  python-libxml2
-BuildRequires:  python36
+BuildRequires:  nodejs >= 12.22.12
+%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150600
+BuildRequires:  python39
+BuildRequires:  python39-curses
+BuildRequires:  python39-devel
 %else
-BuildRequires:  python3 >= 3.5
+BuildRequires:  python3 >= 3.7
+BuildRequires:  python3-curses
 BuildRequires:  python3-devel
 %endif
-BuildRequires:  rust-cbindgen >= 0.24.0
+BuildRequires:  rust-cbindgen >= 0.24.3
 BuildRequires:  unzip
 BuildRequires:  update-desktop-files
 BuildRequires:  xorg-x11-libXt-devel
@@ -131,11 +128,7 @@
 %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(glib-2.0) >= 2.22
 BuildRequires:  pkgconfig(gobject-2.0)
 BuildRequires:  pkgconfig(gtk+-3.0) >= 3.14.0
@@ -177,36 +170,39 @@
 Source3:        mozilla.sh.in
 Source4:        tar_stamps
 Source6:        suse-default-prefs.js
+%if %{localize}
 Source7:        l10n-%{orig_version}%{orig_suffix}.tar.xz
+%endif
 Source9:        thunderbird.appdata.xml
 Source13:       spellcheck.js
-Source14:       
https://github.com/openSUSE/firefox-scripts/raw/9b77cf0/create-tar.sh
+Source14:       
https://github.com/openSUSE/firefox-scripts/raw/c3f287d/create-tar.sh
 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
+%if %{with mozilla_tb_kde4}
 Patch2:         mozilla-kde.patch
+%endif
 Patch3:         mozilla-ntlm-full-path.patch
 Patch4:         mozilla-aarch64-startup-crash.patch
 Patch5:         mozilla-fix-aarch64-libopus.patch
 Patch6:         mozilla-s390-context.patch
 Patch7:         mozilla-pgo.patch
 Patch8:         mozilla-reduce-rust-debuginfo.patch
-Patch9:         mozilla-bmo1005535.patch
-Patch10:        mozilla-bmo1568145.patch
-Patch11:        mozilla-bmo1504834-part1.patch
-Patch12:        mozilla-bmo1504834-part3.patch
-Patch13:        mozilla-bmo1512162.patch
-Patch14:        mozilla-fix-top-level-asm.patch
-Patch15:        mozilla-bmo849632.patch
-Patch16:        mozilla-bmo998749.patch
-Patch17:        mozilla-s390x-skia-gradient.patch
-Patch18:        mozilla-libavcodec58_91.patch
-Patch19:        mozilla-silence-no-return-type.patch
-Patch20:        mozilla-bmo531915.patch
-Patch21:        one_swizzle_to_rule_them_all.patch
-Patch22:        svg-rendering.patch
-Patch23:        gcc13-fix.patch
+Patch9:         mozilla-bmo1504834-part1.patch
+Patch10:        mozilla-bmo1504834-part3.patch
+Patch11:        mozilla-bmo1512162.patch
+Patch12:        mozilla-fix-top-level-asm.patch
+Patch13:        mozilla-bmo849632.patch
+Patch14:        mozilla-bmo998749.patch
+Patch15:        mozilla-libavcodec58_91.patch
+Patch16:        mozilla-silence-no-return-type.patch
+Patch17:        mozilla-bmo531915.patch
+Patch18:        one_swizzle_to_rule_them_all.patch
+Patch19:        svg-rendering.patch
+Patch20:        mozilla-partial-revert-1768632.patch
+Patch21:        mozilla-bmo1775202.patch
+Patch22:        mozilla-rust-disable-future-incompat.patch
 %endif
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 PreReq:         /bin/sh
@@ -271,49 +267,18 @@
 %else
 %setup -q -n %{srcname}-%{orig_version}
 %endif
-%patch1 -p1
-%if %{with mozilla_tb_kde4}
-%patch2 -p1
-%endif
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -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
-%patch23 -p1
+cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
+%autopatch -p1
 %endif
 
 %build
 %if !%{with only_print_mozconfig}
 # no need to add build time to binaries
-modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
+modified="$(sed -n '/^----/n;s/ - .*$//;p;q' 
"%{_sourcedir}/%{pkgname}.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)
 if test "$kdehelperversion" != %{kde_helper_version}; then
@@ -322,73 +287,65 @@
 fi
 %endif
 
-source %{SOURCE4}
+# When doing only_print_mozconfig, this file isn't necessarily available, so 
skip it
+cp %{SOURCE4} .obsenv.sh
+%else
+# We need to make sure its empty
+echo "" > .obsenv.sh
 %endif
 
+cat >> .obsenv.sh <<EOF
 export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
-export MOZ_SOURCE_CHANGESET=$RELEASE_TAG
-export SOURCE_REPO=$RELEASE_REPO
-export source_repo=$RELEASE_REPO
-export MOZ_SOURCE_REPO=$RELEASE_REPO
-export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP
+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
-export MOZ_REQUIRE_SIGNING=
-export MACH_USE_SYSTEM_PYTHON=1
-%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
-export CC=gcc-11
+export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
+export CFLAGS="%{optflags}"
+%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
+export CC=gcc-12
+export CXX=g++-12
 %else
 %if 0%{?clang_build} == 0
 export CC=gcc
 export CXX=g++
 %if 0%{?gcc_version:%{gcc_version}} >= 12
-export CFLAGS="$CFLAGS -fimplicit-constexpr"
+export CFLAGS="\$CFLAGS -fimplicit-constexpr"
 %endif
 %endif
 %endif
 %ifarch %arm %ix86
 # Limit RAM usage during link
-export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+export LDFLAGS="\$LDFLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
 # A lie to prevent -Wl,--gc-sections being set which requires more memory than 
32bit can offer
 export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
 %endif
-export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now"
+export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
 %ifarch ppc64 ppc64le
 %if 0%{?clang_build} == 0
-export CFLAGS="$CFLAGS -mminimal-toc"
+#export CFLAGS="\$CFLAGS -mminimal-toc"
 %endif
 %endif
-export CXXFLAGS="$CFLAGS"
+%ifarch %ix86
+# Not enough memory on 32-bit systems, reduce debug info.
+export CFLAGS="\$CFLAGS -g1"
+%endif
+export CXXFLAGS="\$CFLAGS"
 export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
-%if %{with only_print_mozconfig}
-echo "export CC=$CC"
-echo "export CXX=$CXX"
-echo "export CFLAGS=\"$CFLAGS\""
-echo "export CXXFLAGS=\"$CXXFLAGS\""
-echo "export LDFLAGS=\"$LDFLAGS\""
-echo "export RUSTFLAGS=\"$RUSTFLAGS\""
-echo "export CARGO_HOME=\"$CARGO_HOME\""
-echo "export PATH=\"$PATH\""
-echo "export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\""
-echo "export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\""
-echo "export MOZCONFIG=\"$MOZCONFIG\""
-echo "export MOZILLA_OFFICIAL=1"
-echo "export BUILD_OFFICIAL=1"
-echo "export MOZ_TELEMETRY_REPORTING=1"
-echo "export MOZ_REQUIRE_SIGNING="
-echo ""
-cat << EOF
-%else
-%ifarch aarch64 ppc64 ppc64le
+EOF
+# Done with env-variables.
+source ./.obsenv.sh
+
+%ifarch aarch64 %arm ppc64 ppc64le riscv64
 %limit_build -m 2500
-%else
-%limit_build -m 2000
 %endif
-# TODO: Check if this can be removed
-#export MOZ_DEBUG_FLAGS="-pipe"
+
+# Generating mozconfig
 cat << EOF > $MOZCONFIG
-%endif
 mk_add_options MOZILLA_OFFICIAL=1
 mk_add_options BUILD_OFFICIAL=1
 mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
@@ -412,16 +369,19 @@
 %endif
 ac_add_options --disable-install-strip
 # building with elf-hack started to fail everywhere with FF73
-#%if 0%{?suse_version} > 1549
-%ifnarch aarch64 ppc64 ppc64le s390x
+#%%if 0%%{?suse_version} > 1549
+%ifarch %arm %ix86 x86_64
 ac_add_options --disable-elf-hack
 %endif
-#%endif
+#%%endif
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
 %if 0%{useccache} != 0
 ac_add_options --with-ccache
 %endif
+%if %{localize}
+ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n-central
+%endif
 ac_add_options --with-system-zlib
 ac_add_options --disable-updater
 ac_add_options --disable-tests
@@ -456,7 +416,7 @@
 %ifarch x86_64
 # LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
 %if 0%{?suse_version} > 1500
-ac_add_options --enable-lto
+#ac_add_options --enable-lto
 %if 0%{?do_profiling}
 ac_add_options MOZ_PGO=1
 %endif
@@ -467,7 +427,12 @@
 %endif
 %endif
 EOF
-%if !%{with only_print_mozconfig}
+
+%if %{with only_print_mozconfig}
+cat ./.obsenv.sh
+cat $MOZCONFIG
+%else
+
 %if 0%{useccache} != 0
 ccache -s
 %endif
@@ -491,15 +456,21 @@
 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj_LANG
 ac_add_options --enable-application=comm/mail
 ac_add_options --prefix=%{_prefix}
-ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
+ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n-central
 ac_add_options --disable-updater
 ac_add_options --without-wasm-sandboxed-libraries
 ac_add_options --enable-official-branding
 EOF
+
+%ifarch %ix86
+%define njobs 1
+%else
+%define njobs 0%{?jobs:%jobs}
+%endif
 mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
 
-sed -r '/^(ja-JP-mac|en-US|$)/d;s/ .*$//' 
$RPM_BUILD_DIR/%{source_prefix}/comm/mail/locales/shipped-locales \
-    | xargs -n 1 %{?jobs:-P %jobs} -I {} /bin/sh -c '
+sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' 
$RPM_BUILD_DIR/%{source_prefix}/comm/mail/locales/shipped-locales \
+    | xargs -n 1 %{?njobs:-P %njobs} -I {} /bin/sh -c '
         locale=$1
         cp ${MOZCONFIG}_LANG ${MOZCONFIG}_$locale
         sed -i "s|obj_LANG|obj_$locale|" ${MOZCONFIG}_$locale
@@ -518,6 +489,7 @@
           >> %{_tmppath}/translations.$_l10ntarget
 ' -- {}
 %endif
+
 %if 0%{useccache} != 0
 ccache -s
 %endif
@@ -531,7 +503,7 @@
 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}
+cp -rf $RPM_BUILD_DIR/obj/dist/%{srcname}/* %{buildroot}%{progdir}
 mkdir -p %{buildroot}%{progdir}/extensions
 cp -rf $RPM_BUILD_DIR/langpacks_artifacts/* %{buildroot}%{progdir}/extensions/
 
@@ -581,10 +553,10 @@
 mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/
 cp 
%{_builddir}/%{source_prefix}/comm/mail/branding/thunderbird/TB-symbolic.svg \
    
%{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/%{progname}-symbolic.svg
-for size in 16 22 24 32 48 64 128; do
-  mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/
+for size in 16 22 24 32 48 64 128 256; do
+  mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/
   cp %{buildroot}%{progdir}/chrome/icons/default/default$size.png \
-    %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/%{progname}.png
+         
%{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/%{progname}.png
 done
 # excluded files
 rm -f %{buildroot}%{progdir}/thunderbird
@@ -602,13 +574,16 @@
 %fdupes %{buildroot}%{_datadir}
 
 %post
+# update mime and desktop database
+%mime_database_post
 %desktop_database_post
 %icon_theme_cache_post
 exit 0
 
 %postun
-%desktop_database_postun
 %icon_theme_cache_postun
+%desktop_database_postun
+%mime_database_postun
 exit 0
 
 %files
@@ -617,9 +592,13 @@
 %dir %{progdir}
 %{progdir}/application.ini
 %{progdir}/dependentlibs.list
-%{progdir}/fonts/
 %{progdir}/*.so
+%{progdir}/glxtest
+%if 0%{wayland_supported}
+%{progdir}/vaapitest
+%endif
 %{progdir}/omni.ja
+%{progdir}/fonts/
 %{progdir}/pingsender
 %{progdir}/platform.ini
 %{progdir}/plugin-container
@@ -630,8 +609,8 @@
 %if %crashreporter
 %{progdir}/crashreporter
 %{progdir}/crashreporter.ini
-%{progdir}/minidump-analyzer
 %{progdir}/Throbber-small.gif
+%{progdir}/minidump-analyzer
 %endif
 %dir %{progdir}/chrome/
 %{progdir}/chrome/icons/

++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:45.947793060 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:45.947793060 +0200
@@ -78,6 +78,9 @@
 
   SOURCE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz"
   
PREV_SOURCE_TARBALL="$PRODUCT-$PREV_VERSION$PREV_VERSION_SUFFIX.source.tar.xz"
+  if [ "$PRODUCT" = "thunderbird" ]; then
+    TB_LOCALE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.strings_all.tar.zst"
+  fi
   
FTP_URL="https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source";
   FTP_CANDIDATES_BASE_URL="https://ftp.mozilla.org/pub/%s/candidates";
   LOCALES_URL="https://product-details.mozilla.org/1.0/l10n";
@@ -302,10 +305,18 @@
     printf "%-40s: %s\n" "$ff" "$(check_tarball_source $ff)"
   done
 
+  if [ "$PRODUCT" = "thunderbird" ]; then
+    printf "%-40s: %s\n" "$TB_LOCALE_TARBALL" "$(check_tarball_source 
$TB_LOCALE_TARBALL)"
+  fi
+
   ask_cont_abort_question "Is this ok?" || exit 0
 }
 
 function check_what_to_do_with_locales_tarballs() {
+  if [ -e "$TB_LOCALE_TARBALL" ]; then
+    return;
+  fi
+
   LOCALES_CHANGED=1
 
   extract_locales_file
@@ -364,6 +375,10 @@
   download_release_or_candidate_file "$SOURCE_TARBALL"
   download_release_or_candidate_file "$SOURCE_TARBALL.asc"
 
+  if [ "$PRODUCT" = "thunderbird" ]; then
+    download_release_or_candidate_file "$TB_LOCALE_TARBALL"
+  fi
+
   # we might have an upstream archive already and can skip the checkout
   if [ -e "$SOURCE_TARBALL" ]; then
     get_source_stamp "$BUILD_ID"
@@ -447,13 +462,18 @@
     exit 0
   fi
 
-  if [ "$LOCALES_CHANGED" -ne 0 ]; then
-    clone_and_repackage_locales
-  elif [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ]; then
-    # Locales did not change, but the old tar-ball is in this directory
-    # Simply rename it:
-    echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to 
l10n-$VERSION$VERSION_SUFFIX.tar.xz"
-    mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" 
"l10n-$VERSION$VERSION_SUFFIX.tar.xz"
+  if [ -e "$TB_LOCALE_TARBALL" ]; then
+    echo "Repackaging upstream lang-tarball."
+    zstd -dcf "$TB_LOCALE_TARBALL" | xz > "l10n-$VERSION$VERSION_SUFFIX.tar.xz"
+  else 
+    if [ "$LOCALES_CHANGED" -ne 0 ]; then
+      clone_and_repackage_locales
+    elif [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ]; then
+      # Locales did not change, but the old tar-ball is in this directory
+      # Simply rename it:
+      echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to 
l10n-$VERSION$VERSION_SUFFIX.tar.xz"
+      mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" 
"l10n-$VERSION$VERSION_SUFFIX.tar.xz"
+    fi
   fi
 }
 
@@ -537,6 +557,13 @@
           rm "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz"
       fi
   fi
+  # If we downloaded the upstream zstd-tarball and repackaged it, remove it now
+  if [ -f "$TB_LOCALE_TARBALL" ] && [ -f "l10n-$VERSION$VERSION_SUFFIX.tar.xz" 
]; then 
+      echo ""
+      echo "Deleting old sources tarball $TB_LOCALE_TARBALL"
+      ask_cont_abort_question "Is this ok?" || exit 0
+      rm "$TB_LOCALE_TARBALL"
+  fi
 }
 
 main "$@"

++++++ l10n-102.14.0.tar.xz -> l10n-115.2.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-102.14.0.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/l10n-115.2.0.tar.xz 
differ: char 26, line 1

++++++ mozilla-aarch64-startup-crash.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:45.975794060 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:45.975794060 +0200
@@ -3,19 +3,14 @@
 # Date 1558442998 -7200
 #      Tue May 21 14:49:58 2019 +0200
 # Node ID 386083b58d8558141901d796ec6919a4aba7ad3a
-# Parent  a30a9b9aae5740f096a16118ed9e4bc45d3d1c35
+# Parent  76b747f7d113bddbb8593184d81e1bfe5fd51af0
 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 --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;
+@@ -1159,7 +1159,13 @@ nsresult nsIOService::NewChannelFromURIW
      }
    }
  
@@ -29,9 +24,4 @@
    return NS_OK;
  }
  
- NS_IMETHODIMP
- nsIOService::NewChannelFromURIWithProxyFlags(
-     nsIURI* aURI, nsIURI* aProxyURI, uint32_t aProxyFlags,
-     nsINode* aLoadingNode, nsIPrincipal* aLoadingPrincipal,
-     nsIPrincipal* aTriggeringPrincipal, uint32_t aSecurityFlags,
 

++++++ mozilla-bmo1504834-part1.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:45.987794490 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:45.991794633 +0200
@@ -1,43 +1,34 @@
 # HG changeset patch
-# Parent  b5471d23321d16a0bacc25b7afd27d2e16adba1a
+# Parent  9fcbd287056a40084b1e679f787bf683b291f323
 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
-@@ -130,18 +130,17 @@ static IntRect CalculateSurfaceBounds(co
-   Rect sampledBounds = inverse.TransformBounds(*aBounds);
-   if (!sampledBounds.ToIntRect(&bounds)) {
-     return surfaceBounds;
-   }
- 
-   return surfaceBounds.Intersect(bounds);
+@@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
  }
  
--static const int kARGBAlphaOffset =
+ static const int kARGBAlphaOffset =
 -    SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
-+static const int kARGBAlphaOffset = 0;  // Skia is always BGRA 
SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
++    0;  // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 ==
++        // SurfaceFormat::B8G8R8A8 ? 3 : 0;
  
  static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
                               const int32_t aStride, SurfaceFormat aFormat) {
-   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
-@@ -84,25 +84,18 @@ enum class SurfaceFormat : int8_t {
-   Depth,
- 
+@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
    // This represents the unknown format.
-   UNKNOWN,
+   UNKNOWN,  // TODO: Replace uses with Maybe<SurfaceFormat>.
  
- // The following values are endian-independent synonyms. The _UINT32 suffix
- // indicates that the name reflects the layout when viewed as a uint32_t
- // value.
+-// 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()
++  // The following values are endian-independent synonyms. The _UINT32 suffix
++  // indicates that the name reflects the layout when viewed as a uint32_t
++  // value.
    A8R8G8B8_UINT32 = B8G8R8A8,  // 0xAARRGGBB
    X8R8G8B8_UINT32 = B8G8R8X8,  // 0x00RRGGBB
 -#elif MOZ_BIG_ENDIAN()
@@ -49,20 +40,10 @@
  
    // 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>
+diff --git a/gfx/skia/skia/modules/skcms/skcms.cc 
b/gfx/skia/skia/modules/skcms/skcms.cc
+--- a/gfx/skia/skia/modules/skcms/skcms.cc
++++ b/gfx/skia/skia/modules/skcms/skcms.cc
+@@ -30,6 +30,8 @@
          #include <avx512fintrin.h>
          #include <avx512dqintrin.h>
      #endif
@@ -70,30 +51,21 @@
 +    #define SKCMS_PORTABLE
  #endif
  
- // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit 
on others.
- // 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 bool runtime_cpu_detection = true;
+@@ -324,20 +326,28 @@ enum {
  static uint16_t read_big_u16(const uint8_t* ptr) {
      uint16_t be;
      memcpy(&be, ptr, sizeof(be));
 -#if defined(_MSC_VER)
+-    return _byteswap_ushort(be);
 +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
 +    return be;
-+#else
+ #else
+-    return __builtin_bswap16(be);
 +    #if defined(_MSC_VER)
-     return _byteswap_ushort(be);
--#else
++     return _byteswap_ushort(be);
 +    #else
-     return __builtin_bswap16(be);
++     return __builtin_bswap16(be);
 +    #endif
  #endif
  }
@@ -102,21 +74,17 @@
      uint32_t be;
      memcpy(&be, ptr, sizeof(be));
 -#if defined(_MSC_VER)
+-    return _byteswap_ulong(be);
 +#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
 +    return be;
-+#else
+ #else
+-    return __builtin_bswap32(be);
 +    #if defined(_MSC_VER)
-     return _byteswap_ulong(be);
--#else
++     return _byteswap_ulong(be);
 +    #else
-     return __builtin_bswap32(be);
++     return __builtin_bswap32(be);
 +    #endif
  #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-part3.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.003795062 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.011795347 +0200
@@ -1,65 +1,18 @@
 # HG changeset patch
-# Parent  d1d66f7e4d0e7fd45e91e4fcee07555e72046d48
+# Parent  09cd4ac2cc607e85aa572425b824fbab386af607
 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 --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; }
- 
-+    // On Big endian the commented out variant doesn't work,
-+    // and honestly, I have no idea why it exists in the first place.
-+    // The reason its broken is, I think, that it defaults to the 
double-variant of ToBits()
-+    // which gets a 64-bit integer, and FromBits returns 32-bit,
-+    // cutting off the wrong half again.
-+    // Overall, I see no reason to have ToBits and FromBits at all (even for 
floats/doubles).
-+    // Still we are only "fixing" this for big endian and leave little endian 
alone (never touch a running system)
-+#ifdef SK_CPU_BENDIAN
-+    AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
-+#else
-     AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & 
ToBits(y.fVal)); }
-+#endif
-     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)); }
- 
-     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)
+@@ -210,6 +210,8 @@ namespace SK_OPTS_NS {
              //   ~~~>
              // a = 1*aa + d(1-1*aa) = aa + d(1-aa)
              // c = 0*aa + d(1-1*aa) =      d(1-aa)
-+
-+            // For big endian we have to swap the alpha-mask from 0,0,0,255 
to 255,0,0,0
-+#ifdef SK_CPU_BENDIAN
-+            return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 
255,0,0,0))
-+#else
-             return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 
0,0,0,255))
-+#endif
++            // TODO: Check this for endian-issues!
++            //       Do we need to switch 255 to the front for all of those 
tuples?
+             return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 
0,0,0,255}))
                   + d.approxMulDiv255(aa.inv());
          };
-         while (h --> 0) {
-             Sk4px::MapDstAlpha(w, dst, mask, fn);
-             dst  +=  dstRB / sizeof(*dst);
-             mask += maskRB / sizeof(*mask);
-         }
-     }
 

++++++ mozilla-bmo1512162.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.023795777 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.027795920 +0200
@@ -3,15 +3,11 @@
 This fixes a broken build for gcc < 9 on ppc64le.
 This patch can be removed for newer gcc-versions.
 
-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;
- 
+Index: firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
+===================================================================
+--- firefox-115.0.orig/js/xpconnect/src/XPCWrappedNative.cpp
++++ firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
+@@ -1061,7 +1061,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
    MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
                                             MutableHandleValue srcp) const;
  
@@ -24,17 +20,7 @@
  
    MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
  
-   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);
-   }
+@@ -1108,7 +1112,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
  
    ~CallMethodHelper();
  
@@ -47,9 +33,4 @@
  
    // 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-bmo1005535.patch -> mozilla-bmo1775202.patch ++++++
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-bmo1005535.patch      
2021-08-24 10:54:34.808344208 +0200
+++ 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/mozilla-bmo1775202.patch
    2023-09-07 21:15:33.623352489 +0200
@@ -1,30 +1,26 @@
-# HG changeset patch
-# User Steve Singer <st...@ssinger.info>
-# Date 1558451540 -7200
-#      Tue May 21 17:12:20 2019 +0200
-# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
-# Parent  c0fdccc716e80a6d289c94f5d507ae141c62a3bf
-Bug 1005535 - Get skia GPU building on big endian.
+From: Mike Hommey <m...@glandium.org>
+Date: Sun, 14 Aug 2022 07:01:33 +0900
+Subject: Work around bz#1775202 to fix FTBFS on ppc64el
 
-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"
-  */
--#define GrColor_ILLEGAL     (~(0xFF << GrColor_SHIFT_A))
-+#define GrColor_ILLEGAL     ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
+---
+ third_party/libwebrtc/moz.build | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/third_party/libwebrtc/moz.build b/third_party/libwebrtc/moz.build
+index 976cf373..311519c 100644
+--- a/third_party/libwebrtc/moz.build
++++ b/third_party/libwebrtc/moz.build
+@@ -566,6 +566,13 @@ if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_TARGET"] == 
"Linux":
+         "/third_party/libwebrtc/third_party/pipewire/pipewire_gn"
+     ]
  
- /** 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;
- }
++if CONFIG["CPU_ARCH"] == "ppc64" and CONFIG["OS_TARGET"] == "Linux":
++
++    DIRS += [
++        "/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gn",
++        "/third_party/libwebrtc/modules/desktop_capture/primitives_gn",
++    ]
++
+ if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
  
- /** Used to pick vertex attribute types. */
+     DIRS += [

++++++ mozilla-bmo531915.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.047796634 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.051796777 +0200
@@ -1,13 +1,13 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <w...@rosenauer.org>
-# Parent  7332dfc4c47d73f1b88850b7727d33096d68e329
+# Parent  fa8a5832a374ccd7af5db927b992b5d9f15273ef
 
 diff --git a/modules/fdlibm/src/math_private.h 
b/modules/fdlibm/src/math_private.h
 --- a/modules/fdlibm/src/math_private.h
 +++ b/modules/fdlibm/src/math_private.h
-@@ -25,17 +25,21 @@
+@@ -25,19 +25,24 @@
  
- #include "mozilla/EndianUtils.h"
+ #include "fdlibm.h"
  
  /*
   * Emulate FreeBSD internal double types.
@@ -16,10 +16,13 @@
  
 +#ifdef __i386__
 +typedef long double __double_t;
++typedef long double __float_t;
 +#else
  typedef double      __double_t;
++typedef float       __float_t;
 +#endif
  typedef __double_t  double_t;
+-typedef float       __float_t;
  
  /*
   * The original fdlibm code used statements like:
@@ -27,4 +30,5 @@
   *    ix0 = *(n0+(int*)&x);                   * high word of x *
   *    ix1 = *((1-n0)+(int*)&x);               * low word of x *
   * to dig two 32 bit words out of the 64 bit IEEE floating point
+  * value.  That is non-ANSI, and, moreover, the gcc instruction
 

++++++ mozilla-bmo849632.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.059797064 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.063797207 +0200
@@ -6,15 +6,11 @@
           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 --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) {
+Index: firefox-115.0/gfx/gl/GLContext.h
+===================================================================
+--- firefox-115.0.orig/gfx/gl/GLContext.h
++++ firefox-115.0/gfx/gl/GLContext.h
+@@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe
      BEFORE_GL_CALL;
      mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
      OnSyncCall();
@@ -28,9 +24,4 @@
      AFTER_GL_CALL;
      mHeavyGLCallsSinceLastFlush = true;
    }
- 
-   void fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
-                    GLenum format, GLenum type, GLvoid* pixels);
- 
-  public:
 

++++++ mozilla-fix-aarch64-libopus.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.083797921 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.091798207 +0200
@@ -1,15 +1,10 @@
 # HG changeset patch
-# Parent  2640f2f68373b7bec776bb11d3b3fb75c72a8adb
+# Parent  af2c24874d79cbebb444727ae96f2fefa3f22b47
 
 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
 +++ b/media/libopus/silk/arm/arm_silk_map.c
-@@ -23,17 +23,17 @@ INTERRUPTION) HOWEVER CAUSED AND ON ANY 
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- ***********************************************************************/
- #ifdef HAVE_CONFIG_H
+@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
  # include "config.h"
  #endif
  
@@ -18,9 +13,4 @@
  #include "NSQ.h"
  #include "SigProc_FIX.h"
  
- #if defined(OPUS_HAVE_RTCD)
- 
- # if (defined(OPUS_ARM_MAY_HAVE_NEON_INTR) && \
-  !defined(OPUS_ARM_PRESUME_NEON_INTR))
- 
 

++++++ mozilla-kde.patch ++++++
++++ 2442 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-kde.patch
++++ and 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/mozilla-kde.patch

++++++ mozilla-libavcodec58_91.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.123799351 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.123799351 +0200
@@ -1,17 +1,17 @@
 # HG changeset patch
-# Parent  63747fd31719c6e4f7810512a3c57e75a02b8bfd
+# Parent  60fc1933af9d4f1769025a6f1d9a60db6b899315
 
 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
-@@ -34,16 +34,18 @@ static const char* sLibs[] = {
-   "libavcodec.55.dylib",
+@@ -36,16 +36,18 @@ static const char* sLibs[] = {
    "libavcodec.54.dylib",
    "libavcodec.53.dylib",
  #elif defined(XP_OPENBSD)
    "libavcodec.so", // OpenBSD hardly controls the major/minor library version
                     // of ffmpeg and update it regulary on ABI/API changes
  #else
+   "libavcodec.so.60",
    "libavcodec.so.59",
 +  "libavcodec.so.58.134",
 +  "libavcodec.so.58.91",

++++++ mozilla-nongnome-proxies.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.135799781 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.139799924 +0200
@@ -3,7 +3,7 @@
 # Date 1558442915 -7200
 #      Tue May 21 14:48:35 2019 +0200
 # Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
-# Parent  bd5d1f49975deb730064a16b3079edb53c4a5f84
+# Parent  715f01d61df8627117e6aefca540f0c1bba45011
 Do not use gconf for proxy settings if not running within Gnome
 Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
 ===================================================================
@@ -13,12 +13,7 @@
 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;
+@@ -52,10 +52,13 @@ nsUnixSystemProxySettings::GetMainThread
  }
  
  void nsUnixSystemProxySettings::Init() {
@@ -30,16 +25,10 @@
 +  if (sessionType && !strcmp(sessionType, "gnome")) {
 +    mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
 +    if (mGSettings) {
-+      mGSettings->GetCollectionForSchema(
-+          "org.gnome.system.proxy"_ns,
-+          getter_AddRefs(mProxySettings));
++      mGSettings->GetCollectionForSchema("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.lLkz3d/_old  2023-09-07 21:15:46.151800352 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.155800495 +0200
@@ -1,18 +1,13 @@
 # HG changeset patch
 # User Petr Cerny <pce...@novell.com>
 # Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
-# Parent  2361c5db1e70e358b2158325e07fa15bb4569c2c
+# Parent  1c6a565013e4c5f3494f964269783939cd5ed0b8
 Bug 634334 - call to the ntlm_auth helper fails
 
 diff --git a/extensions/auth/nsAuthSambaNTLM.cpp 
b/extensions/auth/nsAuthSambaNTLM.cpp
 --- a/extensions/auth/nsAuthSambaNTLM.cpp
 +++ b/extensions/auth/nsAuthSambaNTLM.cpp
-@@ -156,17 +156,17 @@ static uint8_t* ExtractMessage(const nsA
-   *aLen = (length / 4) * 3 - numEquals;
-   return reinterpret_cast<uint8_t*>(PL_Base64Decode(s, length, nullptr));
- }
- 
- nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() {
+@@ -160,7 +160,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
    const char* username = PR_GetEnv("USER");
    if (!username) return NS_ERROR_FAILURE;
  
@@ -21,9 +16,4 @@
                                "--helper-protocol",
                                "ntlmssp-client-1",
                                "--use-cached-creds",
-                               "--username",
-                               username,
-                               nullptr};
- 
-   bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID,
 

++++++ mozilla-partial-revert-1768632.patch ++++++
Index: firefox-102.4.0/mfbt/EnumSet.h
===================================================================
--- firefox-102.4.0.orig/mfbt/EnumSet.h
+++ firefox-102.4.0/mfbt/EnumSet.h
@@ -326,7 +326,7 @@ class EnumSet {
     }
   }
 
-  static constexpr size_t kMaxBits = MaxBits();
+  static constexpr size_t kMaxBits = EnumSet().MaxBits();
 
   Serialized mBitField;
 

++++++ mozilla-pgo.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.175801211 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.179801354 +0200
@@ -1,16 +1,12 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <w...@rosenauer.org>
-# Parent  02ffee15578fd4dc2dd5ade32e7dab907d633b0d
+# Parent  9959fe2a13a39cbeb98ca1bef2e21caba16717bd
 
-diff --git a/build/moz.configure/lto-pgo.configure 
b/build/moz.configure/lto-pgo.configure
---- a/build/moz.configure/lto-pgo.configure
-+++ b/build/moz.configure/lto-pgo.configure
-@@ -242,34 +242,34 @@ def lto(
-             "configure."
-         )
- 
-     if c_compiler.type == "clang":
-         if value == "full":
+Index: firefox-115.0/build/moz.configure/lto-pgo.configure
+===================================================================
+--- firefox-115.0.orig/build/moz.configure/lto-pgo.configure
++++ firefox-115.0/build/moz.configure/lto-pgo.configure
+@@ -251,8 +251,8 @@ def lto(
              cflags.append("-flto")
              ldflags.append("-flto")
          else:
@@ -19,18 +15,10 @@
 +            cflags.append("-flto")
 +            ldflags.append("-flto")
  
-         if target.os == "Android" and value == "cross":
+         if target.os == "Android" and "cross" in values:
              # Work around https://github.com/rust-lang/rust/issues/90088
-             # by enabling the highest level of SSE the rust targets default
-             # to.
-             # 
https://github.com/rust-lang/rust/blob/bdfcb88e8b6203ccb46a2fb6649979b773efc8ac/compiler/rustc_target/src/spec/i686_linux_android.rs#L13
-             # 
https://github.com/rust-lang/rust/blob/8d1083e319841624f64400e1524805a40d725439/compiler/rustc_target/src/spec/x86_64_linux_android.rs#L7
-             if target.cpu == "x86":
-                 ldflags.append("-Wl,-plugin-opt=-mattr=+ssse3")
-             elif target.cpu == "x86_64":
-                 ldflags.append("-Wl,-plugin-opt=-mattr=+sse4.2")
-     elif c_compiler.type == "clang-cl":
-         if value == "full":
+@@ -268,7 +268,7 @@ def lto(
+         if "full" in values:
              cflags.append("-flto")
          else:
 -            cflags.append("-flto=thin")
@@ -38,39 +26,20 @@
          # With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
          # AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
          cflags.append("-fuse-ld=lld")
- 
-         # Explicitly set the CPU to optimize for so the linker doesn't
-         # choose a poor default.  Rust compilation by default uses the
-         # pentium4 CPU on x86:
-         #
-diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
---- a/build/pgo/profileserver.py
-+++ b/build/pgo/profileserver.py
-@@ -6,17 +6,17 @@
- 
- import json
- import os
+Index: firefox-115.0/build/pgo/profileserver.py
+===================================================================
+--- firefox-115.0.orig/build/pgo/profileserver.py
++++ firefox-115.0/build/pgo/profileserver.py
+@@ -11,7 +11,7 @@ import subprocess
  import sys
- import glob
- import subprocess
  
  import mozcrash
--from mozbuild.base import MozbuildObject, BinaryNotFoundException
-+from mozbuild.base import MozbuildObject, BinaryNotFoundException, 
BuildEnvironmentNotFoundException
+-from mozbuild.base import BinaryNotFoundException, MozbuildObject
++from mozbuild.base import BinaryNotFoundException, MozbuildObject, 
BuildEnvironmentNotFoundException
  from mozfile import TemporaryDirectory
  from mozhttpd import MozHttpd
  from mozprofile import FirefoxProfile, Preferences
- from mozprofile.permissions import ServerLocations
- from mozrunner import FirefoxRunner, CLI
- from six import string_types
- 
- PORT = 8888
-@@ -82,19 +82,32 @@ if __name__ == "__main__":
-         docroot=os.path.join(build.topsrcdir, "build", "pgo"),
-         path_mappings=path_mappings,
-     )
-     httpd.start(block=False)
- 
+@@ -87,9 +87,22 @@ if __name__ == "__main__":
      locations = ServerLocations()
      locations.add_host(host="127.0.0.1", port=PORT, 
options="primary,privileged")
  
@@ -96,17 +65,7 @@
  
      with TemporaryDirectory() as profilePath:
          # TODO: refactor this into mozprofile
-         profile_data_dir = os.path.join(build.topsrcdir, "testing", 
"profiles")
-         with open(os.path.join(profile_data_dir, "profiles.json"), "r") as fh:
-             base_profiles = json.load(fh)["profileserver"]
- 
-         prefpaths = [
-@@ -207,16 +220,20 @@ if __name__ == "__main__":
- 
-         # Try to move the crash reports to the artifacts even if Firefox 
appears
-         # to exit successfully, in case there's a crash that doesn't set the
-         # return code to non-zero for some reason.
-         if get_crashreports(profilePath, name="Firefox exited successfully?") 
!= 0:
+@@ -213,6 +226,10 @@ if __name__ == "__main__":
              print("Firefox exited successfully, but produced a crashreport")
              sys.exit(1)
  
@@ -117,61 +76,41 @@
          llvm_profdata = env.get("LLVM_PROFDATA")
          if llvm_profdata:
              profraw_files = glob.glob("*.profraw")
-             if not profraw_files:
-                 print(
-                     "Could not find profraw files in the current directory: 
%s"
-                     % os.getcwd()
-                 )
-diff --git a/build/unix/mozconfig.unix b/build/unix/mozconfig.unix
---- a/build/unix/mozconfig.unix
-+++ b/build/unix/mozconfig.unix
-@@ -1,14 +1,23 @@
- . "$topsrcdir/build/mozconfig.common"
- 
- if [ -n "$FORCE_GCC" ]; then
+Index: firefox-115.0/build/unix/mozconfig.unix
+===================================================================
+--- firefox-115.0.orig/build/unix/mozconfig.unix
++++ firefox-115.0/build/unix/mozconfig.unix
+@@ -4,6 +4,15 @@ if [ -n "$FORCE_GCC" ]; then
      CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
      CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
  
 +    if [ -n "$MOZ_PGO" ]; then
-+        if [ -z "$USE_ARTIFACT" ]; then
-+            ac_add_options --enable-lto
-+      fi
-+      export AR="$topsrcdir/gcc/bin/gcc-ar"
-+        export NM="$topsrcdir/gcc/bin/gcc-nm"
-+        export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
++       if [ -z "$USE_ARTIFACT" ]; then
++           ac_add_options --enable-lto
++       fi
++       export AR="$topsrcdir/gcc/bin/gcc-ar"
++       export NM="$topsrcdir/gcc/bin/gcc-nm"
++       export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
 +    fi
 +
      # We want to make sure we use binutils and other binaries in the tooltool
      # package.
-     mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH"
- else
-     # For some builds we don't want to have Clang based static-analysis 
activated
-     if [ -z "$DISABLE_CLANG_PLUGIN" ]; then
-         export ENABLE_CLANG_PLUGIN=1
-     fi
-diff --git a/extensions/spellcheck/src/moz.build 
b/extensions/spellcheck/src/moz.build
---- a/extensions/spellcheck/src/moz.build
-+++ b/extensions/spellcheck/src/moz.build
-@@ -23,8 +23,10 @@ LOCAL_INCLUDES += [
-     "../hunspell/glue",
-     "../hunspell/src",
-     "/dom/base",
- ]
- EXPORTS.mozilla += [
+     mk_add_options "export 
PATH=$MOZ_FETCHES_DIR/gcc/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
+Index: firefox-115.0/extensions/spellcheck/src/moz.build
+===================================================================
+--- firefox-115.0.orig/extensions/spellcheck/src/moz.build
++++ firefox-115.0/extensions/spellcheck/src/moz.build
+@@ -28,3 +28,5 @@ EXPORTS.mozilla += [
      "mozInlineSpellChecker.h",
      "mozSpellChecker.h",
  ]
 +
 +CXXFLAGS += ['-fno-devirtualize']
-diff --git a/toolkit/components/terminator/nsTerminator.cpp 
b/toolkit/components/terminator/nsTerminator.cpp
---- a/toolkit/components/terminator/nsTerminator.cpp
-+++ b/toolkit/components/terminator/nsTerminator.cpp
-@@ -461,16 +461,21 @@ void nsTerminator::StartWatchdog() {
-       // Defend against overflow
-       crashAfterMS = INT32_MAX;
-     } else {
-       crashAfterMS *= scaleUp;
-     }
+Index: firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
+===================================================================
+--- firefox-115.0.orig/toolkit/components/terminator/nsTerminator.cpp
++++ firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
+@@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() {
    }
  #endif
  
@@ -183,9 +122,4 @@
    UniquePtr<Options> options(new Options());
    // crashAfterTicks is guaranteed to be > 0 as
    // crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >> HEARTBEAT_INTERVAL_MS
-   options->crashAfterTicks = crashAfterMS / HEARTBEAT_INTERVAL_MS;
- 
-   DebugOnly<PRThread*> watchdogThread =
-       CreateSystemThread(RunWatchdog, options.release());
-   MOZ_ASSERT(watchdogThread);
 

++++++ mozilla-reduce-rust-debuginfo.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.187801639 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.191801782 +0200
@@ -1,6 +1,10 @@
---- firefox-96.0.3.orig/build/moz.configure/rust.configure
-+++ firefox-96.0.3/build/moz.configure/rust.configure
-@@ -641,7 +643,7 @@ def rust_compile_flags(
+# HG changeset patch
+# Parent  135d931b3e674a670473f69f8c079e741ac63643
+
+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
+@@ -668,7 +668,7 @@ def rust_compile_flags(
          debug_assertions = False
  
      if debug_symbols:

++++++ mozilla-rust-disable-future-incompat.patch ++++++
diff -rup a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml        2023-07-04 15:15:01.089470619 +0200
+++ b/Cargo.toml        2023-07-04 15:24:31.626226962 +0200
@@ -188,3 +188,8 @@ uniffi_bindgen = "=0.23.0"
 uniffi_build = "=0.23.0"
 uniffi_macros = "=0.23.0"
 weedle2 = "=4.0.0"
+
+# Package code v0.1.4 uses code "that will be rejected by a future version of 
Rust"
+# Shut up such messages for now to make the build succeed
+[future-incompat-report]
+frequency = "never"

++++++ mozilla-s390-context.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.211802498 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.219802783 +0200
@@ -3,52 +3,32 @@
 # Date 1558452408 -7200
 #      Tue May 21 17:26:48 2019 +0200
 # Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
-# Parent  136e1f2c44a3099b3e49a576fa62c8ad77aa431e
+# Parent  783ceb006fcdabe5ad23bd561362e721c7ed5f8c
 [mq]: mozilla-s390-context.patch
 
 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
-@@ -157,16 +157,20 @@ using mozilla::DebugOnly;
- #      define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
+@@ -174,6 +174,10 @@ using mozilla::DebugOnly;
+ #      define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS])
+ #      define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP])
  #    endif
- #    if defined(__linux__) && defined(__loongarch__)
- #      define EPC_sig(p) ((p)->uc_mcontext.pc)
- #      define RRA_sig(p) ((p)->uc_mcontext.gregs[1])
- #      define RSP_sig(p) ((p)->uc_mcontext.gregs[3])
- #      define RFP_sig(p) ((p)->uc_mcontext.gregs[22])
- #    endif
-+#  if defined(__linux__) && defined(__s390x__)
-+#    define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
-+#    define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
-+#  endif
++#    if defined(__linux__) && defined(__s390x__)
++#      define GR_sig(p, x) ((p)->uc_mcontext.gregs[x])
++#      define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
++#    endif
  #  elif defined(__NetBSD__)
  #    define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
  #    define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
- #    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])
-@@ -399,16 +403,20 @@ struct macos_aarch64_context {
- #    define PC_sig(p) R32_sig(p)
- #    define SP_sig(p) R01_sig(p)
- #    define FP_sig(p) R01_sig(p)
- #  elif defined(__loongarch__)
- #    define PC_sig(p) EPC_sig(p)
+@@ -416,6 +420,10 @@ struct macos_aarch64_context {
  #    define FP_sig(p) RFP_sig(p)
- #    define SP_sig(p) RSP_sig(p)
+ #    define SP_sig(p) R03_sig(p)
  #    define LR_sig(p) RRA_sig(p)
 +#  elif defined(__s390x__)
 +#    define PC_sig(p) PSWa_sig(p)
 +#    define SP_sig(p) GR_sig(p, 15)
 +#    define FP_sig(p) GR_sig(p, 11)
- #  endif
- 
- static void SetContextPC(CONTEXT* context, uint8_t* pc) {
- #  ifdef PC_sig
-   *reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
- #  else
-   MOZ_CRASH();
- #  endif
+ #  elif defined(__riscv)
+ #    define PC_sig(p) RPC_sig(p)
+ #    define FP_sig(p) RFP_sig(p)
 

++++++ mozilla-silence-no-return-type.patch ++++++
++++ 3026 lines (skipped)
++++ between 
/work/SRC/openSUSE:Factory/MozillaThunderbird/mozilla-silence-no-return-type.patch
++++ and 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/mozilla-silence-no-return-type.patch

++++++ mozilla.sh.in ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.267804499 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.271804642 +0200
@@ -89,7 +89,7 @@
 
 # $XDG_SESSION_TYPE should contain either x11 or wayland
 if [ $WAYLAND_SUPPORTED -eq 1 ] && [ "$XDG_SESSION_TYPE" = "wayland" ] && [ -z 
"$MOZ_ENABLE_WAYLAND" ]; then
-  export MOZ_ENABLE_WAYLAND=0
+  export MOZ_ENABLE_WAYLAND=1
 fi
 
 ##
@@ -100,7 +100,7 @@
 fi
 
 # xinput2 (boo#1173320)
-source /etc/os-release
+. /etc/os-release
 if [ "$ID" = "opensuse-tumbleweed" ]; then
   export MOZ_USE_XINPUT2=1
 fi
@@ -151,7 +151,7 @@
     # 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() {
+    create_langpack_link() {
         local language=$*
         local langpack=langpack-${language}@firefox.mozilla.org.xpi
         if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then

++++++ one_swizzle_to_rule_them_all.patch ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.295805500 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.331806787 +0200
@@ -6,10 +6,10 @@
 # Parent  81832d035e101471dcf52dd91de287268add7a91
 imported patch one_swizzle_to_rule_them_all.patch
 
-Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
+Index: firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
 ===================================================================
---- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
-+++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
+--- firefox-115.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
++++ firefox-115.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
 @@ -7,6 +7,7 @@
  #include "RenderCompositorSWGL.h"
  
@@ -18,7 +18,7 @@
  #include "mozilla/widget/CompositorWidget.h"
  
  #ifdef MOZ_WIDGET_GTK
-@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB
+@@ -242,6 +243,13 @@ void RenderCompositorSWGL::CommitMappedB
    }
    mDT->Flush();
  

++++++ tar_stamps ++++++
--- /var/tmp/diff_new_pack.lLkz3d/_old  2023-09-07 21:15:46.539814223 +0200
+++ /var/tmp/diff_new_pack.lLkz3d/_new  2023-09-07 21:15:46.563815081 +0200
@@ -1,11 +1,11 @@
 PRODUCT="thunderbird"
-CHANNEL="esr102"
-VERSION="102.14.0"
+CHANNEL="esr115"
+VERSION="115.2.0"
 VERSION_SUFFIX=""
-PREV_VERSION="102.13.1"
+PREV_VERSION="115.1.1"
 PREV_VERSION_SUFFIX=""
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
-RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr102";
-RELEASE_TAG="d83d81499d87f2360995ae0448fcaa40e0cd106a"
-RELEASE_TIMESTAMP="20230801134847"
+RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr115";
+RELEASE_TAG="ffd49506d62c329824f7adb4896602a8c77ec7e8"
+RELEASE_TIMESTAMP="20230828145448"
 

++++++ thunderbird-102.14.0.source.tar.xz -> thunderbird-115.2.0.source.tar.xz 
++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-102.14.0.source.tar.xz
 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.1766/thunderbird-115.2.0.source.tar.xz
 differ: char 15, line 1

Reply via email to