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;