Sync from SUSE:SLFO:Main nodejs20 revision a27b41c9f55821fde6f0e4713c2dbbd6

This commit is contained in:
Adrian Schröter 2024-06-08 17:39:20 +02:00
parent 54578ff8a0
commit 411d2b01d3
11 changed files with 372 additions and 317 deletions

View File

@ -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

Binary file not shown.

View File

@ -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');

View File

@ -2,10 +2,10 @@ Author: Adam Majer <amajer@suse.de>
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',

View File

@ -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'

BIN
node-v20.11.1.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
node-v20.12.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -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, '..', '..');

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Tue Apr 9 12:30:22 UTC 2024 - Adam Majer <adam.majer@suse.de>
- 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 <adam.majer@suse.de>
- 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 <adam.majer@suse.de>
@ -11,7 +44,7 @@ Fri Feb 16 16:04:46 UTC 2024 - Adam Majer <adam.majer@suse.de>
* (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 <adam.majer@suse.de>

View File

@ -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 <<EOF
binary=%{_bindir}/corepack%{node_version_number}
man=corepack%{node_version_number}.1
EOF
%endif
# We need to own license directory on old versions of SLE
%if 0%{?suse_version} < 1500
@ -1064,6 +1063,14 @@ make test-ci
%defattr(-, root, root)
%{_bindir}/corepack%{node_version_number}
%{_libdir}/node_modules/corepack%{node_version_number}
%dir %{_datadir}/libalternatives/corepack
%{_datadir}/libalternatives/corepack/%{node_version_number}.conf
%if ! %{with libalternatives}
%ghost %{_bindir}/corepack-default
%ghost %{_mandir}/man1/corepack.1%{ext_man}
%ghost %{_sysconfdir}/alternatives/corepack-default
%ghost %{_sysconfdir}/alternatives/corepack.1%{ext_man}
%endif
%endif
%files devel
@ -1088,6 +1095,11 @@ update-alternatives --remove node-default %{_bindir}/node%{node_version_number}
update-alternatives --remove npm-default %{_bindir}/npm%{node_version_number}
update-alternatives --remove npx-default %{_bindir}/npx%{node_version_number}
%if %{node_version_number} >= 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

View File

@ -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',