diff --git a/SHASUMS256.txt b/SHASUMS256.txt index b3f7b85..02a781f 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 +2a75c3cc9ed139b2ee82be709a04c171ed2d96d962082d4ab5fbf7f486846f4f node-v20.12.1-aix-ppc64.tar.gz +70f9921efbebd58dbcc77ee40d1e64fb6d27bb48a5befdcad9ad172287315df4 node-v20.12.1-arm64.msi +65df8cb0724e3a58c7757b75a70cc1057e1f67ffc5e852bfe6241de0b37c70a0 node-v20.12.1-darwin-arm64.tar.gz +f8a9a78dd9130db80844132bcef6045ceaa51166fc8f4223a97d82a99b87a946 node-v20.12.1-darwin-arm64.tar.xz +f5dc3c71c87c58c9b019d9f85302db3a6a6c47167c5a0480b697f153d02ac316 node-v20.12.1-darwin-x64.tar.gz +7ca444b4f05c588f27eb96e960dd07de98c18e20aaad2c05ef6cf2cee2f2a71a node-v20.12.1-darwin-x64.tar.xz +170844da1e1e2c853ae8e998734ce2a4d888d922aa575975d279104b81455f46 node-v20.12.1-headers.tar.gz +172cbe26f23b4f7d28dc4cdc1e05fa8c9586bc0be113a599be770f723b13e556 node-v20.12.1-headers.tar.xz +6eb199eaa4f83a729242c69792a126cb58ca6a60d791dffd9cedb4cfd32b96c0 node-v20.12.1-linux-arm64.tar.gz +cce8245b22953495efa105bf37621cfee0b62d76e330bd7899a0e702676a884b node-v20.12.1-linux-arm64.tar.xz +d4058aee344df896215eabbf367bbc9bf6504531e75016081565416c6e335e2a node-v20.12.1-linux-armv7l.tar.gz +01a98fbebd2e31a1de4aa174215765f4d906a920ec4120becbb4b572e1b379a5 node-v20.12.1-linux-armv7l.tar.xz +f79c53a39c559e35da24e67a9ca85557bc54a0560a34bea67c4610ac7007ac0c node-v20.12.1-linux-ppc64le.tar.gz +31e4ad7a8696bb2b8cc0169db1657149a19a759e70cd9997d1aeed2d7e825cc4 node-v20.12.1-linux-ppc64le.tar.xz +2cc1c25374995aed79194a50166927dcb2b10473683407a173119d45c42de419 node-v20.12.1-linux-s390x.tar.gz +8bf2fe299750f4591cd3b96f83fa591894550fcce7601b2c682c87f73b1a94ce node-v20.12.1-linux-s390x.tar.xz +da2f590a39717792dcf8c4bf6b9e4b269601e6ce3a3f150a3c4b379f7eea6d83 node-v20.12.1-linux-x64.tar.gz +042844eeea4e19fa46687cc028dd5e323602d81784a9da8386c24463e3984e11 node-v20.12.1-linux-x64.tar.xz +17efd39f30e46b82ce94061ccee058fce3e1c3f1e5538a3f30463c52e5ab82e8 node-v20.12.1-win-arm64.7z +70a8d7a444ffd87f2d06477ccb20c58d8791caaf7be4a1eddf5a9578c81b8028 node-v20.12.1-win-arm64.zip +2628e9698f3bdada3fd36096fba0433fbd8f85832350bd5d2537f8f0ac50320f node-v20.12.1-win-x64.7z +629e2619ef88c5a8ce9944201f00ca3124f079c43ceef7ab0826c6fd19e09d75 node-v20.12.1-win-x64.zip +552c6fec6a0b28e9c49ad8574e4e67c35d9cfa718a3f940552e594e948caa6d9 node-v20.12.1-win-x86.7z +5883ad36b8607801cdb4d5aa6b6c0683df782daecda3ad761204916fbcea860c node-v20.12.1-win-x86.zip +d0a6cfef17f54ceb4cff874cae03725259c2ac62999a97add026bb0e65271065 node-v20.12.1-x64.msi +8cfaf9c5ca56b469ad8a7d9e2119cbfdc086168651b2355946c6b6beac529be9 node-v20.12.1-x86.msi +b1f762be19806ab5070e0df75f585da48238edc1dcf86c57d09a3e16db270fac node-v20.12.1.pkg +b9bef0314e12773ef004368ee56a2db509a948d4170b9efb07441bac1f1407a0 node-v20.12.1.tar.gz +6840d490ba4d1d51655e0fbe1209956a15db405510d7ea166bad98a8c9d37a4e node-v20.12.1.tar.xz +73d58b74b79875417f20c73b0d64087d4e1cf817cd718959dafec76340b36616 win-arm64/node.exe +e780ac993543d4705ba5bffa79a53854fcb5e77b6845464074ca590dab194539 win-arm64/node.lib +d20319df9c67ffbed2866cd41f86b94570368f1e62fcd7cc6aaf813bd978a00a win-arm64/node_pdb.7z +6da9206f3cba1f6ff0551f1ce61ab9832d11f151d97ee1870fd17e0c09b8edf8 win-arm64/node_pdb.zip +ea392e1b5503f2294c24f2ff17a01471faab98c3ec67d75df5754bb6ee0a7b71 win-x64/node.exe +c6e9da74f78f98a465edfb8b51c84c9d33a047a71c4624a854b2af2b4e6a0d50 win-x64/node.lib +0966f51fc43f851ddd1a8581480be83c730abf7ade1a7744c702fcfcff965759 win-x64/node_pdb.7z +f8f78377ce2cc73f84dae58955caaa876b39a1a1c36bde48edad7469165bd205 win-x64/node_pdb.zip +a59bacb81d7440f0b4897d0cb86637a485876be98e6b2be7a476736e81364ce7 win-x86/node.exe +08399fc4d42a0ce0bad33dd9a9bcc9c845bfb0d5d1393e8c330b5a243411d8a9 win-x86/node.lib +66d0e23c21410cd35a1cd61ac4ada5fa3d8f3dd38a2de53c337b689ba71a23c6 win-x86/node_pdb.7z +47c9d17824c96cc51585d5f693be97ba4f9d674ab86548f1af78143fc862b008 win-x86/node_pdb.zip diff --git a/SHASUMS256.txt.sig b/SHASUMS256.txt.sig index 4841c12..62a60d4 100644 Binary files a/SHASUMS256.txt.sig and b/SHASUMS256.txt.sig differ diff --git a/c-ares-fixes.patch b/c-ares-fixes.patch deleted file mode 100644 index 6b0054c..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/fix_ci_tests.patch b/fix_ci_tests.patch index 7b795ea..ab2797b 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.12.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.12.1.orig/test/parallel/test-module-loading-globalpaths.js ++++ node-v20.12.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.12.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.12.1.orig/test/parallel/test-tls-passphrase.js ++++ node-v20.12.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.12.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.12.1.orig/test/parallel/test-repl-envvars.js ++++ node-v20.12.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.12.1/Makefile =================================================================== ---- node-v20.11.0.orig/Makefile -+++ node-v20.11.0/Makefile -@@ -545,7 +545,8 @@ test-ci-js: | clear-stalled +--- node-v20.12.1.orig/Makefile ++++ node-v20.12.1/Makefile +@@ -389,7 +389,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 +@@ -560,7 +559,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 +@@ -742,7 +742,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,10 +76,10 @@ 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.12.1/tools/test.py =================================================================== ---- node-v20.11.0.orig/tools/test.py -+++ node-v20.11.0/tools/test.py +--- node-v20.12.1.orig/tools/test.py ++++ node-v20.12.1/tools/test.py @@ -1362,7 +1362,7 @@ def BuildOptions(): result.add_option("-s", "--suite", help="A test suite", default=[], action="append") @@ -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.12.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.12.1.orig/test/parallel/test-crypto-dh.js ++++ node-v20.12.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.12.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.12.1.orig/test/parallel/test-node-output-errors.mjs ++++ node-v20.12.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.12.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.12.1.orig/test/parallel/test-crypto-fips.js ++++ node-v20.12.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.12.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.12.1.orig/test/parallel/test-node-output-v8-warning.mjs ++++ node-v20.12.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 @@ -149,3 +142,15 @@ Index: node-v20.11.0/test/parallel/test-node-output-v8-warning.mjs } const common = snapshot .transform(snapshot.replaceWindowsLineEndings, snapshot.replaceWindowsPaths, replaceNodeVersion); +Index: node-v20.12.1/benchmark/misc/startup-cli-version.js +=================================================================== +--- node-v20.12.1.orig/benchmark/misc/startup-cli-version.js ++++ node-v20.12.1/benchmark/misc/startup-cli-version.js +@@ -11,7 +11,6 @@ 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/npx-cli.js', + 'deps/npm/bin/npm-cli.js', + 'deps/corepack/dist/corepack.js', diff --git a/node-gyp-addon-gypi.patch b/node-gyp-addon-gypi.patch index f37e108..1a4e7fa 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 7a95e18..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.12.1.tar.xz b/node-v20.12.1.tar.xz new file mode 100644 index 0000000..b638419 --- /dev/null +++ b/node-v20.12.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6840d490ba4d1d51655e0fbe1209956a15db405510d7ea166bad98a8c9d37a4e +size 41743360 diff --git a/nodejs-libpath.patch b/nodejs-libpath.patch index ed46a24..7416139 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 0a45f5e..7824ee1 100644 --- a/nodejs20.changes +++ b/nodejs20.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +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 +44,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 e36639c..0b4014f 100644 --- a/nodejs20.spec +++ b/nodejs20.spec @@ -31,7 +31,7 @@ %endif Name: nodejs20 -Version: 20.11.1 +Version: 20.12.1 Release: 0 # Double DWZ memory limits @@ -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.27.0 %endif %if ! 0%{with intree_icu} BuildRequires: pkgconfig(icu-i18n) >= 71 %else -Provides: bundled(icu) = 73.2 +Provides: bundled(icu) = 74.2 %endif %if ! 0%{with intree_nghttp2} BuildRequires: libnghttp2-devel >= 1.41.0 %else -Provides: bundled(nghttp2) = 1.58.0 +Provides: bundled(nghttp2) = 1.60.0 %endif %if 0%{with valgrind_tests} @@ -370,34 +369,31 @@ ExclusiveArch: not_buildable %endif %endif -Provides: bundled(uvwasi) = 0.0.19 +Provides: bundled(uvwasi) = 0.0.20 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(llhttp) = 8.1.2 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(base64) = 0.5.2 +Provides: bundled(simdutf) = 4.0.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.6 + +Provides: bundled(node-@fastify/busboy) = 2.1.1 +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-corepack) = 0.25.2 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-undici) = 5.28.4 %description Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js @@ -426,7 +422,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.5.0 Provides: npm = %{version} %if 0%{?suse_version} >= 1500 %if %{node_version_number} >= 10 @@ -435,7 +431,6 @@ 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-aggregate-error) = 3.1.0 Provides: bundled(node-ansi-regex) = 5.0.1 @@ -444,15 +439,13 @@ 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-are-we-there-yet) = 4.0.2 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-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-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 @@ -472,16 +465,13 @@ 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 @@ -492,19 +482,18 @@ Provides: bundled(node-gauge) = 5.0.1 Provides: bundled(node-glob) = 10.3.10 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.1 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-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-core-module) = 2.13.1 @@ -513,30 +502,31 @@ 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.2 +Provides: bundled(node-libnpmdiff) = 6.0.7 +Provides: bundled(node-libnpmexec) = 7.0.8 +Provides: bundled(node-libnpmfund) = 5.0.5 +Provides: bundled(node-libnpmhook) = 10.0.1 +Provides: bundled(node-libnpmorg) = 6.0.2 +Provides: bundled(node-libnpmpack) = 6.0.7 +Provides: bundled(node-libnpmpublish) = 9.0.4 +Provides: bundled(node-libnpmsearch) = 7.0.1 +Provides: bundled(node-libnpmteam) = 6.0.1 +Provides: bundled(node-libnpmversion) = 5.0.2 +Provides: bundled(node-lru-cache) = 10.2.0 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-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 @@ -556,22 +546,21 @@ 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-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-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) = 17.0.6 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-postcss-selector-parser) = 6.0.15 Provides: bundled(node-proc-log) = 3.0.0 -Provides: bundled(node-process) = 0.11.10 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 @@ -580,25 +569,23 @@ Provides: bundled(node-read) = 2.1.0 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-semver) = 7.6.0 Provides: bundled(node-set-blocking) = 2.0.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.2.2 Provides: bundled(node-smart-buffer) = 4.2.0 -Provides: bundled(node-socks) = 2.7.1 +Provides: bundled(node-socks) = 2.8.0 Provides: bundled(node-socks-proxy-agent) = 8.0.2 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-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 @@ -608,7 +595,7 @@ Provides: bundled(node-tar) = 6.2.0 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 @@ -681,40 +668,39 @@ tar Jxf %{SOURCE5} popd %if %{node_version_number} >= 19 -%patch308 -p1 +%patch -P 308 -p1 %else %endif %endif -%patch1 -p1 -%patch3 -p1 +%patch -P 1 -p1 +%patch -P 3 -p1 %if %{node_version_number} <= 12 && 0%{?suse_version} < 1500 -%patch5 -p1 +%patch -P 5 -p1 %endif -%patch7 -p1 +%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 106 -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 @@ -901,6 +887,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 +911,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 +1139,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/versioned.patch b/versioned.patch index 3231cee..bb9ccd9 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.12.0/Makefile =================================================================== ---- node-v20.5.1.orig/Makefile -+++ node-v20.5.1/Makefile +--- node-v20.12.0.orig/Makefile ++++ node-v20.12.0/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.12.0/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.12.0.orig/tools/install.py ++++ node-v20.12.0/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): + 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 'freebsd' in sys.platform or 'openbsd' in sys.platform: - action(['doc/node.1'], 'man/man1/') + 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.12.0/doc/node.1 =================================================================== ---- node-v20.5.1.orig/doc/node.1 -+++ node-v20.5.1/doc/node.1 +--- node-v20.12.0.orig/doc/node.1 ++++ node-v20.12.0/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.12.0/src/node_main.cc =================================================================== ---- node-v20.5.1.orig/src/node_main.cc -+++ node-v20.5.1/src/node_main.cc +--- node-v20.12.0.orig/src/node_main.cc ++++ node-v20.12.0/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.12.0/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.12.0.orig/tools/test.py ++++ node-v20.12.0/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.12.0/node.gyp =================================================================== ---- node-v20.5.1.orig/node.gyp -+++ node-v20.5.1/node.gyp -@@ -23,8 +23,8 @@ +--- node-v20.12.0.orig/node.gyp ++++ node-v20.12.0/node.gyp +@@ -24,8 +24,8 @@ 'node_shared_openssl%': 'false', 'node_v8_options%': '', 'node_enable_v8_vtunejit%': 'false',