subtree updates

meta-openembedded: f3cdc9d7ee..0474e0b870:
  Alexander Amelkin (1):
        ipmitool: Update links

  Bhargav Das (1):
        python3-libevdev: Add recipe for python libevdev module.

  Changqing Li (1):
        redis: upgrade 6.2.11 -> 6.2.12

  Chen Qi (1):
        frr: add CVE_PRODUCT

  Diego Dassie (2):
        paho-mqtt-c: Disable building tests
        paho-mqtt-c: Improve performance

  Fabio Estevam (1):
        lvgl: lvgl-demo-fb: Inherit features_check

  Johannes Kauffmann (2):
        open62541: allow overriding encryption providers
        open62541: disable warnings as errors

  Jun Nie (3):
        libcbor: Add initial support
        python3-pefile: Add initial support
        python3-uswid: Add initial support

  Khem Raj (27):
        gitpkgv: Fix python deprecation warning
        python3-pyzstd: Disable LTO on clang+arm
        libftdi: Remove sysroot paths from .cmake files
        libencode-perl: Remove buildpaths from generated .exh files
        libcdio: Drop need for LIBCDIO_SOURCE_PATH
        enca: Remove buildpaths from target scripts
        libirecovery: Add missing build dependency on readline
        usbmuxd: Remove recipe for 1.1.1
        usbmuxd: Updgrade to latest on master branch
        packagegroup-meta-oe: Add kpatch for glibc + x86_64 only
        packagegroup-meta-oe: Remove minicoredumper-ptest for musl
        libimobiledevice: Delete recipe for 1.3.0
        libimobiledevice: Update to latest tip
        libimobiledevice: Fix build with clang
        idevicerestore: Update to latest on master branch
        libpaper: Add recipe
        psutils: Add recipe
        nodejs: Upgrade to 18.16.0
        python3-pylint: Fix missing deps for ptests
        etcd: Inherit missing features_check
        fftw: Remove hardcoded sysroot into binaries
        lmdb: Pass CFLAGS to Makefile
        squid: Remove buildpaths from generated binaries
        libiio: Do not generate lineinfo in lex/yacc generated files
        php: Remove buildpaths from scripts and generated headers
        uw-imap: Pass CFLAGS from environment
        libmad: Add a patch to pass cflags to build

  Marcel Ziswiler (1):
        libusbgx: fix device hot-plug use case

  Marek Vasut (7):
        lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0
        lvgl: Activate custom tick implementation
        lvgl: Add configurable color depth, default to 32bpp
        lvgl: Support both fbdev and wayland backends
        lvgl: Update lvgl-demo-fb to 8.3.0
        lvgl: Upgrade dialog-lvgl to next/main version
        lvgl: Add dependency on fbdev into lvgl-demo-fb DISTRO_FEATURES

  Markus Volk (12):
        xdg-desktop-portal-wlr: update 0.6.0 -> 0.7.0
        python3-pillow: add libxcb to RDEPENDS for x11
        adw-gtk3: update 4.5 -> 4.6
        paprefs: add recipe
        imaagemagick: update 7.1.1-5 -> 7.1.1-8
        fuse3: update 3.12.0 -> 3.14.1
        gnome-software: update 44.0 -> 44.1
        gjs: update 1.75.1 -> 1.76.0
        evince: update 44.0 -> 44.1
        gdm: update 44.0 -> 44.1
        xdg-desktop-portal-gnome: update 44.0 -> 44.1
        libcamera: update 0.0.4 -> 0.0.5

  Martin Jansa (18):
        glfw: respect DISTRO_FEATURES when enabling x11 in default PACKAGECONFIG and return it to REQUIRED_DISTRO_FEATURES
        libreport: add dependency on libarchive
        libxmlb: add missing dependency on glib-2.0 and xz
        geoclue: fix build without gobject-introspection-data
        appstream: fix build without gobject-introspection-data
        ostree: fix build without gobject-introspection-data
        rdfind: fix build with -Werror=return-type
        spice-gtk: respect gobject-introspection-data
        cpulimit: fix do_install with multilib
        libnfs: fix installed-vs-shipped issues with multilib
        btrfsmaintenance: install to ${datadir}/${BPN}
        libtomcrypt: pass LIBPATH to fix installed-vs-shipped with multilib
        nanopb: fix installed-vs-shipped with multilib
        nv-codec-headers: fix installed-vs-shipped with multilib
        zfs: fix installation paths for multilib
        poppler: add dependency on glib-2.0-native
        paprefs: add x11 to REQUIRED_DISTRO_FEATURES
        etcd: don't hardcode /usr/lib in do_install

  Matija Tudan (1):
        serial: add recipe for version 1.2.1

  Ming Liu (4):
        libusbgx: uprev to the latest commit
        libusbgx: fix some systemd service conditions
        libusbgx: drop hard-coded /usr/bin,/etc
        libusbgx: check scripts in /etc/usbgx.d

  Mingli Yu (1):
        minicoredumper: correct the sysvinit service file attribute

  Petr Gotthard (4):
        strongswan: add PACKAGECONFIG for the NetworkManager module
        openfortivpn: add new recipe
        networkmanager-fortisslvpn: add new recipe
        networkmanager-openconnect: add new recipe

  Ross Burton (6):
        v4l-utils: do out-of-tree builds
        python3-ninja: simplify recipe
        libisofs: add new recipe
        libburn: move to meta-filesystems
        libisoburn: add new recipe
        xorriso: remove obsolete recipe

  Trevor Gamblin (9):
        python3-pytest-mock: Add recipe
        python3-tomlkit: Add recipe
        ptest-packagelists-meta-python: Add new tests
        python3-platformdirs: Add recipe
        python3-pylint: upgrade 2.14.5 -> 2.17.3
        python3-pylint: add ptest
        ptest-packagelists-meta-python: Add new tests
        python3-pylint: upgrade 2.17.3 -> 2.17.4
        python3-pylint: omit failing pickle test

  Vasileios Anagnostopoulos (1):
        asio: update to 1.28.0

  Wang Mingyu (74):
        abseil-cpp: upgrade 20230125.2 -> 20230125.3
        appstream: upgrade 0.16.1 -> 0.16.2
        babl: upgrade 0.1.104 -> 0.1.106
        audit: upgrade 3.1 -> 3.1.1
        boost-sml: upgrade 1.1.6 -> 1.1.8
        ctags: upgrade 6.0.20230416.0 -> 6.0.20230430.0
        eog: upgrade 44.0 -> 44.1
        gspell: upgrade 1.12.0 -> 1.12.1
        etcd-cpp-apiv3: upgrade 0.14.2 -> 0.14.3
        googlebenchmark: upgrade 1.7.1 -> 1.8.0
        hwdata: upgrade 0.369 -> 0.370
        libbpf: upgrade 1.1.0 -> 1.2.0
        iozone3: upgrade 492 -> 506
        libadwaita: upgrade 1.3.1 -> 1.3.2
        libcgi-perl: upgrade 4.56 -> 4.57
        libjs-jquery-cookie: upgrade 3.0.1 -> 3.0.5
        libmodule-build-tiny-perl: upgrade 0.043 -> 0.045
        log4cpp: upgrade 1.1.3 -> 1.1.4
        nautilus: upgrade 44.0 -> 44.1
        makedumpfile: upgrade 1.7.2 -> 1.7.3
        mg: upgrade 20230406 -> 20230501
        python3-yarl: upgrade 1.8.2 -> 1.9.2
        python3-alembic: upgrade 1.10.3 -> 1.10.4
        python3-cassandra-driver: upgrade 3.26.0 -> 3.27.0
        python3-can: upgrade 4.1.0 -> 4.2.0
        python3-astroid: upgrade 2.15.3 -> 2.15.4
        python3-argcomplete: upgrade 3.0.5 -> 3.0.8
        python3-coverage: upgrade 7.2.3 -> 7.2.5
        python3-imageio: upgrade 2.27.0 -> 2.28.1
        python3-gast: upgrade 0.5.3 -> 0.5.4
        python3-langtable: upgrade 0.0.61 -> 0.0.62
        python3-flask-socketio: upgrade 5.3.3 -> 5.3.4
        python3-elementpath: upgrade 4.1.1 -> 4.1.2
        python3-nocasedict: upgrade 2.0.0 -> 2.0.1
        python3-protobuf: upgrade 4.22.3 -> 4.22.4
        python3-pint: upgrade 0.20.1 -> 0.21
        python3-pulsectl: upgrade 22.3.2 -> 23.5.0
        python3-pika: upgrade 1.3.1 -> 1.3.2
        python3-pymisp: upgrade 2.4.170.1 -> 2.4.170.2
        python3-pyudev: upgrade 0.24.0 -> 0.24.1
        python3-regex: upgrade 2023.3.23 -> 2023.5.5
        python3-rich: upgrade 13.3.4 -> 13.3.5
        python3-smpplib: upgrade 2.2.2 -> 2.2.3
        python3-sentry-sdk: upgrade 1.20.0 -> 1.22.1
        python3-sqlalchemy: upgrade 2.0.9 -> 2.0.12
        python3-termcolor: upgrade 2.2.0 -> 2.3.0
        python3-twitter: upgrade 4.13.0 -> 4.14.0
        python3-web3: upgrade 6.2.0 -> 6.3.0
        tracker: upgrade 3.5.0 -> 3.5.1
        python3-zeroconf: upgrade 0.56.0 -> 0.62.0
        python3-xstatic: upgrade 1.0.2 -> 1.0.3
        python3-requests-toolbelt: upgrade 0.10.1 -> 1.0.0
        libimobiledevice-glue: SRCREV bump d2ff796..114098d
        libplist: upgrade 2.2.0 -> 2.3.0
        ctags: upgrade 6.0.20230430.0 -> 6.0.20230507.0
        libnet-dns-perl: upgrade 1.37 -> 1.38
        libdivecomputer: upgrade 0.7.0 -> 0.8.0
        python3-platformdirs: upgrade 3.5.0 -> 3.5.1
        python3-sympy: upgrade 1.11.1 -> 1.12
        python3-google-auth: upgrade 2.17.3 -> 2.18.0
        php: upgrade 8.2.5 -> 8.2.6
        postgresql: upgrade 15.2 -> 15.3
        python3-protobuf: upgrade 4.22.4 -> 4.23.0
        python3-pulsectl: upgrade 23.5.0 -> 23.5.1
        python3-pymisp: upgrade 2.4.170.2 -> 2.4.171
        python3-pyjwt: upgrade 2.6.0 -> 2.7.0
        python3-redis: upgrade 4.5.4 -> 4.5.5
        python3-pytest-xdist: upgrade 3.2.1 -> 3.3.0
        python3-sentry-sdk: upgrade 1.22.1 -> 1.22.2
        python3-typeguard: upgrade 3.0.2 -> 4.0.0
        python3-sqlalchemy: upgrade 2.0.12 -> 2.0.13
        python3-websockets: upgrade 11.0.2 -> 11.0.3
        xterm: upgrade 379 -> 380
        wavpack: upgrade 4.60.1 -> 5.1.0

  Xiangyu Chen (1):
        pahole: fix native package build error

  ojayanth (2):
        etcd: systemd unit support to start existing etcd node
        etcd: add systemd unit support for clustering

