From 89a36539802195a0ab44bab4bc26535cf43a6480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Wed, 25 Sep 2024 16:04:57 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 nodejs20 revision 594a05a5e1c35b91cb79e7d826afa4c3 --- SHASUMS256.txt | 82 +++++----- SHASUMS256.txt.sig | Bin 438 -> 438 bytes c-ares-fixes.patch | 46 ------ cares_sle12_capabilities.patch | 22 +++ fix_ci_tests.patch | 83 +++++----- node-gyp-addon-gypi.patch | 50 +++++- node-v20.11.1.tar.xz | 3 - node-v20.15.1.tar.xz | 3 + nodejs-libpath.patch | 48 +++--- nodejs20.changes | 76 +++++++++- nodejs20.spec | 268 +++++++++++++++++---------------- npm_search_paths.patch | 18 +-- skip_no_console.patch | 29 ---- versioned.patch | 135 +++++++++-------- 14 files changed, 461 insertions(+), 402 deletions(-) delete mode 100644 c-ares-fixes.patch create mode 100644 cares_sle12_capabilities.patch delete mode 100644 node-v20.11.1.tar.xz create mode 100644 node-v20.15.1.tar.xz delete mode 100644 skip_no_console.patch diff --git a/SHASUMS256.txt b/SHASUMS256.txt index 39d4371..59fcf8b 100644 --- a/SHASUMS256.txt +++ b/SHASUMS256.txt @@ -1,41 +1,41 @@ -43a881788549e1b3425eb5f2b92608f438f146e08213de09c5bd5ff841cae7ae node-v20.11.1-aix-ppc64.tar.gz -3f8e77b775372c0b27d2b85ce899d80339691f480e64dde43d4eb01504a58679 node-v20.11.1-arm64.msi -e0065c61f340e85106a99c4b54746c5cee09d59b08c5712f67f99e92aa44995d node-v20.11.1-darwin-arm64.tar.gz -fd771bf3881733bfc0622128918ae6baf2ed1178146538a53c30ac2f7006af5b node-v20.11.1-darwin-arm64.tar.xz -c52e7fb0709dbe63a4cbe08ac8af3479188692937a7bd8e776e0eedfa33bb848 node-v20.11.1-darwin-x64.tar.gz -ed69f1f300beb75fb4cad45d96aacd141c3ddca03b6d77c76b42cb258202363d node-v20.11.1-darwin-x64.tar.xz -0aa42c91b441e945ff43bd3a837759c58b436de57dcd033d02e5cbcd2fba1f87 node-v20.11.1-headers.tar.gz -edce238817acf5adce3123366b55304aff2a1f0849231d1b49f42370e454b6f8 node-v20.11.1-headers.tar.xz -e34ab2fc2726b4abd896bcbff0250e9b2da737cbd9d24267518a802ed0606f3b node-v20.11.1-linux-arm64.tar.gz -c957f29eb4e341903520caf362534f0acd1db7be79c502ae8e283994eed07fe1 node-v20.11.1-linux-arm64.tar.xz -e42791f76ece283c7a4b97fbf716da72c5128c54a9779f10f03ae74a4bcfb8f6 node-v20.11.1-linux-armv7l.tar.gz -28e0120d2d150a8f41717899d33167b8b32053778665583d49ff971bfd188d1b node-v20.11.1-linux-armv7l.tar.xz -9823305ac3a66925a9b61d8032f6bbb4c3e33c28e7f957ebb27e49732feffb23 node-v20.11.1-linux-ppc64le.tar.gz -51343cacf5cdf5c4b5e93e919d19dd373d6ef43d5f2c666eae299f26e31d08b5 node-v20.11.1-linux-ppc64le.tar.xz -4c66b2f247fdd8720853321526d7cda483018fcb32014b75c30f3a54ecacaea7 node-v20.11.1-linux-s390x.tar.gz -b32616b705cd0ddbb230b95c693e3d7a37becc2ced9bcadea8dc824cceed6be0 node-v20.11.1-linux-s390x.tar.xz -bf3a779bef19452da90fb88358ec2c57e0d2f882839b20dc6afc297b6aafc0d7 node-v20.11.1-linux-x64.tar.gz -d8dab549b09672b03356aa2257699f3de3b58c96e74eb26a8b495fbdc9cf6fbe node-v20.11.1-linux-x64.tar.xz -f1cd449fcbeb1b948e8498cb8edd9655fa319d109a7f4c5bd96a9b122b91538a node-v20.11.1-win-arm64.7z -e85461ec124956a2853c4ee6e13c4f4889d63c88beb3d530c1ee0c4b51dc10e7 node-v20.11.1-win-arm64.zip -fb9b5348259988a562a48eed7349e7e716c0bec78d98ad0a336b2993a8b3bf34 node-v20.11.1-win-x64.7z -bc032628d77d206ffa7f133518a6225a9c5d6d9210ead30d67e294ff37044bda node-v20.11.1-win-x64.zip -c2b1863d8979546804a39fc63d0a9bc9c6e49cb2f6c9d1e52844a24629b24765 node-v20.11.1-win-x86.7z -b98e95f78416d1359b647cfa09ba2a48b76d41b56a776df822bf36ffe8e76a2d node-v20.11.1-win-x86.zip -c54f5f7e2416e826fd84e878f28e3b53363ae9c3f60a140af4434b2453b5ae89 node-v20.11.1-x64.msi -63e2aed4dabb96eed6903a3974e006d3c29c218472aac60ae3c3c7de00df13b1 node-v20.11.1-x86.msi -c46019a095a1549d000e85da13f17972a448e0be5854a51786ecccde7278a012 node-v20.11.1.pkg -4af1ba6ea848cc05908b8a62b02fb27684dd52b2a7988ee82b0cfa72deb90b94 node-v20.11.1.tar.gz -77813edbf3f7f16d2d35d3353443dee4e61d5ee84d9e3138c7538a3c0ca5209e node-v20.11.1.tar.xz -a5a9d30a8f7d56e00ccb27c1a7d24c8d0bc96a2689ebba8eb7527698793496f1 win-arm64/node.exe -93529170cebe57c0f4830a4cc6a261b6cc9bcf0cd8b3e88ac4995a5015031d79 win-arm64/node.lib -c14c6e927406b8683cbfb8a67ca4c8fd5093ca7812b5b1627e3d6a53d3674565 win-arm64/node_pdb.7z -68034cd09d8dfaa755d1b280da13e20388cc486ac57b037b3e11dfe2d6b74284 win-arm64/node_pdb.zip -bc585910690318aaebe3c57669cb83ca9d1e5791efd63195e238f54686e6c2ec win-x64/node.exe -53a982d490cb9fcc4b231a8b95147de423b36186bc6f4ba5697b20117fdcbd5d win-x64/node.lib -ccac9f2f5219ed858aeddb306d6493478ba9675c7cbf009e83742437d6752c4f win-x64/node_pdb.7z -bec5da4035c84580843978a59ef9bcc1c0eaca881cf9e1c94e63a1862cf14421 win-x64/node_pdb.zip -3829137e062b1e2eb9947ef05e4b717ae578a8fce1c5c60fe4f6ae7ef2ec0240 win-x86/node.exe -c5321bb65dcecb3989f9b8f6ec56369c16627ca4bade0c78afb6b88f7dde50e4 win-x86/node.lib -20ca60ced1fc21f15ea952b4406aec6bde39d20eab11cf042040628841b2249e win-x86/node_pdb.7z -bef05cebedce5949ae35e87e7d4789c16fa73caf478483fcf92e5dbb9ba5d774 win-x86/node_pdb.zip +dd24c8b6fdaf46361e130c894fd7282266f944b54196636e6df583fdec1e836f node-v20.15.1-aix-ppc64.tar.gz +9cbfc9d496427893505f8cb81aa4c1554fe449881cb4a6c5410e494c5fc36674 node-v20.15.1-arm64.msi +4743bc042f90ba5d9edf09403207290a9cdd2f6061bdccf7caaa0bbfd49f343e node-v20.15.1-darwin-arm64.tar.gz +106ad5288f1da94bf25cf9fba4a070b442e3213e25ce8af3ad35bf6e266213f6 node-v20.15.1-darwin-arm64.tar.xz +f5379772ffae1404cfd1fcc8cf0c6c5971306b8fb2090d348019047306de39dc node-v20.15.1-darwin-x64.tar.gz +34ad01b42025f72d486f9775a2f170913ad6b9fe2d4ceb67746a08de0e475b88 node-v20.15.1-darwin-x64.tar.xz +8c2305c6df5d14525e0711f0da38295600987df4c2710c738c01400862a176b4 node-v20.15.1-headers.tar.gz +d6e4f101f8734f96be558ad4b84a35a81f33decc050a7d2d8e5b39573b79bdf8 node-v20.15.1-headers.tar.xz +8554c91ccd32782351035d3a9b168ad01c6922480800a21870fc5d6d86c2bb70 node-v20.15.1-linux-arm64.tar.gz +10d47a46ef208b3e4b226e4d595a82659123b22397ed77b7975d989114ec317e node-v20.15.1-linux-arm64.tar.xz +2c16717da7d2d7b00f6af146cdf436a0297cbcee52c85b754e4c9ed7cee34b51 node-v20.15.1-linux-armv7l.tar.gz +7bc120efdd8018f6915471b963d9b80adf4ed406d6dc9edb4ae944b85f505c4c node-v20.15.1-linux-armv7l.tar.xz +b91df4971b428f9cb2fbe427c919ad382c4cd206a85e5c918c60c15f1e3d2e32 node-v20.15.1-linux-ppc64le.tar.gz +b33e684802251397ad62ad3f8a1836267ee8b7723f87f669470018ad0035287b node-v20.15.1-linux-ppc64le.tar.xz +393f511b5623c8a872e58203914a54bc7e086b8ca870d34833766d4f9c4e2448 node-v20.15.1-linux-s390x.tar.gz +e2c36cdccc8a7c1000a349dd6fea8b0ce39884eae7b3dd1950d0105120f20848 node-v20.15.1-linux-s390x.tar.xz +a9db028c0a1c63e3aa0d97de24b0966bc507d8239b3aedc4e752eea6b0580665 node-v20.15.1-linux-x64.tar.gz +26700f8d3e78112ad4a2618a9c8e2816e38a49ecf0213ece80e54c38cb02563f node-v20.15.1-linux-x64.tar.xz +4f437463e708c4c7faaa436bed46c3ea814ec3796cfe1e02515ab21d2038b4b1 node-v20.15.1-win-arm64.7z +6cc4f9ca826f5b3e0c555d156bc6adcc371bd96c2874ee748d0f97e2938d3c2b node-v20.15.1-win-arm64.zip +5dbaf27053a0566395f81ebe9e4660141de1bc7b0fe80583447bb36804643f75 node-v20.15.1-win-x64.7z +ba6c3711e2c3d0638c5f7cea3c234553808a73c52a5962a6cdb47b5210b70b04 node-v20.15.1-win-x64.zip +2281b04df475efa64ef483529fc9cad1715d42d5766e68541b64970297247692 node-v20.15.1-win-x86.7z +9a08021e4bcc4694bc72d00ce1ce0686e6de6a9a855678239625f96b09c70b07 node-v20.15.1-win-x86.zip +b139ba1b82807918af40fbed49a5b529f67ba198e87bcabdac907b734ff83ab5 node-v20.15.1-x64.msi +6079df4ab0d457180b4b730fab76d0b60b14342d797cc10a4f2d7c8b61fba584 node-v20.15.1-x86.msi +93b9549a65d459cc2e035c0d583101f827607f43376b5f23a3a2a900f5467321 node-v20.15.1.pkg +da228a0c27922f02001d9a781793696432096ab2da658eb77d7fc21693f4c5cb node-v20.15.1.tar.gz +fdd53a5729d936691a2a1151046fb4897721cb8b0fca2af957823a9b40fe0c34 node-v20.15.1.tar.xz +8e3f84e8ec7e41f98a048eb0c1365cfe54426a556ead98c4803df45d29e0335d win-arm64/node.exe +a4f01329c1c211082ac3ed387ff6651530040bbf7250ec419ce8f95b10d7804a win-arm64/node.lib +493292505fd7a156b1e7b46c7f05001a0684fba6f734f83abfcf7fed88625453 win-arm64/node_pdb.7z +88d4af538deadf8fa2638df84a76bd7dd26f0aeac8dc584f213da736f322377c win-arm64/node_pdb.zip +229fb64aeb10d3cc18eaaa2f5a4c3f1c81792dd3647c5c4350e142db528d0f89 win-x64/node.exe +87056190b7cd06f40058f8e059efd328cdcc7600b825afa102c0aa5039865af5 win-x64/node.lib +bb2198b381bb5d7bc08e2cdda3db911996e310b944b05cb8c7c271a5a7ab0901 win-x64/node_pdb.7z +316ee3fbbe976981e8ee0b81204aece9d3c2337c83f1644d90bb552c3068ca44 win-x64/node_pdb.zip +6e7f3cbb46569a58babe99de2df8a69e98ad613674d4fed71b1dca866e1a72e8 win-x86/node.exe +fa02ae7feca7eb6c4a0f1b929126df400719f5d18a2ec4b7d12c52fbe0b13814 win-x86/node.lib +e8f6da56c9bc73add71a41c4d5ed92fc6cf9e7c5067d7a0d3f7b9fd6391f07c4 win-x86/node_pdb.7z +1b4e9dbc5a8b0a5121d32351f9654c1ab451e88680982d487a4a6c40d50bd730 win-x86/node_pdb.zip diff --git a/SHASUMS256.txt.sig b/SHASUMS256.txt.sig index 439312bfbc5a7eff5fa29b9c06e38883e0cb5d30..cbe4e01ec6f2dd2c80aea86442f406203e51e6b5 100644 GIT binary patch delta 414 zcmV;P0b%~O1GWQ@B7bI#D@gzf2@s3wwBOHFUi5hC3;Yg9#rW&y~uNo*f0gQLPK(~rpS_Q@Pt-08Qrrj2TI<@vpQb`!GBu%_4|pYd+F81L zX1h`WYGlJ14mU$~CK>qPDyWP8t6C@Z;zQ1e9B=#Bjzp-7XMFBcX|41DvaZq5J0QeT zA)gVZkh5Spr+>>w+XND(PhJ9B=a6l4L|JlEo$+~p;10`&eY!}{r(u%>nJI^@c7Gf8OMn-HZ I4KdoWMYnLt%m4rY delta 414 zcmV;P0b%~O1GWQ@B7bGf`8WUy2@s3wwBOHFUi3303;h_ITQZ#4N4PVoG;aO3CNN*< z4&y^YtR-4iWM|2aLUmYg21fd4;Kf@D(!cU9d)eb2!nGP>n)lufuqQJuzNTmu&QzWG z42u+kRbg$4@BHs|5~z#Ka8ubDH3*O_Nb8ab0F=q)aU>A1JsmWt#Aip`_CQttI` z6xE!p95BVBb!u6}yd{1{FzWB7_=9Re)xYh{4yCi24cp#N8!x5~ zU$~&Hm#F0-{C~W^P42Il8EF8cGzvOTjE z5FKkpj5GaSkGh^%fNsw|z0-3cJ6t#v+oCPow9s=Hmlu?Kr9eg*c$!*h*e{SqPf#No I>#3g8G^97nlK=n! diff --git a/c-ares-fixes.patch b/c-ares-fixes.patch deleted file mode 100644 index f473af0..0000000 --- a/c-ares-fixes.patch +++ /dev/null @@ -1,46 +0,0 @@ -Index: node-v20.11.0/test/parallel/test-dns-resolveany-bad-ancount.js -=================================================================== ---- node-v20.11.0.orig/test/parallel/test-dns-resolveany-bad-ancount.js -+++ node-v20.11.0/test/parallel/test-dns-resolveany-bad-ancount.js -@@ -7,6 +7,8 @@ const dgram = require('dgram'); - const dnsPromises = dns.promises; - - const server = dgram.createSocket('udp4'); -+const resolver = new dns.Resolver({ timeout: 100, tries: 1 }); -+const resolverPromises = new dnsPromises.Resolver({ timeout: 100, tries: 1 }); - - server.on('message', common.mustCall((msg, { address, port }) => { - const parsed = dnstools.parseDNSPacket(msg); -@@ -18,16 +20,20 @@ server.on('message', common.mustCall((ms - questions: parsed.questions, - answers: { type: 'A', address: '1.2.3.4', ttl: 123, domain }, - }); -- // Overwrite the # of answers with 2, which is incorrect. -+ // Overwrite the # of answers with 2, which is incorrect. The response is -+ // discarded in c-ares >= 1.21.0. This is the reason why a small timeout is -+ // used in the `Resolver` constructor. See -+ // https://github.com/nodejs/node/pull/50743#issue-1994909204 - buf.writeUInt16LE(2, 6); - server.send(buf, port, address); - }, 2)); - - server.bind(0, common.mustCall(async () => { - const address = server.address(); -- dns.setServers([`127.0.0.1:${address.port}`]); -+ resolver.setServers([`127.0.0.1:${address.port}`]); -+ resolverPromises.setServers([`127.0.0.1:${address.port}`]); - -- dnsPromises.resolveAny('example.org') -+ resolverPromises.resolveAny('example.org') - .then(common.mustNotCall()) - .catch(common.expectsError({ - // May return EBADRESP or ETIMEOUT -@@ -36,7 +42,7 @@ server.bind(0, common.mustCall(async () - hostname: 'example.org' - })); - -- dns.resolveAny('example.org', common.mustCall((err) => { -+ resolver.resolveAny('example.org', common.mustCall((err) => { - assert.notStrictEqual(err.code, 'SUCCESS'); - assert.strictEqual(err.syscall, 'queryAny'); - assert.strictEqual(err.hostname, 'example.org'); diff --git a/cares_sle12_capabilities.patch b/cares_sle12_capabilities.patch new file mode 100644 index 0000000..22be7df --- /dev/null +++ b/cares_sle12_capabilities.patch @@ -0,0 +1,22 @@ +Index: node-v18.20.1/deps/cares/config/linux/ares_config.h +=================================================================== +--- node-v18.20.1.orig/deps/cares/config/linux/ares_config.h ++++ node-v18.20.1/deps/cares/config/linux/ares_config.h +@@ -116,7 +116,7 @@ + #define HAVE_GETNAMEINFO 1 + + /* Define to 1 if you have `getrandom` */ +-#define HAVE_GETRANDOM 1 ++/* undef #define HAVE_GETRANDOM 1 */ + + /* Define to 1 if you have `getservbyport_r` */ + #define HAVE_GETSERVBYPORT_R 1 +@@ -329,7 +329,7 @@ + #define HAVE_SYS_PARAM_H 1 + + /* Define to 1 if you have the header file. */ +-#define HAVE_SYS_RANDOM_H 1 ++/* undef #define HAVE_SYS_RANDOM_H 1 */ + + /* Define to 1 if you have the header file. */ + #define HAVE_SYS_SELECT_H 1 diff --git a/fix_ci_tests.patch b/fix_ci_tests.patch index 09a58cc..166fbec 100644 --- a/fix_ci_tests.patch +++ b/fix_ci_tests.patch @@ -2,10 +2,10 @@ Author: Adam Majer Date: Dec 20 09:18:49 UTC 2017 Summary: Fix CI unit tests framework for OBS building -Index: node-v20.11.0/test/parallel/test-module-loading-globalpaths.js +Index: node-v20.15.1/test/parallel/test-module-loading-globalpaths.js =================================================================== ---- node-v20.11.0.orig/test/parallel/test-module-loading-globalpaths.js -+++ node-v20.11.0/test/parallel/test-module-loading-globalpaths.js +--- node-v20.15.1.orig/test/parallel/test-module-loading-globalpaths.js ++++ node-v20.15.1/test/parallel/test-module-loading-globalpaths.js @@ -11,6 +11,9 @@ const { addLibraryPath } = require('../c addLibraryPath(process.env); @@ -16,10 +16,10 @@ Index: node-v20.11.0/test/parallel/test-module-loading-globalpaths.js if (process.argv[2] === 'child') { console.log(require(pkgName).string); } else { -Index: node-v20.11.0/test/parallel/test-tls-passphrase.js +Index: node-v20.15.1/test/parallel/test-tls-passphrase.js =================================================================== ---- node-v20.11.0.orig/test/parallel/test-tls-passphrase.js -+++ node-v20.11.0/test/parallel/test-tls-passphrase.js +--- node-v20.15.1.orig/test/parallel/test-tls-passphrase.js ++++ node-v20.15.1/test/parallel/test-tls-passphrase.js @@ -223,7 +223,7 @@ server.listen(0, common.mustCall(functio }, onSecureConnect()); })).unref(); @@ -29,10 +29,10 @@ Index: node-v20.11.0/test/parallel/test-tls-passphrase.js // Missing passphrase assert.throws(function() { -Index: node-v20.11.0/test/parallel/test-repl-envvars.js +Index: node-v20.15.1/test/parallel/test-repl-envvars.js =================================================================== ---- node-v20.11.0.orig/test/parallel/test-repl-envvars.js -+++ node-v20.11.0/test/parallel/test-repl-envvars.js +--- node-v20.15.1.orig/test/parallel/test-repl-envvars.js ++++ node-v20.15.1/test/parallel/test-repl-envvars.js @@ -2,7 +2,9 @@ // Flags: --expose-internals @@ -44,11 +44,19 @@ Index: node-v20.11.0/test/parallel/test-repl-envvars.js const stream = require('stream'); const { describe, test } = require('node:test'); const REPL = require('internal/repl'); -Index: node-v20.11.0/Makefile +Index: node-v20.15.1/Makefile =================================================================== ---- node-v20.11.0.orig/Makefile -+++ node-v20.11.0/Makefile -@@ -545,7 +545,8 @@ test-ci-js: | clear-stalled +--- node-v20.15.1.orig/Makefile ++++ node-v20.15.1/Makefile +@@ -392,7 +392,6 @@ ADDONS_HEADERS_PREREQS := tools/install. + $(wildcard deps/uv/include/*/*.h) \ + $(wildcard deps/v8/include/*.h) \ + $(wildcard deps/v8/include/*/*.h) \ +- deps/zlib/zconf.h deps/zlib/zlib.h \ + src/node.h src/node_api.h src/js_native_api.h src/js_native_api_types.h \ + src/node_api_types.h src/node_buffer.h src/node_object_wrap.h \ + src/node_version.h +@@ -563,7 +562,8 @@ test-ci-js: | clear-stalled .PHONY: test-ci # Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned test-ci: LOGLEVEL := info @@ -58,7 +66,7 @@ Index: node-v20.11.0/Makefile out/Release/cctest --gtest_output=xml:out/junit/cctest.xml $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \ --mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \ -@@ -726,7 +727,8 @@ apidocs_json = $(addprefix out/,$(apidoc +@@ -745,7 +745,8 @@ apidocs_json = $(addprefix out/,$(apidoc apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*))) tools/doc/node_modules: tools/doc/package.json @@ -68,11 +76,11 @@ Index: node-v20.11.0/Makefile echo "Skipping tools/doc/node_modules (no crypto)"; \ else \ cd tools/doc && $(call available-node,$(run-npm-ci)) \ -Index: node-v20.11.0/tools/test.py +Index: node-v20.15.1/tools/test.py =================================================================== ---- node-v20.11.0.orig/tools/test.py -+++ node-v20.11.0/tools/test.py -@@ -1362,7 +1362,7 @@ def BuildOptions(): +--- node-v20.15.1.orig/tools/test.py ++++ node-v20.15.1/tools/test.py +@@ -1386,7 +1386,7 @@ def BuildOptions(): result.add_option("-s", "--suite", help="A test suite", default=[], action="append") result.add_option("-t", "--timeout", help="Timeout in seconds", @@ -81,10 +89,10 @@ Index: node-v20.11.0/tools/test.py result.add_option("--arch", help='The architecture to run tests for', default='none') result.add_option("--snapshot", help="Run the tests with snapshot turned on", -Index: node-v20.11.0/test/parallel/test-crypto-dh.js +Index: node-v20.15.1/test/parallel/test-crypto-dh.js =================================================================== ---- node-v20.11.0.orig/test/parallel/test-crypto-dh.js -+++ node-v20.11.0/test/parallel/test-crypto-dh.js +--- node-v20.15.1.orig/test/parallel/test-crypto-dh.js ++++ node-v20.15.1/test/parallel/test-crypto-dh.js @@ -90,9 +90,7 @@ const crypto = require('crypto'); const hasOpenSSL3WithNewErrorMessage = (v >= 0x300000c0 && v <= 0x30100000) || (v >= 0x30100040 && v <= 0x30200000); assert.throws(() => { @@ -96,10 +104,10 @@ Index: node-v20.11.0/test/parallel/test-crypto-dh.js } } -Index: node-v20.11.0/test/parallel/test-node-output-errors.mjs +Index: node-v20.15.1/test/parallel/test-node-output-errors.mjs =================================================================== ---- node-v20.11.0.orig/test/parallel/test-node-output-errors.mjs -+++ node-v20.11.0/test/parallel/test-node-output-errors.mjs +--- node-v20.15.1.orig/test/parallel/test-node-output-errors.mjs ++++ node-v20.15.1/test/parallel/test-node-output-errors.mjs @@ -28,6 +28,7 @@ describe('errors output', { concurrency: .replaceAll(/\/(\w)/g, '*$1') .replaceAll('*test*', '*') @@ -108,10 +116,10 @@ Index: node-v20.11.0/test/parallel/test-node-output-errors.mjs .replaceAll('file:**', 'file:*/'); } -Index: node-v20.11.0/test/parallel/test-crypto-fips.js +Index: node-v20.15.1/test/parallel/test-crypto-fips.js =================================================================== ---- node-v20.11.0.orig/test/parallel/test-crypto-fips.js -+++ node-v20.11.0/test/parallel/test-crypto-fips.js +--- node-v20.15.1.orig/test/parallel/test-crypto-fips.js ++++ node-v20.15.1/test/parallel/test-crypto-fips.js @@ -3,6 +3,8 @@ const common = require('../common'); if (!common.hasCrypto) @@ -121,25 +129,10 @@ Index: node-v20.11.0/test/parallel/test-crypto-fips.js const assert = require('assert'); const spawnSync = require('child_process').spawnSync; -Index: node-v20.11.0/benchmark/misc/startup-cli-version.js +Index: node-v20.15.1/test/parallel/test-node-output-v8-warning.mjs =================================================================== ---- node-v20.11.0.orig/benchmark/misc/startup-cli-version.js -+++ node-v20.11.0/benchmark/misc/startup-cli-version.js -@@ -10,9 +10,9 @@ const path = require('path'); - // indispensible part of the CLI. - const bench = common.createBenchmark(main, { - cli: [ -- 'tools/node_modules/eslint/bin/eslint.js', - 'deps/npm/bin/npm-cli.js', - 'deps/corepack/dist/corepack.js', -+ 'tools/node_modules/eslint/bin/eslint.js', - ], - count: [30], - }); -Index: node-v20.11.0/test/parallel/test-node-output-v8-warning.mjs -=================================================================== ---- node-v20.11.0.orig/test/parallel/test-node-output-v8-warning.mjs -+++ node-v20.11.0/test/parallel/test-node-output-v8-warning.mjs +--- node-v20.15.1.orig/test/parallel/test-node-output-v8-warning.mjs ++++ node-v20.15.1/test/parallel/test-node-output-v8-warning.mjs @@ -15,7 +15,7 @@ describe('v8 output', { concurrency: tru .replaceAll('*test*', '*') .replaceAll(/.*?\*fixtures\*v8\*/g, '(node:*) V8: *') // Replace entire path before fixtures/v8 diff --git a/node-gyp-addon-gypi.patch b/node-gyp-addon-gypi.patch index 95fb82b..01e50a2 100644 --- a/node-gyp-addon-gypi.patch +++ b/node-gyp-addon-gypi.patch @@ -1,7 +1,7 @@ -Index: node-v20.10.0/addon-rpm.gypi +Index: node-v21.7.1/addon-rpm.gypi =================================================================== --- /dev/null -+++ node-v20.10.0/addon-rpm.gypi ++++ node-v21.7.1/addon-rpm.gypi @@ -0,0 +1,35 @@ +{ + 'target_defaults': { @@ -38,10 +38,10 @@ Index: node-v20.10.0/addon-rpm.gypi + ] + } +} -Index: node-v20.10.0/deps/npm/node_modules/node-gyp/lib/configure.js +Index: node-v21.7.1/deps/npm/node_modules/node-gyp/lib/configure.js =================================================================== ---- node-v20.10.0.orig/deps/npm/node_modules/node-gyp/lib/configure.js -+++ node-v20.10.0/deps/npm/node_modules/node-gyp/lib/configure.js +--- node-v21.7.1.orig/deps/npm/node_modules/node-gyp/lib/configure.js ++++ node-v21.7.1/deps/npm/node_modules/node-gyp/lib/configure.js @@ -36,10 +36,6 @@ async function configure (gyp, argv) { if ('v' + release.version !== process.version) { // if --target was given, then determine a target version to compile for @@ -66,13 +66,47 @@ Index: node-v20.10.0/deps/npm/node_modules/node-gyp/lib/configure.js } return createBuildDir() -@@ -201,7 +203,8 @@ async function configure (gyp, argv) { +@@ -201,8 +203,16 @@ async function configure (gyp, argv) { // this logic ported from the old `gyp_addon` python file const gypScript = path.resolve(__dirname, '..', 'gyp', 'gyp_main.py') - const addonGypi = path.resolve(__dirname, '..', 'addon.gypi') +- let commonGypi = path.resolve(nodeDir, 'include/node/common.gypi') + let addon_gypi_file = gyp.opts.target || gyp.opts.nodedir ? 'addon.gypi' : 'addon-rpm.gypi' -+ var addonGypi = path.resolve(__dirname, '..', addon_gypi_file) - let commonGypi = path.resolve(nodeDir, 'include/node/common.gypi') ++ let addonGypi = path.resolve(__dirname, '..', addon_gypi_file) ++ let commonGypi = path.resolve(nodeDir, 'include/node20/common.gypi') ++ ++ try { ++ await fs.stat(commonGypi) ++ } catch (err) { ++ commonGypi = path.resolve(nodeDir, 'include/node/common.gypi') ++ } ++ try { await fs.stat(commonGypi) + } catch (err) { +Index: node-v21.7.1/deps/npm/node_modules/node-gyp/addon.gypi +=================================================================== +--- node-v21.7.1.orig/deps/npm/node_modules/node-gyp/addon.gypi ++++ node-v21.7.1/deps/npm/node_modules/node-gyp/addon.gypi +@@ -18,6 +18,7 @@ + ], + + 'include_dirs': [ ++ '<(node_root_dir)/include/node20', + '<(node_root_dir)/include/node', + '<(node_root_dir)/src', + '<(node_root_dir)/deps/openssl/config', +Index: node-v21.7.1/tools/build_addons.py +=================================================================== +--- node-v21.7.1.orig/tools/build_addons.py ++++ node-v21.7.1/tools/build_addons.py +@@ -27,7 +27,7 @@ def generate_headers(headers_dir, instal + def rebuild_addons(args): + headers_dir = os.path.abspath(args.headers_dir) + out_dir = os.path.abspath(args.out_dir) +- node_bin = os.path.join(out_dir, 'node') ++ node_bin = os.path.join(out_dir, 'node20') + if args.is_win: + node_bin += '.exe' + diff --git a/node-v20.11.1.tar.xz b/node-v20.11.1.tar.xz deleted file mode 100644 index 886381b..0000000 --- a/node-v20.11.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:77813edbf3f7f16d2d35d3353443dee4e61d5ee84d9e3138c7538a3c0ca5209e -size 42159296 diff --git a/node-v20.15.1.tar.xz b/node-v20.15.1.tar.xz new file mode 100644 index 0000000..f5dd34d --- /dev/null +++ b/node-v20.15.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdd53a5729d936691a2a1151046fb4897721cb8b0fca2af957823a9b40fe0c34 +size 41880412 diff --git a/nodejs-libpath.patch b/nodejs-libpath.patch index 2152360..221f7e5 100644 --- a/nodejs-libpath.patch +++ b/nodejs-libpath.patch @@ -1,49 +1,49 @@ -Index: node-v18.9.0/tools/install.py +Index: node-v20.12.0/tools/install.py =================================================================== ---- node-v18.9.0.orig/tools/install.py -+++ node-v18.9.0/tools/install.py -@@ -7,6 +7,7 @@ import errno +--- node-v20.12.0.orig/tools/install.py ++++ node-v20.12.0/tools/install.py +@@ -6,6 +6,7 @@ import errno import os import shutil import sys +from distutils import sysconfig import re - # set at init time -@@ -66,6 +67,10 @@ def try_copy(path, dst): + def abspath(*args): +@@ -66,6 +67,10 @@ def try_copy(options, path, dest): try_unlink(target_path) # prevent ETXTBSY errors return shutil.copy2(source_path, target_path) -+def libdir(): ++def libdir(options): + libdir_fq = sysconfig.get_config_var("LIBDIR") -+ return re.sub("^" + re.escape(node_prefix + "/"), "", libdir_fq) ++ return re.sub("^" + re.escape(options.prefix + "/"), "", libdir_fq) + - def try_remove(path, dst): - source_path, target_path = mkpaths(path, dst) - print('removing %s' % target_path) -@@ -81,7 +86,7 @@ def uninstall(paths, dst): - try_remove(path, dst) + def try_remove(options, path, dest): + source_path, target_path = mkpaths(options, path, dest) + if not options.silent: +@@ -82,7 +87,7 @@ def uninstall(options, paths, dest): + try_remove(options, path, dest) - def package_files(action, name, bins): -- target_path = 'lib/node_modules/' + name + '/' -+ target_path = libdir() + '/node_modules/' + name + '/' + def package_files(options, action, name, bins): +- target_path = os.path.join('lib/node_modules', name) ++ target_path = os.path.join(libdir(options), 'node_modules', name) # don't install npm if the target path is a symlink, it probably means # that a dev version of npm is installed there -@@ -101,7 +106,7 @@ def package_files(action, name, bins): +@@ -103,7 +108,7 @@ def package_files(options, action, name, if action == uninstall: - action([link_path], 'bin/' + bin_name) + action(options, [link_path], os.path.join('bin', bin_name)) elif action == install: -- try_symlink('../lib/node_modules/' + name + '/' + bin_target, link_path) -+ try_symlink('../' + libdir() + '/node_modules/' + name + '/' + bin_target, link_path) +- try_symlink(options, os.path.join('../lib/node_modules', name, bin_target), link_path) ++ try_symlink(options, os.path.join('..', libdir(options), 'node_modules', name, bin_target), link_path) else: assert 0 # unhandled action type -Index: node-v18.9.0/lib/internal/modules/cjs/loader.js +Index: node-v20.12.0/lib/internal/modules/cjs/loader.js =================================================================== ---- node-v18.9.0.orig/lib/internal/modules/cjs/loader.js -+++ node-v18.9.0/lib/internal/modules/cjs/loader.js -@@ -1254,7 +1254,7 @@ Module._initPaths = function() { +--- node-v20.12.0.orig/lib/internal/modules/cjs/loader.js ++++ node-v20.12.0/lib/internal/modules/cjs/loader.js +@@ -1529,7 +1529,7 @@ Module._initPaths = function() { path.resolve(process.execPath, '..') : path.resolve(process.execPath, '..', '..'); diff --git a/nodejs20.changes b/nodejs20.changes index 25a2725..9e387dd 100644 --- a/nodejs20.changes +++ b/nodejs20.changes @@ -1,3 +1,77 @@ +------------------------------------------------------------------- +Fri Jul 12 13:21:02 UTC 2024 - Adam Majer + +- Update to 20.15.1: + * Bypass incomplete fix of CVE-2024-27980 (bsc#1227560, CVE-2024-36138) + * Bypass network import restriction via data URL (bsc#1227554, CVE-2024-22020) + * fs.lstat bypasses permission model (bsc#1227562, CVE-2024-22018) + * fs.fchown/fchmod bypasses permission model (bsc#1227561, CVE-2024-36137) + * Permission model improperly processes UNC paths (bsc#1227563, CVE-2024-37372) + +- Changes in 20.15.0: + * test_runner: support test plans + * inspector: introduce the --inspect-wait flag + * zlib: expose zlib.crc32() + * cli: allow running wasm in limited vmem with --disable-wasm-trap-handler + +- Changes in 20.14.0 + * src,permission: throw async errors on async APIs + * test_runner: support forced exit + +- fix_ci_tests.patch, npm_search_paths.patch: refreshed +- skip_no_console.patch: dropped, upstreamed + +------------------------------------------------------------------- +Tue May 28 11:56:14 UTC 2024 - Adam Majer + +- Update to 20.13.1: + * buffer: improve base64 and base64url performance + * crypto: deprecate implicitly shortened GCM tags + * events,doc: mark CustomEvent as stable + * fs: add stacktrace to fs/promises + * report: add --report-exclude-network option + * src: add uv_get_available_memory to report and process + * stream: support typed arrays + * util: support array of formats in util.styleText + * v8: implement v8.queryObjects() for memory leak regression testing + * watch: mark as stable + +- versioned.patch: refreshed +- cares_sle12_capabilities.patch: SLES12 compatibility + +------------------------------------------------------------------- +Tue Apr 9 12:30:22 UTC 2024 - Adam Majer + +- Update to 20.12.1: + * CVE-2024-27983 - Assertion failed in node::http2::Http2Session::~Http2Session() + leads to HTTP/2 server crash- (High) (bsc#1222244) + * CVE-2024-27982 - HTTP Request Smuggling via Content Length + Obfuscation- (Medium) (bsc#1222384) + * updated dependencies: + + llhttp version 9.2.1 + + undici version 5.28.4 (bsc#1222530, bsc#1222603, + CVE-2024-30260, CVE-2024-30261) + +- node-gyp-addon-gypi.patch: adapted for new unit test layouts +- fix_ci_tests.patch: add benchmark fix + +------------------------------------------------------------------- +Tue Apr 2 14:39:07 UTC 2024 - Adam Majer + +- Update to 20.12.0: + * crypto: implement crypto.hash() + * util: add loading and parsing environment variables + * new connection attempt events: connectionAttempt, + connectionAttemptFailed, connectionAttemptTimeout + * sea: support embedding assets + * support configurable snapshot through --build-snapshot-config flag + * util.styleText(format, text): This function returns a formatted + text considering the format passed. + * vm: support using the default loader to handle dynamic import() + +- c-ares-fixes.patch: removed, upstreamed +- nodejs-libpath.patch, versioned.patch: refreshed + ------------------------------------------------------------------- Fri Feb 16 16:04:46 UTC 2024 - Adam Majer @@ -11,7 +85,7 @@ Fri Feb 16 16:04:46 UTC 2024 - Adam Majer * (CVE-2024-21890, bsc#1219999) - Improper handling of wildcards in --allow-fs-read and --allow-fs-write (Medium) * (CVE-2024-22025, bsc#1220014) - Denial of Service by resource exhaustion in fetch() brotli decoding - (Medium) * undici version 5.28.3 (CVE-2024-24758, bsc#1220017) - * libuv version 1.48.0 (CVE-2024-24806, bsc#1219724) + * libuv version 1.48.0 (CVE-2024-24806, bsc#1220053) ------------------------------------------------------------------- Mon Feb 12 14:27:04 UTC 2024 - Adam Majer diff --git a/nodejs20.spec b/nodejs20.spec index 3e92861..24d885e 100644 --- a/nodejs20.spec +++ b/nodejs20.spec @@ -31,7 +31,7 @@ %endif Name: nodejs20 -Version: 20.11.1 +Version: 20.15.1 Release: 0 # Double DWZ memory limits @@ -146,6 +146,7 @@ Source20: bash_output_helper.bash ## Patches not distribution specific Patch1: cares_public_headers.patch Patch3: fix_ci_tests.patch +Patch4: cares_sle12_capabilities.patch Patch5: sle12_python3_compat.patch Patch7: manual_configure.patch Patch13: openssl_binary_detection.patch @@ -164,7 +165,6 @@ Patch102: node-gyp-addon-gypi.patch # PATCH-FIX-OPENSUSE -- install user global npm packages to /usr/local # instead of /usr Patch104: npm_search_paths.patch -Patch106: skip_no_console.patch Patch110: legacy_python.patch Patch120: flaky_test_rerun.patch @@ -177,7 +177,6 @@ Patch200: versioned.patch Patch305: qemu_timeouts_arches.patch Patch308: node-gyp-config.patch Patch309: gcc13.patch -Patch311: c-ares-fixes.patch BuildRequires: pkg-config BuildRequires: fdupes @@ -309,19 +308,19 @@ BuildRequires: bundled_openssl_should_not_be_required %if ! 0%{with intree_cares} BuildRequires: pkgconfig(libcares) >= 1.17.0 %else -Provides: bundled(libcares2) = 1.20.1 +Provides: bundled(libcares2) = 1.28.1 %endif %if ! 0%{with intree_icu} BuildRequires: pkgconfig(icu-i18n) >= 71 %else -Provides: bundled(icu) = 73.2 +Provides: bundled(icu) = 75.1 %endif %if ! 0%{with intree_nghttp2} BuildRequires: libnghttp2-devel >= 1.41.0 %else -Provides: bundled(nghttp2) = 1.58.0 +Provides: bundled(nghttp2) = 1.61.0 %endif %if 0%{with valgrind_tests} @@ -370,34 +369,30 @@ ExclusiveArch: not_buildable %endif %endif -Provides: bundled(uvwasi) = 0.0.19 +Provides: bundled(uvwasi) = 0.0.21 Provides: bundled(libuv) = 1.46.0 Provides: bundled(v8) = 11.3.244.8 %if %{with intree_brotli} -Provides: bundled(brotli) = 1.0.9 +Provides: bundled(brotli) = 1.1.0 %else BuildRequires: pkgconfig(libbrotlidec) %endif -Provides: bundled(llhttp) = 8.1.1 -Provides: bundled(ngtcp2) = 0.8.1 -Provides: bundled(base64) = 0.5.1 -Provides: bundled(simdutf) = 4.0.4 -Provides: bundled(simdjson) = {{nothing}} -# bundled url-ada parser, not ada -Provides: bundled(ada) = 2.7.4 +Provides: bundled(llhttp) = 8.1.2 +Provides: bundled(ngtcp2) = 1.1.0 +Provides: bundled(base64) = 0.5.2 +Provides: bundled(simdutf) = 5.2.8 -Provides: bundled(node-@fastify/busboy) = 2.1.0 -Provides: bundled(node-acorn) = 8.11.2 -Provides: bundled(node-acorn-walk) = 8.2.0 -Provides: bundled(node-busboy) = 1.6.0 +# bundled url-ada parser, not ada +Provides: bundled(ada) = 2.7.8 + +Provides: bundled(node-acorn) = 8.11.3 +Provides: bundled(node-acorn-walk) = 8.3.2 Provides: bundled(node-cjs-module-lexer) = 1.2.2 -Provides: bundled(node-corepack) = 0.23.0 -Provides: bundled(node-minimatch) = 9.0.3 -Provides: bundled(node-streamsearch) = 1.1.0 -Provides: bundled(node-undici) = 5.28.3 -Provides: bundled(node-undici-types) = 5.25.1 +Provides: bundled(node-corepack) = 0.28.1 +Provides: bundled(node-minimatch) = 9.0.4 +Provides: bundled(node-undici) = 6.13.0 %description Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js @@ -426,7 +421,7 @@ Requires: nodejs-common Requires: nodejs20 = %{version} Provides: nodejs-npm = %{version} Obsoletes: nodejs-npm < 4.0.0 -Provides: npm(npm) = 10.2.4 +Provides: npm(npm) = 10.7.0 Provides: npm = %{version} %if 0%{?suse_version} >= 1500 %if %{node_version_number} >= 10 @@ -435,8 +430,7 @@ Requires: group(nobody) %endif %endif Provides: bundled(node-abbrev) = 2.0.0 -Provides: bundled(node-abort-controller) = 3.0.0 -Provides: bundled(node-agent-base) = 7.1.0 +Provides: bundled(node-agent-base) = 7.1.1 Provides: bundled(node-aggregate-error) = 3.1.0 Provides: bundled(node-ansi-regex) = 5.0.1 Provides: bundled(node-ansi-regex) = 6.0.1 @@ -444,99 +438,85 @@ Provides: bundled(node-ansi-styles) = 4.3.0 Provides: bundled(node-ansi-styles) = 6.2.1 Provides: bundled(node-aproba) = 2.0.0 Provides: bundled(node-archy) = 1.0.0 -Provides: bundled(node-are-we-there-yet) = 4.0.1 Provides: bundled(node-balanced-match) = 1.0.2 -Provides: bundled(node-base64-js) = 1.5.1 Provides: bundled(node-bin-links) = 4.0.3 -Provides: bundled(node-binary-extensions) = 2.2.0 +Provides: bundled(node-binary-extensions) = 2.3.0 Provides: bundled(node-brace-expansion) = 2.0.1 -Provides: bundled(node-buffer) = 6.0.3 -Provides: bundled(node-builtins) = 5.0.1 -Provides: bundled(node-cacache) = 18.0.0 +Provides: bundled(node-builtins) = 5.1.0 +Provides: bundled(node-cacache) = 18.0.2 Provides: bundled(node-chalk) = 5.3.0 Provides: bundled(node-chownr) = 2.0.0 Provides: bundled(node-ci-info) = 4.0.0 -Provides: bundled(node-cidr-regex) = 4.0.3 +Provides: bundled(node-cidr-regex) = 4.0.5 Provides: bundled(node-clean-stack) = 2.2.0 Provides: bundled(node-cli-columns) = 4.0.0 -Provides: bundled(node-cli-table3) = 0.6.3 -Provides: bundled(node-clone) = 1.0.4 Provides: bundled(node-cmd-shim) = 6.0.2 Provides: bundled(node-color-convert) = 2.0.1 Provides: bundled(node-color-name) = 1.1.4 -Provides: bundled(node-color-support) = 1.1.3 -Provides: bundled(node-columnify) = 1.6.0 Provides: bundled(node-common-ancestor-path) = 1.0.1 -Provides: bundled(node-console-control-strings) = 1.1.0 Provides: bundled(node-cross-spawn) = 7.0.3 Provides: bundled(node-cssesc) = 3.0.0 Provides: bundled(node-debug) = 4.3.4 -Provides: bundled(node-defaults) = 1.0.4 -Provides: bundled(node-delegates) = 1.0.0 -Provides: bundled(node-diff) = 5.1.0 +Provides: bundled(node-diff) = 5.2.0 Provides: bundled(node-eastasianwidth) = 0.2.0 Provides: bundled(node-emoji-regex) = 8.0.0 Provides: bundled(node-emoji-regex) = 9.2.2 Provides: bundled(node-encoding) = 0.1.13 Provides: bundled(node-env-paths) = 2.2.1 Provides: bundled(node-err-code) = 2.0.3 -Provides: bundled(node-event-target-shim) = 5.0.1 -Provides: bundled(node-events) = 3.3.0 Provides: bundled(node-exponential-backoff) = 3.1.1 Provides: bundled(node-fastest-levenshtein) = 1.0.16 Provides: bundled(node-foreground-child) = 3.1.1 Provides: bundled(node-fs-minipass) = 2.1.0 Provides: bundled(node-fs-minipass) = 3.0.3 Provides: bundled(node-function-bind) = 1.1.2 -Provides: bundled(node-gauge) = 5.0.1 -Provides: bundled(node-glob) = 10.3.10 +Provides: bundled(node-glob) = 10.3.12 Provides: bundled(node-graceful-fs) = 4.2.11 -Provides: bundled(node-has-unicode) = 2.0.1 -Provides: bundled(node-hasown) = 2.0.0 +Provides: bundled(node-hasown) = 2.0.2 Provides: bundled(node-hosted-git-info) = 7.0.1 Provides: bundled(node-http-cache-semantics) = 4.1.1 -Provides: bundled(node-http-proxy-agent) = 7.0.0 -Provides: bundled(node-https-proxy-agent) = 7.0.2 +Provides: bundled(node-http-proxy-agent) = 7.0.2 +Provides: bundled(node-https-proxy-agent) = 7.0.4 Provides: bundled(node-iconv-lite) = 0.6.3 -Provides: bundled(node-ieee754) = 1.2.1 -Provides: bundled(node-ignore-walk) = 6.0.3 +Provides: bundled(node-ignore-walk) = 6.0.4 Provides: bundled(node-imurmurhash) = 0.1.4 Provides: bundled(node-indent-string) = 4.0.0 -Provides: bundled(node-ini) = 4.1.1 -Provides: bundled(node-init-package-json) = 6.0.0 -Provides: bundled(node-ip) = 2.0.0 +Provides: bundled(node-ini) = 4.1.2 +Provides: bundled(node-init-package-json) = 6.0.2 +Provides: bundled(node-ip-address) = 9.0.5 Provides: bundled(node-ip-regex) = 5.0.0 -Provides: bundled(node-is-cidr) = 5.0.3 +Provides: bundled(node-is-cidr) = 5.0.5 Provides: bundled(node-is-core-module) = 2.13.1 Provides: bundled(node-is-fullwidth-code-point) = 3.0.0 Provides: bundled(node-is-lambda) = 1.0.1 Provides: bundled(node-isexe) = 2.0.0 Provides: bundled(node-isexe) = 3.1.1 Provides: bundled(node-jackspeak) = 2.3.6 -Provides: bundled(node-json-parse-even-better-errors) = 3.0.0 +Provides: bundled(node-jsbn) = 1.1.0 +Provides: bundled(node-json-parse-even-better-errors) = 3.0.1 Provides: bundled(node-json-stringify-nice) = 1.1.4 Provides: bundled(node-jsonparse) = 1.3.1 Provides: bundled(node-just-diff) = 6.0.2 Provides: bundled(node-just-diff-apply) = 5.5.0 -Provides: bundled(node-libnpmaccess) = 8.0.1 -Provides: bundled(node-libnpmdiff) = 6.0.3 -Provides: bundled(node-libnpmexec) = 7.0.4 -Provides: bundled(node-libnpmfund) = 5.0.1 -Provides: bundled(node-libnpmhook) = 10.0.0 -Provides: bundled(node-libnpmorg) = 6.0.1 -Provides: bundled(node-libnpmpack) = 6.0.3 -Provides: bundled(node-libnpmpublish) = 9.0.2 -Provides: bundled(node-libnpmsearch) = 7.0.0 -Provides: bundled(node-libnpmteam) = 6.0.0 -Provides: bundled(node-libnpmversion) = 5.0.1 -Provides: bundled(node-lru-cache) = 10.0.2 +Provides: bundled(node-libnpmaccess) = 8.0.5 +Provides: bundled(node-libnpmdiff) = 6.1.1 +Provides: bundled(node-libnpmexec) = 8.1.0 +Provides: bundled(node-libnpmfund) = 5.0.9 +Provides: bundled(node-libnpmhook) = 10.0.4 +Provides: bundled(node-libnpmorg) = 6.0.5 +Provides: bundled(node-libnpmpack) = 7.0.1 +Provides: bundled(node-libnpmpublish) = 9.0.7 +Provides: bundled(node-libnpmsearch) = 7.0.4 +Provides: bundled(node-libnpmteam) = 6.0.4 +Provides: bundled(node-libnpmversion) = 6.0.1 +Provides: bundled(node-lru-cache) = 10.2.2 Provides: bundled(node-lru-cache) = 6.0.0 -Provides: bundled(node-make-fetch-happen) = 13.0.0 -Provides: bundled(node-minimatch) = 9.0.3 +Provides: bundled(node-make-fetch-happen) = 13.0.1 +Provides: bundled(node-minimatch) = 9.0.4 Provides: bundled(node-minipass) = 3.3.6 Provides: bundled(node-minipass) = 5.0.0 Provides: bundled(node-minipass) = 7.0.4 -Provides: bundled(node-minipass-collect) = 1.0.2 +Provides: bundled(node-minipass-collect) = 2.0.1 Provides: bundled(node-minipass-fetch) = 3.0.4 Provides: bundled(node-minipass-flush) = 1.0.5 Provides: bundled(node-minipass-json-stream) = 1.0.1 @@ -548,77 +528,72 @@ Provides: bundled(node-ms) = 2.1.2 Provides: bundled(node-ms) = 2.1.3 Provides: bundled(node-mute-stream) = 1.0.0 Provides: bundled(node-negotiator) = 0.6.3 -Provides: bundled(node-node-gyp) = 10.0.1 +Provides: bundled(node-node-gyp) = 10.1.0 Provides: bundled(node-nopt) = 7.2.0 Provides: bundled(node-normalize-package-data) = 6.0.0 Provides: bundled(node-npm-audit-report) = 5.0.0 Provides: bundled(node-npm-bundled) = 3.0.0 Provides: bundled(node-npm-install-checks) = 6.3.0 Provides: bundled(node-npm-normalize-package-bin) = 3.0.1 -Provides: bundled(node-npm-package-arg) = 11.0.1 -Provides: bundled(node-npm-packlist) = 8.0.0 +Provides: bundled(node-npm-package-arg) = 11.0.2 +Provides: bundled(node-npm-packlist) = 8.0.2 Provides: bundled(node-npm-pick-manifest) = 9.0.0 -Provides: bundled(node-npm-profile) = 9.0.0 -Provides: bundled(node-npm-registry-fetch) = 16.1.0 +Provides: bundled(node-npm-profile) = 9.0.2 +Provides: bundled(node-npm-registry-fetch) = 17.0.0 Provides: bundled(node-npm-user-validate) = 2.0.0 -Provides: bundled(node-npmlog) = 7.0.1 Provides: bundled(node-p-map) = 4.0.0 -Provides: bundled(node-pacote) = 17.0.4 +Provides: bundled(node-pacote) = 18.0.3 Provides: bundled(node-parse-conflict-json) = 3.0.1 Provides: bundled(node-path-key) = 3.1.1 -Provides: bundled(node-path-scurry) = 1.10.1 -Provides: bundled(node-postcss-selector-parser) = 6.0.13 +Provides: bundled(node-path-scurry) = 1.10.2 +Provides: bundled(node-postcss-selector-parser) = 6.0.16 Provides: bundled(node-proc-log) = 3.0.0 -Provides: bundled(node-process) = 0.11.10 +Provides: bundled(node-proc-log) = 4.2.0 +Provides: bundled(node-proggy) = 2.0.0 Provides: bundled(node-promise-all-reject-late) = 1.0.1 -Provides: bundled(node-promise-call-limit) = 1.0.2 +Provides: bundled(node-promise-call-limit) = 3.0.1 Provides: bundled(node-promise-inflight) = 1.0.1 Provides: bundled(node-promise-retry) = 2.0.1 -Provides: bundled(node-promzard) = 1.0.0 +Provides: bundled(node-promzard) = 1.0.1 Provides: bundled(node-qrcode-terminal) = 0.12.0 -Provides: bundled(node-read) = 2.1.0 +Provides: bundled(node-read) = 3.0.1 Provides: bundled(node-read-cmd-shim) = 4.0.0 -Provides: bundled(node-read-package-json) = 7.0.0 Provides: bundled(node-read-package-json-fast) = 3.0.2 -Provides: bundled(node-readable-stream) = 4.4.2 Provides: bundled(node-retry) = 0.12.0 -Provides: bundled(node-safe-buffer) = 5.2.1 Provides: bundled(node-safer-buffer) = 2.1.2 -Provides: bundled(node-semver) = 7.5.4 -Provides: bundled(node-set-blocking) = 2.0.0 +Provides: bundled(node-semver) = 7.6.0 Provides: bundled(node-shebang-command) = 2.0.0 Provides: bundled(node-shebang-regex) = 3.0.0 Provides: bundled(node-signal-exit) = 4.1.0 -Provides: bundled(node-sigstore) = 2.1.0 +Provides: bundled(node-sigstore) = 2.3.0 Provides: bundled(node-smart-buffer) = 4.2.0 -Provides: bundled(node-socks) = 2.7.1 -Provides: bundled(node-socks-proxy-agent) = 8.0.2 +Provides: bundled(node-socks) = 2.8.3 +Provides: bundled(node-socks-proxy-agent) = 8.0.3 Provides: bundled(node-spdx-correct) = 3.2.0 -Provides: bundled(node-spdx-exceptions) = 2.3.0 +Provides: bundled(node-spdx-exceptions) = 2.5.0 Provides: bundled(node-spdx-expression-parse) = 3.0.1 -Provides: bundled(node-spdx-license-ids) = 3.0.16 +Provides: bundled(node-spdx-expression-parse) = 4.0.0 +Provides: bundled(node-spdx-license-ids) = 3.0.17 +Provides: bundled(node-sprintf-js) = 1.1.3 Provides: bundled(node-ssri) = 10.0.5 -Provides: bundled(node-string_decoder) = 1.3.0 Provides: bundled(node-string-width) = 4.2.3 Provides: bundled(node-string-width) = 5.1.2 Provides: bundled(node-strip-ansi) = 6.0.1 Provides: bundled(node-strip-ansi) = 7.1.0 Provides: bundled(node-supports-color) = 9.4.0 -Provides: bundled(node-tar) = 6.2.0 +Provides: bundled(node-tar) = 6.2.1 Provides: bundled(node-text-table) = 0.2.0 Provides: bundled(node-tiny-relative-date) = 1.3.0 Provides: bundled(node-treeverse) = 3.0.0 -Provides: bundled(node-tuf-js) = 2.1.0 +Provides: bundled(node-tuf-js) = 2.2.0 Provides: bundled(node-unique-filename) = 3.0.0 Provides: bundled(node-unique-slug) = 4.0.0 Provides: bundled(node-util-deprecate) = 1.0.2 Provides: bundled(node-validate-npm-package-license) = 3.0.4 Provides: bundled(node-validate-npm-package-name) = 5.0.0 Provides: bundled(node-walk-up-path) = 3.0.1 -Provides: bundled(node-wcwidth) = 1.0.1 Provides: bundled(node-which) = 2.0.2 Provides: bundled(node-which) = 4.0.0 -Provides: bundled(node-wide-align) = 1.1.5 Provides: bundled(node-wrap-ansi) = 7.0.0 Provides: bundled(node-wrap-ansi) = 8.1.0 Provides: bundled(node-write-file-atomic) = 5.0.1 @@ -673,7 +648,7 @@ tar Jxf %{SOURCE11} %endif # downgrade node-gyp to last version that supports python 3.4 for SLE12 -%if 0%{?suse_version} && 0%{?suse_version} < 1500 && %{node_version_number} >= 16 +%if 0%{?suse_version} && 0%{?suse_version} < 1500 && %{node_version_number} >= 16 && %{node_version_number} < 22 rm -r deps/npm/node_modules/node-gyp mkdir deps/npm/node_modules/node-gyp pushd deps/npm/node_modules/node-gyp @@ -681,40 +656,41 @@ tar Jxf %{SOURCE5} popd %if %{node_version_number} >= 19 -%patch308 -p1 +%patch -P 308 -p1 %else %endif %endif -%patch1 -p1 -%patch3 -p1 -%if %{node_version_number} <= 12 && 0%{?suse_version} < 1500 -%patch5 -p1 +%patch -P 1 -p1 +%patch -P 3 -p1 +%if 0%{?suse_version} < 1500 +%patch -P 4 -p1 %endif -%patch7 -p1 +%if %{node_version_number} <= 12 && 0%{?suse_version} < 1500 +%patch -P 5 -p1 +%endif +%patch -P 7 -p1 %if 0%{with valgrind_tests} %endif -%patch13 -p1 -%patch100 -p1 -%patch101 -p1 +%patch -P 13 -p1 +%patch -P 100 -p1 +%patch -P 101 -p1 %if 0%{?suse_version} >= 1500 || 0%{?suse_version} == 0 -%patch102 -p1 +%patch -P 102 -p1 %endif # Add check_output to configure script (not part of Python 2.6 in SLE11). %if 0%{?suse_version} == 1110 %endif -%patch104 -p1 -%patch106 -p1 -%patch110 -p1 -%patch120 -p1 -%patch132 -p1 +%patch -P 104 -p1 +%patch -P 110 -p1 +%patch -P 120 -p1 +%patch -P 132 -p1 %if ! 0%{with openssl_RSA_get0_pss_params} %endif -%patch200 -p1 +%patch -P 200 -p1 -%patch305 -p1 -%patch309 -p1 -%patch311 -p1 +%patch -P 305 -p1 +%patch -P 309 -p1 %if %{node_version_number} == 12 # minimist security update - patch50 @@ -786,9 +762,6 @@ EOF . ./spec.build.config -# Node.js 4.x does not include the ICU database in the source tarball. -%define has_small_icu %(test -d "deps/icu-small" && echo 1 || echo 0) - ./configure \ --prefix=%{_prefix} \ %if 0%{?with nodejs_lto} @@ -803,11 +776,6 @@ EOF %endif %if ! 0%{with intree_icu} --with-intl=system-icu \ -%else -%if %{has_small_icu} - --with-intl=small-icu \ - --with-icu-source=deps/icu-small \ -%endif %endif %if ! 0%{with intree_nghttp2} --shared-nghttp2 \ @@ -901,6 +869,12 @@ ln -s -f npx-default %{buildroot}%{_sysconfdir}/alternatives/npx-default ln -s -f npx.1%{ext_man} %{buildroot}%{_sysconfdir}/alternatives/npx.1%{ext_man} ln -s %{_sysconfdir}/alternatives/npx-default %{buildroot}%{_bindir}/npx-default ln -s %{_sysconfdir}/alternatives/npx.1%{ext_man} %{buildroot}%{_mandir}/man1/npx.1%{ext_man} +%if %{node_version_number} >= 14 +ln -s -f corepack-default %{buildroot}%{_sysconfdir}/alternatives/corepack-default +ln -s -f corepack.1%{ext_man} %{buildroot}%{_sysconfdir}/alternatives/corepack.1%{ext_man} +ln -s %{_sysconfdir}/alternatives/corepack-default %{buildroot}%{_bindir}/corepack-default +ln -s %{_sysconfdir}/alternatives/corepack.1%{ext_man} %{buildroot}%{_mandir}/man1/corepack.1%{ext_man} +%endif %endif # libalternatives - can always ship @@ -919,6 +893,13 @@ binary=%{_bindir}/npx%{node_version_number} man=npx%{node_version_number}.1 group=npm,npx EOF +%if %{node_version_number} >= 14 +mkdir -p %{buildroot}%{_datadir}/libalternatives/corepack; +cat > %{buildroot}%{_datadir}/libalternatives/corepack/%{node_version_number}.conf <= 14 +%post -n corepack%{node_version_number} +update-alternatives --remove corepack-default %{_bindir}/corepack%{node_version_number} +%endif + %else %pre # remove files that are no longer owned but provided by update-alternatives @@ -1127,6 +1121,24 @@ if [ ! -f %{_bindir}/npx%{node_version_number} ] ; then update-alternatives --remove npx-default %{_bindir}/npx%{node_version_number} fi +%if %{node_version_number} >= 14 +%pre -n corepack%{node_version_number} +# remove files that are no longer owned but provided by update-alternatives +if ! [ -L %{_mandir}/man1/corepack.1%{ext_man} ]; then + rm -f %{_mandir}/man1/corepack.1%{ext_man} +fi + +%post -n corepack%{node_version_number} +update-alternatives \ + --install %{_bindir}/corepack-default corepack-default %{_bindir}/corepack%{node_version_number} %{node_version_number} \ + --slave %{_mandir}/man1/corepack.1%{ext_man} corepack.1%{ext_man} %{_mandir}/man1/corepack%{node_version_number}.1%{ext_man} + +%postun -n corepack%{node_version_number} +if [ ! -f %{_bindir}/corepack%{node_version_number} ] ; then + update-alternatives --remove corepack-default %{_bindir}/corepack%{node_version_number} +fi +%endif + %endif %changelog diff --git a/npm_search_paths.patch b/npm_search_paths.patch index 9ee3d33..a9e3b21 100644 --- a/npm_search_paths.patch +++ b/npm_search_paths.patch @@ -1,8 +1,8 @@ -Index: node-v19.9.0/deps/npm/lib/commands/help-search.js +Index: node-v20.15.1/deps/npm/lib/commands/help-search.js =================================================================== ---- node-v19.9.0.orig/deps/npm/lib/commands/help-search.js -+++ node-v19.9.0/deps/npm/lib/commands/help-search.js -@@ -16,7 +16,7 @@ class HelpSearch extends BaseCommand { +--- node-v20.15.1.orig/deps/npm/lib/commands/help-search.js ++++ node-v20.15.1/deps/npm/lib/commands/help-search.js +@@ -17,7 +17,7 @@ class HelpSearch extends BaseCommand { throw this.usageError() } @@ -11,11 +11,11 @@ Index: node-v19.9.0/deps/npm/lib/commands/help-search.js let files = await glob(`${globify(docPath)}/*/*.md`) // preserve glob@8 behavior files = files.sort((a, b) => a.localeCompare(b, 'en')) -Index: node-v19.9.0/deps/npm/lib/npm.js +Index: node-v20.15.1/deps/npm/lib/npm.js =================================================================== ---- node-v19.9.0.orig/deps/npm/lib/npm.js -+++ node-v19.9.0/deps/npm/lib/npm.js -@@ -408,7 +408,13 @@ class Npm extends EventEmitter { +--- node-v20.15.1.orig/deps/npm/lib/npm.js ++++ node-v20.15.1/deps/npm/lib/npm.js +@@ -338,7 +338,13 @@ class Npm { } get globalPrefix () { @@ -29,4 +29,4 @@ Index: node-v19.9.0/deps/npm/lib/npm.js + return prefix; } - set globalPrefix (r) { + get localPrefix () { diff --git a/skip_no_console.patch b/skip_no_console.patch deleted file mode 100644 index 5d562f6..0000000 --- a/skip_no_console.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: node-v14.3.0/test/parallel/test-repl-mode.js -=================================================================== ---- node-v14.3.0.orig/test/parallel/test-repl-mode.js -+++ node-v14.3.0/test/parallel/test-repl-mode.js -@@ -1,9 +1,11 @@ - 'use strict'; --require('../common'); -+const common = require('../common'); - const assert = require('assert'); - const Stream = require('stream'); - const repl = require('repl'); - -+common.skipIfDumbTerminal(); -+ - const tests = [ - testSloppyMode, - testStrictMode, -Index: node-v14.3.0/test/parallel/test-repl-strict-mode-previews.js -=================================================================== ---- node-v14.3.0.orig/test/parallel/test-repl-strict-mode-previews.js -+++ node-v14.3.0/test/parallel/test-repl-strict-mode-previews.js -@@ -5,6 +5,7 @@ - const common = require('../common'); - - common.skipIfInspectorDisabled(); -+common.skipIfDumbTerminal(); - - if (process.argv[2] === 'child') { - const stream = require('stream'); diff --git a/versioned.patch b/versioned.patch index 10023db..c8b6883 100644 --- a/versioned.patch +++ b/versioned.patch @@ -8,75 +8,75 @@ management via update_alternatives. This is also important for generation of binary modules for multiple versions of NodeJS -Index: node-v20.5.1/Makefile +Index: node-v20.13.1/Makefile =================================================================== ---- node-v20.5.1.orig/Makefile -+++ node-v20.5.1/Makefile +--- node-v20.13.1.orig/Makefile ++++ node-v20.13.1/Makefile @@ -76,7 +76,7 @@ BUILDTYPE_LOWER := $(shell echo $(BUILDT EXEEXT := $(shell $(PYTHON) -c \ "import sys; print('.exe' if sys.platform == 'win32' else '')") -NODE_EXE = node$(EXEEXT) +NODE_EXE = node20$(EXEEXT) - NODE ?= ./$(NODE_EXE) + # Use $(PWD) so we can cd to anywhere before calling this + NODE ?= "$(PWD)/$(NODE_EXE)" NODE_G_EXE = node_g$(EXEEXT) - NPM ?= ./deps/npm/bin/npm-cli.js -Index: node-v20.5.1/tools/install.py +Index: node-v20.13.1/tools/install.py =================================================================== ---- node-v20.5.1.orig/tools/install.py -+++ node-v20.5.1/tools/install.py -@@ -86,7 +86,7 @@ def uninstall(paths, dst): - try_remove(path, dst) +--- node-v20.13.1.orig/tools/install.py ++++ node-v20.13.1/tools/install.py +@@ -87,7 +87,7 @@ def uninstall(options, paths, dest): + try_remove(options, path, dest) - def package_files(action, name, bins): -- target_path = libdir() + '/node_modules/' + name + '/' -+ target_path = libdir() + '/node_modules/' + name + '20/' + def package_files(options, action, name, bins): +- target_path = os.path.join(libdir(options), 'node_modules', name) ++ target_path = os.path.join(libdir(options), 'node_modules', name + '20') # don't install npm if the target path is a symlink, it probably means # that a dev version of npm is installed there -@@ -106,19 +106,19 @@ def package_files(action, name, bins): +@@ -108,19 +108,19 @@ def package_files(options, action, name, if action == uninstall: - action([link_path], 'bin/' + bin_name) + action(options, [link_path], os.path.join('bin', bin_name)) elif action == install: -- try_symlink('../' + libdir() + '/node_modules/' + name + '/' + bin_target, link_path) -+ try_symlink('../' + libdir() + '/node_modules/' + name + '20/' + bin_target, link_path) +- try_symlink(options, os.path.join('..', libdir(options), 'node_modules', name, bin_target), link_path) ++ try_symlink(options, os.path.join('..', libdir(options), 'node_modules', name + '20', bin_target), link_path) else: assert 0 # unhandled action type - def npm_files(action): - package_files(action, 'npm', { + def npm_files(options, action): + package_files(options, action, 'npm', { - 'npm': 'bin/npm-cli.js', - 'npx': 'bin/npx-cli.js', + 'npm20': 'bin/npm-cli.js', + 'npx20': 'bin/npx-cli.js', }) - def corepack_files(action): - package_files(action, 'corepack', { + def corepack_files(options, action): + package_files(options, action, 'corepack', { - 'corepack': 'dist/corepack.js', + 'corepack20': 'dist/corepack.js', # Not the default just yet: # 'yarn': 'dist/yarn.js', # 'yarnpkg': 'dist/yarn.js', -@@ -147,7 +147,7 @@ def subdir_files(path, dest, action): +@@ -149,7 +149,7 @@ def subdir_files(options, path, dest, ac + action(options, files_in_path, subdir + os.path.sep) - def files(action): - is_windows = sys.platform == 'win32' -- output_file = 'node' -+ output_file = 'node20' - output_prefix = 'out/Release/' - - if is_windows: -@@ -189,7 +189,7 @@ def files(action): - if 'freebsd' in sys.platform or 'openbsd' in sys.platform: - action(['doc/node.1'], 'man/man1/') + def files(options, action): +- node_bin = 'node' ++ node_bin = 'node20' + if options.is_win: + node_bin += '.exe' + action(options, [os.path.join(options.build_dir, node_bin)], os.path.join('bin', node_bin)) +@@ -190,7 +190,7 @@ def files(options, action): + if 'openbsd' in sys.platform: + action(options, ['doc/node.1'], 'man/man1/') else: -- action(['doc/node.1'], 'share/man/man1/') -+ action(['doc/node.1'], 'share/man/man1/node20.1') +- action(options, ['doc/node.1'], 'share/man/man1/') ++ action(options, ['doc/node.1'], 'share/man/man1/node20.1') - if 'true' == variables.get('node_install_npm'): - npm_files(action) -@@ -276,28 +276,28 @@ def headers(action): + if 'true' == options.variables.get('node_install_npm'): + npm_files(options, action) +@@ -331,28 +331,28 @@ def headers(options, action): 'src/node_buffer.h', 'src/node_object_wrap.h', 'src/node_version.h', @@ -85,27 +85,26 @@ Index: node-v20.5.1/tools/install.py # Add the expfile that is created on AIX if sys.platform.startswith('aix') or sys.platform == "os400": -- action(['out/Release/node.exp'], 'include/node/') -+ action(['out/Release/node.exp'], 'include/node20/') + action(options, ['out/Release/node.exp'], 'include/node/') -- subdir_files('deps/v8/include', 'include/node/', wanted_v8_headers) -+ subdir_files('deps/v8/include', 'include/node20/', wanted_v8_headers) +- subdir_files(options, os.path.join(options.v8_dir, 'include'), 'include/node/', wanted_v8_headers) ++ subdir_files(options, os.path.join(options.v8_dir, 'include'), 'include/node20/', wanted_v8_headers) - if 'false' == variables.get('node_shared_libuv'): -- subdir_files('deps/uv/include', 'include/node/', action) -+ subdir_files('deps/uv/include', 'include/node20/', action) + if 'false' == options.variables.get('node_shared_libuv'): +- subdir_files(options, 'deps/uv/include', 'include/node/', action) ++ subdir_files(options, 'deps/uv/include', 'include/node20/', action) - if 'true' == variables.get('node_use_openssl') and \ - 'false' == variables.get('node_shared_openssl'): -- subdir_files('deps/openssl/openssl/include/openssl', 'include/node/openssl/', action) -- subdir_files('deps/openssl/config/archs', 'include/node/openssl/archs', action) -- subdir_files('deps/openssl/config', 'include/node/openssl', action) -+ subdir_files('deps/openssl/openssl/include/openssl', 'include/node20/openssl/', action) -+ subdir_files('deps/openssl/config/archs', 'include/node20/openssl/archs', action) -+ subdir_files('deps/openssl/config', 'include/node20/openssl', action) + if 'true' == options.variables.get('node_use_openssl') and \ + 'false' == options.variables.get('node_shared_openssl'): +- subdir_files(options, 'deps/openssl/openssl/include/openssl', 'include/node/openssl/', action) +- subdir_files(options, 'deps/openssl/config/archs', 'include/node/openssl/archs', action) +- subdir_files(options, 'deps/openssl/config', 'include/node/openssl', action) ++ subdir_files(options, 'deps/openssl/openssl/include/openssl', 'include/node20/openssl/', action) ++ subdir_files(options, 'deps/openssl/config/archs', 'include/node20/openssl/archs', action) ++ subdir_files(options, 'deps/openssl/config', 'include/node20/openssl', action) - if 'false' == variables.get('node_shared_zlib'): - action([ + if 'false' == options.variables.get('node_shared_zlib'): + action(options, [ 'deps/zlib/zconf.h', 'deps/zlib/zlib.h', - ], 'include/node/') @@ -113,10 +112,10 @@ Index: node-v20.5.1/tools/install.py if sys.platform == 'zos': zoslibinc = os.environ.get('ZOSLIB_INCLUDES') -Index: node-v20.5.1/doc/node.1 +Index: node-v20.13.1/doc/node.1 =================================================================== ---- node-v20.5.1.orig/doc/node.1 -+++ node-v20.5.1/doc/node.1 +--- node-v20.13.1.orig/doc/node.1 ++++ node-v20.13.1/doc/node.1 @@ -31,24 +31,24 @@ .Dt NODE 1 . @@ -146,10 +145,10 @@ Index: node-v20.5.1/doc/node.1 .Op Fl -v8-options . .\"====================================================================== -Index: node-v20.5.1/src/node_main.cc +Index: node-v20.13.1/src/node_main.cc =================================================================== ---- node-v20.5.1.orig/src/node_main.cc -+++ node-v20.5.1/src/node_main.cc +--- node-v20.13.1.orig/src/node_main.cc ++++ node-v20.13.1/src/node_main.cc @@ -94,6 +94,7 @@ int wmain(int argc, wchar_t* wargv[]) { // UNIX @@ -158,11 +157,11 @@ Index: node-v20.5.1/src/node_main.cc return node::Start(argc, argv); } #endif -Index: node-v20.5.1/tools/test.py +Index: node-v20.13.1/tools/test.py =================================================================== ---- node-v20.5.1.orig/tools/test.py -+++ node-v20.5.1/tools/test.py -@@ -947,7 +947,7 @@ class Context(object): +--- node-v20.13.1.orig/tools/test.py ++++ node-v20.13.1/tools/test.py +@@ -954,7 +954,7 @@ class Context(object): if self.vm is not None: return self.vm if arch == 'none': @@ -171,11 +170,11 @@ Index: node-v20.5.1/tools/test.py else: name = 'out/%s.%s/node' % (arch, mode) -Index: node-v20.5.1/node.gyp +Index: node-v20.13.1/node.gyp =================================================================== ---- node-v20.5.1.orig/node.gyp -+++ node-v20.5.1/node.gyp -@@ -23,8 +23,8 @@ +--- node-v20.13.1.orig/node.gyp ++++ node-v20.13.1/node.gyp +@@ -24,8 +24,8 @@ 'node_shared_openssl%': 'false', 'node_v8_options%': '', 'node_enable_v8_vtunejit%': 'false',