diff --git a/0001-Disable-running-gyp-on-shared-deps.patch b/0001-Disable-running-gyp-on-shared-deps.patch index 6d662d3..97eddab 100644 --- a/0001-Disable-running-gyp-on-shared-deps.patch +++ b/0001-Disable-running-gyp-on-shared-deps.patch @@ -1,25 +1,29 @@ -From 0da4decd64a9cbfcf75b2697c722cd6fc82a164d Mon Sep 17 00:00:00 2001 +From dd952f69bcbf0a9947a0629e44c49003dcb9f77f Mon Sep 17 00:00:00 2001 From: Zuzana Svetlikova Date: Fri, 17 Apr 2020 12:59:44 +0200 -Subject: [PATCH] 0001 +Subject: [PATCH 1/2] Disable running gyp on shared deps --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 88166da2a8..f0637b6c78 100644 +index 688ebc550e9d6677f468bb791b5d06d5507d3ab5..b34b49db53a4b0cb4a3867921f5c6fb71ae34bf1 100644 --- a/Makefile +++ b/Makefile -@@ -141,7 +141,7 @@ test-code-cache: with-code-cache - echo "'test-code-cache' target is a noop" +@@ -145,11 +145,11 @@ endif + .PHONY: test-code-cache + with-code-cache test-code-cache: + $(warning '$@' target is a noop) out/Makefile: config.gypi common.gypi node.gyp \ -- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \ -+ deps/http_parser/http_parser.gyp \ +- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ ++ deps/llhttp/llhttp.gyp \ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make + + # node_version.h is listed because the N-API version is taken from there -- -2.25.2 +2.34.1 diff --git a/0002-Install-both-binaries-and-use-libdir.patch b/0002-Install-both-binaries-and-use-libdir.patch index c0613bf..7536349 100644 --- a/0002-Install-both-binaries-and-use-libdir.patch +++ b/0002-Install-both-binaries-and-use-libdir.patch @@ -1,4 +1,4 @@ -From 11512edeb046b64be4daca76f061a3a918251ee0 Mon Sep 17 00:00:00 2001 +From a1c35106e7e9ab3d4a01779079cf9788a2fe777a 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. @@ -7,29 +7,36 @@ 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 --- configure.py | 7 +++++++ - tools/install.py | 29 +++++++++++++---------------- - 2 files changed, 20 insertions(+), 16 deletions(-) + tools/install.py | 21 +++++++++------------ + 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/configure.py b/configure.py -index 6537a62d3954d83927c698db3fb80c9fc05faba7..b9a894bec9e5fd954004bcb423822ca984066dc5 100755 +index 47137d8912dd1439962127a3c1f417eb78572021..c59037a39fcefdfe173d16a7aa9622a32a3c29e7 100755 --- a/configure.py +++ b/configure.py -@@ -571,6 +571,12 @@ parser.add_option('--shared', +@@ -731,10 +731,16 @@ parser.add_argument('--shared', + dest='shared', + default=None, help='compile shared library for embedding node in another project. ' + '(This mode is not officially supported for regular applications)') -+parser.add_option('--libdir', ++parser.add_argument('--libdir', + action='store', + dest='libdir', + default='lib', + help='a directory to install the shared library into') + - parser.add_option('--without-v8-platform', + parser.add_argument('--without-v8-platform', action='store_true', dest='without_v8_platform', -@@ -1105,6 +1111,7 @@ def configure_node(o): + default=False, + help='do not initialize v8 platform during node.js startup. ' + +@@ -1332,10 +1338,11 @@ def configure_node(o): + o['variables']['debug_nghttp2'] = 'false' + o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) o['variables']['node_shared'] = b(options.shared) @@ -37,11 +44,15 @@ index 6537a62d3954d83927c698db3fb80c9fc05faba7..b9a894bec9e5fd954004bcb423822ca9 node_module_version = getmoduleversion.get_version() if options.dest_os == 'android': + shlib_suffix = 'so' + elif sys.platform == 'darwin': diff --git a/tools/install.py b/tools/install.py -index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c049b0503 100755 +index eafcb19bf8b29f87c39b0fe7d3c3fd2d175a7b7b..71b5371578711fcc9a1b80069850f0b61bdfebe2 100755 --- a/tools/install.py +++ b/tools/install.py -@@ -121,26 +121,23 @@ def subdir_files(path, dest, action): +@@ -128,26 +128,23 @@ def subdir_files(path, dest, action): + for subdir, files_in_path in ret.items(): + action(files_in_path, subdir + '/') def files(action): is_windows = sys.platform == 'win32' @@ -60,16 +71,8 @@ index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c - output_file += '.dll' - else: - output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix') -- # GYP will output to lib.target except on OS X, this is hardcoded -- # in its source - see the _InstallableTargetInstallPath function. -- if sys.platform != 'darwin': -- output_prefix += 'lib.target/' + output_bin = 'node' + output_lib = 'libnode.' + variables.get('shlib_suffix') -+ # GYP will output to lib.target except on OS X, this is hardcoded -+ # in its source - see the _InstallableTargetInstallPath function. -+ if sys.platform != 'darwin': -+ output_libprefix += 'lib.target/' - if 'false' == variables.get('node_shared'): - action([output_prefix + output_file], 'bin/' + output_file) @@ -81,6 +84,8 @@ index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c if 'true' == variables.get('node_use_dtrace'): action(['out/Release/node.d'], 'lib/dtrace/node.d') + + # behave similarly for systemtap -- -2.24.1 +2.34.1 diff --git a/0003-Make-AARCH64-compile-on-64KB-physical-pages.patch b/0003-Make-AARCH64-compile-on-64KB-physical-pages.patch index c276904..64086ef 100644 --- a/0003-Make-AARCH64-compile-on-64KB-physical-pages.patch +++ b/0003-Make-AARCH64-compile-on-64KB-physical-pages.patch @@ -1,4 +1,4 @@ -From 8a189060f6e5f969fc331f4531f31c319d654639 Mon Sep 17 00:00:00 2001 +From 5505740fae0a3fae384d8dec817ecd8c43c6dd23 Mon Sep 17 00:00:00 2001 From: hht8 Date: Mon, 4 Jan 2021 09:14:35 +0800 Subject: [PATCH] Make AARCH64 compile on 64KB physical pages @@ -8,18 +8,18 @@ Subject: [PATCH] Make AARCH64 compile on 64KB physical pages 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/v8/src/base/build_config.h b/deps/v8/src/base/build_config.h -index f430082..098e36f 100644 +index d7a0c9f3..1625cfe5 100644 --- a/deps/v8/src/base/build_config.h +++ b/deps/v8/src/base/build_config.h -@@ -202,7 +202,7 @@ - #endif +@@ -227,7 +227,7 @@ constexpr int kReturnAddressStackSlotCount = + V8_TARGET_ARCH_STORES_RETURN_ADDRESS_ON_STACK ? 1 : 0; // Number of bits to represent the page size for paged spaces. -#if defined(V8_TARGET_ARCH_PPC) || defined(V8_TARGET_ARCH_PPC64) +#if defined(V8_TARGET_ARCH_PPC) || defined(V8_TARGET_ARCH_PPC64) || defined(V8_TARGET_ARCH_ARM64) // PPC has large (64KB) physical pages. const int kPageSizeBits = 19; - #else + #elif defined(ENABLE_HUGEPAGE) -- -2.23.0 +2.31.1 diff --git a/0004-use-getauxval-in-node_main_cc.patch b/0004-use-getauxval-in-node_main_cc.patch deleted file mode 100644 index b1c67ae..0000000 --- a/0004-use-getauxval-in-node_main_cc.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 7232c2a1604d241ce0455d919ba9b0b8e9959f81 Mon Sep 17 00:00:00 2001 -From: Daniel Bevenius -Date: Tue, 2 Jun 2020 05:33:25 +0200 -Subject: [PATCH] src: use getauxval in node_main.cc - -This commit suggests using getauxval in node_main.cc. - -The motivation for this is that getauxval was introduced in glibc 2.16 -and looking at BUILDING.md, in the 'Platform list' section, it looks -like we now support glibc >= 2.17 and perhaps this change would be -alright now. - -PR-URL: https://github.com/nodejs/node/pull/33693 -Refs: https://github.com/nodejs/node/pull/12548 -Reviewed-By: Ben Noordhuis -Reviewed-By: David Carlier -Reviewed-By: Anna Henningsen -Reviewed-By: Colin Ihrig -Reviewed-By: James M Snell ---- - src/node_main.cc | 18 ++---------------- - 1 file changed, 2 insertions(+), 16 deletions(-) - -diff --git a/src/node_main.cc b/src/node_main.cc -index 9f4ea22d12c6..6bac10759325 100644 ---- a/src/node_main.cc -+++ b/src/node_main.cc -@@ -89,13 +89,7 @@ int wmain(int argc, wchar_t* wargv[]) { - #else - // UNIX - #ifdef __linux__ --#include --#ifdef __LP64__ --#define Elf_auxv_t Elf64_auxv_t --#else --#define Elf_auxv_t Elf32_auxv_t --#endif // __LP64__ --extern char** environ; -+#include - #endif // __linux__ - #if defined(__POSIX__) && defined(NODE_SHARED_MODE) - #include -@@ -124,15 +118,7 @@ int main(int argc, char* argv[]) { - #endif - - #if defined(__linux__) -- char** envp = environ; -- while (*envp++ != nullptr) {} -- Elf_auxv_t* auxv = reinterpret_cast(envp); -- for (; auxv->a_type != AT_NULL; auxv++) { -- if (auxv->a_type == AT_SECURE) { -- node::per_process::linux_at_secure = auxv->a_un.a_val; -- break; -- } -- } -+ node::per_process::linux_at_secure = getauxval(AT_SECURE); - #endif - // Disable stdio buffering, it interacts poorly with printf() - // calls elsewhere in the program (e.g., any logging from V8.) - diff --git a/0005-The-third-party-software-jinja2-support-python-3.10.0.patch b/0005-The-third-party-software-jinja2-support-python-3.10.0.patch deleted file mode 100644 index 0705ba3..0000000 --- a/0005-The-third-party-software-jinja2-support-python-3.10.0.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Nur a/deps/v8/third_party/jinja2/tests.py b/deps/v8/third_party/jinja2/tests.py ---- a/deps/v8/third_party/jinja2/tests.py 2020-09-15 15:08:49.000000000 +0800 -+++ b/deps/v8/third_party/jinja2/tests.py 2022-04-15 11:37:42.109184439 +0800 -@@ -10,7 +10,7 @@ - """ - import operator - import re --from collections import Mapping -+from collections.abc import Mapping - from jinja2.runtime import Undefined - from jinja2._compat import text_type, string_types, integer_types - import decimal -diff -Nur a/tools/inspector_protocol/jinja2/tests.py b/tools/inspector_protocol/jinja2/tests.py ---- a/tools/inspector_protocol/jinja2/tests.py 2020-09-15 15:08:50.000000000 +0800 -+++ b/tools/inspector_protocol/jinja2/tests.py 2022-04-15 11:38:31.877761944 +0800 -@@ -10,7 +10,7 @@ - """ - import operator - import re --from collections import Mapping -+from collections.abc import Mapping - from jinja2.runtime import Undefined - from jinja2._compat import text_type, string_types, integer_types - import decimal diff --git a/icu4c-67_1-src.tgz b/icu4c-67_1-src.tgz deleted file mode 100644 index 972047a..0000000 Binary files a/icu4c-67_1-src.tgz and /dev/null differ diff --git a/icu4c-70_1-data-bin-l.zip b/icu4c-70_1-data-bin-l.zip new file mode 100644 index 0000000..2ebf7db Binary files /dev/null and b/icu4c-70_1-data-bin-l.zip differ diff --git a/node-v12.22.11.tar.gz b/node-v16.15.0.tar.gz similarity index 72% rename from node-v12.22.11.tar.gz rename to node-v16.15.0.tar.gz index 329b4e7..b65f5fa 100644 Binary files a/node-v12.22.11.tar.gz and b/node-v16.15.0.tar.gz differ diff --git a/nodejs.spec b/nodejs.spec index 6a475c2..0eeb540 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -1,20 +1,20 @@ %bcond_with bootstrap -%global baserelease 5 +%global baserelease 1 %{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} %global nodejs_epoch 1 -%global nodejs_major 12 -%global nodejs_minor 22 -%global nodejs_patch 11 +%global nodejs_major 16 +%global nodejs_minor 15 +%global nodejs_patch 0 %global nodejs_abi %{nodejs_major}.%{nodejs_minor} -%global nodejs_soversion 72 +%global nodejs_soversion 93 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease} %global nodejs_datadir %{_datarootdir}/nodejs %global v8_epoch 2 -%global v8_major 7 -%global v8_minor 8 -%global v8_build 279 -%global v8_patch 23 +%global v8_major 9 +%global v8_minor 4 +%global v8_build 146 +%global v8_patch 24 %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} %global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} @@ -26,8 +26,8 @@ %global http_parser_minor 9 %global http_parser_patch 4 %global http_parser_version %{http_parser_major}.%{http_parser_minor}.%{http_parser_patch} -%global llhttp_major 2 -%global llhttp_minor 1 +%global llhttp_major 6 +%global llhttp_minor 0 %global llhttp_patch 4 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch} %global libuv_major 1 @@ -35,10 +35,10 @@ %global libuv_patch 0 %global libuv_version %{libuv_major}.%{libuv_minor}.%{libuv_patch} %global nghttp2_major 1 -%global nghttp2_minor 41 +%global nghttp2_minor 47 %global nghttp2_patch 0 %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch} -%global icu_major 67 +%global icu_major 70 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor} %global icudatadir %{nodejs_datadir}/icudata @@ -50,13 +50,13 @@ %global punycode_patch 0 %global punycode_version %{punycode_major}.%{punycode_minor}.%{punycode_patch} %global npm_epoch 1 -%global npm_major 6 -%global npm_minor 14 -%global npm_patch 16 +%global npm_major 8 +%global npm_minor 5 +%global npm_patch 5 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} %global uvwasi_major 0 %global uvwasi_minor 0 -%global uvwasi_patch 11 +%global uvwasi_patch 12 %global uvwasi_version %{uvwasi_major}.%{uvwasi_minor}.%{uvwasi_patch} %global histogram_major 0 %global histogram_minor 9 @@ -76,24 +76,21 @@ URL: http://nodejs.org/ Source0: https://nodejs.org/dist/v%{version}/node-v%{version}.tar.gz Source1: npmrc Source2: btest402.js -Source3: https://github.com/unicode-org/icu/releases/download/release-%{icu_major}-%{icu_minor}/icu4c-%{icu_major}_%{icu_minor}-src.tgz +Source3: https://github.com/unicode-org/icu/releases/download/release-%{icu_major}-%{icu_minor}/icu4c-%{icu_major}_%{icu_minor}-data-bin-l.zip Source7: nodejs_native.attr Patch0001: 0001-Disable-running-gyp-on-shared-deps.patch Patch0002: 0002-Install-both-binaries-and-use-libdir.patch Patch0003: 0003-Make-AARCH64-compile-on-64KB-physical-pages.patch -Patch0004: 0004-use-getauxval-in-node_main_cc.patch -#https://github.com/nodejs/node/pull/40296 -Patch0005: 0005-The-third-party-software-jinja2-support-python-3.10.0.patch Patch0006: CVE-2022-43548-pre-1.patch Patch0007: CVE-2022-43548-pre-2.patch Patch0008: CVE-2022-43548.patch -BuildRequires: python3-devel -BuildRequires: zlib-devel -BuildRequires: brotli-devel -BuildRequires: gcc >= 6.3.0 -BuildRequires: gcc-c++ >= 6.3.0 +BuildRequires: python3-devel python3-setuptools make +BuildRequires: zlib-devel python3-jinja2 +BuildRequires: brotli-devel python3-unversioned-command +BuildRequires: gcc >= 8.3.0 jq +BuildRequires: gcc-c++ >= 8.3.0 unzip BuildRequires: nodejs-packaging BuildRequires: chrpath BuildRequires: libatomic @@ -106,13 +103,12 @@ Provides: bundled(nghttp2) = %{nghttp2_version} BuildRequires: systemtap-sdt-devel BuildRequires: libuv-devel >= 1:%{libuv_version} Requires: libuv >= 1:%{libuv_version} -BuildRequires: libnghttp2-devel >= %{nghttp2_version} -Requires: libnghttp2 >= %{nghttp2_version} -Provides: bundled(http-parser) = %{http_parser_version} +Provides: bundled(nghttp2) = %{nghttp2_version} Provides: bundled(llhttp) = %{llhttp_version} %endif -BuildRequires: compat-openssl11-devel >= %{openssl_minimum} +BuildRequires: openssl-devel >= %{openssl_minimum} +Requires: openssl >= %{openssl_minimum} Requires: ca-certificates Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release} Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} @@ -143,7 +139,7 @@ real-time applications that run across distributed devices. Summary: JavaScript runtime - development headers Group: Development/Languages Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} -Requires: compat-openssl11-devel%{?_isa} +Requires: openssl-devel%{?_isa} Requires: zlib-devel%{?_isa} Requires: brotli-devel%{?_isa} Requires: nodejs-packaging @@ -224,12 +220,13 @@ The API documentation for the Node.js JavaScript runtime. %prep %autosetup -p1 -n node-v%{nodejs_version} rm -rf deps/zlib -rm -rf deps/brotli rm -rf deps/openssl +rm -rf deps/brotli +rm -rf deps/v8/third_party/jinja2 +rm -rf tools/inspector_protocol/jinja2 pathfix.py -i %{__python3} -pn $(find -type f ! -name "*.js") find . -type f -exec sed -i "s~/usr\/bin\/env python~/usr/bin/python3~" {} \; find . -type f -exec sed -i "s~/usr\/bin\/python\W~/usr/bin/python3~" {} \; -sed -i "s~python~python3~" $(find . -type f | grep "gyp$") sed -i "s~usr\/bin\/python2~usr\/bin\/python3~" ./deps/v8/tools/gen-inlining-tests.py sed -i "s~usr\/bin\/python.*$~usr\/bin\/python3~" ./deps/v8/tools/mb/mb_unittest.py find . -type f -exec sed -i "s~python -c~python3 -c~" {} \; @@ -277,35 +274,15 @@ export LDFLAGS="%{build_ldflags}" --shared-zlib \ --shared-brotli \ --shared-libuv \ - --shared-nghttp2 \ --with-dtrace \ --with-intl=small-icu \ --with-icu-default-data-dir=%{icudatadir} \ - --debug-nghttp2 \ + --without-corepack \ --openssl-use-def-ca-store %endif make BUILDTYPE=Release %{?_smp_mflags} -pushd deps/ -tar xfz %SOURCE3 - -pushd icu/source -mkdir -p converted -%if 0%{?little_endian} -install -Dpm0644 data/in/icudt%{icu_major}l.dat converted/ -%else -mkdir -p data/out/tmp -%configure -%make_build -icu_root=$(pwd) -LD_LIBRARY_PATH=./lib ./bin/icupkg -tb data/in/icudt%{icu_major}l.dat \ - converted/icudt%{icu_major}b.dat -%endif - -popd -popd - %install rm -rf %{buildroot} @@ -317,8 +294,9 @@ ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/libnode.so for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do header=$(basename ${header}) - ln -s %{_includedir}/node/${header} %{buildroot}%{_includedir}/${header} + ln -s ./node/${header} %{buildroot}%{_includedir}/${header} done +ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc for soname in libv8 libv8_libbase libv8_libplatform; do ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} @@ -363,7 +341,7 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ -executable -type f \ -exec chmod -x {} \; -chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp +chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js mkdir -p %{buildroot}%{_sysconfdir} @@ -372,45 +350,20 @@ cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc mkdir -p %{buildroot}%{_prefix}/etc ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc -install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/* +mkdir -p %{buildroot}%{icudatadir} +unzip -d %{buildroot}%{icudatadir} %{SOURCE3} icudt%{icu_major}l.dat %check LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8.replace(/-node\.\d+$/, ''), '%{v8_version}')" LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" + LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"punycode\").version, '%{punycode_version}')" -NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"npm\").version, '%{npm_version}')" + +LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/npm version --json |jq -e '.npm == "%{npm_version}"' + NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} -%pretrans -n npm -p -path = "%{_prefix}/lib/node_modules/npm/man" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end - -%pretrans -n v8-devel -p -path = "%{_includedir}/libplatform" -st = posix.stat(path) -if st and st.type == "directory" then - status = os.rename(path, path .. ".rpmmoved") - if not status then - suffix = 0 - while not status do - suffix = suffix + 1 - status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) - end - os.rename(path, path .. ".rpmmoved") - end -end %files %{_bindir}/node @@ -453,9 +406,9 @@ end %{_includedir}/libplatform %{_includedir}/v8*.h %{_libdir}/libv8.so +%{_includedir}/cppgc %{_libdir}/libv8_libbase.so %{_libdir}/libv8_libplatform.so -%ghost %{_includedir}/libplatform.rpmmoved %files -n npm %{_bindir}/npm @@ -469,26 +422,29 @@ end %doc %{_mandir}/man5/folders.5* %doc %{_mandir}/man5/install.5* %doc %{_mandir}/man5/npmrc.5* +%doc %{_mandir}/man5/npm-shrinkwrap-json.5* %doc %{_mandir}/man5/package-json.5* %doc %{_mandir}/man5/package-lock-json.5* -%doc %{_mandir}/man5/package-locks.5* -%doc %{_mandir}/man5/shrinkwrap-json.5* %doc %{_mandir}/man7/config.7* %doc %{_mandir}/man7/developers.7* -%doc %{_mandir}/man7/disputes.7* %doc %{_mandir}/man7/orgs.7* +%doc %{_mandir}/man7/logging.7* %doc %{_mandir}/man7/registry.7* %doc %{_mandir}/man7/removal.7* %doc %{_mandir}/man7/scope.7* %doc %{_mandir}/man7/scripts.7* -%doc %{_mandir}/man7/semver.7* +%doc %{_mandir}/man7/workspaces.7* %files docs %dir %{_pkgdocdir} +%doc doc %{_pkgdocdir}/html %{_pkgdocdir}/npm/docs %changelog +* Fri Feb 10 2023 liyanan - 1:16.15.0-1 +- Update to 16.15.0 + * Fri Feb 03 2023 yaoxin - 1:12.22.11-5 - Fix build failed due to openssl update to 3.0