Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nodejs-electron for openSUSE:Factory checked in at 2024-05-10 12:05:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old) and /work/SRC/openSUSE:Factory/.nodejs-electron.new.1880 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron" Fri May 10 12:05:08 2024 rev:116 rq:1172970 version:29.3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes 2024-05-03 19:46:50.729859071 +0200 +++ /work/SRC/openSUSE:Factory/.nodejs-electron.new.1880/nodejs-electron.changes 2024-05-10 12:06:13.883870258 +0200 @@ -1,0 +2,17 @@ +Thu May 9 05:33:05 UTC 2024 - Bruno Pitrus <brunopit...@hotmail.com> + +- New upstream release 29.3.3 + * Fixed an issue where fs.createWriteStream could write out of order. + * Avoid some crashes when launching new process if Electron package is upgraded while apps are running + * Fix use after free in V8 (CVE-2024-3914 bsc#1222958) + * Fix use after free in Angle (CVE-2024-4558 bsc#1224045) + * a11y: avoid clearing/resetting focus on an already focused element. + +------------------------------------------------------------------- +Wed May 8 19:57:09 UTC 2024 - Bruno Pitrus <brunopit...@hotmail.com> + +- Build all translations for devtools, not just Chinese. + * more-locales.patch + * devtools-frontend-compress_files-oom.patch + +------------------------------------------------------------------- Old: ---- electron-29.3.2.tar.zst New: ---- devtools-frontend-compress_files-oom.patch electron-29.3.3.tar.zst more-locales.patch BETA DEBUG BEGIN: New: * more-locales.patch * devtools-frontend-compress_files-oom.patch New:- Build all translations for devtools, not just Chinese. * more-locales.patch * devtools-frontend-compress_files-oom.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nodejs-electron.spec ++++++ --- /var/tmp/diff_new_pack.GzvATR/_old 2024-05-10 12:06:22.308177219 +0200 +++ /var/tmp/diff_new_pack.GzvATR/_new 2024-05-10 12:06:22.312177365 +0200 @@ -208,8 +208,8 @@ Name: nodejs-electron -Version: 29.3.2~20240430g19f0abd6 -%global tag_version 29.3.2 +Version: 29.3.3 +%global tag_version %version Release: 0 Summary: Build cross platform desktop apps with JavaScript, HTML, and CSS License: Apache-2.0 AND blessing AND BSD-2-Clause AND BSD-3-Clause AND BSD-Source-Code AND bzip2-1.0.6 AND ISC AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND MIT AND MIT-CMU AND MIT-open-group AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND MPL-2.0 AND OpenSSL AND SGI-B-2.0 AND SUSE-Public-Domain AND X11%{!?with_system_minizip: AND Zlib} @@ -235,11 +235,10 @@ Source450: wayland-proto-31-cursor-shape.patch -# PATCHES for openSUSE-specific things +# PATCHES for openSUSE-specific things (compiler flags, paths, etc.) Patch0: chromium-102-compiler.patch Patch1: fpic.patch Patch3: gcc-enable-lto.patch -Patch6: chromium-vaapi.patch Patch7: chromium-91-java-only-allowed-in-android-builds.patch # Always disable use_thin_lto which is an lld feature Patch21: electron-13-fix-use-thin-lto.patch @@ -247,28 +246,37 @@ Patch25: electron-16-system-node-headers.patch # https://sources.debian.org/patches/chromium/102.0.5005.115-1/debianization/support-i386.patch/ Patch39: support-i386.patch -# from https://sources.debian.org/patches/chromium/103.0.5060.53-1/disable/catapult.patch/ -Patch67: disable-catapult.patch Patch69: nasm-generate-debuginfo.patch -Patch70: disable-fuses.patch -# https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?h=102-based&id=d617766b236a93749ddbb50b75573dd35238ffc9 -Patch73: disable-webspeech.patch Patch74: common.gypi-remove-fno-omit-frame-pointer.patch Patch75: gcc-asmflags.patch -# https://sources.debian.org/patches/chromium/108.0.5359.124-1/disable/tests.patch/ -Patch76: disable-devtools-tests.patch Patch77: angle_link_glx.patch Patch78: rdynamic.patch Patch80: icon.patch -Patch81: disable-tests.patch Patch82: node-compiler.patch -Patch83: remove-rust.patch Patch84: aarch64-Xclang.patch -Patch85: remove-dawn.patch -Patch86: aom-vpx-no-thread-wrapper.patch -Patch87: remove-openscreen.patch -Patch88: remove-password-manager-and-policy.patch -Patch89: remove-puffin.patch +Patch85: devtools-frontend-compress_files-oom.patch + + +# PATCHES that remove code we don't want. Most of them can be reused verbatim by other distributors, +# and some of them probably should be submitted upstream (at least to Electron, not necessarily to Chromium) + +# from https://sources.debian.org/patches/chromium/103.0.5060.53-1/disable/catapult.patch/ +Patch567: disable-catapult.patch +Patch570: disable-fuses.patch +# https://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/?h=102-based&id=d617766b236a93749ddbb50b75573dd35238ffc9 +Patch573: disable-webspeech.patch +# https://sources.debian.org/patches/chromium/108.0.5359.124-1/disable/tests.patch/ +Patch576: disable-devtools-tests.patch +Patch581: disable-tests.patch +Patch583: remove-rust.patch +Patch585: remove-dawn.patch +Patch586: aom-vpx-no-thread-wrapper.patch +Patch587: remove-openscreen.patch +Patch588: remove-password-manager-and-policy.patch +Patch589: remove-puffin.patch + + + # PATCHES to use system libs Patch1000: do-not-build-libvulkan.so.patch @@ -374,6 +382,11 @@ Patch3151: distributed_point_functions-evaluate_prg_hwy-signature.patch Patch3152: fake_ssl_socket_client-Wlto-type-mismatch.patch +# Patches to re-enable upstream force disabled features. +# There's no sense in submitting them but they may be reused as-is by other packagers. +Patch5000: more-locales.patch +Patch5006: chromium-vaapi.patch + BuildRequires: brotli %if %{with system_cares} BuildRequires: c-ares-devel ++++++ devtools-frontend-compress_files-oom.patch ++++++ Avoid OOM on 32bit by iterating over files sequentially instead of stuffing them into async --- src/third_party/devtools-frontend/src/scripts/build/compress_files.js.orig +++ src/third_party/devtools-frontend/src/scripts/build/compress_files.js @@ -75,7 +75,8 @@ async function main(argv) { const fileList = argv[fileListPosition + 1]; const fileListContents = await readTextFile(fileList); const files = fileListContents.split(' '); - await Promise.all(files.map(filename => filename.trim()).map(compressFile)); + for (i in files) + await compressFile(files[i].trim()) } main(process.argv).catch(err => { ++++++ more-locales.patch ++++++ Upstream builds only include devtools in English and Chinese. But there are more translations available in the source. --- src/build/config/locales.gni.orig +++ src/build/config/locales.gni @@ -169,9 +169,8 @@ platform_pak_locales = all_chrome_locale if (is_android) { platform_pak_locales -= _non_android_locales extended_locales -= _non_android_locales -} else { - platform_pak_locales -= extended_locales } +extended_locales = [] # The base list for all platforms except Android excludes the extended locales. # Add or subtract platform specific locales below. --- src/chrome/app/resources/locale_settings_linux.grd.orig +++ src/chrome/app/resources/locale_settings_linux.grd @@ -4,7 +4,6 @@ <output filename="grit/platform_locale_settings.h" type="rc_header"> <emit emit_type='prepend'></emit> </output> - <if expr="is_android"> <output filename="platform_locale_settings_as.pak" type="data_package" lang="as" /> <output filename="platform_locale_settings_az.pak" type="data_package" lang="az" /> <output filename="platform_locale_settings_be.pak" type="data_package" lang="be" /> @@ -31,7 +30,6 @@ <output filename="platform_locale_settings_uz.pak" type="data_package" lang="uz" /> <output filename="platform_locale_settings_zh-HK.pak" type="data_package" lang="zh-HK" /> <output filename="platform_locale_settings_zu.pak" type="data_package" lang="zu" /> - </if> <output filename="platform_locale_settings_af.pak" type="data_package" lang="af" /> <output filename="platform_locale_settings_am.pak" type="data_package" lang="am" /> <output filename="platform_locale_settings_ar.pak" type="data_package" lang="ar" /> @@ -39,6 +37,7 @@ <output filename="platform_locale_settings_bn.pak" type="data_package" lang="bn" /> <output filename="platform_locale_settings_ca.pak" type="data_package" lang="ca" /> <output filename="platform_locale_settings_cs.pak" type="data_package" lang="cs" /> + <output filename="platform_locale_settings_cy.pak" type="data_package" lang="cy" /> <output filename="platform_locale_settings_da.pak" type="data_package" lang="da" /> <output filename="platform_locale_settings_de.pak" type="data_package" lang="de" /> <output filename="platform_locale_settings_el.pak" type="data_package" lang="el" /> --- src/third_party/devtools-frontend/src/config/gni/devtools_grd_files.gni.orig +++ src/third_party/devtools-frontend/src/config/gni/devtools_grd_files.gni @@ -2,6 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/devtools.gni") +import("//$devtools_root_location/config/gni/i18n.gni") + # This represents all the files expected to be be in the GRD. The file # has two lists, one for files expected for the Release build # (is_debug=false), and another for the Debug build (is_debug=true). @@ -648,6 +651,15 @@ grd_files_release_sources = [ "front_end/worker_app.html", ] + +grd_files_release_sources -= [ + "front_end/core/i18n/locales/en-US.json", + "front_end/core/i18n/locales/zh.json" +] +foreach(locale, bundled_devtools_locales) { + grd_files_release_sources += [ "front_end/core/i18n/locales/$locale.json" ] +} + grd_files_debug_sources = [ "front_end/core/common/App.js", "front_end/core/common/AppProvider.js", --- src/third_party/devtools-frontend/src/config/gni/i18n.gni.orig +++ src/third_party/devtools-frontend/src/config/gni/i18n.gni @@ -5,6 +5,9 @@ import("//build/config/devtools.gni") remote_devtools_locales = [ +] + +bundled_devtools_locales = [ "af", "am", "ar", @@ -85,9 +88,6 @@ remote_devtools_locales = [ "zh-HK", "zh-TW", "zu", -] - -bundled_devtools_locales = [ "en-US", "zh", ]