poky: 76cec94fad..35e5d29a7d:
  Alexander Kanavin (1):
        gcr: consider all versions, not only x.even.y

  Andrew Jeffery (1):
        Revert "ipk: Decode byte data to string in manifest handling"

  Anuj Mittal (2):
        gstreamer1.0: upgrade 1.22.0 -> 1.22.2
        vte: upgrade 0.72.0 -> 0.72.1

  Chen Qi (1):
        sqlite3: update CVE_PRODUCT

  Frederic Martinsons (1):
        ptest-cargo.bbclass: add the possibility to define test arguments

  Khem Raj (3):
        musl: Update to 1.2.4 release
        cpio: Run ptests under ptest user
        python3-requests: Upgrade to 2.30.0

  Luca Ceresoli (2):
        ref-manual: classes: kernel: remove incorrect sentence opening
        ref-manual: classes: kernel: document automatic defconfig usage

  Martin Jansa (1):
        populate_sdk_base.bbclass: respect MLPREFIX for ptest-pkgs's ptest-runner

  Michael Opdenacker (2):
        migration-guides: start of 4.3 migration and release notes
        ref-manual: document FIT_ADDRESS_CELLS

  Paul Gortmaker (1):
        yocto-bsp: drop MIPS Edgerouter support

  Qiu Tingting (1):
        e2fsprogs: fix ptest bug for second running

  Richard Purdie (5):
        migration/release-notes-4.3: Add extra notes
        qemu: Update ppc instruction fix to match revised upstream version
        glib-networking: Add test retry to avoid failures
        glib-networking: Correct glib error handling in test patch
        qemu: Further updates to the ppc patch after upstream discussion

  Ross Burton (6):
        gdb: fix crashes when debugging threads with Arm Pointer Authentication enabled
        Revert "ffmpeg: move ffmpeg config into packageconfig"
        ffmpeg: add v4l2 PACKAGECONFIG
        python3: use libedit instead of readline
        python3: clean up PACKAGECONFIG
        python3: use system expat

  Tim Orling (2):
        python3-urllib3: upgrade 1.26.15 -> 2.0.2
        python3-attrs: upgrade 22.2.0 -> 23.1.0

  Trevor Gamblin (3):
        python3-trove-classifiers: Add recipe
        python3-hatchling: upgrade 1.13.0 -> 1.14.1
        python3-calver: Add recipe

  Zang Ruochen (1):
        elfutils: upgrade 0.188 -> 0.189

  nikhil (1):
        tiff: Remove unused patch from tiff

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I5304cb7a7ca3c09a110f52fa5b2844f5f00f4851
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
new file mode 100644
index 0000000..06631f2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
@@ -0,0 +1,185 @@
+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=0be148d0e7298c5c94f7501affafbce5"
+
+CVE_PRODUCT = "nodejs node.js"
+
+DEPENDS = "openssl file-replacement-native"
+DEPENDS:append:class-target = " qemu-native"
+DEPENDS:append:class-native = " c-ares-native"
+
+inherit pkgconfig python3native qemu ptest
+
+COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*"
+
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:powerpc = "null"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
+           file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
+           file://0004-v8-don-t-override-ARM-CFLAGS.patch \
+           file://big-endian.patch \
+           file://mips-less-memory.patch \
+           file://system-c-ares.patch \
+           file://0001-liftoff-Correct-function-signatures.patch \
+           file://0001-mips-Use-32bit-cast-for-operand-on-mips32.patch \
+           file://run-ptest \
+           "
+
+SRC_URI:append:class-target = " \
+           file://0001-Using-native-binaries.patch \
+           "
+SRC_URI:append:toolchain-clang:x86 = " \
+           file://libatomic.patch \
+           "
+SRC_URI:append:toolchain-clang:powerpc64le = " \
+           file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
+           "
+SRC_URI[sha256sum] = "33d81a233e235a509adda4a4f2209008d04591979de6b3f0f67c1c906093f118"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+def map_nodejs_arch(a, d):
+    import re
+
+    if   re.match('i.86$', a): return 'ia32'
+    elif re.match('x86_64$', a): return 'x64'
+    elif re.match('aarch64$', a): return 'arm64'
+    elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64'
+    elif re.match('powerpc$', a): return 'ppc'
+    return a
+
+ARCHFLAGS:arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
+                 ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
+                    bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
+                    bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
+                    '--with-arm-fpu=vfp', d), d), d)}"
+ARCHFLAGS:append:mips = " --v8-lite-mode"
+ARCHFLAGS:append:mipsel = " --v8-lite-mode"
+ARCHFLAGS ?= ""
+
+PACKAGECONFIG ??= "ares brotli icu zlib"
+
+PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
+PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
+PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
+PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
+PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
+PACKAGECONFIG[shared] = "--shared"
+PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
+
+# We don't want to cross-compile during target compile,
+# and we need to use the right flags during host compile,
+# too.
+EXTRA_OEMAKE = "\
+    CC.host='${CC}' \
+    CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \
+    CXX.host='${CXX}' \
+    CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \
+    LDFLAGS.host='${LDFLAGS}' \
+    AR.host='${AR}' \
+    \
+    builddir_name=./ \
+"
+
+EXTRANATIVEPATH += "file-native"
+
+python prune_sources() {
+    import shutil
+
+    shutil.rmtree(d.getVar('S') + '/deps/openssl')
+    if 'ares' in d.getVar('PACKAGECONFIG'):
+        shutil.rmtree(d.getVar('S') + '/deps/cares')
+    if 'brotli' in d.getVar('PACKAGECONFIG'):
+        shutil.rmtree(d.getVar('S') + '/deps/brotli')
+    if 'libuv' in d.getVar('PACKAGECONFIG'):
+        shutil.rmtree(d.getVar('S') + '/deps/uv')
+    if 'nghttp2' in d.getVar('PACKAGECONFIG'):
+        shutil.rmtree(d.getVar('S') + '/deps/nghttp2')
+    if 'zlib' in d.getVar('PACKAGECONFIG'):
+        shutil.rmtree(d.getVar('S') + '/deps/zlib')
+}
+do_unpack[postfuncs] += "prune_sources"
+
+# V8's JIT infrastructure requires binaries such as mksnapshot and
+# mkpeephole to be run in the host during the build. However, these
+# binaries must have the same bit-width as the target (e.g. a x86_64
+# host targeting ARMv6 needs to produce a 32-bit binary). Instead of
+# depending on a third Yocto toolchain, we just build those binaries
+# for the target and run them on the host with QEMU.
+python do_create_v8_qemu_wrapper () {
+    """Creates a small wrapper that invokes QEMU to run some target V8 binaries
+    on the host."""
+    qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'),
+                    d.expand('${STAGING_DIR_HOST}${base_libdir}')]
+    qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'),
+                                    qemu_libdirs)
+    wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh')
+    with open(wrapper_path, 'w') as wrapper_file:
+        wrapper_file.write("""#!/bin/sh
+
+# This file has been generated automatically.
+# It invokes QEMU to run binaries built for the target in the host during the
+# build process.
+
+%s "$@"
+""" % qemu_cmd)
+    os.chmod(wrapper_path, 0o755)
+}
+
+do_create_v8_qemu_wrapper[dirs] = "${B}"
+addtask create_v8_qemu_wrapper after do_configure before do_compile
+
+LDFLAGS:append:x86 = " -latomic"
+
+CROSS_FLAGS = "--cross-compiling"
+CROSS_FLAGS:class-native = "--no-cross-compiling"
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
+do_configure () {
+    GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+    # $TARGET_ARCH settings don't match --dest-cpu settings
+    python3 configure.py --verbose --prefix=${prefix} \
+               --shared-openssl \
+               --without-dtrace \
+               --without-etw \
+               --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+               --dest-os=linux \
+               --libdir=${baselib} \
+               ${CROSS_FLAGS} \
+               ${ARCHFLAGS} \
+               ${PACKAGECONFIG_CONFARGS}
+}
+
+do_compile () {
+    install -D ${RECIPE_SYSROOT_NATIVE}/etc/ssl/openssl.cnf ${B}/deps/openssl/nodejs-openssl.cnf
+    install -D ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh
+    oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+    oe_runmake install DESTDIR=${D}
+}
+
+do_install_ptest () {
+    cp -r  ${B}/out/Release/cctest ${D}${PTEST_PATH}/
+    cp -r ${B}/test ${D}${PTEST_PATH}
+    chown -R root:root ${D}${PTEST_PATH}
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES:${PN}-npm = "${nonarch_libdir}/node_modules ${bindir}/npm ${bindir}/npx ${bindir}/corepack"
+RDEPENDS:${PN}-npm = "bash python3-core python3-shell python3-datetime \
+    python3-misc python3-multiprocessing"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES:${PN}-systemtap = "${datadir}/systemtap"
+
+BBCLASSEXTEND = "native"