From 219cc7775f87973df54bc57030022c3d275bfe4f Mon Sep 17 00:00:00 2001 From: Jason Schonberg Date: Sat, 2 Aug 2025 19:58:12 -0400 Subject: [PATCH] nodejs: upgrade 22.16.0 -> 22.18.0 0001-build-remove-redundant-mXX-flags-for-V8.patch - fix offset and fuzz. 0001-deps-disable-io_uring-support-in-libuv.patch - update for new libuv version 1.51.0 https://github.com/nodejs/node/commit/e397980a1a License-Update: zlib version change from 1.3.0.1 to 1.3.1 https://github.com/nodejs/node/commit/efebf461313db420243717f48aaa0b97d5279580 Changelog: https://github.com/nodejs/node/releases/tag/v22.18.0 Changelog: https://github.com/nodejs/node/releases/tag/v22.17.1 Changelog: https://github.com/nodejs/node/releases/tag/v22.17.0 Signed-off-by: Jason Schonberg Signed-off-by: Khem Raj --- .../oe-npm-cache | 0 ....16.bb => nodejs-oe-cache-native_22.18.bb} | 0 ...ld-remove-redundant-mXX-flags-for-V8.patch | 6 +-- ...ps-disable-io_uring-support-in-libuv.patch | 41 +++++++++++-------- .../{nodejs_22.16.0.bb => nodejs_22.18.0.bb} | 6 +-- 5 files changed, 29 insertions(+), 24 deletions(-) rename meta-oe/recipes-devtools/nodejs/{nodejs-oe-cache-22.16 => nodejs-oe-cache-22.18}/oe-npm-cache (100%) rename meta-oe/recipes-devtools/nodejs/{nodejs-oe-cache-native_22.16.bb => nodejs-oe-cache-native_22.18.bb} (100%) rename meta-oe/recipes-devtools/nodejs/{nodejs_22.16.0.bb => nodejs_22.18.0.bb} (97%) diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.16/oe-npm-cache b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.18/oe-npm-cache similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.16/oe-npm-cache rename to meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-22.18/oe-npm-cache diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.16.bb b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.18.bb similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.16.bb rename to meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_22.18.bb diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-remove-redundant-mXX-flags-for-V8.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-remove-redundant-mXX-flags-for-V8.patch index 7841a9d7bc..b47aa564cf 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-remove-redundant-mXX-flags-for-V8.patch +++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-remove-redundant-mXX-flags-for-V8.patch @@ -25,7 +25,7 @@ Index: node-v22.16.0/tools/v8_gypfiles/toolchain.gypi =================================================================== --- node-v22.16.0.orig/tools/v8_gypfiles/toolchain.gypi +++ node-v22.16.0/tools/v8_gypfiles/toolchain.gypi -@@ -97,33 +97,6 @@ +@@ -103,33 +103,6 @@ # Indicates if gcmole tools are downloaded by a hook. 'gcmole%': 0, }, @@ -57,8 +57,8 @@ Index: node-v22.16.0/tools/v8_gypfiles/toolchain.gypi - }], - ], 'target_defaults': { - 'include_dirs': [ - '<(V8_ROOT)', + 'cflags!': ['-Wall', '-Wextra'], + 'conditions': [ @@ -553,71 +526,6 @@ '-mmmx', # Allows mmintrin.h for MMX intrinsics. ], diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch index 01ae50cdc4..50d63cf78c 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch +++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-disable-io_uring-support-in-libuv.patch @@ -14,15 +14,17 @@ Upstream-Status: Inappropriate [oe specific] Signed-off-by: Changqing Li Signed-off-by: Martin Jansa + +Updated by Jason Schonberg August 1, 2025 for nodejs 22.18.0 +which uses libuv 1.51.0 --- deps/uv/src/unix/linux.c | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/deps/uv/src/unix/linux.c b/deps/uv/src/unix/linux.c -index 803a9a9d3f0..a4735f56cf0 100644 --- a/deps/uv/src/unix/linux.c +++ b/deps/uv/src/unix/linux.c -@@ -465,34 +465,7 @@ static int uv__use_io_uring(void) { +@@ -465,36 +465,7 @@ /* See https://github.com/libuv/libuv/issues/4283. */ return 0; /* Random SIGSEGV in signal handler. */ #else @@ -31,30 +33,33 @@ index 803a9a9d3f0..a4735f56cf0 100644 - char* val; - int use; - +-#if defined(__hppa__) +- /* io_uring first supported on parisc in 6.1, functional in .51 +- * https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ +- */ +- if (uv__kernel_version() < /*6.1.51*/0x060133) +- return 0; +-#endif +- +- /* SQPOLL is all kinds of buggy but epoll batching should work fine. */ +- if (0 == (flags & UV__IORING_SETUP_SQPOLL)) +- return 1; +- +- /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */ +- if (uv__kernel_version() < /*5.10.186*/0x050ABA) +- return 0; +- - use = atomic_load_explicit(&use_io_uring, memory_order_relaxed); - - if (use == 0) { -- use = uv__kernel_version() >= --#if defined(__hppa__) -- /* io_uring first supported on parisc in 6.1, functional in .51 */ -- /* https://lore.kernel.org/all/cb912694-b1fe-dbb0-4d8c-d608f3526905@gmx.de/ */ -- /* 6.1.51 */ 0x060133 --#else -- /* Older kernels have a bug where the sqpoll thread uses 100% CPU. */ -- /* 5.10.186 */ 0x050ABA --#endif -- ? 1 : -1; -- -- /* But users can still enable it if they so desire. */ - val = getenv("UV_USE_IO_URING"); -- if (val != NULL) -- use = atoi(val) ? 1 : -1; -- +- use = val != NULL && atoi(val) > 0 ? 1 : -1; - atomic_store_explicit(&use_io_uring, use, memory_order_relaxed); - } - - return use > 0; -+ return 0; /* pseudo doesn't support io_uring https://bugzilla.yoctoproject.org/show_bug.cgi?id=15244 */ ++return 0; /* pseudo doesn't support io_uring https://bugzilla.yoctoproject.org/show_bug.cgi?id=15244 */ #endif } + diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.18.0.bb similarity index 97% rename from meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb rename to meta-oe/recipes-devtools/nodejs/nodejs_22.18.0.bb index 0663e8c52e..d2e7874a9f 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.18.0.bb @@ -1,7 +1,7 @@ DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" HOMEPAGE = "http://nodejs.org" LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=b4f41dcacabc8f07b9ca7dee2f188a00" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0c50f40949c25ef1b63d51a6ae6c6cbe" CVE_PRODUCT = "nodejs node.js" @@ -20,7 +20,7 @@ COMPATIBLE_HOST:riscv32 = "null" COMPATIBLE_HOST:powerpc = "null" COMPATIBLE_HOST:powerpc64le = "null" -SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ +SRC_URI = "https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ file://0001-Do-not-use-glob-in-deps.patch \ file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ file://0004-v8-don-t-override-ARM-CFLAGS.patch \ @@ -39,7 +39,7 @@ SRC_URI:append:class-target = " \ SRC_URI:append:toolchain-clang:powerpc64le = " \ file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \ " -SRC_URI[sha256sum] = "720894f323e5c1ac24968eb2676660c90730d715cb7f090be71a668662a17c37" +SRC_URI[sha256sum] = "120e0f74419097a9fafae1fd80b9de7791a587e6f1c48c22b193239ccd0f7084" S = "${UNPACKDIR}/node-v${PV}"