summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/nodejs
Commit message (Collapse)AuthorAgeFilesLines
...
* nodejs: use a postfunc to prune source treeRoss Burton2023-02-221-2/+2
| | | | | | | | Instead of overriding do_unpack entirely and calling into base_do_unpack, use a postfunc. This keeps the prune logic separated neatly. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: run configure.py in verbose modeRoss Burton2023-02-221-1/+1
| | | | | | | It's useful to know what configure is detecting, so pass --verbose. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: remove redundant expand=True to getVar()Ross Burton2023-02-221-6/+6
| | | | | | | The expand argument defaults to True, so there's no need to specify it. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: add Upstream-StatusMartin Jansa2023-02-183-0/+38
| | | | | | | | * unfortunately all 3 have very long unclear history, I've tried to at least partially document in commit message Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: fix do_install failure with 'shared' PACKAGECONFIGMartin Jansa2023-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tools/install.py uses: output_lib = 'libnode.' + variables.get('shlib_suffix') action([output_prefix + output_lib], variables.get('libdir') + '/'+ output_lib) and when libdir is absolute path (either ${D}${libdir} before: https://git.openembedded.org/meta-openembedded/commit/?id=42c0f0120ad1caf25118d079314c988d4633a437 or just ${libdir} "/usr/lib") it doesn't respect prefix nor ${D} and fails to write to host's directory when "shared" PACKAGECONFIG is enabled: http://errors.yoctoproject.org/Errors/Details/689959/ if [ ! -r node ] || [ ! -L node ]; then \ ln -fs out/Release/node node; fi TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/recipe-sysroot-native/usr/bin/python3-native/python3 tools/install.py install 'TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/image' '/usr' installing TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/image/usr/bin/node installing /usr/lib/libnode.so.108 Traceback (most recent call last): File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/node-v18.12.1/tools/install.py", line 351, in <module> run(sys.argv[:]) File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/node-v18.12.1/tools/install.py", line 342, in run files(install) File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/node-v18.12.1/tools/install.py", line 179, in files action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib) File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/node-v18.12.1/tools/install.py", line 77, in install try_copy(path, dst) File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/node-v18.12.1/tools/install.py", line 67, in try_copy return shutil.copy2(source_path, target_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/recipe-sysroot-native/usr/lib/python3.11/shutil.py", line 436, in copy2 copyfile(src, dst, follow_symlinks=follow_symlinks) File "TOPDIR/tmp-glibc/work/core2-64-oe-linux/nodejs/18.12.1-r0/recipe-sysroot-native/usr/lib/python3.11/shutil.py", line 258, in copyfile with open(dst, 'wb') as fdst: ^^^^^^^^^^^^^^^ PermissionError: [Errno 13] Permission denied: '/usr/lib/libnode.so.108' make: *** [Makefile:189: install] Error 1 * use just baselib "lib" so that it respects ${D} as well as ${prefix} while using e.g. lib32 or lib64 when multilib is enabled * similarly as 'node' binary is installed to relative hardcoded path "bin" with: action([output_prefix + output_file], 'bin/' + output_file) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Nodejs: fix buildpaths warningArchana Polampalli2023-02-081-1/+1
| | | | | | | | | | | | | Correct libdir used at configure time to avoid packaging warnings WARNING: nodejs-18.12.1-r0 do_package_qa: QA Issue: File /usr/bin/node in package nodejs contains reference to TMPDIR [buildpaths] File /usr/bin/.debug/node in package nodejs-dbg contains reference to TMPDIR File /usr/lib64/nodejs/ptest/.debug/cctest in package nodejs-dbg contains reference to TMPDIR [buildpaths] File /usr/lib64/nodejs/ptest/cctest in package nodejs-ptest contains reference to TMPDIR [buildpaths] File /usr/include/node/config.gypi in package nodejs-dev contains reference to TMPDIR [buildpaths] Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: add CVE_PRODUCTChen Qi2023-02-071-0/+2
| | | | | | | | Some old nodejs CVEs use 'nodejs', and recent nodejs CVEs use 'node.js'. Add CVE_PRODUCT to include both. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* meta: remove True option to getVar calls (again)Martin Jansa2023-02-011-1/+1
| | | | | | | | | | | | | * True is default since 2016 and most layers were already updated not to pass this parameter where not necessary, e.g. oe-core was updated couple times, first in: https://git.openembedded.org/openembedded-core/commit/?id=7c552996597faaee2fbee185b250c0ee30ea3b5f Updated with the same regexp as later oe-core update: https://git.openembedded.org/openembedded-core/commit/?id=9f551d588693328e4d99d33be94f26684eafcaba Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Fix build with gcc13Khem Raj2023-02-012-0/+71
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Nodejs: Upgrade to 18.12.1Archana Polampalli2023-01-255-29/+42
| | | | | | | | | | | | | | | | | | | | | Node-18 is the current LTS release, node-19 is a development release and node-20 is scheduled to be released until 2023-04-18 which is too late for YP-4.2 https://github.com/nodejs/release * Refresh below two patches - 0001-Using-native-binaries.patch - 0001-liftoff-Correct-function-signatures.patch * Copy openssl.cnf from sysroot_native to nodejs-openssl.cnf otherwise do_compile failed: make[1]: *** No rule to make target '../deps/openssl/nodejs-openssl.cnf', needed by 'Release/obj.target/deps/openssl/openssl.cnf'. Stop. * Add initial ptest support using ctest only, it covered 20% of the nodejs tests. There are some more tests exist to add but will require additional work. Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Nodejs - Upgrade to 16.18.1Archana Polampalli2022-11-186-268/+27
| | | | | | | | | * Drop Openssl legacy provider patch and install both binaries patch which are already available in 16.x * Refresh native binaries patch against 16.x base Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs-oe-cache-native: initial checkinEnrico Scholz2022-05-202-0/+98
| | | | | | | | | | | | | This implements an 'npm cache add' like functionality but allows to specify the key of the data and sets metadata which are required to find the data. It is used to cache information as done during 'npm install'. Keyformat and metadata are nodejs version specific. Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Upgrade to 16.14.2Khem Raj2022-04-202-1/+36
| | | | | | Fix build with mips32, found with gcc12 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Disable for powerpcKhem Raj2022-03-141-0/+1
| | | | | | | Fixes ../deps/v8/src/objects/code.h:564:2: error: #error Unknown architecture. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: add option to use openssl legacy providers againAndrej Valek2022-03-092-0/+152
| | | | | | | | | | | | | | | Current nodejs version v16 does not fully support new OpenSSL, so add option to use legacy provider. | opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], | library: 'digital envelope routines', | reason: 'unsupported', | code: 'ERR_OSSL_EVP_UNSUPPORTED' It was blindly removed by upgrade to 16.14.0 version Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Upgrade to 16.14.0Zoltán Böszörményi2022-03-033-207/+2
| | | | | | | Remove two upstreamed patches. Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: add option to use openssl legacy providersAndrej Valek2022-02-202-0/+166
| | | | | | | | | | | | | Current nodejs version does not fully support new OpenSSL, so add option to use legacy provider. | opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], | library: 'digital envelope routines', | reason: 'unsupported', | code: 'ERR_OSSL_EVP_UNSUPPORTED' Signed-off-by: Andrej Valek <andrej.valek@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: A little clean upPeter Kjellerstedt2022-01-181-9/+11
| | | | | | | | | | * The destination file name does not need to be specified to install if it matches the source file name (and -D is not used). * Mode 0755 does not need to be specified to install as it is the default. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Drop workaround for an absolute path in the npm shebangPeter Kjellerstedt2022-01-181-20/+0
| | | | | | | | The rewrite of the npm shebang to use an absolute path was removed in version 7.0.0. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Drop workaround for a Python 2 dependencyPeter Kjellerstedt2022-01-181-4/+0
| | | | | | | The gyp samples directory was removed in version 15.0.0. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs_16.11.1.bb: only handle npm if configuredNisha Parrakat2022-01-121-3/+6
| | | | | | | | npm-cli.js should be symlinked only when the file is present the file may not be available if the configure option is --without-npm Signed-off-by: Nisha Parrakat <nishaparrakat@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: set precise BSD licenseRoss Burton2021-11-181-1/+1
| | | | | | | "BSD" is ambiguous, use the precise licenses BSD-2-Clause and BSD-3-Clause. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: fix build without scryptMartin Jansa2021-11-012-0/+39
| | | | | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Upgrade to 16.11.1Khem Raj2021-10-209-93/+145
| | | | | | | | | | | | * This is new LTS release * Add patch to fix build on mips/mips64 * Add patch to build with new c-ares 2.17+ * Enhance native binaries patch to include additional native torque use * Drop mips-warnings.patch and python 3.10 support patch which is already available in 16.x * Refresh rest of patches against 16.x base Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Upgrade to 14.18.1Khem Raj2021-10-171-9/+5
| | | | | | | | | | License-Update: Reflect new location of gtest sources remove node-inspect from license update Acorn to v8.4.1 Use internal openssl until nodejs is fixed to work with openssl3 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: add -fpermissive BUILD_CXXFLAGSKhem Raj2021-10-161-0/+1
| | | | | | | fixes build with openssl3-native Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: add a python 3.10 compatibility patchAlexander Kanavin2021-10-142-0/+42
| | | | | Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: use -fpermissiveAlexander Kanavin2021-10-141-0/+3
| | | | | | | This resolves openssl 3.x errors until upstream addresses them properly. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Convert to new override syntaxMartin Jansa2021-08-031-18/+18
| | | | | | | | | | This is the result of automated script (0.9.1) conversion: oe-core/scripts/contrib/convert-overrides.py . converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* nodejs: Update to 14.17.1Khem Raj2021-06-183-96/+33
| | | | | | | | | | | | | Drop upstreamed v8-call-new-ListFormatter-createInstance.patch patch Add a patch for ppc64/clang to drop -mminimal-toc since clang does not have this option License-Update: URLs updated [1] and copyright owners too [2] [1] https://github.com/nodejs/node/commit/2d7e0b6912bd04b44ed652bc0f40bb343652d926#diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7 [2] https://github.com/nodejs/node/commit/b57785d89bc548c4048118606919d66dff1c7eb7#diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Enable snapshotKhem Raj2021-04-231-1/+1
| | | | | | | New build method lets mksnaphot run so thsi is no longer needed Reported-by: Kory Maincent <kory.maincent@bootlin.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Fix build with clang for x86 targetKhem Raj2021-04-212-0/+26
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Fix build on mipsKhem Raj2021-04-212-0/+33
| | | | | | | | | | | | | | | | | | | | | | 2G is too much for qemu-mips and perhaps also for real mips devices as we use qemu-usermode during build to run host pieces like mksnapshot they fail, reducing the allocation range helps Fixes | LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/lib.host:/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1 /out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/obj.target/v 8_snapshot/geni; "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/v8-qemu-wrapper.sh" "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/nod e-v14.16.1/out/Release/mksnapshot" --turbo_instruction_scheduling "--target_os=linux" "--target_arch=mips" --startup_src "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/ou t/Release/obj.target/v8_snapshot/geni/snapshot.cc" --embedded_variant Default --embedded_src "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/obj.target/v8_snap shot/geni/embedded.S" --no-native-code-counters | | # | # Fatal process OOM in CodeRange setup: allocate virtual memory | # | | /mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/v8-qemu-wrapper.sh: line 7: 2292880 Trace/breakpoint trap (core dumped) PSEUDO_UNLOAD=1 qemu-mips -r 3.2.0 - Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Use qemu usermode to run target binaries during buildKhem Raj2021-04-212-53/+74
| | | | | | | | | | | So far, we have been trying to build nodejs-native and use the native host binaries from there, which has worked out ok but always changes when major upgrade is done, since more binaries or places are required to be captured. This patch changes this approach to use qemu-user to run these binaries under during cross build. This lets them run closer to upstream build process and also removes dependency on nodejs-native Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Fix build with icu-69Khem Raj2021-04-212-0/+94
| | | | | | backport relevant v8 patch to fix the build issue Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Update to 14.16.1Khem Raj2021-04-214-85/+25
| | | | | | | | | | This is latest maintained LTS release Forward patches and drop backported patch License-Update: Update copyright year and drop license of deps/http_parser as this component is removed in this version Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: ppc64le machine supportAndrew Geissler2021-04-021-1/+1
| | | | | | | | | | Commit 836912ab changed the logic in this recipe to stop looking for "ppc64le". This caused the ppc64le systems used by me to stop working. There wasn't much in the commit message on why this change occurred but ppc64le is definitely still needed. Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: 12.20.2 -> 12.21.0Clément Péron2021-03-301-1/+1
| | | | | | | | | | Fixes : - CVE-2021-22883 - CVE-2021-22884 - CVE-2021-23840 Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Set correct nodejs arch for ppc64leKhem Raj2021-03-121-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: 12.20.1 -> 12.20.2Sean Nyekjaer2021-02-201-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: 12.19.1 -> 12.20.1Sean Nyekjaer2021-01-071-2/+2
| | | | | Signed-off-by: Sean Nyekjaer <sean@geanix.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: 12.19.0 -> 12.19.1Stacy Gaikovaia2020-12-151-1/+1
| | | | | | | | | | | | | Uprev nodejs in order to fix CVE-2020-8277. This CVE allows an attacker to trigger a DNS request for a host of their choice, which could trigger a Denial of Service in nodejs versions < 12.19.1. See https://nvd.nist.gov/vuln/detail/CVE-2020-8277 for details. CVE: CVE-2020-8277 Signed-off-by: Stacy Gaikovaia <Stacy.Gaikovaia@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Update to 12.19.0Khem Raj2020-11-021-1/+1
| | | | | | This perhaps is last release in 12.x LTS Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Fix arm32/thumb builds with clangKhem Raj2020-11-022-0/+54
| | | | | | | | | | | Backport a patch from upstream to take care of build failure e.g. | ../deps/v8/src/codegen/arm/cpu-arm.cc:38:16: error: write to reserved register 'R7' | asm volatile("svc 0\n" | ^ | 1 error generated. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Upgrade to 12.18.3Khem Raj2020-08-135-327/+14
| | | | | | | Drop already upstreamed patches use builtin uv, it does not build without it Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: Fix build with icu 67.1Khem Raj2020-05-062-0/+195
| | | | | | | Remove soon-to-be removed getAllFieldPositions Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Andrej Valek <andrej.valek@siemens.com>
* nodejs: Fix -Wc++11-narrowing on mipsKhem Raj2020-04-152-0/+20
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* node: Enable cross-compiling options and disable dtrace and etwKhem Raj2020-03-201-1/+3
| | | | | | dtrace and etw are hardly used for embedded usecase Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: install gen-regexp-special-case only when icu is enabledJaga2020-03-121-1/+3
| | | | | | | Fixes install errors when icu packageconfig is disabled Signed-off-by: Jaga <jagadheesan_duraisamy@comcast.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nodejs: allow use of system brotli (and make default)André Draszik2020-03-033-1/+113
| | | | | | | | | | | | | | Use system brotli via PACKAGECONFIG by default. So far, nodejs had been built using its embedded copy of brotli, which we generally try to avoid, for the known reasons (independent updates, cve & license checks, etc). The nodejs patches to enable this have been submitted. brotli is in meta-oe, so enabling this by default should not be a problem. Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>