Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package firefox-esr for openSUSE:Factory checked in at 2026-07-24 22:07:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/firefox-esr (Old) and /work/SRC/openSUSE:Factory/.firefox-esr.new.2004 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "firefox-esr" Fri Jul 24 22:07:15 2026 rev:40 rq:1367677 version:153.0 Changes: -------- --- /work/SRC/openSUSE:Factory/firefox-esr/MozillaFirefox.changes 2026-07-22 19:02:11.455054280 +0200 +++ /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes 2026-07-24 22:08:10.039627092 +0200 @@ -2 +2 @@ -Tue Jul 21 12:54:27 UTC 2026 - Manfred Hollstein <[email protected]> +Tue Jul 21 12:56:46 UTC 2026 - Manfred Hollstein <[email protected]> @@ -4 +4,108 @@ -- Firefox Extended Support Release 140.13.0 ESR +- Firefox Extended Support Release 153.0 ESR + * New: ## General + - Firefox now includes a new profile management system that + helps you separate your online life into distinct profiles + for work, school, vacation planning, or whatever you choose. + Profiles can be customized with names, avatars, and color + themes while keeping tabs, bookmarks, passwords, and browsing + history separate. Built-in profile backup and restore also + makes it easier to migrate to a new device or recover your + browsing data. + - Split View lets you view two webpages side-by-side in a + single browser window, with additional options to quickly + open links in Split View, rearrange pages, and search open + tabs. + - The Firefox address bar has gained several new + capabilities, including built-in unit and time zone + conversion, quick actions such as muting all browser audio, + and direct search results as you type. + - Firefox now supports copying links directly to highlighted + text on a webpage for easier sharing. + - Firefox Settings has been redesigned with improved + organization and navigation, making it easier to find and + customize browser preferences. + * New: ## AI + Firefox introduced several new AI-powered features, including + on-device tab organization, AI-assisted link previews, + integrated AI search, and centralized controls for managing + AI features. Whenever possible, these features perform + processing locally to help protect user privacy. + * New: ## Sidebar and Tabs + - Firefox continues to improve tab management with + enhancements to vertical tabs, tab groups, and the sidebar. + - Tab groups have gained numerous usability improvements, + including better support for collapsed groups, previews of + grouped tabs, and additional organization options. + - Passwords can now be accessed directly from the Firefox + sidebar without opening a separate tab. + - Firefox now supports copying links from one or multiple + background tabs directly from the tab context menu, and + multiple tabs can be copied or shared in a single action. + - A Send Tab toolbar button is now available through + Customize Toolbar. + * New: ## Security & Privacy + - Firefox has significantly expanded Fingerprinting + Protection, making it harder for websites to uniquely + identify users in both Standard and Strict Enhanced Tracking + Protection modes. + - Enhanced Tracking Protection includes stronger protections + against bounce tracking and additional safeguards that + restrict websites from accessing local network resources + without user permission. + - Firefox now uses Safe Browsing V5 for phishing and malware + protection. + - Firefox Password Manager now uses stronger AES-256 + encryption to protect stored logins on disk. + - Private Browsing has been enhanced with new controls, + including the ability to instantly end a private browsing + session and temporarily relax tracker blocking for individual + sites when needed for compatibility. + * New: ## Translations + - Firefox has expanded on-device translation support with + many additional languages and continued improvements to + translation quality. + - A dedicated translations page now provides an easy way to + perform real-time translations directly within Firefox. + * New: ## Accessibility + - Firefox continues to improve accessibility with enhanced + support for assistive technologies, including Windows UI + Automation, improved keyboard navigation, more accessible + date and time controls, and better support for mathematical + content in PDFs. + * New: ## Windows + - Firefox now supports installing websites as standalone web + apps pinned to the Windows taskbar. + - Firefox web apps are also available for Microsoft Store + installations. + - Firefox now better integrates with Windows location + permissions when websites request geolocation access. + * New: ## macOS + - Firefox now uses a dedicated GPU process by default, + improving stability by allowing graphics failures to recover + without restarting the browser. + - WebGPU is now enabled by default on Apple Silicon Macs. + * New: ## Linux + - Firefox now supports native fractional scaling on Wayland, + improving rendering on high-DPI displays. + - Firefox no longer requires a restart after package manager + updates and uses less memory on Linux. + - Firefox now supports the XDG Base Directory Specification + and ships with RPM packages for Red Hat, Fedora, openSUSE, + and other RPM-based distributions. + * HTML5: - Firefox now supports the View Transitions API for + creating smooth animated transitions between application + views. + - WebGPU support has expanded across supported platforms, + including Windows and Apple Silicon Macs. + - Added support for several modern web platform APIs, + improving compatibility with modern web applications. Notable + additions include the Navigation API, URLPattern, Trusted + Types, Sanitizer API, and Prioritized Task Scheduling. + * Enterprise: - Enterprise administrators can now centrally + manage Firefox's Generative AI features through enterprise + policy. + - Fixed a performance regression affecting native messaging, + improving responsiveness for enterprise extensions that + communicate with external applications. + - Enterprise policy documentation has moved to + https://firefox-admin-docs.mozilla.org/. @@ -6,7 +113,3 @@ -- Mozilla Firefox ESR 140.13.0 - https://www.mozilla.org/security/advisories/mfsa2026-70 - MFSA 2026-70 (boo#1271649) - * CVE-2026-15718 (bmo#2045443) - Invalid pointer in the JavaScript: WebAssembly component - * CVE-2026-15719 (bmo#2043820) - Site isolation issue in the DOM: Navigation component +- Mozilla Firefox ESR 153.0 + https://www.mozilla.org/security/advisories/mfsa2026-68 + MFSA 2026-68 (boo#1271649) @@ -27,0 +131,7 @@ + * CVE-2026-16364 (bmo#2047802) + Incorrect boundary conditions in the Audio/Video: Playback + component + * CVE-2026-16365 (bmo#2049149) + Privilege escalation in the DOM: Workers component + * CVE-2026-16366 (bmo#2049181) + Privilege escalation in the DOM: Navigation component @@ -31,0 +142,3 @@ + * CVE-2026-16367 (bmo#2050627) + Sandbox escape due to invalid pointer in the Disability + Access APIs component @@ -43,0 +157,2 @@ + * CVE-2026-16370 (bmo#1996495) + Mitigation bypass in the DOM: Networking component @@ -45,0 +161,5 @@ + * CVE-2026-16372 (bmo#2013800) + Privilege escalation in the DOM: Content Processes component + * CVE-2026-16373 (bmo#2021964) + Information disclosure in the Privacy component in Firefox + for Android @@ -49,0 +170,2 @@ + * CVE-2026-16376 (bmo#2035733) + Denial-of-service in the Graphics: WebGPU component @@ -51,0 +174,3 @@ + * CVE-2026-16378 (bmo#2038868) + Other issue in the DOM: Copy & Paste and Drag & Drop + component @@ -55,0 +181,2 @@ + * CVE-2026-16380 (bmo#2040386) + Mitigation bypass in the Networking component @@ -57,0 +185,2 @@ + * CVE-2026-16382 (bmo#2041864) + Mitigation bypass in the DOM: Service Workers component @@ -59,0 +189,9 @@ + * CVE-2026-16384 (bmo#2041911) + Information disclosure due to uninitialized memory in the + Graphics: WebGPU component + * CVE-2026-16385 (bmo#2041912) + Information disclosure due to uninitialized memory in the + Graphics: WebGPU component + * CVE-2026-16386 (bmo#2041916) + Information disclosure due to uninitialized memory in the + Graphics: WebGPU component @@ -61,0 +200,5 @@ + * CVE-2026-16388 (bmo#2043845) + Sandbox escape in the DOM: Networking component + * CVE-2026-16389 (bmo#2043887) + Incorrect boundary conditions, integer overflow in the + Libraries component in NSS @@ -65,0 +209,5 @@ + * CVE-2026-16392 (bmo#2044606) + JIT miscompilation in the JavaScript Engine: JIT component + * CVE-2026-16393 (bmo#2045410) + Incorrect boundary conditions in the Graphics: WebGPU + component @@ -68,0 +217,4 @@ + * CVE-2026-16394 (bmo#2046748) + Mitigation bypass in the DOM: Security component + * CVE-2026-16395 (bmo#2047221) + Integer overflow in the Audio/Video component @@ -70,0 +223,17 @@ + * CVE-2026-16397 (bmo#2047608) + Clickjacking issue in the WebExtensions component in Firefox + for Android + * CVE-2026-16398 (bmo#2048345) + Site isolation issue in the Graphics component + * CVE-2026-16399 (bmo#2049981) + Site isolation issue in the DOM: Navigation component + * CVE-2026-16400 (bmo#2050430) + Information disclosure in the DOM: Security component + * CVE-2026-16401 (bmo#2052565) + Privilege escalation in the Data Loss Prevention component + * CVE-2026-16402 (bmo#2052703) + Integer overflow in the Graphics: ImageLib component + * CVE-2026-16403 (bmo#1972244) + Spoofing issue in the Address Bar component + * CVE-2026-16404 (bmo#2020253) + Spoofing issue in Firefox for Android @@ -73,0 +243,23 @@ + * CVE-2026-16406 (bmo#2040382) + Mitigation bypass in the Networking component + * CVE-2026-16407 (bmo#2044063) + Mitigation bypass in the DOM: Service Workers component + * CVE-2026-16408 (bmo#2050477) + Integer overflow in the Audio/Video: Playback component + * CVE-2026-16409 (bmo#2052134) + Invalid pointer in the Security: PSM component + * CVE-2026-16410 (bmo#2053680) + JIT miscompilation in the JavaScript Engine: JIT component + * CVE-2026-16411 (bmo#1420800, bmo#1598946, bmo#1767921, + bmo#2006467, bmo#2013993, bmo#2025417, bmo#2027325, + bmo#2027346, bmo#2027349, bmo#2027353, bmo#2027362, + bmo#2027364, bmo#2027371, bmo#2027373, bmo#2028954, + bmo#2029433, bmo#2029694, bmo#2029807, bmo#2029901, + bmo#2029922, bmo#2030102, bmo#2030563, bmo#2032110, + bmo#2036906, bmo#2037801, bmo#2038964, bmo#2039460, + bmo#2040522, bmo#2040834, bmo#2042756, bmo#2043275, + bmo#2044625, bmo#2045394, bmo#2045606, bmo#2045609, + bmo#2047920, bmo#2048491, bmo#2048492, bmo#2048800, + bmo#2048936, bmo#2049804, bmo#2050534, bmo#2050662, + bmo#2050871, bmo#2052060) + Memory safety bugs fixed in Firefox 153 @@ -107,9 +298,0 @@ - * CVE-2026-16361 (bmo#2029734, bmo#2036518) - Memory safety bugs fixed in Firefox ESR 115.38 and Firefox - ESR 140.13 -- Remove obsolete mozilla-bmo1746799.patch -- Depend on the new transitional package rust-cbindgen-0_29_2 - -------------------------------------------------------------------- -Mon Jul 13 19:17:56 UTC 2026 - Manfred Hollstein <[email protected]> - @@ -117,0 +301,4 @@ +- Refresh MozillaFirefox.desktop from a Factory build +- Refresh mozilla-silence-no-return-type.patch +- Remove obsolete mozilla-bmo1746799.patch, mozilla-bmo2041150.patch +- clang_build is no longer needed; set it to 0 unconditionally. @@ -120 +307 @@ -Sun Jun 28 08:13:29 UTC 2026 - Manfred Hollstein <[email protected]> +Sun Jul 5 11:21:38 UTC 2026 - Andreas Stieger <[email protected]> @@ -122,2 +309,31 @@ -- Reformat the patch against current Firefox ESR 140.12.0 and add - it as Patch28 to the .spec file. +- Mozilla Firefox 152.0.4 + MFSA 2026-62 (boo#1270286) + * CVE-2026-14241 (bmo#2043241, bmo#2045514, bmo#2045576, + bmo#2045623, bmo#2045765, bmo#2046814, bmo#2049409, + bmo#2049840) + Memory safety bugs fixed in Firefox 152.0.4 + * Smart Window includes several enhancements: + You can now ask it to close your tabs, with a confirmation step + when needed and the option to undo afterward (bmo#2040769) + Browsing history results now appear with images (bmo#2038069) + When you give feedback on a response, you can now choose from + common reasons and preview exactly what will be shared before + submitting (bmo#2033002) + * Fixed copy, paste, undo, redo, and similar keyboard shortcuts + not working inside macOS system dialogs such as the Save and + Open panels. (Bug 2040851, Bug 2040844) + * Fixed the Manage Cookies and Site Data dialog opening with an + empty list when opened from the Settings search results. + (bmo#2041077) + * Fixed keyboard focus landing in the wrong place after following + an in-page link, so pressing Tab continues from the link's + position as expected. (bmo#2049307) + +------------------------------------------------------------------- +Sat Jun 27 16:56:29 UTC 2026 - Andreas Stieger <[email protected]> + +- Mozilla Firefox 152.0.3 + https://www.firefox.com/en-US/firefox/152.0.3/releasenotes/ + * Fix an issue that could cause extreme memory usage and freezing + on startup for users with language packs installed + (bmo#2049845, boo#1269477) @@ -133,4 +349 @@ -Wed Jun 17 16:23:29 UTC 2026 - Manfred Hollstein <[email protected]> - -- Enable clang_build to allow building with the latest versions of - llvm/clang due to them dropping support for update-alternatives. +Tue Jun 23 14:51:58 UTC 2026 - Andreas Stieger <[email protected]> @@ -138,8 +351,27 @@ -------------------------------------------------------------------- -Tue Jun 16 11:52:50 UTC 2026 - Manfred Hollstein <[email protected]> - -- Firefox Extended Support Release 140.12.0 ESR - * Fixed: Various security fixes. -- Mozilla Firefox ESR 140.12.0 - https://www.mozilla.org/security/advisories/mfsa2026-58 - MFSA 2026-58 (boo#1268071) +- Mozilla Firefox 152.0.2 + https://www.firefox.com/en-US/firefox/152.0.2/releasenotes/ + * Fixed some Settings section headings showing placeholder text + instead of the translated name in certain languages ++++ 2877 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/firefox-esr/MozillaFirefox.changes ++++ and /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes firefox-esr.changes: same change Old: ---- firefox-140.13.0esr.source.tar.xz firefox-140.13.0esr.source.tar.xz.asc l10n-140.13.0esr.tar.xz mozilla-bmo1999625.patch mozilla-bmo2016618.patch mozilla-bmo531915.patch mozilla-bmo998749.patch mozilla-nongnome-proxies.patch New: ---- firefox-153.0esr.source.tar.xz firefox-153.0esr.source.tar.xz.asc l10n-153.0esr.tar.xz mozilla-bmo2030493.patch mozilla-sandbox-lto.patch ----------(Old B)---------- Old: WARN: mozilla-bmo1999625.patch not found in changes Old: WARN: mozilla-bmo2016618.patch not found in changes Old:/work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes-- added mozilla-bmo2041150.patch to fix build with libproxy (bmo#2041150) /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes:- removed obsolete mozilla-bmo531915.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes- -- /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes-- added mozilla-bmo2041150.patch to fix build with libproxy (bmo#2041150) /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes:- removed obsolete mozilla-bmo531915.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes- Old:/work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes- Memory safety bugs fixed in Firefox 145 and Thunderbird 145 /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes:- Remove upstreamed patch mozilla-bmo998749.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes- -- /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes- Memory safety bugs fixed in Firefox 145 and Thunderbird 145 /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes:- Remove upstreamed patch mozilla-bmo998749.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes- Old:/work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes- NSS 3.115.1 /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes:- remove obsolete mozilla-nongnome-proxies.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes- -- /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes- NSS 3.115.1 /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes:- remove obsolete mozilla-nongnome-proxies.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes- ----------(Old E)---------- ----------(New B)---------- New:/work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes-- Fix failing builds (boo#1258744) /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes: mozilla-bmo2030493.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes- -- /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes-- Fix failing builds (boo#1258744) /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes: mozilla-bmo2030493.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes- New:/work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes-- Fix PGO builds with GCC /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes: * add mozilla-sandbox-lto.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes- -- /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes-- Fix PGO builds with GCC /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes: * add mozilla-sandbox-lto.patch /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes- ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ firefox-esr.spec ++++++ --- /var/tmp/diff_new_pack.U2WbeP/_old 2026-07-24 22:08:35.308509318 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:35.308509318 +0200 @@ -40,24 +40,32 @@ # orig_suffix b3 # major 69 # mainver %%major.99 -%define major 140 -%define mainver %major.13.0 -%define orig_version 140.13.0 +%define major 153 +%define mainver %major.0 +%define orig_version 153.0 %define orig_suffix esr %define update_channel esr %define branding 1 %define devpkg 0 - -# PGO builds do not work in TW currently (bmo#1680306) -%define do_profiling 0 +%define do_profiling 1 # 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 # define if ccache should be used or not +%define useccache 1 + +# ccache doesn't work with pgo +%if 0%{?do_profiling} +%define useccache 0 +%endif + +# ccache doesn't work with pgo +%if 0%{?do_profiling} %define useccache 0 +%endif # SLE-12 doesn't have this macro %{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d} @@ -121,8 +129,8 @@ BuildRequires: gcc15-c++ BuildRequires: libstdc++6-devel-gcc15 %endif -BuildRequires: cargo1.86 -BuildRequires: rust1.86 +BuildRequires: cargo1.93 +BuildRequires: rust1.93 %if 0%{useccache} != 0 BuildRequires: ccache %endif @@ -131,8 +139,8 @@ BuildRequires: libiw-devel BuildRequires: libproxy-devel BuildRequires: makeinfo -BuildRequires: mozilla-nspr-devel >= 4.36 -BuildRequires: mozilla-nss-devel >= 3.110 +BuildRequires: mozilla-nspr-devel >= 4.39 +BuildRequires: mozilla-nss-devel >= 3.125 BuildRequires: nasm >= 2.14 BuildRequires: nodejs >= 12.22.12 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 @@ -155,7 +163,7 @@ 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 @@ -169,10 +177,7 @@ %if 0%{?suse_version} < 1550 BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1 %endif -BuildRequires: clang19-devel -%if 0%{?suse_version} > 1600 -BuildRequires: llvm19-libclang13 -%endif +BuildRequires: clang-devel #!BuildIgnore: clang-tools BuildRequires: pkgconfig(glib-2.0) >= 2.22 BuildRequires: pkgconfig(gobject-2.0) @@ -234,7 +239,6 @@ Source22: firefox-esr.changes.txt Source23: MozillaFirefox.changes.txt # Gecko/Toolkit -Patch1: mozilla-nongnome-proxies.patch Patch3: mozilla-ntlm-full-path.patch Patch4: mozilla-aarch64-startup-crash.patch Patch6: mozilla-s390-context.patch @@ -242,14 +246,12 @@ 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 -Patch19: mozilla-bmo531915.patch Patch20: one_swizzle_to_rule_them_all.patch Patch21: svg-rendering.patch -Patch26: mozilla-bmo1999625.patch -Patch27: mozilla-bmo2016618.patch +Patch25: mozilla-sandbox-lto.patch +Patch26: mozilla-bmo2030493.patch Patch28: mozilla-bmo2048250.patch # Firefox/browser Patch102: firefox-branded-icons.patch @@ -278,7 +280,7 @@ %if 0%{?devpkg} == 0 Obsoletes: %{name}-devel < %{version} %endif -ExcludeArch: armv6l armv6hl ppc ppc64 +ExcludeArch: armv6l armv6hl ppc ppc64 i586 %description Mozilla Firefox is a standalone web browser, designed for standards @@ -395,7 +397,7 @@ 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" {} + +find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} + # SLE-12 provides python39, but that package does not provide a python3 binary %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 @@ -424,20 +426,8 @@ 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 +export CC=clang +export CXX=clang++ %else %if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600 export CC=gcc-13 @@ -557,11 +547,16 @@ ac_add_options --enable-lto %if 0%{?do_profiling} ac_add_options MOZ_PGO=1 +export CCACHE_DISABLE=1 %endif %endif %endif EOF +%if 0%{?do_profiling} +export CCACHE_DISABLE=1 +%endif + %if %{with only_print_mozconfig} cat ./.obsenv.sh cat $MOZCONFIG @@ -639,7 +634,7 @@ # need to remove default en-US firefox-l10n.js before it gets # populated into browser's omni.ja; it only contains general.useragent.locale # which should be loaded from each language pack (set in firefox.js) -rm dist/bin/browser/defaults/preferences/firefox-l10n.js +rm -f dist/bin/browser/defaults/preferences/firefox-l10n.js make -C browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0 #DEBUG (break the build if searchplugins are missing / temporary) grep amazondotcom dist/firefox/browser/omni.ja @@ -786,6 +781,7 @@ %if 0%{wayland_supported} %{progdir}/vaapitest %endif +%{progdir}/vulkantest %ifarch aarch64 riscv64 %arm %{progdir}/v4l2test %endif ++++++ MozillaFirefox.changes.txt ++++++ ++++ 4213 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/firefox-esr/MozillaFirefox.changes.txt ++++ and /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/MozillaFirefox.changes.txt ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.U2WbeP/_old 2026-07-24 22:08:35.544517558 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:35.552517837 +0200 @@ -58,5 +58,15 @@ </physicalmemory> </hardware> </overwrite> + <overwrite> + <conditions> + <arch>riscv64</arch> + </conditions> + <hardware> + <memory> + <size unit="G">25</size> + </memory> + </hardware> + </overwrite> </constraints> ++++++ firefox-140.13.0esr.source.tar.xz -> firefox-153.0esr.source.tar.xz ++++++ /work/SRC/openSUSE:Factory/firefox-esr/firefox-140.13.0esr.source.tar.xz /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-153.0esr.source.tar.xz differ: char 15, line 1 ++++++ firefox-esr.changes.txt ++++++ ++++ 4213 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/firefox-esr/firefox-esr.changes.txt ++++ and /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/firefox-esr.changes.txt ++++++ l10n-140.13.0esr.tar.xz -> l10n-153.0esr.tar.xz ++++++ /work/SRC/openSUSE:Factory/firefox-esr/l10n-140.13.0esr.tar.xz /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/l10n-153.0esr.tar.xz differ: char 15, line 1 ++++++ mozilla-aarch64-startup-crash.patch ++++++ --- /var/tmp/diff_new_pack.U2WbeP/_old 2026-07-24 22:08:35.756524961 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:35.760525099 +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.U2WbeP/_old 2026-07-24 22:08:35.800526496 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:35.804526636 +0200 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent e31f5228a09ed69d7ac3c84e54f0faa6a5910ae0 +# Parent ed92e2fa6996864cd05177e2d4012c2aa867bf54 Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834 diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp --- a/gfx/2d/DrawTargetSkia.cpp +++ b/gfx/2d/DrawTargetSkia.cpp -@@ -155,17 +155,18 @@ static IntRect CalculateSurfaceBounds(co +@@ -162,17 +162,18 @@ static IntRect CalculateSurfaceBounds(co if (!sampledBounds.ToIntRect(&bounds)) { return surfaceBounds; } @@ -25,41 +25,6 @@ } // We should've initialized the data to be opaque already // On debug builds, verify that this is actually true. -diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h ---- a/gfx/2d/Types.h -+++ b/gfx/2d/Types.h -@@ -94,28 +94,21 @@ enum class SurfaceFormat : int8_t { - // this format. - HSV, - Lab, - Depth, - - // 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. - // - // TODO(aosmond): When everything blocking bug 1581828 has been resolved, we - // can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms. - OS_RGBA = A8R8G8B8_UINT32, - OS_RGBX = X8R8G8B8_UINT32 - }; diff --git a/gfx/skia/skia/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 @@ -82,7 +47,7 @@ void skcms_DisableRuntimeCPUDetection() { sAllowRuntimeCPUDetection = false; -@@ -319,30 +321,38 @@ enum { +@@ -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, ++++++ mozilla-bmo1999625.patch -> mozilla-bmo2030493.patch ++++++ ++++ 2071 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/firefox-esr/mozilla-bmo1999625.patch ++++ and /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/mozilla-bmo2030493.patch ++++++ mozilla-bmo2048250.patch ++++++ --- /var/tmp/diff_new_pack.U2WbeP/_old 2026-07-24 22:08:35.860528591 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:35.868528870 +0200 @@ -18,15 +18,11 @@ compositor. This layout synchronization restores proper cursor tracking for all native Wayland-based input methods, including IBus and Fcitx5. -Author: Manfred Hollstein <[email protected]> -Date: Sun Jun 28 08:13:29 +0000 - - Reformat the patch against current Firefox ESR 140.12.0 - -diff -rup a/widget/gtk/IMContextWrapper.cpp b/widget/gtk/IMContextWrapper.cpp ---- a/widget/gtk/IMContextWrapper.cpp 2026-06-09 20:34:24.000000000 +0200 -+++ b/widget/gtk/IMContextWrapper.cpp 2026-06-28 10:10:54.605711414 +0200 -@@ -25,6 +25,9 @@ +diff --git a/widget/gtk/IMContextWrapper.cpp b/widget/gtk/IMContextWrapper.cpp +index 28fe91351fd0..f553dac2f8ab 100644 +--- a/widget/gtk/IMContextWrapper.cpp ++++ b/widget/gtk/IMContextWrapper.cpp +@@ -23,6 +23,9 @@ #include "mozilla/TextEvents.h" #include "mozilla/ToString.h" #include "mozilla/WritingModes.h" @@ -36,9 +32,9 @@ // For collecting other people's log, tell `MOZ_LOG=IMEHandler:4,sync` // rather than `MOZ_LOG=IMEHandler:5,sync` since using `5` may create too -@@ -3008,6 +3011,24 @@ void IMContextWrapper::SetCursorPosition - GdkRectangle area = rootWindow->DevicePixelsToGdkRectRoundOut(rect); +@@ -3045,6 +3048,24 @@ void IMContextWrapper::SetCursorPosition(GtkIMContext* aContext) { + GdkRectangle area = rootWindow->DevicePixelsToGdkRectRoundOut(rect); gtk_im_context_set_cursor_location(aContext, &area); +#ifdef MOZ_WAYLAND + if (GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())) { ++++++ mozilla-bmo849632.patch ++++++ --- /var/tmp/diff_new_pack.U2WbeP/_old 2026-07-24 22:08:35.884529429 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:35.888529569 +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.U2WbeP/_old 2026-07-24 22:08:35.928530965 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:35.936531244 +0200 @@ -1,7 +1,15 @@ -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 +@@ -49,16 +49,18 @@ static const char* sLibs[] = { + #elif defined(XP_OPENBSD) + "libavcodec.so", // OpenBSD port controls the major/minor library version + // of ffmpeg and update it regulary on ABI/API changes + #else + "libavcodec.so." FFMPEG_MAX_MAJOR_VERSION_STR(FFMPEG_MAX_MAJOR_VERSION), "libavcodec.so.61", "libavcodec.so.60", "libavcodec.so.59", @@ -10,4 +18,9 @@ "libavcodec.so.58", "libavcodec-ffmpeg.so.58", "libavcodec-ffmpeg.so.57", + "libavcodec-ffmpeg.so.56", + "libavcodec.so.57", + "libavcodec.so.56", + "libavcodec.so.55", + "libavcodec.so.54", ++++++ mozilla-pgo.patch ++++++ --- /var/tmp/diff_new_pack.U2WbeP/_old 2026-07-24 22:08:35.960532083 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:35.968532362 +0200 @@ -1,12 +1,63 @@ # HG changeset patch # User Wolfgang Rosenauer <[email protected]> -# Parent 9959fe2a13a39cbeb98ca1bef2e21caba16717bd +# Parent 73147e14b378957cdb8516125df34111d2699fe9 -Index: firefox-115.0/build/moz.configure/lto-pgo.configure -=================================================================== ---- firefox-115.0.orig/build/moz.configure/lto-pgo.configure -+++ firefox-115.0/build/moz.configure/lto-pgo.configure -@@ -251,8 +251,8 @@ def lto( +diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure +--- a/build/moz.configure/lto-pgo.configure ++++ b/build/moz.configure/lto-pgo.configure +@@ -89,22 +89,26 @@ def pgo_profile_path(path, pgo_use, prof + return path[0] + + + set_config("PGO_PROFILE_PATH", pgo_profile_path) + + + @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 + + if not profdata_order: + return None + + topobjdir = build_env.topobjdir + +@@ -138,17 +142,17 @@ def pgo_flags( + target_is_windows, + pgo_temporal, + orderfile, + ): + if compiler.type == "gcc": + 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"], + ) + + if compiler.type in ("clang-cl", "clang"): + prefix = "" + if compiler.type == "clang-cl": + prefix = "/clang:" + gen_ldflags = None +@@ -352,34 +356,34 @@ def lto( + "configure." + ) + + if c_compiler.type == "clang": + if "full" in values: cflags.append("-flto") ldflags.append("-flto") else: @@ -17,7 +68,15 @@ if target.os == "Android" and "cross" in values: # Work around https://github.com/rust-lang/rust/issues/90088 -@@ -268,7 +268,7 @@ def lto( + # by enabling the highest level of SSE the rust targets default + # to. + # https://github.com/rust-lang/rust/blob/bdfcb88e8b6203ccb46a2fb6649979b773efc8ac/compiler/rustc_target/src/spec/i686_linux_android.rs#L13 + # https://github.com/rust-lang/rust/blob/8d1083e319841624f64400e1524805a40d725439/compiler/rustc_target/src/spec/x86_64_linux_android.rs#L7 + if target.cpu == "x86": + ldflags.append("-Wl,-plugin-opt=-mattr=+ssse3") + elif target.cpu == "x86_64": + ldflags.append("-Wl,-plugin-opt=-mattr=+sse4.2") + elif c_compiler.type == "clang-cl": if "full" in values: cflags.append("-flto") else: @@ -26,20 +85,39 @@ # 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 -=================================================================== ---- firefox-115.0.orig/build/pgo/profileserver.py -+++ firefox-115.0/build/pgo/profileserver.py -@@ -11,7 +11,7 @@ import subprocess + + # Explicitly set the CPU to optimize for so the linker doesn't + # choose a poor default. Rust compilation by default uses the + # pentium4 CPU on x86: + # +diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py +--- a/build/pgo/profileserver.py ++++ b/build/pgo/profileserver.py +@@ -5,17 +5,17 @@ + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + import glob + import os + 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__": + from mozprofile.permissions import ServerLocations + from mozrunner import CLI, FirefoxRunner + + PORT = 8888 + +@@ -134,19 +134,32 @@ if __name__ == "__main__": + docroot=js3_dir, + ) + js3_httpd.start(block=False) + print("started JS3 server on port 8001") + locations = ServerLocations() locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged") @@ -65,7 +143,17 @@ with TemporaryDirectory() as profilePath: # TODO: refactor this into mozprofile -@@ -213,6 +226,10 @@ if __name__ == "__main__": + profile_data_dir = os.path.join(build.topsrcdir, "testing", "profiles") + with open(os.path.join(profile_data_dir, "profiles.json")) as fh: + base_profiles = json.load(fh)["profileserver"] + + prefpaths = [ +@@ -273,16 +286,20 @@ if __name__ == "__main__": + + # Try to move the crash reports to the artifacts even if Firefox appears + # to exit successfully, in case there's a crash that doesn't set the + # return code to non-zero for some reason. + if get_crashreports(profilePath, name="Firefox exited successfully?") != 0: print("Firefox exited successfully, but produced a crashreport") sys.exit(1) @@ -76,11 +164,18 @@ llvm_profdata = env.get("LLVM_PROFDATA") if llvm_profdata: profraw_files = glob.glob("*.profraw") -Index: firefox-115.0/build/unix/mozconfig.unix -=================================================================== ---- firefox-115.0.orig/build/unix/mozconfig.unix -+++ firefox-115.0/build/unix/mozconfig.unix -@@ -4,6 +4,15 @@ if [ -n "$FORCE_GCC" ]; then + if not profraw_files: + print( + "Could not find profraw files in the current directory: %s" + % os.getcwd() + ) +diff --git a/build/unix/mozconfig.unix b/build/unix/mozconfig.unix +--- a/build/unix/mozconfig.unix ++++ b/build/unix/mozconfig.unix +@@ -1,14 +1,23 @@ + . "$topsrcdir/build/mozconfig.common" + + if [ -n "$FORCE_GCC" ]; then CC="$MOZ_FETCHES_DIR/gcc/bin/gcc" CXX="$MOZ_FETCHES_DIR/gcc/bin/g++" @@ -96,21 +191,34 @@ # 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 -=================================================================== ---- firefox-115.0.orig/extensions/spellcheck/src/moz.build -+++ firefox-115.0/extensions/spellcheck/src/moz.build -@@ -28,3 +28,5 @@ EXPORTS.mozilla += [ + else + # For some builds we don't want to have Clang based static-analysis activated + if [ -z "$DISABLE_CLANG_PLUGIN" ]; then + export ENABLE_CLANG_PLUGIN=1 + fi +diff --git a/extensions/spellcheck/src/moz.build b/extensions/spellcheck/src/moz.build +--- a/extensions/spellcheck/src/moz.build ++++ b/extensions/spellcheck/src/moz.build +@@ -19,8 +19,10 @@ FINAL_LIBRARY = "xul" + + LOCAL_INCLUDES += [ + "../ipc", + ] + EXPORTS.mozilla += [ "mozInlineSpellChecker.h", "mozSpellChecker.h", ] + +CXXFLAGS += ['-fno-devirtualize'] -Index: firefox-115.0/toolkit/components/terminator/nsTerminator.cpp -=================================================================== ---- firefox-115.0.orig/toolkit/components/terminator/nsTerminator.cpp -+++ firefox-115.0/toolkit/components/terminator/nsTerminator.cpp -@@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() { +diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp +--- a/toolkit/components/terminator/nsTerminator.cpp ++++ b/toolkit/components/terminator/nsTerminator.cpp +@@ -333,16 +333,21 @@ void nsTerminator::StartWatchdog() { + // Defend against overflow + crashAfterMS = INT32_MAX; + } else { + crashAfterMS *= scaleUp; + } } #endif @@ -120,6 +228,11 @@ + 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 crashAfterTicks is non-zero + options->crashAfterTicks = std::max(1, crashAfterMS / HEARTBEAT_INTERVAL_MS); + + DebugOnly<PRThread*> watchdogThread = + CreateSystemThread(RunWatchdog, options.release()); + MOZ_ASSERT(watchdogThread); + } ++++++ 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/firefox-esr/mozilla-silence-no-return-type.patch ++++ and /work/SRC/openSUSE:Factory/.firefox-esr.new.2004/mozilla-silence-no-return-type.patch ++++++ one_swizzle_to_rule_them_all.patch ++++++ --- /var/tmp/diff_new_pack.U2WbeP/_old 2026-07-24 22:08:36.096536831 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:36.104537110 +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.U2WbeP/_old 2026-07-24 22:08:36.144538507 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:36.148538646 +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.U2WbeP/_old 2026-07-24 22:08:36.180539764 +0200 +++ /var/tmp/diff_new_pack.U2WbeP/_new 2026-07-24 22:08:36.188540043 +0200 @@ -1,11 +1,11 @@ PRODUCT="firefox" -CHANNEL="esr140" -VERSION="140.13.0" +CHANNEL="esr153" +VERSION="153.0" VERSION_SUFFIX="esr" -PREV_VERSION="140.12.0" +PREV_VERSION="140.13.0" PREV_VERSION_SUFFIX="esr" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation -RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-esr140" -RELEASE_TAG="7ecdab99b603b94d2ed335990200f8b4b20de1d7" -RELEASE_TIMESTAMP="20260715202519" +RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-esr153" +RELEASE_TAG="abd1fe67f4c3b677caecb582d55601a7b1191dc4" +RELEASE_TIMESTAMP="20260716160951"
