package/nodejs: bump version to 5.3.0
PATCH v3 1/7 package/nodejs: bump version to 5.3.0
Replace 4.2.3 with 5.3.0. 5.3.0 is the current Stable release. See
https://nodejs.org/en/blog/release/v5.3.0 for details on the release.
Copied 4.2.3 patched to 5.3.0 with the following exceptions:
- Removed 0004-fix-arm-vfpv2.patch, committed upstream and included in 5.3.0. See https://github.com/nodejs/node/commit/84dea1bd0c
- Added 0004-Fix-va_list-not-declared.patch, fix for a new bug. This has already been fixed upstream but is not in 5.3.0
---
Changes v2 -> v3
- Fixed !BR2_USE_WCHAR use in Config.in (Yann)
Changes v1 -> v2
- Updated patch set from 5.2.0 to 5.3.0
---
Config.in.legacy | 9 +++++
package/nodejs/4.2.3/0004-fix-arm-vfpv2.patch | 46 ----------------------
...01-Remove-dependency-on-Python-bz2-module.patch | 0
.../0002-gyp-force-link-command-to-use-CXX.patch | 0
...hon-variable-instead-of-hardcoding-Python.patch | 0
.../5.3.0/0004-Fix-va_list-not-declared.patch | 39 ++++++++++++++++++
package/nodejs/Config.in | 13 +++---
package/nodejs/nodejs.hash | 4 +-
package/nodejs/nodejs.mk | 2 +-
9 files changed, 58 insertions(+), 55 deletions(-)
delete mode 100644 package/nodejs/4.2.3/0004-fix-arm-vfpv2.patch
rename package/nodejs/{4.2.3 => 5.3.0}/0001-Remove-dependency-on-Python-bz2-module.patch (100%)
rename package/nodejs/{4.2.3 => 5.3.0}/0002-gyp-force-link-command-to-use-CXX.patch (100%)
rename package/nodejs/{4.2.3 => 5.3.0}/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch (100%)
create mode 100644 package/nodejs/5.3.0/0004-Fix-va_list-not-declared.patchConfig.in.legacy +9 -0
@@ -248,6 +248,15 @@ config BR2_PACKAGE_INFOZIP to avoid ambiguities with Info-Zip's UnZip which has been added in the unzip package. +config BR2_BR2_PACKAGE_NODEJS_4_X + bool "nodejs version 4.x has been removed" + select BR2_LEGACY + select BR2_PACKAGE_NODEJS + help + nodejs version 4.x has been removed. As an alternative, + the latest nodejs version has been automatically selected in + your configuration. + ############################################################################### comment "Legacy options removed in 2015.11"
package/nodejs/4.2.3/0004-fix-arm-vfpv2.patch deleted +0 -46
46 lines not on this page · raw message
package/nodejs/5.3.0/0001-Remove-dependency-on-Python-bz2-module.patch renamed from package/nodejs/4.2.3/0001-Remove-dependency-on-Python-bz2-module.patch +0 -0
package/nodejs/5.3.0/0002-gyp-force-link-command-to-use-CXX.patch renamed from package/nodejs/4.2.3/0002-gyp-force-link-command-to-use-CXX.patch +0 -0
package/nodejs/5.3.0/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch renamed from package/nodejs/4.2.3/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch +0 -0
package/nodejs/5.3.0/0004-Fix-va_list-not-declared.patch new file +39 -0
@@ -0,0 +1,39 @@ +From 5b3dd2599ebde1846750aaf7c79576ad45246ffa Mon Sep 17 00:00:00 2001 +From: Martin Bark <[email protected]> +Date: Tue, 8 Dec 2015 11:41:08 +0000 +Subject: [PATCH] Fix va_list not declared +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When compiling with uClibc-ng the following error is seen. + +In file included from ../deps/v8/src/log-utils.cc:5:0: +../deps/v8/src/log-utils.h:64:39: error: ?va_list? has not been declared + void AppendVA(const char* format, va_list args); + +This patch fixes the issue by adding the missing #include <cstdarg>. Note +that this fix has already be included upstream, see +https://github.com/nodejs/node/blob/8a43a3d/deps/v8/src/log-utils.h + +Signed-off-by: Martin Bark <[email protected]> +--- + deps/v8/src/log-utils.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/deps/v8/src/log-utils.h b/deps/v8/src/log-utils.h +index 87dab52..6714307 100644 +--- a/deps/v8/src/log-utils.h ++++ b/deps/v8/src/log-utils.h +@@ -5,6 +5,8 @@ + #ifndef V8_LOG_UTILS_H_ + #define V8_LOG_UTILS_H_ + ++#include <cstdarg> ++ + #include "src/allocation.h" + #include "src/base/platform/mutex.h" + #include "src/flags.h" +-- +2.5.0 +
package/nodejs/Config.in +7 -6
@@ -37,7 +37,7 @@ config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS choice prompt "Node.js version" default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 - default BR2_BR2_PACKAGE_NODEJS_4_X + default BR2_PACKAGE_NODEJS_5_X help Select the version of Node.js you wish to use.
@@ -48,14 +48,15 @@ config BR2_BR2_PACKAGE_NODEJS_0_12_X bool "v0.12.9" depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS -config BR2_BR2_PACKAGE_NODEJS_4_X - bool "v4.2.3" +config BR2_PACKAGE_NODEJS_5_X + bool "v5.3.0" depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_USE_WCHAR -comment "v4.2.3 needs a toolchain w/ gcc >= 4.8" +comment "v5.3.0 needs a toolchain w/ gcc >= 4.8, wchar" depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR endchoice
@@ -63,7 +64,7 @@ config BR2_PACKAGE_NODEJS_VERSION_STRING string default "0.10.41" if BR2_BR2_PACKAGE_NODEJS_0_10_X default "0.12.9" if BR2_BR2_PACKAGE_NODEJS_0_12_X - default "4.2.3" if BR2_BR2_PACKAGE_NODEJS_4_X + default "5.3.0" if BR2_PACKAGE_NODEJS_5_X menu "Module Selection"
package/nodejs/nodejs.hash +2 -2
@@ -4,5 +4,5 @@ sha256 79f694e2a5c42543b75d0c69f6860499d7593136d0f6b59e7163b9e66fb2c995 node-v0 # From upstream URL: http://nodejs.org/dist/v0.12.9/SHASUMS256.txt sha256 35daad301191e5f8dd7e5d2fbb711d081b82d1837d59837b8ee224c256cfe5e4 node-v0.12.9.tar.gz -# From upstream URL: http://nodejs.org/dist/v4.2.3/SHASUMS256.txt -sha256 9e8aef1e47b317575c421c8d10a80e6c319b26969b566d3b84e49e65a92837f4 node-v4.2.3.tar.xz +# From upstream URL: http://nodejs.org/dist/v5.3.0/SHASUMS256.txt +sha256 e5115ee78c31ac3af0f2b3553aa84fff2f49ae59bd6e01e11d78ce86c544569e node-v5.3.0.tar.xz
package/nodejs/nodejs.mk +1 -1
@@ -5,7 +5,7 @@ ################################################################################ NODEJS_VERSION = $(call qstrip,$(BR2_PACKAGE_NODEJS_VERSION_STRING)) -ifeq ($(BR2_BR2_PACKAGE_NODEJS_4_X),y) +ifeq ($(BR2_PACKAGE_NODEJS_5_X),y) NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz else NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.gz
Signature · 1 line
2.5.0
PATCH v3 2/7 package/nodejs: removed version 0.12.9
Remove 0.12.9 to rationalise the number of nodejs releases supported by buildroot. Going forward buildroot will only support the latest release of nodejs and the 0.10.x branch for armv5 support.
---
Changes v2 -> v3
- None
Changes v1 -> v2
- New in v2
--- Config.in.legacy | 9 ++++ ...01-Remove-dependency-on-Python-bz2-module.patch | 39 -------------- .../0002-gyp-force-link-command-to-use-CXX.patch | 27 ---------- ...hon-variable-instead-of-hardcoding-Python.patch | 63 ---------------------- ...c-fix-build-error-without-OpenSSL-support.patch | 44 --------------- ...or-arm-predefined-macro-in-atomicops_inte.patch | 30 ----------- package/nodejs/Config.in | 5 -- package/nodejs/nodejs.hash | 3 -- 8 files changed, 9 insertions(+), 211 deletions(-) delete mode 100644 package/nodejs/0.12.9/0001-Remove-dependency-on-Python-bz2-module.patch delete mode 100644 package/nodejs/0.12.9/0002-gyp-force-link-command-to-use-CXX.patch delete mode 100644 package/nodejs/0.12.9/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch delete mode 100644 package/nodejs/0.12.9/0004-src-fix-build-error-without-OpenSSL-support.patch delete mode 100644 package/nodejs/0.12.9/0005-Fix-typo-for-arm-predefined-macro-in-atomicops_inte.patch
Config.in.legacy +9 -0
@@ -248,6 +248,15 @@ config BR2_PACKAGE_INFOZIP to avoid ambiguities with Info-Zip's UnZip which has been added in the unzip package. +config BR2_BR2_PACKAGE_NODEJS_0_12_X + bool "nodejs version 0.12.x has been removed" + select BR2_LEGACY + select BR2_PACKAGE_NODEJS + help + nodejs version 0.12.x has been removed. As an alternative, + the latest nodejs version has been automatically selected in + your configuration. + config BR2_BR2_PACKAGE_NODEJS_4_X bool "nodejs version 4.x has been removed" select BR2_LEGACY
package/nodejs/0.12.9/0001-Remove-dependency-on-Python-bz2-module.patch deleted +0 -39
@@ -1,39 +0,0 @@ -From 3d4817c152d6f3afddcc699949c4d1664da91e2b Mon Sep 17 00:00:00 2001 -From: Martin Bark <[email protected]> -Date: Tue, 30 Jun 2015 09:43:11 +0100 -Subject: [PATCH 1/4] Remove dependency on Python bz2 module - -The Python bz2 module is only needed in certain cases, so only import -it when needed. In the normal nodejs build, this allows to remove the -dependency on this module. - -Signed-off-by: Thomas Petazzoni <[email protected]> -[Martin: adapt to 0.12.5] -Signed-off-by: Martin Bark <[email protected]> ---- - deps/v8/tools/js2c.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/deps/v8/tools/js2c.py b/deps/v8/tools/js2c.py -index 77485f6..371caf5 100755 ---- a/deps/v8/tools/js2c.py -+++ b/deps/v8/tools/js2c.py -@@ -34,7 +34,6 @@ - import os, re, sys, string - import optparse - import jsmin --import bz2 - import textwrap - - -@@ -492,6 +491,7 @@ def CompressMaybe(sources, compression_type): - if compression_type == "off": - return sources_bytes - elif compression_type == "bz2": -+ import bz2 - return bz2.compress(sources_bytes) - else: - raise Error("Unknown compression type %s." % compression_type) --- -2.1.4 -
package/nodejs/0.12.9/0002-gyp-force-link-command-to-use-CXX.patch deleted +0 -27
@@ -1,27 +0,0 @@ -From 90a3c113c19ec615249ab880c45c6c0a8d369098 Mon Sep 17 00:00:00 2001 -From: Martin Bark <[email protected]> -Date: Tue, 30 Jun 2015 09:43:47 +0100 -Subject: [PATCH 2/4] gyp: force link command to use CXX - -Signed-off-by: Samuel Martin <[email protected]> -Signed-off-by: Martin Bark <[email protected]> ---- - tools/gyp/pylib/gyp/generator/make.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py -index b88a433..0a1f2e0 100644 ---- a/tools/gyp/pylib/gyp/generator/make.py -+++ b/tools/gyp/pylib/gyp/generator/make.py -@@ -141,7 +141,7 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) - # special "figure out circular dependencies" flags around the entire - # input list during linking. - quiet_cmd_link = LINK($(TOOLSET)) $@ --cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) -+cmd_link = $(CXX.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ -Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS) - - # We support two kinds of shared objects (.so): - # 1) shared_library, which is just bundling together many dependent libraries --- -2.1.4 -
package/nodejs/0.12.9/0003-Use-a-python-variable-instead-of-hardcoding-Python.patch deleted +0 -63
63 lines not on this page · raw message
package/nodejs/0.12.9/0004-src-fix-build-error-without-OpenSSL-support.patch deleted +0 -44
44 lines not on this page · raw message
package/nodejs/0.12.9/0005-Fix-typo-for-arm-predefined-macro-in-atomicops_inte.patch deleted +0 -30
@@ -1,30 +0,0 @@ -From b7b69cdcdb4e2d80a85e303cc3230666d565bc39 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer <[email protected]> -Date: Sun, 11 Oct 2015 09:14:52 +0200 -Subject: [PATCH] Fix typo for arm predefined macro in - atomicops_internals_arm_gcc.h - -Fix typo __ARM_ARCH_6KZ__ vs. __ARM_ARCH_6ZK__, fixes -compile for raspberry pi. - -Signed-off-by: Peter Seiderer <[email protected]> ---- - deps/v8/src/base/atomicops_internals_arm_gcc.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/deps/v8/src/base/atomicops_internals_arm_gcc.h b/deps/v8/src/base/atomicops_internals_arm_gcc.h -index 069b1ff..b924981 100644 ---- a/deps/v8/src/base/atomicops_internals_arm_gcc.h -+++ b/deps/v8/src/base/atomicops_internals_arm_gcc.h -@@ -63,7 +63,7 @@ inline void MemoryBarrier() { - defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \ - defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ - defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \ -- defined(__ARM_ARCH_6KZ__) || defined(__ARM_ARCH_6T2__) -+ defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) - - inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, - Atomic32 old_value, --- -2.1.4 -
package/nodejs/Config.in +0 -5
@@ -44,10 +44,6 @@ choice config BR2_BR2_PACKAGE_NODEJS_0_10_X bool "v0.10.41" -config BR2_BR2_PACKAGE_NODEJS_0_12_X - bool "v0.12.9" - depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS - config BR2_PACKAGE_NODEJS_5_X bool "v5.3.0" depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS
@@ -63,7 +59,6 @@ endchoice config BR2_PACKAGE_NODEJS_VERSION_STRING string default "0.10.41" if BR2_BR2_PACKAGE_NODEJS_0_10_X - default "0.12.9" if BR2_BR2_PACKAGE_NODEJS_0_12_X default "5.3.0" if BR2_PACKAGE_NODEJS_5_X menu "Module Selection"
package/nodejs/nodejs.hash +0 -3
@@ -1,8 +1,5 @@ # From upstream URL: http://nodejs.org/dist/v0.10.41/SHASUMS256.txt sha256 79f694e2a5c42543b75d0c69f6860499d7593136d0f6b59e7163b9e66fb2c995 node-v0.10.41.tar.gz -# From upstream URL: http://nodejs.org/dist/v0.12.9/SHASUMS256.txt -sha256 35daad301191e5f8dd7e5d2fbb711d081b82d1837d59837b8ee224c256cfe5e4 node-v0.12.9.tar.gz - # From upstream URL: http://nodejs.org/dist/v5.3.0/SHASUMS256.txt sha256 e5115ee78c31ac3af0f2b3553aa84fff2f49ae59bd6e01e11d78ce86c544569e node-v5.3.0.tar.xz
Signature · 1 line
2.5.0
PATCH v3 3/7 package/nodejs: correct 0.10.x option name
In reply to Martin BarkThe nodejs options incorrectly started BR2_BR2_xxx. This change corrects the name for 0.10.x releases to BR2_PACKAGE_NODEJS_0_10_X
---
Changes v2 -> v3
- Corrected help test
- Removed select BR2_PACKAGE_NODEJS_0_10_X as this will not work (Yann)
- Note that selecting BR2_PACKAGE_NODEJS_0_10_X is not needed as a subsequent patch will remove the version choice.
Changes v1 -> v2
- New in v2
--- Config.in.legacy | 8 ++++++++ package/nodejs/Config.in | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-)
Config.in.legacy +8 -0
@@ -248,6 +248,14 @@ config BR2_PACKAGE_INFOZIP to avoid ambiguities with Info-Zip's UnZip which has been added in the unzip package. +config BR2_BR2_PACKAGE_NODEJS_0_10_X + bool "nodejs 0.10.x option renamed" + select BR2_LEGACY + select BR2_PACKAGE_NODEJS + help + nodejs 0.10.x option was named incorrectly and has been renamed + to BR2_PACKAGE_NODEJS_0_10_X. + config BR2_BR2_PACKAGE_NODEJS_0_12_X bool "nodejs version 0.12.x has been removed" select BR2_LEGACY
package/nodejs/Config.in +3 -3
@@ -36,12 +36,12 @@ config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS choice prompt "Node.js version" - default BR2_BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 + default BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 default BR2_PACKAGE_NODEJS_5_X help Select the version of Node.js you wish to use. -config BR2_BR2_PACKAGE_NODEJS_0_10_X +config BR2_PACKAGE_NODEJS_0_10_X bool "v0.10.41" config BR2_PACKAGE_NODEJS_5_X
@@ -58,7 +58,7 @@ endchoice config BR2_PACKAGE_NODEJS_VERSION_STRING string - default "0.10.41" if BR2_BR2_PACKAGE_NODEJS_0_10_X + default "0.10.41" if BR2_PACKAGE_NODEJS_0_10_X default "5.3.0" if BR2_PACKAGE_NODEJS_5_X menu "Module Selection"
Signature · 1 line
2.5.0
PATCH v3 4/7 package/nodejs: fixed comment for mips soft float
In reply to Martin Barknodejs is only selected for mips hard float however the comment is displayed for hard and soft float. Correct this by adding the missing !BR2_MIPS_SOFT_FLOAT to the comment.
---
Changes v2 -> v3
- New in v3.
- Note: See commit 8e7dacf766f13011d208b927260b78c56070a7fe when the !BR2_MIPS_SOFT_FLOAT requirement was added
--- package/nodejs/Config.in | 1 + 1 file changed, 1 insertion(+)
package/nodejs/Config.in +1 -0
@@ -20,6 +20,7 @@ config BR2_PACKAGE_NODEJS comment "nodejs needs a toolchain w/ C++, dynamic library, threads" depends on BR2_USE_MMU depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel + depends on !BR2_MIPS_SOFT_FLOAT depends on !BR2_ARM_CPU_ARMV4 depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
Signature · 1 line
2.5.0
PATCH v3 5/7 package/nodejs: remove version choice
In reply to Martin BarkRemove the choice of nodejs version. Now automatically pick nodejs 0.10.x for armv5 architectures only and the latest nodejs for all other supported architectures.
---
Changes v2 -> v3
- New in v3.
--- package/nodejs/Config.in | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-)
package/nodejs/Config.in +9 -13
@@ -6,6 +6,7 @@ config BR2_PACKAGE_NODEJS depends on !BR2_MIPS_SOFT_FLOAT # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 + depends on BR2_PACKAGE_NODEJS_0_10_X || BR2_PACKAGE_NODEJS_5_X # uses fork() depends on BR2_USE_MMU # uses dlopen(). On ARMv5, we could technically support static
@@ -22,9 +23,8 @@ comment "nodejs needs a toolchain w/ C++, dynamic library, threads" depends on BR2_arm || BR2_i386 || BR2_x86_64 || BR2_mipsel depends on !BR2_MIPS_SOFT_FLOAT depends on !BR2_ARM_CPU_ARMV4 - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS - -if BR2_PACKAGE_NODEJS + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ + || (!BR2_PACKAGE_NODEJS_0_10_X && !BR2_PACKAGE_NODEJS_5_X) # Starting with 0.12.x, on ARM, V8 (the JS engine) # now requires an armv6+ and a VFPv2+.
@@ -35,18 +35,14 @@ config BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS # On ARM, at least ARMv6+ with VFPv2+ is needed default y if !BR2_ARM_CPU_ARMV5 && BR2_ARM_CPU_HAS_VFPV2 -choice - prompt "Node.js version" - default BR2_PACKAGE_NODEJS_0_10_X if BR2_ARM_CPU_ARMV5 - default BR2_PACKAGE_NODEJS_5_X - help - Select the version of Node.js you wish to use. - config BR2_PACKAGE_NODEJS_0_10_X - bool "v0.10.41" + bool + # Only support 0.10.x on ARMv5 + default y if BR2_ARM_CPU_ARMV5 config BR2_PACKAGE_NODEJS_5_X - bool "v5.3.0" + bool + default y depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_USE_WCHAR
@@ -55,7 +51,7 @@ comment "v5.3.0 needs a toolchain w/ gcc >= 4.8, wchar" depends on BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR -endchoice +if BR2_PACKAGE_NODEJS config BR2_PACKAGE_NODEJS_VERSION_STRING string
Signature · 1 line
2.5.0
PATCH v3 5/7 package/nodejs: remove version choice
Martin,
package/nodejs/Config.in config BR2_PACKAGE_NODEJS · line 9
Quoted 9 lines · Martin Bark
package/nodejs/Config.in +1
-0@@ -6,6 +6,7 @@ config BR2_PACKAGE_NODEJS depends on !BR2_MIPS_SOFT_FLOAT # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 + depends on BR2_PACKAGE_NODEJS_0_10_X || BR2_PACKAGE_NODEJS_5_X
I don't like that the main BR2_PACKAGE_NODEJS option depends on BR2_PACKAGE_NODEJS_0_10_X || BR2_PACKAGE_NODEJS_5_X.
Instead, please do something like:
BR2_PACKAGE_NODEJS_VERSION
string default "5.3.0" if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && BR2_USE_WCHAR default "0.10.41"
And then use BR2_PACKAGE_NODEJS_VERSION in nodejs.mk to find which version to use.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 5/7 package/nodejs: remove version choice
Martin, Thomas, All,
On 2015-12-23 18:56 +0100, Thomas Petazzoni spake thusly:
Quoted 16 lines · Martin Bark
package/nodejs/Config.in config BR2_PACKAGE_NODEJS · line 9
Quoted 9 lines
package/nodejs/Config.in +1
-0@@ -6,6 +6,7 @@ config BR2_PACKAGE_NODEJS depends on !BR2_MIPS_SOFT_FLOAT # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 + depends on BR2_PACKAGE_NODEJS_0_10_X || BR2_PACKAGE_NODEJS_5_XI don't like that the main
BR2_PACKAGE_NODEJSoption depends onBR2_PACKAGE_NODEJS_0_10_X||BR2_PACKAGE_NODEJS_5_X.Instead, please do something like:
Quoted 7 lines
BR2_PACKAGE_NODEJS_VERSIONstring default "5.3.0" if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && BR2_USE_WCHAR default "0.10.41"And then use
BR2_PACKAGE_NODEJS_VERSIONin nodejs.mk to find which version to use.
And even if it is not a visible option, please keep it in the if-nodejs conditional block.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v3 5/7 package/nodejs: remove version choice
In reply to Thomas PetazzoniThomas,
Quoted 19 lines · Thomas Petazzoni
Martin,
package/nodejs/Config.in config BR2_PACKAGE_NODEJS · line 9
Quoted 9 lines · Martin Bark
package/nodejs/Config.in +1
-0@@ -6,6 +6,7 @@ config BR2_PACKAGE_NODEJS depends on !BR2_MIPS_SOFT_FLOAT # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 + depends on BR2_PACKAGE_NODEJS_0_10_X || BR2_PACKAGE_NODEJS_5_XI don't like that the main
BR2_PACKAGE_NODEJSoption depends onBR2_PACKAGE_NODEJS_0_10_X||BR2_PACKAGE_NODEJS_5_X.Instead, please do something like:
Quoted 7 lines
BR2_PACKAGE_NODEJS_VERSIONstring default "5.3.0" if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && BR2_USE_WCHAR default "0.10.41"And then use
BR2_PACKAGE_NODEJS_VERSIONin nodejs.mk to find which version to use.
I'm not 100% clear what you want. If BR2_PACKAGE_NODEJS does not depend on BR2_PACKAGE_NODEJS_0_10_X || BR2_PACKAGE_NODEJS_5_X then you can select nodejs when some dependencies are not satisfied. This would mean 0.10.x would get installed on architectures other than armv5. I thought the idea was 0.10.x only on armv5. Can you please clarify.
Thanks
Martin
Quoted 6 lines
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
PATCH v3 5/7 package/nodejs: remove version choice
Quoted 28 lines · Martin Bark
Thomas,
Quoted 24 lines · Thomas Petazzoni
Martin,
package/nodejs/Config.in config BR2_PACKAGE_NODEJS · line 9
Quoted 9 lines · Martin Bark
package/nodejs/Config.in +1
-0@@ -6,6 +6,7 @@ config BR2_PACKAGE_NODEJS depends on !BR2_MIPS_SOFT_FLOAT # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 + depends on BR2_PACKAGE_NODEJS_0_10_X || BR2_PACKAGE_NODEJS_5_XI don't like that the main
BR2_PACKAGE_NODEJSoption depends onBR2_PACKAGE_NODEJS_0_10_X||BR2_PACKAGE_NODEJS_5_X.Instead, please do something like:
BR2_PACKAGE_NODEJS_VERSIONstring default "5.3.0" if BR2_PACKAGE_NODEJS_V8_ARCH_SUPPORTS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && BR2_USE_WCHAR default "0.10.41"
Quoted 6 lines
Quoted 2 lines
And then use
BR2_PACKAGE_NODEJS_VERSIONin nodejs.mk to find which version to use.I'm not 100% clear what you want. If
BR2_PACKAGE_NODEJSdoes not depend onBR2_PACKAGE_NODEJS_0_10_X||BR2_PACKAGE_NODEJS_5_Xthen you can select nodejs when some dependencies are not satisfied.
No, because BR2_PACKAGE_NODEJS already has the required depends on
!BR2_ARM_CPU_ARMV4 and others, so this is not an issue.
Quoted 4 lines
This
would mean 0.10.x would get installed on architectures other than armv5. I thought the idea was 0.10.x only on armv5. Can you please clarify.
No it doesn't, with Thomas's proposal, 5.3.0 will be selected except if it is
not supported.
By the way, if/when you repost, please include the host-gcc version check
patches that I just sent, because they are conflicting.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v3 6/7 package/nodejs: fix support for uClibc-ng
In reply to Martin BarkFix segmentation fault in node.js when using uClibc-ng.
This patch fixes bug #8296, see
https://bugs.busybox.net/show_bug.cgi?id=8296.
---
Changes v2 -> v3
- Updated patch to mention libuv commit (Yann)
- Added patch to 0.10.41
Changes v1 -> v2
- Updated for node 5.3.0. removed patches for 0.12.9 and 4.2.3
--- .../0.10.41/0005-Fix-support-for-uClibc-ng.patch | 33 +++++++++++++++++++ .../0005-Fix-crash-in-GetInterfaceAddresses.patch | 37 ++++++++++++++++++++++ .../5.3.0/0006-Fix-support-for-uClibc-ng.patch | 33 +++++++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 package/nodejs/0.10.41/0005-Fix-support-for-uClibc-ng.patch create mode 100644 package/nodejs/5.3.0/0005-Fix-crash-in-GetInterfaceAddresses.patch create mode 100644 package/nodejs/5.3.0/0006-Fix-support-for-uClibc-ng.patch
package/nodejs/0.10.41/0005-Fix-support-for-uClibc-ng.patch new file +33 -0
@@ -0,0 +1,33 @@ +From 1cc08f6ceacbb0e5ba1f4638ca3a97ac002d7792 Mon Sep 17 00:00:00 2001 +From: "Bark, Martin" <[email protected]> +Date: Mon, 14 Dec 2015 13:26:10 +0000 +Subject: [PATCH 2/2] Fix support for uClibc-ng + +uClibc-ng is currently at v1.0.9. The patch corrects the uClibc +version test so that HAVE_IFADDRS_H is defined for uClibc versions +after v0.9.32. + +Submitted upstream to libuv and accepted, see +https://github.com/libuv/libuv/pull/653 and +https://github.com/libuv/libuv/commit/c861972 + +Signed-off-by: Bark, Martin <[email protected]> +--- + deps/uv/src/unix/linux-core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c +index e6e6828..6cbbb71 100644 +--- a/deps/uv/src/unix/linux-core.c ++++ b/deps/uv/src/unix/linux-core.c +@@ -39,7 +39,7 @@ + #define HAVE_IFADDRS_H 1 + + #ifdef __UCLIBC__ +-# if __UCLIBC_MAJOR__ < 0 || __UCLIBC_MINOR__ < 9 || __UCLIBC_SUBLEVEL__ < 32 ++# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32 + # undef HAVE_IFADDRS_H + # endif + #endif +-- +2.6.2
package/nodejs/5.3.0/0005-Fix-crash-in-GetInterfaceAddresses.patch new file +37 -0
@@ -0,0 +1,37 @@ +From 839bd9d147b2c85fe70196c86dbdbed504762caf Mon Sep 17 00:00:00 2001 +From: "Bark, Martin" <[email protected]> +Date: Mon, 14 Dec 2015 13:27:51 +0000 +Subject: [PATCH 1/2] Fix crash in GetInterfaceAddresses + +If uv_interface_addresses() returns UV_ENOSYS then interfaces and count are +uninitialised. This can cause a segmentation fault inside +GetInterfaceAddresses when it tries to use the invalid interfaces[]. Fix +the issue by returning from GetInterfaceAddresses on the UV_ENOSYS error. + +This issue was observed when using uCLibc-ng version 1.0.9 because +uv_interface_addresses() in deps/uv/src/unix/linux-core.c incorrectly +undefines HAVE_IFADDRS_H. + +Submitted upstream, see https://github.com/nodejs/node/pull/4272 + +Signed-off-by: Martin Bark <[email protected]> +--- + src/node_os.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/node_os.cc b/src/node_os.cc +index a100090..92f53a9 100644 +--- a/src/node_os.cc ++++ b/src/node_os.cc +@@ -200,7 +200,7 @@ static void GetInterfaceAddresses(const FunctionCallbackInfo<Value>& args) { + ret = Object::New(env->isolate()); + + if (err == UV_ENOSYS) { +- args.GetReturnValue().Set(ret); ++ return args.GetReturnValue().Set(ret); + } else if (err) { + return env->ThrowUVException(err, "uv_interface_addresses"); + } +-- +2.6.2 +
package/nodejs/5.3.0/0006-Fix-support-for-uClibc-ng.patch new file +33 -0
@@ -0,0 +1,33 @@ +From 1cc08f6ceacbb0e5ba1f4638ca3a97ac002d7792 Mon Sep 17 00:00:00 2001 +From: "Bark, Martin" <[email protected]> +Date: Mon, 14 Dec 2015 13:26:10 +0000 +Subject: [PATCH 2/2] Fix support for uClibc-ng + +uClibc-ng is currently at v1.0.9. The patch corrects the uClibc +version test so that HAVE_IFADDRS_H is defined for uClibc versions +after v0.9.32. + +Submitted upstream to libuv and accepted, see +https://github.com/libuv/libuv/pull/653 and +https://github.com/libuv/libuv/commit/c861972 + +Signed-off-by: Bark, Martin <[email protected]> +--- + deps/uv/src/unix/linux-core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c +index e6e6828..6cbbb71 100644 +--- a/deps/uv/src/unix/linux-core.c ++++ b/deps/uv/src/unix/linux-core.c +@@ -39,7 +39,7 @@ + #define HAVE_IFADDRS_H 1 + + #ifdef __UCLIBC__ +-# if __UCLIBC_MAJOR__ < 0 || __UCLIBC_MINOR__ < 9 || __UCLIBC_SUBLEVEL__ < 32 ++# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32 + # undef HAVE_IFADDRS_H + # endif + #endif +-- +2.6.2
Signature · 1 line
2.5.0
PATCH v3 7/7 package/libuv: fix support for uClibc-ng
In reply to Martin BarkSee https://bugs.busybox.net/show_bug.cgi?id=8296 for further details on the origins of this bug.
Submitted upstream to libuv and accepted, see
https://github.com/libuv/libuv/pull/653 and
https://github.com/libuv/libuv/commit/c861972
---
Changes v2 -> v3
- Updated commit message to mention libuv commit (Yann)
Changes v1 -> v2
- Updated patch to be the same as in libuv/libuv/pull/653
- Reword commit message
--- .../0001-unix-fix-support-for-uClibc-ng.patch | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 package/libuv/0001-unix-fix-support-for-uClibc-ng.patch
package/libuv/0001-unix-fix-support-for-uClibc-ng.patch new file +30 -0
@@ -0,0 +1,30 @@ +From 21dcb3a98feb3ae6ba862cfbf25fba3361bc8a9b Mon Sep 17 00:00:00 2001 +From: Martin Bark <[email protected]> +Date: Mon, 14 Dec 2015 21:46:17 +0000 +Subject: [PATCH] unix: fix support for uClibc-ng + +uClibc-ng is currently at v1.0.9. The patch corrects the uClibc +version test so that HAVE_IFADDRS_H is defined for uClibc versions +after v0.9.32. + +Signed-off-by: Martin Bark <[email protected]> +--- + src/unix/linux-core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/unix/linux-core.c b/src/unix/linux-core.c +index 3ff6fb1..4735bc4 100644 +--- a/src/unix/linux-core.c ++++ b/src/unix/linux-core.c +@@ -39,7 +39,7 @@ + #define HAVE_IFADDRS_H 1 + + #ifdef __UCLIBC__ +-# if __UCLIBC_MAJOR__ < 0 || __UCLIBC_MINOR__ < 9 || __UCLIBC_SUBLEVEL__ < 32 ++# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32 + # undef HAVE_IFADDRS_H + # endif + #endif +-- +2.5.0 +
Signature · 1 line
2.5.0
PATCH v3 1/7 package/nodejs: bump version to 5.3.0
In reply to Martin BarkDear Martin Bark,
Quoted 10 lines · Martin Bark
Replace 4.2.3 with 5.3.0. 5.3.0 is the current Stable release. See
https://nodejs.org/en/blog/release/v5.3.0 for details on the release.Copied 4.2.3 patched to 5.3.0 with the following exceptions:
- Removed 0004-fix-arm-vfpv2.patch, committed upstream and included in 5.3.0. See https://github.com/nodejs/node/commit/84dea1bd0c
- Added 0004-Fix-va_list-not-declared.patch, fix for a new bug. This has already been fixed upstream but is not in 5.3.0Signed-off-by Martin Bark <[email protected]>
I've applied patches 1, 2, 3, 4, 6 and 7. I've left out patch 5 because I have some concerns about it. I'll reply to patch 5 with some details.
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v3 1/7 package/nodejs: bump version to 5.3.0
Thomas,
Quoted 12 lines · Thomas Petazzoni
Dear Martin Bark,
Quoted 9 lines · Martin Bark
Replace 4.2.3 with 5.3.0. 5.3.0 is the current Stable release. See
https://nodejs.org/en/blog/release/v5.3.0 for details on the release.Copied 4.2.3 patched to 5.3.0 with the following exceptions:
- Removed 0004-fix-arm-vfpv2.patch, committed upstream and included in 5.3.0. See https://github.com/nodejs/node/commit/84dea1bd0c
- Added 0004-Fix-va_list-not-declared.patch, fix for a new bug. This has already been fixed upstream but is not in 5.3.0
Quoted 4 lines
Quoted 1 line
Signed-off-by Martin Bark <[email protected]>I've applied patches 1, 2, 3, 4, 6 and 7. I've left out patch 5 because I have some concerns about it. I'll reply to patch 5 with some details.
Thanks for that. It does not look like patch 3 "package/nodejs:
correct 0.10.x option name" got applied, is there a reason?
Thanks
Martin
Quoted 8 lines
Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
PATCH v3 1/7 package/nodejs: bump version to 5.3.0
Martin,
Quoted 5 lines · Martin Bark
Quoted 2 lines
I've applied patches 1, 2, 3, 4, 6 and 7. I've left out patch 5 because I have some concerns about it. I'll reply to patch 5 with some details.
Thanks for that. It does not look like patch 3 "package/nodejs:
correct 0.10.x option name" got applied, is there a reason?
Absolutely my bad. I just applied it now.
Thanks for spotting the issue!
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com