diff --git a/disable-vsync-for-kiosk.patch b/disable-vsync-for-kiosk.patch new file mode 100644 index 0000000000000000000000000000000000000000..8e6225b5a911227848f599b33a2065fa51067cdc --- /dev/null +++ b/disable-vsync-for-kiosk.patch @@ -0,0 +1,18 @@ +diff -up firefox-128.8.0/widget/gtk/nsWindow.cpp.kiosk-vsync firefox-128.8.0/widget/gtk/nsWindow.cpp +--- firefox-128.8.0/widget/gtk/nsWindow.cpp.kiosk-vsync 2025-03-13 13:04:03.112498669 +0100 ++++ firefox-128.8.0/widget/gtk/nsWindow.cpp 2025-03-13 13:06:13.227823446 +0100 +@@ -6348,9 +6348,13 @@ nsresult nsWindow::Create(nsIWidget* aPa + // Initialize the window specific VsyncSource early in order to avoid races + // with BrowserParent::UpdateVsyncParentVsyncDispatcher(). + // Only use for toplevel windows for now, see bug 1619246. ++ // ++ // Disable vsync for the kiosk mode - it cause the black screen ++ // This will be fixed in Firefox 140 + if (GdkIsWaylandDisplay() && + StaticPrefs::widget_wayland_vsync_enabled_AtStartup() && +- IsTopLevelWindowType()) { ++ IsTopLevelWindowType() && ++ !gKioskMode ) { + mWaylandVsyncSource = new WaylandVsyncSource(this); + mWaylandVsyncDispatcher = new VsyncDispatcher(mWaylandVsyncSource); + LOG_VSYNC(" created WaylandVsyncSource"); diff --git a/download b/download index 61a9c74cb74fb3c24fed8c0793a34b492e714a2d..4db81da108872c5b81d6bbfebaea8a2267396977 100644 --- a/download +++ b/download @@ -1,6 +1,6 @@ fc25f988b87b5187d4e2f006efa699a3 cbindgen-vendor.tar.xz -fd6b895e2b89243fcecc604b85afa5cf firefox-128.8.0esr.processed-source.tar.xz -d934a1c5398b352142689c7de8a6a927 firefox-langpacks-128.8.0esr-20250224.tar.xz +41b4ac80021f2f640d9ee7599f6dabb8 firefox-128.9.0esr.b2.processed-source.tar.xz +fcfc7957f33934068b81ef12265a3e96 firefox-langpacks-128.9.0esr-20250331.tar.xz b3c1d2ea615cb0195f4f62b005773262 mochitest-python.tar.gz 2d901c7a62fc68bbd8816e8c4c6276c1 wasi-sdk-20.tar.gz 7b35b9a003996b1f1dbc3cd936a609f2 nspr-4.35.0-1.el8_1.src.rpm diff --git a/firefox.spec b/firefox.spec index 7b94213d03e12cab215b103950fdc1f37c880c8a..b37bf0ff9c1848441513f3846dcbaf2812cc1458 100644 --- a/firefox.spec +++ b/firefox.spec @@ -157,7 +157,7 @@ end} # If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g. # firefox-102.8.0esr.b2.processed-source.tar.xz # When unset use processed source file name as is. -##global buildnum .b2 +%global buildnum .b2 %bcond_without langpacks @@ -167,8 +167,8 @@ end} Summary: Mozilla Firefox Web browser Name: firefox -Version: 128.8.0 -Release: 1%{anolis_release}%{?dist} +Version: 128.9.0 +Release: 2%{anolis_release}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -200,7 +200,7 @@ ExcludeArch: aarch64 s390 ppc # Link to original tarball: https://archive.mozilla.org/pub/firefox/releases/%%{version}%%{?pre_version}/source/firefox-%%{version}%%{?pre_version}.source.tar.xz Source0: firefox-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz %if %{with langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20250224.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20250331.tar.xz %endif Source2: cbindgen-vendor.tar.xz Source3: process-official-tarball @@ -247,6 +247,10 @@ Patch09: rhbz-2131158-webrtc-nss-fix.patch Patch10: build-ffvpx.patch Patch11: build-disable-gamepad.patch Patch12: firefox-system-nss-replace-xyber-with-mlkem.patch +# Enabled vsync cause the black screen when running in Kiosk mode +# This will be fixed in Firefox 140 +Patch13: disable-vsync-for-kiosk.patch +Patch14: rhbz-71999-fips-youtube.patch # -- Upstreamed patches -- Patch51: mozilla-bmo1170092.patch @@ -525,7 +529,6 @@ Provides: bundled(fastText) Provides: bundled(fathom) Provides: bundled(fdlibm) Provides: bundled(ffvpx) -Provides: bundled(freetype2) Provides: bundled(function2) Provides: bundled(gbm) Provides: bundled(gemmology) @@ -1227,6 +1230,8 @@ echo "--------------------------------------------" %if 0%{?rhel} == 10 %patch -P12 -p1 -b .system-nss-replace-xyber-with-mlkem %endif +%patch -P13 -p1 -b .kiosk-vsync +%patch -P14 -p1 -b .rhbz-71999-fips-youtube # We need to create the wasi.patch with the correct path to the wasm libclang_rt. %if %{with_wasi_sdk} @@ -1987,11 +1992,17 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog -* Fri Mar 07 2025 Liwei Ge - 128.8.0-1.0.1 +* Mon Apr 07 2025 Liwei Ge - 128.9.0-2.0.1 - Add firefox-anolis-default-prefs.js - Remove bookmarks and loongarch64 - Add BuildRequires gcc-toolset-13-gcc-c++ +* Mon Mar 31 2025 Eike Rathke - 128.9.0-2 +- Update to 128.9.0 build2 + +* Tue Mar 25 2025 Eike Rathke - 128.9.0-1 +- Update to 128.9.0 build1 + * Mon Feb 24 2025 Eike Rathke - 128.8.0-1 - Update to 128.8.0 build1 diff --git a/process-official-tarball b/process-official-tarball index e3aabb9507297cb1ef7c058252886887291b05d2..a2c456ba38a40854f4c4ce832b082b99d8b28b7d 100755 --- a/process-official-tarball +++ b/process-official-tarball @@ -18,6 +18,9 @@ rm -vf ./process-tarball-dir/*/mobile/android/android-components/components/feat rm -vf ./process-tarball-dir/*/third_party/webkit/PerformanceTests/Speedometer3/resources/editors/dist/assets/codemirror-521de7ab.js rm -vf ./process-tarball-dir/*/third_party/python/pip/pip-24.0.dist-info/AUTHORS.txt +# We uses system freetype2 +rm -vrf ./process-tarball-dir/*/modules/freetype2 + processed_tarball=${1/source/processed-source} cd ./process-tarball-dir diff --git a/rhbz-71999-fips-youtube.patch b/rhbz-71999-fips-youtube.patch new file mode 100644 index 0000000000000000000000000000000000000000..5d53eed0f158062ac7b84de43d8775439b8a1f90 --- /dev/null +++ b/rhbz-71999-fips-youtube.patch @@ -0,0 +1,43 @@ +changeset: 781221:573380ae60a7 +tag: tip +user: stransky +date: Mon Mar 24 10:13:50 2025 +0100 +files: dom/cache/CacheStorage.cpp dom/indexedDB/ActorsParent.cpp +description: +FIPS-youtube + + +diff --git a/dom/cache/CacheStorage.cpp b/dom/cache/CacheStorage.cpp +--- a/dom/cache/CacheStorage.cpp ++++ b/dom/cache/CacheStorage.cpp +@@ -38,6 +38,7 @@ + #include "nsURLParsers.h" + #include "js/Object.h" // JS::GetClass + #include "js/PropertyAndElement.h" // JS_DefineProperty ++#include "pk11pub.h" + + namespace mozilla::dom::cache { + +@@ -581,7 +582,7 @@ bool CacheStorage::HasStorageAccess(UseC + if (!principal->IsSystemPrincipal() && + principal->GetPrivateBrowsingId() != + nsIScriptSecurityManager::DEFAULT_PRIVATE_BROWSING_ID && +- !StaticPrefs::dom_cache_privateBrowsing_enabled()) { ++ (!StaticPrefs::dom_cache_privateBrowsing_enabled() || PK11_IsFIPS())) { + return false; + } + } +diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp +--- a/dom/indexedDB/ActorsParent.cpp ++++ b/dom/indexedDB/ActorsParent.cpp +@@ -14791,7 +14791,8 @@ nsresult FactoryOp::Open() { + mEnforcingQuota = mPersistenceType != PERSISTENCE_TYPE_PERSISTENT; + + if (mOriginMetadata.mIsPrivate) { +- if (StaticPrefs::dom_indexedDB_privateBrowsing_enabled()) { ++ if (StaticPrefs::dom_indexedDB_privateBrowsing_enabled() && ++ !PK11_IsFIPS()) { + // Explicitly disallow moz-extension urls from using the encrypted + // indexedDB storage mode when the caller is an extension (see Bug + // 1841806). +