mirror of https://gitee.com/openkylin/nodejs.git
changed debian/source/format to native
This commit is contained in:
parent
dcc8b501bb
commit
fa95507f2f
|
@ -1,135 +0,0 @@
|
||||||
Description: add __FreeBSD_kernel__ to the list of *bsd conditions
|
|
||||||
Forwarded: not-needed, not yet tested enough
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2015-09-18
|
|
||||||
--- a/tools/install.py
|
|
||||||
+++ b/tools/install.py
|
|
||||||
@@ -136,7 +136,7 @@
|
|
||||||
action(['deps/v8/tools/lldbinit'], 'share/doc/node/')
|
|
||||||
action(['deps/v8/tools/lldb_commands.py'], 'share/doc/node/')
|
|
||||||
|
|
||||||
- if 'freebsd' in sys.platform or 'openbsd' in sys.platform:
|
|
||||||
+ if ('freebsd' in sys.platform and not 'kfreebsd' in sys.platform) or 'openbsd' in sys.platform:
|
|
||||||
action(['doc/node.1'], 'man/man1/')
|
|
||||||
else:
|
|
||||||
action(['doc/node.1'], 'share/man/man1/')
|
|
||||||
--- a/node.gyp
|
|
||||||
+++ b/node.gyp
|
|
||||||
@@ -533,6 +533,11 @@
|
|
||||||
'_LINUX_SOURCE_COMPAT',
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
+ [ 'OS=="kfreebsd"', {
|
|
||||||
+ 'libraries': [
|
|
||||||
+ '-lkvm',
|
|
||||||
+ ],
|
|
||||||
+ }],
|
|
||||||
[ 'OS=="solaris"', {
|
|
||||||
'libraries': [
|
|
||||||
'-lkstat',
|
|
||||||
--- a/common.gypi
|
|
||||||
+++ b/common.gypi
|
|
||||||
@@ -393,7 +393,7 @@
|
|
||||||
}],
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
- ['OS=="freebsd" and node_use_dtrace=="true"', {
|
|
||||||
+ ['(OS=="freebsd" or OS=="kfreebsd") and node_use_dtrace=="true"', {
|
|
||||||
'libraries': [ '-lelf' ],
|
|
||||||
}],
|
|
||||||
['OS=="freebsd"', {
|
|
||||||
--- a/deps/v8/include/v8config.h
|
|
||||||
+++ b/deps/v8/include/v8config.h
|
|
||||||
@@ -95,7 +95,7 @@
|
|
||||||
#elif defined(_AIX)
|
|
||||||
#define V8_OS_POSIX 1
|
|
||||||
#define V8_OS_AIX 1
|
|
||||||
-#elif defined(__FreeBSD__)
|
|
||||||
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
|
||||||
# define V8_OS_BSD 1
|
|
||||||
# define V8_OS_FREEBSD 1
|
|
||||||
# define V8_OS_POSIX 1
|
|
||||||
--- a/deps/v8/src/base/platform/platform-posix.cc
|
|
||||||
+++ b/deps/v8/src/base/platform/platform-posix.cc
|
|
||||||
@@ -23,7 +23,7 @@
|
|
||||||
#include <sys/time.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#if defined(__APPLE__) || defined(__DragonFly__) || defined(__FreeBSD__) || \
|
|
||||||
- defined(__NetBSD__) || defined(__OpenBSD__)
|
|
||||||
+ defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
|
|
||||||
#include <sys/sysctl.h> // NOLINT, for sysctl
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -345,7 +345,7 @@
|
|
||||||
return static_cast<int>(gettid());
|
|
||||||
#elif V8_OS_AIX
|
|
||||||
return static_cast<int>(thread_self());
|
|
||||||
-#elif V8_OS_SOLARIS
|
|
||||||
+#elif V8_OS_SOLARIS || defined(__FreeBSD_kernel__)
|
|
||||||
return static_cast<int>(pthread_self());
|
|
||||||
#else
|
|
||||||
return static_cast<int>(reinterpret_cast<intptr_t>(pthread_self()));
|
|
||||||
@@ -563,7 +563,8 @@
|
|
||||||
|
|
||||||
|
|
||||||
static void SetThreadName(const char* name) {
|
|
||||||
-#if V8_OS_DRAGONFLYBSD || V8_OS_FREEBSD || V8_OS_OPENBSD
|
|
||||||
+
|
|
||||||
+#if (V8_OS_DRAGONFLYBSD || V8_OS_FREEBSD || V8_OS_OPENBSD ) && !defined(__FreeBSD_kernel__)
|
|
||||||
pthread_set_name_np(pthread_self(), name);
|
|
||||||
#elif V8_OS_NETBSD
|
|
||||||
STATIC_ASSERT(Thread::kMaxThreadNameLength <= PTHREAD_MAX_NAMELEN_NP);
|
|
||||||
--- a/deps/v8/src/d8-posix.cc
|
|
||||||
+++ b/deps/v8/src/d8-posix.cc
|
|
||||||
@@ -372,7 +372,7 @@
|
|
||||||
// See http://code.google.com/p/v8/issues/detail?id=401.
|
|
||||||
#if defined(WNOWAIT) && !defined(ANDROID) && !defined(__APPLE__) \
|
|
||||||
&& !defined(__NetBSD__)
|
|
||||||
-#if !defined(__FreeBSD__)
|
|
||||||
+#if !defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
|
|
||||||
#define HAS_WAITID 1
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
--- a/src/node.cc
|
|
||||||
+++ b/src/node.cc
|
|
||||||
@@ -3474,7 +3474,7 @@
|
|
||||||
|
|
||||||
void SignalExit(int signo) {
|
|
||||||
uv_tty_reset_mode();
|
|
||||||
-#ifdef __FreeBSD__
|
|
||||||
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
|
||||||
// FreeBSD has a nasty bug, see RegisterSignalHandler for details
|
|
||||||
struct sigaction sa;
|
|
||||||
memset(&sa, 0, sizeof(sa));
|
|
||||||
--- a/deps/v8/tools/gyp/v8.gyp
|
|
||||||
+++ b/deps/v8/tools/gyp/v8.gyp
|
|
||||||
@@ -1827,7 +1827,6 @@
|
|
||||||
['OS=="freebsd"', {
|
|
||||||
'link_settings': {
|
|
||||||
'libraries': [
|
|
||||||
- '-L/usr/local/lib -lexecinfo',
|
|
||||||
]},
|
|
||||||
'sources': [
|
|
||||||
'../../src/base/platform/platform-freebsd.cc',
|
|
||||||
--- a/deps/v8/src/base/platform/platform-linux.cc
|
|
||||||
+++ b/deps/v8/src/base/platform/platform-linux.cc
|
|
||||||
@@ -49,6 +49,8 @@
|
|
||||||
// PNaCL doesn't have this, so we always grab all of the memory, which is bad.
|
|
||||||
#define MAP_NORESERVE 0
|
|
||||||
#endif
|
|
||||||
+#elif defined(__FreeBSD_kernel__)
|
|
||||||
+#include <sys/syscall.h>
|
|
||||||
#else
|
|
||||||
#include <sys/prctl.h>
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
--- a/tools/utils.py
|
|
||||||
+++ b/tools/utils.py
|
|
||||||
@@ -47,6 +47,8 @@
|
|
||||||
id = platform.system()
|
|
||||||
if id == 'Linux':
|
|
||||||
return 'linux'
|
|
||||||
+ elif id == 'GNU/kFreeBSD':
|
|
||||||
+ return 'freebsd'
|
|
||||||
elif id == 'Darwin':
|
|
||||||
return 'macos'
|
|
||||||
elif id.find('CYGWIN') >= 0:
|
|
|
@ -1,34 +0,0 @@
|
||||||
Description: use configuration directive to set mips fpu mode
|
|
||||||
Author: YunQiang Su <wzssyqa@gmail.com>
|
|
||||||
Forwarded: https://github.com/paul99/v8m-rb/issues/192
|
|
||||||
Last-Update: 2015-09-29
|
|
||||||
--- a/deps/v8/src/base/cpu.cc
|
|
||||||
+++ b/deps/v8/src/base/cpu.cc
|
|
||||||
@@ -140,22 +140,11 @@
|
|
||||||
|
|
||||||
#if V8_HOST_ARCH_MIPS
|
|
||||||
int __detect_fp64_mode(void) {
|
|
||||||
- double result = 0;
|
|
||||||
- // Bit representation of (double)1 is 0x3FF0000000000000.
|
|
||||||
- __asm__ volatile(
|
|
||||||
- ".set push\n\t"
|
|
||||||
- ".set noreorder\n\t"
|
|
||||||
- ".set oddspreg\n\t"
|
|
||||||
- "lui $t0, 0x3FF0\n\t"
|
|
||||||
- "ldc1 $f0, %0\n\t"
|
|
||||||
- "mtc1 $t0, $f1\n\t"
|
|
||||||
- "sdc1 $f0, %0\n\t"
|
|
||||||
- ".set pop\n\t"
|
|
||||||
- : "+m"(result)
|
|
||||||
- :
|
|
||||||
- : "t0", "$f0", "$f1", "memory");
|
|
||||||
-
|
|
||||||
- return !(result == 1);
|
|
||||||
+#ifdef FPU_MODE_FP64
|
|
||||||
+ return 1;
|
|
||||||
+#else
|
|
||||||
+ return 0;
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
From 24c403cfaf8bdbcd8b19037531c8998709d2b949 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= <targos@protonmail.com>
|
|
||||||
Date: Tue, 5 Oct 2021 13:34:39 +0200
|
|
||||||
Subject: [PATCH] tools: patch jinja2 for Python 3.10 compat
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
PR-URL: https://github.com/nodejs/node/pull/40296
|
|
||||||
Fixes: https://github.com/nodejs/node/issues/40294
|
|
||||||
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
|
|
||||||
Reviewed-By: James M Snell <jasnell@gmail.com>
|
|
||||||
Reviewed-By: Richard Lau <rlau@redhat.com>
|
|
||||||
Reviewed-By: Christian Clauss <cclauss@me.com>
|
|
||||||
Reviewed-By: Michaël Zasso <targos@protonmail.com>
|
|
||||||
---
|
|
||||||
tools/inspector_protocol/jinja2/tests.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tools/inspector_protocol/jinja2/tests.py b/tools/inspector_protocol/jinja2/tests.py
|
|
||||||
index 0adc3d4dbcbb..b14f85ff148c 100644
|
|
||||||
--- a/tools/inspector_protocol/jinja2/tests.py
|
|
||||||
+++ b/tools/inspector_protocol/jinja2/tests.py
|
|
||||||
@@ -10,7 +10,7 @@
|
|
||||||
"""
|
|
||||||
import operator
|
|
||||||
import re
|
|
||||||
-from collections import Mapping
|
|
||||||
+from collections.abc import Mapping
|
|
||||||
from jinja2.runtime import Undefined
|
|
||||||
from jinja2._compat import text_type, string_types, integer_types
|
|
||||||
import decimal
|
|
|
@ -1,59 +0,0 @@
|
||||||
From 7232c2a1604d241ce0455d919ba9b0b8e9959f81 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel Bevenius <daniel.bevenius@gmail.com>
|
|
||||||
Date: Tue, 2 Jun 2020 05:33:25 +0200
|
|
||||||
Subject: [PATCH] src: use getauxval in node_main.cc
|
|
||||||
|
|
||||||
This commit suggests using getauxval in node_main.cc.
|
|
||||||
|
|
||||||
The motivation for this is that getauxval was introduced in glibc 2.16
|
|
||||||
and looking at BUILDING.md, in the 'Platform list' section, it looks
|
|
||||||
like we now support glibc >= 2.17 and perhaps this change would be
|
|
||||||
alright now.
|
|
||||||
|
|
||||||
PR-URL: https://github.com/nodejs/node/pull/33693
|
|
||||||
Refs: https://github.com/nodejs/node/pull/12548
|
|
||||||
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
|
|
||||||
Reviewed-By: David Carlier <devnexen@gmail.com>
|
|
||||||
Reviewed-By: Anna Henningsen <anna@addaleax.net>
|
|
||||||
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
|
|
||||||
Reviewed-By: James M Snell <jasnell@gmail.com>
|
|
||||||
---
|
|
||||||
src/node_main.cc | 18 ++----------------
|
|
||||||
1 file changed, 2 insertions(+), 16 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/node_main.cc b/src/node_main.cc
|
|
||||||
index 9f4ea22d12c6..6bac10759325 100644
|
|
||||||
--- a/src/node_main.cc
|
|
||||||
+++ b/src/node_main.cc
|
|
||||||
@@ -74,13 +74,7 @@ int wmain(int argc, wchar_t* wargv[]) {
|
|
||||||
#else
|
|
||||||
// UNIX
|
|
||||||
#ifdef __linux__
|
|
||||||
-#include <elf.h>
|
|
||||||
-#ifdef __LP64__
|
|
||||||
-#define Elf_auxv_t Elf64_auxv_t
|
|
||||||
-#else
|
|
||||||
-#define Elf_auxv_t Elf32_auxv_t
|
|
||||||
-#endif // __LP64__
|
|
||||||
-extern char** environ;
|
|
||||||
+#include <sys/auxv.h>
|
|
||||||
#endif // __linux__
|
|
||||||
#if defined(__POSIX__) && defined(NODE_SHARED_MODE)
|
|
||||||
#include <string.h>
|
|
||||||
@@ -109,15 +103,7 @@ int main(int argc, char* argv[]) {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__linux__)
|
|
||||||
- char** envp = environ;
|
|
||||||
- while (*envp++ != nullptr) {}
|
|
||||||
- Elf_auxv_t* auxv = reinterpret_cast<Elf_auxv_t*>(envp);
|
|
||||||
- for (; auxv->a_type != AT_NULL; auxv++) {
|
|
||||||
- if (auxv->a_type == AT_SECURE) {
|
|
||||||
- node::per_process::linux_at_secure = auxv->a_un.a_val;
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
+ node::per_process::linux_at_secure = getauxval(AT_SECURE);
|
|
||||||
#endif
|
|
||||||
// Disable stdio buffering, it interacts poorly with printf()
|
|
||||||
// calls elsewhere in the program (e.g., any logging from V8.)
|
|
|
@ -1,23 +0,0 @@
|
||||||
Description: keep nodejs compatible with libc-ares 1.17.1
|
|
||||||
Forwarded: not-needed
|
|
||||||
Last-Update: 2021-08-11
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
--- a/src/cares_wrap.cc
|
|
||||||
+++ b/src/cares_wrap.cc
|
|
||||||
@@ -39,7 +39,15 @@
|
|
||||||
# include <netdb.h>
|
|
||||||
#endif // __POSIX__
|
|
||||||
|
|
||||||
-# include <ares_nameser.h>
|
|
||||||
+#if defined(__ANDROID__) || \
|
|
||||||
+ defined(__MINGW32__) || \
|
|
||||||
+ defined(__OpenBSD__) || \
|
|
||||||
+ defined(_MSC_VER)
|
|
||||||
+
|
|
||||||
+# include <nameser.h>
|
|
||||||
+#else
|
|
||||||
+# include <arpa/nameser.h>
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
// OpenBSD does not define these
|
|
||||||
#ifndef AI_ALL
|
|
|
@ -1,21 +0,0 @@
|
||||||
Description: Link to -latomic by default
|
|
||||||
This avoids surprises on mips*el/ppc*el
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2019-10-25
|
|
||||||
Forwarded: not-needed
|
|
||||||
Bug: https://github.com/nodejs/node/pull/28532
|
|
||||||
Bug: https://github.com/nodejs/node/issues/30093
|
|
||||||
--- a/node.gypi
|
|
||||||
+++ b/node.gypi
|
|
||||||
@@ -210,6 +210,11 @@
|
|
||||||
'-lkvm',
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
+ [ 'OS=="linux"', {
|
|
||||||
+ 'libraries': [
|
|
||||||
+ '-latomic',
|
|
||||||
+ ],
|
|
||||||
+ }],
|
|
||||||
[ 'OS=="aix"', {
|
|
||||||
'defines': [
|
|
||||||
'_LINUX_SOURCE_COMPAT',
|
|
|
@ -1,61 +0,0 @@
|
||||||
Description: a test uses a benchmark that read alice.html, dfsg excluded
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Forwarded: not-needed
|
|
||||||
Reviewed-By: Xavier Guimard <yadd@debian.org>
|
|
||||||
Last-Update: 2020-03-04
|
|
||||||
|
|
||||||
--- a/benchmark/buffers/buffer-indexof-number.js
|
|
||||||
+++ b/benchmark/buffers/buffer-indexof-number.js
|
|
||||||
@@ -10,7 +10,7 @@
|
|
||||||
|
|
||||||
function main({ n, value }) {
|
|
||||||
const aliceBuffer = fs.readFileSync(
|
|
||||||
- path.resolve(__dirname, '../fixtures/alice.html')
|
|
||||||
+ path.resolve(__dirname, '../../doc/api/all.html')
|
|
||||||
);
|
|
||||||
|
|
||||||
let count = 0;
|
|
||||||
--- a/benchmark/buffers/buffer-indexof.js
|
|
||||||
+++ b/benchmark/buffers/buffer-indexof.js
|
|
||||||
@@ -26,7 +26,7 @@
|
|
||||||
|
|
||||||
function main({ n, search, encoding, type }) {
|
|
||||||
let aliceBuffer = fs.readFileSync(
|
|
||||||
- path.resolve(__dirname, '../fixtures/alice.html')
|
|
||||||
+ path.resolve(__dirname, '../../doc/api/all.html')
|
|
||||||
);
|
|
||||||
|
|
||||||
if (encoding === 'undefined') {
|
|
||||||
--- a/benchmark/http2/compat.js
|
|
||||||
+++ b/benchmark/http2/compat.js
|
|
||||||
@@ -3,7 +3,7 @@
|
|
||||||
const common = require('../common.js');
|
|
||||||
const path = require('path');
|
|
||||||
const fs = require('fs');
|
|
||||||
-const file = path.join(path.resolve(__dirname, '../fixtures'), 'alice.html');
|
|
||||||
+const file = path.join(path.resolve(__dirname, '../../doc/api'), 'all.html');
|
|
||||||
|
|
||||||
const bench = common.createBenchmark(main, {
|
|
||||||
requests: [100, 1000, 5000],
|
|
||||||
--- a/benchmark/http2/respond-with-fd.js
|
|
||||||
+++ b/benchmark/http2/respond-with-fd.js
|
|
||||||
@@ -4,7 +4,7 @@
|
|
||||||
const path = require('path');
|
|
||||||
const fs = require('fs');
|
|
||||||
|
|
||||||
-const file = path.join(path.resolve(__dirname, '../fixtures'), 'alice.html');
|
|
||||||
+const file = path.join(path.resolve(__dirname, '../../doc/api'), 'all.html');
|
|
||||||
|
|
||||||
const bench = common.createBenchmark(main, {
|
|
||||||
requests: [100, 1000, 5000],
|
|
||||||
--- a/benchmark/http2/simple.js
|
|
||||||
+++ b/benchmark/http2/simple.js
|
|
||||||
@@ -3,7 +3,7 @@
|
|
||||||
const common = require('../common.js');
|
|
||||||
const path = require('path');
|
|
||||||
const fs = require('fs');
|
|
||||||
-const file = path.join(path.resolve(__dirname, '../fixtures'), 'alice.html');
|
|
||||||
+const file = path.join(path.resolve(__dirname, '../../doc/api'), 'all.html');
|
|
||||||
|
|
||||||
const bench = common.createBenchmark(main, {
|
|
||||||
requests: [100, 1000, 5000],
|
|
|
@ -1,32 +0,0 @@
|
||||||
Description: cannot rebuilt dist/lexer.js, just use pure-js lexer
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2020-11-24
|
|
||||||
Forwarded: not-needed
|
|
||||||
--- a/lib/internal/modules/esm/translators.js
|
|
||||||
+++ b/lib/internal/modules/esm/translators.js
|
|
||||||
@@ -59,14 +59,7 @@
|
|
||||||
|
|
||||||
let cjsParse;
|
|
||||||
async function initCJSParse() {
|
|
||||||
- if (typeof WebAssembly === 'undefined') {
|
|
||||||
- cjsParse = require('internal/deps/cjs-module-lexer/lexer').parse;
|
|
||||||
- } else {
|
|
||||||
- const { parse, init } =
|
|
||||||
- require('internal/deps/cjs-module-lexer/dist/lexer');
|
|
||||||
- await init();
|
|
||||||
- cjsParse = parse;
|
|
||||||
- }
|
|
||||||
+ cjsParse = require('internal/deps/cjs-module-lexer/lexer').parse;
|
|
||||||
}
|
|
||||||
|
|
||||||
const translators = new SafeMap();
|
|
||||||
--- a/node.gyp
|
|
||||||
+++ b/node.gyp
|
|
||||||
@@ -250,7 +250,6 @@
|
|
||||||
'deps/acorn-plugins/acorn-private-methods/index.js',
|
|
||||||
'deps/acorn-plugins/acorn-static-class-features/index.js',
|
|
||||||
'deps/cjs-module-lexer/lexer.js',
|
|
||||||
- 'deps/cjs-module-lexer/dist/lexer.js',
|
|
||||||
],
|
|
||||||
'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
|
|
||||||
'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
|
|
|
@ -1,103 +0,0 @@
|
||||||
Description: Multiarch search path, arch triplet, DFHS path for modules
|
|
||||||
Author: "Bastien ROUCARIÈS" <roucaries.bastien@gmail.com>
|
|
||||||
Last-Update: 2018-09-30
|
|
||||||
Forwarded: https://github.com/nodejs/node/issues/22745
|
|
||||||
Reviewed-By: Xavier Guimard <yadd@debian.org>
|
|
||||||
Last-Update: 2020-03-04
|
|
||||||
|
|
||||||
--- a/lib/internal/modules/cjs/loader.js
|
|
||||||
+++ b/lib/internal/modules/cjs/loader.js
|
|
||||||
@@ -1102,6 +1102,7 @@
|
|
||||||
Module._initPaths = function() {
|
|
||||||
const homeDir = isWindows ? process.env.USERPROFILE : safeGetenv('HOME');
|
|
||||||
const nodePath = isWindows ? process.env.NODE_PATH : safeGetenv('NODE_PATH');
|
|
||||||
+ const relativePaths = process.config.variables.node_relative_path;
|
|
||||||
|
|
||||||
// process.execPath is $PREFIX/bin/node except on Windows where it is
|
|
||||||
// $PREFIX\node.exe where $PREFIX is the root of the Node.js installation.
|
|
||||||
@@ -1109,7 +1110,17 @@
|
|
||||||
path.resolve(process.execPath, '..') :
|
|
||||||
path.resolve(process.execPath, '..', '..');
|
|
||||||
|
|
||||||
- let paths = [path.resolve(prefixDir, 'lib', 'node')];
|
|
||||||
+ var postDirs = [];
|
|
||||||
+ if (relativePaths) {
|
|
||||||
+ relativePaths.split(path.delimiter).map(path => {
|
|
||||||
+ if (path) postDirs.push(path);
|
|
||||||
+ });
|
|
||||||
+ } else {
|
|
||||||
+ postDirs.push(path.join('lib', 'node'));
|
|
||||||
+ }
|
|
||||||
+ let paths = postDirs.map(postDir => {
|
|
||||||
+ return path.resolve(prefixDir, postDir);
|
|
||||||
+ });
|
|
||||||
|
|
||||||
if (homeDir) {
|
|
||||||
paths.unshift(path.resolve(homeDir, '.node_libraries'));
|
|
||||||
--- a/configure.py
|
|
||||||
+++ b/configure.py
|
|
||||||
@@ -83,6 +83,11 @@
|
|
||||||
dest='coverage',
|
|
||||||
help='Build node with code coverage enabled')
|
|
||||||
|
|
||||||
+parser.add_option('--arch-triplet',
|
|
||||||
+ action='store',
|
|
||||||
+ dest='arch_triplet',
|
|
||||||
+ help='arch triplet used by distro')
|
|
||||||
+
|
|
||||||
parser.add_option('--debug',
|
|
||||||
action='store_true',
|
|
||||||
dest='debug',
|
|
||||||
@@ -121,6 +126,11 @@
|
|
||||||
dest='gdb',
|
|
||||||
help='add gdb support')
|
|
||||||
|
|
||||||
+parser.add_option('--node-relative-path',
|
|
||||||
+ action='store',
|
|
||||||
+ dest='node_relative_path',
|
|
||||||
+ help='Node path(s) used by require, resolved relative to prefix dir.')
|
|
||||||
+
|
|
||||||
parser.add_option('--no-ifaddrs',
|
|
||||||
action='store_true',
|
|
||||||
dest='no_ifaddrs',
|
|
||||||
@@ -1220,6 +1230,17 @@
|
|
||||||
version = getnapibuildversion.get_napi_version()
|
|
||||||
output['variables']['napi_build_version'] = version
|
|
||||||
|
|
||||||
+def configure_debian(output):
|
|
||||||
+ if options.arch_triplet:
|
|
||||||
+ output['variables']['arch_triplet'] = options.arch_triplet
|
|
||||||
+ else:
|
|
||||||
+ output['variables']['arch_triplet'] = 'unknown-unknown-unknown'
|
|
||||||
+
|
|
||||||
+ if options.node_relative_path:
|
|
||||||
+ output['variables']['node_relative_path'] = options.node_relative_path
|
|
||||||
+ else:
|
|
||||||
+ output['variables']['node_relative_path']= ''
|
|
||||||
+
|
|
||||||
def configure_library(lib, output, pkgname=None):
|
|
||||||
shared_lib = 'shared_' + lib
|
|
||||||
output['variables']['node_' + shared_lib] = b(getattr(options, shared_lib))
|
|
||||||
@@ -1711,6 +1732,7 @@
|
|
||||||
|
|
||||||
configure_node(output)
|
|
||||||
configure_napi(output)
|
|
||||||
+configure_debian(output)
|
|
||||||
configure_library('zlib', output)
|
|
||||||
configure_library('http_parser', output)
|
|
||||||
configure_library('libuv', output)
|
|
||||||
--- a/test/parallel/test-module-loading-globalpaths.js
|
|
||||||
+++ b/test/parallel/test-module-loading-globalpaths.js
|
|
||||||
@@ -73,10 +73,10 @@
|
|
||||||
|
|
||||||
// Test module in $PREFIX/lib/node.
|
|
||||||
// Write module into $PREFIX/lib/node.
|
|
||||||
- const expectedString = '$PREFIX/lib/node';
|
|
||||||
+ const expectedString = '$PREFIX/lib/nodejs';
|
|
||||||
const prefixLibPath = path.join(prefixPath, 'lib');
|
|
||||||
fs.mkdirSync(prefixLibPath);
|
|
||||||
- const prefixLibNodePath = path.join(prefixLibPath, 'node');
|
|
||||||
+ const prefixLibNodePath = path.join(prefixLibPath, 'nodejs');
|
|
||||||
fs.mkdirSync(prefixLibNodePath);
|
|
||||||
const pkgPath = path.join(prefixLibNodePath, `${pkgName}.js`);
|
|
||||||
fs.writeFileSync(pkgPath, `exports.string = '${expectedString}';`);
|
|
|
@ -1,46 +0,0 @@
|
||||||
From e548e053a2fda35f38272fb023f543e52ae77566 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= <targos@protonmail.com>
|
|
||||||
Date: Tue, 5 Oct 2021 13:33:50 +0200
|
|
||||||
Subject: [PATCH] deps: V8: patch jinja2 for Python 3.10 compat
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
PR-URL: https://github.com/nodejs/node/pull/40296
|
|
||||||
Fixes: https://github.com/nodejs/node/issues/40294
|
|
||||||
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
|
|
||||||
Reviewed-By: James M Snell <jasnell@gmail.com>
|
|
||||||
Reviewed-By: Richard Lau <rlau@redhat.com>
|
|
||||||
Reviewed-By: Christian Clauss <cclauss@me.com>
|
|
||||||
Reviewed-By: Michaël Zasso <targos@protonmail.com>
|
|
||||||
---
|
|
||||||
common.gypi | 2 +-
|
|
||||||
deps/v8/third_party/jinja2/tests.py | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
#diff --git a/common.gypi b/common.gypi
|
|
||||||
#index e14b10cbe788..18e00193ffb9 100644
|
|
||||||
#--- a/common.gypi
|
|
||||||
#+++ b/common.gypi
|
|
||||||
#@@ -36,7 +36,7 @@
|
|
||||||
#
|
|
||||||
# # Reset this number to 0 on major V8 upgrades.
|
|
||||||
# # Increment by one for each non-official patch applied to deps/v8.
|
|
||||||
#- 'v8_embedder_string': '-node.8',
|
|
||||||
#+ 'v8_embedder_string': '-node.9',
|
|
||||||
#
|
|
||||||
# ##### V8 defaults for Node.js #####
|
|
||||||
#
|
|
||||||
diff --git a/deps/v8/third_party/jinja2/tests.py b/deps/v8/third_party/jinja2/tests.py
|
|
||||||
index 0adc3d4dbcbb..b14f85ff148c 100644
|
|
||||||
--- a/deps/v8/third_party/jinja2/tests.py
|
|
||||||
+++ b/deps/v8/third_party/jinja2/tests.py
|
|
||||||
@@ -10,7 +10,7 @@
|
|
||||||
"""
|
|
||||||
import operator
|
|
||||||
import re
|
|
||||||
-from collections import Mapping
|
|
||||||
+from collections.abc import Mapping
|
|
||||||
from jinja2.runtime import Undefined
|
|
||||||
from jinja2._compat import text_type, string_types, integer_types
|
|
||||||
import decimal
|
|
|
@ -1,16 +0,0 @@
|
||||||
Description: fix for js-yaml ≥ 4
|
|
||||||
Author: Yadd <yadd@debian.org>
|
|
||||||
Forwarded: not-needed
|
|
||||||
Last-Update: 2021-11-24
|
|
||||||
|
|
||||||
--- a/tools/doc/common.js
|
|
||||||
+++ b/tools/doc/common.js
|
|
||||||
@@ -21,7 +21,7 @@
|
|
||||||
.replace(/-->$/, '');
|
|
||||||
|
|
||||||
// js-yaml.safeLoad() throws on error.
|
|
||||||
- const meta = yaml.safeLoad(text);
|
|
||||||
+ const meta = yaml.load(text);
|
|
||||||
|
|
||||||
if (meta.added) {
|
|
||||||
// Since semver-minors can trickle down to previous major versions,
|
|
|
@ -1,20 +0,0 @@
|
||||||
Description: do not build cctest, build broken on debian
|
|
||||||
Last-Update: 2017-12-18
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Forwarded: not yet !
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -156,8 +156,12 @@
|
|
||||||
exit 1; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
+build:
|
|
||||||
+ $(MAKE) $(PARALLEL_ARGS) -C out $(NODE_EXE) BUILDTYPE=$(BUILDTYPE) V=$(V)
|
|
||||||
+ ln -sf out/$(BUILDTYPE)/node .
|
|
||||||
+
|
|
||||||
.PHONY: install
|
|
||||||
-install: all ## Installs node into $PREFIX (default=/usr/local).
|
|
||||||
+install: ## Installs node into $PREFIX (default=/usr/local).
|
|
||||||
$(PYTHON) tools/install.py $@ '$(DESTDIR)' '$(PREFIX)'
|
|
||||||
|
|
||||||
.PHONY: uninstall
|
|
|
@ -1,12 +0,0 @@
|
||||||
Description: Adds .GNU-stack section header to disable executable stack flag
|
|
||||||
Author: James Addison <jay@jp-hosting.net>
|
|
||||||
Origin: https://github.com/nodejs/node/pull/37688
|
|
||||||
--- a/src/large_pages/node_text_start.S
|
|
||||||
+++ b/src/large_pages/node_text_start.S
|
|
||||||
@@ -1,3 +1,6 @@
|
|
||||||
+#if defined(__ELF__)
|
|
||||||
+.section .note.GNU-stack,"",@progbits
|
|
||||||
+#endif
|
|
||||||
.text
|
|
||||||
.align 0x2000
|
|
||||||
.global __node_text_start
|
|
|
@ -1,42 +0,0 @@
|
||||||
Description: do not use dns.ADDRCONFIG for localhost
|
|
||||||
it fails on IPv6-only systems. Setting it with libc fails on linux.
|
|
||||||
https://github.com/nodejs/node/issues/33279
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2020-06-11
|
|
||||||
Bug-Debian: https://bugs.debian.org/962318
|
|
||||||
Forwarded: https://github.com/nodejs/node/issues/33816
|
|
||||||
--- a/lib/net.js
|
|
||||||
+++ b/lib/net.js
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
// Copyright Joyent, Inc. and other Node contributors.
|
|
||||||
+
|
|
||||||
//
|
|
||||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
// copy of this software and associated documentation files (the
|
|
||||||
@@ -1028,13 +1029,6 @@
|
|
||||||
hints: options.hints || 0
|
|
||||||
};
|
|
||||||
|
|
||||||
- if (!isWindows &&
|
|
||||||
- dnsopts.family !== 4 &&
|
|
||||||
- dnsopts.family !== 6 &&
|
|
||||||
- dnsopts.hints === 0) {
|
|
||||||
- dnsopts.hints = dns.ADDRCONFIG;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
debug('connect: find host', host);
|
|
||||||
debug('connect: dns options', dnsopts);
|
|
||||||
self._host = host;
|
|
||||||
--- a/test/sequential/sequential.status
|
|
||||||
+++ b/test/sequential/sequential.status
|
|
||||||
@@ -17,6 +17,10 @@
|
|
||||||
# https://github.com/nodejs/node/issues/24403
|
|
||||||
test-cli-syntax: PASS,FLAKY
|
|
||||||
|
|
||||||
+# does not work on IPv6 only host
|
|
||||||
+test-tls-psk-client: PASS,FLAKY
|
|
||||||
+test-tls-securepair-client: PASS,FLAKY
|
|
||||||
+
|
|
||||||
[$system==win32]
|
|
||||||
# https://github.com/nodejs/node/issues/22327
|
|
||||||
test-http2-large-file: PASS, FLAKY
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,210 +0,0 @@
|
||||||
Description: upstream mips fix
|
|
||||||
Origin: https://github.com/nodejs/node/issues/31118
|
|
||||||
Last-Update: 2020-05-30
|
|
||||||
|
|
||||||
--- a/deps/v8/AUTHORS
|
|
||||||
+++ b/deps/v8/AUTHORS
|
|
||||||
@@ -106,6 +106,7 @@
|
|
||||||
James M Snell <jasnell@gmail.com>
|
|
||||||
Jianghua Yang <jianghua.yjh@alibaba-inc.com>
|
|
||||||
Jiawen Geng <technicalcute@gmail.com>
|
|
||||||
+Jiaxun Yang <jiaxun.yang@flygoat.com>
|
|
||||||
Joel Stanley <joel@jms.id.au>
|
|
||||||
Johan Bergström <johan@bergstroem.nu>
|
|
||||||
Jonathan Liu <net147@gmail.com>
|
|
||||||
--- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.cc
|
|
||||||
+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.cc
|
|
||||||
@@ -94,10 +94,6 @@
|
|
||||||
|
|
||||||
void PlatformEmbeddedFileWriterAIX::DeclareFunctionEnd(const char* name) {}
|
|
||||||
|
|
||||||
-int PlatformEmbeddedFileWriterAIX::HexLiteral(uint64_t value) {
|
|
||||||
- return fprintf(fp_, "0x%" PRIx64, value);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
void PlatformEmbeddedFileWriterAIX::FilePrologue() {}
|
|
||||||
|
|
||||||
void PlatformEmbeddedFileWriterAIX::DeclareExternalFilename(
|
|
||||||
@@ -120,12 +116,6 @@
|
|
||||||
return kLong;
|
|
||||||
}
|
|
||||||
|
|
||||||
-int PlatformEmbeddedFileWriterAIX::WriteByteChunk(const uint8_t* data) {
|
|
||||||
- DCHECK_EQ(ByteChunkDataDirective(), kLong);
|
|
||||||
- const uint32_t* long_ptr = reinterpret_cast<const uint32_t*>(data);
|
|
||||||
- return HexLiteral(*long_ptr);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
#undef SYMBOL_PREFIX
|
|
||||||
|
|
||||||
} // namespace internal
|
|
||||||
--- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.h
|
|
||||||
+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-aix.h
|
|
||||||
@@ -37,8 +37,6 @@
|
|
||||||
void DeclareFunctionBegin(const char* name) override;
|
|
||||||
void DeclareFunctionEnd(const char* name) override;
|
|
||||||
|
|
||||||
- int HexLiteral(uint64_t value) override;
|
|
||||||
-
|
|
||||||
void Comment(const char* string) override;
|
|
||||||
|
|
||||||
void FilePrologue() override;
|
|
||||||
@@ -48,7 +46,6 @@
|
|
||||||
int IndentedDataDirective(DataDirective directive) override;
|
|
||||||
|
|
||||||
DataDirective ByteChunkDataDirective() const override;
|
|
||||||
- int WriteByteChunk(const uint8_t* data) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
void DeclareSymbolGlobal(const char* name);
|
|
||||||
--- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc
|
|
||||||
+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc
|
|
||||||
@@ -24,6 +24,10 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+int PlatformEmbeddedFileWriterBase::HexLiteral(uint64_t value) {
|
|
||||||
+ return fprintf(fp_, "0x%" PRIx64, value);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
int DataDirectiveSize(DataDirective directive) {
|
|
||||||
switch (directive) {
|
|
||||||
case kByte:
|
|
||||||
@@ -39,24 +43,37 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
int PlatformEmbeddedFileWriterBase::WriteByteChunk(const uint8_t* data) {
|
|
||||||
- DCHECK_EQ(ByteChunkDataDirective(), kOcta);
|
|
||||||
-
|
|
||||||
- static constexpr size_t kSize = kInt64Size;
|
|
||||||
-
|
|
||||||
- uint64_t part1, part2;
|
|
||||||
- // Use memcpy for the reads since {data} is not guaranteed to be aligned.
|
|
||||||
+ size_t kSize = DataDirectiveSize(ByteChunkDataDirective());
|
|
||||||
+ size_t kHalfSize = kSize / 2;
|
|
||||||
+ uint64_t high = 0, low = 0;
|
|
||||||
+
|
|
||||||
+ switch (kSize) {
|
|
||||||
+ case 1:
|
|
||||||
+ low = *data;
|
|
||||||
+ break;
|
|
||||||
+ case 4:
|
|
||||||
+ low = *reinterpret_cast<const uint32_t*>(data);
|
|
||||||
+ break;
|
|
||||||
+ case 8:
|
|
||||||
+ low = *reinterpret_cast<const uint64_t*>(data);
|
|
||||||
+ break;
|
|
||||||
+ case 16:
|
|
||||||
#ifdef V8_TARGET_BIG_ENDIAN
|
|
||||||
- memcpy(&part1, data, kSize);
|
|
||||||
- memcpy(&part2, data + kSize, kSize);
|
|
||||||
+ memcpy(&high, data, kHalfSize);
|
|
||||||
+ memcpy(&low, data + kHalfSize, kHalfSize);
|
|
||||||
#else
|
|
||||||
- memcpy(&part1, data + kSize, kSize);
|
|
||||||
- memcpy(&part2, data, kSize);
|
|
||||||
+ memcpy(&high, data + kHalfSize, kHalfSize);
|
|
||||||
+ memcpy(&low, data, kHalfSize);
|
|
||||||
#endif // V8_TARGET_BIG_ENDIAN
|
|
||||||
+ break;
|
|
||||||
+ default:
|
|
||||||
+ UNREACHABLE();
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- if (part1 != 0) {
|
|
||||||
- return fprintf(fp(), "0x%" PRIx64 "%016" PRIx64, part1, part2);
|
|
||||||
+ if (high != 0) {
|
|
||||||
+ return fprintf(fp(), "0x%" PRIx64 "%016" PRIx64, high, low);
|
|
||||||
} else {
|
|
||||||
- return fprintf(fp(), "0x%" PRIx64, part2);
|
|
||||||
+ return fprintf(fp(), "0x%" PRIx64, low);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
--- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
|
|
||||||
+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-base.h
|
|
||||||
@@ -67,7 +67,7 @@
|
|
||||||
virtual void DeclareFunctionEnd(const char* name) = 0;
|
|
||||||
|
|
||||||
// Returns the number of printed characters.
|
|
||||||
- virtual int HexLiteral(uint64_t value) = 0;
|
|
||||||
+ virtual int HexLiteral(uint64_t value);
|
|
||||||
|
|
||||||
virtual void Comment(const char* string) = 0;
|
|
||||||
virtual void Newline() { fprintf(fp_, "\n"); }
|
|
||||||
--- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
|
|
||||||
+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc
|
|
||||||
@@ -112,10 +112,6 @@
|
|
||||||
|
|
||||||
void PlatformEmbeddedFileWriterGeneric::DeclareFunctionEnd(const char* name) {}
|
|
||||||
|
|
||||||
-int PlatformEmbeddedFileWriterGeneric::HexLiteral(uint64_t value) {
|
|
||||||
- return fprintf(fp_, "0x%" PRIx64, value);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
void PlatformEmbeddedFileWriterGeneric::FilePrologue() {}
|
|
||||||
|
|
||||||
void PlatformEmbeddedFileWriterGeneric::DeclareExternalFilename(
|
|
||||||
@@ -142,6 +138,18 @@
|
|
||||||
return fprintf(fp_, " %s ", DirectiveAsString(directive));
|
|
||||||
}
|
|
||||||
|
|
||||||
+DataDirective PlatformEmbeddedFileWriterGeneric::ByteChunkDataDirective()
|
|
||||||
+ const {
|
|
||||||
+#if defined(V8_TARGET_ARCH_MIPS) || defined(V8_TARGET_ARCH_MIPS64)
|
|
||||||
+ // MIPS uses a fixed 4 byte instruction set, using .long
|
|
||||||
+ // to prevent any unnecessary padding.
|
|
||||||
+ return kLong;
|
|
||||||
+#else
|
|
||||||
+ // Other ISAs just listen to the base
|
|
||||||
+ return PlatformEmbeddedFileWriterBase::ByteChunkDataDirective();
|
|
||||||
+#endif
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
#undef SYMBOL_PREFIX
|
|
||||||
|
|
||||||
} // namespace internal
|
|
||||||
--- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h
|
|
||||||
+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-generic.h
|
|
||||||
@@ -39,8 +39,6 @@
|
|
||||||
void DeclareFunctionBegin(const char* name) override;
|
|
||||||
void DeclareFunctionEnd(const char* name) override;
|
|
||||||
|
|
||||||
- int HexLiteral(uint64_t value) override;
|
|
||||||
-
|
|
||||||
void Comment(const char* string) override;
|
|
||||||
|
|
||||||
void FilePrologue() override;
|
|
||||||
@@ -49,6 +47,8 @@
|
|
||||||
|
|
||||||
int IndentedDataDirective(DataDirective directive) override;
|
|
||||||
|
|
||||||
+ DataDirective ByteChunkDataDirective() const override;
|
|
||||||
+
|
|
||||||
private:
|
|
||||||
void DeclareSymbolGlobal(const char* name);
|
|
||||||
|
|
||||||
--- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.cc
|
|
||||||
+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.cc
|
|
||||||
@@ -87,10 +87,6 @@
|
|
||||||
|
|
||||||
void PlatformEmbeddedFileWriterMac::DeclareFunctionEnd(const char* name) {}
|
|
||||||
|
|
||||||
-int PlatformEmbeddedFileWriterMac::HexLiteral(uint64_t value) {
|
|
||||||
- return fprintf(fp_, "0x%" PRIx64, value);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
void PlatformEmbeddedFileWriterMac::FilePrologue() {}
|
|
||||||
|
|
||||||
void PlatformEmbeddedFileWriterMac::DeclareExternalFilename(
|
|
||||||
--- a/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h
|
|
||||||
+++ b/deps/v8/src/snapshot/embedded/platform-embedded-file-writer-mac.h
|
|
||||||
@@ -37,8 +37,6 @@
|
|
||||||
void DeclareFunctionBegin(const char* name) override;
|
|
||||||
void DeclareFunctionEnd(const char* name) override;
|
|
||||||
|
|
||||||
- int HexLiteral(uint64_t value) override;
|
|
||||||
-
|
|
||||||
void Comment(const char* string) override;
|
|
||||||
|
|
||||||
void FilePrologue() override;
|
|
|
@ -1,26 +0,0 @@
|
||||||
Description: mksnapshot uses too much memory on 32-bit mipsel
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2020-06-03
|
|
||||||
Forwarded: https://bugs.chromium.org/p/v8/issues/detail?id=10586
|
|
||||||
--- a/deps/v8/src/common/globals.h
|
|
||||||
+++ b/deps/v8/src/common/globals.h
|
|
||||||
@@ -206,7 +206,7 @@
|
|
||||||
constexpr size_t kMinExpectedOSPageSize = 64 * KB; // OS page on PPC Linux
|
|
||||||
#elif V8_TARGET_ARCH_MIPS
|
|
||||||
constexpr bool kRequiresCodeRange = false;
|
|
||||||
-constexpr size_t kMaximalCodeRangeSize = 2048LL * MB;
|
|
||||||
+constexpr size_t kMaximalCodeRangeSize = 512 * MB;
|
|
||||||
constexpr size_t kMinimumCodeRangeSize = 0 * MB;
|
|
||||||
constexpr size_t kMinExpectedOSPageSize = 4 * KB; // OS page.
|
|
||||||
#else
|
|
||||||
--- a/deps/v8/src/codegen/mips/constants-mips.h
|
|
||||||
+++ b/deps/v8/src/codegen/mips/constants-mips.h
|
|
||||||
@@ -137,7 +137,7 @@
|
|
||||||
namespace v8 {
|
|
||||||
namespace internal {
|
|
||||||
|
|
||||||
-constexpr size_t kMaxPCRelativeCodeRangeInMB = 4096;
|
|
||||||
+constexpr size_t kMaxPCRelativeCodeRangeInMB = 1024;
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
|
||||||
// Registers and FPURegisters.
|
|
|
@ -1,16 +0,0 @@
|
||||||
Description: on mipsel, mips64el, node --jitless segfaults
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2020-06-03
|
|
||||||
Forwarded: https://github.com/nodejs/node/issues/33703
|
|
||||||
--- a/test/parallel/test-cli-node-options.js
|
|
||||||
+++ b/test/parallel/test-cli-node-options.js
|
|
||||||
@@ -68,7 +68,8 @@
|
|
||||||
expect('--abort_on-uncaught_exception', 'B\n');
|
|
||||||
expect('--disallow-code-generation-from-strings', 'B\n');
|
|
||||||
expect('--huge-max-old-generation-size', 'B\n');
|
|
||||||
-expect('--jitless', 'B\n');
|
|
||||||
+if (!['mipsel', 'mips64el'].includes(process.arch))
|
|
||||||
+ expect('--jitless', 'B\n');
|
|
||||||
expect('--max-old-space-size=0', 'B\n');
|
|
||||||
expect('--stack-trace-limit=100',
|
|
||||||
/(\s*at f \(\[(eval|worker eval)\]:1:\d*\)\r?\n)/,
|
|
|
@ -1,47 +0,0 @@
|
||||||
Date: Sat, 13 Jun 2020 20:49:35 +0200
|
|
||||||
Subject: [PATCH] Fix crashes on Linux/PPC64 ELFv1
|
|
||||||
Origin: https://github.com/nodejs/node/pull/33866
|
|
||||||
From: Marcus Comstedt <marcus@mc.pp.se>
|
|
||||||
|
|
||||||
--- nodejs-12.18.0~dfsg.orig/deps/v8/src/compiler/backend/instruction-selector.cc
|
|
||||||
+++ nodejs-12.18.0~dfsg/deps/v8/src/compiler/backend/instruction-selector.cc
|
|
||||||
@@ -2788,7 +2788,7 @@ void InstructionSelector::VisitCall(Node
|
|
||||||
switch (call_descriptor->kind()) {
|
|
||||||
case CallDescriptor::kCallAddress: {
|
|
||||||
int misc_field = static_cast<int>(call_descriptor->ParameterCount());
|
|
||||||
-#if defined(_AIX)
|
|
||||||
+#if ABI_USES_FUNCTION_DESCRIPTORS
|
|
||||||
// Highest misc_field bit is used on AIX to indicate if a CFunction call
|
|
||||||
// has function descriptor or not.
|
|
||||||
misc_field |= call_descriptor->HasFunctionDescriptor()
|
|
||||||
--- nodejs-12.18.0~dfsg.orig/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
|
|
||||||
+++ nodejs-12.18.0~dfsg/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
|
|
||||||
@@ -1026,7 +1026,7 @@ CodeGenerator::CodeGenResult CodeGenerat
|
|
||||||
Label start_call;
|
|
||||||
bool isWasmCapiFunction =
|
|
||||||
linkage()->GetIncomingDescriptor()->IsWasmCapiFunction();
|
|
||||||
-#if defined(_AIX)
|
|
||||||
+#if ABI_USES_FUNCTION_DESCRIPTORS
|
|
||||||
// AIX/PPC64BE Linux uses a function descriptor
|
|
||||||
int kNumParametersMask = kHasFunctionDescriptorBitMask - 1;
|
|
||||||
num_parameters = kNumParametersMask & misc_field;
|
|
||||||
--- nodejs-12.18.0~dfsg.orig/deps/v8/src/execution/simulator.h
|
|
||||||
+++ nodejs-12.18.0~dfsg/deps/v8/src/execution/simulator.h
|
|
||||||
@@ -122,7 +122,7 @@ class GeneratedCode {
|
|
||||||
|
|
||||||
DISABLE_CFI_ICALL Return Call(Args... args) {
|
|
||||||
// When running without a simulator we call the entry directly.
|
|
||||||
-#if V8_OS_AIX
|
|
||||||
+#if ABI_USES_FUNCTION_DESCRIPTORS
|
|
||||||
// AIX ABI requires function descriptors (FD). Artificially create a pseudo
|
|
||||||
// FD to ensure correct dispatch to generated code. The 'volatile'
|
|
||||||
// declaration is required to avoid the compiler from not observing the
|
|
||||||
@@ -134,7 +134,7 @@ class GeneratedCode {
|
|
||||||
return fn(args...);
|
|
||||||
#else
|
|
||||||
return fn_ptr_(args...);
|
|
||||||
-#endif // V8_OS_AIX
|
|
||||||
+#endif // ABI_USES_FUNCTION_DESCRIPTORS
|
|
||||||
}
|
|
||||||
#endif // USE_SIMULATOR
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
Description: remove google font from template.html, and link to local
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2015-09-09
|
|
||||||
Forwarded: not-needed
|
|
||||||
--- a/doc/template.html
|
|
||||||
+++ b/doc/template.html
|
|
||||||
@@ -5,10 +5,9 @@
|
|
||||||
<meta name="viewport" content="width=device-width">
|
|
||||||
<meta name="nodejs.org:node-version" content="__VERSION__">
|
|
||||||
<title>__SECTION__ | Node.js __VERSION__ Documentation</title>
|
|
||||||
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic&display=fallback">
|
|
||||||
<link rel="stylesheet" href="assets/style.css">
|
|
||||||
<link rel="stylesheet" href="assets/hljs.css">
|
|
||||||
- <link rel="canonical" href="https://nodejs.org/api/__FILENAME__.html">
|
|
||||||
+ <link rel="canonical" href="__FILENAME__.html">
|
|
||||||
</head>
|
|
||||||
<body class="alt apidoc" id="api-section-__FILENAME__">
|
|
||||||
<div id="content" class="clearfix">
|
|
|
@ -1,32 +0,0 @@
|
||||||
Description: support build with python3
|
|
||||||
Forwarded: not-needed
|
|
||||||
Last-Update: 2020-08-08
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -4,7 +4,7 @@
|
|
||||||
# mix of single and double quotes is intentional, as is the fact that
|
|
||||||
# the ] goes on a new line.
|
|
||||||
_=[ 'exec' '/bin/sh' '-c' '''
|
|
||||||
-which python2.7 >/dev/null && exec python2.7 "$0" "$@"
|
|
||||||
+which python3 >/dev/null && exec python3 "$0" "$@"
|
|
||||||
which python2 >/dev/null && exec python2 "$0" "$@"
|
|
||||||
exec python "$0" "$@"
|
|
||||||
''' "$0" "$@"
|
|
||||||
@@ -13,16 +13,5 @@
|
|
||||||
|
|
||||||
import sys
|
|
||||||
from distutils.spawn import find_executable as which
|
|
||||||
-if sys.version_info[:2] != (2, 7):
|
|
||||||
- sys.stderr.write('Please use Python 2.7')
|
|
||||||
-
|
|
||||||
- python2 = which('python2') or which('python2.7')
|
|
||||||
-
|
|
||||||
- if python2:
|
|
||||||
- sys.stderr.write(':\n\n')
|
|
||||||
- sys.stderr.write(' ' + python2 + ' ' + ' '.join(sys.argv))
|
|
||||||
-
|
|
||||||
- sys.stderr.write('\n')
|
|
||||||
- sys.exit(1)
|
|
||||||
|
|
||||||
import configure
|
|
|
@ -1,169 +0,0 @@
|
||||||
From: Eric Bickle <ebickle@users.noreply.github.com>
|
|
||||||
Date: Tue, 3 Mar 2020 13:35:28 -0800
|
|
||||||
Subject: Revert src fix missing extra ca in tls.rootCertificates
|
|
||||||
|
|
||||||
Revert this patch because it breaks system CA:
|
|
||||||
https://github.com/nodejs/node/pull/32315
|
|
||||||
|
|
||||||
--- a/src/node_crypto.cc
|
|
||||||
+++ b/src/node_crypto.cc
|
|
||||||
@@ -988,6 +988,24 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
+void GetRootCertificates(const FunctionCallbackInfo<Value>& args) {
|
|
||||||
+ Environment* env = Environment::GetCurrent(args);
|
|
||||||
+ Local<Value> result[arraysize(root_certs)];
|
|
||||||
+
|
|
||||||
+ for (size_t i = 0; i < arraysize(root_certs); i++) {
|
|
||||||
+ if (!String::NewFromOneByte(
|
|
||||||
+ env->isolate(),
|
|
||||||
+ reinterpret_cast<const uint8_t*>(root_certs[i]),
|
|
||||||
+ NewStringType::kNormal).ToLocal(&result[i])) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ args.GetReturnValue().Set(
|
|
||||||
+ Array::New(env->isolate(), result, arraysize(root_certs)));
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
void SecureContext::AddCACert(const FunctionCallbackInfo<Value>& args) {
|
|
||||||
Environment* env = Environment::GetCurrent(args);
|
|
||||||
|
|
||||||
@@ -2664,21 +2682,6 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-static MaybeLocal<Value> X509ToPEM(Environment* env, X509* cert) {
|
|
||||||
- BIOPointer bio(BIO_new(BIO_s_mem()));
|
|
||||||
- if (!bio) {
|
|
||||||
- ThrowCryptoError(env, ERR_get_error(), "BIO_new");
|
|
||||||
- return MaybeLocal<Value>();
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (PEM_write_bio_X509(bio.get(), cert) == 0) {
|
|
||||||
- ThrowCryptoError(env, ERR_get_error(), "PEM_write_bio_X509");
|
|
||||||
- return MaybeLocal<Value>();
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return BIOToStringOrBuffer(env, bio.get(), kKeyFormatPEM);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
static bool WritePublicKeyInner(EVP_PKEY* pkey,
|
|
||||||
const BIOPointer& bio,
|
|
||||||
const PublicKeyEncodingConfig& config) {
|
|
||||||
@@ -6676,36 +6679,6 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-void GetRootCertificates(const FunctionCallbackInfo<Value>& args) {
|
|
||||||
- Environment* env = Environment::GetCurrent(args);
|
|
||||||
-
|
|
||||||
- if (root_cert_store == nullptr)
|
|
||||||
- root_cert_store = NewRootCertStore();
|
|
||||||
-
|
|
||||||
- stack_st_X509_OBJECT* objs = X509_STORE_get0_objects(root_cert_store);
|
|
||||||
- int num_objs = sk_X509_OBJECT_num(objs);
|
|
||||||
-
|
|
||||||
- std::vector<Local<Value>> result;
|
|
||||||
- result.reserve(num_objs);
|
|
||||||
-
|
|
||||||
- for (int i = 0; i < num_objs; i++) {
|
|
||||||
- X509_OBJECT* obj = sk_X509_OBJECT_value(objs, i);
|
|
||||||
- if (X509_OBJECT_get_type(obj) == X509_LU_X509) {
|
|
||||||
- X509* cert = X509_OBJECT_get0_X509(obj);
|
|
||||||
-
|
|
||||||
- Local<Value> value;
|
|
||||||
- if (!X509ToPEM(env, cert).ToLocal(&value))
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
- result.push_back(value);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- args.GetReturnValue().Set(
|
|
||||||
- Array::New(env->isolate(), result.data(), result.size()));
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-
|
|
||||||
// Convert the input public key to compressed, uncompressed, or hybrid formats.
|
|
||||||
void ConvertKey(const FunctionCallbackInfo<Value>& args) {
|
|
||||||
MarkPopErrorOnReturn mark_pop_error_on_return;
|
|
||||||
--- a/test/parallel/test-tls-root-certificates.js
|
|
||||||
+++ b/test/parallel/test-tls-root-certificates.js
|
|
||||||
@@ -2,49 +2,30 @@
|
|
||||||
const common = require('../common');
|
|
||||||
if (!common.hasCrypto) common.skip('missing crypto');
|
|
||||||
|
|
||||||
-const fixtures = require('../common/fixtures');
|
|
||||||
const assert = require('assert');
|
|
||||||
const tls = require('tls');
|
|
||||||
-const { fork } = require('child_process');
|
|
||||||
|
|
||||||
-if (process.argv[2] !== 'child') {
|
|
||||||
- // Parent
|
|
||||||
- const NODE_EXTRA_CA_CERTS = fixtures.path('keys', 'ca1-cert.pem');
|
|
||||||
-
|
|
||||||
- fork(
|
|
||||||
- __filename,
|
|
||||||
- ['child'],
|
|
||||||
- { env: { ...process.env, NODE_EXTRA_CA_CERTS } }
|
|
||||||
- ).on('exit', common.mustCall(function(status) {
|
|
||||||
- assert.strictEqual(status, 0);
|
|
||||||
- }));
|
|
||||||
-} else {
|
|
||||||
- // Child
|
|
||||||
- assert(Array.isArray(tls.rootCertificates));
|
|
||||||
- assert(tls.rootCertificates.length > 0);
|
|
||||||
-
|
|
||||||
- // Getter should return the same object.
|
|
||||||
- assert.strictEqual(tls.rootCertificates, tls.rootCertificates);
|
|
||||||
-
|
|
||||||
- // Array is immutable...
|
|
||||||
- assert.throws(() => tls.rootCertificates[0] = 0, /TypeError/);
|
|
||||||
- assert.throws(() => tls.rootCertificates.sort(), /TypeError/);
|
|
||||||
-
|
|
||||||
- // ...and so is the property.
|
|
||||||
- assert.throws(() => tls.rootCertificates = 0, /TypeError/);
|
|
||||||
-
|
|
||||||
- // Does not contain duplicates.
|
|
||||||
- assert.strictEqual(tls.rootCertificates.length,
|
|
||||||
- new Set(tls.rootCertificates).size);
|
|
||||||
-
|
|
||||||
- assert(tls.rootCertificates.every((s) => {
|
|
||||||
- return s.startsWith('-----BEGIN CERTIFICATE-----\n');
|
|
||||||
- }));
|
|
||||||
-
|
|
||||||
- assert(tls.rootCertificates.every((s) => {
|
|
||||||
- return s.endsWith('\n-----END CERTIFICATE-----\n');
|
|
||||||
- }));
|
|
||||||
-
|
|
||||||
- const extraCert = fixtures.readKey('ca1-cert.pem', 'utf8');
|
|
||||||
- assert(tls.rootCertificates.includes(extraCert));
|
|
||||||
-}
|
|
||||||
+assert(Array.isArray(tls.rootCertificates));
|
|
||||||
+assert(tls.rootCertificates.length > 0);
|
|
||||||
+
|
|
||||||
+// Getter should return the same object.
|
|
||||||
+assert.strictEqual(tls.rootCertificates, tls.rootCertificates);
|
|
||||||
+
|
|
||||||
+// Array is immutable...
|
|
||||||
+assert.throws(() => tls.rootCertificates[0] = 0, /TypeError/);
|
|
||||||
+assert.throws(() => tls.rootCertificates.sort(), /TypeError/);
|
|
||||||
+
|
|
||||||
+// ...and so is the property.
|
|
||||||
+assert.throws(() => tls.rootCertificates = 0, /TypeError/);
|
|
||||||
+
|
|
||||||
+// Does not contain duplicates.
|
|
||||||
+assert.strictEqual(tls.rootCertificates.length,
|
|
||||||
+ new Set(tls.rootCertificates).size);
|
|
||||||
+
|
|
||||||
+assert(tls.rootCertificates.every((s) => {
|
|
||||||
+ return s.startsWith('-----BEGIN CERTIFICATE-----\n');
|
|
||||||
+}));
|
|
||||||
+
|
|
||||||
+assert(tls.rootCertificates.every((s) => {
|
|
||||||
+ return s.endsWith('\n-----END CERTIFICATE-----');
|
|
||||||
+}));
|
|
|
@ -1,26 +0,0 @@
|
||||||
test-lowerseclevel.patch
|
|
||||||
ares_compat.patch
|
|
||||||
shared_uv_from_uvwasi.patch
|
|
||||||
large_pages_assembly_gnu_stack.patch
|
|
||||||
dfhs_module_path_arch_triplet.patch
|
|
||||||
# 2012_kfreebsd.patch
|
|
||||||
use_system_node_gyp.patch
|
|
||||||
privacy_breach.patch
|
|
||||||
fix-for-js-yaml-4.patch
|
|
||||||
make-doc.patch
|
|
||||||
2017_mips_configure_fpu.patch
|
|
||||||
test_ci_buildd.patch
|
|
||||||
fix_disable_cctest.patch
|
|
||||||
benchmark_without_alice.patch
|
|
||||||
atomic.patch
|
|
||||||
mips-fix.patch
|
|
||||||
mips-less-memory.patch
|
|
||||||
mips-no-jitless.patch
|
|
||||||
localhost-no-addrconfig.patch
|
|
||||||
ppc64.patch
|
|
||||||
python3.patch
|
|
||||||
cjs-module-lexer.patch
|
|
||||||
upstream-fix-test-worker-prof.patch
|
|
||||||
7232c2a1604d241ce0455d919ba9b0b8e9959f81.patch
|
|
||||||
24c403cfaf8bdbcd8b19037531c8998709d2b949.patch
|
|
||||||
e548e053a2fda35f38272fb023f543e52ae77566.patch
|
|
|
@ -1,26 +0,0 @@
|
||||||
Description: uvwasi depends on uv.gyp and ignores shared_libuv
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2021-07-03
|
|
||||||
Forwarded: https://github.com/nodejs/node/issues/39248
|
|
||||||
--- a/deps/uvwasi/uvwasi.gyp
|
|
||||||
+++ b/deps/uvwasi/uvwasi.gyp
|
|
||||||
@@ -18,9 +18,6 @@
|
|
||||||
'src/wasi_rights.c',
|
|
||||||
'src/wasi_serdes.c',
|
|
||||||
],
|
|
||||||
- 'dependencies': [
|
|
||||||
- '../uv/uv.gyp:libuv',
|
|
||||||
- ],
|
|
||||||
'direct_dependent_settings': {
|
|
||||||
'include_dirs': ['include']
|
|
||||||
},
|
|
||||||
@@ -31,6 +28,9 @@
|
|
||||||
'_POSIX_C_SOURCE=200112',
|
|
||||||
],
|
|
||||||
}],
|
|
||||||
+ [ 'node_shared_libuv=="false"', {
|
|
||||||
+ 'dependencies': [ '../uv/uv.gyp:libuv' ],
|
|
||||||
+ }],
|
|
||||||
],
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -1,32 +0,0 @@
|
||||||
Description: Lower SECLEVEL in the openssl.cnf used for testing
|
|
||||||
In Ubuntu SECLEVEL is compiled into openssl, rather than
|
|
||||||
set/unset from system openssl.cnf.
|
|
||||||
Author: Dimitri John Ledkov <xnox@ubuntu.com>
|
|
||||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1858971
|
|
||||||
|
|
||||||
|
|
||||||
--- nodejs-10.17.0~dfsg.orig/deps/openssl/openssl/apps/openssl.cnf
|
|
||||||
+++ nodejs-10.17.0~dfsg/deps/openssl/openssl/apps/openssl.cnf
|
|
||||||
@@ -11,6 +11,8 @@
|
|
||||||
# defined.
|
|
||||||
HOME = .
|
|
||||||
|
|
||||||
+openssl_conf = default_conf
|
|
||||||
+
|
|
||||||
# Extra OBJECT IDENTIFIER info:
|
|
||||||
#oid_file = $ENV::HOME/.oid
|
|
||||||
oid_section = new_oids
|
|
||||||
@@ -348,3 +350,13 @@ ess_cert_id_chain = no # Must the ESS ce
|
|
||||||
# (optional, default: no)
|
|
||||||
ess_cert_id_alg = sha1 # algorithm to compute certificate
|
|
||||||
# identifier (optional, default: sha1)
|
|
||||||
+
|
|
||||||
+[default_conf]
|
|
||||||
+ssl_conf = ssl_sect
|
|
||||||
+
|
|
||||||
+[ssl_sect]
|
|
||||||
+system_default = system_default_sect
|
|
||||||
+
|
|
||||||
+[system_default_sect]
|
|
||||||
+MinProtocol = TLSv1.2
|
|
||||||
+CipherString = DEFAULT@SECLEVEL=1
|
|
|
@ -1,180 +0,0 @@
|
||||||
Description: adapt test-ci build target for buildd
|
|
||||||
* run tests with ./node
|
|
||||||
* remove addons from test-ci suite, because it creates a dependency loop
|
|
||||||
nodejs -> node-gyp -> nodejs which is painful to manage.
|
|
||||||
* disabled because it requires stdin:
|
|
||||||
+ test-stdout-close-unref
|
|
||||||
+ test-regress-GH-746
|
|
||||||
* test-tick-processor fails on ppc64 and s390x, currently investigated
|
|
||||||
https://github.com/nodejs/node/issues/2471
|
|
||||||
* test-cluster-disconnect sometimes fails on busy buildd, forwarded upstream
|
|
||||||
https://github.com/nodejs/node/issues/3383
|
|
||||||
* test-fs-watch is flaky, might be related to https://github.com/nodejs/node/issues/4082
|
|
||||||
* huge timeout value for all platforms, buildd could be busy
|
|
||||||
* test-npm-install and test-release-npm must fail, debian package dfsg-repacked npm out
|
|
||||||
* ability to override CI_NATIVE_SUITES, CI_JS_SUITES
|
|
||||||
* disable tests failing because DNS is disabled
|
|
||||||
* sequential/test-http2-session-timeout is flaky https://github.com/nodejs/node/issues/20628
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Forwarded: not-needed
|
|
||||||
Reviewed-By: Xavier Guimard <yadd@debian.org>
|
|
||||||
Last-Update: 2020-02-09
|
|
||||||
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -508,7 +508,7 @@
|
|
||||||
# This target should not use a native compiler at all
|
|
||||||
# Related CI job: node-test-commit-arm-fanned
|
|
||||||
test-ci-js: | clear-stalled
|
|
||||||
- $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
|
|
||||||
+ $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap \
|
|
||||||
--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \
|
|
||||||
$(TEST_CI_ARGS) $(CI_JS_SUITES)
|
|
||||||
@echo "Clean up any leftover processes, error if found."
|
|
||||||
--- a/test/parallel/parallel.status
|
|
||||||
+++ b/test/parallel/parallel.status
|
|
||||||
@@ -6,6 +6,37 @@
|
|
||||||
|
|
||||||
[true] # This section applies to all platforms
|
|
||||||
|
|
||||||
+test-process-config : PASS,FLAKY
|
|
||||||
+test-regress-GH-746 : PASS,FLAKY
|
|
||||||
+test-stdout-close-unref : PASS,FLAKY
|
|
||||||
+test-npm-install : FAIL
|
|
||||||
+test-npm-version : FAIL
|
|
||||||
+test-release-npm : FAIL
|
|
||||||
+# skip tests accessing network
|
|
||||||
+test-dns : SKIP
|
|
||||||
+test-net-connect-immediate-finish : SKIP
|
|
||||||
+test-net-better-error-messages-port-hostname : SKIP
|
|
||||||
+
|
|
||||||
+# in debian build env, skip because it somehow tries to access network
|
|
||||||
+test-https-connect-address-family : SKIP
|
|
||||||
+test-tls-connect-address-family : SKIP
|
|
||||||
+test-dns-cancel-reverse-lookup: SKIP
|
|
||||||
+
|
|
||||||
+# https://bugs.debian.org/919588
|
|
||||||
+## flaky on some user environments
|
|
||||||
+test-net-listen-after-destroying-stdin: PASS,FLAKY
|
|
||||||
+## fails when running with eatmydata
|
|
||||||
+test-fs-error-messages: PASS,FLAKY
|
|
||||||
+
|
|
||||||
+# should have been disabled 'cause openssl 1.1.0
|
|
||||||
+test-tls-ecdh-disable : SKIP
|
|
||||||
+
|
|
||||||
+# only works with zlib >= 1.2.11
|
|
||||||
+test-zlib-failed-init: SKIP
|
|
||||||
+
|
|
||||||
+# might fail, see https://github.com/nodejs/node/issues/17909
|
|
||||||
+test-fs-utimes: PASS,FLAKY
|
|
||||||
+
|
|
||||||
[$system==win32]
|
|
||||||
# https://github.com/nodejs/node/issues/20750
|
|
||||||
test-http2-client-upload: PASS,FLAKY
|
|
||||||
@@ -39,6 +70,10 @@
|
|
||||||
# https://github.com/nodejs/node/issues/33796
|
|
||||||
test-fs-stream-construct: PASS,FLAKY
|
|
||||||
|
|
||||||
+[$arch==mips64el]
|
|
||||||
+# the debug flag is for hacking v8 internals
|
|
||||||
+test-debug-args: PASS,FLAKY
|
|
||||||
+
|
|
||||||
[$system==solaris] # Also applies to SmartOS
|
|
||||||
|
|
||||||
[$system==freebsd]
|
|
||||||
@@ -71,3 +106,6 @@
|
|
||||||
test-tls-env-extra-ca: SKIP
|
|
||||||
# https://github.com/nodejs/node/pull/34209
|
|
||||||
test-dgram-error-message-address: SKIP
|
|
||||||
+
|
|
||||||
+[$arch==mipsel]
|
|
||||||
+test-inspect-async-hook-setup-at-inspect: SKIP
|
|
||||||
--- a/test/sequential/sequential.status
|
|
||||||
+++ b/test/sequential/sequential.status
|
|
||||||
@@ -8,6 +8,15 @@
|
|
||||||
# https://github.com/nodejs/node/issues/27611#issuecomment-613100468
|
|
||||||
test-cpu-prof-dir-worker: PASS, FLAKY
|
|
||||||
|
|
||||||
+# flaky or failing at least on debian build servers
|
|
||||||
+test-fs-watch : PASS,FLAKY
|
|
||||||
+test-force-repl : SKIP
|
|
||||||
+test-performance : SKIP
|
|
||||||
+test-http2-session-timeout : PASS,FLAKY
|
|
||||||
+
|
|
||||||
+# https://github.com/nodejs/node/issues/24403
|
|
||||||
+test-cli-syntax: PASS,FLAKY
|
|
||||||
+
|
|
||||||
[$system==win32]
|
|
||||||
# https://github.com/nodejs/node/issues/22327
|
|
||||||
test-http2-large-file: PASS, FLAKY
|
|
||||||
@@ -35,3 +44,10 @@
|
|
||||||
[$arch==arm]
|
|
||||||
# https://github.com/nodejs/node/issues/26401#issuecomment-613095719
|
|
||||||
test-worker-prof: PASS, FLAKY
|
|
||||||
+
|
|
||||||
+[$arch==mipsel]
|
|
||||||
+test-inspector-async-hook-setup-at-inspect-brk: SKIP
|
|
||||||
+test-inspector-async-hook-setup-at-signal: SKIP
|
|
||||||
+test-inspector-async-stack-traces-set-interval: SKIP
|
|
||||||
+
|
|
||||||
+
|
|
||||||
--- a/tools/test.py
|
|
||||||
+++ b/tools/test.py
|
|
||||||
@@ -890,25 +890,7 @@
|
|
||||||
self.node_has_crypto = True
|
|
||||||
|
|
||||||
def GetVm(self, arch, mode):
|
|
||||||
- if self.vm is not None:
|
|
||||||
- return self.vm
|
|
||||||
- if arch == 'none':
|
|
||||||
- name = 'out/Debug/node' if mode == 'debug' else 'out/Release/node'
|
|
||||||
- else:
|
|
||||||
- name = 'out/%s.%s/node' % (arch, mode)
|
|
||||||
-
|
|
||||||
- # Currently GYP does not support output_dir for MSVS.
|
|
||||||
- # http://code.google.com/p/gyp/issues/detail?id=40
|
|
||||||
- # It will put the builds into Release/node.exe or Debug/node.exe
|
|
||||||
- if utils.IsWindows():
|
|
||||||
- if not exists(name + '.exe'):
|
|
||||||
- name = name.replace('out/', '')
|
|
||||||
- name = os.path.abspath(name + '.exe')
|
|
||||||
-
|
|
||||||
- if not exists(name):
|
|
||||||
- raise ValueError('Could not find executable. Should be ' + name)
|
|
||||||
-
|
|
||||||
- return name
|
|
||||||
+ return './node'
|
|
||||||
|
|
||||||
def GetTimeout(self, mode):
|
|
||||||
return self.timeout * TIMEOUT_SCALEFACTOR[ARCH_GUESS or 'ia32'][mode]
|
|
||||||
--- a/test/common/index.js
|
|
||||||
+++ b/test/common/index.js
|
|
||||||
@@ -235,27 +235,7 @@
|
|
||||||
|
|
||||||
|
|
||||||
function platformTimeout(ms) {
|
|
||||||
- const multipliers = typeof ms === 'bigint' ?
|
|
||||||
- { two: 2n, four: 4n, seven: 7n } : { two: 2, four: 4, seven: 7 };
|
|
||||||
-
|
|
||||||
- if (process.features.debug)
|
|
||||||
- ms = multipliers.two * ms;
|
|
||||||
-
|
|
||||||
- if (isAIX)
|
|
||||||
- return multipliers.two * ms; // Default localhost speed is slower on AIX
|
|
||||||
-
|
|
||||||
- if (process.arch !== 'arm')
|
|
||||||
- return ms;
|
|
||||||
-
|
|
||||||
- const armv = process.config.variables.arm_version;
|
|
||||||
-
|
|
||||||
- if (armv === '6')
|
|
||||||
- return multipliers.seven * ms; // ARMv6
|
|
||||||
-
|
|
||||||
- if (armv === '7')
|
|
||||||
- return multipliers.two * ms; // ARMv7
|
|
||||||
-
|
|
||||||
- return ms; // ARMv8+
|
|
||||||
+ return 20 * ms; // for debian build servers
|
|
||||||
}
|
|
||||||
|
|
||||||
let knownGlobals = [
|
|
|
@ -1,93 +0,0 @@
|
||||||
From 04fb597996455d0abbe7b12bbc2d2a5ce16fbb3d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rich Trott <rtrott@gmail.com>
|
|
||||||
Date: Sun, 14 Feb 2021 15:52:54 -0800
|
|
||||||
Subject: [PATCH] test: fix flaky test-worker-prof
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Fixes: https://github.com/nodejs/node/issues/26401
|
|
||||||
Co-authored-by: Gireesh Punathil <gpunathi@in.ibm.com>
|
|
||||||
|
|
||||||
PR-URL: https://github.com/nodejs/node/pull/37372
|
|
||||||
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
|
|
||||||
Reviewed-By: Michaël Zasso <targos@protonmail.com>
|
|
||||||
Reviewed-By: James M Snell <jasnell@gmail.com>
|
|
||||||
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
|
|
||||||
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
|
|
||||||
---
|
|
||||||
test/sequential/sequential.status | 4 ----
|
|
||||||
test/sequential/test-worker-prof.js | 15 ++++++++-------
|
|
||||||
2 files changed, 8 insertions(+), 11 deletions(-)
|
|
||||||
|
|
||||||
--- a/test/sequential/sequential.status
|
|
||||||
+++ b/test/sequential/sequential.status
|
|
||||||
@@ -24,8 +24,6 @@
|
|
||||||
[$system==win32]
|
|
||||||
# https://github.com/nodejs/node/issues/22327
|
|
||||||
test-http2-large-file: PASS, FLAKY
|
|
||||||
-# https://github.com/nodejs/node/issues/26401
|
|
||||||
-test-worker-prof: PASS, FLAKY
|
|
||||||
|
|
||||||
[$system==linux]
|
|
||||||
|
|
||||||
@@ -45,10 +43,6 @@
|
|
||||||
# https://github.com/nodejs/node/pull/30819
|
|
||||||
test-perf-hooks: SKIP
|
|
||||||
|
|
||||||
-[$arch==arm]
|
|
||||||
-# https://github.com/nodejs/node/issues/26401#issuecomment-613095719
|
|
||||||
-test-worker-prof: PASS, FLAKY
|
|
||||||
-
|
|
||||||
[$arch==mipsel]
|
|
||||||
test-inspector-async-hook-setup-at-inspect-brk: SKIP
|
|
||||||
test-inspector-async-hook-setup-at-signal: SKIP
|
|
||||||
--- a/test/sequential/test-worker-prof.js
|
|
||||||
+++ b/test/sequential/test-worker-prof.js
|
|
||||||
@@ -23,17 +23,17 @@
|
|
||||||
const fs = require('fs');
|
|
||||||
const { Worker, parentPort } = require('worker_threads');
|
|
||||||
parentPort.on('message', (m) => {
|
|
||||||
- if (counter++ === 10)
|
|
||||||
+ if (counter++ === 1024)
|
|
||||||
process.exit(0);
|
|
||||||
- parentPort.postMessage(
|
|
||||||
- fs.readFileSync(m.toString()).slice(0, 1024 * 1024));
|
|
||||||
+ parentPort.postMessage(
|
|
||||||
+ fs.readFileSync(m.toString()).slice(0, 1024 * 1024));
|
|
||||||
});
|
|
||||||
`;
|
|
||||||
|
|
||||||
const { Worker } = require('worker_threads');
|
|
||||||
const w = new Worker(pingpong, { eval: true });
|
|
||||||
w.on('message', (m) => {
|
|
||||||
- w.postMessage(process.execPath);
|
|
||||||
+ w.postMessage(__filename);
|
|
||||||
});
|
|
||||||
|
|
||||||
w.on('exit', common.mustCall(() => {
|
|
||||||
@@ -46,12 +46,13 @@
|
|
||||||
}
|
|
||||||
process.exit(0);
|
|
||||||
}));
|
|
||||||
- w.postMessage(process.execPath);
|
|
||||||
+ w.postMessage(__filename);
|
|
||||||
} else {
|
|
||||||
tmpdir.refresh();
|
|
||||||
+ const timeout = common.platformTimeout(30_000);
|
|
||||||
const spawnResult = spawnSync(
|
|
||||||
process.execPath, ['--prof', __filename, 'child'],
|
|
||||||
- { cwd: tmpdir.path, encoding: 'utf8', timeout: 30_000 });
|
|
||||||
+ { cwd: tmpdir.path, encoding: 'utf8', timeout });
|
|
||||||
assert.strictEqual(spawnResult.stderr.toString(), '',
|
|
||||||
`child exited with an error: \
|
|
||||||
${util.inspect(spawnResult)}`);
|
|
||||||
@@ -72,7 +73,7 @@
|
|
||||||
// Test that at least 15 ticks have been recorded for both parent and child
|
|
||||||
// threads. When not tracking Worker threads, only 1 or 2 ticks would
|
|
||||||
// have been recorded.
|
|
||||||
- // When running locally on x64 Linux, this number is usually at least 200
|
|
||||||
+ // When running locally, this number is usually around 200
|
|
||||||
// for both threads, so 15 seems like a very safe threshold.
|
|
||||||
assert(ticks >= 15, `${ticks} >= 15`);
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
Description: use system-installed node-gyp for building test modules
|
|
||||||
Author: Jérémy Lal <kapouer@melix.org>
|
|
||||||
Last-Update: 2015-09-09
|
|
||||||
Forwarded: not-needed
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -376,14 +376,14 @@
|
|
||||||
$(filter-out test/addons/??_*/*.h, $(wildcard test/addons/*/*.h))
|
|
||||||
|
|
||||||
ADDONS_PREREQS := config.gypi \
|
|
||||||
- deps/npm/node_modules/node-gyp/package.json tools/build-addons.js \
|
|
||||||
+ tools/build-addons.js \
|
|
||||||
deps/uv/include/*.h deps/v8/include/*.h \
|
|
||||||
src/node.h src/node_buffer.h src/node_object_wrap.h src/node_version.h
|
|
||||||
|
|
||||||
define run_build_addons
|
|
||||||
env npm_config_loglevel=$(LOGLEVEL) npm_config_nodedir="$$PWD" \
|
|
||||||
npm_config_python="$(PYTHON)" $(NODE) "$$PWD/tools/build-addons" \
|
|
||||||
- "$$PWD/deps/npm/node_modules/node-gyp/bin/node-gyp.js" \
|
|
||||||
+ "/usr/bin/node-gyp" \
|
|
||||||
$1
|
|
||||||
touch $2
|
|
||||||
endef
|
|
|
@ -1 +1 @@
|
||||||
3.0 (quilt)
|
3.0 (native)
|
||||||
|
|
Loading…
Reference in New Issue