From fa95cc99d9c09df2d9e6988db6614dcd25af46dc Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 14 Sep 2022 15:44:38 -0400 Subject: [PATCH] Update to Node.js 18.9.0 - https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.9.0 - https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.8.0 Signed-off-by: Stephen Gallagher --- 0001-Disable-running-gyp-on-shared-deps.patch | 10 ++-- ...Install-both-binaries-and-use-libdir.patch | 57 ------------------- 0002-build-fix-bad-upstream-merge.patch | 32 +++++++++++ nodejs.spec | 12 ++-- sources | 2 +- 5 files changed, 44 insertions(+), 69 deletions(-) delete mode 100644 0002-Install-both-binaries-and-use-libdir.patch create mode 100644 0002-build-fix-bad-upstream-merge.patch diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 626114d..ce6d590 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,4 +1,4 @@ -From dd53d0b72ade3b5b391cb99d7393658b7e24c91c Mon Sep 17 00:00:00 2001 +From c30f7d6e470a9ef8eafb10b2997889231180754e Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova Date: Fri, 17 Apr 2020 12:59:44 +0200 Subject: [PATCH 1/2] Disable running gyp on shared deps @@ -10,10 +10,10 @@ Signed-off-by: rpm-build 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/Makefile b/Makefile -index e0d756fea3ac356041ecdea678c4628fa8b76de2..c90bfa76231397ea2328613d6335cef0ac784f0f 100644 +index 9c01f8f244ee1904f223d01e31ecfeffc03ea191..133a3d0fcbd22c2dde85a092f84708ddabf8b5f3 100644 --- a/Makefile +++ b/Makefile -@@ -147,7 +147,7 @@ with-code-cache test-code-cache: +@@ -148,7 +148,7 @@ with-code-cache test-code-cache: $(warning '$@' target is a noop) out/Makefile: config.gypi common.gypi node.gyp \ @@ -23,7 +23,7 @@ index e0d756fea3ac356041ecdea678c4628fa8b76de2..c90bfa76231397ea2328613d6335cef0 tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make diff --git a/node.gyp b/node.gyp -index e8227bb22a39fe75eab9c66ad85e1a3579d7628d..6db3c5d1783a3c1b9e2ae283d97b78c531ba862a 100644 +index 347d82d2e1e100227e750934532dce29775f1fdf..2419dc739ea0b1d7efaf5096f86383def4162e3c 100644 --- a/node.gyp +++ b/node.gyp @@ -429,23 +429,6 @@ @@ -51,5 +51,5 @@ index e8227bb22a39fe75eab9c66ad85e1a3579d7628d..6db3c5d1783a3c1b9e2ae283d97b78c5 ], }, # node_core_target_name -- -2.36.1 +2.37.3 diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch deleted file mode 100644 index ef775fe..0000000 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 2fffabf30b24a7237c17a57704a8e99d425e98f5 Mon Sep 17 00:00:00 2001 -From: Elliott Sales de Andrade -Date: Tue, 19 Mar 2019 23:22:40 -0400 -Subject: [PATCH 2/2] Install both binaries and use libdir. - -This allows us to build with a shared library for other users while -still providing the normal executable. - -Signed-off-by: Elliott Sales de Andrade -Signed-off-by: Stephen Gallagher -Signed-off-by: rpm-build ---- - configure.py | 7 +++++++ - tools/install.py | 2 +- - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/configure.py b/configure.py -index e53a83f332ffd60cf7b6fe7e079470a52a43a8de..efdda6afce33201976e3811907bf4d7e3c2d4302 100755 ---- a/configure.py -+++ b/configure.py -@@ -735,6 +735,12 @@ parser.add_argument('--shared', - help='compile shared library for embedding node in another project. ' + - '(This mode is not officially supported for regular applications)') - -+parser.add_argument('--libdir', -+ action='store', -+ dest='libdir', -+ default='lib', -+ help='a directory to install the shared library into') -+ - parser.add_argument('--without-v8-platform', - action='store_true', - dest='without_v8_platform', -@@ -1372,6 +1378,7 @@ def configure_node(o): - o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) - - o['variables']['node_shared'] = b(options.shared) -+ o['variables']['libdir'] = options.libdir - node_module_version = getmoduleversion.get_version() - - if options.dest_os == 'android': -diff --git a/tools/install.py b/tools/install.py -index 5793b581f774db9e2c06495792eb35a3c2f34047..fe16c2bd1f4890919908c7e508451891fce86d0c 100755 ---- a/tools/install.py -+++ b/tools/install.py -@@ -176,7 +176,7 @@ def files(action): - try_symlink(so_name, link_path) - else: - output_lib = 'libnode.' + variables.get('shlib_suffix') -- action([output_prefix + output_lib], 'lib/' + output_lib) -+ action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib) - if 'true' == variables.get('node_use_dtrace'): - action(['out/Release/node.d'], 'lib/dtrace/node.d') - --- -2.36.1 - diff --git a/0002-build-fix-bad-upstream-merge.patch b/0002-build-fix-bad-upstream-merge.patch new file mode 100644 index 0000000..9d7e91d --- /dev/null +++ b/0002-build-fix-bad-upstream-merge.patch @@ -0,0 +1,32 @@ +From 5193cddcee28a721beb589dba2e2165a71c43745 Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher +Date: Wed, 14 Sep 2022 16:23:13 -0400 +Subject: [PATCH 2/2] build: fix bad upstream merge + +The upstream merge of https://github.com/nodejs/node/commit/e27e709d3c +accidentally removed code related to systemtap and dtrace. + +Signed-off-by: Stephen Gallagher +--- + tools/install.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/tools/install.py b/tools/install.py +index 4b01d67da54e1f3dd604e7523a846f6a89f69651..9d5f4a48bca2c926b3ffb3c51c070222d4f7ce7b 100755 +--- a/tools/install.py ++++ b/tools/install.py +@@ -177,6 +177,11 @@ def files(action): + else: + output_lib = 'libnode.' + variables.get('shlib_suffix') + action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib) ++ if 'true' == variables.get('node_use_dtrace'): ++ action(['out/Release/node.d'], 'lib/dtrace/node.d') ++ ++ # behave similarly for systemtap ++ action(['src/node.stp'], 'share/systemtap/tapset/') + + action(['deps/v8/tools/gdbinit'], 'share/doc/node/') + action(['deps/v8/tools/lldb_commands.py'], 'share/doc/node/') +-- +2.37.3 + diff --git a/nodejs.spec b/nodejs.spec index 9d8fbc1..65f1ce6 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -52,7 +52,7 @@ # than a Fedora release lifecycle. %global nodejs_epoch 1 %global nodejs_major 18 -%global nodejs_minor 7 +%global nodejs_minor 9 %global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h @@ -69,7 +69,7 @@ %global v8_major 10 %global v8_minor 2 %global v8_build 154 -%global v8_patch 13 +%global v8_patch 15 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} @@ -81,7 +81,7 @@ %global c_ares_version 1.18.1 # llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_version 6.0.7 +%global llhttp_version 6.0.9 # libuv - from deps/uv/include/uv/version.h %global libuv_version 1.43.0 @@ -110,7 +110,7 @@ # npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_version 8.15.0 +%global npm_version 8.19.1 # In order to avoid needing to keep incrementing the release version for the # main package forever, we will just construct one for npm that is guaranteed @@ -154,8 +154,8 @@ Source7: nodejs_native.attr # Disable running gyp on bundled deps we don't use Patch1: 0001-Disable-running-gyp-on-shared-deps.patch -# Patch to install both node and libnode.so, using the correct libdir -Patch2: 0002-Install-both-binaries-and-use-libdir.patch +# Fix upstream merge error +Patch2: 0002-build-fix-bad-upstream-merge.patch BuildRequires: make BuildRequires: python%{python3_pkgversion}-devel diff --git a/sources b/sources index 39e901a..69a3fcc 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (node-v18.7.0-stripped.tar.gz) = 2f5685b082bdc6b2de97318c5905b57600252eaf977a3a523964dcb625d5564fc11a6b58c7e9f5029c316857aa889bf4f0bd97835bb7695920bba94563cd9667 +SHA512 (node-v18.9.0-stripped.tar.gz) = 855e11d9c118744f19f4aa75b6374b277c60d7eb99f9821807f51849da88fe833ee6cc240722a51fa689e54ae361d536f8283d6c0160f1ad059c41db681e4e21 SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e