Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package MozillaThunderbird for 
openSUSE:Factory checked in at 2026-10-10 14:59:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
 and      /work/SRC/openSUSE:Factory/.MozillaThunderbird.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "MozillaThunderbird"

Sat Oct 10 14:59:33 2026 rev:395 rq:1383983 version:153.4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes    
2026-09-21 12:03:11.755180766 +0200
+++ 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.3698736/MozillaThunderbird.changes
       2026-10-10 15:00:14.969164334 +0200
@@ -2 +2 @@
-Tue Sep 15 07:56:03 UTC 2026 - Wolfgang Rosenauer <[email protected]>
+Tue Sep 29 06:02:59 UTC 2026 - Wolfgang Rosenauer <[email protected]>
@@ -4,2 +4,173 @@
-- Mozilla Thunderbird 140.16.0 ESR
-  MFSA 2026-95 (bsc#1280371)
+- Mozilla Thunderbird 153.4.0 ESR
+  * RNP command-line utilities are no longer included with Thunderbird
+  * Thundermail built-in add-on updated to v2.0.16
+  * Ctrl+Shift+K could fail to open the Quick Filter UI
+  * Nested S/MIME signed parts could fail to render
+  * Thunderbird could hang when waiting for IMAP server greeting
+    during account setup
+  * Gmail OAuth2 authentication could intermittently fail on Windows
+  * AppUpdatePin policy did not prevent Thunderbird from updating
+    beyond pinned version
+  * "What's New?" linked to Release channel notes instead of ESR
+    release notes
+  MFSA 2026-103 (bsc#1282929)
+  * CVE-2026-103500 (bmo#2070267)
+    Heap buffer overflow opening large email
+  * CVE-2026-100756 (bmo#2047721)
+    Incorrect boundary conditions in the Audio/Video: Playback
+    component
+  * CVE-2026-100757 (bmo#2049352)
+    Use-after-free in the Widget component
+  * CVE-2026-100758 (bmo#2049792)
+    Sandbox escape in the DOM: Navigation component
+  * CVE-2026-100759 (bmo#2054736)
+    Uninitialized memory in the Storage: Quota Manager component
+  * CVE-2026-100760 (bmo#2058017)
+    Sandbox escape in the Security: Process Sandboxing component
+  * CVE-2026-100762 (bmo#2059404)
+    Sandbox escape due to use-after-free in the DOM: Content
+    Processes component
+  * CVE-2026-100765 (bmo#2061399)
+    Use-after-free in the JavaScript: WebAssembly component
+  * CVE-2026-100766 (bmo#2061526)
+    Information disclosure in the Networking: JAR component
+  * CVE-2026-100767 (bmo#2063680)
+    Use-after-free in the Networking: Cache component
+  * CVE-2026-100769 (bmo#2067190)
+    Use-after-free in the JavaScript: WebAssembly component
+  * CVE-2026-100770 (bmo#2068322)
+    Sandbox escape due to use-after-free in the DOM: Content
+    Processes component
+  * CVE-2026-100771 (bmo#2068336)
+    Undefined behavior in the DOM: Streams component
+  * CVE-2026-100772 (bmo#2068340)
+    Use-after-free in the DOM: Core & HTML component
+  * CVE-2026-100773 (bmo#2068346)
+    Use-after-free in the Storage: IndexedDB component
+  * CVE-2026-100774 (bmo#2068351)
+    Use-after-free in the DOM: Core & HTML component
+  * CVE-2026-100775 (bmo#2068367)
+    Sandbox escape in the Graphics component
+  * CVE-2026-100776 (bmo#2068374)
+    Use-after-free in the JavaScript: WebAssembly component
+  * CVE-2026-100777 (bmo#2068375)
+    Use-after-free in the Graphics: Canvas2D component
+  * CVE-2026-100778 (bmo#2068406)
+    Sandbox escape due to use-after-free in the DOM: Core & HTML
+    component
+  * CVE-2026-100779 (bmo#2068417)
+    Use-after-free in the XSLT component
+  * CVE-2026-100780 (bmo#2068422)
+    Use-after-free in the DOM: Core & HTML component
+  * CVE-2026-100781 (bmo#2068434)
+    Sandbox escape due to incorrect boundary conditions in the
+    Graphics: WebRender component
+  * CVE-2026-100782 (bmo#2068456)
+    Privilege escalation due to incorrect boundary conditions in
+    the Graphics component
+  * CVE-2026-100783 (bmo#2069804)
+    Uninitialized memory in the Audio/Video component
+  * CVE-2026-100784 (bmo#2070264)
+    Use-after-free in the Layout: Text and Fonts component
+  * CVE-2026-100785 (bmo#2071064)
+    Use-after-free in the DOM: Core & HTML component
+  * CVE-2026-100786 (bmo#2071067)
+    Sandbox escape due to use-after-free in the Graphics
+    component
+  * CVE-2026-100787 (bmo#2071068)
+    Sandbox escape in the XUL component
+  * CVE-2026-100788 (bmo#2072413)
+    Invalid pointer in the JavaScript: WebAssembly component
+  * CVE-2026-100789 (bmo#2072429)
+    Use-after-free in the Graphics: Canvas2D component
+  * CVE-2026-100790 (bmo#2072432)
+    Use-after-free in the XSLT component
+  * CVE-2026-100791 (bmo#2072433)
+    Use-after-free in the DOM: Core & HTML component
+  * CVE-2026-100832 (bmo#2072467)
+    Use-after-free in the Graphics: Canvas2D component
+  * CVE-2026-100792 (bmo#2073266)
+    JIT miscompilation in the JavaScript: WebAssembly component
+  * CVE-2026-100794 (bmo#2028871)
+    Sandbox escape due to incorrect boundary conditions in the
+    Internationalization component
+  * CVE-2026-96869 (bmo#2041248)
+    Information disclosure in the Networking component
+  * CVE-2026-100797 (bmo#2050542)
+    Privilege escalation due to use-after-free in the Graphics:
+    WebRender component
+  * CVE-2026-100798 (bmo#2055694)
+    Cryptography misuse in Storage: Quota Manager component
+  * CVE-2026-100800 (bmo#2056767)
+    Sandbox escape due to use-after-free in the Disability Access
+    APIs component
+  * CVE-2026-100801 (bmo#2057112)
+    Privilege escalation in the DLL Services component
+  * CVE-2026-100803 (bmo#2057988)
+    Same-origin policy bypass in the WebExtensions component
+  * CVE-2026-100806 (bmo#2060408)
+    Uninitialized memory in the Graphics: WebGPU component
+  * CVE-2026-100807 (bmo#2062740)
+    Privilege escalation in the DOM: Service Workers component
+  * CVE-2026-100808 (bmo#2063488)
+    Mitigation bypass in the DOM: Service Workers component
+  * CVE-2026-100809 (bmo#2063658)
+    Same-origin policy bypass in the DevTools component
+  * CVE-2026-100811 (bmo#2067973)
+    Sandbox escape due to use-after-free in the DOM: Core & HTML
+    component
+  * CVE-2026-100812 (bmo#2068335)
+    Denial-of-service in the Graphics component
+  * CVE-2026-100814 (bmo#2068385)
+    Incorrect boundary conditions in the JavaScript Engine: JIT
+    component
+  * CVE-2026-100815 (bmo#2068404)
+    Use-after-free in the CSS Parsing and Computation component
+  * CVE-2026-100816 (bmo#2068648)
+    Site isolation issue in the DOM: Networking component
+  * CVE-2026-100818 (bmo#2069399)
+    Sandbox escape due to use-after-free in the Widget: Gtk
+    component
+  * CVE-2026-100819 (bmo#2071069)
+    Sandbox escape due to incorrect boundary conditions in the
+    XPCOM component
+  * CVE-2026-100820 (bmo#2071645)
+    Privilege escalation in the Address Bar component
+  * CVE-2026-100821 (bmo#2071784)
+    Site isolation issue in the Panning and Zooming component
+  * CVE-2026-100822 (bmo#2051115)
+    Spoofing issue in the Networking: HTTP component
+  * CVE-2026-100824 (bmo#2054767)
+    Privilege escalation in the Places component
+  * CVE-2026-100825 (bmo#2057465)
+    Use-after-free in the JavaScript Engine: JIT component
+  * CVE-2026-100826 (bmo#2059222)
+    Denial-of-service in the Storage: StorageManager component
+  * CVE-2026-100828 (bmo#2066019)
+    Mitigation bypass in the Bookmarks & History component
+  * CVE-2026-100829 (bmo#2066321)
+    Mitigation bypass in the DOM: Security component
+  * CVE-2026-100830 (bmo#2066770)
+    Mitigation bypass in the DOM: Navigation component
+  * CVE-2026-100831 (bmo#2067172)
+    Use-after-free in the DOM: UI Events & Focus Handling
+    component
+- Rebase mozilla-pgo.patch
+
+-------------------------------------------------------------------
+Fri Sep 18 05:14:21 UTC 2026 - Wolfgang Rosenauer <[email protected]>
+
+- Mozilla Thunderbird 153.3.1 ESR
+  * There are no Thunderbird changes requiring release notes in this release
+
+-------------------------------------------------------------------
+Tue Sep 15 09:05:41 UTC 2026 - Wolfgang Rosenauer <[email protected]>
+
+- Mozilla Thunderbird 153.3.0 ESR
+  * Detached attachment links were truncated when folder path contained &
+  * Save All, Detach All, and Delete All failed after deleting one attachment
+  * Blank 1970-dated messages could appear from incomplete message file copies
+  * Forwarded messages could display incorrect encoding
+  * Manual Get Messages failed after startup until toggling offline mode
+  * Thunderbird could crash on shutdown while waiting for OAuth2 password entry
+  MFSA 2026-96 (bsc#)
@@ -38,3 +208,0 @@
-  * CVE-2026-92014 (bmo#2060000)
-    Privilege escalation due to incorrect boundary conditions in
-    the Graphics component
@@ -42,0 +211,3 @@
+  * CVE-2026-92035 (bmo#2061245)
+    Sandbox escape due to incorrect boundary conditions in the
+    Graphics component
@@ -54,2 +224,0 @@
-  * CVE-2026-92021 (bmo#2067208)
-    Use-after-free in the JavaScript Engine: JIT component
@@ -71,0 +241,16 @@
+  * CVE-2026-92038 (bmo#2068952)
+    Mitigation bypass in the Remote Settings Client component
+  * CVE-2026-92039 (bmo#2001265)
+    Mitigation bypass in the DOM: Notifications component
+  * CVE-2026-92041 (bmo#2029482)
+    Mitigation bypass in the DOM: Networking component
+  * CVE-2026-92042 (bmo#2049342)
+    Race condition in the DOM: Content Processes component
+  * CVE-2026-92043 (bmo#2050150)
+    Privilege escalation due to incorrect boundary conditions in
+    the Audio/Video component
+  * CVE-2026-92044 (bmo#2051466)
+    Information disclosure in the Networking: HTTP component
+  * CVE-2026-92045 (bmo#2054622)
+    Sandbox escape due to incorrect boundary conditions in the
+    WebRTC component
@@ -73 +258,24 @@
-    Mitigation bypass in the DOM: Copy & Paste and Drag & Drop component
+    Mitigation bypass in the DOM: Copy & Paste and Drag & Drop
+    component
+  * CVE-2026-92046 (bmo#2058618)
+    Use-after-free in the Graphics component
+  * CVE-2026-92047 (bmo#2059021)
+    Privilege escalation in the Crash Reporting component
+  * CVE-2026-92048 (bmo#2061235)
+    Sandbox escape due to incorrect boundary conditions in the
+    Widget: Win32 component
+  * CVE-2026-92049 (bmo#2061295)
+    Use-after-free in the Widget: Win32 component
+  * CVE-2026-92052 (bmo#2061499)
+    Privilege escalation due to uninitialized memory in the
+    Graphics: CanvasWebGL component
+  * CVE-2026-92053 (bmo#2061503)
+    Privilege escalation in the Graphics: CanvasWebGL component
+  * CVE-2026-92054 (bmo#2062551)
+    Privilege escalation in the Memory component
+  * CVE-2026-92055 (bmo#2063652)
+    Privilege escalation in the DevTools component
+  * CVE-2026-92056 (bmo#2065346)
+    Use-after-free in the Graphics: Text component
+  * CVE-2026-92057 (bmo#2065646)
+    Mitigation bypass in the Enterprise Policies component
@@ -77,7 +285,50 @@
-    Sandbox escape due to invalid pointer in the Graphics component
-
--------------------------------------------------------------------
-Sun Aug 30 10:25:54 UTC 2026 - Wolfgang Rosenauer <[email protected]>
-
-- Mozilla Thunderbird 140.15.0 ESR
-  https://www.thunderbird.net/en-US/thunderbird/140.15.0esr/releasenotes/
+    Sandbox escape due to invalid pointer in the Graphics
+    component
+  * CVE-2026-92058 (bmo#2068438)
+    Use-after-free in the Graphics component
+  * CVE-2026-92059 (bmo#2068442)
+    Incorrect boundary conditions in the DOM: Editor component
+  * CVE-2026-92060 (bmo#2027336)
+    Use-after-free in the Internationalization component
+  * CVE-2026-92062 (bmo#2054670)
+    Privilege escalation in the Session Restore component
+  * CVE-2026-92064 (bmo#2057990)
+    Sandbox escape due to incorrect boundary conditions in the
+    Widget: Win32 component
+  * CVE-2026-92065 (bmo#2058018)
+    Sandbox escape due to incorrect boundary conditions in the
+    Widget: Win32 component
+  * CVE-2026-92067 (bmo#2058664)
+    Use-after-free in the Widget: Gtk component
+  * CVE-2026-92068 (bmo#2058790)
+    Site isolation issue in the Reader Mode component
+  * CVE-2026-92069 (bmo#2059196)
+    Spoofing issue in the DOM: Navigation component
+  * CVE-2026-92070 (bmo#2060220)
+    Information disclosure in the Networking component
+  * CVE-2026-92071 (bmo#2061231)
+    Sandbox escape due to incorrect boundary conditions in the
+    Widget: Win32 component
+  * CVE-2026-92072 (bmo#2061257)
+    Incorrect boundary conditions in the Safe Browsing component
+  * CVE-2026-92073 (bmo#2062527)
+    Privilege escalation in the Enterprise Policies component
+  * CVE-2026-92074 (bmo#2063539)
+    Mitigation bypass in the Popup Blocker component
+  * CVE-2026-92075 (bmo#2063814)
+    Mitigation bypass in the Networking component
+  * CVE-2026-92076 (bmo#2064026)
+    Incorrect boundary conditions in the Networking component
+  * CVE-2026-92077 (bmo#2064601)
+    Denial-of-service in the SVG component
+  * CVE-2026-92078 (bmo#2066736)
+    Denial-of-service in the Security component
+  * CVE-2026-92079 (bmo#2067531)
+    Mitigation bypass in the Widget: Win32 component
+
+-------------------------------------------------------------------
+Sun Aug 30 10:38:01 UTC 2026 - Wolfgang Rosenauer <[email protected]>
+
+- Mozilla Thunderbird 153.2.0 ESR
+  * Deleting an Exchange account retained the outgoing server settings
+  * Thunderbird upgrade disabled Settings menu for versions before macOS 13
@@ -85 +336 @@
-  MFSA 2026-87 (bsc#1278001)
+  MFSA 2026-88 (bsc#1278001)
@@ -91,0 +343,6 @@
+  * CVE-2026-84637 (bmo#2043878)
+    Calendar invitation attachments could launch local
+    executables
++++ 1054 more lines (skipped)
++++ between 
/work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes
++++ and 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.3698736/MozillaThunderbird.changes

Old:
----
  l10n-140.16.0esr.tar.xz
  mozilla-bmo531915.patch
  mozilla-bmo998749.patch
  mozilla-nongnome-proxies.patch
  thunderbird-140.16.0esr.source.tar.xz
  thunderbird-140.16.0esr.source.tar.xz.asc
  thunderbird-glibc-2.43.patch

New:
----
  l10n-153.4.0esr.tar.xz
  mozilla-sandbox-lto.patch
  thunderbird-153.4.0esr.source.tar.xz
  thunderbird-153.4.0esr.source.tar.xz.asc
  thunderbird.desktop

----------(Old B)----------
  Old:- Remove obsolete patches:
  * mozilla-bmo531915.patch
  * mozilla-bmo1746799.patch
  Old:- removed obsolete
  mozilla-bmo998749.patch
  mozilla-nongnome-proxies.patch
  Old:  mozilla-bmo998749.patch
  mozilla-nongnome-proxies.patch
  thunderbird-glibc-2.43.patch
  Old:  mozilla-nongnome-proxies.patch
  thunderbird-glibc-2.43.patch
- added mozilla-sandbox-lto.patch
----------(Old E)----------

----------(New B)----------
  New:  thunderbird-glibc-2.43.patch
- added mozilla-sandbox-lto.patch
----------(New E)----------

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

Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.377018681 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.378018722 +0200
@@ -29,9 +29,9 @@
 # orig_suffix b3 (or esr)
 # major 69
 # mainver %%major.99
-%define major          140
-%define mainver        %major.16.0
-%define orig_version   140.16.0
+%define major          153
+%define mainver        %major.4.0
+%define orig_version   153.4.0
 %define orig_suffix    esr
 %define update_channel esr
 %define source_prefix  thunderbird-%{orig_version}
@@ -40,7 +40,7 @@
 %define do_profiling   0
 
 # upstream default is clang (to use gcc for large parts set to 0)
-%define clang_build    1
+%define clang_build    0
 
 %bcond_with only_print_mozconfig
 
@@ -48,19 +48,13 @@
 %bcond_without mozilla_tb_optimize_for_size
 
 # define if ccache should be used or not
-%define useccache     1
+%define useccache     0
+# ccache doesn't work with pgo
+%if 0%{?do_profiling}
+%define useccache     0
+%endif
 
-# No i586 on SLE-12, as the rpmlints are broken and can't handle the big rpms 
resulting from this build.
-%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
 ExclusiveArch:  aarch64 ppc64le x86_64 s390x
-%else
-# Firefox only supports i686
-%ifarch %ix86
-ExclusiveArch:  i586 i686
-BuildArch:      i686
-%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 
-mtune=generic -msse2}
-%endif
-%endif
 %{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
 
 # general build definitions
@@ -88,56 +82,51 @@
 # Wayland is too old on Leap <=15.1 as well
 %define wayland_supported 0
 %endif
+%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000
+%define gcc_version 13
+%else
+%define gcc_version 15
+%endif
 
 Name:           %{pkgname}
 BuildRequires:  Mesa-devel
 BuildRequires:  alsa-devel
 BuildRequires:  autoconf213
-BuildRequires:  cargo1.84
+BuildRequires:  cargo1.94
 BuildRequires:  dbus-1-glib-devel
 BuildRequires:  dejavu-fonts
 BuildRequires:  fdupes
-%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
-BuildRequires:  gcc13
-BuildRequires:  gcc13-c++
-BuildRequires:  libstdc++6-devel-gcc13
-%else
-BuildRequires:  gcc15-c++
-BuildRequires:  libstdc++6-devel-gcc15
-%endif
+BuildRequires:  gcc%{gcc_version}
+BuildRequires:  gcc%{gcc_version}-c++
+BuildRequires:  libstdc++6-devel-gcc%{gcc_version}
 BuildRequires:  memory-constraints
-BuildRequires:  rust1.84
+BuildRequires:  rust1.94
 %if 0%{useccache} != 0
 BuildRequires:  ccache
 %endif
 BuildRequires:  libXcomposite-devel
 BuildRequires:  libcurl-devel
-BuildRequires:  mozilla-nspr-devel >= 4.35
-BuildRequires:  mozilla-nss-devel >= 3.101.1
+BuildRequires:  mozilla-nspr-devel >= 4.39
+BuildRequires:  mozilla-nss-devel >= 3.124
 BuildRequires:  nasm >= 2.14
-%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000
+%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150700
 BuildRequires:  libXtst-devel
 BuildRequires:  nodejs12 >= 12.22.12
 #BuildRequires:  python-libxml2
-BuildRequires:  python39
-BuildRequires:  python39-curses
-BuildRequires:  python39-devel
-%else
-%if 0%{?sle_version} > 150000 && 0%{?sle_version} <= 150600
-BuildRequires:  nodejs12 >= 12.22.12
-BuildRequires:  python39
-BuildRequires:  python39-curses
-BuildRequires:  python39-devel
+BuildRequires:  python311
+BuildRequires:  python311-curses
+BuildRequires:  python311-devel
 %else
 # ALP
 BuildRequires:  nodejs >= 12.22.12
-BuildRequires:  python3 >= 3.7
+BuildRequires:  python3 >= 3.11
 BuildRequires:  python3-curses
 BuildRequires:  python3-devel
 %endif
-%endif
-BuildRequires:  rust-cbindgen-0_29_2
+BuildRequires:  rust-cbindgen >= 0.29.4
+%if 0%{?suse_version} >= 1699
 BuildRequires:  translate-suse-desktop
+%endif
 BuildRequires:  unzip
 BuildRequires:  xorg-x11-libXt-devel
 %if 0%{?do_profiling}
@@ -148,11 +137,11 @@
 %if 0%{?suse_version} < 1550
 BuildRequires:  pkgconfig(gconf-2.0) >= 1.2.1
 %endif
+%if 0%{?suse_version} < 1599
 BuildRequires:  clang19-devel
-%if 0%{?suse_version} > 1600
-BuildRequires:  llvm19-libclang13
+%else
+BuildRequires:  clang-devel
 %endif
-#!BuildIgnore:  clang-tools
 BuildRequires:  pkgconfig(glib-2.0) >= 2.22
 BuildRequires:  pkgconfig(gobject-2.0)
 BuildRequires:  pkgconfig(gtk+-3.0) >= 3.14.0
@@ -187,6 +176,9 @@
 Source2:        thunderbird-rpmlintrc
 Source3:        mozilla.sh.in
 Source4:        tar_stamps
+# Ready made desktop file for products that don't support 
%%translate_suse_desktop.
+# You can be prompted for the update during the Factory build.
+Source5:        thunderbird.desktop
 Source6:        suse-default-prefs.js
 %if %{localize}
 Source7:        l10n-%{orig_version}%{orig_suffix}.tar.xz
@@ -196,23 +188,20 @@
 Source14:       
https://github.com/openSUSE/firefox-scripts/raw/913fab1a196e2a0623b5c554598bfde3b4b49e29/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
-Source22:       thunderbird-glibc-2.43.patch
 # Gecko/Toolkit
-Patch1:         mozilla-nongnome-proxies.patch
-Patch3:         mozilla-ntlm-full-path.patch
-Patch4:         mozilla-aarch64-startup-crash.patch
-Patch5:         mozilla-bmo531915.patch
-Patch6:         mozilla-s390-context.patch
-Patch7:         mozilla-pgo.patch
-Patch8:         mozilla-reduce-rust-debuginfo.patch
-Patch10:        mozilla-bmo1504834-part1.patch
-Patch14:        mozilla-bmo849632.patch
-Patch15:        mozilla-bmo998749.patch
-Patch17:        mozilla-libavcodec58_91.patch
-Patch18:        mozilla-silence-no-return-type.patch
-Patch20:        one_swizzle_to_rule_them_all.patch
-Patch21:        svg-rendering.patch
-Patch22:        thunderbird-silence-no-return.patch
+Patch1:         mozilla-ntlm-full-path.patch
+Patch2:         mozilla-aarch64-startup-crash.patch
+Patch4:         mozilla-s390-context.patch
+Patch5:         mozilla-pgo.patch
+Patch6:         mozilla-reduce-rust-debuginfo.patch
+Patch7:         mozilla-bmo1504834-part1.patch
+Patch8:         mozilla-bmo849632.patch
+Patch9:         mozilla-sandbox-lto.patch
+Patch10:        mozilla-libavcodec58_91.patch
+Patch11:        mozilla-silence-no-return-type.patch
+Patch12:        one_swizzle_to_rule_them_all.patch
+Patch13:        svg-rendering.patch
+Patch100:       thunderbird-silence-no-return.patch
 %endif
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 PreReq:         /bin/sh
@@ -237,7 +226,7 @@
 Requires(post): desktop-file-utils
 Requires(postun): desktop-file-utils
 %define libgssapi libgssapi_krb5.so.2
-ExcludeArch:    armv6l armv6hl
+ExcludeArch:    armv6l armv6hl ppc ppc64 i586
 
 %description
 Thunderbird is a free, open-source, cross-platform application for
@@ -295,27 +284,41 @@
 %else
 %setup -q -n %{srcname}-%{orig_version}
 %endif
-cp %{SOURCE1} %{desktop_file_name}.desktop.in
+#%if 0%{?suse_version} >= 1699
+#cp %{SOURCE1} %{desktop_file_name}.desktop.in
+#%else
+cp %{SOURCE5} %{desktop_file_name}.desktop
+#%endif
 cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
 %autopatch -p1
-case "`rpm -q --qf '%%{version}\n' glibc-devel`" in
-    2.4[3-9]* )
-        patch -p1 < %{SOURCE22}
-        ;;
-esac
 %endif
 
 %build
-%translate_suse_desktop %{desktop_file_name}.desktop
+#%if 0%{?suse_version} >= 1699
+#%%translate_suse_desktop %{desktop_file_name}.desktop
+#if ! diff %{desktop_file_name}.desktop %{SOURCE5} ; then
+#cat <<EOF
+#A new version of desktop file exists. Please update thunderbird.desktop
+#rpm source from $PWD/%{desktop_file_name}.desktop
+#to get translations to older products.
+#EOF
+#  exit 0
+#fi
+#%endif
 %if !%{with only_print_mozconfig}
 # no need to add build time to binaries
 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" {} +
-for c in glslopt cubeb-sys minimal-lexical sfv wasi ; do
-  sed -i -e 's/"[^"]*\.gitmodules":"[0-9a-f]*",//g' 
comm/third_party/rust/${c}/.cargo-checksum.json
-done
+find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i 
"s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
+
+# SLE-12 provides python311, but that package does not provide a python3 binary
+%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
+sed -i "s|/usr/bin/env python3|/usr/bin/env python3.11|" mach
+sed -i "s|potential_python_binary = f\"python3.{i}\"|potential_python_binary = 
f\"python3.11.{i}\"|" mach
+export PYTHON3=/usr/bin/python3.11
+%endif
+
 # When doing only_print_mozconfig, this file isn't necessarily available, so 
skip it
 cp %{SOURCE4} .obsenv.sh
 %else
@@ -335,32 +338,15 @@
 export MOZ_TELEMETRY_REPORTING=1
 export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
 export CFLAGS="%{optflags}"
-%if 0%{?clang_build} != 0
-export CC=clang-19
-export CXX=clang++-19
-export AR=llvm-ar-19
-export NM=llvm-nm-19
-export OBJCOPY=llvm-objcopy-19
-export OBJDUMP=llvm-objdump-19
-export RANLIB=llvm-ranlib-19
-export READELF=llvm-readelf-19
-export LLVM_AR=llvm-ar-19
-export LLVM_NM=llvm-nm-19
-export LLVM_OBJCOPY=llvm-objcopy-19
-export LLVM_OBJDUMP=llvm-objdump-19
-export LLVM_RANLIB=llvm-ranlib-19
-export LLVM_READELF=llvm-readelf-19
-%else
-%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
-export CC=gcc-13
-export CXX=g++-13
-%else
-export CC=gcc-15
-export CXX=g++-15
-export AR=gcc-ar-15
-export NM=gcc-nm-15
-export RANLIB=gcc-ranlib-15
-%endif
+%if 0%{?clang_build} == 0
+export CC=gcc-%{gcc_version}
+export CXX=g++-%{gcc_version}
+export AR=gcc-ar-%{gcc_version}
+export NM=gcc-nm-%{gcc_version}
+export RANLIB=gcc-ranlib-%{gcc_version}
+%else
+export CC=clang
+export CXX=clang++
 %endif
 %ifarch %arm %ix86
 ### NOTE: these sections are not required anymore. Alson --no-keep-memory + 
-Wl,-z,pack-relative-relocs causes
@@ -382,7 +368,7 @@
 # Done with env-variables.
 source ./.obsenv.sh
 
-%ifarch aarch64 %arm ppc64 ppc64le riscv64 s390x
+%ifarch aarch64 %arm ppc64 ppc64le riscv64
 %limit_build -m 2500
 %endif
 
@@ -407,9 +393,13 @@
 %ifarch %ix86 %arm
 ac_add_options --disable-debug-symbols
 %else
-ac_add_options --enable-debug-symbols=-g1
+ac_add_options --enable-debug-symbols=-g0
 %endif
 ac_add_options --disable-install-strip
+%ifarch %ix86 %arm
+# OOM on 32-bit when ld passed -Wl,-z,pack-relative-relocs
+# ac_add_options --enable-elf-hack
+%endif
 ac_add_options --with-system-nspr
 ac_add_options --with-system-nss
 %if 0%{useccache} != 0
@@ -455,6 +445,7 @@
 ac_add_options --enable-lto
 %if 0%{?do_profiling}
 ac_add_options MOZ_PGO=1
+export CCACHE_DISABLE=1
 %endif
 %endif
 %if %{with mozilla_tb_valgrind}
@@ -464,6 +455,10 @@
 %endif
 EOF
 
+%if 0%{?do_profiling}
+export CCACHE_DISABLE=1
+%endif
+
 %if %{with only_print_mozconfig}
 cat ./.obsenv.sh
 cat $MOZCONFIG
@@ -534,6 +529,7 @@
 %endif
 
 %install
+install -D -m 0644 %{desktop_file_name}.desktop 
%{buildroot}%{_datadir}/applications/%{desktop_file_name}.desktop
 cd $RPM_BUILD_DIR/obj
 source %{SOURCE4}
 export MOZ_SOURCE_STAMP=$RELEASE_TAG
@@ -568,10 +564,6 @@
   %{SOURCE3} > %{buildroot}%{progdir}/%{progname}.sh
 chmod 755 %{buildroot}%{progdir}/%{progname}.sh
 ln -sf ../..%{progdir}/%{progname}.sh %{buildroot}%{_bindir}/%{progname}
-# desktop file
-mkdir -p %{buildroot}%{_datadir}/applications
-install -m 644 %{_builddir}/%{source_prefix}/%{desktop_file_name}.desktop \
-               
%{buildroot}%{_datadir}/applications/%{desktop_file_name}.desktop
 # additional mime-types
 #mkdir -p %{buildroot}%{_datadir}/mime/packages
 # cp %{SOURCE8} %{buildroot}%{_datadir}/mime/packages/%{progname}.xml
@@ -642,8 +634,6 @@
 %{progdir}/fonts/
 %{progdir}/pingsender
 %{progdir}/platform.ini
-%{progdir}/rnp-cli
-%{progdir}/rnpkeys
 %{progdir}/thunderbird-bin
 # crashreporter files
 %if %crashreporter

++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.467022449 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.478022909 +0200
@@ -1,12 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <constraints>
   <hardware>
+    <jobs>4</jobs>
     <disk>
-      <size unit="G">36</size>
+      <size unit="G">26</size>
     </disk>
-    <memory>
-      <size unit="G">9</size>
-    </memory>
+    <physicalmemory>
+      <size unit="G">15</size>
+    </physicalmemory>
   </hardware>
   <hostlabel exclude="true">SLOW_CPU</hostlabel>
   <overwrite>
@@ -18,33 +19,33 @@
       <disk>
         <size unit="G">12</size>
       </disk>
-      <memory>
+      <physicalmemory>
         <size unit="G">5</size>
-      </memory>
+      </physicalmemory>
     </hardware>
   </overwrite>
+  <!-- LTO disabled - less RAM -->
   <overwrite>
     <conditions>
       <arch>aarch64</arch>
     </conditions>
     <hardware>
-      <memory>
-        <size unit="G">16</size>
-      </memory>
+      <cpu>
+        <flag>asimdrdm</flag>
+      </cpu>
+      <physicalmemory>
+        <size unit="G">14</size>
+      </physicalmemory>
     </hardware>
   </overwrite>
   <overwrite>
     <conditions>
-      <arch>ppc64</arch>
       <arch>ppc64le</arch>
     </conditions>
     <hardware>
       <physicalmemory>
-        <size unit="G">11</size>
+        <size unit="G">12</size>
       </physicalmemory>
-      <memoryperjob>
-        <size unit="M">2500</size>
-      </memoryperjob>
     </hardware>
   </overwrite>
   <overwrite>
@@ -52,19 +53,9 @@
       <arch>s390x</arch>
     </conditions>
     <hardware>
-      <memory>
-        <size unit="G">17</size>
-      </memory>
-    </hardware>
-  </overwrite>
-  <overwrite>
-    <conditions>
-      <arch>x86_64</arch>
-    </conditions>
-    <hardware>
-      <memory>
-        <size unit="G">22</size>
-      </memory>
+      <physicalmemory>
+        <size unit="G">15</size>
+      </physicalmemory>
     </hardware>
   </overwrite>
   <overwrite>
@@ -73,7 +64,7 @@
     </conditions>
     <hardware>
       <memory>
-        <size unit="G">28</size>
+        <size unit="G">25</size>
       </memory>
     </hardware>
   </overwrite>

++++++ l10n-140.16.0esr.tar.xz -> l10n-153.4.0esr.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-140.16.0esr.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.3698736/l10n-153.4.0esr.tar.xz
 differ: char 15, line 1

++++++ mozilla-aarch64-startup-crash.patch ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.522024751 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.525024877 +0200
@@ -3,17 +3,23 @@
 # Date 1558442998 -7200
 #      Tue May 21 14:49:58 2019 +0200
 # Node ID 386083b58d8558141901d796ec6919a4aba7ad3a
-# Parent  76b747f7d113bddbb8593184d81e1bfe5fd51af0
+# Parent  fb09659004cc482034e408f2ab0d6fca1dae9968
 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
-@@ -1159,7 +1159,13 @@ nsresult nsIOService::NewChannelFromURIW
-     }
+@@ -1227,17 +1227,24 @@ nsresult nsIOService::NewChannelFromURIW
+     return NS_ERROR_UNEXPECTED;
    }
  
+   // If we're sandboxed, make sure to clear any owner the channel
+   // might already have.
+   if (loadInfo->GetLoadingSandboxed()) {
+     channel->SetOwner(nullptr);
+   }
++
 +#if defined(__aarch64__)
 +  if (result) {
 +    channel.forget(result);
@@ -24,4 +30,9 @@
    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.ZmWfUy/_old  2026-10-10 15:00:35.540025505 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.543025630 +0200
@@ -1,12 +1,16 @@
 # HG changeset patch
-# Parent  9fcbd287056a40084b1e679f787bf683b291f323
+# Parent  ed92e2fa6996864cd05177e2d4012c2aa867bf54
 Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
 
-Index: firefox-128.0/gfx/2d/DrawTargetSkia.cpp
-===================================================================
---- firefox-128.0.orig/gfx/2d/DrawTargetSkia.cpp
-+++ firefox-128.0/gfx/2d/DrawTargetSkia.cpp
-@@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
+diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
+--- a/gfx/2d/DrawTargetSkia.cpp
++++ b/gfx/2d/DrawTargetSkia.cpp
+@@ -162,17 +162,18 @@ static IntRect CalculateSurfaceBounds(co
+   if (!sampledBounds.ToIntRect(&bounds)) {
+     return surfaceBounds;
+   }
+ 
+   return surfaceBounds.Intersect(bounds);
  }
  
  static const int kARGBAlphaOffset =
@@ -16,37 +20,20 @@
  
  static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
                               const int32_t aStride, SurfaceFormat aFormat) {
-Index: firefox-128.0/gfx/2d/Types.h
-===================================================================
---- firefox-128.0.orig/gfx/2d/Types.h
-+++ firefox-128.0/gfx/2d/Types.h
-@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
-   // This represents the unknown format.
-   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.
--#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()
--  A8R8G8B8_UINT32 = A8R8G8B8,  // 0xAARRGGBB
--  X8R8G8B8_UINT32 = X8R8G8B8,  // 0x00RRGGBB
--#else
--#  error "bad endianness"
--#endif
- 
-   // The following values are OS and endian-independent synonyms.
-   //
-Index: firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc
-===================================================================
---- firefox-128.0.orig/gfx/skia/skia/modules/skcms/skcms.cc
-+++ firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc
-@@ -31,6 +31,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/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
+@@ -26,16 +26,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
@@ -55,7 +42,17 @@
  #endif
  
  using namespace skcms_private;
-@@ -324,20 +326,28 @@ enum {
+ 
+ static bool sAllowRuntimeCPUDetection = true;
+ 
+ void skcms_DisableRuntimeCPUDetection() {
+     sAllowRuntimeCPUDetection = false;
+@@ -374,30 +376,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));
@@ -90,4 +87,9 @@
  #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-bmo849632.patch ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.563026468 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.566026593 +0200
@@ -6,21 +6,29 @@
           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
 
-Index: firefox-115.0/gfx/gl/GLContext.h
+Index: firefox-151.0.1/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
+--- firefox-151.0.1.orig/gfx/gl/GLContext.h
++++ firefox-151.0.1/gfx/gl/GLContext.h
+@@ -24,6 +24,7 @@
+ #  define MOZ_GL_DEBUG_BUILD 1
+ #endif
+ 
++#include "mozilla/EndianUtils.h"
+ #include "mozilla/IntegerRange.h"
+ #include "mozilla/RefPtr.h"
+ #include "mozilla/UniquePtr.h"
+@@ -1621,6 +1622,13 @@ class GLContext : public GenericAtomicRe
      BEFORE_GL_CALL;
      mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
      OnSyncCall();
-+#if MOZ_BIG_ENDIAN()
-+    uint8_t* itr = (uint8_t*)pixels;
-+    for (GLsizei i = 0; i < width * height; i++) {
-+      NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
-+      itr += 4;
++    if constexpr (std::endian::native == std::endian::big) {
++      uint8_t* itr = (uint8_t*)pixels;
++      for (GLsizei i = 0; i < width * height; i++) {
++        NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
++        itr += 4;
++      }
 +    }
-+#endif
      AFTER_GL_CALL;
      mHeavyGLCallsSinceLastFlush = true;
    }

++++++ mozilla-libavcodec58_91.patch ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.581027221 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.585027389 +0200
@@ -1,7 +1,14 @@
-diff -rup a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp 
b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
---- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp       2026-05-06 
14:54:38.000000000 +0000
-+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp       2026-05-07 
14:42:53.481977081 +0000
-@@ -53,6 +53,8 @@ static const char* sLibs[] = {
+# HG changeset patch
+# Parent  63a68d00e040190e9870c980a731a2fac324473a
+
+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
+@@ -52,14 +52,16 @@ static const char* sLibs[] = {
+                    // of ffmpeg and update it regulary on ABI/API changes
+ #else
+   "libavcodec.so." FFMPEG_MAX_MAJOR_VERSION_STR(FFMPEG_MAX_MAJOR_VERSION),
+   "libavcodec.so.62",
    "libavcodec.so.61",
    "libavcodec.so.60",
    "libavcodec.so.59",
@@ -10,4 +17,8 @@
    "libavcodec.so.58",
    "libavcodec-ffmpeg.so.58",
    "libavcodec-ffmpeg.so.57",
+   "libavcodec-ffmpeg.so.56",
+   "libavcodec.so.57",
+   "libavcodec.so.56",
+   "libavcodec.so.55",
 

++++++ mozilla-ntlm-full-path.patch ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.598027933 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.605028226 +0200
@@ -1,15 +1,29 @@
+# HG changeset patch
+# User Petr Cerny <[email protected]>
+# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
+# Parent  3399aced682c232525633755ff79b37a0be75548
 Bug 634334 - call to the ntlm_auth helper fails
 
-diff -ru thunderbird-140.0.1.old/extensions/auth/nsAuthSambaNTLM.cpp 
thunderbird-140.0.1/extensions/auth/nsAuthSambaNTLM.cpp
---- thunderbird-140.0.1.old/extensions/auth/nsAuthSambaNTLM.cpp        
2025-07-09 19:15:12.000000000 -0500
-+++ thunderbird-140.0.1/extensions/auth/nsAuthSambaNTLM.cpp    2025-07-14 
23:33:57.065780950 -0500
-@@ -153,7 +153,7 @@
+diff --git a/extensions/auth/nsAuthSambaNTLM.cpp 
b/extensions/auth/nsAuthSambaNTLM.cpp
+--- a/extensions/auth/nsAuthSambaNTLM.cpp
++++ b/extensions/auth/nsAuthSambaNTLM.cpp
+@@ -148,17 +148,17 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
+     }
+ 
+     base::LaunchOptions options;
+     options.fds_to_remap.push_back(
+         std::pair{toChildPipeRead.get(), STDIN_FILENO});
      options.fds_to_remap.push_back(
          std::pair{fromChildPipeWrite.get(), STDOUT_FILENO});
  
 -    std::vector<std::string> argvVec{"ntlm_auth",        "--helper-protocol",
-+    std::vector<std::string> argvVec{"/usr/bin/ntlm_auth", 
"--helper-protocol",
++    std::vector<std::string> argvVec{"/usr/bin/ntlm_auth",        
"--helper-protocol",
                                       "ntlmssp-client-1", "--use-cached-creds",
                                       "--username",       username};
  
+     auto result = base::LaunchApp(argvVec, std::move(options), &mChildPID);
+     if (result.isErr()) {
+       return NS_ERROR_FAILURE;
+     }
+ 
 

++++++ mozilla-pgo.patch ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.621028896 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.626029105 +0200
@@ -1,12 +1,40 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <[email protected]>
-# Parent  9959fe2a13a39cbeb98ca1bef2e21caba16717bd
+# Parent  73147e14b378957cdb8516125df34111d2699fe9
+# Rebased by Manfred Hollstein <[email protected]>
 
-Index: firefox-115.0/build/moz.configure/lto-pgo.configure
+Index: mozilla-esr153/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(
+--- mozilla-esr153.orig/build/moz.configure/lto-pgo.configure
++++ mozilla-esr153/build/moz.configure/lto-pgo.configure
+@@ -94,12 +94,16 @@ set_config("PGO_PROFILE_PATH", pgo_profi
+ 
+ @depends(
+     "--enable-profile-use",
++    c_compiler,
+     pgo_profile_path,
+     llvm_profdata,
+     llvm_profdata_order,
+     build_environment,
+ )
+-def orderfile_path(profile_use, path, profdata, profdata_order, build_env):
++def orderfile_path(profile_use, compiler, path, profdata, profdata_order, 
build_env):
++    if compiler.type == "gcc":
++        return None
++
+     if not profile_use:
+         return None
+ 
+@@ -143,7 +147,7 @@ def pgo_flags(
+         return namespace(
+             gen_cflags=["-fprofile-generate"],
+             gen_ldflags=["-fprofile-generate"],
+-            use_cflags=["-fprofile-use", "-fprofile-correction", 
"-Wcoverage-mismatch"],
++            use_cflags=["-fprofile-use", "-fprofile-correction", 
"-Wno-coverage-mismatch"],
+             use_ldflags=["-fprofile-use"],
+         )
+ 
+@@ -357,8 +361,8 @@ def lto(
              cflags.append("-flto")
              ldflags.append("-flto")
          else:
@@ -17,7 +45,7 @@
  
          if target.os == "Android" and "cross" in values:
              # Work around https://github.com/rust-lang/rust/issues/90088
-@@ -268,7 +268,7 @@ def lto(
+@@ -374,7 +378,7 @@ def lto(
          if "full" in values:
              cflags.append("-flto")
          else:
@@ -26,20 +54,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")
-Index: firefox-115.0/build/pgo/profileserver.py
+Index: mozilla-esr153/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
+--- mozilla-esr153.orig/build/pgo/profileserver.py
++++ mozilla-esr153/build/pgo/profileserver.py
+@@ -10,7 +10,7 @@ import subprocess
  import sys
  
  import mozcrash
 -from mozbuild.base import BinaryNotFoundException, MozbuildObject
 +from mozbuild.base import BinaryNotFoundException, MozbuildObject, 
BuildEnvironmentNotFoundException
- from mozfile import TemporaryDirectory
+ from mozfile import TemporaryDirectory, json
  from mozhttpd import MozHttpd
  from mozprofile import FirefoxProfile, Preferences
-@@ -87,9 +87,22 @@ if __name__ == "__main__":
+@@ -139,9 +139,22 @@ if __name__ == "__main__":
      locations = ServerLocations()
      locations.add_host(host="127.0.0.1", port=PORT, 
options="primary,privileged")
  
@@ -65,7 +93,7 @@
  
      with TemporaryDirectory() as profilePath:
          # TODO: refactor this into mozprofile
-@@ -213,6 +226,10 @@ if __name__ == "__main__":
+@@ -278,6 +291,10 @@ if __name__ == "__main__":
              print("Firefox exited successfully, but produced a crashreport")
              sys.exit(1)
  
@@ -76,10 +104,10 @@
          llvm_profdata = env.get("LLVM_PROFDATA")
          if llvm_profdata:
              profraw_files = glob.glob("*.profraw")
-Index: firefox-115.0/build/unix/mozconfig.unix
+Index: mozilla-esr153/build/unix/mozconfig.unix
 ===================================================================
---- firefox-115.0.orig/build/unix/mozconfig.unix
-+++ firefox-115.0/build/unix/mozconfig.unix
+--- mozilla-esr153.orig/build/unix/mozconfig.unix
++++ mozilla-esr153/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++"
@@ -96,21 +124,21 @@
      # 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:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
-Index: firefox-115.0/extensions/spellcheck/src/moz.build
+Index: mozilla-esr153/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 += [
+--- mozilla-esr153.orig/extensions/spellcheck/src/moz.build
++++ mozilla-esr153/extensions/spellcheck/src/moz.build
+@@ -24,3 +24,5 @@ EXPORTS.mozilla += [
      "mozInlineSpellChecker.h",
      "mozSpellChecker.h",
  ]
 +
 +CXXFLAGS += ['-fno-devirtualize']
-Index: firefox-115.0/toolkit/components/terminator/nsTerminator.cpp
+Index: mozilla-esr153/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() {
+--- mozilla-esr153.orig/toolkit/components/terminator/nsTerminator.cpp
++++ mozilla-esr153/toolkit/components/terminator/nsTerminator.cpp
+@@ -382,6 +382,11 @@ void nsTerminator::StartWatchdog() {
    }
  #endif
  
@@ -119,7 +147,7 @@
 +  // silently produce poorly performing binary.
 +  crashAfterMS = INT32_MAX;
 +
-   UniquePtr<Options> options(new Options());
-   // crashAfterTicks is guaranteed to be > 0 as
-   // crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >> HEARTBEAT_INTERVAL_MS
+   // Guarantee that gCrashAfterTicks is non-zero
+   gCrashAfterTicks = std::max(1, crashAfterMS / HEARTBEAT_INTERVAL_MS);
+ 
 

++++++ mozilla-sandbox-lto.patch ++++++
diff -up firefox-84.0/security/sandbox/linux/moz.build.1516803 
firefox-84.0/security/sandbox/linux/moz.build
--- firefox-84.0/security/sandbox/linux/moz.build.1516803      2020-12-10 
16:17:55.425139545 +0100
+++ firefox-84.0/security/sandbox/linux/moz.build      2020-12-10 
16:29:21.945860841 +0100
@@ -114,9 +114,8 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
 # gcc lto likes to put the top level asm in syscall.cc in a different partition
 # from the function using it which breaks the build.  Work around that by
 # forcing there to be only one partition.
-for f in CONFIG["OS_CXXFLAGS"]:
-    if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
-        LDFLAGS += ["--param lto-partitions=1"]
+if CONFIG['CC_TYPE'] != 'clang':
+    LDFLAGS += ['--param', 'lto-partitions=1']
 
 DEFINES["NS_NO_XPCOM"] = True
 DisableStlWrapping()

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

++++++ one_swizzle_to_rule_them_all.patch ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.711032664 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.715032831 +0200
@@ -22,12 +22,12 @@
    }
    mDT->Flush();
  
-+#if MOZ_BIG_ENDIAN()
-+  // One swizzle to rule them all.
-+  gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
-+                   mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
-+                   mDT->GetSize());
-+#endif
++  if constexpr (std::endian::native == std::endian::big) {
++    // One swizzle to rule them all.
++    gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
++                     mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
++                     mDT->GetSize());
++  }
 +
    // Done with the DT. Hand it back to the widget and clear out any trace of 
it.
    mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion);

++++++ svg-rendering.patch ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.764034883 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.770035134 +0200
@@ -13,16 +13,16 @@
      return NS_ERROR_OUT_OF_MEMORY;
    }
  
-+#if MOZ_BIG_ENDIAN()
-+  if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
-+      // SKIA is lying about what format it returns on big endian
-+      for (int ii=0; ii < 
mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
-+        uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
-+        uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 
0xFF00FF );
-+        vals[ii] = (val << 16) | (val >> 16);
-+      }
++  if constexpr (std::endian::native == std::endian::big) {
++    if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
++        // SKIA is lying about what format it returns on big endian
++        for (int ii=0; ii < 
mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
++          uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
++          uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 
0xFF00FF );
++          vals[ii] = (val << 16) | (val >> 16);
++        }
++    }
 +  }
-+#endif
 +
    if (!canUseDataSurface) {
      // We used an offscreen surface, which is an "optimized" surface from

++++++ tar_stamps ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.800036390 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.804036557 +0200
@@ -1,11 +1,11 @@
 PRODUCT="thunderbird"
-CHANNEL="esr140"
-VERSION="140.16.0"
+CHANNEL="esr153"
+VERSION="153.4.0"
 VERSION_SUFFIX="esr"
-REV_VERSION="140.15.0"
+REV_VERSION="153.3.1"
 PREV_VERSION_SUFFIX="esr"
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
-RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr140";
-RELEASE_TAG="1f72e9240dd91a3091ae87ff358a04a70b20783e"
-RELEASE_TIMESTAMP="20260914195918"
+RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr153";
+RELEASE_TAG="ea6c5a9651f36b6daaff8d712b745e443d64b666"
+RELEASE_TIMESTAMP="20260929234349"
 

++++++ thunderbird-140.16.0esr.source.tar.xz -> 
thunderbird-153.4.0esr.source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-140.16.0esr.source.tar.xz
 
/work/SRC/openSUSE:Factory/.MozillaThunderbird.new.3698736/thunderbird-153.4.0esr.source.tar.xz
 differ: char 15, line 1

++++++ thunderbird.desktop ++++++
[Desktop Entry]
Encoding=UTF-8
Name=Thunderbird
GenericName=Mail/News Client
Comment=Mail/News Client
TryExec=thunderbird
Exec=thunderbird %u
Icon=thunderbird
Terminal=false
Type=Application
StartupNotify=true
MimeType=x-scheme-handler/mailto;

++++++ thunderbird.desktop.in ++++++
--- /var/tmp/diff_new_pack.ZmWfUy/_old  2026-10-10 15:00:35.924041581 +0200
+++ /var/tmp/diff_new_pack.ZmWfUy/_new  2026-10-10 15:00:35.927041707 +0200
@@ -1,14 +1,13 @@
 [Desktop Entry]
 Encoding=UTF-8
-_Name=Thunderbird
-_GenericName=Mail/News Client
-_Comment=Mail/News Client
+Name=Thunderbird
+GenericName=Mail/News Client
+Comment=Mail/News Client
 TryExec=thunderbird
 Exec=thunderbird %u
 Icon=thunderbird
 Terminal=false
 Type=Application
 StartupNotify=true
-Categories=Network;Email;GTK;
 MimeType=x-scheme-handler/mailto;
 

Reply via email to