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 2025-05-12 16:47:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old)
and /work/SRC/openSUSE:Factory/.nodejs-electron.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron"
Mon May 12 16:47:30 2025 rev:157 rq:1276328 version:35.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes
2025-05-02 15:00:40.005145335 +0200
+++
/work/SRC/openSUSE:Factory/.nodejs-electron.new.30101/nodejs-electron.changes
2025-05-12 16:50:49.089552388 +0200
@@ -1,0 +2,16 @@
+Fri May 9 15:31:47 UTC 2025 - Bruno Pitrus <[email protected]>
+
+- Fix reproducible builds (bsc#1041090)
+ * html_permission_element_strings_map-reproducible.patch
+
+-------------------------------------------------------------------
+Thu May 8 21:03:32 UTC 2025 - Bruno Pitrus <[email protected]>
+
+- New upstream release 35.3.0
+ * Fixed xdg portal version detection for file dialogs
+- Add file_dialog-missing-uint32_t.patch to fix build error
+- Add backported CheckPortalAvailabilityOnBusThread-UaF-crash.patch to fix
gh#electron/electron#47007
+- Enable debuginfo in Torque code (torque-debuginfo.patch)
+- Fix headers installed in wrong location causing node-gyp unable to find
config.gypi
+
+-------------------------------------------------------------------
Old:
----
electron-35.2.2.tar.zst
New:
----
CheckPortalAvailabilityOnBusThread-UaF-crash.patch
electron-35.3.0.tar.zst
file_dialog-missing-uint32_t.patch
html_permission_element_strings_map-reproducible.patch
torque-debuginfo.patch
BETA DEBUG BEGIN:
New:- Add file_dialog-missing-uint32_t.patch to fix build error
- Add backported CheckPortalAvailabilityOnBusThread-UaF-crash.patch to fix
gh#electron/electron#47007
- Enable debuginfo in Torque code (torque-debuginfo.patch)
New: * Fixed xdg portal version detection for file dialogs
- Add file_dialog-missing-uint32_t.patch to fix build error
- Add backported CheckPortalAvailabilityOnBusThread-UaF-crash.patch to fix
gh#electron/electron#47007
New:- Fix reproducible builds (bsc#1041090)
* html_permission_element_strings_map-reproducible.patch
New:- Add backported CheckPortalAvailabilityOnBusThread-UaF-crash.patch to
fix gh#electron/electron#47007
- Enable debuginfo in Torque code (torque-debuginfo.patch)
- Fix headers installed in wrong location causing node-gyp unable to find
config.gypi
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs-electron.spec ++++++
--- /var/tmp/diff_new_pack.9RzQhB/_old 2025-05-12 16:50:54.077762480 +0200
+++ /var/tmp/diff_new_pack.9RzQhB/_new 2025-05-12 16:50:54.081762648 +0200
@@ -189,7 +189,7 @@
Name: nodejs-electron
-Version: 35.2.2
+Version: 35.3.0
%global tag_version %version
Release: 0
Summary: Build cross platform desktop apps with JavaScript, HTML, and
CSS
@@ -242,6 +242,7 @@
Patch86: enable_stack_trace_line_numbers-symbol_level.patch
Patch97: chromium-127-cargo_crate.patch
Patch98: gn-logspam-breaks-install.patch
+Patch99: torque-debuginfo.patch
# PATCHES that remove code we don't want. Most of them can be reused verbatim
by other distributors,
@@ -378,6 +379,9 @@
Patch3206: string-hasher-flax-vector-conversions.patch
Patch3207: unexportable_key_service_impl-Wlto-type-mismatch.patch
Patch3208: to_vector-std-projected-gcc119888.patch
+Patch3209: file_dialog-missing-uint32_t.patch
+Patch3210: CheckPortalAvailabilityOnBusThread-UaF-crash.patch
+Patch3211: html_permission_element_strings_map-reproducible.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.
@@ -1380,7 +1384,8 @@
-cp -lrvT out/Release/gen/node_headers/include/node
%{buildroot}%{_includedir}/electron
+cp -lrvT out/Release/gen/node_headers %{buildroot}%{_includedir}/electron
+
# Electron has a little known feature that make it work like a nodejs binary.
# We make use of it in the %%electron_rebuild macro which builds all
dependencies in node_modules against Electron's headers.
++++++ CheckPortalAvailabilityOnBusThread-UaF-crash.patch ++++++
>From 41cfb13e3fd199108130e4b29ccb54b52ae82bbb Mon Sep 17 00:00:00 2001
From: deepak1556 <[email protected]>
Date: Fri, 9 May 2025 01:07:04 +0900
Subject: [PATCH] fix: use-after-move of bus connection in xdg portal detection
---
shell/browser/ui/file_dialog_linux_portal.cc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/shell/browser/ui/file_dialog_linux_portal.cc
b/shell/browser/ui/file_dialog_linux_portal.cc
index 298ee25caffb4..7dd520d92bdfa 100644
--- a/electron/shell/browser/ui/file_dialog_linux_portal.cc
+++ b/electron/shell/browser/ui/file_dialog_linux_portal.cc
@@ -86,8 +86,9 @@ void CheckPortalAvailabilityOnBusThread() {
<< (g_portal_available ? "yes" : "no");
flag->Set();
bus->ShutdownAndBlock();
+ bus.reset();
},
- std::move(bus), flag));
+ bus, flag));
}
} // namespace
++++++ electron-35.2.2.tar.zst -> electron-35.3.0.tar.zst ++++++
/work/SRC/openSUSE:Factory/nodejs-electron/electron-35.2.2.tar.zst
/work/SRC/openSUSE:Factory/.nodejs-electron.new.30101/electron-35.3.0.tar.zst
differ: char 7, line 1
++++++ file_dialog-missing-uint32_t.patch ++++++
--- src/electron/shell/browser/ui/file_dialog.h.orig 2025-05-07
19:52:05.453848300 +0200
+++ src/electron/shell/browser/ui/file_dialog.h 2025-05-07 22:41:30.703083100
+0200
@@ -5,6 +5,7 @@
#ifndef ELECTRON_SHELL_BROWSER_UI_FILE_DIALOG_H_
#define ELECTRON_SHELL_BROWSER_UI_FILE_DIALOG_H_
+#include <stdint.h>
#include <string>
#include <utility>
#include <vector>
++++++ html_permission_element_strings_map-reproducible.patch ++++++
---
src/third_party/blink/renderer/build/scripts/generate_permission_element_grd.py
2025-05-07 19:56:08.225814691 +0200
+++
src/third_party/blink/renderer/build/scripts/generate_permission_element_grd.py
2025-05-09 17:27:22.302946256 +0200
@@ -148,6 +148,18 @@ def generate_grd_file(id_map, file_list,
with open(output_file_path, 'wb') as output_file:
output_file.write(doc.toxml(encoding='UTF-8'))
+# Generate the shortest string containing both `long` and `short` as
substrings.
+# The full n-string problem is NP-complete, but we only use a crude greedy
heuristic.
+def superstring(long, short):
+ if long.find(short) >= 0:
+ return long
+ for i in range(len(short), 0, -1):
+ if(long[-i:] == short[:i]):
+ return long + short[i:]
+ if(short[-i:] == long[:i]):
+ return short + long[i:]
+ return long + short
+
def generate_cpp_mapping(orderings, input_file_path, output_file_path):
doc = parse(input_file_path)
@@ -161,8 +173,8 @@ def generate_cpp_mapping(orderings, inpu
# this code will use `pt-pt` (Portuguese from Portugal).
custom_locale_mappings = {"en-gb": "en", "pt-pt": "pt", "zh-cn": "zh"}
- langs = ''
- lang_map = {}
+
+ locales = set()
message_map = []
for message in messages:
message_name = message.getAttribute('name')
@@ -171,20 +183,18 @@ def generate_cpp_mapping(orderings, inpu
'_', 1)[1].lower().replace("_", "-")
if locale in custom_locale_mappings:
locale = custom_locale_mappings[locale]
- if locale not in lang_map:
- # String concatenation is inefficientin Python, since strings
- # are immutable. However, maintaining a list of chars and
- # re-implementing find() is also unpleasant.
- langs_idx = langs.find(locale)
- if langs_idx < 0:
- lang_map[locale] = (len(langs), len(locale))
- langs += locale
- else:
- # If locale is already a substring in the existing list,
- # the substring can simply be reused to save some space.
- lang_map[locale] = (langs_idx, len(locale))
+ locales.add(locale) # Need to add all locales at first because
iteration order is non-deterministic
message_map.append((locale, base_message, message_name))
+ langs = ''
+ locales = sorted(locales, key=lambda x: (-len(x), x))
+ for locale in locales: # Sort by length so that we add `ab-cd` before
`ab` and `cd`
+ langs = superstring(langs, locale)
+
+ lang_map = {}
+ for locale in locales:
+ lang_map[locale] = langs.find(locale), len(locale)
+
output_file.write(kStringMapCcPrefix)
output_file.write(f' "{langs}";\n')
output_file.write(kStringMapCcMidfix)
++++++ torque-debuginfo.patch ++++++
Adds debuginfo directives to embedded.S and torque-generated .cc files.
This does not change the electron binary in any way (the text is identical),
only makes the symbols better.
Revert https://github.com/v8/v8/commit/28e0e97dfe0d2b4587cb8f9a809fcaeb4670546f
reverted:
--- b/v8/src/snapshot/embedded/embedded-file-writer.cc
+++ a/v8/src/snapshot/embedded/embedded-file-writer.cc
@@ -77,10 +77,6 @@ void EmbeddedFileWriter::WriteBuiltin(Pl
v8::internal::SourcePositionTableIterator positions(
vpos, SourcePositionTableIterator::kExternalOnly);
-#ifndef DEBUG
- CHECK(positions.done()); // Release builds must not contain debug infos.
-#endif
-
// Some builtins (InterpreterPushArgsThenFastConstructFunction,
// JSConstructStubGeneric) have entry points located in the middle of them,
we
// need to store their addresses since they are part of the list of allowed
reverted:
--- b/v8/src/snapshot/embedded/embedded-file-writer.h
+++ a/v8/src/snapshot/embedded/embedded-file-writer.h
@@ -121,11 +121,6 @@
}
void WriteExternalFilenames(PlatformEmbeddedFileWriterBase* w) const {
-#ifndef DEBUG
- // Release builds must not contain debug infos.
- CHECK_EQ(external_filenames_by_index_.size(), 0);
-#endif
-
w->Comment(
"Source positions in the embedded blob refer to filenames by id.");
w->Comment("Assembly directives here map the id to a filename.");
--- src/v8/src/torque/torque-code-generator.cc.orig 2025-05-07
20:01:00.337777745 +0200
+++ src/v8/src/torque/torque-code-generator.cc 2025-05-08 20:03:23.726364897
+0200
@@ -26,11 +26,9 @@ bool TorqueCodeGenerator::IsEmptyInstruc
void TorqueCodeGenerator::EmitInstruction(const Instruction& instruction,
Stack<std::string>* stack) {
-#ifdef DEBUG
if (!IsEmptyInstruction(instruction)) {
EmitSourcePosition(instruction->pos);
}
-#endif
switch (instruction.kind()) {
#define ENUM_ITEM(T) \
--- src/v8/src/compiler/code-assembler.cc.orig 2025-05-07 20:01:00.165777775
+0200
+++ src/v8/src/compiler/code-assembler.cc 2025-05-08 21:30:20.037471973
+0200
@@ -100,7 +100,9 @@ void CodeAssemblerState::SetInitialDebug
int line) {
#if DEBUG
AssemblerDebugInfo debug_info = {msg, file, line};
+#endif
raw_assembler_->SetCurrentExternalSourcePosition({file, line});
+#if DEBUG
raw_assembler_->SetInitialDebugInformation(debug_info);
#endif // DEBUG
}