From c8883ac7890ebe32a9aa243e08668d3cf77f2bd9 Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Thu, 16 Jan 2020 02:29:06 +0200 Subject: [PATCH] nodejs: avoid FICLONE ioctl Issue https://github.com/termux/termux-packages/issues/4664. 19824 ioctl(29, BTRFS_IOC_CLONE or FICLONE, 34 19823 fstat64(30, 19822 write(16, "\1\0\0\0\0\0\0\0", 8 19821 close(31 19804 <... epoll_pwait resumed>[{EPOLLIN, {u32=16, u64=16}}], 1024, 867, NULL, 8) = 1 19824 <... ioctl resumed>) = -1 EACCES (Permission denied) --- packages/nodejs/avoid-ficlone-ioctl.patch | 20 ++++++++++++++++++++ packages/nodejs/build.sh | 1 + 2 files changed, 21 insertions(+) create mode 100644 packages/nodejs/avoid-ficlone-ioctl.patch diff --git a/packages/nodejs/avoid-ficlone-ioctl.patch b/packages/nodejs/avoid-ficlone-ioctl.patch new file mode 100644 index 0000000000..bbb6e309f8 --- /dev/null +++ b/packages/nodejs/avoid-ficlone-ioctl.patch @@ -0,0 +1,20 @@ +diff -uNr node-v13.0.0/deps/uv/src/unix/fs.c node-v13.0.0.mod/deps/uv/src/unix/fs.c +--- node-v13.0.0/deps/uv/src/unix/fs.c 2019-10-22 17:23:28.000000000 +0300 ++++ node-v13.0.0.mod/deps/uv/src/unix/fs.c 2020-01-16 02:27:44.944603915 +0200 +@@ -1048,6 +1048,7 @@ + goto out; + } + ++#ifndef __ANDROID__ + #ifdef FICLONE + if (req->flags & UV_FS_COPYFILE_FICLONE || + req->flags & UV_FS_COPYFILE_FICLONE_FORCE) { +@@ -1072,7 +1073,7 @@ + goto out; + } + #endif +- ++#endif + bytes_to_send = src_statsbuf.st_size; + in_offset = 0; + while (bytes_to_send != 0) { diff --git a/packages/nodejs/build.sh b/packages/nodejs/build.sh index 0697cdbfc2..3d49c48cbb 100644 --- a/packages/nodejs/build.sh +++ b/packages/nodejs/build.sh @@ -2,6 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://nodejs.org/ TERMUX_PKG_DESCRIPTION="Platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_VERSION=13.0.0 +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=https://nodejs.org/dist/v${TERMUX_PKG_VERSION}/node-v${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_SHA256=45ff3b40afc3fc93fd62e31c0f5dfa046f307f0b33d0f32e09019f306bc74767 # Note that we do not use a shared libuv to avoid an issue with the Android