SHA256
1
0

- Update to 20.10.0:

* --experimental-default-type flag to flip module defaults
  * The new flag --experimental-detect-module can be used to
  automatically run ES modules when their syntax can be detected.
  * Added flush option in file system functions for fs.writeFile functions
  * Added experimental WebSocket client
  * vm: fix V8 compilation cache support for vm.Script. This fixes
  performance regression since v16.x when support for
  importModuleDynamically was added to vm.Script
For details, see
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.10.0
- nodejs20-zlib-1.3.patch: upstreamed, removed
- fix_ci_tests.patch, node-gyp-addon-gypi.patch: refreshed

- Update to 20.9.0:
  * No changes, just LTS transition

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs20?expand=0&rev=50
This commit is contained in:
Adam Majer 2023-11-23 10:43:36 +00:00 committed by Git OBS Bridge
parent 7da7de5798
commit 5b4702fb97
9 changed files with 171 additions and 192 deletions

View File

@ -1,41 +1,41 @@
eea26c68c1f4799fc3ac3f2da9bfd4038b987d51d19d9c4ba8b145b3eee53c7d node-v20.8.1-aix-ppc64.tar.gz
93a5796c02c4e97378d6d0e2fcd8ac7b39418d97c21cf9aa6d9aa605814a1bff node-v20.8.1-arm64.msi
5451f3651c89cd8f224e74961c84e68f4c8d63fe288431a3223b0465cc8b961e node-v20.8.1-darwin-arm64.tar.gz
147e700ec86f8dbb8428600675673de303eb8710273b531031e5e9f3cde64644 node-v20.8.1-darwin-arm64.tar.xz
92b00b357c311eb45dd86516b032d80c63894aa069821c3ae3c8b3bbd00fdb9a node-v20.8.1-darwin-x64.tar.gz
679843744b44ac897479fd53340fdc6d96e5b5c139e90b9cdcbad8a403eaf807 node-v20.8.1-darwin-x64.tar.xz
b2db83feb961721f17142e792643974b04456cf2da34c22da3ac29cd00123226 node-v20.8.1-headers.tar.gz
298e41b8d7fd17738049f9c5f6e315bb0f935ab90f9b542d1a55cf6488cc3d67 node-v20.8.1-headers.tar.xz
c0420fef5f6e637888be3f400e99297bb844932166fbad5ffa4f188ce59cfcdf node-v20.8.1-linux-arm64.tar.gz
fec6edefa7ff959b29c7887735582ff2a2211b36a65a539da0f37db6797b7cff node-v20.8.1-linux-arm64.tar.xz
679fb1cc74ecc460b4a8178b90be2847af28ee817fa2f39d986c832405c0ee1e node-v20.8.1-linux-armv7l.tar.gz
f8370aaecd2cc2f26f8571aed7ffcf8efb6dc884a9a5e8e7a5e225e5ccfe6b74 node-v20.8.1-linux-armv7l.tar.xz
162bbf69b2c1aefc8163c371324cfd70582b8527e7623436d6e53823987a23d2 node-v20.8.1-linux-ppc64le.tar.gz
648d80fcb4a160e3078a66b3fc8c8eac669d28de3cfa533abed0bf8cb5af5785 node-v20.8.1-linux-ppc64le.tar.xz
d6a384293f18ba49b7507b67ce2ca1958050930768cae817d4705c3d3e672af2 node-v20.8.1-linux-s390x.tar.gz
4aa14458f2bac422989cc4526c431b14743c2f07889559fd1f2163cc6f3071f4 node-v20.8.1-linux-s390x.tar.xz
a42ac1f81704b14c7d07ddde989a8e290087b0487ee3f47185eb0240ba518195 node-v20.8.1-linux-x64.tar.gz
44096f6276cf735f3b25f47ffaaa1629b0abad4d9932c3a77d9dcdc743a3ff92 node-v20.8.1-linux-x64.tar.xz
abd016ae0dd943b196510e67277542c9cd31d24fbfa6834116a485d2c1d2b882 node-v20.8.1-win-arm64.7z
fbf7709c815f37577995d04b2cc41764033f06545c2c142d253ed257fe497960 node-v20.8.1-win-arm64.zip
6b3cb0e8d347ac52f0c45ba27a8c6f099b8053f18dfe7f6802e21c0b312aaedf node-v20.8.1-win-x64.7z
90b27dab351a582edd3a8de2e8aaa80d95c41f19fe92ebbef83b9a45bac95d00 node-v20.8.1-win-x64.zip
ea692ad4bb1e80156aa6143c39afda2cfd0d46c36e14a1e03064a5bd084f05cc node-v20.8.1-win-x86.7z
ba90977d0bee226db2dc89f55a3964eee4d844caef96e4db6994e1800d9c7dce node-v20.8.1-win-x86.zip
c364cda2bab611b08404d5f8c93913b0007b3a19830a27dee5ff5d466807f5eb node-v20.8.1-x64.msi
4f3daffb3124c08a31ebeca0a6b9aa4e4effcd5650c1fe1274c61343fb46689c node-v20.8.1-x86.msi
097897aa8489962e955700d75238230e8295fbc02a27bcdd53d4462ead2c8c7e node-v20.8.1.pkg
18aed385341bc16c7802e9d03189d1d0ad17b87923b2cdf11714d36534783b6a node-v20.8.1.tar.gz
f799c66f6a6386bb8ac2c75a378f740c455e97f1fe964393dd39c9f9f6efbc70 node-v20.8.1.tar.xz
60a3d73fb1d376e6ed0a8b8e6734ab6c80aaa031fa023fd1be42276cc80dff93 win-arm64/node.exe
90cb9fbf80b276f2ed039533a8b67f1aeaf204f0aaf6396b290ae9c4dcd6d690 win-arm64/node.lib
6887174c70c5ca8941b9e2bad9b02bb5413158590ec5457f4497bb66d685a545 win-arm64/node_pdb.7z
3824fb4b85c8f8086f0c33c4e906c1ac448cd6259949a06d6956e2b1b300befe win-arm64/node_pdb.zip
ccc62758d85434502141611b18af5fdbbc5c9087facaf4a7900d454f3d2fdd48 win-x64/node.exe
45d2519b3be3655e7b52ffcee613a484c38e768a59e9b9d4f08a3580d76a768a win-x64/node.lib
e98706e1126309275692c0d318a0f1c54a50ae2447c11e3bcc1c6c261dced63a win-x64/node_pdb.7z
9840a61ea4dea5128c20632f367e1bed2d2ace5fa008fe29b3ae28a9f4c21805 win-x64/node_pdb.zip
1c6ddd284a55664f0b2514bed7fcfe1fafcfec06f6dd07e82fefad9bb10aac60 win-x86/node.exe
0809f4b2f415581f7d932d80be4ac3ff7c4344421f7cccb34ff2f30c18c2ba0c win-x86/node.lib
63f95d51077f2dd0360c57cc4286cc74a740391b04b63fd04914583007e8cf10 win-x86/node_pdb.7z
108b21fc46465197cb4c07df4b25143b2a5d348b30e0d64c2536472fd94cba3e win-x86/node_pdb.zip
97642ac79c8ec4778c20412256fdc9cd1c3ba782d67134fa43e17abdfe2dd3eb node-v20.10.0-aix-ppc64.tar.gz
b7ac2932c6982e5c433d00485fd1914d5f87a474dd575f29e81bed03155585a2 node-v20.10.0-arm64.msi
68b93099451d77aac116cf8fce179cabcf53fec079508dc6b39d3a086fb461a8 node-v20.10.0-darwin-arm64.tar.gz
39b3780ade080ea0b294f7b0df97e31d8fc19dce3452cd6f98f0576f64747df9 node-v20.10.0-darwin-arm64.tar.xz
5ff5e8abd3eea6e5f507eb6677554f5b2188eedef654096aa4168a9941e91a32 node-v20.10.0-darwin-x64.tar.gz
2f3ed01243e4311476e2c0d8a361fd8b3909278935b09af83cc875e03df95e07 node-v20.10.0-darwin-x64.tar.xz
536b07207e38d7ed316480b036ccc19ebbe60ac0cb4974f9b4fdd8eea41e7653 node-v20.10.0-headers.tar.gz
a6bfda44c5a082a6a2af3f78ee9d7a516704ff489d6f47f2733f70238511031f node-v20.10.0-headers.tar.xz
8354cdb7cb2ad585ee6bb24819f5229bb48c118c5dabb282dfed153d766a68a4 node-v20.10.0-linux-arm64.tar.gz
21f19d1f9d2345c5a4ed416c21d89cec20fe4b0715255d49463a4d37e283b4c6 node-v20.10.0-linux-arm64.tar.xz
cf0c2838a6bb4aa9422084c89fd9447dfc61915754859ac9b1178ea57c953baf node-v20.10.0-linux-armv7l.tar.gz
2e84bc3051554c123216122daa23e3933472992a6552963dbda3a18866c4b34a node-v20.10.0-linux-armv7l.tar.xz
4ebedbc3a02e620aa4f1460cb336bcc93c958a2720c14e339f13cd9bc0be606b node-v20.10.0-linux-ppc64le.tar.gz
d2c5ecc45e8b47308e22b9f92cf11188f9d218d0d974d0f4b419f57c1fbc6e16 node-v20.10.0-linux-ppc64le.tar.xz
70c6279156bc28f410d5c1d89d777c8a447621c5f9e1c4a3a270a3c3245e9a38 node-v20.10.0-linux-s390x.tar.gz
97a689117873cb46c7416185b3d8207d44846f69a33d4e143c1c3c74b15fa57a node-v20.10.0-linux-s390x.tar.xz
d3f0908a9d9190a8525c5b9a716ed91bb57e908555841b0c47f75b2a001ff91b node-v20.10.0-linux-x64.tar.gz
3fe4ec5d70c8b4ffc1461dec83ab23fc70124e137c4cbbe1ccc9d6ae6ec04a7d node-v20.10.0-linux-x64.tar.xz
31e94e30b14a74f16f5d2a2d6e353e7007b2357397dff6ef285d498ec6ee1093 node-v20.10.0.pkg
89680f4ebbf36e0a199be4ed416701fa167aad8f86111c87a3db9207b5d56baa node-v20.10.0.tar.gz
32eb256eebd8cacd5574e6631e54b42be7ec8ebe25ad47a8ca685403bad15535 node-v20.10.0.tar.xz
500597317615df3eac27022ccf5d0cc719c60a18373a47a4d0786fd8d746200d node-v20.10.0-win-arm64.7z
cc4fd729b4646db06535248d349bcc2883ed1fa3804c31d447e72c9ec4e53566 node-v20.10.0-win-arm64.zip
4d0f27ec72103f67eb904e7c17d2b7fb99816957b1cff9df1bd82a6507f1f265 node-v20.10.0-win-x64.7z
e5b861814a97e28ae7ac06a34e88fd5e0565b447d270c26e20b5ef60bf0aaaf9 node-v20.10.0-win-x64.zip
567da0e16ac2f06757c735f14689b1a38ff38bb24df53561ada9ab71c9ba1f79 node-v20.10.0-win-x86.7z
4f46161a6252043eba426bb75be5dc7140a99add024011d101bda8e00756dcfa node-v20.10.0-win-x86.zip
90ae1666c56988a6cc38424e8b9bffd05defe0e892a46aa606b94f7552cfb581 node-v20.10.0-x64.msi
39c3f584ebca40f61fb610739722b7ec163e214f7f9d3e73bd980ce658cffa56 node-v20.10.0-x86.msi
48861a50d47e387f77ee8387ad0b8c1fe6ed9a33234977c3f0715a5fc43775bb win-arm64/node.exe
5fd8de535c4106002a21e7dbce76c46158783436eac6856060f5c1a24c354a6e win-arm64/node.lib
87ce28e3f2bef1009070842be55450e202991eccc3d068e59541b089678414b7 win-arm64/node_pdb.7z
7b68d43cefd91787ac5669cab12c6996be8210e9b755d48a4ee215a92872b31f win-arm64/node_pdb.zip
890e6b6ace6efcbd50b2678322cbaef1ba03f316f8515e113fa00d474f8ee25f win-x64/node.exe
15870bcb4463d5e8bd5f8f15e0d771fe516f98945a2aa8143f608e75e4a338e0 win-x64/node.lib
3f7f5ec16ff731dcb1d9617d32559cb201e0323e5bddbadecee061a97a47e3e1 win-x64/node_pdb.7z
41844b66e3383b508fc5d18486b23abb3ee9018ecdbd68deea36677921129f5d win-x64/node_pdb.zip
692a1d030b69e793c4e1da85e23e882670aa499020ab1fbb4a323c27a055a15e win-x86/node.exe
decf15298bb570f86253747a42f1c414b36e9b49a59c5fbef06545ad9cf17970 win-x86/node.lib
bcc03224319ad8ea5427d24b9a93cb3a9f1c572100f496c15c3d509498cbdfd0 win-x86/node_pdb.7z
c753e562d5f46024938d2399f1328e3c81905ea4f07ed08663fc303d7ef0058b win-x86/node_pdb.zip

