Hello community,

here is the log from the commit of package nodejs10.12962 for 
openSUSE:Leap:15.2:Update checked in at 2020-06-27 20:17:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2:Update/nodejs10.12962 (Old)
 and      /work/SRC/openSUSE:Leap:15.2:Update/.nodejs10.12962.new.3060 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nodejs10.12962"

Sat Jun 27 20:17:02 2020 rev:1 rq:816870 version:10.21.0

Changes:
--------
New Changes file:

--- /dev/null   2020-06-25 10:56:43.568241769 +0200
+++ 
/work/SRC/openSUSE:Leap:15.2:Update/.nodejs10.12962.new.3060/nodejs10.changes   
    2020-06-27 20:17:04.124470595 +0200
@@ -0,0 +1,880 @@
+-------------------------------------------------------------------
+Tue Jun  9 11:45:32 UTC 2020 - Adam Majer <adam.ma...@suse.de>
+
+- Add Require for nodejs10 when intalling npm10 (bsc#1172728)
+
+-------------------------------------------------------------------
+Thu Jun  4 11:29:50 UTC 2020 - Adam Majer <adam.ma...@suse.de>
+
+- New upstream LTS version 10.21.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)
+  * deps: ICU-20958 Prevent SEGV_MAPERR in append
+    (CVE-2020-10531, bsc#1166844)
+
+-------------------------------------------------------------------
+Mon May  4 12:28:30 UTC 2020 - Adam Majer <adam.ma...@suse.de>
+
+- Reduce Requires to Recommends on nodejs10-devel when installing npm10
+
+-------------------------------------------------------------------
+Mon Apr 27 13:02:42 UTC 2020 - Adam Majer <adam.ma...@suse.de>
+
+- New upstream LTS version 10.20.1:
+  * buffer: add {read|write}Big[U]Int64{BE|LE} methods
+  * build: macOS package notarization
+  * deps:
+    + update npm to 6.14.3 (bsc#1166916, CVE-2020-7598)
+    + upgrade openssl sources to 1.1.1e
+    + upgrade to libuv 1.34.2
+  * n-api:
+    + add napi_get_all_property_names
+    + add APIs for per-instance state management
+    + define release 6
+    + turn NAPI_CALL_INTO_MODULE into a function
+  * tls:
+    + expose keylog event on TLSSocket
+    + support TLS min/max protocol defaults in CLI
+  * url: handle quasi-WHATWG URLs in urlToOptions()
+
+- openssl_rand_regression.patch: upstreamed
+- versioned.patch: refreshed
+
+-------------------------------------------------------------------
+Mon Mar  2 09:43:10 UTC 2020 - Adam Majer <adam.ma...@suse.de>
+
+- openssl_rand_regression.patch: Add getrandom syscall definition
+  for all Linux platforms. This fixes a runtime error in SLE-12
+  (bnc#1162117)
+
+-------------------------------------------------------------------
+Fri Feb  7 13:05:56 UTC 2020 - Adam Majer <adam.ma...@suse.de>
+
+- New upstream LTS version 10.19.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
+    Transfer-Encoding header (CVE-2019-15605, bsc#1163102)
+  * trim HTTP header values of optional white space
+    (CVE-2019-15606, bsc#1163103)
+  * enabled stricter HTTP header parsing by default.
+
+-------------------------------------------------------------------
+Fri Jan 10 15:01:47 UTC 2020 - Adam Majer <adam.ma...@suse.de>
+
+- New upstream LTS version 10.18.1:
+  * http2: fix session memory accounting after pausing
+  * n-api: correct bug in napi_get_last_error
+  * tools: update tzdata to 2019c
+
+-------------------------------------------------------------------
+Tue Jan  7 13:12:10 UTC 2020 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Really disable LTO when required (nodejs < 12)
+
+-------------------------------------------------------------------
+Fri Dec 27 14:57:23 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- node-gyp-addon-gypi.patch: Fix wrong path in gypi files (bsc#1159812)
+
+-------------------------------------------------------------------
+Thu Dec 19 13:46:52 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- New upstream LTS version 10.18.0:
+  * deps: update npm to 6.13.4 fixing an arbitrary path overwrite
+    and access via "bin" field (bsc#1159352, CVE-2019-16777,
+    CVE-2019-16776, CVE-2019-16775)
+- versioned.patch: refreshed
+
+-------------------------------------------------------------------
+Tue Dec  3 13:36:20 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- Increase _constraints to allow all unit tests to execute
+
+-------------------------------------------------------------------
+Tue Nov  5 08:38:31 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- skip_no_console.patch: skip tests on build platforms where console
+  is set to a dumb terminal
+
+-------------------------------------------------------------------
+Thu Oct 24 13:37:11 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- New upstream LTS version 10.17.0:
+  * crypto:
+    + add support for chacha20-poly1305 for AEAD
+    + increase maxmem range from 32 to 53 bits
+  * deps:
+    + update npm to 6.11.3
+    + upgrade openssl sources to 1.1.1d
+  * dns: remove dns.promises experimental warning
+  * fs: remove experimental warning for fs.promises
+  * http: makes response.writeHead return the response
+  * http2: makes response.writeHead return the response
+  * n-api:
+    + make func argument of napi_create_threadsafe_function optional
+    + mark version 5 N-APIs as stable
+    + implement date object
+  * process: add --unhandled-rejections flag
+  * stream:
+    + implement Readable.from async iterator utility
+    + make Symbol.asyncIterator support stable
+
+- CVE-2019-13173.patch: dropped, no longer in upstream npm
+- fix_build_with_openssl_1.1.1d.patch: upstreamed
+- node-gyp-addon-gypi.patch, versioned.patch: refreshed
+
+-------------------------------------------------------------------
+Wed Sep 18 13:44:55 UTC 2019 - Vítězslav Čížek <vci...@suse.com>
+
+- Fix build with OpenSSL 1.1.1d (bsc#1149792)
+  * https://github.com/nodejs/node/pull/29550
+  * add fix_build_with_openssl_1.1.1d.patch
+
+-------------------------------------------------------------------
+Fri Aug 16 14:33:44 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- Update to 10.16.3:
+  Security update regarding HTTP/2 Denial of Service vulnerabilities
+  For details see,
+  
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V12.md#12.8.1
+  
https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-002.md
+  (CVE-2019-9511, CVE-2019-9512, CVE-2019-9513, CVE-2019-9514,
+   bsc#1146091, bsc#1146099, bsc#1146094, bsc#1146095,
+   CVE-2019-9515, CVE-2019-9516, CVE-2019-9517, CVE-2019-9518,
+   bsc#1146100, bsc#1146090, bsc#1146097, bsc#1146093)
+
+- Changes in 10.16.2:
+  * fix OpenSSL upgrade to 1.1.1c that causes intermittent hangs in
+    machines that have low entropy.
+
+-------------------------------------------------------------------
+Thu Aug  1 15:01:02 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- New upstream LTS version 10.16.1
+  * deps: upgrade openssl sources to 1.1.1c (for SLE-12 based systems)
+  * stream: do not unconditionally call _read() on resume()
+  * worker: fix nullptr deref after MessagePort deser failure
+
+-------------------------------------------------------------------
+Mon Jul 29 09:01:18 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- CVE-2019-13173.patch: fix potential file overwrite via hardlink
+  in fstream.DirWriter() function (bsc#1140290, CVE-2019-13173)
+
+-------------------------------------------------------------------
+Wed May 29 15:39:40 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- New upstream LTS version 10.16.0
+  * deps:
+    + upgrade npm to 6.9.0
+    + upgrade openssl sources to 1.1.1b (for SLE-12 based systems)
+    + upgrade libuv to 1.28.0 (for SLE-12 based systems)
+    + upgrade to libuv 1.28.0
+  * events: add once method to use promises with EventEmitter
+  * n-api: mark thread-safe function as stable
+  * repl: support top-level for-await-of
+  * zlib: add brotli support
+
+- openssl_1_1_1.patch: dropped, no longer needed
+- fix_ci_tests.patch: drop onion handling in DNS, since this depends
+  on 3rd party library
+- versioned.patch: refreshed
+
+-------------------------------------------------------------------
+Mon May  6 13:54:47 UTC 2019 - Adam Majer <adam.ma...@suse.de>
+
+- openssl_1_1_1.patch: backport fixes for OpenSSL 1.1.1 (bsc#1134208)
+- Require user/group nobody for npm
+
+-------------------------------------------------------------------
+Sun Apr  7 18:16:21 UTC 2019 - Guillaume GARDET <guillaume.gar...@opensuse.org>
+
+- Add _constraints file to avoid OOM errors
+
+-------------------------------------------------------------------
++++ 683 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:Leap:15.2:Update/.nodejs10.12962.new.3060/nodejs10.changes

New:
----
  SHASUMS256.txt
  SHASUMS256.txt.sig
  _constraints
  bash_output_helper.bash
  fix_ci_tests.patch
  flaky_test_rerun.patch
  manual_configure.patch
  node-gyp-addon-gypi.patch
  node-v10.21.0.tar.xz
  node_modules.tar.xz
  nodejs-libpath.patch
  nodejs-sle11-python26-check_output.patch
  nodejs.keyring
  nodejs10.changes
  nodejs10.spec
  npm_search_paths.patch
  skip_no_console.patch
  skip_test_on_lowmem.patch
  update_npm_tarball.sh
  valgrind_fixes.patch
  versioned.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ nodejs10.spec ++++++
++++ 656 lines (skipped)

++++++ SHASUMS256.txt ++++++
73f0bc9348b2f70f2deed898843f7212f494b085ee3022ff67967005852130fa  
node-v10.21.0-aix-ppc64.tar.gz
596900700c4a0de0303bb4c378a1abcd63f31efc848704c5fbc1230de628577a  
node-v10.21.0-darwin-x64.tar.gz
36eec82a6cd881a937c94a2d03136c9836b39e254ab325840426acd5f3c5787c  
node-v10.21.0-darwin-x64.tar.xz
262f5bc158f7a58bf41d8871c50ae74d7cb3210f3a6b2efe3ba5f21ea33a08c8  
node-v10.21.0-headers.tar.gz
c09501ddd41a8c63f00d4952e31842e49c23007271d157de27e5fce82418eff6  
node-v10.21.0-headers.tar.xz
43f821147c18367c227ea63ce173ee3acfd3da1fa3ea0581f6de1a27ca5b7d4e  
node-v10.21.0-linux-arm64.tar.gz
3af40706ff0da7fe0baa4683ead6c74445405a2553e7373e627f24d19d4ac100  
node-v10.21.0-linux-arm64.tar.xz
220dcfa45ddab2c0217260a15fb0d6d18ecd457503f05bb97420a05e4795a452  
node-v10.21.0-linux-armv6l.tar.gz
4943467e94ac2aed354bf6156c9ac43491327143357cf483b27b40ba7d3a8970  
node-v10.21.0-linux-armv6l.tar.xz
a8009ea75f05c0b5cb13a233b9a09a3c83fd1715ba2eae1464bd1472cae885db  
node-v10.21.0-linux-armv7l.tar.gz
28808565e8e3565a7d3f2ebebda4bf0f0c1e2e7e350e7d0a8de7b39b9da573cd  
node-v10.21.0-linux-armv7l.tar.xz
56d82acd26898515d2cc27e5102c0f7253ced7ff3e35078a0a0472d6c9cbaa45  
node-v10.21.0-linux-ppc64le.tar.gz
661d36981206d239fb6d55056a662a00eb047056ffe0c2d6078937a09eeb60c5  
node-v10.21.0-linux-ppc64le.tar.xz
fc5a87fb704474077997839c22f93c579f957335589fee5293a383dc94578be9  
node-v10.21.0-linux-s390x.tar.gz
ff5d3aa06bae5caacdcedaf75c9d835de80d899f36a4e93933c6b06effb4481e  
node-v10.21.0-linux-s390x.tar.xz
d0bac246001eed9268ba9cadbfc6cfd8b6eb0728ad000a0f9fa7ce29e66c2be4  
node-v10.21.0-linux-x64.tar.gz
1d3296763e46540047099e4910812e81c4899c0595f2d82474e2099c1e1603e2  
node-v10.21.0-linux-x64.tar.xz
bcd05dab3974ccb680c571671493d198bd5cae0be43a63f565564e57947aacb8  
node-v10.21.0.pkg
ec1d79603065a01aa017a5e519b56a5448d789142163284ec6dcc8ee3f6bc4b6  
node-v10.21.0-sunos-x64.tar.gz
c785dc061fda08f493cc70fc532c2657521e76826ba20ba737d2263619a994de  
node-v10.21.0-sunos-x64.tar.xz
bee7497e29c6c8f350fdf7dfa198c97041c7bf8d57cc2b58dfbfe6607d1ebf8f  
node-v10.21.0.tar.gz
26b01fa28338cacaa8a66d7963ab2514e81678c268ab52ec55dcf937aadcb73b  
node-v10.21.0.tar.xz
8dd25c93f6549f877f51686dc00e2f481e82cd0c41ace7b43847f65ec03f8ea9  
node-v10.21.0-win-x64.7z
03dddcdaccdb40978ddf15d189acdc20409d9a666636db2595118690ff83ce82  
node-v10.21.0-win-x64.zip
52e17029a13ea91770f8726beb602e02f0e5e4a693d446d88e8ecd6b42893683  
node-v10.21.0-win-x86.7z
1ed92df4f39d183b0dee5205813ba9a32b8aff3e6f55d7f4d65193659dbad248  
node-v10.21.0-win-x86.zip
d4c14e6b7881f729eafc0f5e6a8accc51c71d2670ffdd02becc43abd1d1d3448  
node-v10.21.0-x64.msi
bc9ed68a1124f607a3847d8ce5a8a0eeaa42a0ee8f4b3eecd5fe90f36ad70122  
node-v10.21.0-x86.msi
1b4ea1d005370eaa851346964f635306e9521a4286c9c7aa405f26d242c4d5cb  
win-x64/node.exe
d9b47d93598cbc6abf4604be1a96aa6cdaae229edb2fcc01122ac1ad249e3f46  
win-x64/node.lib
66e02891b481f0573d9fd858556f02eec645c0a2b944637e026ad26347df82f9  
win-x64/node_pdb.7z
6c87ea7317144afc28140b9c2c8d4f46d28e5e98f357dfc2595887d63a32e021  
win-x64/node_pdb.zip
f36ab2272283f07e7ec381d8b4ab4508b3b9a18ab9defb7c36d04bb92819a4e9  
win-x86/node.exe
b058a3b0e6e47f12a2ade2b3a758f0778d52e02e7d114d89e10ad6091079e9f7  
win-x86/node.lib
493b381b005327422bfa27590880eda49b03665b7286ded740d2dea9bb301692  
win-x86/node_pdb.7z
cb55af47d6e8e95bdae433571e76b097a34485e033ec2d9afa295bc68d0b9fbc  
win-x86/node_pdb.zip
++++++ _constraints ++++++
<?xml version="1.0"?>
<constraints>
  <hardware>
    <disk>
      <size unit="G">5</size>
    </disk>
    <memory>
    <size unit="M">6500</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 <ama...@suse.de>
Date: Dec 20 09:18:49 UTC 2017
Summary: Fix CI unit tests framework for OBS building

Index: node-v10.17.0/test/parallel/test-module-loading-globalpaths.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-module-loading-globalpaths.js
+++ node-v10.17.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-v10.17.0/Makefile
===================================================================
--- node-v10.17.0.orig/Makefile
+++ node-v10.17.0/Makefile
@@ -455,7 +455,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-addons-napi doc-only
+test-ci: | clear-stalled build-addons build-addons-napi
        out/Release/cctest --gtest_output=tap:cctest.tap
        $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
                --mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \
@@ -612,7 +612,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 on purpose";
+#      @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)) \
Index: node-v10.17.0/test/parallel/test-tls-env-bad-extra-ca.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-tls-env-bad-extra-ca.js
+++ node-v10.17.0/test/parallel/test-tls-env-bad-extra-ca.js
@@ -36,7 +36,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-v10.17.0/test/parallel/test-tls-passphrase.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-tls-passphrase.js
+++ node-v10.17.0/test/parallel/test-tls-passphrase.js
@@ -221,7 +221,7 @@ server.listen(0, common.mustCall(functio
   }, common.mustCall());
 })).unref();
 
-const errMessagePassword = /bad decrypt/;
+const errMessagePassword = /bad (decrypt|password read)/;
 
 // Missing passphrase
 assert.throws(function() {
Index: node-v10.17.0/test/parallel/test-crypto-scrypt.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-crypto-scrypt.js
+++ node-v10.17.0/test/parallel/test-crypto-scrypt.js
@@ -167,7 +167,7 @@ for (const options of bad) {
 
 for (const options of toobig) {
   const expected = {
-    message: /error:[^:]+:digital envelope routines:EVP_PBE_scrypt:memory 
limit exceeded/,
+    message: /(error:[^:]+:digital envelope 
routines:(EVP_PBE_scrypt|scrypt_alg):memory limit exceeded|Invalid scrypt 
parameter)/,
     type: Error,
   };
   common.expectsError(() => crypto.scrypt('pass', 'salt', 1, options, () => 
{}),
Index: node-v10.17.0/test/parallel/test-repl-envvars.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-repl-envvars.js
+++ node-v10.17.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-v10.17.0/test/parallel/test-fs-utimes.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-fs-utimes.js
+++ node-v10.17.0/test/parallel/test-fs-utimes.js
@@ -144,8 +144,8 @@ function runTests(iter) {
 const path = `${tmpdir.path}/test-utimes-precision`;
 fs.writeFileSync(path, '');
 
-// test Y2K38 for all platforms [except 'arm', 'OpenBSD' and 'SunOS']
-if (!process.arch.includes('arm') && !common.isOpenBSD && !common.isSunOS) {
+// test Y2K38 for all platforms [except 'arm', 's390', 'OpenBSD' and 'SunOS']
+if (!process.arch.includes('arm') && process.arch !== 's390' && 
!common.isOpenBSD && !common.isSunOS) {
   const Y2K38_mtime = 2 ** 31;
   fs.utimesSync(path, Y2K38_mtime, Y2K38_mtime);
   const Y2K38_stats = fs.statSync(path);
Index: node-v10.17.0/test/common/index.js
===================================================================
--- node-v10.17.0.orig/test/common/index.js
+++ node-v10.17.0/test/common/index.js
@@ -226,6 +226,8 @@ const pwdCommand = isWindows ?
 
 
 function platformTimeout(ms) {
+  ms = 10 * ms; // OBS overhead and such.
+
   if (process.features.debug)
     ms = 2 * ms;
 
Index: node-v10.17.0/test/common/index.mjs
===================================================================
--- node-v10.17.0.orig/test/common/index.mjs
+++ node-v10.17.0/test/common/index.mjs
@@ -42,6 +42,7 @@ const {
   expectsError,
   skipIfInspectorDisabled,
   skipIf32Bits,
+  skipIfWorker,
   getArrayBufferViews,
   getBufferSources,
   disableCrashOnUnhandledRejection,
@@ -89,6 +90,7 @@ export {
   expectsError,
   skipIfInspectorDisabled,
   skipIf32Bits,
+  skipIfWorker,
   getArrayBufferViews,
   getBufferSources,
   disableCrashOnUnhandledRejection,
Index: node-v10.17.0/test/parallel/test-crypto-keygen.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-crypto-keygen.js
+++ node-v10.17.0/test/parallel/test-crypto-keygen.js
@@ -171,7 +171,7 @@ function convertDERToPEM(label, der) {
     // Since the private key is encrypted, signing shouldn't work anymore.
     assert.throws(() => {
       testSignVerify(publicKey, privateKey);
-    }, /bad decrypt|asn1 encoding routines/);
+    }, /bad decrypt|asn1 encoding routines|bad password read/);
 
     const key = { key: privateKey, passphrase: 'secret' };
     testEncryptDecrypt(publicKey, key);
@@ -209,7 +209,7 @@ function convertDERToPEM(label, der) {
     // Since the private key is encrypted, signing shouldn't work anymore.
     assert.throws(() => {
       testSignVerify(publicKey, privateKey);
-    }, /bad decrypt|asn1 encoding routines/);
+    }, /bad decrypt|asn1 encoding routines|bad password read/);
 
     // Signing should work with the correct password.
     testSignVerify(publicKey, {
@@ -269,7 +269,7 @@ function convertDERToPEM(label, der) {
     // Since the private key is encrypted, signing shouldn't work anymore.
     assert.throws(() => {
       testSignVerify(publicKey, privateKey);
-    }, /bad decrypt|asn1 encoding routines/);
+    }, /bad decrypt|asn1 encoding routines|bad password read/);
 
     testSignVerify(publicKey, { key: privateKey, passphrase: 'secret' });
   }));
@@ -302,7 +302,7 @@ function convertDERToPEM(label, der) {
     // Since the private key is encrypted, signing shouldn't work anymore.
     assert.throws(() => {
       testSignVerify(publicKey, privateKey);
-    }, /bad decrypt|asn1 encoding routines/);
+    }, /bad decrypt|asn1 encoding routines|bad password read/);
 
     testSignVerify(publicKey, {
       key: privateKey,
Index: node-v10.17.0/test/parallel/test-dns.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-dns.js
+++ node-v10.17.0/test/parallel/test-dns.js
@@ -315,12 +315,3 @@ common.expectsError(() => {
   type: TypeError
 });
 
-{
-  dns.resolveMx('foo.onion', function(err) {
-    assert.deepStrictEqual(err.errno, 'ENOTFOUND');
-    assert.deepStrictEqual(err.code, 'ENOTFOUND');
-    assert.deepStrictEqual(err.syscall, 'queryMx');
-    assert.deepStrictEqual(err.hostname, 'foo.onion');
-    assert.deepStrictEqual(err.message, 'queryMx ENOTFOUND foo.onion');
-  });
-}
++++++ 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,
++++++ manual_configure.patch ++++++
Author: Adam Majer <ama...@suse.de>
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-v10.1.0/deps/nghttp2/lib/includes/config.h
===================================================================
--- node-v10.1.0.orig/deps/nghttp2/lib/includes/config.h
+++ node-v10.1.0/deps/nghttp2/lib/includes/config.h
@@ -54,7 +54,7 @@ typedef intptr_t ssize_t;
 /* #undef NOTHREADS */
 
 /* Define to 1 if you have the <arpa/inet.h> header file. */
-/* #undef HAVE_ARPA_INET_H */
+#define HAVE_ARPA_INET_H 1
 
 /* Define to 1 if you have the <fcntl.h> header file. */
 #define HAVE_FCNTL_H 1
@@ -69,7 +69,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 */
Index: node-v10.1.0/deps/nghttp2/nghttp2.gyp
===================================================================
--- node-v10.1.0.orig/deps/nghttp2/nghttp2.gyp
+++ node-v10.1.0/deps/nghttp2/nghttp2.gyp
@@ -12,6 +12,7 @@
       'defines': [
         'BUILDING_NGHTTP2',
         'NGHTTP2_STATICLIB',
+        'HAVE_CONFIG_H',
       ],
       'conditions': [
         ['OS=="win"', {
++++++ 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/node10/',
+      '/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/node10'
+        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-v9.11.1/tools/install.py
===================================================================
--- node-v9.11.1.orig/tools/install.py
+++ node-v9.11.1/tools/install.py
@@ -6,6 +6,7 @@ import os
 import re
 import shutil
 import sys
+from distutils import sysconfig
 from getmoduleversion import get_version
 
 # set at init time
@@ -77,7 +78,7 @@ def install(paths, dst): map(lambda path
 def uninstall(paths, dst): map(lambda path: try_remove(path, dst), paths)
 
 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
@@ -95,7 +96,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
 
@@ -140,7 +141,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-v9.11.1/lib/internal/modules/cjs/loader.js
===================================================================
--- node-v9.11.1.orig/lib/internal/modules/cjs/loader.js
+++ node-v9.11.1/lib/internal/modules/cjs/loader.js
@@ -716,7 +716,7 @@ Module._initPaths = function() {
   } else {
     prefixDir = path.resolve(process.execPath, '..', '..');
   }
-  var paths = [path.resolve(prefixDir, 'lib', 'node')];
+  var 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-v10.17.0/test/parallel/test-console-clear.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-console-clear.js
+++ node-v10.17.0/test/parallel/test-console-clear.js
@@ -18,5 +18,6 @@ function doTest(isTTY, check) {
 }
 
 // Fake TTY
-doTest(true, check);
+if (process.env.TERM !== 'dumb')
+       doTest(true, check);
 doTest(false, '');
Index: node-v10.17.0/test/parallel/test-readline-position.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-readline-position.js
+++ node-v10.17.0/test/parallel/test-readline-position.js
@@ -1,11 +1,17 @@
 'use strict';
-require('../common');
+const common = require('../common');
 const { PassThrough } = require('stream');
 const readline = require('readline');
 const assert = require('assert');
 
 const ctrlU = { ctrl: true, name: 'u' };
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
 {
   const input = new PassThrough();
   const rl = readline.createInterface({
Index: node-v10.17.0/test/parallel/test-readline-interface.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-readline-interface.js
+++ node-v10.17.0/test/parallel/test-readline-interface.js
@@ -29,6 +29,12 @@ const internalReadline = require('intern
 const EventEmitter = require('events').EventEmitter;
 const { Writable, Readable } = require('stream');
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
 class FakeInput extends EventEmitter {
   resume() {}
   pause() {}
Index: node-v10.17.0/test/parallel/test-readline-undefined-columns.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-readline-undefined-columns.js
+++ node-v10.17.0/test/parallel/test-readline-undefined-columns.js
@@ -11,6 +11,12 @@ const readline = require('readline');
 const iStream = new PassThrough();
 const oStream = new PassThrough();
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
 readline.createInterface({
   terminal: true,
   input: iStream,
Index: node-v10.17.0/test/parallel/test-readline.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-readline.js
+++ node-v10.17.0/test/parallel/test-readline.js
@@ -4,6 +4,13 @@ const { PassThrough } = require('stream'
 const readline = require('readline');
 const assert = require('assert');
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
+
 {
   const input = new PassThrough();
   const rl = readline.createInterface({
Index: node-v10.17.0/test/parallel/test-repl-editor.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-repl-editor.js
+++ node-v10.17.0/test/parallel/test-repl-editor.js
@@ -1,6 +1,6 @@
 'use strict';
 
-require('../common');
+const common = require('../common');
 const assert = require('assert');
 const repl = require('repl');
 const ArrayStream = require('../common/arraystream');
@@ -11,6 +11,12 @@ const ArrayStream = require('../common/a
 const terminalCode = '\u001b[1G\u001b[0J> \u001b[3G';
 const terminalCodeRegex = new RegExp(terminalCode.replace(/\[/g, '\\['), 'g');
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
 function run({ input, output, event, checkTerminalCodes = true }) {
   const stream = new ArrayStream();
   let found = '';
Index: node-v10.17.0/test/parallel/test-repl-eval-scope.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-repl-eval-scope.js
+++ node-v10.17.0/test/parallel/test-repl-eval-scope.js
@@ -4,6 +4,12 @@ const ArrayStream = require('../common/a
 const assert = require('assert');
 const repl = require('repl');
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
 {
   const stream = new ArrayStream();
   const options = {
Index: node-v10.17.0/test/parallel/test-repl-history-navigation.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-repl-history-navigation.js
+++ node-v10.17.0/test/parallel/test-repl-history-navigation.js
@@ -9,6 +9,12 @@ const assert = require('assert');
 const fs = require('fs');
 const path = require('path');
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
 const tmpdir = require('../common/tmpdir');
 tmpdir.refresh();
 
Index: node-v10.17.0/test/parallel/test-repl-load-multiline.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-repl-load-multiline.js
+++ node-v10.17.0/test/parallel/test-repl-load-multiline.js
@@ -1,10 +1,16 @@
 'use strict';
-require('../common');
+const common = require('../common');
 const ArrayStream = require('../common/arraystream');
 const fixtures = require('../common/fixtures');
 const assert = require('assert');
 const repl = require('repl');
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
 const command = `.load ${fixtures.path('repl-load-multiline.js')}`;
 const terminalCode = '\u001b[1G\u001b[0J \u001b[1G';
 const terminalCodeRegex = new RegExp(terminalCode.replace(/\[/g, '\\['), 'g');
Index: node-v10.17.0/test/parallel/test-repl-persistent-history.js
===================================================================
--- node-v10.17.0.orig/test/parallel/test-repl-persistent-history.js
+++ node-v10.17.0/test/parallel/test-repl-persistent-history.js
@@ -11,6 +11,12 @@ const fs = require('fs');
 const path = require('path');
 const os = require('os');
 
+if (process.env.TERM == 'dumb')
+{
+  common.skip('Skipping test - dumb console');
+  return;
+}
+
 const tmpdir = require('../common/tmpdir');
 tmpdir.refresh();
 
++++++ skip_test_on_lowmem.patch ++++++
Index: node-git.96a986d675/test/sequential/test-buffer-creation-regression.js
===================================================================
--- node-git.96a986d675.orig/test/sequential/test-buffer-creation-regression.js
+++ node-git.96a986d675/test/sequential/test-buffer-creation-regression.js
@@ -2,6 +2,7 @@
 
 const common = require('../common');
 const assert = require('assert');
+const os = require('os');
 
 function test(arrayBuffer, offset, length) {
   const uint8Array = new Uint8Array(arrayBuffer, offset, length);
@@ -25,6 +26,10 @@ const offset = 4294967296; /* 1 << 32 */
 const size = offset + length;
 let arrayBuffer;
 
+if (os.totalmem()/(1<<30) < 7) {
+  common.skip('Skipping test on low-memory build machine');
+}
+
 try {
   arrayBuffer = new ArrayBuffer(size);
 } catch (e) {
++++++ 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-v10.*.tar.xz
cd node-v10.*/tools/doc
npm i
cd ../..
exec tar Jcf ../node_modules.tar.xz tools/doc/node_modules
++++++ valgrind_fixes.patch ++++++
Index: node-v10.12.0/deps/uv/src/unix/linux-core.c
===================================================================
--- node-v10.12.0.orig/deps/uv/src/unix/linux-core.c
+++ node-v10.12.0/deps/uv/src/unix/linux-core.c
@@ -213,6 +213,8 @@ void uv__io_poll(uv_loop_t* loop, int ti
   int op;
   int i;
 
+  memset(&e, 0, sizeof(e));
+
   if (loop->nfds == 0) {
     assert(QUEUE_EMPTY(&loop->watcher_queue));
     return;
++++++ versioned.patch ++++++
Author: Adam Majer <ama...@suse.de>
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.4390674624/Makefile
===================================================================
--- node-git.4390674624.orig/Makefile
+++ node-git.4390674624/Makefile
@@ -43,7 +43,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 = node10$(EXEEXT)
 NODE ?= ./$(NODE_EXE)
 NODE_G_EXE = node_g$(EXEEXT)
 NPM ?= ./deps/npm/bin/npm-cli.js
Index: node-git.4390674624/tools/install.py
===================================================================
--- node-git.4390674624.orig/tools/install.py
+++ node-git.4390674624/tools/install.py
@@ -77,7 +77,7 @@ def install(paths, dst): map(lambda path
 def uninstall(paths, dst): map(lambda path: try_remove(path, dst), paths)
 
 def npm_files(action):
-  target_path = sysconfig.get_config_var("LIB") + '/node_modules/npm/'
+  target_path = sysconfig.get_config_var("LIB") + '/node_modules/npm10/'
 
   # don't install npm if the target path is a symlink, it probably means
   # that a dev version of npm is installed there
@@ -91,20 +91,20 @@ def npm_files(action):
     action(paths, target_path + dirname[9:] + '/')
 
   # create/remove symlink
-  link_path = abspath(install_path, 'bin/npm')
+  link_path = abspath(install_path, 'bin/npm10')
   if action == uninstall:
-    action([link_path], 'bin/npm')
+    action([link_path], 'bin/npm10')
   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("LIB") + 
'/node_modules/npm10/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/npx10')
   if action == uninstall:
-    action([link_path], 'bin/npx')
+    action([link_path], 'bin/npx10')
   elif action == install:
-    try_symlink('../lib/node_modules/npm/bin/npx-cli.js', link_path)
+    try_symlink("../" + sysconfig.get_config_var("LIB") + 
'/node_modules/npm10/bin/npx-cli.js', link_path)
   else:
     assert(0) # unhandled action type
 
@@ -118,7 +118,7 @@ def subdir_files(path, dest, action):
 
 def files(action):
   is_windows = sys.platform == 'win32'
-  output_file = 'node'
+  output_file = 'node10'
   output_prefix = 'out/Release/'
 
   if 'false' == variables.get('node_shared'):
@@ -143,7 +143,7 @@ def files(action):
     action(['out/Release/node.d'], sysconfig.get_config_var("LIB") + 
'/dtrace/node.d')
 
   # behave similarly for systemtap
-  action(['src/node.stp'], 'share/systemtap/tapset/')
+  action(['src/node.stp'], 'share/systemtap/tapset/node10.stp')
 
   action(['deps/v8/tools/gdbinit'], 'share/doc/node/')
   action(['deps/v8/tools/lldbinit'], 'share/doc/node/')
@@ -152,7 +152,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/node10.1')
 
   if 'true' == variables.get('node_install_npm'): npm_files(action)
 
@@ -168,28 +168,28 @@ def headers(action):
     'src/node_buffer.h',
     'src/node_object_wrap.h',
     'src/node_version.h',
-  ], 'include/node/')
+  ], 'include/node10/')
 
   # 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/node10/')
 
-  subdir_files('deps/v8/include', 'include/node/', action)
+  subdir_files('deps/v8/include', 'include/node10/', action)
 
   if 'false' == variables.get('node_shared_libuv'):
-    subdir_files('deps/uv/include', 'include/node/', action)
+    subdir_files('deps/uv/include', 'include/node10/', 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/node10/openssl/', action)
+    subdir_files('deps/openssl/config/archs', 'include/node10/openssl/archs', 
action)
+    subdir_files('deps/openssl/config', 'include/node10/openssl', action)
 
   if 'false' == variables.get('node_shared_zlib'):
     action([
       'deps/zlib/zconf.h',
       'deps/zlib/zlib.h',
-    ], 'include/node/')
+    ], 'include/node10/')
 
 def run(args):
   global node_prefix, install_path, target_defaults, variables
Index: node-git.4390674624/doc/node.1
===================================================================
--- node-git.4390674624.orig/doc/node.1
+++ node-git.4390674624/doc/node.1
@@ -30,24 +30,24 @@
 .Dt NODE 1
 .
 .Sh NAME
-.Nm node
+.Nm node10
 .Nd server-side JavaScript runtime
 .
 .\"======================================================================
 .Sh SYNOPSIS
-.Nm node
+.Nm node10
 .Op Ar options
 .Op Ar v8-options
 .Op Fl e Ar string | Ar script.js | Fl
 .Op Fl -
 .Op Ar arguments ...
 .
-.Nm node
+.Nm node10
 .Cm inspect
 .Op Fl e Ar string | Ar script.js | Fl | Ar <host>:<port>
 .Ar ...
 .
-.Nm node
+.Nm node10
 .Op Fl -v8-options
 .
 .\"======================================================================
Index: node-git.4390674624/src/node.stp
===================================================================
--- node-git.4390674624.orig/src/node.stp
+++ node-git.4390674624/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("node10").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("node10").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("node10").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("node10").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("node10").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("node10").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("node10").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("node10").mark("gc__done")
 {
   scavenge = 1 << 0;
   compact = 1 << 1;
Index: node-git.4390674624/deps/npm/man/man1/npm.1
===================================================================
--- node-git.4390674624.orig/deps/npm/man/man1/npm.1
+++ node-git.4390674624/deps/npm/man/man1/npm.1
@@ -1,11 +1,11 @@
 .TH "NPM" "1" "March 2020" "" ""
 .SH "NAME"
-\fBnpm\fR \- javascript package manager
+\fBnpm10\fR \- javascript package manager
 .SS Synopsis
 .P
 .RS 2
 .nf
-npm <command> [args]
+npm10 <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 \fBnpm10 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 \fBnpm10 install blerg\fP to install the latest version of "blerg"\.  
Check out
+npm10 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 \fBnpm10 search\fP command to show everything that's available\.
+Use \fBnpm10 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/TooTallNate/node\-gyp/wiki\fR\|\.
 .SS Directories
 .P
-See npm help \fBfolders\fP to learn about where npm puts stuff\.
+See npm10 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 npm10 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\.
+\fBnpm10 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
+\fBnpm10 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 \fBnpm10 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 npm10 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
+npm10 help help
 .IP \(bu 2
-npm help package\.json
+npm10 help package\.json
 .IP \(bu 2
-npm help install
+npm10 help install
 .IP \(bu 2
-npm help config
+npm10 help config
 .IP \(bu 2
-npm help npmrc
+npm10 help npmrc
 
 .RE
Index: node-git.4390674624/node.gyp
===================================================================
--- node-git.4390674624.orig/node.gyp
+++ node-git.4390674624/node.gyp
@@ -22,8 +22,8 @@
     'node_shared_openssl%': 'false',
     'node_v8_options%': '',
     'node_enable_v8_vtunejit%': 'false',
-    'node_core_target_name%': 'node',
-    'node_lib_target_name%': 'node_lib',
+    'node_core_target_name%': 'node10',
+    'node_lib_target_name%': 'node10_lib',
     'node_intermediate_lib_type%': 'static_library',
     'library_files': [
       'lib/internal/per_context.js',
Index: node-git.4390674624/src/node_main.cc
===================================================================
--- node-git.4390674624.orig/src/node_main.cc
+++ node-git.4390674624/src/node_main.cc
@@ -119,6 +119,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", "10", 0);
   setvbuf(stdout, nullptr, _IONBF, 0);
   setvbuf(stderr, nullptr, _IONBF, 0);
   return node::Start(argc, argv);
Index: node-git.4390674624/deps/npm/man/man1/npx.1
===================================================================
--- node-git.4390674624.orig/deps/npm/man/man1/npx.1
+++ node-git.4390674624/deps/npm/man/man1/npx.1
@@ -1,32 +1,32 @@
 .TH "NPX" "1" "January 2020" "npx@10.2.1" "User Commands"
 .SH "NAME"
-\fBnpx\fR \- execute npm package binaries
+\fBnpx10\fR \- execute npm package binaries
 .SH SYNOPSIS
 .P
-\fBnpx [options] <command>[@version] [command\-arg]\.\.\.\fP
+\fBnpx10 [options] <command>[@version] [command\-arg]\.\.\.\fP
 .P
-\fBnpx [options] [\-p|\-\-package <pkg>]\.\.\. <command> 
[command\-arg]\.\.\.\fP
+\fBnpx10 [options] [\-p|\-\-package <pkg>]\.\.\. <command> 
[command\-arg]\.\.\.\fP
 .P
-\fBnpx [options] \-c '<command\-string>'\fP
+\fBnpx10 [options] \-c '<command\-string>'\fP
 .P
-\fBnpx \-\-shell\-auto\-fallback [shell]\fP
+\fBnpx10 \-\-shell\-auto\-fallback [shell]\fP
 .SH INSTALL
 .P
-\fBnpm install \-g npx\fP
+\fBnpm10 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, \fBnpx10\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, \fBnpx10\fP will try to guess 
the name of the binary to invoke depending on the specifier provided\. All 
package specifiers understood by \fBnpm10\fP may be used with \fBnpx10\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 \fBnpx10\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 \fBnpx10\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 \fBnpx10\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 \fBnpx10\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
+\fBnpm10(1)\fP
 .IP \(bu 2
-\fBnpm\-run\-script(1)\fP
+\fBnpm10\-run\-script(1)\fP
 .IP \(bu 2
-\fBnpm\-config(7)\fP
+\fBnpm10\-config(7)\fP
 
 .RE
 
Index: node-git.4390674624/tools/test.py
===================================================================
--- node-git.4390674624.orig/tools/test.py
+++ node-git.4390674624/tools/test.py
@@ -893,7 +893,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/node10'
     else:
       name = 'out/%s.%s/node' % (arch, mode)
 

Reply via email to