Hello community,
here is the log from the commit of package nodejs12.14340 for
openSUSE:Leap:15.2:Update checked in at 2020-10-05 06:22:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2:Update/nodejs12.14340 (Old)
and /work/SRC/openSUSE:Leap:15.2:Update/.nodejs12.14340.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs12.14340"
Mon Oct 5 06:22:37 2020 rev:1 rq:839056 version:12.18.4
Changes:
--------
New Changes file:
--- /dev/null 2020-09-10 00:27:47.435250138 +0200
+++
/work/SRC/openSUSE:Leap:15.2:Update/.nodejs12.14340.new.4249/nodejs12.changes
2020-10-05 06:22:40.221539871 +0200
@@ -0,0 +1,623 @@
+-------------------------------------------------------------------
+Wed Sep 23 18:28:20 UTC 2020 - Adam Majer <[email protected]>
+
+- New upstream LTS version 12.18.4:
+ * deps:
+ + update llhttp to 2.1.2 (bsc#1176605, CVE-2020-8201)
+ + fs.realpath.native may cause buffer overflow
+ (bsc#1176589, CVE-2020-8252)
+
+-------------------------------------------------------------------
+Mon Aug 10 16:36:26 UTC 2020 - Adam Majer <[email protected]>
+
+- Explicitly add -fno-strict-aliasing to CFLAGS to fix compilation
+ on Aarch64 with gcc10 (bsc#1172686)
+
+-------------------------------------------------------------------
+Mon Aug 3 12:18:12 UTC 2020 - Adam Majer <[email protected]>
+
+- New upstream LTS version 12.18.3:
+ deps:
+ * upgrade npm to 6.14.6 (claudiahdz) #34246
+ Fixes information leak through log files (bsc#1173937, CVE-2020-15095)
+ * update node-inspect to v2.0.0 (Jan Krems) #33447
+ * uvwasi: cherry-pick 9e75217 (Colin Ihrig) #33521
+
+- fix_ci_tests.patch: refreshed
+- versioned.patch: refreshed
+
+-------------------------------------------------------------------
+Tue Jul 28 07:13:57 UTC 2020 - Dirk Mueller <[email protected]>
+
+- avoid rpmbuild warnings on if/else/endif constructs
+
+-------------------------------------------------------------------
+Thu Jul 2 20:39:34 UTC 2020 - Adam Majer <[email protected]>
+
+- New upstream LTS version 12.18.2:
+ * deps: V8: backport fb26d0bb1835 (Matheus Marchini) #33573
+ + Fixes memory leak in PrototypeUsers::Add
+ * src: use symbol to store AsyncWrap resource (Anna Henningsen) #31745
+ + Fixes reported memory leak (bsc#1173653)
+
+-------------------------------------------------------------------
+Thu Jun 18 14:14:40 UTC 2020 - Adam Majer <[email protected]>
+
+- New upstream LTS version 12.18.1:
+ + deps:
+ * V8: cherry-pick 548f6c81d424 (Dominykas Blyžė) #33484
+ * update to uvwasi 0.0.9 (Colin Ihrig) #33445
+ * upgrade to libuv 1.38.0 (Colin Ihrig) #33446
+ * upgrade npm to 6.14.5 (Ruy Adorno) #33239
+
+- skip_no_console.patch: refreshed and mostly upstreamed
+- versioned.patch: refreshed
+
+-------------------------------------------------------------------
+Tue Jun 9 11:34:55 UTC 2020 - Adam Majer <[email protected]>
+
+- Add Require for nodejs12 when intalling npm12. (bsc#1172728)
+
+-------------------------------------------------------------------
+Thu Jun 4 11:58:49 UTC 2020 - Adam Majer <[email protected]>
+
+- New upstream LTS version 12.18.0:
+ * napi: fix various types of memory corruption in napi_get_value_string_*()
+ (CVE-2020-8174, bsc#1172443)
+ * http2: fix HTTP/2 Large Settings Frame DoS
+ (CVE-2020-11080, bsc#1172442)
+ * TLS session reuse can lead to host certificate verification bypass
+ (CVE-2020-8172, bsc#1172441)
+
+- use system ICU on SLE-15
+
+-------------------------------------------------------------------
+Wed May 27 10:56:40 UTC 2020 - Adam Majer <[email protected]>
+
+- Update to LTS release 12.17.0:
+ * async-hooks: introduce async-storage API
+ * cli: Added a --trace-sigint CLI flag that will print the current
+ execution stack on SIGINT #29207.
+ * crypto: Various crypto APIs now support Diffie-Hellman secrets
+ * dns: Added the dns.ALL flag, that can be passed to dns.lookup()
+ with dns.V4MAPPED to return resolved IPv6 addresses as well as
+ IPv4 mapped IPv6 addresses #32183.
+ * events: It is now possible to monitor 'error' events on an EventEmitter
+ without consuming the emitted error by installing a listener
+ using the symbol EventEmitter.errorMonitor
+ * http,https: The default value of server.headersTimeout for
+ http and https servers was increased from 40000 to 60000ms
+ * process: It is now possible to monitor 'uncaughtException'
+ events without overriding the default behavior
+ * repl:
+ + Added REPL substring-based search
+ + Added preview
+ + Added reverse-i-search
+ * module: Added a new experimental API to interact with
+ Source Map V3 data #31132.
+ * worker: Added support for passing a transferList along
+ with workerData to the Worker constructor #32278.
+
+For further information, please see
+https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V12.md#12.17.0
+
+- icu-v67.patch: upstreamed
+- skip_no_console.patch, versioned.patch: refreshed
+
+-------------------------------------------------------------------
+Wed May 13 04:19:25 UTC 2020 - Ismail Dönmez <[email protected]>
+
+- Add icu-v67.patch to fix build with icu v67
+
+-------------------------------------------------------------------
+Mon May 4 12:28:44 UTC 2020 - Adam Majer <[email protected]>
+
+- Reduce Requires to Recommends on nodejs12-devel when installing npm12
+
+-------------------------------------------------------------------
+Tue Apr 28 15:30:09 UTC 2020 - Adam Majer <[email protected]>
+
+- Update to LTS release 12.16.3:
+ * deps:
+ + Updated OpenSSL to 1.1.1g
+ + Updated c-ares to 1.16.0
+ + Updated experimental uvwasi to 0.0.6
+ * ESM (experimental): Additional warnings are no longer printed
+ for modules that use conditional exports or package name self resolution
+
+- fix_ci_tests.patch: refreshed
+
+-------------------------------------------------------------------
+Mon Apr 27 13:15:17 UTC 2020 - Adam Majer <[email protected]>
+
+- Update to LTS release 12.16.2:
+ * deps:
+ + upgrade npm to 6.13.6 (bsc#1166916, CVE-2020-7598)
+ + update openssl to 1.1.1e
+
+- openssl_rand_regression.patch, wasi_compile_flags.patch: upstreamed
+- versioned.patch, fix_ci_tests.patch: refreshed
+- linker_lto_jobs.patch: serialize linker during build
+
+-------------------------------------------------------------------
+Mon Mar 2 09:43:10 UTC 2020 - Adam Majer <[email protected]>
+
+- openssl_rand_regression.patch: Add getrandom syscall definition
+ for all Linux platforms. This fixes a runtime error in SLE-12
+ (bnc#1162117)
+
+-------------------------------------------------------------------
+Wed Feb 19 13:41:50 UTC 2020 - Adam Majer <[email protected]>
+
+- Update to LTS release 12.16.1:
+ * Reverted regressions from 12.16.0
+ + accidental unflagging of self resolving modules - it now requires
+ --experimental-modules flag to enable.
+ + process cleanup changes introduced WASM-Related assertion
+ + use of largepages runtime option introduced linking failure
+ + async_hooks was causing an exception when handling errors
+ + enumerable Read-Only property on EventEmitter breaks @types/extend
+ + exceptions in the HTTP parser were not emitting as an uncaughtException
+
+-------------------------------------------------------------------
+Wed Feb 12 10:12:13 UTC 2020 - Adam Majer <[email protected]>
+
+- Update to LTS release 12.16.0:
+ * assert: add experimental assert.match() and assert.doesNotMatch()
+ methods. These allow matching vs. provided regular expressions.
+ * child_process, cluster: now support serialization option to
+ allow for custom serialization mechanism for IPC.
+ * cli: add --trace-edit and --trance-uncaught flags
+ * crypto:
+ + added support for 'ieee-p1363' signature type for DSA and ECDSA
+ in addition to DER
+ + Added Hash.prototype.copy making it possibly to clone internal
+ state of Hash object. This allows digest computation between
+ updates.
+ * deps:
+ + libuv was updated to 1.34.0
+ + V8 was updated to 7.8.279.23 - for official changes, see
+ https://v8.dev/blog/v8-release-78
+ * events:
+ + add EventEmitter.on to async iterate over events
+ + allow monitoring error events via EventEmitter.errorMonitor
+ + add experimental method to captureRejections for async handlers
+ * perf_hooks: now considered stable API
+ * wasi: Add new core module for WebAssebly System Interface as
+ an experimental feature.
+
+- wasi_compile_flags.patch: fix header inclusions in uvwasi dependency
+
+-------------------------------------------------------------------
+Fri Feb 7 10:38:50 UTC 2020 - Adam Majer <[email protected]>
+
+- Update to LTS release 12.15.0:
+ * fixes a remotely triggerable assertion on a TLS server via a
+ crafted certificate string (CVE-2019-15604, bsc#1163104)
+ * fixes an HTTP request smuggling vulnerability via malformed
++++ 426 more lines (skipped)
++++ between /dev/null
++++ and
/work/SRC/openSUSE:Leap:15.2:Update/.nodejs12.14340.new.4249/nodejs12.changes
New:
----
SHASUMS256.txt
SHASUMS256.txt.sig
_constraints
bash_output_helper.bash
fix_ci_tests.patch
flaky_test_rerun.patch
linker_lto_jobs.patch
manual_configure.patch
node-gyp-addon-gypi.patch
node-v12.18.4.tar.xz
node_modules.tar.xz
nodejs-libpath.patch
nodejs-sle11-python26-check_output.patch
nodejs.keyring
nodejs12.changes
nodejs12.spec
npm_search_paths.patch
skip_no_console.patch
update_npm_tarball.sh
versioned.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs12.spec ++++++
++++ 1122 lines (skipped)
++++++ SHASUMS256.txt ++++++
ddba15a6b544df32c242d761ffc66b7f5d841fe9fdf78ec1e11aa4ae9f4ac452
node-v12.18.4-aix-ppc64.tar.gz
1bd2c367dc6b33f46c90c0a13fc83a890ced0a2e278f80c3e3b6aab8843189be
node-v12.18.4-darwin-x64.tar.gz
02afd80189b734223804832ad8858fd14b9f90f117b72f4ecdeeff03e5fece04
node-v12.18.4-darwin-x64.tar.xz
b258d3ae0d076b44335f16cd90d7bf137e937931021d4983259e649154016e9e
node-v12.18.4-headers.tar.gz
fe04f62d3fe99c99656beb7468721a5796df207f254eec0906ab27c183fd602a
node-v12.18.4-headers.tar.xz
69a419a08b6e2d0dffc5b0659e16adfd315074fc0e93e382ee6052546ad789ff
node-v12.18.4-linux-arm64.tar.gz
9503a4e69ed6a5346ede6fcc5abfd66fbc7bbfe0d20128afa3c964ae3e7acadd
node-v12.18.4-linux-arm64.tar.xz
7ee3688f9b52760fe4c1b5fc5daa4c9c5b22f0baecd936a1f44b32afab04269f
node-v12.18.4-linux-armv7l.tar.gz
5871bf68de42b5472a52ee82423091043355c07c030ef2826d0bfb06be06e5f2
node-v12.18.4-linux-armv7l.tar.xz
c1da73333658141f60e197efdbd3db0ef48b5239c0042483b0c6a991f34151aa
node-v12.18.4-linux-ppc64le.tar.gz
7a4bd81abc94f87a4a888b12fda17b8519a7b39ca11cae661e2c35bf5686b92d
node-v12.18.4-linux-ppc64le.tar.xz
ff83044f4a511b83950f40ee900817e7a1fc4ccc1ab2812b25ec155d07353a17
node-v12.18.4-linux-s390x.tar.gz
6d05ea2466623f0fae7c4101b7831a7c04c0ba3f21df6de97962beb99e6ac8d8
node-v12.18.4-linux-s390x.tar.xz
b1745bf45aab8d92ebb78d6c4f07c66ad770e94ca2cab1b8f31b3cc361143d8e
node-v12.18.4-linux-x64.tar.gz
b6434590cf7013c8592f895595d71a169f57e59bbb7db639c62779950e12e20c
node-v12.18.4-linux-x64.tar.xz
80698fcd7e08cc2335ec531a0e9400f86c7da331ed4b6b8e4c8476fd499f1428
node-v12.18.4.pkg
969882666e1229bc2784573fc6eef0bec07cdc70bc0bb1f1c0530a8d1e514b09
node-v12.18.4-sunos-x64.tar.gz
4ef225a2f040ac50112d314aa2d6352a4e2c1565d1a04f46a38e5d85d113278b
node-v12.18.4-sunos-x64.tar.xz
a802d87e579e46fc52771ed6f2667048320caca867be3276f4c4f1bbb41389c3
node-v12.18.4.tar.gz
25f03cb18e53b6d0959d0c219e701a85eb4693f526bdda7c72bc6199b364f609
node-v12.18.4.tar.xz
ee974de37139ecf68e8b0d9ae029f3424a5ddba7f338aa936c877e863793702b
node-v12.18.4-win-x64.7z
6d047ccfcc34df2c520dedc668afdd22bb9b0b6e1867b049267e2d45f78e7b17
node-v12.18.4-win-x64.zip
1ffb83bdc45ec54ef2663dfcbadcbebc6907a4f88a90cae818c999864aa501db
node-v12.18.4-win-x86.7z
dba0236e665787aba74df251921ec44f57dd3808680ad4c895b114956207e3ce
node-v12.18.4-win-x86.zip
4bb3aebcc2d22191c2daaf4e419e923d891331f86a64cca468f689e7a12a7e3c
node-v12.18.4-x64.msi
8e7e5d605704a1701fe096825792ae9e98946e5d99fc7f022aa9981da57693c4
node-v12.18.4-x86.msi
4b342e5934f069d72a060ea720bf9893209248c527470038779a70af9c117375
win-x64/node.exe
1424e313dc024d9f0676e3def9559878d1b7378b91b2a9bbffe80837faa43515
win-x64/node.lib
328502ce589938a1c6b4500403eeeb0c3f293e254d629fd922e1dee58566eddb
win-x64/node_pdb.7z
cad95e71b44e9dcca5bb338b1c1c839f73907d1b0651ec172a04634b8a3ce00e
win-x64/node_pdb.zip
f3e7c1e020a8f7412f9f573512bdeb9a78569e9b159896ceec05ce6aeaab201f
win-x86/node.exe
d450e8b86f429ac81c8d8eea3bed3b930d007c55069165a9037749ea8114ba23
win-x86/node.lib
2236c25951dd7aac4a85e47ce267914f522c6fe4f0f01f9a6ce120cb3cd99e64
win-x86/node_pdb.7z
db8996cbc5cc4d6fd43d9a2f73ece2a35890bde7b20e6d4c0aa13d280e95482b
win-x86/node_pdb.zip
++++++ _constraints ++++++
<?xml version="1.0"?>
<constraints>
<hardware>
<disk>
<size unit="G">25</size>
</disk>
<memory>
<size unit="M">8500</size>
</memory>
</hardware>
</constraints>
++++++ bash_output_helper.bash ++++++
#
# Node can break stdin/stdout/stderr by setting them O_NONBLOCK
# and then not resetting it back to blocking mode on exit
# This function redirects stdio descriptors via new logging pipe
#
function decoupled_cmd
{
mkfifo _log
($@) < /dev/null > _log 2>_log &
cat _log
rm _log
wait $!
}
++++++ fix_ci_tests.patch ++++++
Author: Adam Majer <[email protected]>
Date: Dec 20 09:18:49 UTC 2017
Summary: Fix CI unit tests framework for OBS building
Index: node-v14.5.0/test/parallel/test-module-loading-globalpaths.js
===================================================================
--- node-v14.5.0.orig/test/parallel/test-module-loading-globalpaths.js
+++ node-v14.5.0/test/parallel/test-module-loading-globalpaths.js
@@ -11,6 +11,9 @@ const { addLibraryPath } = require('../c
addLibraryPath(process.env);
+common.skip('hardcoded global paths');
+return;
+
if (process.argv[2] === 'child') {
console.log(require(pkgName).string);
} else {
Index: node-v14.5.0/test/parallel/test-tls-env-bad-extra-ca.js
===================================================================
--- node-v14.5.0.orig/test/parallel/test-tls-env-bad-extra-ca.js
+++ node-v14.5.0/test/parallel/test-tls-env-bad-extra-ca.js
@@ -37,7 +37,7 @@ fork(__filename, opts)
// TODO(addaleax): Make `SafeGetenv` work like `process.env`
// encoding-wise
if (!common.isWindows) {
- const re = /Warning: Ignoring extra certs from.*no-such-file-exists-🐢.*
load failed:.*No such file or directory/;
+ const re = /Warning: Ignoring extra certs from.*no-such-file-exists-.*
load failed:.*/;
assert(re.test(stderr), stderr);
}
}))
Index: node-v14.5.0/test/parallel/test-tls-passphrase.js
===================================================================
--- node-v14.5.0.orig/test/parallel/test-tls-passphrase.js
+++ node-v14.5.0/test/parallel/test-tls-passphrase.js
@@ -223,7 +223,7 @@ server.listen(0, common.mustCall(functio
}, onSecureConnect());
})).unref();
-const errMessagePassword = /bad decrypt/;
+const errMessagePassword = /bad (decrypt|password read)/;
// Missing passphrase
assert.throws(function() {
@@ -253,7 +253,7 @@ assert.throws(function() {
});
}, errMessagePassword);
-const errMessageDecrypt = /bad decrypt/;
+const errMessageDecrypt = /bad (decrypt|password read)/;
// Invalid passphrase
assert.throws(function() {
Index: node-v14.5.0/test/parallel/test-crypto-scrypt.js
===================================================================
--- node-v14.5.0.orig/test/parallel/test-crypto-scrypt.js
+++ node-v14.5.0/test/parallel/test-crypto-scrypt.js
@@ -169,8 +169,8 @@ for (const options of bad) {
for (const options of toobig) {
const expected = {
- message: new RegExp('error:[^:]+:digital envelope routines:' +
- '(?:EVP_PBE_scrypt|scrypt_alg):memory limit exceeded'),
+ message: new RegExp('(error:[^:]+:digital envelope routines:' +
+ '(?:EVP_PBE_scrypt|scrypt_alg):memory limit
exceeded|Invalid scrypt parameter)'),
name: 'Error',
};
assert.throws(() => crypto.scrypt('pass', 'salt', 1, options, () => {}),
Index: node-v14.5.0/test/parallel/test-repl-envvars.js
===================================================================
--- node-v14.5.0.orig/test/parallel/test-repl-envvars.js
+++ node-v14.5.0/test/parallel/test-repl-envvars.js
@@ -2,12 +2,14 @@
// Flags: --expose-internals
-require('../common');
+const common = require('../common');
const stream = require('stream');
const REPL = require('internal/repl');
const assert = require('assert');
const inspect = require('util').inspect;
+common.skip('Not running test in OBS');
+
const tests = [
{
env: {},
Index: node-v14.5.0/test/common/index.mjs
===================================================================
--- node-v14.5.0.orig/test/common/index.mjs
+++ node-v14.5.0/test/common/index.mjs
@@ -45,6 +45,7 @@ const {
expectsError,
skipIfInspectorDisabled,
skipIf32Bits,
+ skipIfWorker,
getArrayBufferViews,
getBufferSources,
disableCrashOnUnhandledRejection,
@@ -92,6 +93,7 @@ export {
expectsError,
skipIfInspectorDisabled,
skipIf32Bits,
+ skipIfWorker,
getArrayBufferViews,
getBufferSources,
disableCrashOnUnhandledRejection,
Index: node-v14.5.0/Makefile
===================================================================
--- node-v14.5.0.orig/Makefile
+++ node-v14.5.0/Makefile
@@ -527,7 +527,7 @@ test-ci-js: | clear-stalled
.PHONY: test-ci
# Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned
test-ci: LOGLEVEL := info
-test-ci: | clear-stalled build-addons build-js-native-api-tests
build-node-api-tests doc-only
+test-ci: | clear-stalled build-addons build-js-native-api-tests
build-node-api-tests
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) \
@@ -703,7 +703,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
- @if [ "$(shell $(node_use_openssl))" != "true" ]; then \
+ echo "Skipping tools/doc/node_modules"
+# @if [ "$(shell $(node_use_openssl))" != "true" ]; then \
echo "Skipping tools/doc/node_modules (no crypto)"; \
else \
cd tools/doc && $(call available-node,$(run-npm-ci)) \
++++++ flaky_test_rerun.patch ++++++
Index: node-v10.15.3/tools/test.py
===================================================================
--- node-v10.15.3.orig/tools/test.py
+++ node-v10.15.3/tools/test.py
@@ -539,6 +539,16 @@ class TestCase(object):
self.context.store_unexpected_output)
def Run(self):
+ reruns = 0
+ while (reruns < 5):
+ reruns += 1
+ result = self.OriginalRun()
+ if (not result.HasFailed()):
+ break
+ print("FLAKY TEST rerun: ", self.GetCommand())
+ return result
+
+ def OriginalRun(self):
try:
result = self.RunCommand(self.GetCommand(), {
"TEST_THREAD_ID": "%d" % self.thread_id,
++++++ linker_lto_jobs.patch ++++++
Purpose of these dependencies is to make sure that the linker
is run serially over these binaries instead of in parallel.
OBS workers run out of memory as each executable seems to require
upward of 5G RAM
Index: node-v12.16.2/node.gyp
===================================================================
--- node-v12.16.2.orig/node.gyp
+++ node-v12.16.2/node.gyp
@@ -1198,6 +1198,7 @@
'<(node_lib_target_name)',
'deps/histogram/histogram.gyp:histogram',
'deps/uvwasi/uvwasi.gyp:uvwasi',
+ 'cctest',
],
'includes': [
@@ -1253,6 +1254,7 @@
'<(node_lib_target_name)',
'deps/histogram/histogram.gyp:histogram',
'deps/uvwasi/uvwasi.gyp:uvwasi',
+ 'mkcodecache'
],
'includes': [
++++++ manual_configure.patch ++++++
Author: Adam Majer <[email protected]>
Date: Wed May 23 14:13:33 CEST 2018
Summary: This config.h is defined by hand
Gyp doesn't run autotools, so this config is not quite correct.
Update to prevent implicit defines to be used.
Index: node-git.8dae89b396/deps/nghttp2/lib/includes/config.h
===================================================================
--- node-git.8dae89b396.orig/deps/nghttp2/lib/includes/config.h
+++ node-git.8dae89b396/deps/nghttp2/lib/includes/config.h
@@ -71,7 +71,7 @@ typedef intptr_t ssize_t;
/* #undef HAVE_NETDB_H */
/* Define to 1 if you have the <netinet/in.h> header file. */
-/* #undef HAVE_NETINET_IN_H */
+#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
++++++ node-gyp-addon-gypi.patch ++++++
Index: node-v12.8.0/addon-rpm.gypi
===================================================================
--- /dev/null
+++ node-v12.8.0/addon-rpm.gypi
@@ -0,0 +1,35 @@
+{
+ 'target_defaults': {
+ 'type': 'loadable_module',
+ 'product_prefix': '',
+ 'include_dirs': [
+ '/usr/include/node12/',
+ '/usr/include/'
+ ],
+
+ 'target_conditions': [
+ ['_type=="loadable_module"', {
+ 'product_extension': 'node',
+ 'defines': [ 'BUILDING_NODE_EXTENSION' ],
+ }]
+ ],
+
+ 'conditions': [
+ [ 'OS=="mac"', {
+ 'libraries': [ '-undefined dynamic_lookup' ],
+ 'xcode_settings': {
+ 'DYLIB_INSTALL_NAME_BASE': '@rpath'
+ },
+ }],
+ [ 'OS=="win"', {
+ 'libraries': [ '-l<(node_root_dir)/$(Configuration)/node.lib' ],
+ # warning C4251: 'node::ObjectWrap::handle_' : class
'v8::Persistent<T>'
+ # needs to have dll-interface to be used by clients of class
'node::ObjectWrap'
+ 'msvs_disabled_warnings': [ 4251 ],
+ }],
+ [ 'OS=="freebsd" or OS=="openbsd" or OS=="solaris" or (OS=="linux" and
target_arch!="ia32")', {
+ 'cflags': [ '-fPIC' ],
+ }]
+ ]
+ }
+}
Index: node-v12.8.0/deps/npm/node_modules/node-gyp/lib/configure.js
===================================================================
--- node-v12.8.0.orig/deps/npm/node_modules/node-gyp/lib/configure.js
+++ node-v12.8.0/deps/npm/node_modules/node-gyp/lib/configure.js
@@ -46,10 +46,6 @@ function configure (gyp, argv, callback)
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)
- } else {
- // if no --target was specified then use the current host node version
- log.verbose('get node dir', 'no --target version specified, falling
back to host node version: %s', release.version)
- }
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()
})
+ } 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')
+ nodeDir = '/usr/include/node12'
+ createBuildDir()
+ }
}
}
@@ -282,7 +284,8 @@ function configure (gyp, argv, callback)
// 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'
+ var addonGypi = path.resolve(__dirname, '..', addon_gypi_file)
var commonGypi = path.resolve(nodeDir, 'include/node/common.gypi')
fs.stat(commonGypi, function (err) {
if (err) {
++++++ nodejs-libpath.patch ++++++
Index: node-v13.2.0/tools/install.py
===================================================================
--- node-v13.2.0.orig/tools/install.py
+++ node-v13.2.0/tools/install.py
@@ -7,6 +7,7 @@ import errno
import os
import shutil
import sys
+from distutils import sysconfig
# set at init time
node_prefix = '/usr/local' # PREFIX variable from Makefile
@@ -80,7 +81,7 @@ def uninstall(paths, dst):
try_remove(path, dst)
def npm_files(action):
- target_path = 'lib/node_modules/npm/'
+ target_path = sysconfig.get_config_var("LIB") + '/node_modules/npm/'
# don't install npm if the target path is a symlink, it probably means
# that a dev version of npm is installed there
@@ -98,7 +99,7 @@ def npm_files(action):
if action == uninstall:
action([link_path], 'bin/npm')
elif action == install:
- try_symlink('../lib/node_modules/npm/bin/npm-cli.js', link_path)
+ try_symlink("../" + sysconfig.get_config_var("LIB") +
'/node_modules/npm/bin/npm-cli.js',link_path)
else:
assert 0 # unhandled action type
@@ -107,7 +108,7 @@ def npm_files(action):
if action == uninstall:
action([link_path], 'bin/npx')
elif action == install:
- try_symlink('../lib/node_modules/npm/bin/npx-cli.js', link_path)
+ try_symlink('../' + sysconfig.get_config_var("LIB") +
'/node_modules/npm/bin/npx-cli.js', link_path)
else:
assert 0 # unhandled action type
@@ -143,7 +144,7 @@ def files(action):
action([output_prefix + output_file], 'lib/' + output_file)
if 'true' == variables.get('node_use_dtrace'):
- action(['out/Release/node.d'], 'lib/dtrace/node.d')
+ action(['out/Release/node.d'], sysconfig.get_config_var("LIB") +
'/dtrace/node.d')
# behave similarly for systemtap
action(['src/node.stp'], 'share/systemtap/tapset/')
Index: node-v13.2.0/lib/internal/modules/cjs/loader.js
===================================================================
--- node-v13.2.0.orig/lib/internal/modules/cjs/loader.js
+++ node-v13.2.0/lib/internal/modules/cjs/loader.js
@@ -1247,7 +1247,7 @@ Module._initPaths = function() {
path.resolve(process.execPath, '..') :
path.resolve(process.execPath, '..', '..');
- let paths = [path.resolve(prefixDir, 'lib', 'node')];
+ let paths = ['/usr/lib/node'];
if (homeDir) {
paths.unshift(path.resolve(homeDir, '.node_libraries'));
++++++ nodejs-sle11-python26-check_output.patch ++++++
Index: node-v9.3.0/configure
===================================================================
--- node-v9.3.0.orig/configure
+++ node-v9.3.0/configure
@@ -38,6 +38,28 @@ import string
# If not run from node/, cd to node/.
os.chdir(os.path.dirname(__file__) or '.')
+#
http://stackoverflow.com/questions/28904750/python-check-output-workaround-in-2-6
+if "check_output" not in dir( subprocess ): # duck punch it in!
+ def check_output(*popenargs, **kwargs):
+ r"""Run command with arguments and return its output as a byte string.
+ Backported from Python 2.7 as it's implemented as pure python on
stdlib.
+
+ >>> check_output(['/usr/bin/python', '--version'])
+ Python 2.6.2+ """
+ process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs,
**kwargs)
+ output, unused_err = process.communicate()
+ retcode = process.poll()
+ if retcode:
+ cmd = kwargs.get("args")
+ if cmd is None:
+ cmd = popenargs[0]
+ error = subprocess.CalledProcessError(retcode, cmd)
+ error.output = output
+ raise error
+ return output
+
+ subprocess.check_output = check_output
+
# gcc and g++ as defaults matches what GYP's Makefile generator does,
# except on OS X.
CC = os.environ.get('CC', 'cc' if sys.platform == 'darwin' else 'gcc')
++++++ npm_search_paths.patch ++++++
Index: node-v10.5.0/deps/npm/lib/help-search.js
===================================================================
--- node-v10.5.0.orig/deps/npm/lib/help-search.js
+++ node-v10.5.0/deps/npm/lib/help-search.js
@@ -18,7 +18,7 @@ function helpSearch (args, silent, cb) {
}
if (!args.length) return cb(helpSearch.usage)
- var docPath = path.resolve(__dirname, '..', 'doc')
+ var docPath = "/usr/share/doc/packages/nodejs"
return glob(docPath + '/*/*.md', function (er, files) {
if (er) return cb(er)
readFiles(files, function (er, data) {
Index: node-v10.5.0/deps/npm/lib/config/defaults.js
===================================================================
--- node-v10.5.0.orig/deps/npm/lib/config/defaults.js
+++ node-v10.5.0/deps/npm/lib/config/defaults.js
@@ -102,6 +102,11 @@ Object.defineProperty(exports, 'defaults
if (process.env.DESTDIR) {
globalPrefix = path.join(process.env.DESTDIR, globalPrefix)
}
+
+ // don't poop all over distro territory - use /usr/local instead
+ if (globalPrefix === '/usr') {
+ globalPrefix = path.join(globalPrefix, '/local');
+ }
}
defaults = {
Index: node-v10.5.0/deps/npm/lib/config/core.js
===================================================================
--- node-v10.5.0.orig/deps/npm/lib/config/core.js
+++ node-v10.5.0/deps/npm/lib/config/core.js
@@ -153,8 +153,9 @@ function load_ (builtin, rc, cli, cb) {
// Eg, `npm config get globalconfig --prefix ~/local` should
// return `~/local/etc/npmrc`
// annoying humans and their expectations!
- if (conf.get('prefix')) {
- var etc = path.resolve(conf.get('prefix'), 'etc')
+ var etc_prefix = conf.get('prefix');
+ if (etc_prefix) {
+ var etc = (etc_prefix === '/usr/local' ? '/etc/nodejs' :
path.resolve(etc_prefix, 'etc'));
defaults.globalconfig = path.resolve(etc, 'npmrc')
defaults.globalignorefile = path.resolve(etc, 'npmignore')
}
++++++ skip_no_console.patch ++++++
Index: node-git.6dbcd0a0f3/test/parallel/test-repl-mode.js
===================================================================
--- node-git.6dbcd0a0f3.orig/test/parallel/test-repl-mode.js
+++ node-git.6dbcd0a0f3/test/parallel/test-repl-mode.js
@@ -1,9 +1,11 @@
'use strict';
-require('../common');
+const common = require('../common');
const assert = require('assert');
const Stream = require('stream');
const repl = require('repl');
+common.skipIfDumbTerminal();
+
const tests = [
testSloppyMode,
testStrictMode,
++++++ update_npm_tarball.sh ++++++
#!/bin/bash
#
# Fetch npm module tarball that is required to run unit tests
# which are not provided by upstream tarball
#
# This is only needed for NodeJS 10.x+
#
set -e
tar Jxf node-v1*.tar.xz
cd node-v1*/tools/doc
npm i
cd ../..
exec tar Jcf ../node_modules.tar.xz tools/doc/node_modules
++++++ versioned.patch ++++++
Author: Adam Majer <[email protected]>
Date: Fri May 11 16:10:16 CEST 2018
Summary: Generate versioned binaries
Generate versioned binaries and install paths
so we can allow concurrent installations and
management via update_alternatives.
This is also important for generation of binary
modules for multiple versions of NodeJS
Index: node-git.3b1d9b3684/Makefile
===================================================================
--- node-git.3b1d9b3684.orig/Makefile
+++ node-git.3b1d9b3684/Makefile
@@ -46,7 +46,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 = node12$(EXEEXT)
NODE ?= ./$(NODE_EXE)
NODE_G_EXE = node_g$(EXEEXT)
NPM ?= ./deps/npm/bin/npm-cli.js
Index: node-git.3b1d9b3684/tools/install.py
===================================================================
--- node-git.3b1d9b3684.orig/tools/install.py
+++ node-git.3b1d9b3684/tools/install.py
@@ -81,34 +81,34 @@ def uninstall(paths, dst):
try_remove(path, dst)
def npm_files(action):
- target_path = sysconfig.get_config_var("LIB") + '/node_modules/npm/'
+ target_path = sysconfig.get_config_var("LIBDIR") + '/node_modules/npm12/'
# don't install npm if the target path is a symlink, it probably means
# that a dev version of npm is installed there
- if os.path.islink(abspath(install_path, target_path)): return
+ if os.path.islink(abspath(install_path, '..', target_path)): return
# npm has a *lot* of files and it'd be a pain to maintain a fixed list here
# so we walk its source directory instead...
for dirname, subdirs, basenames in os.walk('deps/npm', topdown=True):
subdirs[:] = [subdir for subdir in subdirs if subdir != 'test']
paths = [os.path.join(dirname, basename) for basename in basenames]
- action(paths, target_path + dirname[9:] + '/')
+ action(paths, install_path + '/..' + target_path + dirname[9:] + '/')
# create/remove symlink
- link_path = abspath(install_path, 'bin/npm')
+ link_path = abspath(install_path, 'bin/npm12')
if action == uninstall:
- action([link_path], 'bin/npm')
+ action([link_path], 'bin/npm12')
elif action == install:
- try_symlink("../" + sysconfig.get_config_var("LIB") +
'/node_modules/npm/bin/npm-cli.js',link_path)
+ try_symlink(sysconfig.get_config_var("LIBDIR") +
'/node_modules/npm12/bin/npm-cli.js',link_path)
else:
assert 0 # unhandled action type
# create/remove symlink
- link_path = abspath(install_path, 'bin/npx')
+ link_path = abspath(install_path, 'bin/npx12')
if action == uninstall:
- action([link_path], 'bin/npx')
+ action([link_path], 'bin/npx12')
elif action == install:
- try_symlink('../' + sysconfig.get_config_var("LIB") +
'/node_modules/npm/bin/npx-cli.js', link_path)
+ try_symlink(sysconfig.get_config_var("LIBDIR") +
'/node_modules/npm12/bin/npx-cli.js', link_path)
else:
assert 0 # unhandled action type
@@ -122,7 +122,7 @@ def subdir_files(path, dest, action):
def files(action):
is_windows = sys.platform == 'win32'
- output_file = 'node'
+ output_file = 'node12'
output_prefix = 'out/Release/'
if 'false' == variables.get('node_shared'):
@@ -144,10 +144,10 @@ def files(action):
action([output_prefix + output_file], 'lib/' + output_file)
if 'true' == variables.get('node_use_dtrace'):
- action(['out/Release/node.d'], sysconfig.get_config_var("LIB") +
'/dtrace/node.d')
+ action(['out/Release/node.d'], sysconfig.get_config_var("LIBDIR") +
'/dtrace/node.d')
# behave similarly for systemtap
- action(['src/node.stp'], 'share/systemtap/tapset/')
+ action(['src/node.stp'], 'share/systemtap/tapset/node12.stp')
action(['deps/v8/tools/gdbinit'], 'share/doc/node/')
action(['deps/v8/tools/lldb_commands.py'], 'share/doc/node/')
@@ -155,7 +155,7 @@ def files(action):
if 'freebsd' in sys.platform or 'openbsd' in sys.platform:
action(['doc/node.1'], 'man/man1/')
else:
- action(['doc/node.1'], 'share/man/man1/')
+ action(['doc/node.1'], 'share/man/man1/node12.1')
if 'true' == variables.get('node_install_npm'): npm_files(action)
@@ -181,28 +181,28 @@ def headers(action):
'src/node_buffer.h',
'src/node_object_wrap.h',
'src/node_version.h',
- ], 'include/node/')
+ ], 'include/node12/')
# Add the expfile that is created on AIX
if sys.platform.startswith('aix'):
- action(['out/Release/node.exp'], 'include/node/')
+ action(['out/Release/node.exp'], 'include/node12/')
- subdir_files('deps/v8/include', 'include/node/', ignore_inspector_headers)
+ subdir_files('deps/v8/include', 'include/node12/', ignore_inspector_headers)
if 'false' == variables.get('node_shared_libuv'):
- subdir_files('deps/uv/include', 'include/node/', action)
+ subdir_files('deps/uv/include', 'include/node12/', 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/node12/openssl/', action)
+ subdir_files('deps/openssl/config/archs', 'include/node12/openssl/archs',
action)
+ subdir_files('deps/openssl/config', 'include/node12/openssl', action)
if 'false' == variables.get('node_shared_zlib'):
action([
'deps/zlib/zconf.h',
'deps/zlib/zlib.h',
- ], 'include/node/')
+ ], 'include/node12/')
def run(args):
global node_prefix, install_path, target_defaults, variables
Index: node-git.3b1d9b3684/doc/node.1
===================================================================
--- node-git.3b1d9b3684.orig/doc/node.1
+++ node-git.3b1d9b3684/doc/node.1
@@ -30,24 +30,24 @@
.Dt NODE 1
.
.Sh NAME
-.Nm node
+.Nm node12
.Nd server-side JavaScript runtime
.
.\"======================================================================
.Sh SYNOPSIS
-.Nm node
+.Nm node12
.Op Ar options
.Op Ar v8-options
.Op Fl e Ar string | Ar script.js | Fl
.Op Fl -
.Op Ar arguments ...
.
-.Nm node
+.Nm node12
.Cm inspect
.Op Fl e Ar string | Ar script.js | Fl | Ar <host>:<port>
.Ar ...
.
-.Nm node
+.Nm node12
.Op Fl -v8-options
.
.\"======================================================================
Index: node-git.3b1d9b3684/src/node.stp
===================================================================
--- node-git.3b1d9b3684.orig/src/node.stp
+++ node-git.3b1d9b3684/src/node.stp
@@ -19,7 +19,7 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
-probe node_net_server_connection =
process("node").mark("net__server__connection")
+probe node_net_server_connection =
process("node12").mark("net__server__connection")
{
remote = user_string($arg2);
port = $arg3;
@@ -32,7 +32,7 @@ probe node_net_server_connection = proce
fd);
}
-probe node_net_stream_end = process("node").mark("net__stream__end")
+probe node_net_stream_end = process("node12").mark("net__stream__end")
{
remote = user_string($arg2);
port = $arg3;
@@ -45,7 +45,7 @@ probe node_net_stream_end = process("nod
fd);
}
-probe node_http_server_request = process("node").mark("http__server__request")
+probe node_http_server_request =
process("node12").mark("http__server__request")
{
remote = user_string($arg3);
port = $arg4;
@@ -62,7 +62,7 @@ probe node_http_server_request = process
fd);
}
-probe node_http_server_response =
process("node").mark("http__server__response")
+probe node_http_server_response =
process("node12").mark("http__server__response")
{
remote = user_string($arg2);
port = $arg3;
@@ -75,7 +75,7 @@ probe node_http_server_response = proces
fd);
}
-probe node_http_client_request = process("node").mark("http__client__request")
+probe node_http_client_request =
process("node12").mark("http__client__request")
{
remote = user_string($arg3);
port = $arg4;
@@ -92,7 +92,7 @@ probe node_http_client_request = process
fd);
}
-probe node_http_client_response =
process("node").mark("http__client__response")
+probe node_http_client_response =
process("node12").mark("http__client__response")
{
remote = user_string($arg2);
port = $arg3;
@@ -105,7 +105,7 @@ probe node_http_client_response = proces
fd);
}
-probe node_gc_start = process("node").mark("gc__start")
+probe node_gc_start = process("node12").mark("gc__start")
{
scavenge = 1 << 0;
compact = 1 << 1;
@@ -125,7 +125,7 @@ probe node_gc_start = process("node").ma
flags);
}
-probe node_gc_stop = process("node").mark("gc__done")
+probe node_gc_stop = process("node12").mark("gc__done")
{
scavenge = 1 << 0;
compact = 1 << 1;
Index: node-git.3b1d9b3684/deps/npm/man/man1/npm.1
===================================================================
--- node-git.3b1d9b3684.orig/deps/npm/man/man1/npm.1
+++ node-git.3b1d9b3684/deps/npm/man/man1/npm.1
@@ -1,11 +1,11 @@
.TH "NPM" "1" "July 2020" "" ""
.SH "NAME"
-\fBnpm\fR \- javascript package manager
+\fBnpm12\fR \- javascript package manager
.SS Synopsis
.P
.RS 2
.nf
-npm <command> [args]
+npm12 <command> [args]
.fi
.RE
.SS Version
@@ -21,7 +21,7 @@ It is extremely configurable to support
Most commonly, it is used to publish, discover, install, and develop node
programs\.
.P
-Run \fBnpm help\fP to get a list of available commands\.
+Run \fBnpm12 help\fP to get a list of available commands\.
.SS Important
.P
npm is configured to use npm, Inc\.'s public registry at
@@ -35,11 +35,11 @@ terms of use\.
.P
You probably got npm because you want to install stuff\.
.P
-Use \fBnpm install blerg\fP to install the latest version of "blerg"\. Check
out
-npm help \fBinstall\fP for more info\. It can do a lot of stuff\.
+Use \fBnpm12 install blerg\fP to install the latest version of "blerg"\.
Check out
+npm12 help \fBinstall\fP for more info\. It can do a lot of stuff\.
.P
-Use the \fBnpm search\fP command to show everything that's available\.
-Use \fBnpm ls\fP to show everything you've installed\.
+Use the \fBnpm12 search\fP command to show everything that's available\.
+Use \fBnpm12 ls\fP to show everything you've installed\.
.SS Dependencies
.P
If a package references to another package with a git URL, npm depends
@@ -57,7 +57,7 @@ the node\-gyp repository \fIhttps://gith
the node\-gyp Wiki \fIhttps://github\.com/nodejs/node\-gyp/wiki\fR\|\.
.SS Directories
.P
-See npm help \fBfolders\fP to learn about where npm puts stuff\.
+See npm12 help \fBfolders\fP to learn about where npm puts stuff\.
.P
In particular, npm has two modes of operation:
.RS 0
@@ -82,24 +82,24 @@ following help topics:
.RS 0
.IP \(bu 2
json:
-Make a package\.json file\. See npm help \fBpackage\.json\fP\|\.
+Make a package\.json file\. See npm12 help \fBpackage\.json\fP\|\.
.IP \(bu 2
link:
For linking your current working code into Node's path, so that you
don't have to reinstall every time you make a change\. Use
-\fBnpm link\fP to do this\.
+\fBnpm12 link\fP to do this\.
.IP \(bu 2
install:
It's a good idea to install things if you don't need the symbolic link\.
Especially, installing other peoples code from the registry is done via
-\fBnpm install\fP
+\fBnpm12 install\fP
.IP \(bu 2
adduser:
Create an account or log in\. Credentials are stored in the
user config file\.
.IP \(bu 2
publish:
-Use the \fBnpm publish\fP command to upload your code to the registry\.
+Use the \fBnpm12 publish\fP command to upload your code to the registry\.
.RE
.SS Configuration
@@ -135,7 +135,7 @@ lib/utils/config\-defs\.js\. These must
.RE
.P
-See npm help \fBconfig\fP for much much more information\.
+See npm12 help \fBconfig\fP for much much more information\.
.SS Contributions
.P
Patches welcome!
@@ -172,14 +172,14 @@ i@izs\.me
.SS See Also
.RS 0
.IP \(bu 2
-npm help help
+npm12 help help
.IP \(bu 2
-npm help package\.json
+npm12 help package\.json
.IP \(bu 2
-npm help install
+npm12 help install
.IP \(bu 2
-npm help config
+npm12 help config
.IP \(bu 2
-npm help npmrc
+npm12 help npmrc
.RE
Index: node-git.3b1d9b3684/node.gyp
===================================================================
--- node-git.3b1d9b3684.orig/node.gyp
+++ node-git.3b1d9b3684/node.gyp
@@ -21,8 +21,8 @@
'node_use_openssl%': 'true',
'node_shared_openssl%': 'false',
'node_v8_options%': '',
- 'node_core_target_name%': 'node',
- 'node_lib_target_name%': 'libnode',
+ 'node_core_target_name%': 'node12',
+ 'node_lib_target_name%': 'libnode12',
'node_intermediate_lib_type%': 'static_library',
'node_builtin_modules_path%': '',
'library_files': [
Index: node-git.3b1d9b3684/src/node_main.cc
===================================================================
--- node-git.3b1d9b3684.orig/src/node_main.cc
+++ node-git.3b1d9b3684/src/node_main.cc
@@ -121,6 +121,7 @@ int main(int argc, char* argv[]) {
#endif
// Disable stdio buffering, it interacts poorly with printf()
// calls elsewhere in the program (e.g., any logging from V8.)
+ setenv("NODE_VERSION", "12", 0);
setvbuf(stdout, nullptr, _IONBF, 0);
setvbuf(stderr, nullptr, _IONBF, 0);
return node::Start(argc, argv);
Index: node-git.3b1d9b3684/deps/npm/man/man1/npx.1
===================================================================
--- node-git.3b1d9b3684.orig/deps/npm/man/man1/npx.1
+++ node-git.3b1d9b3684/deps/npm/man/man1/npx.1
@@ -1,32 +1,32 @@
.TH "NPX" "1" "January 2020" "[email protected]" "User Commands"
.SH "NAME"
-\fBnpx\fR \- execute npm package binaries
+\fBnpx12\fR \- execute npm package binaries
.SH SYNOPSIS
.P
-\fBnpx [options] <command>[@version] [command\-arg]\.\.\.\fP
+\fBnpx12 [options] <command>[@version] [command\-arg]\.\.\.\fP
.P
-\fBnpx [options] [\-p|\-\-package <pkg>]\.\.\. <command>
[command\-arg]\.\.\.\fP
+\fBnpx12 [options] [\-p|\-\-package <pkg>]\.\.\. <command>
[command\-arg]\.\.\.\fP
.P
-\fBnpx [options] \-c '<command\-string>'\fP
+\fBnpx12 [options] \-c '<command\-string>'\fP
.P
-\fBnpx \-\-shell\-auto\-fallback [shell]\fP
+\fBnpx12 \-\-shell\-auto\-fallback [shell]\fP
.SH INSTALL
.P
-\fBnpm install \-g npx\fP
+\fBnpm12 install \-g npx\fP
.SH DESCRIPTION
.P
Executes \fB<command>\fP either from a local \fBnode_modules/\.bin\fP, or from
a central cache, installing any packages needed in order for \fB<command>\fP to
run\.
.P
-By default, \fBnpx\fP will check whether \fB<command>\fP exists in
\fB$PATH\fP, or in the local project binaries, and execute that\. If
\fB<command>\fP is not found, it will be installed prior to execution\.
+By default, \fBnpx12\fP will check whether \fB<command>\fP exists in
\fB$PATH\fP, or in the local project binaries, and execute that\. If
\fB<command>\fP is not found, it will be installed prior to execution\.
.P
-Unless a \fB\-\-package\fP option is specified, \fBnpx\fP will try to guess
the name of the binary to invoke depending on the specifier provided\. All
package specifiers understood by \fBnpm\fP may be used with \fBnpx\fP,
including git specifiers, remote tarballs, local directories, or scoped
packages\.
+Unless a \fB\-\-package\fP option is specified, \fBnpx12\fP will try to guess
the name of the binary to invoke depending on the specifier provided\. All
package specifiers understood by \fBnpm12\fP may be used with \fBnpx12\fP,
including git specifiers, remote tarballs, local directories, or scoped
packages\.
.P
If a full specifier is included, or if \fB\-\-package\fP is used, npx will
always use a freshly\-installed, temporary version of the package\. This can
also be forced with the \fB\-\-ignore\-existing\fP flag\.
.RS 0
.IP \(bu 2
\fB\-p, \-\-package <package>\fP \- define the package to be installed\. This
defaults to the value of \fB<command>\fP\|\. This is only needed for packages
with multiple binaries if you want to call one of the other executables, or
where the binary name does not match the package name\. If this option is
provided \fB<command>\fP will be executed as\-is, without interpreting
\fB@version\fP if it's there\. Multiple \fB\-\-package\fP options may be
provided, and all the packages specified will be installed\.
.IP \(bu 2
-\fB\-\-no\-install\fP \- If passed to \fBnpx\fP, it will only try to run
\fB<command>\fP if it already exists in the current path or in
\fB$prefix/node_modules/\.bin\fP\|\. It won't try to install missing commands\.
+\fB\-\-no\-install\fP \- If passed to \fBnpx12\fP, it will only try to run
\fB<command>\fP if it already exists in the current path or in
\fB$prefix/node_modules/\.bin\fP\|\. It won't try to install missing commands\.
.IP \(bu 2
\fB\-\-cache <path>\fP \- set the location of the npm cache\. Defaults to
npm's own cache settings\.
.IP \(bu 2
@@ -36,7 +36,7 @@ If a full specifier is included, or if \
.IP \(bu 2
\fB\-\-shell <string>\fP \- The shell to invoke the command with, if any\.
.IP \(bu 2
-\fB\-\-shell\-auto\-fallback [<shell>]\fP \- Generates shell code to override
your shell's "command not found" handler with one that calls \fBnpx\fP\|\.
Tries to figure out your shell, or you can pass its name (either \fBbash\fP,
\fBfish\fP, or \fBzsh\fP) as an option\. See below for how to install\.
+\fB\-\-shell\-auto\-fallback [<shell>]\fP \- Generates shell code to override
your shell's "command not found" handler with one that calls \fBnpx12\fP\|\.
Tries to figure out your shell, or you can pass its name (either \fBbash\fP,
\fBfish\fP, or \fBzsh\fP) as an option\. See below for how to install\.
.IP \(bu 2
\fB\-\-ignore\-existing\fP \- If this flag is set, npx will not look in
\fB$PATH\fP, or in the current package's \fBnode_modules/\.bin\fP for an
existing version before deciding whether to install\. Binaries in those paths
will still be available for execution, but will be shadowed by any packages
requested by this install\.
.IP \(bu 2
@@ -110,7 +110,7 @@ npx \-p node@8 npm run build
.RE
.SH SHELL AUTO FALLBACK
.P
-You can configure \fBnpx\fP to run as your default fallback command when you
type something in the command line with an \fB@\fP but the command is not
found\. This includes installing packages that were not found in the local
prefix either\.
+You can configure \fBnpx12\fP to run as your default fallback command when you
type something in the command line with an \fB@\fP but the command is not
found\. This includes installing packages that were not found in the local
prefix either\.
.P
For example:
.P
@@ -152,7 +152,7 @@ $ source (npx \-\-shell\-auto\-fallback
.RE
.SH ACKNOWLEDGEMENTS
.P
-Huge thanks to Kwyn Meagher \fIhttps://blog\.kwyn\.io\fR for generously
donating the package name in the main npm registry\. Previously \fBnpx\fP was
used for a Tessel board Neopixels library, which can now be found under
\fBnpx\-tessel\fP \fIhttps://npm\.im/npx\-tessel\fR\|\.
+Huge thanks to Kwyn Meagher \fIhttps://blog\.kwyn\.io\fR for generously
donating the package name in the main npm registry\. Previously \fBnpx12\fP was
used for a Tessel board Neopixels library, which can now be found under
\fBnpx\-tessel\fP \fIhttps://npm\.im/npx\-tessel\fR\|\.
.SH AUTHOR
.P
Written by Kat Marchan \fIhttps://github\.com/zkat\fR\|\.
@@ -165,11 +165,11 @@ This work is released by its authors int
.SH SEE ALSO
.RS 0
.IP \(bu 2
-\fBnpm(1)\fP
+\fBnpm12(1)\fP
.IP \(bu 2
-\fBnpm\-run\-script(1)\fP
+\fBnpm12\-run\-script(1)\fP
.IP \(bu 2
-\fBnpm\-config(7)\fP
+\fBnpm12\-config(7)\fP
.RE
Index: node-git.3b1d9b3684/tools/test.py
===================================================================
--- node-git.3b1d9b3684.orig/tools/test.py
+++ node-git.3b1d9b3684/tools/test.py
@@ -903,7 +903,7 @@ class Context(object):
if self.vm is not None:
return self.vm
if arch == 'none':
- name = 'out/Debug/node' if mode == 'debug' else 'out/Release/node'
+ name = 'out/Debug/node' if mode == 'debug' else 'out/Release/node12'
else:
name = 'out/%s.%s/node' % (arch, mode)