Binary file not shown.

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.8.1/test/parallel/test-module-loading-globalpaths.js
Index: node-v20.10.0/test/parallel/test-module-loading-globalpaths.js
===================================================================
--- node-v20.8.1.orig/test/parallel/test-module-loading-globalpaths.js
+++ node-v20.8.1/test/parallel/test-module-loading-globalpaths.js
--- node-v20.10.0.orig/test/parallel/test-module-loading-globalpaths.js
+++ node-v20.10.0/test/parallel/test-module-loading-globalpaths.js
@@ -11,6 +11,9 @@ const { addLibraryPath } = require('../c
addLibraryPath(process.env);
@ -16,10 +16,10 @@ Index: node-v20.8.1/test/parallel/test-module-loading-globalpaths.js
if (process.argv[2] === 'child') {
console.log(require(pkgName).string);
} else {
Index: node-v20.8.1/test/parallel/test-tls-passphrase.js
Index: node-v20.10.0/test/parallel/test-tls-passphrase.js
===================================================================
--- node-v20.8.1.orig/test/parallel/test-tls-passphrase.js
+++ node-v20.8.1/test/parallel/test-tls-passphrase.js
--- node-v20.10.0.orig/test/parallel/test-tls-passphrase.js
+++ node-v20.10.0/test/parallel/test-tls-passphrase.js
@@ -223,7 +223,7 @@ server.listen(0, common.mustCall(functio
}, onSecureConnect());
})).unref();
@ -29,10 +29,10 @@ Index: node-v20.8.1/test/parallel/test-tls-passphrase.js
// Missing passphrase
assert.throws(function() {
Index: node-v20.8.1/test/parallel/test-repl-envvars.js
Index: node-v20.10.0/test/parallel/test-repl-envvars.js
===================================================================
--- node-v20.8.1.orig/test/parallel/test-repl-envvars.js
+++ node-v20.8.1/test/parallel/test-repl-envvars.js
--- node-v20.10.0.orig/test/parallel/test-repl-envvars.js
+++ node-v20.10.0/test/parallel/test-repl-envvars.js
@@ -2,7 +2,9 @@
// Flags: --expose-internals
@ -44,10 +44,10 @@ Index: node-v20.8.1/test/parallel/test-repl-envvars.js
const stream = require('stream');
const { describe, test } = require('node:test');
const REPL = require('internal/repl');
Index: node-v20.8.1/Makefile
Index: node-v20.10.0/Makefile
===================================================================
--- node-v20.8.1.orig/Makefile
+++ node-v20.8.1/Makefile
--- node-v20.10.0.orig/Makefile
+++ node-v20.10.0/Makefile
@@ -545,7 +545,8 @@ test-ci-js: | clear-stalled
.PHONY: test-ci
# Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned
@ -68,10 +68,10 @@ Index: node-v20.8.1/Makefile
echo "Skipping tools/doc/node_modules (no crypto)"; \
else \
cd tools/doc && $(call available-node,$(run-npm-ci)) \
Index: node-v20.8.1/tools/test.py
Index: node-v20.10.0/tools/test.py
===================================================================
--- node-v20.8.1.orig/tools/test.py
+++ node-v20.8.1/tools/test.py
--- node-v20.10.0.orig/tools/test.py
+++ node-v20.10.0/tools/test.py
@@ -1361,7 +1361,7 @@ def BuildOptions():
result.add_option("-s", "--suite", help="A test suite",
default=[], action="append")
@ -81,18 +81,18 @@ Index: node-v20.8.1/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.8.1/test/parallel/test-crypto-dh.js
Index: node-v20.10.0/test/parallel/test-crypto-dh.js
===================================================================
--- node-v20.8.1.orig/test/parallel/test-crypto-dh.js
+++ node-v20.8.1/test/parallel/test-crypto-dh.js
@@ -87,9 +87,7 @@ const crypto = require('crypto');
assert.throws(() => {
dh3.computeSecret('');
- }, { message: common.hasOpenSSL3 ?
- 'error:02800080:Diffie-Hellman routines::invalid secret' :
- 'Supplied key is too small' });
--- node-v20.10.0.orig/test/parallel/test-crypto-dh.js
+++ node-v20.10.0/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(() => {
dh3.computeSecret('');
- }, { message: common.hasOpenSSL3 && !hasOpenSSL3WithNewErrorMessage ?
- 'error:02800080:Diffie-Hellman routines::invalid secret' :
- 'Supplied key is too small' });
+ }, /(error:02800080:Diffie-Hellman routines::invalid secret|error:05066066:Diffie-Hellman routines:compute_key:invalid public key|Supplied key is too small)/);
}
}
// Through a fluke of history, g=0 defaults to DH_GENERATOR (2).

