From 0bd0db45d1b47cb8d1d52e6021dee2cc0845dcdb Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Mon, 19 Sep 2022 12:47:08 +0000 Subject: [PATCH] - Update to Nodejs 18.9.0: * lib - add diagnostics channel for process and worker * os - add machine method * report - expose report public native apis * src - expose environment RequestInterrupt api * vm - include vm context in the embedded snapshot - Changes in 18.8.0: * bootstrap: implement run-time user-land snapshots via --build-snapshot and --snapshot-blob. See * crypto: + allow zero-length IKM in HKDF and in webcrypto PBKDF2 + allow zero-length secret KeyObject * deps: upgrade npm to 8.18.0 * http: make idle http parser count configurable * net: add local family * src: print source map error source on demand * tls: pass a valid socket on tlsClientError - dns.patch: upstreamed, removed - nodejs-libpath.patch, versioned.patch: refreshed - fix_ci_tests.patch: partially upstreamed - openssl3_fixups.patch: fix unit tests with openssl 1.1.1 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs18?expand=0&rev=7 --- SHASUMS256.txt | 68 +++++++++++++++--------------- SHASUMS256.txt.sig | Bin 566 -> 438 bytes fix_ci_tests.patch | 85 ++++++++++--------------------------- node-v18.7.0.tar.xz | 3 -- node-v18.9.0.tar.xz | 3 ++ nodejs-libpath.patch | 23 +++------- nodejs18.changes | 27 ++++++++++++ nodejs18.spec | 96 ++++++++++++++++++++++-------------------- openssl3_fixups.patch | 13 ++++++ versioned.patch | 69 +++++++++++++----------------- 10 files changed, 187 insertions(+), 200 deletions(-) delete mode 100644 node-v18.7.0.tar.xz create mode 100644 node-v18.9.0.tar.xz create mode 100644 openssl3_fixups.patch diff --git a/SHASUMS256.txt b/SHASUMS256.txt index 6ee6952..1c71f63 100644 --- a/SHASUMS256.txt +++ b/SHASUMS256.txt @@ -1,34 +1,34 @@ -2ecce3603a75464e45e5e3c451662ff5993b7608aa838e0bf17ba1f48b989b11 node-v18.7.0-aix-ppc64.tar.gz -ea24b35067bd0dc40ea8fda1087acc87672cbcbba881f7477dbd432e3c03343d node-v18.7.0-darwin-arm64.tar.gz -ef593cbb3a3f0aae9879b74a7850d794abab26178aa5e0f67ff182894811e6f0 node-v18.7.0-darwin-arm64.tar.xz -ce95b924b450edbcfeaf422b3635a6b44b17ad23cd1f5efff6b051c60db548c8 node-v18.7.0-darwin-x64.tar.gz -b55634dd34b8b5e4368afdafe523fa831db53e7268254582522df3614cc136c8 node-v18.7.0-darwin-x64.tar.xz -66ec4c75fa26b49486c8fe558750a9e5590a76c68e1c9d728c8e119a0f317b3c node-v18.7.0-headers.tar.gz -61dc295894be4b0fbd08c734625e7cf38c1328586d4bdf3d31d107f8ea42efa0 node-v18.7.0-headers.tar.xz -d971f644d3143422eb7a517e08c38a45a43cae14d977b3b96ff61b64f3a26b04 node-v18.7.0-linux-arm64.tar.gz -c3ac4905ec3993d00a45d2c7af8417e79e907be51b8ffecb54c5b9ab8ef0bc9f node-v18.7.0-linux-arm64.tar.xz -25e78e9463e10c68df0f7e2af6fbc18786ae4353896201948f369c2036aa5e16 node-v18.7.0-linux-armv7l.tar.gz -72a20d455f29aed766ef9c8484ab02fd0fd9a2a7a7653e39f7f8cc3b07482054 node-v18.7.0-linux-armv7l.tar.xz -a5d2a43630f0a381bace91c31a7e7752b64341c3d8b2eaf5515f814fad07a231 node-v18.7.0-linux-ppc64le.tar.gz -277bacafc1107f41bb2a503044f3f224852fe69ebf9049ba812eac23bc08e8fc node-v18.7.0-linux-ppc64le.tar.xz -3d5330337892ff21a5fb7058a68aee3274ab36637b212380cbb78c45cd15244b node-v18.7.0-linux-s390x.tar.gz -02a66802b042de524b5f314ee55b85e779066f95279d34988a248fc4c6198103 node-v18.7.0-linux-s390x.tar.xz -0bef16a77faed5220c2ea1555f7bd19ea79bfbb848dba62fbe9d43eb1a36fce0 node-v18.7.0-linux-x64.tar.gz -8bc6a1b9deaed2586d726fc62d4bee9c1bfc5a30b96c1c4cff7edd15225a11a2 node-v18.7.0-linux-x64.tar.xz -acee24578cee62ee95665e8294d28f72b573b205bd43bd25e952f702451b238f node-v18.7.0.pkg -7dcf86ccd6831032531bcbec0cdcc993f9997bba2f53f6d29c72603ea69285ba node-v18.7.0.tar.gz -8834a33c92dfe6ba8903e6715caeaa25dff4657e703c54cd06ec113493e2c3c2 node-v18.7.0.tar.xz -8af2dd97c0250287960cca4604337ed2e0e0a3b1d414cef5f68056a84f5966ee node-v18.7.0-win-x64.7z -9c0abfe32291dd5bed717463cb3590004289f03ab66011e383daa0fcec674683 node-v18.7.0-win-x64.zip -ef934a8315044b7588fe6762e73d3175a08c9ef4f1288b97f11520b1fc3ef172 node-v18.7.0-win-x86.7z -26bad4738fe5f3c69aff5f9ccaaddd4fac3885e38f742e3e39f5da24fb4b7332 node-v18.7.0-win-x86.zip -6ebd9c15f87ced5af4760383c3b6aa31395ded0d4decbf61c008a4855f1ce4d3 node-v18.7.0-x64.msi -4bcb571dbb7d1b436e29a9bc1cc0afdba24a6e369e62c4313134af61054be833 node-v18.7.0-x86.msi -e12623ab72eed023f1920db52654cad72de8c22c1ee4a3d9c6efc1519a557b02 win-x64/node.exe -ea47f748e3103867a877c6f6bb48224a3d0d71309ba31789807ac52fd9af6b14 win-x64/node.lib -a24a1d6d9187caaa992d71b4dfe6e7baed405e281a229124e2c601edaa31feb0 win-x64/node_pdb.7z -98baeb194f86511b90fb87ca84b37305137b5c105e928ff0e7e68e02f1f12f9d win-x64/node_pdb.zip -1292e7d6c2465602b35741246cbfa330080db0712913d70f648737fed2317eea win-x86/node.exe -158bc043ed958d1590b5f170dd84aa89c9593bb22595406dae0294a505da1480 win-x86/node.lib -033ed5581f738d077b407cafa2214c13c2a6dabe744f93263271f58af6ec7846 win-x86/node_pdb.7z -0c9150109cf5b3d7ec96e3b933a0831313f34998df1e2380c6b328e7e55598c8 win-x86/node_pdb.zip +e4d8d6030efe1e0b103ba7a158996b2ff4ceef0f8fd05af9ea61eb4b17d6fa0c node-v18.9.0-aix-ppc64.tar.gz +60300b40f539fc93005859fcb7ea585bfd111800e90b6ee744a07f2380512bbb node-v18.9.0-darwin-arm64.tar.gz +d20ad4d52c0df79bc2296f78cb5cd7d0757e848263b30822538f31d695d3b0a4 node-v18.9.0-darwin-arm64.tar.xz +dce1144cbfc01e03c2e84582461c3ce83541968b2b52a3d3a6f2bbfb09183fba node-v18.9.0-darwin-x64.tar.gz +aecd44f8799e31ed73fb746d00da28f0a32d0ec45079ee85545881e607ddd4d3 node-v18.9.0-darwin-x64.tar.xz +e7ec2a64fc24cc5c790289df80e4788190ca6760a96b6947ef02452bb520cd00 node-v18.9.0-headers.tar.gz +47ad304159c8c01271f166b8750d82d96b7d7e1586d9a9225fea0f50a5ce4224 node-v18.9.0-headers.tar.xz +0d0e671158e072a63c24714bfc4c19a4bb0a70c89d219b1f23d67cbea9c5ffcf node-v18.9.0-linux-arm64.tar.gz +3ec898c66916ab7e245c34f402c091c50bcaa325617f692a6b62dc8d9c06baa0 node-v18.9.0-linux-arm64.tar.xz +195bea2e5be6c791bc460fdc0939375f25b6246cbb57521374eddc9e77323829 node-v18.9.0-linux-armv7l.tar.gz +730697bcfc5ba1538a3c8380edcf51cfa58c760804fb90bab6cfda34d30c55f8 node-v18.9.0-linux-armv7l.tar.xz +794bb57444e14e3282f8f2416483c385e3ae1d66b8babb025ed2b78e22d8157d node-v18.9.0-linux-ppc64le.tar.gz +1b8fadd2d879d2a8b6ee97fcfc0caaa0e1190026e565c097c898824541cd2d86 node-v18.9.0-linux-ppc64le.tar.xz +1061f5ed96290df7f3e5b1f183fdacfd82bba0d8c2dfb984505110f83e9ac215 node-v18.9.0-linux-s390x.tar.gz +86d55c4f495e74e8a9d03e4e34ef4f2ee6ec6ab187ecedf3e430e93baf9faea0 node-v18.9.0-linux-s390x.tar.xz +7fdbfdb985a48db3d22a2472330db05d94c9aff59192b09d8f9ab5fcedba76d5 node-v18.9.0-linux-x64.tar.gz +0137e43f5492dd97b6ef1f39ea4581975016e5f1e70db461d7292c6853ace066 node-v18.9.0-linux-x64.tar.xz +bae2d3417a9e1c4cc7145801e428c13e9fce006044258194d073207efd1b736b node-v18.9.0-win-x64.7z +d7a9c9e8a36259d1e15052c135fbd11937d0f0485360e402e833522076233a7a node-v18.9.0-win-x64.zip +7b2f1a76c4bbcc464f05b4895dbe5e48047d35cf88b210bdde71034f0aee3146 node-v18.9.0-win-x86.7z +6543f6e72a704bf56170dd874f9edc6ed9468d15008dbb214654d3681221c37e node-v18.9.0-win-x86.zip +38744484707594133d1b9e94d2575d403d132761241de2a6b5a4bf0648946ea0 node-v18.9.0-x64.msi +4c4e9206f652e47371eb52753501280348bb8bfad827d1ac6f782152a00df31b node-v18.9.0-x86.msi +7b469adcc4863e53fdbeb66e0eff3316abdf40d80be51adc6b4c7fe1dd04348e node-v18.9.0.pkg +89af82a3f8df01a24bb61b69a4e9a0482bfa8793a7686c88227bce10ee0c72bc node-v18.9.0.tar.gz +c75cc89afead976791900accde02a7b1e7e762702f0f6fa68eaacb01984d9654 node-v18.9.0.tar.xz +6f4da4ffa06afa4096acb5279e6875ccb5ffcd03a86fbbee382dde4bc96565f5 win-x64/node.exe +3111a04d3ae94921ac20f2afc4e167c59e50c07609ee940d1a8eec46f08310ad win-x64/node.lib +7f5f093c1f612803629218793c5eb72719274faa078a4f63ecbe543b7a00e9e6 win-x64/node_pdb.7z +e750259b9c628578fc2ae463d62fadf6c95c266e1c5f32f252d80c7e716c3418 win-x64/node_pdb.zip +3452040fc8d9e8894e169229d30425f00dfbf0082e00081baa7d550e7b7321d8 win-x86/node.exe +e0b45a34da85070b41e13169a6ed30ea782d400dd8e8597d665727bac8d621f0 win-x86/node.lib +1bc12a2b9686a08a935fc6e78c9595e44d61df33a342bd98ad89088f75367a7b win-x86/node_pdb.7z +c52111fdd0180eb82d96b376c37ecf1160f57ccb0e12102a5183ece4708d8c70 win-x86/node_pdb.zip diff --git a/SHASUMS256.txt.sig b/SHASUMS256.txt.sig index 60a94aa6a60f40574c57b1554c2ef63ead982e09..e095ae92a551867dff859021e3a3fba03a73f6ef 100644 GIT binary patch literal 438 zcmV;n0ZIOe0kZ@E0SEvc79j+Q3<%qWc@{734f)%P>a^d_RbKQ30%IBfod6065R2-x z-_KQE^d5i=0FBWg%YdAZQaL-Iz}^t&3wg#NNZT*P<*m@Gz+#<>95%O+xQ9k~1w47b z?|bfdfq5uNc=iON&t@o>{&CBcW3vpTp2M{P)%SxE3UC2v_a@d%!3t!{wGoA>@rWew z{mU=$WrIiA=>MV^wgtv9AR5(g~!8xJn2iUQ(Dx2$A z_Q0i}9v}dlju3tP^zTS@PX<{)9kF5VOo;M4&NP3(mupU4&wpVu%J;M#h&}tDr5CJ> z#q?B$M??_WO__xav%%wUK1tCDB?1GSK#S}ga9h(p!I50&c1FO-{7#c;ohUhTB}l=M g^4$gA|0JBWc+`B{ZX8Jg$p_3&+8(*h=kq>v)HKD{fdBvi literal 566 zcmV-60?GY}0y6{v0SEvc79j+5@g@Sc@x{Y5YwoZ z6J$GL0XD7>0LxVinvpe1H>olbs)CNEhk-7Iw})jirYLJKd}$TQ%Qhup5IPw_oHL(MCVH{Kp#%Qi^lAO*6 zN$6$V&L;F%(CpdzUs)HUt6nh?Kc6pv{xT)As~zsBUD_eZ{Y4pZ{G00;_*XzBnR1}z zT5p>;RsZ@zlGw#a1W>+s$Cx6jj`uQB@fgi9t2Z)^M*a{~wu{tk*g~0tkTm>=BqHF&g&-;(lZrqnro0}3}slS#LD&=;bQ0G4# zS{U%$6qv#+VzQnPMu7=~&hOE}v(TkTPhSru=6TE-`+YHZJPmLYGy_DbxS!FlDbe;@ zn`@uvUS+{&`NKAEVW2_EUv%NyH+@lVliXp`f`&s={UHk)fQ(Ou6RurLBoi!;*tc%U zxZt-Sx~f#vPh2EiXGv2^mzy+OS~0NLm={+I+BI*?(GUw=OD1$2B!egK%i#;iOTMbk zMFa=Eu_kq#(ho?w`Jm-=-x8A?zKw8Dff7P8HeQ)%?BpD>mPSn+=kO2LCRzjtoy?!I E6w>4ce*gdg diff --git a/fix_ci_tests.patch b/fix_ci_tests.patch index a901536..c04e52f 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-v16.14.2/test/parallel/test-module-loading-globalpaths.js +Index: node-v18.9.0/test/parallel/test-module-loading-globalpaths.js =================================================================== ---- node-v16.14.2.orig/test/parallel/test-module-loading-globalpaths.js -+++ node-v16.14.2/test/parallel/test-module-loading-globalpaths.js +--- node-v18.9.0.orig/test/parallel/test-module-loading-globalpaths.js ++++ node-v18.9.0/test/parallel/test-module-loading-globalpaths.js @@ -11,6 +11,9 @@ const { addLibraryPath } = require('../c addLibraryPath(process.env); @@ -16,10 +16,10 @@ Index: node-v16.14.2/test/parallel/test-module-loading-globalpaths.js if (process.argv[2] === 'child') { console.log(require(pkgName).string); } else { -Index: node-v16.14.2/test/parallel/test-tls-passphrase.js +Index: node-v18.9.0/test/parallel/test-tls-passphrase.js =================================================================== ---- node-v16.14.2.orig/test/parallel/test-tls-passphrase.js -+++ node-v16.14.2/test/parallel/test-tls-passphrase.js +--- node-v18.9.0.orig/test/parallel/test-tls-passphrase.js ++++ node-v18.9.0/test/parallel/test-tls-passphrase.js @@ -223,7 +223,7 @@ server.listen(0, common.mustCall(functio }, onSecureConnect()); })).unref(); @@ -29,10 +29,10 @@ Index: node-v16.14.2/test/parallel/test-tls-passphrase.js // Missing passphrase assert.throws(function() { -Index: node-v16.14.2/test/parallel/test-repl-envvars.js +Index: node-v18.9.0/test/parallel/test-repl-envvars.js =================================================================== ---- node-v16.14.2.orig/test/parallel/test-repl-envvars.js -+++ node-v16.14.2/test/parallel/test-repl-envvars.js +--- node-v18.9.0.orig/test/parallel/test-repl-envvars.js ++++ node-v18.9.0/test/parallel/test-repl-envvars.js @@ -2,7 +2,9 @@ // Flags: --expose-internals @@ -44,11 +44,11 @@ Index: node-v16.14.2/test/parallel/test-repl-envvars.js const stream = require('stream'); const REPL = require('internal/repl'); const assert = require('assert'); -Index: node-v16.14.2/test/common/index.mjs +Index: node-v18.9.0/test/common/index.mjs =================================================================== ---- node-v16.14.2.orig/test/common/index.mjs -+++ node-v16.14.2/test/common/index.mjs -@@ -42,6 +42,7 @@ const { +--- node-v18.9.0.orig/test/common/index.mjs ++++ node-v18.9.0/test/common/index.mjs +@@ -45,6 +45,7 @@ const { expectsError, skipIfInspectorDisabled, skipIf32Bits, @@ -56,7 +56,7 @@ Index: node-v16.14.2/test/common/index.mjs getArrayBufferViews, getBufferSources, getTTYfd, -@@ -87,6 +88,7 @@ export { +@@ -94,6 +95,7 @@ export { expectsError, skipIfInspectorDisabled, skipIf32Bits, @@ -64,11 +64,11 @@ Index: node-v16.14.2/test/common/index.mjs getArrayBufferViews, getBufferSources, getTTYfd, -Index: node-v16.14.2/Makefile +Index: node-v18.9.0/Makefile =================================================================== ---- node-v16.14.2.orig/Makefile -+++ node-v16.14.2/Makefile -@@ -523,7 +523,8 @@ test-ci-js: | clear-stalled +--- node-v18.9.0.orig/Makefile ++++ node-v18.9.0/Makefile +@@ -524,7 +524,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 @@ -78,7 +78,7 @@ Index: node-v16.14.2/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) \ -@@ -716,7 +717,8 @@ apidocs_json = $(addprefix out/,$(apidoc +@@ -717,7 +718,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 @@ -88,10 +88,10 @@ Index: node-v16.14.2/Makefile echo "Skipping tools/doc/node_modules (no crypto)"; \ else \ cd tools/doc && $(call available-node,$(run-npm-ci)) \ -Index: node-v16.14.2/test/parallel/test-crypto-dh.js +Index: node-v18.9.0/test/parallel/test-crypto-dh.js =================================================================== ---- node-v16.14.2.orig/test/parallel/test-crypto-dh.js -+++ node-v16.14.2/test/parallel/test-crypto-dh.js +--- node-v18.9.0.orig/test/parallel/test-crypto-dh.js ++++ node-v18.9.0/test/parallel/test-crypto-dh.js @@ -167,7 +167,7 @@ assert.throws(() => { dh3.computeSecret(''); }, { message: common.hasOpenSSL3 ? @@ -101,44 +101,3 @@ Index: node-v16.14.2/test/parallel/test-crypto-dh.js // Invalid test: curve argument is undefined assert.throws( -Index: node-v16.14.2/test/parallel/test-zlib-dictionary-fail.js -=================================================================== ---- node-v16.14.2.orig/test/parallel/test-zlib-dictionary-fail.js -+++ node-v16.14.2/test/parallel/test-zlib-dictionary-fail.js -@@ -53,7 +53,7 @@ const input = Buffer.from([0x78, 0xBB, 0 - stream.on('error', common.mustCall(function(err) { - // It's not possible to separate invalid dict and invalid data when using - // the raw format -- assert.match(err.message, /invalid/); -+ assert.match(err.message, /(invalid|Operation-Ending-Supplemental Code is 0x12)/); - })); - - stream.write(input); -Index: node-v16.14.2/test/parallel/test-zlib-flush-drain-longblock.js -=================================================================== ---- node-v16.14.2.orig/test/parallel/test-zlib-flush-drain-longblock.js -+++ node-v16.14.2/test/parallel/test-zlib-flush-drain-longblock.js -@@ -16,7 +16,7 @@ zipper.write('A'.repeat(17000)); - zipper.flush(); - - let received = 0; --unzipper.on('data', common.mustCall((d) => { -+unzipper.on('data', common.mustCallAtLeast((d) => { - received += d.length; - }, 2)); - -Index: node-v16.14.2/test/parallel/test-zlib-from-string.js -=================================================================== ---- node-v16.14.2.orig/test/parallel/test-zlib-from-string.js -+++ node-v16.14.2/test/parallel/test-zlib-from-string.js -@@ -55,7 +55,9 @@ const expectedBase64Gzip = 'H4sIAAAAAAAA - 'sHnHNzRtagj5AQAA'; - - zlib.deflate(inputString, common.mustCall((err, buffer) => { -- assert.strictEqual(buffer.toString('base64'), expectedBase64Deflate); -+ zlib.unzip(buffer, common.mustCall((err, unzipped) => { -+ assert.strictEqual(unzipped.toString(), inputString); -+ })); - })); - - zlib.gzip(inputString, common.mustCall((err, buffer) => { diff --git a/node-v18.7.0.tar.xz b/node-v18.7.0.tar.xz deleted file mode 100644 index b2f342d..0000000 --- a/node-v18.7.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8834a33c92dfe6ba8903e6715caeaa25dff4657e703c54cd06ec113493e2c3c2 -size 36945328 diff --git a/node-v18.9.0.tar.xz b/node-v18.9.0.tar.xz new file mode 100644 index 0000000..af0c69b --- /dev/null +++ b/node-v18.9.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c75cc89afead976791900accde02a7b1e7e762702f0f6fa68eaacb01984d9654 +size 38309908 diff --git a/nodejs-libpath.patch b/nodejs-libpath.patch index 2712b95..2152360 100644 --- a/nodejs-libpath.patch +++ b/nodejs-libpath.patch @@ -1,7 +1,7 @@ -Index: node-v18.7.0/tools/install.py +Index: node-v18.9.0/tools/install.py =================================================================== ---- node-v18.7.0.orig/tools/install.py -+++ node-v18.7.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 import os import shutil @@ -39,20 +39,11 @@ Index: node-v18.7.0/tools/install.py else: assert 0 # unhandled action type -@@ -178,7 +183,7 @@ def files(action): - output_lib = 'libnode.' + variables.get('shlib_suffix') - action([output_prefix + output_lib], 'lib/' + output_lib) - if 'true' == variables.get('node_use_dtrace'): -- action(['out/Release/node.d'], 'lib/dtrace/node.d') -+ action(['out/Release/node.d'], libdir() + '/dtrace/node.d') - - # behave similarly for systemtap - action(['src/node.stp'], 'share/systemtap/tapset/') -Index: node-v18.7.0/lib/internal/modules/cjs/loader.js +Index: node-v18.9.0/lib/internal/modules/cjs/loader.js =================================================================== ---- node-v18.7.0.orig/lib/internal/modules/cjs/loader.js -+++ node-v18.7.0/lib/internal/modules/cjs/loader.js -@@ -1255,7 +1255,7 @@ Module._initPaths = function() { +--- 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() { path.resolve(process.execPath, '..') : path.resolve(process.execPath, '..', '..'); diff --git a/nodejs18.changes b/nodejs18.changes index 8e8ec4f..b2e078d 100644 --- a/nodejs18.changes +++ b/nodejs18.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Thu Sep 15 15:00:25 UTC 2022 - Adam Majer + +- Update to Nodejs 18.9.0: + * lib - add diagnostics channel for process and worker + * os - add machine method + * report - expose report public native apis + * src - expose environment RequestInterrupt api + * vm - include vm context in the embedded snapshot + +- Changes in 18.8.0: + * bootstrap: implement run-time user-land snapshots via + --build-snapshot and --snapshot-blob. See + * crypto: + + allow zero-length IKM in HKDF and in webcrypto PBKDF2 + + allow zero-length secret KeyObject + * deps: upgrade npm to 8.18.0 + * http: make idle http parser count configurable + * net: add local family + * src: print source map error source on demand + * tls: pass a valid socket on tlsClientError + +- dns.patch: upstreamed, removed +- nodejs-libpath.patch, versioned.patch: refreshed +- fix_ci_tests.patch: partially upstreamed +- openssl3_fixups.patch: fix unit tests with openssl 1.1.1 + ------------------------------------------------------------------- Thu Aug 18 10:41:57 UTC 2022 - Adam Majer diff --git a/nodejs18.spec b/nodejs18.spec index 21f8711..23d8102 100644 --- a/nodejs18.spec +++ b/nodejs18.spec @@ -31,7 +31,7 @@ %endif Name: nodejs18 -Version: 18.7.0 +Version: 18.9.0 Release: 0 # Double DWZ memory limits @@ -170,7 +170,8 @@ Patch133: rsa-pss-revert.patch # Use versioned binaries and paths Patch200: versioned.patch -Patch300: dns.patch +Patch303: openssl3_fixups.patch + BuildRequires: pkg-config BuildRequires: fdupes @@ -364,7 +365,7 @@ ExclusiveArch: not_buildable Provides: bundled(uvwasi) = 0.0.12 Provides: bundled(libuv) = 1.43.0 -Provides: bundled(v8) = 10.2.154.13 +Provides: bundled(v8) = 10.2.154.15 %if %{with intree_brotli} Provides: bundled(brotli) = 1.0.9 %else @@ -372,14 +373,14 @@ BuildRequires: pkgconfig(libbrotlidec) %endif -Provides: bundled(llhttp) = 6.0.7 +Provides: bundled(llhttp) = 6.0.9 Provides: bundled(ngtcp2) = 0.1.0-DEV -Provides: bundled(node-acorn) = 8.7.0 +Provides: bundled(node-acorn) = 8.8.0 Provides: bundled(node-acorn-walk) = 8.2.0 Provides: bundled(node-cjs-module-lexer) = 1.2.2 -Provides: bundled(node-corepack) = 0.12.1 -Provides: bundled(node-undici) = 5.8.0 +Provides: bundled(node-corepack) = 0.14.0 +Provides: bundled(node-undici) = 5.10.0 %description Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js @@ -408,7 +409,7 @@ Requires: nodejs-common Requires: nodejs18 = %{version} Provides: nodejs-npm = %{version} Obsoletes: nodejs-npm < 4.0.0 -Provides: npm(npm) = 8.13.2 +Provides: npm(npm) = 8.19.1 Provides: npm = %{version} %if 0%{?suse_version} >= 1500 %if %{node_version_number} >= 10 @@ -424,15 +425,15 @@ Provides: bundled(node-ansi-regex) = 5.0.1 Provides: bundled(node-ansi-styles) = 4.3.0 Provides: bundled(node-aproba) = 2.0.0 Provides: bundled(node-archy) = 1.0.0 -Provides: bundled(node-are-we-there-yet) = 3.0.0 +Provides: bundled(node-are-we-there-yet) = 3.0.1 Provides: bundled(node-asap) = 2.0.6 Provides: bundled(node-balanced-match) = 1.0.2 -Provides: bundled(node-bin-links) = 3.0.1 +Provides: bundled(node-bin-links) = 3.0.3 Provides: bundled(node-binary-extensions) = 2.2.0 Provides: bundled(node-brace-expansion) = 1.1.11 Provides: bundled(node-brace-expansion) = 2.0.1 Provides: bundled(node-builtins) = 5.0.1 -Provides: bundled(node-cacache) = 16.1.1 +Provides: bundled(node-cacache) = 16.1.3 Provides: bundled(node-chalk) = 4.1.2 Provides: bundled(node-chownr) = 2.0.0 Provides: bundled(node-cidr-regex) = 3.1.1 @@ -448,13 +449,14 @@ Provides: bundled(node-columnify) = 1.6.0 Provides: bundled(node-common-ancestor-path) = 1.0.1 Provides: bundled(node-concat-map) = 0.0.1 Provides: bundled(node-console-control-strings) = 1.1.0 +Provides: bundled(node-cssesc) = 3.0.0 Provides: bundled(node-debug) = 4.3.4 Provides: bundled(node-debuglog) = 1.0.1 Provides: bundled(node-defaults) = 1.0.3 Provides: bundled(node-delegates) = 1.0.0 Provides: bundled(node-depd) = 1.1.2 Provides: bundled(node-dezalgo) = 1.0.4 -Provides: bundled(node-diff) = 5.0.0 +Provides: bundled(node-diff) = 5.1.0 Provides: bundled(node-emoji-regex) = 8.0.0 Provides: bundled(node-encoding) = 0.1.13 Provides: bundled(node-env-paths) = 2.2.1 @@ -470,7 +472,7 @@ Provides: bundled(node-graceful-fs) = 4.2.10 Provides: bundled(node-has) = 1.0.3 Provides: bundled(node-has-flag) = 4.0.0 Provides: bundled(node-has-unicode) = 2.0.1 -Provides: bundled(node-hosted-git-info) = 5.0.0 +Provides: bundled(node-hosted-git-info) = 5.1.0 Provides: bundled(node-http-cache-semantics) = 4.1.0 Provides: bundled(node-http-proxy-agent) = 5.0.0 Provides: bundled(node-https-proxy-agent) = 5.0.1 @@ -482,39 +484,39 @@ Provides: bundled(node-indent-string) = 4.0.0 Provides: bundled(node-infer-owner) = 1.0.4 Provides: bundled(node-inflight) = 1.0.6 Provides: bundled(node-inherits) = 2.0.4 -Provides: bundled(node-ini) = 3.0.0 +Provides: bundled(node-ini) = 3.0.1 Provides: bundled(node-init-package-json) = 3.0.2 -Provides: bundled(node-ip) = 1.1.8 +Provides: bundled(node-ip) = 2.0.0 Provides: bundled(node-ip-regex) = 4.3.0 Provides: bundled(node-is-cidr) = 4.0.2 -Provides: bundled(node-is-core-module) = 2.9.0 +Provides: bundled(node-is-core-module) = 2.10.0 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-json-parse-even-better-errors) = 2.3.1 Provides: bundled(node-json-stringify-nice) = 1.1.4 Provides: bundled(node-jsonparse) = 1.3.1 -Provides: bundled(node-just-diff) = 5.0.3 -Provides: bundled(node-just-diff-apply) = 5.3.1 -Provides: bundled(node-libnpmaccess) = 6.0.3 -Provides: bundled(node-libnpmdiff) = 4.0.4 -Provides: bundled(node-libnpmexec) = 4.0.8 -Provides: bundled(node-libnpmfund) = 3.0.2 -Provides: bundled(node-libnpmhook) = 8.0.3 -Provides: bundled(node-libnpmorg) = 4.0.3 -Provides: bundled(node-libnpmpack) = 4.1.2 -Provides: bundled(node-libnpmpublish) = 6.0.4 -Provides: bundled(node-libnpmsearch) = 5.0.3 -Provides: bundled(node-libnpmteam) = 4.0.3 -Provides: bundled(node-libnpmversion) = 3.0.6 +Provides: bundled(node-just-diff) = 5.1.1 +Provides: bundled(node-just-diff-apply) = 5.4.1 +Provides: bundled(node-libnpmaccess) = 6.0.4 +Provides: bundled(node-libnpmdiff) = 4.0.5 +Provides: bundled(node-libnpmexec) = 4.0.12 +Provides: bundled(node-libnpmfund) = 3.0.3 +Provides: bundled(node-libnpmhook) = 8.0.4 +Provides: bundled(node-libnpmorg) = 4.0.4 +Provides: bundled(node-libnpmpack) = 4.1.3 +Provides: bundled(node-libnpmpublish) = 6.0.5 +Provides: bundled(node-libnpmsearch) = 5.0.4 +Provides: bundled(node-libnpmteam) = 4.0.4 +Provides: bundled(node-libnpmversion) = 3.0.7 Provides: bundled(node-lru-cache) = 6.0.0 -Provides: bundled(node-lru-cache) = 7.12.0 -Provides: bundled(node-make-fetch-happen) = 10.2.0 +Provides: bundled(node-lru-cache) = 7.13.2 +Provides: bundled(node-make-fetch-happen) = 10.2.1 Provides: bundled(node-minimatch) = 3.1.2 Provides: bundled(node-minimatch) = 5.1.0 Provides: bundled(node-minipass) = 3.3.4 Provides: bundled(node-minipass-collect) = 1.0.2 -Provides: bundled(node-minipass-fetch) = 2.1.0 +Provides: bundled(node-minipass-fetch) = 2.1.1 Provides: bundled(node-minipass-flush) = 1.0.5 Provides: bundled(node-minipass-json-stream) = 1.0.1 Provides: bundled(node-minipass-pipeline) = 1.2.4 @@ -526,26 +528,30 @@ Provides: bundled(node-ms) = 2.1.2 Provides: bundled(node-ms) = 2.1.3 Provides: bundled(node-mute-stream) = 0.0.8 Provides: bundled(node-negotiator) = 0.6.3 -Provides: bundled(node-node-gyp) = 9.0.0 +Provides: bundled(node-node-gyp) = 9.1.0 Provides: bundled(node-nopt) = 5.0.0 -Provides: bundled(node-normalize-package-data) = 4.0.0 +Provides: bundled(node-nopt) = 6.0.0 +Provides: bundled(node-normalize-package-data) = 4.0.1 Provides: bundled(node-npm-audit-report) = 3.0.0 Provides: bundled(node-npm-bundled) = 1.1.2 +Provides: bundled(node-npm-bundled) = 2.0.1 Provides: bundled(node-npm-install-checks) = 5.0.0 Provides: bundled(node-npm-normalize-package-bin) = 1.0.1 +Provides: bundled(node-npm-normalize-package-bin) = 2.0.0 Provides: bundled(node-npm-package-arg) = 9.1.0 -Provides: bundled(node-npm-packlist) = 5.1.1 -Provides: bundled(node-npm-pick-manifest) = 7.0.1 -Provides: bundled(node-npm-profile) = 6.2.0 -Provides: bundled(node-npm-registry-fetch) = 13.3.0 +Provides: bundled(node-npm-packlist) = 5.1.3 +Provides: bundled(node-npm-pick-manifest) = 7.0.2 +Provides: bundled(node-npm-profile) = 6.2.1 +Provides: bundled(node-npm-registry-fetch) = 13.3.1 Provides: bundled(node-npm-user-validate) = 1.0.1 Provides: bundled(node-npmlog) = 6.0.2 Provides: bundled(node-once) = 1.4.0 Provides: bundled(node-opener) = 1.5.2 Provides: bundled(node-p-map) = 4.0.0 -Provides: bundled(node-pacote) = 13.6.1 +Provides: bundled(node-pacote) = 13.6.2 Provides: bundled(node-parse-conflict-json) = 2.0.2 Provides: bundled(node-path-is-absolute) = 1.0.1 +Provides: bundled(node-postcss-selector-parser) = 6.0.10 Provides: bundled(node-proc-log) = 2.0.1 Provides: bundled(node-promise-all-reject-late) = 1.0.1 Provides: bundled(node-promise-call-limit) = 1.0.1 @@ -555,7 +561,7 @@ Provides: bundled(node-promzard) = 0.3.0 Provides: bundled(node-qrcode-terminal) = 0.12.0 Provides: bundled(node-read) = 1.0.7 Provides: bundled(node-read-cmd-shim) = 3.0.0 -Provides: bundled(node-read-package-json) = 5.0.1 +Provides: bundled(node-read-package-json) = 5.0.2 Provides: bundled(node-read-package-json-fast) = 2.0.3 Provides: bundled(node-readable-stream) = 3.6.0 Provides: bundled(node-readdir-scoped-modules) = 1.1.0 @@ -567,7 +573,7 @@ Provides: bundled(node-semver) = 7.3.7 Provides: bundled(node-set-blocking) = 2.0.0 Provides: bundled(node-signal-exit) = 3.0.7 Provides: bundled(node-smart-buffer) = 4.2.0 -Provides: bundled(node-socks) = 2.6.2 +Provides: bundled(node-socks) = 2.7.0 Provides: bundled(node-socks-proxy-agent) = 7.0.0 Provides: bundled(node-spdx-correct) = 3.1.1 Provides: bundled(node-spdx-exceptions) = 2.3.0 @@ -582,8 +588,8 @@ Provides: bundled(node-tar) = 6.1.11 Provides: bundled(node-text-table) = 0.2.0 Provides: bundled(node-tiny-relative-date) = 1.3.0 Provides: bundled(node-treeverse) = 2.0.0 -Provides: bundled(node-unique-filename) = 1.1.1 -Provides: bundled(node-unique-slug) = 2.0.2 +Provides: bundled(node-unique-filename) = 2.0.1 +Provides: bundled(node-unique-slug) = 3.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) = 4.0.0 @@ -592,7 +598,7 @@ Provides: bundled(node-wcwidth) = 1.0.1 Provides: bundled(node-which) = 2.0.2 Provides: bundled(node-wide-align) = 1.1.5 Provides: bundled(node-wrappy) = 1.0.2 -Provides: bundled(node-write-file-atomic) = 4.0.1 +Provides: bundled(node-write-file-atomic) = 4.0.2 Provides: bundled(node-yallist) = 4.0.0 %description -n npm18 @@ -660,7 +666,7 @@ tar Jxf %{SOURCE11} %endif %patch200 -p1 -%patch300 -p1 +%patch303 -p1 %if %{node_version_number} <= 12 # minimist security update - patch50 diff --git a/openssl3_fixups.patch b/openssl3_fixups.patch new file mode 100644 index 0000000..957e4e6 --- /dev/null +++ b/openssl3_fixups.patch @@ -0,0 +1,13 @@ +Index: node-v18.9.0/test/addons/openssl-providers/binding.cc +=================================================================== +--- node-v18.9.0.orig/test/addons/openssl-providers/binding.cc ++++ node-v18.9.0/test/addons/openssl-providers/binding.cc +@@ -1,6 +1,8 @@ + #include + #include ++#if OPENSSL_VERSION_MAJOR >= 3 + #include ++#endif + + namespace { + diff --git a/versioned.patch b/versioned.patch index ad3db8c..d099a05 100644 --- a/versioned.patch +++ b/versioned.patch @@ -8,10 +8,10 @@ management via update_alternatives. This is also important for generation of binary modules for multiple versions of NodeJS -Index: node-v18.7.0/Makefile +Index: node-v18.9.0/Makefile =================================================================== ---- node-v18.7.0.orig/Makefile -+++ node-v18.7.0/Makefile +--- node-v18.9.0.orig/Makefile ++++ node-v18.9.0/Makefile @@ -55,7 +55,7 @@ BUILDTYPE_LOWER := $(shell echo $(BUILDT EXEEXT := $(shell $(PYTHON) -c \ "import sys; print('.exe' if sys.platform == 'win32' else '')") @@ -21,10 +21,10 @@ Index: node-v18.7.0/Makefile NODE ?= ./$(NODE_EXE) NODE_G_EXE = node_g$(EXEEXT) NPM ?= ./deps/npm/bin/npm-cli.js -Index: node-v18.7.0/tools/install.py +Index: node-v18.9.0/tools/install.py =================================================================== ---- node-v18.7.0.orig/tools/install.py -+++ node-v18.7.0/tools/install.py +--- node-v18.9.0.orig/tools/install.py ++++ node-v18.9.0/tools/install.py @@ -86,7 +86,7 @@ def uninstall(paths, dst): try_remove(path, dst) @@ -67,16 +67,7 @@ Index: node-v18.7.0/tools/install.py output_prefix = 'out/Release/' if is_windows: -@@ -186,7 +186,7 @@ def files(action): - action(['out/Release/node.d'], libdir() + '/dtrace/node.d') - - # behave similarly for systemtap -- action(['src/node.stp'], 'share/systemtap/tapset/') -+ action(['src/node.stp'], 'share/systemtap/tapset/node18.stp') - - action(['deps/v8/tools/gdbinit'], 'share/doc/node/') - action(['deps/v8/tools/lldb_commands.py'], 'share/doc/node/') -@@ -194,7 +194,7 @@ def files(action): +@@ -189,7 +189,7 @@ def files(action): if 'freebsd' in sys.platform or 'openbsd' in sys.platform: action(['doc/node.1'], 'man/man1/') else: @@ -85,7 +76,7 @@ Index: node-v18.7.0/tools/install.py if 'true' == variables.get('node_install_npm'): npm_files(action) -@@ -281,28 +281,28 @@ def headers(action): +@@ -276,28 +276,28 @@ def headers(action): 'src/node_buffer.h', 'src/node_object_wrap.h', 'src/node_version.h', @@ -122,10 +113,10 @@ Index: node-v18.7.0/tools/install.py if sys.platform == 'zos': zoslibinc = os.environ.get('ZOSLIB_INCLUDES') -Index: node-v18.7.0/doc/node.1 +Index: node-v18.9.0/doc/node.1 =================================================================== ---- node-v18.7.0.orig/doc/node.1 -+++ node-v18.7.0/doc/node.1 +--- node-v18.9.0.orig/doc/node.1 ++++ node-v18.9.0/doc/node.1 @@ -30,24 +30,24 @@ .Dt NODE 1 . @@ -155,10 +146,10 @@ Index: node-v18.7.0/doc/node.1 .Op Fl -v8-options . .\"====================================================================== -Index: node-v18.7.0/src/node.stp +Index: node-v18.9.0/src/node.stp =================================================================== ---- node-v18.7.0.orig/src/node.stp -+++ node-v18.7.0/src/node.stp +--- node-v18.9.0.orig/src/node.stp ++++ node-v18.9.0/src/node.stp @@ -19,7 +19,7 @@ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -231,12 +222,12 @@ Index: node-v18.7.0/src/node.stp { scavenge = 1 << 0; compact = 1 << 1; -Index: node-v18.7.0/deps/npm/man/man1/npm.1 +Index: node-v18.9.0/deps/npm/man/man1/npm.1 =================================================================== ---- node-v18.7.0.orig/deps/npm/man/man1/npm.1 -+++ node-v18.7.0/deps/npm/man/man1/npm.1 +--- node-v18.9.0.orig/deps/npm/man/man1/npm.1 ++++ node-v18.9.0/deps/npm/man/man1/npm.1 @@ -1,6 +1,6 @@ - .TH "NPM" "1" "July 2022" "" "" + .TH "NPM" "1" "September 2022" "" "" .SH "NAME" -\fBnpm\fR \- javascript package manager +\fBnpm18\fR \- javascript package manager @@ -306,10 +297,10 @@ Index: node-v18.7.0/deps/npm/man/man1/npm.1 +npm18 help publish .RE -Index: node-v18.7.0/src/node_main.cc +Index: node-v18.9.0/src/node_main.cc =================================================================== ---- node-v18.7.0.orig/src/node_main.cc -+++ node-v18.7.0/src/node_main.cc +--- node-v18.9.0.orig/src/node_main.cc ++++ node-v18.9.0/src/node_main.cc @@ -122,6 +122,7 @@ int main(int argc, char* argv[]) { #endif // Disable stdio buffering, it interacts poorly with printf() @@ -318,10 +309,10 @@ Index: node-v18.7.0/src/node_main.cc setvbuf(stdout, nullptr, _IONBF, 0); setvbuf(stderr, nullptr, _IONBF, 0); return node::Start(argc, argv); -Index: node-v18.7.0/tools/test.py +Index: node-v18.9.0/tools/test.py =================================================================== ---- node-v18.7.0.orig/tools/test.py -+++ node-v18.7.0/tools/test.py +--- node-v18.9.0.orig/tools/test.py ++++ node-v18.9.0/tools/test.py @@ -948,7 +948,7 @@ class Context(object): if self.vm is not None: return self.vm @@ -331,10 +322,10 @@ Index: node-v18.7.0/tools/test.py else: name = 'out/%s.%s/node' % (arch, mode) -Index: node-v18.7.0/node.gyp +Index: node-v18.9.0/node.gyp =================================================================== ---- node-v18.7.0.orig/node.gyp -+++ node-v18.7.0/node.gyp +--- node-v18.9.0.orig/node.gyp ++++ node-v18.9.0/node.gyp @@ -24,8 +24,8 @@ 'node_use_openssl%': 'true', 'node_shared_openssl%': 'false', @@ -346,10 +337,10 @@ Index: node-v18.7.0/node.gyp 'node_intermediate_lib_type%': 'static_library', 'node_builtin_modules_path%': '', # We list the deps/ files out instead of globbing them in js2c.py since we -Index: node-v18.7.0/deps/npm/man/man1/npx.1 +Index: node-v18.9.0/deps/npm/man/man1/npx.1 =================================================================== ---- node-v18.7.0.orig/deps/npm/man/man1/npx.1 -+++ node-v18.7.0/deps/npm/man/man1/npx.1 +--- node-v18.9.0.orig/deps/npm/man/man1/npx.1 ++++ node-v18.9.0/deps/npm/man/man1/npx.1 @@ -5,10 +5,10 @@ .P .RS 2