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 2022-08-02 22:08:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nodejs-electron (Old) and /work/SRC/openSUSE:Factory/.nodejs-electron.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs-electron" Tue Aug 2 22:08:45 2022 rev:29 rq:992258 version:19.0.9 Changes: -------- --- /work/SRC/openSUSE:Factory/nodejs-electron/nodejs-electron.changes 2022-07-07 12:58:17.287405746 +0200 +++ /work/SRC/openSUSE:Factory/.nodejs-electron.new.1533/nodejs-electron.changes 2022-08-02 22:09:06.217757216 +0200 @@ -1,0 +2,29 @@ +Fri Jul 22 09:58:00 UTC 2022 - Bruno Pitrus <brunopit...@hotmail.com> +- New upstream release 19.0.9 + * Updated Chromium to 102.0.5005.167 + * Fixed a potential crash when changing window settings after initializing WCO with an invalid titleBarStyle + * Fixed alwaysOnTop BrowserWindow option for X11. + * Fixed an issue where printing with an invalid deviceName caused silent failures. + * Fixed empty app_id when running under wayland. + * Prevent brief display of "Ozone X11" in window title. +- Remove some unused huge libraries from third_party in source tarball. +- Remove process_doc_wrapper-do-not-assume-ABI.patch. The file being patched was not getting compiled for a while, + and is now removed from the tarball. +- Add system-gtest.patch +- Add breakpad-system-curl.patch + +------------------------------------------------------------------- +Tue Jul 12 17:03:39 UTC 2022 - Bruno Pitrus <brunopit...@hotmail.com> +- Do not require SSE3 (chromium-102-compiler.patch). + Both openSUSE and Fedora still support the original Opteron, and + package maintainers should not unilaterally require more. +- Use system node for the typescript compiler (again). + We do not need to force node16 (Fedora compiles fine with node18 even), + Factory pushes a devel node version as default for a reason, + and it accidentally broke build on RISC-V which only has node17. +- Restore full debuginfo on the C-only code parts. +- Document all other deviations from recommended compilation options. +- Remove obsolete chromium-96-CouponDB-include.patch +- Correct licence in header (Electron bundles Chromium) + +------------------------------------------------------------------- Old: ---- chromium-96-CouponDB-include.patch electron-19.0.8.tar.xz process_doc_wrapper-do-not-assume-ABI.patch New: ---- breakpad-system-curl.patch electron-19.0.9.tar.xz system-gtest.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nodejs-electron.spec ++++++ --- /var/tmp/diff_new_pack.CaQfXq/_old 2022-08-02 22:09:18.553792777 +0200 +++ /var/tmp/diff_new_pack.CaQfXq/_new 2022-08-02 22:09:18.561792800 +0200 @@ -40,21 +40,10 @@ %{expand:%%global optflags %(echo "%optflags") -march=pentium4 -mtune=generic} %endif -%ifarch x86_64 -%if 0%{?suse_version} > 1500 || 0%{?fedora} -# DISABLE LTO AS IT IS BROKEN RIGHT NOW -#%%bcond_without lto -%bcond_with lto -# else suse_version -%else -%bcond_with lto -# endif suse_version -%endif -# else arch x86_64 -%else + +#Electron built with LTO crashes on selecting any text. +#See https://gist.github.com/brjsp/80620a5a0be9efbee6b9154cb127879d for the stack trace. %bcond_with lto -# endif arch x86_64 -%endif %bcond_without pipewire @@ -191,10 +180,10 @@ Name: nodejs-electron -Version: 19.0.8 +Version: 19.0.9 Release: 0 Summary: Build cross platform desktop apps with JavaScript, HTML, and CSS -License: MIT +License: MIT AND BSD-3-Clause AND LGPL-2.1-or-later Group: Productivity/Networking/Web/Browsers URL: https://github.com/electron/electron Source0: %{mod_name}-%{version}.tar.xz @@ -239,108 +228,108 @@ # Reverse upstream changes to be able to build against system ffmpeg Source400: ffmpeg-new-channel-layout.patch + +# PATCHES for openSUSE-specific things Patch0: chromium-102-compiler.patch -Patch2: chromium-system-libusb.patch Patch3: gcc-enable-lto.patch -Patch4: chromium-gcc11.patch Patch5: chromium-norar.patch Patch6: chromium-vaapi.patch Patch7: chromium-91-java-only-allowed-in-android-builds.patch Patch9: chromium-86-fix-vaapi-on-intel.patch -Patch10: chromium-93-ffmpeg-4.4.patch -Patch11: chromium-ffmpeg-first-dts.patch -Patch13: chromium-96-CouponDB-include.patch -Patch16: chromium-98-EnumTable-crash.patch -Patch17: system-libdrm.patch -# Fix building sql recover_module -Patch20: electron-13-fix-sql-virtualcursor-type.patch # Always disable use_thin_lto which is an lld feature Patch21: electron-13-fix-use-thin-lto.patch -# Fixe builds with older clang versions that do not allow -# nomerge attributes on declaration. Otherwise, the following error -# is produced: -# 'nomerge' attribute cannot be applied to a declaration -# See https://reviews.llvm.org/D92800 -Patch22: electron-13-fix-base-check-nomerge.patch -# Fix blink nodestructor -Patch23: electron-13-blink-gcc-ambiguous-nodestructor.patch -# Fix electron patched code -Patch24: electron-16-std-vector-non-const.patch # Fix common.gypi to include /usr/include/electron Patch25: electron-16-system-node-headers.patch -Patch27: electron-16-freetype-visibility-list.patch -Patch28: electron-16-third_party-symbolize-missing-include.patch -Patch29: electron-16-webpack-fix-openssl-3.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2052228 -Patch30: electron-16-fix-swiftshader-template.patch -# From https://git.droidware.info/wchen342/ungoogled-chromium-fedora -Patch33: chromium-94.0.4606.71-InkDropHost-crash.patch -# https://sources.debian.org/patches/chromium/102.0.5005.115-1/upstream/byteswap-constexpr.patch/ -Patch34: byteswap-constexpr.patch -# https://sources.debian.org/patches/chromium/102.0.5005.115-1/bullseye/byteswap-constexpr2.patch/ -Patch35: byteswap-constexpr2.patch -Patch36: chromium-101-libxml-unbundle.patch -Patch37: chromium-102-fenced_frame_utils-include.patch -# http://svnweb.mageia.org/packages/updates/7/chromium-browser-stable/current/SOURCES/chromium-74-pdfium-system-libopenjpeg2.patch?view=markup -Patch38: pdfium-fix-system-libs.patch # https://sources.debian.org/patches/chromium/102.0.5005.115-1/debianization/support-i386.patch/ Patch39: support-i386.patch +Patch49: abseil-remove-unused-targets.patch +# from https://sources.debian.org/patches/chromium/103.0.5060.53-1/disable/catapult.patch/ +Patch67: disable-catapult.patch + +# PATCHES to use system libs +Patch1002: chromium-system-libusb.patch +Patch1017: system-libdrm.patch +Patch1036: chromium-101-libxml-unbundle.patch +# http://svnweb.mageia.org/packages/updates/7/chromium-browser-stable/current/SOURCES/chromium-74-pdfium-system-libopenjpeg2.patch?view=markup +Patch1038: pdfium-fix-system-libs.patch %if %{with system_jsoncpp} # https://sources.debian.org/patches/chromium/102.0.5005.115-1/system/jsoncpp.patch/ -Patch40: system-jsoncpp.patch +Patch1040: system-jsoncpp.patch %endif # https://sources.debian.org/patches/chromium/102.0.5005.115-1/system/zlib.patch/ -Patch41: system-zlib.patch -Patch42: chromium-fix-pac-with-gcc.patch -Patch43: node-system-libs.patch -Patch44: replace_gn_files-system-libs.patch -Patch45: angle-system-xxhash.patch +Patch1041: system-zlib.patch +Patch1043: node-system-libs.patch +Patch1044: replace_gn_files-system-libs.patch +Patch1045: angle-system-xxhash.patch %if %{with system_tiff} # https://svnweb.mageia.org/packages/cauldron/chromium-browser-stable/current/SOURCES/chromium-99-pdfium-system-libtiff-libpng.patch -Patch46: chromium-99-pdfium-system-libtiff.patch +Patch1046: chromium-99-pdfium-system-libtiff.patch %endif -Patch47: cares_public_headers.patch -Patch48: chromium-remove-bundled-roboto-font.patch -Patch49: abseil-remove-unused-targets.patch -# PATCH-FIX-UPSTREAM -Patch50: abseil_string_number_conversions-do-not-assume-ABI.patch -# PATCH-FIX-UPSTREAM -Patch51: multi_channel_content_detector-missing-unique_ptr.patch -# PATCH-FIX-UPSTREAM -Patch52: process_doc_wrapper-do-not-assume-ABI.patch +Patch1047: cares_public_headers.patch +Patch1048: chromium-remove-bundled-roboto-font.patch %if %{with system_llvm} -Patch53: swiftshader-use-system-llvm.patch +Patch1053: swiftshader-use-system-llvm.patch %endif %if %{with system_abseil} -Patch54: thread_annotations-fix-build-with-system-abseil.patch +Patch1054: thread_annotations-fix-build-with-system-abseil.patch %endif -#PATCH-FIX-UPSTREAM -Patch55: json_generation-missing-unique_ptr.patch -#PATCH-FIX-UPSTREAM -Patch56: async_shared_storage_database_impl-missing-absl-WrapUnique.patch -#PATCH-FIX-UPSTREAM -Patch57: metrics_recorder-missing-string.patch -#PATCH-FIX-UPSTREAM -Patch58: skia_utils-missing-uint64_t.patch -#PATCH-FIX-UPSTREAM -Patch59: device_perf_info-missing-uint32_t.patch -# PATCH-FIX-UPSTREAM -Patch60: dark_mode_types-uint8_t.patch -# PATCH-FIX-UPSTREAM -Patch61: ax_property_node-missing-unique_ptr-forward.patch -# PATCH-FIX-UPSTREAM -Patch62: attribution_manager_impl-missing-absl-WrapUnique.patch -Patch63: system-libbsd.patch +Patch1063: system-libbsd.patch +Patch1065: base-system-nspr.patch +Patch1066: system-gtest.patch +Patch1067: breakpad-system-curl.patch + +# PATCHES to fix interaction with third-party software +Patch2004: chromium-gcc11.patch +Patch2010: chromium-93-ffmpeg-4.4.patch +Patch2011: chromium-ffmpeg-first-dts.patch +# Fix building sql recover_module +Patch2020: electron-13-fix-sql-virtualcursor-type.patch +# Fixe builds with older clang versions that do not allow +# nomerge attributes on declaration. Otherwise, the following error +# is produced: +# 'nomerge' attribute cannot be applied to a declaration +# See https://reviews.llvm.org/D92800 +Patch2022: electron-13-fix-base-check-nomerge.patch +# Fix electron patched code +Patch2024: electron-16-std-vector-non-const.patch +Patch2029: electron-16-webpack-fix-openssl-3.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2052228 +Patch2030: electron-16-fix-swiftshader-template.patch + + +# PATCHES that should be submitted upstream verbatim or near-verbatim +Patch3016: chromium-98-EnumTable-crash.patch +# Fix blink nodestructor +Patch3023: electron-13-blink-gcc-ambiguous-nodestructor.patch +Patch3027: electron-16-freetype-visibility-list.patch +Patch3028: electron-16-third_party-symbolize-missing-include.patch +# From https://git.droidware.info/wchen342/ungoogled-chromium-fedora +Patch3033: chromium-94.0.4606.71-InkDropHost-crash.patch +# https://sources.debian.org/patches/chromium/102.0.5005.115-1/upstream/byteswap-constexpr.patch/ +Patch3034: byteswap-constexpr.patch +# https://sources.debian.org/patches/chromium/102.0.5005.115-1/bullseye/byteswap-constexpr2.patch/ +Patch3035: byteswap-constexpr2.patch +Patch3037: chromium-102-fenced_frame_utils-include.patch +Patch3042: chromium-fix-pac-with-gcc.patch +Patch3050: abseil_string_number_conversions-do-not-assume-ABI.patch +Patch3051: multi_channel_content_detector-missing-unique_ptr.patch +Patch3055: json_generation-missing-unique_ptr.patch +Patch3056: async_shared_storage_database_impl-missing-absl-WrapUnique.patch +Patch3057: metrics_recorder-missing-string.patch +Patch3058: skia_utils-missing-uint64_t.patch +Patch3059: device_perf_info-missing-uint32_t.patch +Patch3060: dark_mode_types-uint8_t.patch +Patch3061: ax_property_node-missing-unique_ptr-forward.patch +Patch3062: attribution_manager_impl-missing-absl-WrapUnique.patch # https://salsa.debian.org/chromium-team/chromium/-/blob/456851fc808b2a5b5c762921699994e957645917/debian/patches/upstream/nested-nested-nested-nested-nested-nested-regex-patterns.patch -Patch64: nested-nested-nested-nested-nested-nested-regex-patterns.patch -Patch65: base-system-nspr.patch -# PATCH-FIX-UPSTREAM ??? Fedora patch to fix build with python3.11 -Patch66: chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch -# from https://sources.debian.org/patches/chromium/103.0.5060.53-1/disable/catapult.patch/ -Patch67: disable-catapult.patch +Patch3064: nested-nested-nested-nested-nested-nested-regex-patterns.patch +# Fedora patch to fix build with python3.11 +Patch3066: chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch + %if %{with clang} BuildRequires: clang BuildRequires: lld +BuildRequires: llvm %endif %if %{with gold} BuildRequires: binutils-gold @@ -393,11 +382,11 @@ %else BuildRequires: ninja-build >= 1.7.2 %endif -%if 0%{?suse_version} +%if 0%{?sle_version} == 150300 BuildRequires: nodejs16 BuildRequires: npm16 %else -BuildRequires: nodejs >= 16.5.0 +BuildRequires: nodejs >= 16 BuildRequires: npm %endif BuildRequires: pkgconfig @@ -460,6 +449,7 @@ BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glproto) +BuildRequires: pkgconfig(gtest) BuildRequires: pkgconfig(gtk+-3.0) %if %{with system_harfbuzz} BuildRequires: pkgconfig(harfbuzz) >= 3 @@ -510,8 +500,8 @@ %if 0%{?fedora} BuildRequires: minizip-compat-devel # help decide for dependency -BuildRequires: pipewire-jack-audio-connection-kit-devel -BuildRequires: nodejs-devel >= 17 +# BuildRequires: pipewire-jack-audio-connection-kit-devel +# BuildRequires: nodejs-devel >= 17 %else BuildRequires: pkgconfig(minizip) %endif @@ -598,8 +588,8 @@ ln -sf %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node # Fix eu-strip -rm buildtools/third_party/eu-strip/bin/eu-strip -ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip +mkdir -p buildtools/third_party/eu-strip/bin +ln -sf %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip # Fix shim header generation sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ @@ -613,19 +603,16 @@ # GN sets lto on its own and we need just ldflag options, not cflags %define _lto_cflags %{nil} + # Make sure python is python3 install -d -m 0755 python3-path ln -sf %{_bindir}/python3 "$(pwd)/python3-path/python" export PATH="$(pwd)/python3-path:${PATH}" -# Make sure node is node16 on suse -export NODE_VERSION=16 +ARCH_FLAGS="%optflags" -# REDUCE DEBUG as it gets TOO large -ARCH_FLAGS="$(echo %{optflags} | sed -e 's/-g /-g1 /g' -e 's/-g$/-g1/g')" - %if 0%{?fedora} # Fix base/allocator/allocator_shim.cc:408:2: error: #error This code cannot be @@ -635,19 +622,36 @@ - # for wayland export CXXFLAGS="${ARCH_FLAGS} -I/usr/include/wayland -I/usr/include/libxkbcommon" +export CFLAGS="${CXXFLAGS}" + +# Google has a bad coding style, using a macro `NOTREACHED()` that is not properly detected by GCC +# multiple times throughout the codebase. It is not possible to redefine the macro to __builtin_unreachable, +# as it has an astonishing syntax, behaving like an ostream (in debug builds it is supposed to trap and print an error message) +export CXXFLAGS="${CXXFLAGS} -Wno-error=return-type" +# As of 19.0.8, export_gin_v8platform_pageallocator_for_usage_outside_of_the_gin.patch +# introduces non-conformant C++ code (redefinition of PageAllocator) +# This is an Electron-specific problem that does not appear in Chromium. +export CXXFLAGS="${CXXFLAGS} -fpermissive" + +# REDUCE DEBUG for C++ as it gets TOO large due to ???heavy hemplate use in Blink??? +export CXXFLAGS="$(echo ${CXXFLAGS} | sed -e 's/-g /-g1 /g' -e 's/-g$/-g1/g')" + export LDFLAGS="%{?build_ldflags}" + %if %{with clang} -export CFLAGS="${CXXFLAGS}" + export CC=clang export CXX=clang++ +export AR=llvm-ar +export NM=llvm-nm +export RANLIB=llvm-ranlib # else with clang %else @@ -663,36 +667,25 @@ %endif -export CXXFLAGS="${CXXFLAGS} -Wno-return-type" -# extra flags to reduce warnings that aren't very useful -export CXXFLAGS="${CXXFLAGS} -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-deprecated-declarations" -# ignore warnings for minor mistakes that are too common -export CXXFLAGS="${CXXFLAGS} -Wno-return-type -Wno-parentheses -Wno-misleading-indentation" -# ignore warnings that are not supported well until gcc 8 -export CXXFLAGS="${CXXFLAGS} -Wno-attributes" -# ignore warnings due to gcc bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84055) -export CXXFLAGS="${CXXFLAGS} -Wno-ignored-attributes" -# ingore new gcc 8 warnings that aren't yet handled upstream -export CXXFLAGS="${CXXFLAGS} -Wno-address -Wno-dangling-else -Wno-packed-not-aligned" -export CFLAGS="${CXXFLAGS}" -export CXXFLAGS="${CXXFLAGS} -Wno-subobject-linkage -Wno-class-memaccess -Wno-invalid-offsetof -fpermissive" %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150500 || 0%{?fedora} export CC=gcc export CXX=g++ +export AR=gcc-ar +export NM=gcc-nm +export RANLIB=gcc-ranlib %else export CC=gcc-10 export CXX=g++-10 +export AR=gcc-ar-10 +export NM=gcc-nm-10 +export RANLIB=gcc-ranlib-10 %endif # endif with clang %endif -# Needed e.g. for static library creation by base/third_party/dynamic_annotations/ -export AR=ar -export NM=nm -export RANLIB=ranlib # do not eat all memory %limit_build -m 2600 @@ -879,11 +872,15 @@ myconf_gn+=" is_component_ffmpeg=true" myconf_gn+=" use_cups=true" myconf_gn+=" use_aura=true" + + +# These options have been disabled, see chromium-102-compiler.patch # symbol_level=2 is full debug # symbol_level=1 is enough info for stacktraces # symbol_level=0 disable debug -myconf_gn+=" symbol_level=1" -myconf_gn+=" blink_symbol_level=0" +#myconf_gn+=" symbol_level=2" +#myconf_gn+=" blink_symbol_level=1" + myconf_gn+=" use_kerberos=true" myconf_gn+=" enable_vr=false" myconf_gn+=" optimize_webui=false" @@ -1035,7 +1032,7 @@ rsync -av out/Release/gen/node_headers/include/node/* %{buildroot}%{_includedir}/electron %files -%license electron/LICENSE +%license electron/LICENSE electron/chromium_src/LICENSE.chromium third_party/blink/LICENSE_FOR_ABOUT_CREDITS %doc electron/README.md %{_bindir}/electron %{_datadir}/pixmaps/electron.png ++++++ breakpad-system-curl.patch ++++++ --- a/third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h +++ b/third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h @@ -37,7 +37,7 @@ #include <map> #include "common/using_std_string.h" -#include "third_party/curl/curl.h" +#include <curl/curl.h> namespace google_breakpad { class LibcurlWrapper { ++++++ chromium-102-compiler.patch ++++++ --- /var/tmp/diff_new_pack.CaQfXq/_old 2022-08-02 22:09:18.805793504 +0200 +++ /var/tmp/diff_new_pack.CaQfXq/_new 2022-08-02 22:09:18.809793515 +0200 @@ -11,7 +11,7 @@ index d40843b..b92f03b 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -286,9 +286,7 @@ config("compiler") { +@@ -286,9 +286,7 @@ configs += [ # See the definitions below. @@ -21,7 +21,7 @@ ":compiler_codegen", ":compiler_deterministic", ] -@@ -522,31 +520,6 @@ config("compiler") { +@@ -522,31 +520,6 @@ ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } @@ -53,7 +53,17 @@ # Rust compiler setup (for either clang or rustc). if (enable_rust) { defines += [ "RUST_ENABLED" ] -@@ -1232,45 +1205,6 @@ config("compiler_deterministic") { +@@ -880,7 +853,8 @@ + # without using everything that "compiler" brings in. Options that + # tweak code generation for a particular CPU do not belong here! + # See "compiler_codegen", below. +-config("compiler_cpu_abi") { ++config("compiler_cpu_abi") { } ++config("xcompiler_cpu_abi") { + cflags = [] + ldflags = [] + defines = [] +@@ -1232,45 +1206,6 @@ } } @@ -99,7 +109,7 @@ # Tells the compiler not to use absolute paths when passing the default # paths to the tools it invokes. We don't want this because we don't # really need it and it can mess up the goma cache entries. -@@ -1538,15 +1472,6 @@ config("default_warnings") { +@@ -1538,15 +1473,6 @@ cflags += [ "-Wno-deprecated-non-prototype" ] } @@ -115,7 +125,7 @@ if (is_fuchsia) { # TODO(https://bugs.chromium.org/p/fuchsia/issues/detail?id=77383) cflags += [ "-Wno-deprecated-copy" ] -@@ -1615,7 +1540,7 @@ config("chromium_code") { +@@ -1615,7 +1541,7 @@ defines = [ "_HAS_NODISCARD" ] } } else { @@ -124,7 +134,7 @@ if (treat_warnings_as_errors) { cflags += [ "-Werror" ] -@@ -1624,10 +1549,6 @@ config("chromium_code") { +@@ -1624,10 +1550,6 @@ # well. ldflags = [ "-Werror" ] } @@ -135,7 +145,7 @@ # In Chromium code, we define __STDC_foo_MACROS in order to get the # C99 macros on Mac and Linux. -@@ -1636,15 +1557,6 @@ config("chromium_code") { +@@ -1636,15 +1558,6 @@ "__STDC_FORMAT_MACROS", ] @@ -151,7 +161,7 @@ if (is_mac) { cflags_objc = [ "-Wobjc-missing-property-synthesis" ] cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -2035,7 +1947,8 @@ config("default_stack_frames") { +@@ -2035,7 +1948,8 @@ } # Default "optimization on" config. @@ -161,7 +171,7 @@ if (is_win) { if (chrome_pgo_phase != 2) { # Favor size over speed, /O1 must be before the common flags. -@@ -2073,7 +1986,8 @@ config("optimize") { +@@ -2073,7 +1987,8 @@ } # Turn off optimizations. @@ -171,7 +181,7 @@ if (is_win) { cflags = [ "/Od", # Disable optimization. -@@ -2113,7 +2027,8 @@ config("no_optimize") { +@@ -2113,7 +2028,8 @@ # Turns up the optimization level. On Windows, this implies whole program # optimization and link-time code generation which is very expensive and should # be used sparingly. @@ -181,7 +191,7 @@ if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: -@@ -2146,7 +2061,8 @@ config("optimize_max") { +@@ -2146,7 +2062,8 @@ # # TODO(crbug.com/621335) - rework how all of these configs are related # so that we don't need this disclaimer. @@ -191,7 +201,7 @@ if (is_nacl && is_nacl_irt) { # The NaCl IRT is a special case and always wants its own config. # Various components do: -@@ -2172,7 +2088,8 @@ config("optimize_speed") { +@@ -2172,7 +2089,8 @@ } } @@ -201,7 +211,7 @@ cflags = [ "-O1" ] + common_optimize_on_cflags rustflags = [ "-Copt-level=1" ] ldflags = common_optimize_on_ldflags -@@ -2291,7 +2208,8 @@ config("win_pdbaltpath") { +@@ -2291,7 +2209,8 @@ } # Full symbols. @@ -211,7 +221,7 @@ if (is_win) { if (is_clang) { cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2419,7 +2337,8 @@ config("symbols") { +@@ -2419,7 +2338,8 @@ # Minimal symbols. # This config guarantees to hold symbol for stack trace which are shown to user # when crash happens in unittests running on buildbot. @@ -221,7 +231,7 @@ if (is_win) { # Functions, files, and line tables only. cflags = [] -@@ -2492,7 +2411,8 @@ config("minimal_symbols") { +@@ -2492,7 +2412,8 @@ # This configuration contains function names only. That is, the compiler is # told to not generate debug information and the linker then just puts function # names in the final debug information. @@ -231,7 +241,4 @@ if (is_win) { ldflags = [ "/DEBUG" ] --- -2.35.1 - ++++++ create_tarball.sh ++++++ --- /var/tmp/diff_new_pack.CaQfXq/_old 2022-08-02 22:09:18.857793654 +0200 +++ /var/tmp/diff_new_pack.CaQfXq/_new 2022-08-02 22:09:18.861793665 +0200 @@ -142,70 +142,69 @@ pushd "${ELECTRON_PATH}" || cleanup_and_exit 1 + +# TODO: Go through every entry on this list and either remove it, or add an explanation why it's needed. echo ">>>>>> Remove bundled libs" keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/dynamic_annotations - base/third_party/icu - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/valgrind - base/third_party/xdg_mime - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - buildtools/third_party/libunwind - buildtools/third_party/eu-strip - chrome/third_party/mozilla_security_manager - courgette/third_party - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp + base/third_party/cityhash #Derived code, not vendored dependency. + base/third_party/dynamic_annotations #Derived code, not vendored dependency. + base/third_party/icu #Derived code, not vendored dependency. + base/third_party/superfasthash #Not a shared library. + base/third_party/symbolize #Derived code, not vendored dependency. + base/third_party/valgrind #Copy of a private header. + base/third_party/xdg_mime #Seems not to be available as a shared library. + base/third_party/xdg_user_dirs #Derived code, not vendored dependency. + chrome/third_party/mozilla_security_manager #Derived code, not vendored dependency. + courgette/third_party #Derived code, not vendored dependency. + net/third_party/mozilla_security_manager #Derived code, not vendored dependency. + net/third_party/nss #Derived code, not vendored dependency. + net/third_party/quic #Not available as a shared library yet. An old version is in Factory (google-quiche-source) + net/third_party/uri_template #Derived code, not vendored dependency. + third_party/abseil-cpp #15.4 and fc36 too old. + # ANGLE is an integral part of chrome and is not available as a shared library. third_party/angle third_party/angle/src/common/third_party/base third_party/angle/src/common/third_party/smhasher - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/trace_event - third_party/angle/src/third_party/volk - third_party/apple_apsl + # + third_party/angle/src/third_party/libXNVCtrl #Not in Factory yet + third_party/angle/src/third_party/trace_event #Does not seem to be a separate library. + third_party/angle/src/third_party/volk #Not in Factory or Rawhide. Debian has it as vulkan-volk third_party/axe-core - third_party/blink - third_party/boringssl + third_party/blink #Integral part of chrome + third_party/boringssl #Factory has an ancient version, but upstream seems to have gave up on making it a shared library third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4 - third_party/catapult/third_party/html5lib-1.1/ - third_party/catapult/third_party/html5lib-python - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako + third_party/breakpad #Integral part of chrome + # We don't need it (disable-catapult.patch) + #third_party/catapult + #third_party/catapult/common/py_vulcanize/third_party/rcssmin + #third_party/catapult/common/py_vulcanize/third_party/rjsmin + #third_party/catapult/third_party/beautifulsoup4 + #third_party/catapult/third_party/html5lib-1.1/ + #third_party/catapult/third_party/html5lib-python + #third_party/catapult/third_party/polymer + #third_party/catapult/third_party/six + #third_party/catapult/tracing/third_party/d3 + #third_party/catapult/tracing/third_party/gl-matrix + #third_party/catapult/tracing/third_party/jpeg-js + #third_party/catapult/tracing/third_party/jszip + #third_party/catapult/tracing/third_party/mannwhitneyu + #third_party/catapult/tracing/third_party/oboe + #third_party/catapult/tracing/third_party/pako third_party/ced third_party/cld_3 third_party/closure_compiler - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/dav1d - third_party/dawn + third_party/crashpad #Integral part of chrome + third_party/crashpad/crashpad/third_party/lss #Derived code, not vendored dependency. + third_party/crashpad/crashpad/third_party/zlib #Derived code, not vendored dependency. + third_party/crc32c #Not in Leap + third_party/cros_system_api #Integral part of Chrome. Needed. + third_party/dav1d #Leap and fc36 too old + third_party/dawn #Integral part of chrome third_party/dawn/third_party - third_party/depot_tools + third_party/depot_tools #Integral part of chrome third_party/depot_tools/third_party/six third_party/devscripts + #Javascript code, integral part of chrome third_party/devtools-frontend third_party/devtools-frontend/src/front_end/third_party third_party/devtools-frontend/src/front_end/third_party/acorn @@ -223,72 +222,63 @@ third_party/devtools-frontend/src/front_end/third_party/wasmparser third_party/devtools-frontend/src/third_party third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n + # third_party/distributed_point_functions third_party/dom_distiller_js - third_party/eigen3 - third_party/electron_node + #third_party/eigen3 #Used only by tflite which is not used in electron + third_party/electron_node #Integral part of electron third_party/emoji-segmenter third_party/farmhash third_party/fdlibm third_party/fft2d - third_party/flatbuffers - third_party/freetype + third_party/flatbuffers #TODO: Consider unbundling this third_party/fusejs/dist third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/harfbuzz-ng + third_party/harfbuzz-ng #There are new google files within this directory. third_party/harfbuzz-ng/utils - third_party/highway - third_party/hunspell + third_party/highway #Used only by libjxl. Consider unbundling this. + third_party/hunspell #heavily forked version third_party/iccjpeg - third_party/icu third_party/inspector_protocol third_party/jinja2 - third_party/jsoncpp third_party/jstemplate third_party/khronos - third_party/leveldatabase + third_party/leveldatabase #use of private headers third_party/libaddressinput - third_party/libaom + third_party/libaom #version in Factory is too old third_party/libaom/source/libaom/third_party/fastfeat third_party/libaom/source/libaom/third_party/vector third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libgav1 + third_party/libavif #not availabe on 15.3 + third_party/libgav1 #not in Factory yet third_party/libgifcodec - third_party/libjingle - third_party/libjxl - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp + third_party/libjxl #not in Factory yet + third_party/libphonenumber #depends on protobuf + third_party/libsecret #TODO: Consider unbundling this + third_party/libsrtp #Use of private headers third_party/libsync/src third_party/libudev third_party/liburlpattern third_party/libva_protected_content - third_party/libvpx + third_party/libvpx #Use of private headers third_party/libvpx/source/libvpx/third_party/x86inc third_party/libwebm third_party/libx11/src third_party/libxcb-keysyms/keysyms third_party/libxml/chromium - third_party/libyuv + third_party/libyuv #The version in Fedora is too old third_party/libzip third_party/lottie third_party/lss third_party/mako - third_party/maldoca - third_party/maldoca/src/third_party + #third_party/maldoca #integral part of chrome, but not used in electron. + #third_party/maldoca/src/third_party third_party/markupsafe third_party/mesa third_party/metrics_proto - third_party/minigbm third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/node + third_party/nasm #TODO: Check how forked is this and if we can use the system version + third_party/node #javascript code third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 third_party/one_euro_filter third_party/openscreen @@ -300,7 +290,6 @@ third_party/pdfium/third_party/base third_party/pdfium/third_party/bigint third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/libtiff third_party/pdfium/third_party/skia_shared third_party/perfetto third_party/perfetto/protos/third_party/chromium @@ -309,45 +298,43 @@ third_party/polymer third_party/private-join-and-compute third_party/private_membership - third_party/protobuf + third_party/protobuf #Heavily forked. third_party/protobuf/third_party/six third_party/pyjson5 third_party/qcms - third_party/rnnoise + third_party/rnnoise #use of private headers third_party/ruy third_party/s2cellid third_party/securemessage third_party/shell-encryption third_party/simplejson - third_party/skia + third_party/skia #integral part of chrome third_party/skia/include/third_party/skcms/ third_party/skia/include/third_party/vulkan/ third_party/skia/third_party/skcms third_party/skia/third_party/vulkan third_party/smhasher - third_party/speech-dispatcher - third_party/sqlite + third_party/speech-dispatcher #stub header for a dlopened library + third_party/sqlite #heavily forked version third_party/swiftshader - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 - third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 #FC36 too old + third_party/swiftshader/third_party/SPIRV-Tools #FC36 too old third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-10.0 third_party/swiftshader/third_party/llvm-subzero third_party/swiftshader/third_party/marl third_party/swiftshader/third_party/subzero - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d + #third_party/tflite #Not used by electron, but chrome needs it. + #third_party/tflite/src/third_party/eigen3 + #third_party/tflite/src/third_party/fft2d third_party/ukey2 - third_party/usb_ids + third_party/usb_ids #TODO: Consider unbundling this, the version in chrome is ancient third_party/utf third_party/vulkan third_party/wayland third_party/web-animations-js third_party/webdriver third_party/webgpu-cts - third_party/webrtc + third_party/webrtc #Integral part of chrome third_party/webrtc/common_audio/third_party/ooura third_party/webrtc/common_audio/third_party/spl_sqrt_floor third_party/webrtc/modules/third_party/fft @@ -355,8 +342,7 @@ third_party/webrtc/modules/third_party/g722 third_party/webrtc/rtc_base/third_party/base64 third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 + third_party/widevine #Integral part of chrome. Needed. third_party/wuffs third_party/x11proto third_party/xcbproto @@ -381,6 +367,18 @@ # Remove generatted python bytecode find . -type d -name __pycache__ -print0 | xargs -0 rm -rvf find . -type f -name '*.pyc' -print -delete + +echo ">>>>>> Remove non-free binaries" +find . -type f -name "*.node" -print -delete +find . -type f -name "*.dll" -print -delete +find . -type f -name "*.dylib" -print -delete +find . -type f -name "*.so" -print -delete +find . -type f -name "*.o" -print -delete +find . -type f -name "*.a" -print -delete + +find -type f | xargs -P$(nproc) -- sh -c 'file "$@" | grep -v '\'' .*script'\'' | grep '\'' .*executable'\'' | tee /dev/stderr | sed '\''s/: .*//'\'' | xargs rm -fv' + + # Remove empty directories find . -type d -empty -print -delete popd || cleanup_and_exit 1 ++++++ electron-19.0.8.tar.xz -> electron-19.0.9.tar.xz ++++++ /work/SRC/openSUSE:Factory/nodejs-electron/electron-19.0.8.tar.xz /work/SRC/openSUSE:Factory/.nodejs-electron.new.1533/electron-19.0.9.tar.xz differ: char 15, line 1 ++++++ gcc-enable-lto.patch ++++++ --- /var/tmp/diff_new_pack.CaQfXq/_old 2022-08-02 22:09:18.949793919 +0200 +++ /var/tmp/diff_new_pack.CaQfXq/_new 2022-08-02 22:09:18.953793930 +0200 @@ -33,7 +33,7 @@ } +config("gcc_lto") { -+ cflags = [ "-flto" ] ++ cflags = [ "-flto=auto" ] +} + config("default_stack_frames") { ++++++ system-gtest.patch ++++++ We don't need this huge test-only dependency in the tarball. Only one header is needed in prod code, so unbundling is not a problem even on old targets. --- a/testing/gtest/include/gtest/gtest_prod.h +++ b/testing/gtest/include/gtest/gtest_prod.h @@ -10,6 +10,6 @@ // and testing/gmock, instead of directly including files in // third_party/googletest. -#include "third_party/googletest/src/googletest/include/gtest/gtest_prod.h" +#include <gtest/gtest_prod.h> #endif // TESTING_GTEST_INCLUDE_GTEST_GTEST_PROD_H_ \ No newline at end of file