View File

@ -1,7 +1,7 @@
Index: node-git.b4f0a18b5a/addon-rpm.gypi
Index: node-v20.10.0/addon-rpm.gypi
===================================================================
--- /dev/null
+++ node-git.b4f0a18b5a/addon-rpm.gypi
+++ node-v20.10.0/addon-rpm.gypi
@@ -0,0 +1,35 @@
+{
+ 'target_defaults': {
@ -38,11 +38,11 @@ Index: node-git.b4f0a18b5a/addon-rpm.gypi
+ ]
+ }
+}
Index: node-git.b4f0a18b5a/deps/npm/node_modules/node-gyp/lib/configure.js
Index: node-v20.10.0/deps/npm/node_modules/node-gyp/lib/configure.js
===================================================================
--- node-git.b4f0a18b5a.orig/deps/npm/node_modules/node-gyp/lib/configure.js
+++ node-git.b4f0a18b5a/deps/npm/node_modules/node-gyp/lib/configure.js
@@ -46,10 +46,6 @@ function configure (gyp, argv, callback)
--- 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
@@ -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
log.verbose('get node dir', 'compiling against --target node version: %s', release.version)
@ -53,10 +53,10 @@ Index: node-git.b4f0a18b5a/deps/npm/node_modules/node-gyp/lib/configure.js
if (!release.semver) {
// could not parse the version string with semver
@@ -68,6 +64,12 @@ function configure (gyp, argv, callback)
nodeDir = path.resolve(gyp.devDir, release.versionDir)
createBuildDir()
})
@@ -54,6 +50,12 @@ async function configure (gyp, argv) {
log.verbose('get node dir', 'target node version installed:', release.versionDir)
nodeDir = path.resolve(gyp.devDir, release.versionDir)
+ } else {
+ // if no --target was specified then use RPM-installed headers
+ log.verbose('get node dir', 'no --target version specified, falling back to RPM installed headers')
@ -64,16 +64,15 @@ Index: node-git.b4f0a18b5a/deps/npm/node_modules/node-gyp/lib/configure.js
+ createBuildDir()
+ }
}
}
@@ -282,7 +284,9 @@ function configure (gyp, argv, callback)
return createBuildDir()
@@ -201,7 +203,8 @@ async function configure (gyp, argv) {
// this logic ported from the old `gyp_addon` python file
var gypScript = path.resolve(__dirname, '..', 'gyp', 'gyp_main.py')
- var addonGypi = path.resolve(__dirname, '..', 'addon.gypi')
+ var addon_gypi_file = gyp.opts.target || gyp.opts.nodedir ? 'addon.gypi' : 'addon-rpm.gypi'
+
const gypScript = path.resolve(__dirname, '..', 'gyp', 'gyp_main.py')
- const addonGypi = path.resolve(__dirname, '..', 'addon.gypi')
+ let addon_gypi_file = gyp.opts.target || gyp.opts.nodedir ? 'addon.gypi' : 'addon-rpm.gypi'
+ var addonGypi = path.resolve(__dirname, '..', addon_gypi_file)
var commonGypi = path.resolve(nodeDir, 'include/node/common.gypi')
fs.stat(commonGypi, function (err) {
if (err) {
let commonGypi = path.resolve(nodeDir, 'include/node/common.gypi')
try {
await fs.stat(commonGypi)

3
node-v20.10.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:32eb256eebd8cacd5574e6631e54b42be7ec8ebe25ad47a8ca685403bad15535
size 42201036

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

Binary file not shown.

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Thu Nov 23 08:02:58 UTC 2023 - Adam Majer <adam.majer@suse.de> - 20.10.0
- Update to 20.10.0:
* --experimental-default-type flag to flip module defaults
* The new flag --experimental-detect-module can be used to
automatically run ES modules when their syntax can be detected.
* Added flush option in file system functions for fs.writeFile functions
* Added experimental WebSocket client
* vm: fix V8 compilation cache support for vm.Script. This fixes
performance regression since v16.x when support for
importModuleDynamically was added to vm.Script
For details, see
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md#20.10.0
- nodejs20-zlib-1.3.patch: upstreamed, removed
- fix_ci_tests.patch, node-gyp-addon-gypi.patch: refreshed
-------------------------------------------------------------------
Thu Nov 9 09:05:33 UTC 2023 - Adam Majer <adam.majer@suse.de>
- Update to 20.9.0:
* No changes, just LTS transition
-------------------------------------------------------------------
Fri Oct 27 09:10:38 UTC 2023 - Adam Majer <adam.majer@suse.de>

View File

@ -1,7 +1,7 @@
#
# spec file for package nodejs20
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -15,23 +15,13 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
###########################################################
#
# WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
#
# This spec file is generated from a template hosted at
# https://github.com/AdamMajer/nodejs-packaging
#
###########################################################
# Fedora doesn't have rpm-config-SUSE which provides
# ext_man in /usr/lib/rpm/macros.d/macros.obs
%if 0%{?fedora_version}
%define ext_man .gz
%endif
Name: nodejs20
Version: 20.8.1
Version: 20.10.0
Release: 0
# Double DWZ memory limits
@ -129,12 +119,12 @@ Source1: https://nodejs.org/dist/v%{version}/SHASUMS256.txt
Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig
Source3: nodejs.keyring
# Python 3.4 compatible node-gyp
### https://github.com/nodejs/node-gyp.git
### git archive v7.1.2 | xz > node-gyp_7.1.2.tar.xz
Source5: node-gyp_7.1.2.tar.xz
# Only required to run unit tests in NodeJS 10+
Source10: update_npm_tarball.sh
# Python 3.4 compatible node-gyp
### https://github.com/nodejs/node-gyp.git
### git archive v7.1.2 | xz > node-gyp_7.1.2.tar.xz
Source5: node-gyp_7.1.2.tar.xz
# Only required to run unit tests in NodeJS 10+
Source10: update_npm_tarball.sh
Source11: node_modules.tar.xz
Source20: bash_output_helper.bash
@ -145,8 +135,6 @@ Patch5: sle12_python3_compat.patch
Patch7: manual_configure.patch
Patch13: openssl_binary_detection.patch
## Patches specific to SUSE and openSUSE
Patch100: linker_lto_jobs.patch
# PATCH-FIX-OPENSUSE -- set correct path for dtrace if it is built
@ -172,10 +160,9 @@ Patch200: versioned.patch
Patch305: qemu_timeouts_arches.patch
Patch308: node-gyp-config.patch
Patch309: gcc13.patch
Patch311: nodejs20-zlib-1.3.patch
BuildRequires: pkg-config
BuildRequires: fdupes
BuildRequires: pkg-config
BuildRequires: procps
BuildRequires: xz
BuildRequires: zlib-devel
@ -195,10 +182,10 @@ BuildRequires: config(netcfg)
%if 0%{?suse_version} == 1110
# GCC 5 is only available in the SUSE:SLE-11:SP4:Update repository (SDK).
%if %node_version_number >= 8
BuildRequires: gcc5-c++
BuildRequires: gcc5-c++
%define forced_gcc_version 5
%else
BuildRequires: gcc48-c++
BuildRequires: gcc48-c++
%define forced_gcc_version 4.8
%endif
%endif
@ -208,15 +195,15 @@ BuildRequires: gcc48-c++
# for SLE-12:Update targets
%if 0%{?suse_version} == 1315
%if %node_version_number >= 17
BuildRequires: gcc12-c++
BuildRequires: gcc12-c++
%define forced_gcc_version 12
%else
%if %node_version_number >= 14
BuildRequires: gcc9-c++
BuildRequires: gcc9-c++
%define forced_gcc_version 9
%else
%if %node_version_number >= 8
BuildRequires: gcc7-c++
BuildRequires: gcc7-c++
%define forced_gcc_version 7
%endif
%endif
@ -225,7 +212,7 @@ BuildRequires: gcc7-c++
%if 0%{?suse_version} == 1500
%if %node_version_number >= 17
BuildRequires: gcc12-c++
BuildRequires: gcc12-c++
%define forced_gcc_version 12
%endif
%endif
@ -236,7 +223,6 @@ BuildRequires: gcc12-c++
BuildRequires: gcc-c++
%endif
# Python dependencies
%if %node_version_number >= 14
@ -262,8 +248,8 @@ BuildRequires: python
%endif
%if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10
BuildRequires: user(nobody)
BuildRequires: group(nobody)
BuildRequires: user(nobody)
%endif
# shared openssl
@ -278,11 +264,10 @@ BuildRequires: openssl >= %{openssl_req_ver}
BuildRequires: (libopenssl1_1-hmac if libopenssl-1_1-devel)
BuildRequires: (libopenssl3-hmac if libopenssl-3-devel)
%else
BuildRequires: openssl-1_1 >= %{openssl_req_ver}
BuildRequires: libopenssl1_1-hmac
BuildRequires: openssl-1_1 >= %{openssl_req_ver}
%endif
# /suse_version
%endif
@ -293,7 +278,7 @@ BuildRequires: openssl >= %{openssl_req_ver}
%else
# bundled openssl
%if %node_version_number <= 12 && 0%{?suse_version} == 1315 && 0%{?sle_version} < 120400
Provides: bundled(openssl) = 3.0.10
Provides: bundled(openssl) = 3.0.12
%else
BuildRequires: bundled_openssl_should_not_be_required
%endif
@ -304,7 +289,7 @@ BuildRequires: bundled_openssl_should_not_be_required
%if ! 0%{with intree_cares}
BuildRequires: pkgconfig(libcares) >= 1.17.0
%else
Provides: bundled(libcares2) = 1.19.1
Provides: bundled(libcares2) = 1.20.1
%endif
%if ! 0%{with intree_icu}
@ -326,7 +311,7 @@ BuildRequires: valgrind
%if %{with libalternatives}
Suggests: alts
%else
Requires(postun): %{_sbindir}/update-alternatives
Requires(postun):%{_sbindir}/update-alternatives
%endif
# either for update-alternatives, or their removal
Requires(post): %{_sbindir}/update-alternatives
@ -365,8 +350,8 @@ ExclusiveArch: not_buildable
%endif
%endif
Provides: bundled(uvwasi) = 0.0.18
Provides: bundled(libuv) = 1.46.0
Provides: bundled(uvwasi) = 0.0.19
Provides: bundled(v8) = 11.3.244.8
%if %{with intree_brotli}
Provides: bundled(brotli) = 1.0.9
@ -374,13 +359,12 @@ Provides: bundled(brotli) = 1.0.9
BuildRequires: pkgconfig(libbrotlidec)
%endif
Provides: bundled(base64) = 0.5.0
Provides: bundled(llhttp) = 8.1.1
Provides: bundled(ngtcp2) = 0.8.1
Provides: bundled(base64) = 0.5.0
Provides: bundled(simdutf) = 3.2.17
Provides: bundled(simdutf) = 3.2.18
# bundled url-ada parser, not ada
Provides: bundled(ada) = 2.6.0
Provides: bundled(ada) = 2.7.2
Provides: bundled(node-acorn) = 8.10.0
Provides: bundled(node-acorn-walk) = 8.2.0
@ -388,10 +372,10 @@ Provides: bundled(node-balanced-match) = 1.0.2
Provides: bundled(node-brace-expansion) = 2.0.1
Provides: bundled(node-busboy) = 1.6.0
Provides: bundled(node-cjs-module-lexer) = 1.2.2
Provides: bundled(node-corepack) = 0.20.0
Provides: bundled(node-corepack) = 0.22.0
Provides: bundled(node-minimatch) = 9.0.3
Provides: bundled(node-streamsearch) = 1.1.0
Provides: bundled(node-undici) = 5.26.3
Provides: bundled(node-undici) = 5.26.4
Provides: bundled(node-undici-types) = 5.25.1
%description
@ -403,8 +387,8 @@ provided by npm.
Summary: Development headers for NodeJS 20.x
Group: Development/Languages/NodeJS
Provides: nodejs-devel = %{version}
Requires: npm20 = %{version}
Requires: %{name} = %{version}
Requires: npm20 = %{version}
%description devel
This package provides development headers for Node.js needed for creation
@ -421,20 +405,17 @@ Requires: nodejs-common
Requires: nodejs20 = %{version}
Provides: nodejs-npm = %{version}
Obsoletes: nodejs-npm < 4.0.0
Provides: npm(npm) = 10.1.0
Provides: npm = %{version}
Provides: npm(npm) = 10.2.3
%if 0%{?suse_version} >= 1500
%if %{node_version_number} >= 10
Requires: user(nobody)
Requires: group(nobody)
Requires: user(nobody)
%endif
%endif
Provides: bundled(node-abbrev) = 1.1.1
Provides: bundled(node-abbrev) = 2.0.0
Provides: bundled(node-abort-controller) = 3.0.0
Provides: bundled(node-agent-base) = 6.0.2
Provides: bundled(node-agent-base) = 7.1.0
Provides: bundled(node-agentkeepalive) = 4.5.0
Provides: bundled(node-aggregate-error) = 3.1.0
Provides: bundled(node-ansi-regex) = 5.0.1
Provides: bundled(node-ansi-regex) = 6.0.1
@ -442,33 +423,29 @@ 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) = 3.0.1
Provides: bundled(node-are-we-there-yet) = 4.0.0
Provides: bundled(node-are-we-there-yet) = 4.0.1
Provides: bundled(node-balanced-match) = 1.0.2
Provides: bundled(node-base64-js) = 1.5.1
Provides: bundled(node-bin-links) = 4.0.2
Provides: bundled(node-bin-links) = 4.0.3
Provides: bundled(node-binary-extensions) = 2.2.0
Provides: bundled(node-brace-expansion) = 1.1.11
Provides: bundled(node-brace-expansion) = 2.0.1
Provides: bundled(node-buffer) = 6.0.3
Provides: bundled(node-builtins) = 5.0.1
Provides: bundled(node-cacache) = 17.1.4
Provides: bundled(node-cacache) = 18.0.0
Provides: bundled(node-chalk) = 5.3.0
Provides: bundled(node-chownr) = 2.0.0
Provides: bundled(node-ci-info) = 3.8.0
Provides: bundled(node-ci-info) = 3.9.0
Provides: bundled(node-cidr-regex) = 3.1.1
Provides: bundled(node-clean-stack) = 2.2.0
Provides: bundled(node-cli-columns) = 4.0.0
Provides: bundled(node-cli-table3) = 0.6.3
Provides: bundled(node-clone) = 1.0.4
Provides: bundled(node-cmd-shim) = 6.0.1
Provides: bundled(node-cmd-shim) = 6.0.2
Provides: bundled(node-color-convert) = 2.0.1
Provides: bundled(node-color-name) = 1.1.4
Provides: bundled(node-color-support) = 1.1.3
Provides: bundled(node-columnify) = 1.6.0
Provides: bundled(node-common-ancestor-path) = 1.0.1
Provides: bundled(node-concat-map) = 0.0.1
Provides: bundled(node-console-control-strings) = 1.1.0
Provides: bundled(node-cross-spawn) = 7.0.3
Provides: bundled(node-cssesc) = 3.0.0
@ -489,66 +466,55 @@ Provides: bundled(node-fastest-levenshtein) = 1.0.16
Provides: bundled(node-foreground-child) = 3.1.1
Provides: bundled(node-fs-minipass) = 2.1.0
Provides: bundled(node-fs-minipass) = 3.0.3
Provides: bundled(node-fs.realpath) = 1.0.0
Provides: bundled(node-function-bind) = 1.1.1
Provides: bundled(node-gauge) = 4.0.4
Provides: bundled(node-gauge) = 5.0.1
Provides: bundled(node-glob) = 10.3.3
Provides: bundled(node-glob) = 7.2.3
Provides: bundled(node-glob) = 10.3.10
Provides: bundled(node-graceful-fs) = 4.2.11
Provides: bundled(node-has) = 1.0.3
Provides: bundled(node-has-unicode) = 2.0.1
Provides: bundled(node-hosted-git-info) = 7.0.0
Provides: bundled(node-hosted-git-info) = 7.0.1
Provides: bundled(node-http-cache-semantics) = 4.1.1
Provides: bundled(node-http-proxy-agent) = 5.0.0
Provides: bundled(node-http-proxy-agent) = 7.0.0
Provides: bundled(node-https-proxy-agent) = 5.0.1
Provides: bundled(node-https-proxy-agent) = 7.0.1
Provides: bundled(node-humanize-ms) = 1.2.1
Provides: bundled(node-https-proxy-agent) = 7.0.2
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-imurmurhash) = 0.1.4
Provides: bundled(node-indent-string) = 4.0.0
Provides: bundled(node-inflight) = 1.0.6
Provides: bundled(node-inherits) = 2.0.4
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-regex) = 4.3.0
Provides: bundled(node-is-cidr) = 4.0.2
Provides: bundled(node-is-core-module) = 2.12.1
Provides: bundled(node-is-core-module) = 2.13.0
Provides: bundled(node-is-fullwidth-code-point) = 3.0.0
Provides: bundled(node-is-lambda) = 1.0.1
Provides: bundled(node-isexe) = 2.0.0
Provides: bundled(node-isexe) = 3.1.1
Provides: bundled(node-jackspeak) = 2.2.1
Provides: bundled(node-jackspeak) = 2.3.6
Provides: bundled(node-json-parse-even-better-errors) = 3.0.0
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.0
Provides: bundled(node-libnpmdiff) = 6.0.1
Provides: bundled(node-libnpmexec) = 7.0.1
Provides: bundled(node-libnpmfund) = 4.1.1
Provides: bundled(node-libnpmaccess) = 8.0.1
Provides: bundled(node-libnpmdiff) = 6.0.3
Provides: bundled(node-libnpmexec) = 7.0.3
Provides: bundled(node-libnpmfund) = 5.0.1
Provides: bundled(node-libnpmhook) = 10.0.0
Provides: bundled(node-libnpmorg) = 6.0.0
Provides: bundled(node-libnpmpack) = 6.0.1
Provides: bundled(node-libnpmpublish) = 9.0.0
Provides: bundled(node-libnpmorg) = 6.0.1
Provides: bundled(node-libnpmpack) = 6.0.3
Provides: bundled(node-libnpmpublish) = 9.0.1
Provides: bundled(node-libnpmsearch) = 7.0.0
Provides: bundled(node-libnpmteam) = 6.0.0
Provides: bundled(node-libnpmversion) = 5.0.0
Provides: bundled(node-libnpmversion) = 5.0.1
Provides: bundled(node-lru-cache) = 10.0.1
Provides: bundled(node-lru-cache) = 6.0.0
Provides: bundled(node-lru-cache) = 7.18.3
Provides: bundled(node-make-fetch-happen) = 11.1.1
Provides: bundled(node-make-fetch-happen) = 13.0.0
Provides: bundled(node-minimatch) = 3.1.2
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.3
Provides: bundled(node-minipass) = 7.0.4
Provides: bundled(node-minipass-collect) = 1.0.2
Provides: bundled(node-minipass-fetch) = 3.0.4
Provides: bundled(node-minipass-flush) = 1.0.5
@ -561,27 +527,23 @@ Provides: bundled(node-ms) = 2.1.2
Provides: bundled(node-ms) = 2.1.3
Provides: bundled(node-mute-stream) = 1.0.0
Provides: bundled(node-negotiator) = 0.6.3
Provides: bundled(node-node-gyp) = 9.4.0
Provides: bundled(node-nopt) = 6.0.0
Provides: bundled(node-node-gyp) = 10.0.1
Provides: bundled(node-nopt) = 7.2.0
Provides: bundled(node-normalize-package-data) = 6.0.0
Provides: bundled(node-npm-audit-report) = 5.0.0
Provides: bundled(node-npm-bundled) = 3.0.0
Provides: bundled(node-npm-install-checks) = 6.2.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.0
Provides: bundled(node-npm-package-arg) = 11.0.1
Provides: bundled(node-npm-packlist) = 8.0.0
Provides: bundled(node-npm-pick-manifest) = 9.0.0
Provides: bundled(node-npm-profile) = 9.0.0
Provides: bundled(node-npm-registry-fetch) = 16.0.0
Provides: bundled(node-npm-registry-fetch) = 16.1.0
Provides: bundled(node-npm-user-validate) = 2.0.0
Provides: bundled(node-npmlog) = 6.0.2
Provides: bundled(node-npmlog) = 7.0.1
Provides: bundled(node-once) = 1.4.0
Provides: bundled(node-p-map) = 4.0.0
Provides: bundled(node-pacote) = 17.0.4
Provides: bundled(node-parse-conflict-json) = 3.0.1
Provides: bundled(node-path-is-absolute) = 1.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
@ -597,35 +559,31 @@ 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) = 3.6.2
Provides: bundled(node-readable-stream) = 4.4.0
Provides: bundled(node-readable-stream) = 4.4.2
Provides: bundled(node-retry) = 0.12.0
Provides: bundled(node-rimraf) = 3.0.2
Provides: bundled(node-safe-buffer) = 5.2.1
Provides: bundled(node-safer-buffer) = 2.1.2
Provides: bundled(node-semver) = 7.5.4
Provides: bundled(node-set-blocking) = 2.0.0
Provides: bundled(node-shebang-command) = 2.0.0
Provides: bundled(node-shebang-regex) = 3.0.0
Provides: bundled(node-signal-exit) = 3.0.7
Provides: bundled(node-signal-exit) = 4.0.2
Provides: bundled(node-sigstore) = 2.1.0
Provides: bundled(node-smart-buffer) = 4.2.0
Provides: bundled(node-socks) = 2.7.1
Provides: bundled(node-socks-proxy-agent) = 7.0.0
Provides: bundled(node-socks-proxy-agent) = 8.0.1
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-expression-parse) = 3.0.1
Provides: bundled(node-spdx-license-ids) = 3.0.13
Provides: bundled(node-spdx-license-ids) = 3.0.16
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-string_decoder) = 1.3.0
Provides: bundled(node-strip-ansi) = 6.0.1
Provides: bundled(node-strip-ansi) = 7.1.0
Provides: bundled(node-supports-color) = 9.4.0
Provides: bundled(node-tar) = 6.1.15
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
@ -642,7 +600,6 @@ Provides: bundled(node-which) = 4.0.0
Provides: bundled(node-wide-align) = 1.1.5
Provides: bundled(node-wrap-ansi) = 7.0.0
Provides: bundled(node-wrap-ansi) = 8.1.0
Provides: bundled(node-wrappy) = 1.0.2
Provides: bundled(node-write-file-atomic) = 5.0.1
Provides: bundled(node-yallist) = 4.0.0
@ -733,7 +690,6 @@ popd
%patch305 -p1
%patch309 -p1
%patch311 -p1
%if %{node_version_number} == 12
# minimist security update - patch50
@ -747,8 +703,6 @@ find -name \*~ -print0 -delete
# abnormalities from patching
find \( -name \*.js.orig -or -name \*.md.orig -or -name \*.1.orig \) -delete
%build
# normalize shebang
%if %{node_version_number} >= 12
@ -1108,6 +1062,7 @@ update-alternatives --remove npm-default %{_bindir}/npm%{node_version_number}
update-alternatives --remove npx-default %{_bindir}/npx%{node_version_number}
%else
%pre
# remove files that are no longer owned but provided by update-alternatives
if ! [ -L %{_mandir}/man1/node.1%{ext_man} ]; then

View File

@ -7,7 +7,7 @@
set -e
tar Jxf node-v*.tar.xz
cd node-v.*/tools/doc
cd node-v*/tools/doc
npm ci
cd ../..
exec tar Jcf ../node_modules.tar.xz tools/doc/node_modules