Adam Majer 2024-04-03 14:44:33 +00:00 committed by Git OBS Bridge
parent b1b1d9718b
commit 460cb873eb
4 changed files with 71 additions and 79 deletions

View File

@ -2,10 +2,10 @@ Author: Adam Majer <amajer@suse.de>
Date: Dec 20 09:18:49 UTC 2017 Date: Dec 20 09:18:49 UTC 2017
Summary: Fix CI unit tests framework for OBS building Summary: Fix CI unit tests framework for OBS building
Index: node-v21.6.1/test/parallel/test-node-output-v8-warning.mjs Index: node-v21.7.1/test/parallel/test-node-output-v8-warning.mjs
=================================================================== ===================================================================
--- node-v21.6.1.orig/test/parallel/test-node-output-v8-warning.mjs --- node-v21.7.1.orig/test/parallel/test-node-output-v8-warning.mjs
+++ node-v21.6.1/test/parallel/test-node-output-v8-warning.mjs +++ node-v21.7.1/test/parallel/test-node-output-v8-warning.mjs
@@ -15,7 +15,7 @@ describe('v8 output', { concurrency: tru @@ -15,7 +15,7 @@ describe('v8 output', { concurrency: tru
.replaceAll('*test*', '*') .replaceAll('*test*', '*')
.replaceAll(/.*?\*fixtures\*v8\*/g, '(node:*) V8: *') // Replace entire path before fixtures/v8 .replaceAll(/.*?\*fixtures\*v8\*/g, '(node:*) V8: *') // Replace entire path before fixtures/v8
@ -15,10 +15,10 @@ Index: node-v21.6.1/test/parallel/test-node-output-v8-warning.mjs
} }
const common = snapshot const common = snapshot
.transform(snapshot.replaceWindowsLineEndings, snapshot.replaceWindowsPaths, replaceNodeVersion); .transform(snapshot.replaceWindowsLineEndings, snapshot.replaceWindowsPaths, replaceNodeVersion);
Index: node-v21.6.1/test/parallel/test-module-loading-globalpaths.js Index: node-v21.7.1/test/parallel/test-module-loading-globalpaths.js
=================================================================== ===================================================================
--- node-v21.6.1.orig/test/parallel/test-module-loading-globalpaths.js --- node-v21.7.1.orig/test/parallel/test-module-loading-globalpaths.js
+++ node-v21.6.1/test/parallel/test-module-loading-globalpaths.js +++ node-v21.7.1/test/parallel/test-module-loading-globalpaths.js
@@ -11,6 +11,9 @@ const { addLibraryPath } = require('../c @@ -11,6 +11,9 @@ const { addLibraryPath } = require('../c
addLibraryPath(process.env); addLibraryPath(process.env);
@ -29,10 +29,10 @@ Index: node-v21.6.1/test/parallel/test-module-loading-globalpaths.js
if (process.argv[2] === 'child') { if (process.argv[2] === 'child') {
console.log(require(pkgName).string); console.log(require(pkgName).string);
} else { } else {
Index: node-v21.6.1/test/parallel/test-tls-passphrase.js Index: node-v21.7.1/test/parallel/test-tls-passphrase.js
=================================================================== ===================================================================
--- node-v21.6.1.orig/test/parallel/test-tls-passphrase.js --- node-v21.7.1.orig/test/parallel/test-tls-passphrase.js
+++ node-v21.6.1/test/parallel/test-tls-passphrase.js +++ node-v21.7.1/test/parallel/test-tls-passphrase.js
@@ -223,7 +223,7 @@ server.listen(0, common.mustCall(functio @@ -223,7 +223,7 @@ server.listen(0, common.mustCall(functio
}, onSecureConnect()); }, onSecureConnect());
})).unref(); })).unref();
@ -42,10 +42,10 @@ Index: node-v21.6.1/test/parallel/test-tls-passphrase.js
// Missing passphrase // Missing passphrase
assert.throws(function() { assert.throws(function() {
Index: node-v21.6.1/test/parallel/test-repl-envvars.js Index: node-v21.7.1/test/parallel/test-repl-envvars.js
=================================================================== ===================================================================
--- node-v21.6.1.orig/test/parallel/test-repl-envvars.js --- node-v21.7.1.orig/test/parallel/test-repl-envvars.js
+++ node-v21.6.1/test/parallel/test-repl-envvars.js +++ node-v21.7.1/test/parallel/test-repl-envvars.js
@@ -2,7 +2,9 @@ @@ -2,7 +2,9 @@
// Flags: --expose-internals // Flags: --expose-internals
@ -57,11 +57,19 @@ Index: node-v21.6.1/test/parallel/test-repl-envvars.js
const stream = require('stream'); const stream = require('stream');
const { describe, test } = require('node:test'); const { describe, test } = require('node:test');
const REPL = require('internal/repl'); const REPL = require('internal/repl');
Index: node-v21.6.1/Makefile Index: node-v21.7.1/Makefile
=================================================================== ===================================================================
--- node-v21.6.1.orig/Makefile --- node-v21.7.1.orig/Makefile
+++ node-v21.6.1/Makefile +++ node-v21.7.1/Makefile
@@ -545,7 +545,8 @@ test-ci-js: | clear-stalled @@ -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 .PHONY: test-ci
# Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned # Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned
test-ci: LOGLEVEL := info test-ci: LOGLEVEL := info
@ -71,7 +79,7 @@ Index: node-v21.6.1/Makefile
out/Release/cctest --gtest_output=xml:out/junit/cctest.xml out/Release/cctest --gtest_output=xml:out/junit/cctest.xml
$(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \ $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \ --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/*))) apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
tools/doc/node_modules: tools/doc/package.json tools/doc/node_modules: tools/doc/package.json
@ -81,10 +89,10 @@ Index: node-v21.6.1/Makefile
echo "Skipping tools/doc/node_modules (no crypto)"; \ echo "Skipping tools/doc/node_modules (no crypto)"; \
else \ else \
cd tools/doc && $(call available-node,$(run-npm-ci)) \ cd tools/doc && $(call available-node,$(run-npm-ci)) \
Index: node-v21.6.1/tools/test.py Index: node-v21.7.1/tools/test.py
=================================================================== ===================================================================
--- node-v21.6.1.orig/tools/test.py --- node-v21.7.1.orig/tools/test.py
+++ node-v21.6.1/tools/test.py +++ node-v21.7.1/tools/test.py
@@ -1362,7 +1362,7 @@ def BuildOptions(): @@ -1362,7 +1362,7 @@ def BuildOptions():
result.add_option("-s", "--suite", help="A test suite", result.add_option("-s", "--suite", help="A test suite",
default=[], action="append") default=[], action="append")
@ -94,10 +102,10 @@ Index: node-v21.6.1/tools/test.py
result.add_option("--arch", help='The architecture to run tests for', result.add_option("--arch", help='The architecture to run tests for',
default='none') default='none')
result.add_option("--snapshot", help="Run the tests with snapshot turned on", result.add_option("--snapshot", help="Run the tests with snapshot turned on",
Index: node-v21.6.1/test/parallel/test-crypto-dh.js Index: node-v21.7.1/test/parallel/test-crypto-dh.js
=================================================================== ===================================================================
--- node-v21.6.1.orig/test/parallel/test-crypto-dh.js --- node-v21.7.1.orig/test/parallel/test-crypto-dh.js
+++ node-v21.6.1/test/parallel/test-crypto-dh.js +++ node-v21.7.1/test/parallel/test-crypto-dh.js
@@ -92,7 +92,7 @@ const crypto = require('crypto'); @@ -92,7 +92,7 @@ const crypto = require('crypto');
dh3.computeSecret(''); dh3.computeSecret('');
}, { message: common.hasOpenSSL3 && !hasOpenSSL3WithNewErrorMessage ? }, { message: common.hasOpenSSL3 && !hasOpenSSL3WithNewErrorMessage ?
@ -107,10 +115,10 @@ Index: node-v21.6.1/test/parallel/test-crypto-dh.js
} }
} }
Index: node-v21.6.1/benchmark/misc/startup-cli-version.js Index: node-v21.7.1/benchmark/misc/startup-cli-version.js
=================================================================== ===================================================================
--- node-v21.6.1.orig/benchmark/misc/startup-cli-version.js --- node-v21.7.1.orig/benchmark/misc/startup-cli-version.js
+++ node-v21.6.1/benchmark/misc/startup-cli-version.js +++ node-v21.7.1/benchmark/misc/startup-cli-version.js
@@ -11,10 +11,10 @@ const path = require('path'); @@ -11,10 +11,10 @@ const path = require('path');
// indispensible part of the CLI. // indispensible part of the CLI.
const bench = common.createBenchmark(main, { const bench = common.createBenchmark(main, {

View File

@ -1,7 +1,7 @@
Index: node-v21.7.1/tools/install.py Index: node-v20.12.0/tools/install.py
=================================================================== ===================================================================
--- node-v21.7.1.orig/tools/install.py --- node-v20.12.0.orig/tools/install.py
+++ node-v21.7.1/tools/install.py +++ node-v20.12.0/tools/install.py
@@ -6,6 +6,7 @@ import errno @@ -6,6 +6,7 @@ import errno
import os import os
import shutil import shutil
@ -14,9 +14,9 @@ Index: node-v21.7.1/tools/install.py
try_unlink(target_path) # prevent ETXTBSY errors try_unlink(target_path) # prevent ETXTBSY errors
return shutil.copy2(source_path, target_path) return shutil.copy2(source_path, target_path)
+def libdir(): +def libdir(options):
+ libdir_fq = sysconfig.get_config_var("LIBDIR") + 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(options, path, dest): def try_remove(options, path, dest):
source_path, target_path = mkpaths(options, path, dest) source_path, target_path = mkpaths(options, path, dest)
@ -26,7 +26,7 @@ Index: node-v21.7.1/tools/install.py
def package_files(options, action, name, bins): def package_files(options, action, name, bins):
- target_path = os.path.join('lib/node_modules', name) - target_path = os.path.join('lib/node_modules', name)
+ target_path = os.path.join(libdir(), '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 # don't install npm if the target path is a symlink, it probably means
# that a dev version of npm is installed there # that a dev version of npm is installed there
@ -35,15 +35,15 @@ Index: node-v21.7.1/tools/install.py
action(options, [link_path], os.path.join('bin', bin_name)) action(options, [link_path], os.path.join('bin', bin_name))
elif action == install: elif action == install:
- try_symlink(options, os.path.join('../lib/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(), 'node_modules', name, bin_target), link_path) + try_symlink(options, os.path.join('..', libdir(options), 'node_modules', name, bin_target), link_path)
else: else:
assert 0 # unhandled action type assert 0 # unhandled action type
Index: node-v21.7.1/lib/internal/modules/cjs/loader.js Index: node-v20.12.0/lib/internal/modules/cjs/loader.js
=================================================================== ===================================================================
--- node-v21.7.1.orig/lib/internal/modules/cjs/loader.js --- node-v20.12.0.orig/lib/internal/modules/cjs/loader.js
+++ node-v21.7.1/lib/internal/modules/cjs/loader.js +++ node-v20.12.0/lib/internal/modules/cjs/loader.js
@@ -1528,7 +1528,7 @@ Module._initPaths = function() { @@ -1529,7 +1529,7 @@ Module._initPaths = function() {
path.resolve(process.execPath, '..') : path.resolve(process.execPath, '..') :
path.resolve(process.execPath, '..', '..'); path.resolve(process.execPath, '..', '..');

View File

@ -15,17 +15,7 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/ # 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} %if 0%{?fedora_version}
%define ext_man .gz %define ext_man .gz
%endif %endif
@ -134,12 +124,12 @@ Source1: https://nodejs.org/dist/v%{version}/SHASUMS256.txt
Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig Source2: https://nodejs.org/dist/v%{version}/SHASUMS256.txt.sig
Source3: nodejs.keyring Source3: nodejs.keyring
# Python 3.4 compatible node-gyp # Python 3.4 compatible node-gyp
### https://github.com/nodejs/node-gyp.git ### https://github.com/nodejs/node-gyp.git
### git archive v7.1.2 | xz > node-gyp_7.1.2.tar.xz ### git archive v7.1.2 | xz > node-gyp_7.1.2.tar.xz
Source5: node-gyp_7.1.2.tar.xz Source5: node-gyp_7.1.2.tar.xz
# Only required to run unit tests in NodeJS 10+ # Only required to run unit tests in NodeJS 10+
Source10: update_npm_tarball.sh Source10: update_npm_tarball.sh
Source11: node_modules.tar.xz Source11: node_modules.tar.xz
Source20: bash_output_helper.bash Source20: bash_output_helper.bash
@ -150,8 +140,6 @@ Patch5: sle12_python3_compat.patch
Patch7: manual_configure.patch Patch7: manual_configure.patch
Patch13: openssl_binary_detection.patch Patch13: openssl_binary_detection.patch
## Patches specific to SUSE and openSUSE ## Patches specific to SUSE and openSUSE
Patch100: linker_lto_jobs.patch Patch100: linker_lto_jobs.patch
# PATCH-FIX-OPENSUSE -- set correct path for dtrace if it is built # PATCH-FIX-OPENSUSE -- set correct path for dtrace if it is built
@ -178,8 +166,8 @@ Patch305: qemu_timeouts_arches.patch
Patch308: node-gyp-config.patch Patch308: node-gyp-config.patch
Patch309: gcc13.patch Patch309: gcc13.patch
BuildRequires: pkg-config
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: pkg-config
BuildRequires: procps BuildRequires: procps
BuildRequires: xz BuildRequires: xz
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -199,10 +187,10 @@ BuildRequires: config(netcfg)
%if 0%{?suse_version} == 1110 %if 0%{?suse_version} == 1110
# GCC 5 is only available in the SUSE:SLE-11:SP4:Update repository (SDK). # GCC 5 is only available in the SUSE:SLE-11:SP4:Update repository (SDK).
%if %node_version_number >= 8 %if %node_version_number >= 8
BuildRequires: gcc5-c++ BuildRequires: gcc5-c++
%define forced_gcc_version 5 %define forced_gcc_version 5
%else %else
BuildRequires: gcc48-c++ BuildRequires: gcc48-c++
%define forced_gcc_version 4.8 %define forced_gcc_version 4.8
%endif %endif
%endif %endif
@ -212,15 +200,15 @@ BuildRequires: gcc48-c++
# for SLE-12:Update targets # for SLE-12:Update targets
%if 0%{?suse_version} == 1315 %if 0%{?suse_version} == 1315
%if %node_version_number >= 17 %if %node_version_number >= 17
BuildRequires: gcc12-c++ BuildRequires: gcc12-c++
%define forced_gcc_version 12 %define forced_gcc_version 12
%else %else
%if %node_version_number >= 14 %if %node_version_number >= 14
BuildRequires: gcc9-c++ BuildRequires: gcc9-c++
%define forced_gcc_version 9 %define forced_gcc_version 9
%else %else
%if %node_version_number >= 8 %if %node_version_number >= 8
BuildRequires: gcc7-c++ BuildRequires: gcc7-c++
%define forced_gcc_version 7 %define forced_gcc_version 7
%endif %endif
%endif %endif
@ -229,7 +217,7 @@ BuildRequires: gcc7-c++
%if 0%{?suse_version} == 1500 %if 0%{?suse_version} == 1500
%if %node_version_number >= 17 %if %node_version_number >= 17
BuildRequires: gcc12-c++ BuildRequires: gcc12-c++
%define forced_gcc_version 12 %define forced_gcc_version 12
%endif %endif
%endif %endif
@ -240,7 +228,6 @@ BuildRequires: gcc12-c++
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
# Python dependencies # Python dependencies
%if %node_version_number >= 14 %if %node_version_number >= 14
@ -266,8 +253,8 @@ BuildRequires: python
%endif %endif
%if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10 %if 0%{?suse_version} >= 1500 && %{node_version_number} >= 10
BuildRequires: user(nobody)
BuildRequires: group(nobody) BuildRequires: group(nobody)
BuildRequires: user(nobody)
%endif %endif
# shared openssl # shared openssl
@ -282,11 +269,10 @@ BuildRequires: openssl >= %{openssl_req_ver}
BuildRequires: (libopenssl1_1-hmac if libopenssl-1_1-devel) BuildRequires: (libopenssl1_1-hmac if libopenssl-1_1-devel)
BuildRequires: (libopenssl3-hmac if libopenssl-3-devel) BuildRequires: (libopenssl3-hmac if libopenssl-3-devel)
%else %else
BuildRequires: openssl-1_1 >= %{openssl_req_ver}
BuildRequires: libopenssl1_1-hmac BuildRequires: libopenssl1_1-hmac
BuildRequires: openssl-1_1 >= %{openssl_req_ver}
%endif %endif
# /suse_version # /suse_version
%endif %endif
@ -369,8 +355,8 @@ ExclusiveArch: not_buildable
%endif %endif
%endif %endif
Provides: bundled(uvwasi) = 0.0.20
Provides: bundled(libuv) = 1.48.0 Provides: bundled(libuv) = 1.48.0
Provides: bundled(uvwasi) = 0.0.20
Provides: bundled(v8) = 11.8.172.17 Provides: bundled(v8) = 11.8.172.17
%if %{with intree_brotli} %if %{with intree_brotli}
Provides: bundled(brotli) = 1.1.0 Provides: bundled(brotli) = 1.1.0
@ -378,12 +364,11 @@ Provides: bundled(brotli) = 1.1.0
BuildRequires: pkgconfig(libbrotlidec) BuildRequires: pkgconfig(libbrotlidec)
%endif %endif
Provides: bundled(base64) = 0.5.2
Provides: bundled(llhttp) = 9.1.3 Provides: bundled(llhttp) = 9.1.3
Provides: bundled(ngtcp2) = 1.3.0 Provides: bundled(ngtcp2) = 1.3.0
Provides: bundled(base64) = 0.5.2
Provides: bundled(simdutf) = 4.0.8
Provides: bundled(simdjson) = 3.7.0 Provides: bundled(simdjson) = 3.7.0
Provides: bundled(simdutf) = 4.0.8
# bundled url-ada parser, not ada # bundled url-ada parser, not ada
Provides: bundled(ada) = 2.7.6 Provides: bundled(ada) = 2.7.6
@ -404,8 +389,8 @@ provided by npm.
Summary: Development headers for NodeJS 21.x Summary: Development headers for NodeJS 21.x
Group: Development/Languages/NodeJS Group: Development/Languages/NodeJS
Provides: nodejs-devel = %{version} Provides: nodejs-devel = %{version}
Requires: npm21 = %{version}
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: npm21 = %{version}
%description devel %description devel
This package provides development headers for Node.js needed for creation This package provides development headers for Node.js needed for creation
@ -422,12 +407,12 @@ Requires: nodejs-common
Requires: nodejs21 = %{version} Requires: nodejs21 = %{version}
Provides: nodejs-npm = %{version} Provides: nodejs-npm = %{version}
Obsoletes: nodejs-npm < 4.0.0 Obsoletes: nodejs-npm < 4.0.0
Provides: npm(npm) = 10.5.0
Provides: npm = %{version} Provides: npm = %{version}
Provides: npm(npm) = 10.5.0
%if 0%{?suse_version} >= 1500 %if 0%{?suse_version} >= 1500
%if %{node_version_number} >= 10 %if %{node_version_number} >= 10
Requires: user(nobody)
Requires: group(nobody) Requires: group(nobody)
Requires: user(nobody)
%endif %endif
%endif %endif
Provides: bundled(node-abbrev) = 2.0.0 Provides: bundled(node-abbrev) = 2.0.0
@ -714,8 +699,6 @@ find -name \*~ -print0 -delete
# abnormalities from patching # abnormalities from patching
find \( -name \*.js.orig -or -name \*.md.orig -or -name \*.1.orig \) -delete find \( -name \*.js.orig -or -name \*.md.orig -or -name \*.1.orig \) -delete
%build %build
# normalize shebang # normalize shebang
%if %{node_version_number} >= 12 %if %{node_version_number} >= 12
@ -1099,6 +1082,7 @@ update-alternatives --remove corepack-default %{_bindir}/corepack%{node_version_
%endif %endif
%else %else
%pre %pre
# remove files that are no longer owned but provided by update-alternatives # remove files that are no longer owned but provided by update-alternatives
if ! [ -L %{_mandir}/man1/node.1%{ext_man} ]; then if ! [ -L %{_mandir}/man1/node.1%{ext_man} ]; then

View File

@ -29,8 +29,8 @@ Index: node-v21.7.1/tools/install.py
try_remove(options, path, dest) try_remove(options, path, dest)
def package_files(options, action, name, bins): def package_files(options, action, name, bins):
- target_path = os.path.join(libdir(), 'node_modules', name) - target_path = os.path.join(libdir(options), 'node_modules', name)
+ target_path = os.path.join(libdir(), 'node_modules', name + '21') + target_path = os.path.join(libdir(options), 'node_modules', name + '21')
# don't install npm if the target path is a symlink, it probably means # don't install npm if the target path is a symlink, it probably means
# that a dev version of npm is installed there # that a dev version of npm is installed there
@ -38,8 +38,8 @@ Index: node-v21.7.1/tools/install.py
if action == uninstall: if action == uninstall:
action(options, [link_path], os.path.join('bin', bin_name)) action(options, [link_path], os.path.join('bin', bin_name))
elif action == install: elif action == install:
- try_symlink(options, os.path.join('..', libdir(), 'node_modules', name, 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(), 'node_modules', name + 21, bin_target), link_path) + try_symlink(options, os.path.join('..', libdir(options), 'node_modules', name + 21, bin_target), link_path)
else: else:
assert 0 # unhandled action type assert 0 # unhandled action type