subtree updates

poky: ee0d001b81..4161dbbbd6:
  Aatir Manzur (1):
        docs: add CONVERSION_CMD definition

  Ahmed Hossam (1):
        insane.bbclass: host-user-contaminated: Correct per package home path

  Alejandro Hernandez Samaniego (1):
        package.bbclass: Fix base directory for debugsource files when using externalsrc

  Alex Kiernan (1):
        python3-cryptography: Cleanup DEPENDS/RDEPENDS

  Alexander Kanavin (53):
        mesa: update 22.0.3 -> 22.1.2
        python3-numpy: update 1.22.3 -> 1.22.4
        python3-setuptools: update 62.3.2 -> 62.5.0
        vulkan: upgrade 1.3.211.0 -> 1.3.216.0
        lttng-modules: update 2.13.3 -> 2.13.4
        go: update 1.18.2 -> 1.18.3
        ell: update 0.50 -> 0.51
        libdrm: update 2.4.110 -> 2.4.111
        diffoscope: upgrade 215 -> 216
        dos2unix: upgrade 7.4.2 -> 7.4.3
        librsvg: upgrade 2.54.3 -> 2.54.4
        puzzles: upgrade to latest revision
        sudo: upgrade 1.9.10 -> 1.9.11p2
        wireless-regdb: upgrade 2022.04.08 -> 2022.06.06
        x264: upgrade to latest revision
        python3-requests: upgrade 2.27.1 -> 2.28.0
        oeqa/sdk: drop the nativesdk-python 2.x test
        python3-hatch-vcs: fix upstream version check
        at: take tarballs from debian
        pango: exclude 1.9x versions which are 2.x pre-releases.
        adwaita-icon-theme: upgrade 41.0 -> 42.0
        rust: update 1.60.0 -> 1.62.0
        weston: update 10.0.0 -> 10.0.1
        python3-setuptools-scm: upgrade 6.4.2 -> 7.0.3
        waffle: correctly request wayland-scanner executable
        openssl: update 3.0.4 -> 3.0.5
        diffoscope: upgrade 216 -> 217
        glib-2.0: upgrade 2.72.2 -> 2.72.3
        glib-networking: upgrade 2.72.0 -> 2.72.1
        gstreamer1.0: upgrade 1.20.2 -> 1.20.3
        harfbuzz: upgrade 4.3.0 -> 4.4.1
        kmod: upgrade 29 -> 30
        libsoup: upgrade 3.0.6 -> 3.0.7
        mesa: upgrade 22.1.2 -> 22.1.3
        mpg123: upgrade 1.29.3 -> 1.30.0
        nghttp2: upgrade 1.47.0 -> 1.48.0
        piglit: upgrade to latest revision
        pulseaudio: upgrade 16.0 -> 16.1
        python3-cffi: upgrade 1.15.0 -> 1.15.1
        python3-cryptography: upgrade 37.0.2 -> 37.0.3
        python3-cryptography-vectors: upgrade 37.0.2 -> 37.0.3
        python3-hatchling: upgrade 1.3.0 -> 1.3.1
        python3-hypothesis: upgrade 6.46.11 -> 6.48.2
        python3-jsonschema: upgrade 4.6.0 -> 4.6.1
        python3-mako: upgrade 1.2.0 -> 1.2.1
        python3-pycryptodomex: upgrade 3.14.1 -> 3.15.0
        python3-requests: upgrade 2.28.0 -> 2.28.1
        python3-setuptools: upgrade 62.5.0 -> 62.6.0
        python3-sphinx: upgrade 5.0.0 -> 5.0.2
        xcb-proto: upgrade 1.15 -> 1.15.2
        procps: restrict version check to 3.x
        ncurses: mark upstream version as unknown
        wayland: update 1.20.0 -> 1.21.0

  Alexandre Belloni (1):
        oeqa/selftest/bbtests: Update message lookup for test_git_unpack_nonetwork_fail

  Aryaman Gupta (5):
        buildstats.py: enable collection of /proc/pressure data
        pybootchartgui: render cpu and io pressure
        buildstats.bbclass: correct sampling of system stats
        buildstats.py: close /proc/pressure/cpu file descriptor
        buildperf/base.py: skip reduced_proc_pressure directory

  Bruce Ashfield (29):
        perf: fix reproducibility in 5.19+
        linux-yocto/5.10: update to v5.10.121
        linux-yocto/5.15: update to v5.15.46
        linux-yocto/5.15: update to v5.15.48
        linux-yocto/5.10: update to v5.10.123
        linux-yocto-dev: bump to v5.19-rc
        linux-yocto/5.15: drop obselete GPIO sysfs ABI
        lttng-modules: fix 5.19+ build
        kernel-devsrc: fix reproducibility and buildpaths QA warning
        linux-yocto/5.15: update to v5.15.52
        linux-yocto/5.10: update to v5.10.128
        kernel-devsrc: ppc32: fix reproducibility
        linux-yocto/5.15: fix qemuppc buildpaths warning
        linux-yocto/5.15: fix build_OID_registry buildpaths warning
        yocto-bsps: update to v5.10.128 and buildpaths fixes
        yocto-bsps: update to v5.15.52 and buildpaths fixes
        linux-yocto/5.10: fix build_OID_registry/conmakehash buildpaths warning
        linux-yocto/5.10: fix buildpaths issue with gen-mach-types
        linux-yocto/5.15: fix buildpaths issue with gen-mach-types
        yocto-bsps/5.10: fix buildpaths issue with gen-mach-types
        yocto-bsps/5.15: fix buildpaths issue with gen-mach-types
        linux-yocto/5.15: update to v5.15.54
        linux-yocto/5.15: fix buildpaths issue with pnmtologo
        linux-yocto/5.10: update to v5.10.130
        linux-yocto/5.10: fix buildpaths issue with pnmtologo
        yocto-bsps/5.10: fix buildpaths issue with pnmtologo
        yocto-bsps/5.15: fix buildpaths issue with pnmtologo
        yocto-bsps: update to v5.15.54
        yocto-bsps: update to v5.10.130

  Christoph Lauer (1):
        package.bbclass: Avoid stripping signed kernel modules in splitdebuginfo

  David Bagonyi (1):
        sanity.bbclass: Add ftps to accepted URI protocols for mirrors sanity

  Dmitry Baryshkov (1):
        linux-firmware: upgrade 20220509 -> 20220610

  Enrico Scholz (6):
        npm: replace 'npm pack' call by 'tar czf'
        npm: return content of 'package.json' in 'npm_pack'
        npm: take 'version' directly from 'package.json'
        npm: disable 'audit' + 'fund'
        lib:npm_registry: initial checkin
        npm: use npm_registry to cache package

  Federico Pellegrin (1):
        signing-keys: fix RDEPENDS to signing-keys-dev

  Gennaro Iorio (1):
        bitbake: fetch2: gitsm: fix incorrect handling of git submodule relative urls

  He Zhe (1):
        curl: Fix build failure for qemuriscv64

  Jacob Kroon (1):
        bitbake: bitbake-user-manual: Correct description of the ??= operator

  Jose Quaresma (3):
        archiver: don't use machine variables in shared recipes
        sstate: Use the python3 ThreadPoolExecutor instead of the OE ThreadedPool
        oe/utils: remove the ThreadedPool

  Joshua Watt (1):
        classes/create-spdx: Add SPDX_PRETTY option

  Kai Kang (1):
        glibc-tests: not clear BBCLASSEXTEND

  Khem Raj (2):
        libmodule-build-perl: Use env utility to find perl interpreter
        ltp: Remove -mfpmath=sse on x86

  Luca Ceresoli (1):
        llvm: add PACKAGECONFIG[optviewer]

  Lucas Stach (1):
        perf: sort-pmuevents: really keep array terminators

  Marius Kriegerowski (1):
        scriptutils: fix style to be more PEP8 compliant

  Marta Rybczynska (2):
        cve-check: add support for Ignored CVEs
        oeqa/selftest/cve_check: add tests for Ignored and partial reports

  Martin Jansa (3):
        mesa: backport a patch to support compositors without zwp_linux_dmabuf_v1 again
        wic: fix WicError message
        bitbake: fetch2/git: show SRCREV and git repo in error message about fixed SRCREV

  Maxime Roussin-Bélanger (1):
        libffi: fix native build being not portable

  Michael Halstead (2):
        releases: include 3.1.17
        releases: include 4.0.2

  Michael Opdenacker (18):
        rootfs-postcommands.bbclass: correct comments
        dev-manual: mention the new CVE patch metrics page
        dev-manual: fix references to BitBake user manual
        docs: standards.md: add more rules: line wrapping and variables
        doc: standard for bulleted lists
        ref-manual: add description for the "sysroot" term
        manuals: update host tool requirements
        ref-manual: document SSTATE_EXCLUDEDEPS_SYSROOT
        ref-manual: document SYSTEMD_DEFAULT_TARGET
        ref-manual: IMAGE_FEATURES: add allow-root-login and correct allow-empty-password
        ref-manual: correct description of empty-root-passwd in IMAGE_FEATURES
        bitbake: doc: bitbake-user-manual: add explicit target for crates fetcher
        bitbake: doc: bitbake-user-manual: document npm and npmsw fetchers
        dev-manual: NPM packages: minor grammar fix
        manuals: switch to the sstate mirror shared between all versions
        manuals: replace hyphens with em dashes
        dev-manual: update section about creating NPM packages
        dev-manual: improve screenshot resolution

  Ming Liu (3):
        udev-extraconf: fix some systemd automount issues
        meta: introduce UBOOT_MKIMAGE_KERNEL_TYPE
        udev-extraconf:mount.sh: fix path mismatching issues

  Mingli Yu (1):
        vim: not adjust script pathnames for native scripts either

  Muhammad Hamza (6):
        initramfs-framework: move storage mounts to actual rootfs
        udev-extraconf/mount.sh: add LABELs to mountpoints
        udev-extraconf/mount.sh: save mount name in our tmp filecache
        udev-extraconf/mount.sh: only mount devices on hotplug
        udev-extraconf: force systemd-udevd to use shared MountFlags
        udev-extraconf/mount.sh: ignore lvm in automount

  Nick Potenski (1):
        systemd: systemd-systemctl: Support instance conf files during enable

  Ola x Nilsson (1):
        bitbake: ConfHandler: Remove lingering close

  Pascal Bach (1):
        bin_package: install into base_prefix

  Paul Eggleton (4):
        devtool: ignore pn- overrides when determining SRC_URI overrides
        patch: handle if S points to a subdirectory of a git repo
        devtool: finish: handle patching when S points to subdir of a git repo
        oe-selftest: devtool: test modify git recipe building from a subdir

  Paulo Neves (14):
        python: Avoid shebang overflow on python-config.py
        gtk-doc: Fix potential shebang overflow on gtkdoc-mkhtml2
        ref-manual: SYSTEMD_SERVICE allows multiple services
        ref-manual: SYSTEMD_SERVICE overrides depend on SYSTEMD_PACKAGES
        insane.bbclass: Make do_qa_staging check shebangs
        oeqa/selftest: Add test for shebang overflow
        oeqa/selftest: Test staged .la and .pc files
        utils: Add cmdline_shebang_wrapper util.
        libcheck: Fix too long shebang for native case.
        utils: create_cmdline_shebang_wrapper whitespace and sed refactor
        utils: create_cmdline_shebang_wrapper preserve permission and ownership
        oeqa/sysroot.py: Check bitbake return status
        bitbake: fetch: bb.fatal when trying to checksum non-existing files
        oeqa: test_invalid_recipe_src_uri expect parse time error

  Pavel Zhukov (4):
        systemd: Add missed sys/file.h includes for musl
        systemd: Rebase patches on v251
        bitbake: tests/fetch: Add test for broken mirror tarball
        systemd: update upstream status of merged patches

  Peter Bergin (2):
        systemd: add packageconfig for sysext
        rust: fix issue building cross-canadian tools for aarch64 on x86_64

  Peter Kjellerstedt (2):
        ref-manual: Add documentation for INCOMPATIBLE_LICENSE_EXCEPTIONS
        base.bbclass: Correct the test for obsolete license exceptions

  Peter Marko (1):
        alsa-state: correct license

  Pgowda (1):
        binutils : CVE-2019-1010204

  Quentin Schulz (3):
        docs: releases: move hardknott and honister to outdated section
        docs: conf.py: bump minimum Sphinx version requirement
        Revert "docs: conf.py: fix cve extlinks caption for sphinx <4.0"

  Raju Kumar Pothuraju (2):
        runqemu: add QB_KERNEL_CMDLINE
        kernel-uboot.bbclass: Use vmlinux.initramfs when INITRAMFS_IMAGE_BUNDLE set

  Richard Purdie (42):
        gcc-source: Fix incorrect task dependencies from ${B}
        vim: Upgrade 8.2.5034 -> 8.2.5083
        local.conf.sample: Update sstate url to new 'all' path
        ref/dev-manual: Update multiconfig documentation
        oeqa/runtime/scp: Disable scp test for dropbear
        unzip: Port debian fixes for two CVEs
        elfutils/flex: Disable parallel make ptest compile
        bitbake: server/process: Fix logging issues where only the first message was displayed
        coreutils: Tweak packaging variable names for coreutils-dev
        packagegroup-core-ssh-dropbear: Add openssh-sftp-server recommendation
        bitbake.conf/recipes: Introduce add DEV_PKG_DEPENDENCY to change RDEPENDS:${PN}-dev
        bitbake.conf: Change -dev RDEPENDS to RRECOMMENDS
        vim: 8.2.5083 -> 9.0.0005
        ncurses: 6.3 -> 6.3+20220423
        oe-selftest-image: Ensure the image has sftp as well as dropbear
        cve-extra-exclusions: Clean up and ignore three CVEs (2xqemu and nasm)
        openssl: Upgrade 3.0.3 -> 3.0.4
        insane: Fix buildpaths test to work with special devices
        go: Filter build paths on staticly linked arches
        glibc-tests: Avoid reproducibility issues
        gperf: Add a patch to work around reproducibility issues
        bitbake: ConfHandler/BBHandler: Improve comment error messages and add tests
        icon-naming-utils: Resurrect for sato-icon-theme
        sato-icon-theme: Add back with support for scalable icons
        lua: Fix multilib buildpath reproducibility issues
        vala: Fix on target wrapper buildpaths issue
        gtk-doc: Remove hardcoded buildpath
        gperf: Switch to upstream patch
        qemu: Avoid accidental librdmacm linkage
        kernel-arch: Fix buildpaths leaking into external module compiles
        qemu: Fix slirp determinism issue
        qemu: Add PACKAGECONFIG for brlapi
        gcc-runtime: Fix build when using gold
        insane: Add buildpaths to WARN_QA by default
        insane: Reword staging to refer to populate_sysroot
        bitbake: fetch2: Ensure directory exists before creating symlink
        bitbake: fetch2: Drop DL_DIR fallback for local file fetcher
        oeqa/selftest/sstatetests: Update test to work with bitbake changes
        gcc-runtime: Fix missing MLPREFIX in debug mappings
        insane: Drop debug exclusion from buildpaths test
        selftest/runtime_test/virgl: Disable for all almalinux
        local.conf.sample: Mention other MACHINE options may exist

  Robert Joslyn (1):
        curl: Update to 7.84.0

  Ross Burton (24):
        python3: fix a race condition in the test_socket.testSockName test
        Add python3-editables (from meta-python)
        Add python3-pathspec (from meta-python)
        Add python3-hatchling (from meta-oe)
        python3-hatch-vcs: add new recipe
        python3-jsonschema: upgrade 4.5.1 -> 4.6.0
        package_manager: Change complementary package handling to not include soft dependencies
        cups: ignore CVE-2022-26691
        cve-check: hook cleanup to the BuildCompleted event, not CookerExit
        busybox: fix CVE-2022-30065
        ncurses: use GitHub mirror, not Debian's packaging
        ltp: remove open-posix-testsuite build logs
        tiff: backport the fix for CVE-2022-2056, CVE-2022-2057, and CVE-2022-2058
        perl: don't install Makefile.old into perl-ptest
        vim: upgrade to 9.0.0021
        ltp: fix builds when host ld doesn't know about target ELF formats
        python3-setuptools-scm: add missing python3-typing-extensions dependency
        python3-flit-core: bootstrap explicitly
        python3-installer: bootstrap by installing installer with installer
        python3-picobuild: add new recipe
        python_pep517: use picobuild instead of manually calling the API
        classes: remove obsolete PEP517_BUILD_API
        python3-hatchling: remove PEP517_BUILD_API
        documentation: remove obsolete PEP517_BUILD_API

  Steve Sakoman (3):
        qemu: add PACKAGECONFIG for capstone
        qemu: Avoid accidental libvdeplug linkage
        ruby: add PACKAGECONFIG for capstone

  Sundeep KOKKONDA (2):
        glibc: stable 2.35 branch updates
        binutils : stable 2.38 branch updates

  Thomas Perrot (1):
        opensbi: Update to v1.1

  Thomas Roos (1):
        recipetool/devtool: Fix python egg whitespace issues in PACKAGECONFIG

  Xu Huan (2):
        python3: upgrade 3.10.4 -> 3.10.5
        python3-magic: upgrade 0.4.26 -> 0.4.27

  Yi Zhao (2):
        popt: fix override syntax in RDEPENDS
        git: fix override syntax in RDEPENDS

  Yogesh Tyagi (2):
        testimage : remove curl-ptest from rpm index
        curl : Add ptest

  Yue Tao (1):
        gnupg: upgrade to 2.3.7 to fix CVE-2022-34903

  Yulong (Kevin) Liu (1):
        python3-pyasn1: Eliminated ptest deprecation warnings

  aatir (1):
        docs: make DISTRO_FEATURES description more explicit

  niko.mauno@vaisala.com (3):
        ptest.bbclass: Honor PARALLEL_MAKE, PARALLEL_MAKEINST
        valgrind: Drop redundant oe_runmake parameter
        strace: Drop redundant oe_runmake parameter

  pgowda (1):
        gcc: Backport a fix for gcc bug 105039

  ssuesens (3):
        weston.py: added xwayland test
        weston.init: enabled xwayland
        xwayland.weston-start: adaption of X11-unix folder

  wangmy (57):
        btrfs-tools: upgrade 5.18 -> 5.18.1
        ethtool: upgrade 5.17 -> 5.18
        file: upgrade 5.41 -> 5.42
        libx11: upgrade 1.8 -> 1.8.1
        lighttpd: upgrade 1.4.64 -> 1.4.65
        gnu-config: update to latest version
        musl-obstack: upgrade 1.1 -> 1.2
        piglit: upgrade to latest revision
        stress-ng: upgrade 0.14.01 -> 0.14.02
        erofs-utils: upgrade 1.4 -> 1.5
        alsa-lib: upgrade 1.2.7 -> 1.2.7.1
        alsa-plugins: upgrade 1.2.6 -> 1.2.7.1
        alsa-ucm-conf: upgrade 1.2.7 -> 1.2.7.1
        bind: upgrade 9.18.3 -> 9.18.4
        kbd: upgrade 2.5.0 -> 2.5.1
        libproxy: upgrade 0.4.17 -> 0.4.18
        python3-dbusmock: upgrade 0.27.5 -> 0.28.0
        sbc: upgrade 1.5 -> 2.0
        strace: upgrade 5.17 -> 5.18
        python3-chardet: upgrade 4.0.0 -> 5.0.0
        python3-importlib-metadata: upgrade 4.11.4 -> 4.12.0
        python3-babel: upgrade 2.10.1 -> 2.10.3
        python3-certifi: upgrade 2022.5.18.1 -> 2022.6.15
        python3-dbusmock: upgrade 0.28.0 -> 0.28.1
        python3-numpy: upgrade 1.22.4 -> 1.23.0
        python3-pycryptodome: upgrade 3.14.1 -> 3.15.0
        dmidecode: upgrade 3.3 -> 3.4
        git: upgrade 2.36.1 -> 2.37.0
        harfbuzz: upgrade 4.3.0 -> 4.4.0
        speexdsp: upgrade 1.2.0 -> 1.2.1
        speex: upgrade 1.2.0 -> 1.2.1
        repo: upgrade 2.26 -> 2.27
        sqlite3: upgrade 3.38.5 -> 3.39.0
        sudo: upgrade 1.9.11p2 -> 1.9.11p3
        createrepo-c: upgrade 0.20.0 -> 0.20.1
        gst-devtools: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-libav: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-omx: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-plugins-bad: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-plugins-base: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-plugins-good: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-plugins-ugly: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-python: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-rtsp-server: upgrade 1.20.2 -> 1.20.3
        gstreamer1.0-vaapi: upgrade 1.20.2 -> 1.20.3
        inetutils: upgrade 2.2 -> 2.3
        python3-atomicwrites: upgrade 1.4.0 -> 1.4.1
        python3-cryptography: upgrade 37.0.3 -> 37.0.4
        python3-cryptography-vectors: upgrade 37.0.3 -> 37.0.4
        python3-hatchling: upgrade 1.3.1 -> 1.5.0
        python3-imagesize: upgrade 1.3.0 -> 1.4.1
        python3-jsonschema: upgrade 4.6.1 -> 4.7.1
        python3-numpy: upgrade 1.23.0 -> 1.23.1
        python3-typing-extensions: upgrade 4.2.0 -> 4.3.0
        python3-urllib3: upgrade 1.26.9 -> 1.26.10
        init-system-helpers: upgrade 1.63 -> 1.64
        dpkg: upgrade 1.21.8 -> 1.21.9

meta-security: 8c6fe006a1..7ad5f6a9da:
  Armin Kuster (32):
        apparmor: fix ownership issues
        sssd:move to dynamic networking-layer
        layer.conf:add meta-netorking to BBFILES_DYNAMIC
        packagegroup-core-security: drop sssd
        packagegroup-core-security.bbappend: add sssd
        oeqa: fix checksec runtime test
        sssd: use example conf file
        oeqa: sssd.py fix tests
        sssd: update to 2.7.1
        security-test-image: auto include layers if present.
        smack-test: more py3 covertion
        oeqa: update smack runtime test
        aide: add a few more config options
        oeqa: add aide test
        libmhash: add native pkg support
        classes: add aide routines
        aide: add native support for build time db creation
        aide.conf: adjust to allow for build time db creation
        firejail: Add new package
        oeqa: Add a very basic firejail test
        packagegroup-core-security: add firejail
        security-test-image: add firejail and aide test suites
        oeqa/clamav drop depricated --list-mirror test
        oeqa: meta-tpm shut swtpm down before and after testing
        oeqa: shut done swtpm before and after testing
        ccs-tools: update to 1.8.9
        lynis: update to 3.0.8
        README: update email address
        packagegroup-core-security: skip mips firejail
        chipsec: update to 1.8.5
        security-build-image: add lkrg-module to build image
        lkrg: update to 0.9.3

  Jeremy A. Puhlman (2):
        clamav: make install owner match the added user name
        python3-privacyidea: add correct path to lib/privacyidea

  Jose Quaresma (1):
        meta-integrity: kernel-modsign: prevents splitting out debug symbols

  Yi Zhao (1):
        aide: fix typo

meta-openembedded: 11df15765c..31c10bd3e6:
  Adrian Freihofer (3):
        firewalld: update to 1.1.1 fixes ptest
        firewalld: upgrade 1.1.1 -> 1.2.0
        libqmi: upgrade 1.30.4 -> 1.30.8

  Akash Hadke (2):
        ntfs-3g-ntfsprogs: Set CVE_PRODUCT to "tuxera:ntfs-3g"
        iperf: Set CVE_PRODUCT to "iperf_project:iperf"

  Alex Kiernan (2):
        jansson: Upgrade 2.13.1 -> 2.14
        nftables: Upgrade 1.0.2 -> 1.0.4

  Alex Stewart (1):
        openvpn: distribute sample-config-files

  Andreas Müller (1):
        glmark2: Build with meson

  Andrej Valek (1):
        poco: upgrade 1.11.3 -> 1.12.0

  Andrew Davis (1):
        libsdl: The libsdl and libsdl2 are not virtual

  Ashish Sharma (1):
        netserver: don't change permissions on /dev/null

  Aurélien Bertron (1):
        fix(syslog-ng): warning about conf version

  Bartosz Golaszewski (1):
        python3-pybluez: fix a runtime issue with python 3.10

  Ben Powell (1):
        python3-can: Add typing-extensions dependency

  Changqing Li (3):
        chrony: create /var/lib/chrony by systemd-tmpfiles
        redis: upgrade 6.2.6 -> 6.2.7
        redis: upgrade 7.0.0 to 7.0.2

  Chen Qi (2):
        apache2: split out a new package apache2-utils
        ntfs-3g-ntfsprogs: upgrade to 2022.5.17

  Daide Li (1):
        python3-iperf: initial add 0.1.11

  Davide Gardenal (9):
        usrsctp: add CVE_VERSION to correctly check for CVEs
        ntp: ignore many CVEs
        openflow: ignore CVE-2018-1078
        emlog: ignore unrelated CVEs
        imagemagick: upgrade 7.0.10-25 -> 7.0.10-62
        wireshark: upgrade 3.4.11 -> 3.4.12
        thrift: add CVE_PRODUCT to fix CVE reporting
        spice: ignore patched CVEs
        quagga: ignore CVE-2016-4049

  Fabien Parent (1):
        gpsd-machine-conf: allow creation of an empty package

  Harshal (1):
        lldpd: upgrade 1.0.8 -> 1.0.14

  Hitendra Prajapati (1):
        cyrus-sasl: CVE-2022-24407 failure to properly escape SQL input allows an attacker to execute arbitrary SQL commands

  Jan Vermaete (1):
        netdata: version bump 1.34.1 -> 1.35.0

  Javier Viguera (1):
        networkmanager: fix build with enabled ppp

  Jeremy Puhlman (1):
        freeradius: mutlilib fixes

  Jonas Gorski (1):
        abseil-cpp: do not enforce -mfpu=neon on arm

  Kai Kang (4):
        libdbi-perl: fix interpreter on shebang line
        libdev-checklib-perl: fix interpreter of script use-devel-checklib
        libparse-yapp-perl: update interpreter of yapp
        python3-flatbuffer: enable native

  Khem Raj (8):
        libxml++: Disable parallel make in ptest compile
        geos: Disable inlining
        php: Fix absolute paths to php in phar.phar scripts
        libspiro: Add recipe
        fontforge: Upgrade to 20220308
        opencv: Link with libatomic on mips
        fontforge: Use alternate way to detect libm
        opencv: Link with libatomic on rv32

  Leon Anavi (19):
        python3-traitlets: Upgrade 5.2.1 -> 5.3.0
        python3-humanize: Upgrade 4.1.0 -> 4.2.0
        python3-autobahn: Upgrade 22.4.2 -> 22.5.1
        python3-elementpath: Upgrade 2.5.0 -> 2.5.3
        python3-eth-hash: Upgrade 0.3.2 -> 0.3.3
        python3-serpent: Upgrade 1.40 -> 1.41
        python3-web3: Upgrade 5.29.1 -> 5.29.2
        python3-pika: Upgrade 1.2.1 -> 1.3.0
        python3-tabulate: Upgrade 0.8.9 -> 0.8.10
        python3-marshmallow: Upgrade 3.15.0 -> 3.17.0
        python3-pychromecast: Upgrade 12.1.3 -> 12.1.4
        python3-humanize: Upgrade 4.2.0 -> 4.2.3
        python3-tornado: Upgrade 6.1 -> 6.2
        python3-coverage: Upgrade 6.3.2 -> 6.4.1
        python3-email-validator: Upgrade 1.1.3 -> 1.2.1
        python3-networkx: Upgrade 2.7.1 -> 2.8.4
        python3-unidiff: Upgrade 0.7.3 -> 0.7.4
        python3-toolz: Upgrade 0.11.2 -> 0.12.0
        python3-ansi2html: Upgrade 1.7.0 -> 1.8.0

  Marcus Flyckt (1):
        python3-pyconnman: Add 'future' runtime dependency

  Markus Volk (1):
        flatbuffers: update to 2.0.6

  Martin Jansa (3):
        glmark2: fix compatibility with python-3.11
        leveldb: switch from master branch to main
        tesseract-lang: switch from master branch to main

  Mikko Rapeli (1):
        polkit: switch back to mozjs but leave duktape as PACKAGECONFIG option

  Mingli Yu (3):
        kronosnet: Fix build with gcc-12
        s-nail: Fix build with gcc-12
        mariadb: Upgrade to 10.8.3

  Pascal Bach (1):
        python3-pybind11: upgrade 2.8.1 -> 2.9.2

  Peter Kjellerstedt (1):
        cryptsetup: Add support for building without SSH tokens

  Ross Burton (5):
        python3-cbor2: upgrade 5.4.2 to 5.4.3
        cppzmq: fix -dev RDEPENDS
        python3-hatchling: remove (now in oe-core)
        python3-pathspec: remove (now in oe-core)
        python3-editables: remove (now in oe-core)

  Sakib Sajal (1):
        minicoredumper: retry elf parsing as long as needed

  Theodore A. Roth (1):
        crda: Depend on correct wireless-regdb package

  Wentao Zhang (1):
        protobuf-c: update to 1.4.1 fix CVE-2022-33070

  Xu Huan (20):
        python3-lxml: upgrade 4.8.0 -> 4.9.0
        python3-msgpack: upgrade 1.0.3 -> 1.0.4
        python3-protobuf: upgrade 3.20.1 -> 4.21.1
        python3-mypy: upgrade 0.960 -> 0.961
        python3-pylint: upgrade 2.13.9 -> 2.14.1
        python3-smbus2: upgrade 0.4.1 -> 0.4.2
        python3-pillow: upgrade 9.0.1 -> 9.1.1
        python3-pychromecast: upgrade 12.1.2 -> 12.1.3
        python3-pylint: upgrade 2.14.1 -> 2.14.3
        python3-pyscaffold: upgrade 4.2.2 -> 4.2.3
        python3-redis: upgrade 4.3.1 -> 4.3.3
        python3-aiohue: upgrade 4.4.1 -> 4.4.2
        python3-astroid: upgrade 2.11.5 -> 2.11.6
        python3-charset-normalizer: upgrade 2.0.12 -> 2.1.0
        python3-colorama: upgrade 0.4.4 -> 0.4.5
        python3-eth-typing: upgrade 3.0.0 -> 3.1.0
        python3-autobahn: upgrade 22.5.1 -> 22.6.1
        python3-awesomeversion: upgrade 22.5.2 -> 22.6.0
        python3-grpcio: upgrade 1.45.0 -> 1.47.0
        python3-lxml: upgrade 4.9.0 -> 4.9.1

  Yi Zhao (12):
        openldap: pass correct URANDOM_DEVICE to CPPFLAGS
        openvpn: eliminate build path from openvpn --version option
        grubby: fix syntax for ALTERNATIVE
        duktape: fix override syntax in RDEPENDS
        polkit-group-rule-udisks2: fix override syntax in RDEPENDS
        libcrypt-openssl-guess-perl: fix syntax for PROVIDES
        evince: fix typo for RRECOMMENDS
        blueman: fix typo for RRECOMMENDS
        dnsmasq: Security fix CVE-2022-0934
        strongswan: upgrade 5.9.5 -> 5.9.6
        openvpn: add PACKAGECONFIG for systemd
        openvpn: add PACKAGECONFIG for selinux

  Yue Tao (2):
        exo: upgrade 4.16.3 -> 4.16.4
        dlt-daemon: upgrade to commit 6a3bd901d8 to fix CVE-2022-31291

  Zoltán Böszörményi (5):
        opencv: Upgrade to version 4.6.0
        proj: Upgrade to 8.2.1
        python3-pyproj: New recipe for pyproj version 3.3.1
        geos: Upgrade to 3.9.3
        libspatialite: Upgrade to 5.0.1

  jybros (1):
        clinfo: use virtual opencl loader provider

  wangmy (72):
        python3-cantools: upgrade 37.0.7 -> 37.1.0
        python3-regex: upgrade 2022.4.24 -> 2022.6.2
        python3-sqlalchemy: upgrade 1.4.36 -> 1.4.37
        python3-twine: upgrade 4.0.0 -> 4.0.1
        python3-waitress: upgrade 2.1.1 -> 2.1.2
        python3-xmlschema: upgrade 1.11.0 -> 1.11.1
        gspell: upgrade 1.10.0 -> 1.11.1
        ctags: upgrade 5.9.20220529.0 -> 5.9.20220605.0
        feh: upgrade 3.8 -> 3.9
        inotify-tools: upgrade 3.22.1.0 -> 3.22.6.0
        apache2: upgrade 2.4.53 -> 2.4.54
        libnftnl: upgrade 1.2.1 -> 1.2.2
        nbdkit: upgrade 1.31.7 -> 1.31.8
        irssi: upgrade 1.2.3 -> 1.4.1
        musl-nscd: upgrade 1.0.2 -> 1.1.0
        rdma-core: upgrade 40.0 -> 41.0
        snort: upgrade 2.9.19 -> 2.9.20
        php: upgrade 8.1.6 -> 8.1.7
        poco: upgrade 1.11.2 -> 1.11.3
        pyxdg: upgrade 0.27 -> 0.28
        syslog-ng: upgrade 3.36.1 -> 3.37.1
        dnf-plugin-tui: Added postatinstall
        python3-dill: upgrade 0.3.4 -> 0.3.5.1
        python3-robotframework-seriallibrary: upgrade 0.3.1 -> 0.4.3
        python3-ujson: upgrade 5.1.0 -> 5.3.0
        python3-watchdog: upgrade 2.1.8 -> 2.1.9
        python3-websocket-client: upgrade 1.3.2 -> 1.3.3
        gnome-commander: upgrade 1.14.2 -> 1.14.3
        libwacom: upgrade 2.2.0 -> 2.3.0
        nbdkit: upgrade 1.31.8 -> 1.31.9
        googletest: upgrade 1.11.0 -> 1.12.0
        gperftools: upgrade 2.9.1 -> 2.10
        iwd: upgrade 1.27 -> 1.28
        libzip: upgrade 1.8.0 -> 1.9.0
        postgresql: upgrade 14.3 -> 14.4
        uftrace: upgrade 0.11 -> 0.12
        python3-googleapis-common-protos: upgrade 1.56.2 -> 1.56.3
        python3-ifaddr: upgrade 0.1.7 -> 0.2.0
        python3-jmespath: upgrade 1.0.0 -> 1.0.1
        python3-pandas: upgrade 1.4.2 -> 1.4.3
        python3-zeroconf: upgrade 0.38.6 -> 0.38.7
        geocode-glib: upgrade 3.26.2 -> 3.26.3
        gnome-bluetooth: upgrade 42.0 -> 42.1
        gnome-calculator: upgrade 42.0 -> 42.2
        gnome-text-editor: upgrade 42.1 -> 42.2
        gtk4: upgrade 4.6.4 -> 4.6.6
        gtksourceview5: upgrade 5.4.1 -> 5.4.2
        gvfs: upgrade 1.50.0 -> 1.50.2
        abseil-cpp: upgrade 20211102 -> 20220623
        capnproto: upgrade 0.9.1 -> 0.10.2
        ctags: upgrade 5.9.20220605.0 -> 5.9.20220703.0
        fwupd: upgrade 1.7.6 -> 1.8.1
        googletest: upgrade 1.12.0 -> 1.12.1
        nautilus: upgrade 42.1.1 -> 42.2
        nbdkit: upgrade 1.31.9 -> 1.31.10
        openconnect: upgrade 8.20 -> 9.01
        bats: upgrade 1.6.1 -> 1.7.0
        cloc: upgrade 1.92 -> 1.94
        hwdata: upgrade 0.360 -> 0.361
        libvpx: upgrade 1.11.0 -> 1.12.0
        libzip: upgrade 1.9.0 -> 1.9.2
        pegtl: upgrade 3.2.5 -> 3.2.6
        phoronix-test-suite: upgrade 10.8.3 -> 10.8.4
        poppler: upgrade 22.06.0 -> 22.07.0
        netdata: upgrade 1.35.0 -> 1.35.1
        evince: upgrade 42.2 -> 42.3
        gjs: upgrade 1.72.0 -> 1.72.1
        gnome-bluetooth: upgrade 42.1 -> 42.2
        libadwaita: upgrade 1.1.1 -> 1.1.2
        liburing: upgrade 2.1 -> 2.2
        libcrypt-openssl-rsa-perl: upgrade 0.32 -> 0.33
        libencode-perl: upgrade 3.17 -> 3.18

  zhengruoqin (23):
        python3-absl: upgrade 1.0.0 -> 1.1.0
        python3-alembic: upgrade 1.7.7 -> 1.8.0
        python3-asyncinotify: upgrade 2.0.3 -> 2.0.4
        python3-crc32c: upgrade 2.2.post0 -> 2.3
        python3-msk: upgrade 0.3.16 -> 0.4.0
        python3-bitstruct: upgrade 8.14.1 -> 8.15.1
        python3-google-api-python-client: upgrade 2.49.0 -> 2.50.0
        python3-google-auth: upgrade 2.6.6 -> 2.7.0
        python3-xmlschema: upgrade 1.11.1 -> 1.11.2
        python3-flask-wtf: upgrade 0.15.1 -> 1.0.1
        python3-gnupg: upgrade 0.4.8 -> 0.4.9
        python3-google-api-python-client: upgrade 2.50.0 -> 2.51.0
        python3-kiwisolver: upgrade 1.4.2 -> 1.4.3
        python3-nmap: upgrade 1.5.1 -> 1.5.4
        python3-asyncinotify: upgrade 2.0.4 -> 2.0.5
        python3-google-auth: upgrade 2.7.0 -> 2.8.0
        python3-protobuf: upgrade 4.21.1 -> 4.21.2
        python3-sqlalchemy: upgrade 1.4.37 -> 1.4.39
        python3-xmlschema: upgrade 1.11.2 -> 1.11.3
        python3-engineio: upgrade 4.3.2 -> 4.3.3
        python3-google-api-core: upgrade 2.8.0 -> 2.8.2
        python3-google-auth: upgrade 2.8.0 -> 2.9.0
        python3-grpcio-tools: upgrade 1.46.3 -> 1.47.0

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I22f0dab7f3253d77cc99fd462c6be45ddeb333cd
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2021.8.22.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.5.17.bb
similarity index 92%
rename from meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2021.8.22.bb
rename to meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.5.17.bb
index aa1b4c2..b29716a 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2021.8.22.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.5.17.bb
@@ -10,8 +10,7 @@
            file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \
 "
 S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}"
-SRC_URI[md5sum] = "90da343e78877d388eb34cefae6799ae"
-SRC_URI[sha256sum] = "55b883aa05d94b2ec746ef3966cb41e66bed6db99f22ddd41d1b8b94bb202efb"
+SRC_URI[sha256sum] = "0489fbb6972581e1b417ab578d543f6ae522e7fa648c3c9b49c789510fd5eb93"
 
 UPSTREAM_CHECK_URI = "https://www.tuxera.com/community/open-source-ntfs-3g/"
 UPSTREAM_CHECK_REGEX = "ntfs-3g_ntfsprogs-(?P<pver>\d+(\.\d+)+)\.tgz"
@@ -50,3 +49,5 @@
 
 # Satisfy the -dev runtime dependency
 ALLOW_EMPTY:${PN} = "1"
+
+CVE_PRODUCT = "tuxera:ntfs-3g"
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.36.bb b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.36.bb
index 64291be..913957c 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.36.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/gegl/gegl_0.4.36.bb
@@ -38,8 +38,8 @@
 PACKAGECONFIG[librsvg] = "-Dlibrsvg=enabled,-Dlibrsvg=disabled,librsvg"
 PACKAGECONFIG[pango] = "-Dpango=enabled -Dpangocairo=enabled,-Dpango=disabled -Dpangocairo=disabled,pango"
 PACKAGECONFIG[poppler] = "-Dpoppler=enabled,-Dpoppler=disabled,poppler"
-PACKAGECONFIG[sdl] = "-Dsdl1=enabled,-Dsdl1=disabled,virtual/libsdl"
-PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2"
+PACKAGECONFIG[sdl] = "-Dsdl1=enabled,-Dsdl1=disabled,libsdl"
+PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2"
 PACKAGECONFIG[tiff] = "-Dlibtiff=enabled,-Dlibtiff=disabled,tiff"
 PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,webp"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.3.bb
similarity index 89%
rename from meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.2.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.3.bb
index c9e5617..0c97f75 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.3.bb
@@ -24,7 +24,7 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "ff7f81f308cf8d4956ed97fb724a7e49448c214beeab998812ef9efbb38df8ae"
+SRC_URI[archive.sha256sum] = "49aecf845c946c96db17ba89d75c8002c5ae8963f504a9b0626d12675914645e"
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
@@ -40,7 +40,7 @@
 PACKAGECONFIG[nautilus] = "-Dnautilus=true,-Dnautilus=false,nautilus"
 
 RDEPENDS:${PN} += "glib-2.0-utils"
-RRECOMMMENDS_${PN} = "adwaita-icon-theme"
+RRECOMMENDS:${PN} = "adwaita-icon-theme"
 
 PACKAGES =+ "${PN}-nautilus-extension"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.3.bb
similarity index 74%
rename from meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.3.bb
index df401f7..9783dad 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.3.bb
@@ -14,7 +14,6 @@
     libsoup-2.4 \
 "
 
-SRC_URI[archive.md5sum] = "e1ef140a11a543643d170dc701009e39"
-SRC_URI[archive.sha256sum] = "01fe84cfa0be50c6e401147a2bc5e2f1574326e2293b55c69879be3e82030fd1"
+SRC_URI[archive.sha256sum] = "1dfeae83b90eccca1b6cf7dcf7c5e3b317828cf0b56205c4471ef0f911999766"
 
 EXTRA_OEMESON = "-Denable-installed-tests=false"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.1.bb
similarity index 92%
rename from meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.1.bb
index 95e4bd5..3558940 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.1.bb
@@ -8,7 +8,7 @@
 
 inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
 
-SRC_URI[archive.sha256sum] = "3ef0caf716e3920dd61f7748f6d56e476cc0fc18351ad0548e7df1a0ab9bdcad"
+SRC_URI[archive.sha256sum] = "17c0b1ec3f096671ff8bfaba6e4bbf14198c7013c604bfd677a9858da079c0ab"
 SRC_URI += " \
     file://0001-Support-cross-builds-a-bit-better.patch \
     file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb
similarity index 90%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb
index 36fe9cf..c916aca 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.2.bb
@@ -26,7 +26,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI[archive.sha256sum] = "3d1e2720673bc9a242619dc5d231fd6e776c18a49da29f43cdc433055adb0170"
+SRC_URI[archive.sha256sum] = "8ce8ecfab28272db1830a63f08f9ccb5304734d1be2dbfce795fe4029e629f0c"
 
 BT_PULSE_PACKS = " \
     pulseaudio-lib-bluez5-util \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.2.bb
similarity index 88%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.2.bb
index 80cc38c..31513a5 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_42.2.bb
@@ -28,7 +28,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI[archive.sha256sum] = "a535a14ebea58e691a4b5a085256aed060a2c3f07384ac3a3d01832332a27e4a"
+SRC_URI[archive.sha256sum] = "33dab1bca43658d66520958b0f674cb0ad3185cfd30c12e459e7f69481c5c6a0"
 
 FILES:${PN} += " \
     ${datadir}/dbus-1 \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.14.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.14.3.bb
similarity index 87%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.14.2.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.14.3.bb
index c672422..b16400c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.14.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.14.3.bb
@@ -10,7 +10,7 @@
 inherit gnomebase itstool gettext gnome-help features_check
 ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
 
-SRC_URI[archive.sha256sum] = "1378efd24f8af18a09031d83d918f9662a3f5eba5a6f9df9fc55870f2e6f0ee9"
+SRC_URI[archive.sha256sum] = "78d8dce70fb922b2909cf767783053b0811213a4d6a49b3875510cf3a84efd7b"
 
 PACKAGECONFIG ??= "exiv2 taglib libgsf poppler"
 PACKAGECONFIG[exiv2] = "--with-exiv2,--without-exiv2,exiv2"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.2.bb
similarity index 84%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.2.bb
index 7efc686..1446b15 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_42.2.bb
@@ -19,7 +19,7 @@
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "opengl"
 
-SRC_URI[archive.sha256sum] = "a3c8508033bfb63a8b48a062ac1e67b2c333ba0153879b38c661968a103ad15c"
+SRC_URI[archive.sha256sum] = "e56d4a8cdcbce8a8f1c0881b45de799f8b25205ec0cbf2269e532025761cc5da"
 
 FILES:${PN} += " \
     ${datadir}/metainfo \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.10.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.11.1.bb
similarity index 75%
rename from meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.10.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.11.1.bb
index fe1b3ea..c76a48f 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.10.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.11.1.bb
@@ -7,4 +7,4 @@
 
 inherit gnomebase gettext gobject-introspection vala
 
-SRC_URI[archive.sha256sum] = "803bb884c0215d3fd22a85d7f30423aff88d9792f05a5199d8a489a2ffaae1da"
+SRC_URI[archive.sha256sum] = "ef6aa4e3f711775158a7e241a5f809cf2426bc0e02c23a7d2b5c71fc3de00292"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb
similarity index 97%
rename from meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.4.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb
index 9f47371..dcebd0d 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtk4/gtk4_4.6.6.bb
@@ -33,7 +33,7 @@
 UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
-SRC_URI[sha256sum] = "a79a2bbcc7931b703fc4fa1fcbe1b906e229a1522d854d522801766a79bcac9f"
+SRC_URI[sha256sum] = "7bbfe4d13569f7c297ed49834ac7263e318b7bf102d3271cb466d5971f59ae70"
 
 S = "${WORKDIR}/gtk-${PV}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.2.bb
similarity index 90%
rename from meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.2.bb
index f667238..52c270e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.2.bb
@@ -25,7 +25,7 @@
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI = "https://download.gnome.org/sources/gtksourceview/5.4/${PNAME}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "eb3584099cfa0adc9a0b1ede08def6320bd099e79e74a2d0aefb4057cd93d68e"
+SRC_URI[sha256sum] = "ad140e07eb841910de483c092bd4885abd29baadd6e95fa22d93ed2df0b79de7"
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.2.bb
similarity index 96%
rename from meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.2.bb
index 21d351a..e8d9f16 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.50.2.bb
@@ -12,7 +12,7 @@
 
 SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
 
-SRC_URI[archive.sha256sum] = "cbc2f564d2e9f00c760673f42d6803bce3e081ab7ffb4456deffffba9339b4dd"
+SRC_URI[archive.sha256sum] = "03d72b8c15ef438110f0cf457b5655266c8b515d0412b30f4d55cfa0da06ac5e"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.2.bb
similarity index 85%
rename from meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.2.bb
index 8ca3be3..3ae740e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.2.bb
@@ -11,7 +11,7 @@
 
 inherit gnomebase gobject-introspection gtk-doc vala features_check
 
-SRC_URI[archive.sha256sum] = "491169d4f6a11765328996bc088272d05c7235453bc0ee73c20dfd4bd67b401c"
+SRC_URI[archive.sha256sum] = "2b5ca4104c21a36e31f900ef117ab887dd9d471f6a65d2ba374ce0339314219f"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.1.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.2.bb
similarity index 91%
rename from meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.1.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.2.bb
index 6d94220..f9c2ed0 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.1.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.2.bb
@@ -21,7 +21,7 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "8519d4565e842aa3d31d0fe39b21d48ac54edc0f0658fe1d8ea2da4e704c1b66"
+SRC_URI[archive.sha256sum] = "99212d2eb75996f181728ad04a2e2d86f2577b064e68a34c8b81a7037df4ccb2"
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.2.0.bb b/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.3.0.bb
similarity index 93%
rename from meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.2.0.bb
rename to meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.3.0.bb
index 78f5a28..41d8c62 100644
--- a/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.2.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/libwacom/libwacom_2.3.0.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
 
 SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https"
-SRCREV = "be485deca03157b0dbd702c7acaf35b71378be9e"
+SRCREV = "b88053851ef81694b9e3927e0857f0f02ff9a8a8"
 
 DEPENDS = " \
     libxml2-native \
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
index a276bf4..bbfabf0 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
@@ -39,7 +39,7 @@
 RDEPENDS:${PN}-ptest = "util-linux-getopt bash"
 
 inherit update-alternatives
-ALTERNATIVE_${PN} = "installkernel"
+ALTERNATIVE:${PN} = "installkernel"
 ALTERNATIVE_LINK_NAME[installkernel] = "${sbindir}/installkernel"
 
 COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb
index 700df2c..47173d7 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.6.2.bb
@@ -37,7 +37,7 @@
 PACKAGECONFIG[ogg]                = "--with-ogg,--without-ogg,libogg"
 PACKAGECONFIG[portaudio]          = "--with-portaudio,--without-portaudio,portaudio-v19"
 PACKAGECONFIG[pulseaudio]         = "--with-pulseaudio,--without-pulseaudio,pulseaudio"
-PACKAGECONFIG[sdl2]               = "--with-sdl2,--without-sdl2,virtual/libsdl2"
+PACKAGECONFIG[sdl2]               = "--with-sdl2,--without-sdl2,libsdl2"
 PACKAGECONFIG[sndfile]            = "--with-sndfile,--without-sndfile,libsndfile1"
 PACKAGECONFIG[vorbis]             = "--with-vorbis,--without-vorbis,libvorbis"
 PACKAGECONFIG[vorbisfile]         = "--with-vorbisfile,--without-vorbisfile,libvorbis"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
index 0f527c0..c176c6e 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
@@ -100,7 +100,7 @@
 PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack"
 PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
 PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl"
-PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2"
+PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2"
 PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
 PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
 PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd"
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb
index 9abfd61..a616557 100644
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb
+++ b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/crda/crda_3.18.bb
@@ -36,4 +36,4 @@
     oe_runmake SBINDIR=${sbindir}/ install
 }
 
-RDEPENDS:${PN} = "udev wireless-regdb-static"
+RDEPENDS:${PN} = "udev wireless-regdb"
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/files/run-ptest b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/files/run-ptest
new file mode 100644
index 0000000..9d3ec79
--- /dev/null
+++ b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/files/run-ptest
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+ret_val=0
+
+# Check if all the kernel modules are available
+FIREWALLD_KERNEL_MODULES="@@FIREWALLD_KERNEL_MODULES@@"
+for m in $FIREWALLD_KERNEL_MODULES; do
+    if modprobe $m; then
+        echo "PASS: loading $m"
+    else
+        echo "FAIL: loading $m"
+        ret_val=1
+    fi
+done
+
+# Run the test suite from firewalld
+# Failing testsuites: 203 226 241 250 270 280 281 282 285 286
+# Problem icmpv6 compared against ipv6-icmptype?
+/usr/share/firewalld/testsuite/testsuite -C /tmp -A || ret_val=1
+
+exit $ret_val
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_0.9.4.bb b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_0.9.4.bb
deleted file mode 100644
index 1dea339..0000000
--- a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_0.9.4.bb
+++ /dev/null
@@ -1,92 +0,0 @@
-SUMMARY = "Dynamic firewall daemon with a D-Bus interface"
-HOMEPAGE = "https://firewalld.org/"
-BUGTRACKER = "https://github.com/firewalld/firewalld/issues"
-UPSTREAM_CHECK_URI = "https://github.com/firewalld/firewalld/releases"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
-           file://firewalld.init \
-"
-SRC_URI[sha256sum] = "52c5e3d5b1e2efc0e86c22b2bc1f7fd80908cc2d8130157dc2a3517a59b0a760"
-
-# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
-DEPENDS = "intltool-native glib-2.0-native nftables"
-
-inherit gettext autotools bash-completion pkgconfig python3native gsettings systemd update-rc.d
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd"
-PACKAGECONFIG[docs] = "--with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog,--disable-docs,libxslt-native docbook-xsl-stylesheets-native"
-
-PACKAGES += "${PN}-zsh-completion"
-
-# iptables, ip6tables, ebtables, and ipset *should* be unnecessary
-# when the nftables backend is available, because nftables supersedes all of them.
-# However we still need iptables and ip6tables to be available otherwise any
-# application relying on "direct passthrough" rules (such as docker) will break.
-# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by
-# the Red Hat-specific init script which we aren't using, so we disable that.
-EXTRA_OECONF = "\
-    --without-ipset \
-    --with-iptables=${sbindir}/iptables \
-    --with-iptables-restore=${sbindir}/iptables-restore \
-    --with-ip6tables=${sbindir}/ip6tables \
-    --with-ip6tables-restore=${sbindir}/ip6tables-restore \
-    --without-ebtables \
-    --without-ebtables-restore \
-    --disable-sysconfig \
-"
-
-INITSCRIPT_NAME = "firewalld"
-SYSTEMD_SERVICE:${PN} = "firewalld.service"
-
-do_install:append() {
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        :
-    else
-        # firewalld ships an init script but it contains Red Hat-isms, replace it with our own
-        rm -rf ${D}${sysconfdir}/rc.d/
-        install -d ${D}${sysconfdir}/init.d
-        install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld
-    fi
-
-    # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE
-    # so now we need to fix up any references to point at the proper path in the image.
-    # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools.
-    if [ ${PN} != "${BPN}-native" ]; then
-        sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \
-            ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
-    fi
-    sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \
-        ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
-
-    # This file contains Red Hat-isms. Modules get loaded without it.
-    rm -f ${D}${sysconfdir}/modprobe.d/firewalld-sysctls.conf
-}
-
-FILES:${PN} += "\
-    ${PYTHON_SITEPACKAGES_DIR}/firewall \
-    ${nonarch_libdir}/firewalld \
-    ${datadir}/dbus-1 \
-    ${datadir}/polkit-1 \
-    ${datadir}/metainfo \
-"
-FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions"
-
-RDEPENDS:${PN} = "\
-    nftables-python \
-    iptables \
-    python3-core \
-    python3-io \
-    python3-fcntl \
-    python3-shell \
-    python3-syslog \
-    python3-xml \
-    python3-dbus \
-    python3-slip-dbus \
-    python3-decorator \
-    python3-pygobject \
-    python3-json \
-    python3-ctypes \
-"
diff --git a/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb
new file mode 100644
index 0000000..987cc64
--- /dev/null
+++ b/meta-openembedded/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb
@@ -0,0 +1,310 @@
+SUMMARY = "Dynamic firewall daemon with a D-Bus interface"
+HOMEPAGE = "https://firewalld.org/"
+BUGTRACKER = "https://github.com/firewalld/firewalld/issues"
+UPSTREAM_CHECK_URI = "https://github.com/firewalld/firewalld/releases"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "\
+    https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
+    file://firewalld.init \
+    file://run-ptest \
+"
+SRC_URI[sha256sum] = "28fd90e88bda0dfd460f370f353474811b2e295d7eb27f0d7d18ffa3d786eeb7"
+
+# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
+DEPENDS = "intltool-native glib-2.0-native nftables"
+
+inherit gettext autotools-brokensep bash-completion pkgconfig python3native python3-dir gsettings systemd update-rc.d ptest
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd"
+PACKAGECONFIG[docs] = "--with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog,--disable-docs,libxslt-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[ipset] = "--with-ipset=${sbindir}/ipset,--without-ipset,,ipset"
+PACKAGECONFIG[ebtables] = "--with-ebtables=${base_sbindir}/ebtables --with-ebtables-restore=${sbindir}/ebtables-legacy-restore,--without-ebtables --without-ebtables-restore,,ebtables"
+
+# Default logging configuration: mixed syslog file console
+FIREWALLD_DEFAULT_LOG_TARGET ??= "syslog"
+
+# The UIs are not yet tested and the dependencies are probably not quite correct yet.
+# Splitting into separate packages is beneficial so that no dead code is transferred
+# to the target device.
+# Without enabling qt5, the firewalld-config package is not usable.
+# Without enabling qt5 and gtk, the firewalld-applet package is not usable.
+PACKAGECONFIG[qt5] = ""
+PACKAGECONFIG[gtk] = ""
+
+PACKAGES =+ "python3-firewall ${PN}-applet ${PN}-config ${PN}-offline-cmd ${PN}-zsh-completion ${PN}-log-rotate"
+
+# iptables, ip6tables, ebtables, and ipset *should* be unnecessary
+# when the nftables backend is available, because nftables supersedes all of them.
+# However we still need iptables and ip6tables to be available otherwise any
+# application relying on "direct passthrough" rules (such as docker) will break.
+# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by
+# the Red Hat-specific init script which we aren't using, so we disable that.
+EXTRA_OECONF = "\
+    --with-iptables=${sbindir}/iptables \
+    --with-iptables-restore=${sbindir}/iptables-restore \
+    --with-ip6tables=${sbindir}/ip6tables \
+    --with-ip6tables-restore=${sbindir}/ip6tables-restore \
+    --disable-sysconfig \
+"
+
+INITSCRIPT_NAME = "firewalld"
+SYSTEMD_SERVICE:${PN} = "firewalld.service"
+
+# kernel modules loaded after ptest execution (linux-yocto 5.15)
+FIREWALLD_KERNEL_MODULES ?= "\
+    xt_tcpudp \
+    xt_TCPMSS \
+    xt_set \
+    xt_sctp \
+    xt_REDIRECT \
+    xt_pkttype \
+    xt_NFLOG \
+    xt_nat \
+    xt_MASQUERADE \
+    xt_mark \
+    xt_mac \
+    xt_LOG \
+    xt_limit \
+    xt_dccp \
+    xt_CT \
+    xt_conntrack \
+    xt_CHECKSUM \
+    nft_redir \
+    nft_objref \
+    nft_nat \
+    nft_masq \
+    nft_log \
+    nfnetlink_log \
+    nf_nat_tftp \
+    nf_nat_sip \
+    nf_nat_ftp \
+    nf_log_syslog \
+    nf_conntrack_tftp \
+    nf_conntrack_sip \
+    nf_conntrack_netbios_ns \
+    nf_conntrack_ftp \
+    nf_conntrack_broadcast \
+    ipt_REJECT \
+    ip6t_rpfilter \
+    ip6t_REJECT \
+    ip_set_hash_netport \
+    ip_set_hash_netnet \
+    ip_set_hash_netiface \
+    ip_set_hash_net \
+    ip_set_hash_mac \
+    ip_set_hash_ipportnet \
+    ip_set_hash_ipport \
+    ip_set_hash_ipmark \
+    ip_set_hash_ip \
+    ebt_ip6 \
+    nft_fib_inet \
+    nft_fib_ipv4 \
+    nft_fib_ipv6 \
+    nft_fib \
+    nft_reject_inet \
+    nf_reject_ipv4 \
+    nf_reject_ipv6 \
+    nft_reject \
+    nft_ct \
+    nft_chain_nat \
+    ebtable_nat \
+    ebtable_broute \
+    ip6table_nat \
+    ip6table_mangle \
+    ip6table_raw \
+    ip6table_security \
+    iptable_nat \
+    nf_nat \
+    nf_conntrack \
+    nf_defrag_ipv6 \
+    nf_defrag_ipv4 \
+    iptable_mangle \
+    iptable_raw \
+    iptable_security \
+    ip_set \
+    ebtable_filter \
+    ebtables \
+    ip6table_filter \
+    ip6_tables \
+    iptable_filter \
+    ip_tables \
+    x_tables \
+    sch_fq_codel \
+"
+
+do_configure:prepend() {
+    export DEFAULT_LOG_TARGET=${FIREWALLD_DEFAULT_LOG_TARGET}
+}
+
+do_install:append() {
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'false', 'true', d)}; then
+        # firewalld ships an init script but it contains Red Hat-isms, replace it with our own
+        rm -rf ${D}${sysconfdir}/rc.d/
+        install -d ${D}${sysconfdir}/init.d
+        install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld
+    fi
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'false', 'true', d)}; then
+        # Delete polkit profiles if polkit is not available
+        rm -rf ${D}${datadir}/polkit-1
+    fi
+
+    # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE
+    # so now we need to fix up any references to point at the proper path in the image.
+    # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools.
+    if [ ${PN} != "${BPN}-native" ]; then
+        sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \
+            ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
+    fi
+    sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \
+        ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
+
+    # This file contains Red Hat-isms. Modules get loaded without it.
+    rm -f ${D}${sysconfdir}/modprobe.d/firewalld-sysctls.conf
+}
+
+do_install_ptest:append() {
+    # Add kernel modules to the ptest script
+    if [ ${PTEST_ENABLED} = "1" ]; then
+        sed -i -e 's:@@FIREWALLD_KERNEL_MODULES@@:${FIREWALLD_KERNEL_MODULES}:g' \
+            ${D}${PTEST_PATH}/run-ptest
+    fi
+}
+
+SUMMARY:python3-firewall = "${SUMMARY} (Python3 bindings)"
+FILES:python3-firewall = "\
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/__pycache__/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/config/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/config/__pycache__/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/core/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/core/__pycache__/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/core/io/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/core/io/__pycache__/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/server/*.py* \
+    ${PYTHON_SITEPACKAGES_DIR}/firewall/server/__pycache__/*.py* \
+"
+RDEPENDS:python3-firewall = "\
+    python3-dbus \
+    nftables-python \
+    python3-pygobject \
+"
+
+# Do not depend on QT5 layer and GTK deps if not explicitely required.
+FIREWALLD_QT5_RDEPENDS = "\
+    ${PN}-config \
+    hicolor-icon-theme \
+    python3-pyqt5 \
+    python3-pygobject \
+    libnotify \
+    networkmanager \
+"
+FIREWALLD_GTK_RDEPENDS = "\
+    gtk3 \
+"
+
+# A QT5 based UI
+SUMMARY:${PN}-config = "${SUMMARY} (configuration application)"
+FILES:${PN}-config = "\
+    ${bindir}/firewall-config \
+    ${datadir}/firewalld/firewall-config.glade \
+    ${datadir}/firewalld/gtk3_chooserbutton.py* \
+    ${datadir}/firewalld/gtk3_niceexpander.py* \
+    ${datadir}/applications/firewall-config.desktop \
+    ${datadir}/metainfo/firewall-config.appdata.xml \
+    ${datadir}/icons/hicolor/*/apps/firewall-config*.* \
+"
+RDEPENDS:${PN}-config += "\
+    python3-core \
+    python3-ctypes \
+    ${@bb.utils.contains('PACKAGECONFIG', 'qt5', '${FIREWALLD_QT5_RDEPENDS}', '', d)} \
+"
+
+# A GTK3 applet depending on the QT5 firewall-config UI
+SUMMARY:${PN}-applet = "${SUMMARY} (panel applet)"
+FILES:${PN}-applet += "\
+    ${bindir}/firewall-applet \
+    ${sysconfdir}/xdg/autostart/firewall-applet.desktop \
+    ${sysconfdir}/firewall/applet.conf \
+    ${datadir}/icons/hicolor/*/apps/firewall-applet*.* \
+"
+RDEPENDS:${PN}-applet += "\
+    python3-core \
+    python3-ctypes \
+    ${@bb.utils.contains('PACKAGECONFIG', 'qt5', '${FIREWALLD_QT5_RDEPENDS}', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'gtk', '${FIREWALLD_GTK_RDEPENDS}', '', d)} \
+"
+
+SUMMARY:${PN}-offline-cmd = "${SUMMARY} (offline configuration utility)"
+FILES:${PN}-offline-cmd += " \
+    ${bindir}/firewall-offline-cmd \
+"
+RDEPENDS:${PN}-offline-cmd += "python3-core"
+
+SUMMARY:${PN}-log-rotate = "${SUMMARY} (log-rotate configuration)"
+FILES:${PN}-log-rotate += "${sysconfdir}/logrotate.d"
+
+# To get allmost all tests passing
+# - Enable PACKAGECONFIG ipset, ebtable
+# - Enough RAM QB_MEM = "-m 8192" (used für fancy ipset tests)
+FILES:${PN}-ptest += "\
+    ${datadir}/firewalld/testsuite \
+"
+RDEPENDS:${PN}-ptest += "\
+    python3-unittest \
+    ${PN}-offline-cmd \
+    procps-ps \
+    iproute2 \
+"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-localedata-en-us"
+
+FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+FILES:${PN} += "\
+    ${PYTHON_SITEPACKAGES_DIR}/firewall \
+    ${nonarch_libdir}/firewalld \
+    ${datadir}/dbus-1 \
+    ${datadir}/polkit-1 \
+    ${datadir}/metainfo \
+    ${datadir}/glib-2.0/schemas/org.fedoraproject.FirewallConfig.gschema.xml \
+"
+RDEPENDS:${PN} += "\
+    python3-firewall \
+    iptables \
+    python3-core \
+    python3-io \
+    python3-fcntl \
+    python3-syslog \
+    python3-xml \
+    python3-json \
+    python3-ctypes \
+    python3-pprint \
+"
+# If firewalld writes a log file rotation is needed
+RRECOMMENDS:${PN} += "${@bb.utils.contains_any('FIREWALLD_DEFAULT_LOG_TARGET', [ 'mixed', 'file' ], '${PN}-log-rotate', '', d)}"
+
+# Add required kernel modules. With Yocto kernel 5.15 this currently means:
+# - features/nf_tables/nf_tables.scc
+# - features/netfilter/netfilter.scc
+# - cgl/features/audit/audit.scc
+# - cfg/net/ip6_nf.scc
+# - Plus:
+#   - ebtables
+#   - ipset
+#   - CONFIG_IP6_NF_SECURITY=m
+#   - CONFIG_IP6_NF_MATCH_RPFILTER=m
+#   - CONFIG_IP6_NF_TARGET_REJECT=m
+#   - CONFIG_NFT_OBJREF=m
+#   - CONFIG_NFT_FIB=m
+#   - CONFIG_NFT_FIB_INET=m
+#   - CONFIG_NFT_FIB_IPV4=m
+#   - CONFIG_NFT_FIB_IPV6=m
+#   - CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+#   - CONFIG_NETFILTER_XT_SET=m
+def get_kernel_deps(d):
+    kmodules = (d.getVar('FIREWALLD_KERNEL_MODULES') or "").split()
+    return ' '.join([ 'kernel-module-' + mod.replace('_', '-').lower() for mod in kmodules ])
+RRECOMMENDS:${PN} += "${@get_kernel_deps(d)}"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.4.bb
index d5aecee..1197520 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.4.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.2.4.bb
@@ -19,7 +19,7 @@
 SYSTEMD_SERVICE:${PN} = "${BPN}-mechanism.service"
 SYSTEMD_AUTO_ENABLE:${PN} = "disable"
 
-RRECOMENDS_${PN} += "adwaita-icon-theme"
+RRECOMMENDS:${PN} += "adwaita-icon-theme"
 RDEPENDS:${PN} += " \
     python3-core \
     python3-dbus \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
index da7e604..453e514 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.21.bb
@@ -34,6 +34,8 @@
     file://check-openssl-cmds-in-script-bootstrap.patch \
 "
 
+raddbdir="${sysconfdir}/${MLPREFIX}raddb"
+
 SRCREV = "af428abda249b2279ba0582180985a9f6f4a144a"
 
 PARALLEL_MAKE = ""
@@ -48,6 +50,7 @@
         --with-docdir=${docdir}/freeradius-${PV} \
         --with-openssl-includes=${STAGING_INCDIR} \
         --with-openssl-libraries=${STAGING_LIBDIR} \
+        --with-raddbdir=${raddbdir} \
         --without-rlm_ippool \
         --without-rlm_cache_memcached \
         --without-rlm_counter \
@@ -98,7 +101,9 @@
 PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast"
 PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd"
 
-inherit useradd autotools-brokensep update-rc.d systemd
+inherit useradd autotools-brokensep update-rc.d systemd multilib_script multilib_header
+
+MULTILIB_SCRIPTS = "${PN}:${sbindir}/checkrad"
 
 # This is not a cpan or python based package, but it needs some definitions
 # from cpan-base and python3-dir bbclasses for building rlm_perl and rlm_python
@@ -141,7 +146,7 @@
     oe_runmake install R=${D} INSTALLSTRIP=""
 
     # remove unsupported config files
-    rm -f ${D}/${sysconfdir}/raddb/experimental.conf
+    rm -f ${D}/${raddbdir}/experimental.conf
 
     # remove scripts that required Perl(DBI)
     rm -rf ${D}/${bindir}/radsqlrelay
@@ -153,7 +158,7 @@
     rm -rf ${D}/${localstatedir}/log/
     install -m 0644 ${WORKDIR}/volatiles.58_radiusd  ${D}${sysconfdir}/default/volatiles/58_radiusd
 
-    chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
+    chown -R radiusd:radiusd ${D}/${raddbdir}
     chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
 
     # For systemd
@@ -169,6 +174,9 @@
         install -d ${D}${sysconfdir}/tmpfiles.d/
         install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/radiusd.conf
     fi
+    oe_multilib_header freeradius/autoconf.h 
+    oe_multilib_header freeradius/missing.h
+    oe_multilib_header freeradius/radpaths.h
 }
 
 # This is only needed when we install/update on a running target.
@@ -183,7 +191,7 @@
         fi
 
         # Fix ownership for /etc/raddb/*, /var/lib/radiusd
-        chown -R radiusd:radiusd ${sysconfdir}/raddb
+        chown -R radiusd:radiusd ${raddbdir}
         chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
     fi
 }
@@ -204,30 +212,30 @@
 FILES:${PN}-utils = "${bindir}/*"
 
 FILES:${PN}-ldap = "${libdir}/rlm_ldap.so* \
-    ${sysconfdir}/raddb/mods-available/ldap \
+    ${raddbdir}/mods-available/ldap \
 "
 
 FILES:${PN}-krb5 = "${libdir}/rlm_krb5.so* \
-    ${sysconfdir}/raddb/mods-available/krb5 \
+    ${raddbdir}/mods-available/krb5 \
 "
 
 FILES:${PN}-perl = "${libdir}/rlm_perl.so* \
-    ${sysconfdir}/raddb/mods-config/perl \
-    ${sysconfdir}/raddb/mods-available/perl \
+    ${raddbdir}/mods-config/perl \
+    ${raddbdir}/mods-available/perl \
 "
 
 FILES:${PN}-python = "${libdir}/rlm_python3.so* \
-    ${sysconfdir}/raddb/mods-config/python3 \
-    ${sysconfdir}/raddb/mods-available/python3 \
+    ${raddbdir}/mods-config/python3 \
+    ${raddbdir}/mods-available/python3 \
 "
 
 FILES:${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
-    ${sysconfdir}/raddb/mods-config/sql/*/mysql \
-    ${sysconfdir}/raddb/mods-available/sql \
+    ${raddbdir}/mods-config/sql/*/mysql \
+    ${raddbdir}/mods-available/sql \
 "
 
 FILES:${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
-    ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
+    ${raddbdir}/mods-config/sql/*/postgresql \
 "
 
 FILES:${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
index d52ad6e..c8fea5d 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.38.0.bb
@@ -86,7 +86,7 @@
 # consolekit is not picked by shlibs, so add it to RDEPENDS too
 PACKAGECONFIG[consolekit] = "-Dsession_tracking_consolekit=true,-Dsession_tracking_consolekit=false,consolekit,consolekit"
 PACKAGECONFIG[modemmanager] = "-Dmodem_manager=true,-Dmodem_manager=false,modemmanager mobile-broadband-provider-info"
-PACKAGECONFIG[ppp] = "-Dppp=true,-Dppp=false,ppp"
+PACKAGECONFIG[ppp] = "-Dppp=true -Dpppd=${sbindir}/pppd,-Dppp=false,ppp,ppp"
 PACKAGECONFIG[dnsmasq] = "-Ddnsmasq=${bindir}/dnsmasq"
 PACKAGECONFIG[nss] = "-Dcrypto=nss,,nss"
 PACKAGECONFIG[resolvconf] = "-Dresolvconf=${base_sbindir}/resolvconf,-Dresolvconf=no,,resolvconf"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.20.bb b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.01.bb
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.20.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.01.bb
index 022ba85..afdbdca 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_8.20.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.01.bb
@@ -5,7 +5,7 @@
 SRC_URI = " \
     git://git.infradead.org/users/dwmw2/openconnect.git;branch=master \
 "
-SRCREV = "03a3b9c76a9b6d0a65073b6bebbc1192e3445507"
+SRCREV = "5695cd6b0c7d42ca293ce0f00abcbe3d1ec4e609"
 
 DEPENDS = "vpnc libxml2 krb5 gettext-native"
 RDEPENDS:${PN} = "bash python3-core vpnc-script"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.19.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.20.bb
similarity index 97%
rename from meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.19.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.20.bb
index 26b335d..c15c204 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.19.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.20.bb
@@ -14,7 +14,7 @@
     file://disable-run-test-program-while-cross-compiling.patch \
     file://configure.in-disable-tirpc-checking-for-fedora.patch \
 "
-SRC_URI[sha256sum] = "b12fc6db72afb58987a2bf1954b8f45bde02047c235513c7663857b9506369c7"
+SRC_URI[sha256sum] = "29400e13f53b1831e0b8b10ec1224a1cbaa6dc1533a5322a20dd80bb84b4981c"
 
 UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
 UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.14.bb
similarity index 93%
rename from meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb
rename to meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.14.bb
index cf2b156..eda0129 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.8.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/lldpd/lldpd_1.0.14.bb
@@ -11,8 +11,7 @@
     file://lldpd.default \
     "
 
-SRC_URI[md5sum] = "000042dbf5b445f750b5ba01ab25c8ba"
-SRC_URI[sha256sum] = "98d200e76e30f6262c4a4493148c1840827898329146a57a34f8f0f928ca3def"
+SRC_URI[sha256sum] = "a74819214f116a5dbc407a3d490caa01ba401a249517ac826a374059c12d12e8"
 
 inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
 
diff --git a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet/0001-links.c-Fix-build-with-gcc-12.patch b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet/0001-links.c-Fix-build-with-gcc-12.patch
new file mode 100644
index 0000000..e59501c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet/0001-links.c-Fix-build-with-gcc-12.patch
@@ -0,0 +1,40 @@
+From a8aac8f3fd8b07fde8f5dc0aa9ece54a46d24425 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 9 Jun 2022 16:03:06 +0800
+Subject: [PATCH] links.c: Fix build with gcc-12
+
+Fixes:
+  | /build/tmp-glibc/work/corei7-64-wrs-linux/kronosnet/1.22-r0/recipe-sysroot/usr/include/bits/string_fortified.h:59:10: error: 'link' may be used uninitialized [-Werror=maybe-uninitialized]
+  |    59 |   return __builtin___memset_chk (__dest, __ch, __len,
+  |       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  |    60 |                                  __glibc_objsize0 (__dest));
+  |       |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
+  | ../../git/libknet/links.c: In function 'knet_link_set_config':
+  | ../../git/libknet/links.c:108:27: note: 'link' was declared here
+  |   108 |         struct knet_link *link;
+  |       |                           ^~~~
+  | cc1: all warnings being treated as errors
+
+Upstream-Status: Submitted[https://github.com/kronosnet/kronosnet/pull/382]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ libknet/links.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libknet/links.c b/libknet/links.c
+index 8cb1621b..0ef42b79 100644
+--- a/libknet/links.c
++++ b/libknet/links.c
+@@ -105,7 +105,7 @@ int knet_link_set_config(knet_handle_t knet_h, knet_node_id_t host_id, uint8_t l
+ {
+ 	int savederrno = 0, err = 0, i, wipelink = 0, link_idx;
+ 	struct knet_host *host, *tmp_host;
+-	struct knet_link *link;
++	struct knet_link *link = NULL;
+ 
+ 	if (!_is_valid_handle(knet_h)) {
+ 		return -1;
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.22.bb b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.22.bb
index ad0a00e..0b0bc29 100644
--- a/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.22.bb
+++ b/meta-openembedded/meta-networking/recipes-extended/kronosnet/kronosnet_1.22.bb
@@ -14,6 +14,7 @@
 SRCREV = "0123ecebce0ad6aba3cdb320027192e15fd71e23"
 SRC_URI = "git://github.com/kronosnet/kronosnet;protocol=https;branch=stable1 \
            file://0001-libknet-tests-Correct-include-path-for-poll.h.patch \
+           file://0001-links.c-Fix-build-with-gcc-12.patch \
            "
 
 UPSTREAM_CHECK_URI = "https://github.com/kronosnet/kronosnet/releases"
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.1.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.2.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.1.bb
rename to meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.2.bb
index 4447963..3eca92d 100644
--- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.1.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.2.2.bb
@@ -4,7 +4,7 @@
 SECTION = "libs"
 DEPENDS = "libmnl"
 
-SRCREV = "09456c720e9c00eecc08e41ac6b7c291b3821ee5"
+SRCREV = "f6575131e60ab10f131ea3ff36f69af2b6c3f614"
 SRC_URI = "git://git.netfilter.org/libnftnl;branch=master \
            file://0001-avoid-naming-local-function-as-one-of-printf-family.patch \
            file://0001-configure.ac-Add-serial-tests.patch \
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/0001-examples-compile-with-make-check-and-add-AM_CPPFLAGS.patch b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/0001-examples-compile-with-make-check-and-add-AM_CPPFLAGS.patch
deleted file mode 100644
index 65ab2df..0000000
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/0001-examples-compile-with-make-check-and-add-AM_CPPFLAGS.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 18a08fb7f0443f8bde83393bd6f69e23a04246b3 Mon Sep 17 00:00:00 2001
-From: Pablo Neira Ayuso <pablo@netfilter.org>
-Date: Tue, 22 Feb 2022 00:56:36 +0100
-Subject: [PATCH] examples: compile with `make check' and add AM_CPPFLAGS
-
-Compile examples via `make check' like libnftnl does. Use AM_CPPFLAGS to
-specify local headers via -I.
-
-Unfortunately, `make distcheck' did not catch this compile time error in
-my system, since it was using the nftables/libnftables.h file of the
-previous nftables release.
-
-Fixes: 5b364657a35f ("build: missing SUBIRS update")
-Fixes: caf2a6ad2d22 ("examples: add libnftables example program")
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-
-Upstream-Status: Backport
-[http://git.netfilter.org/nftables/commit/?id=18a08fb7f0443f8bde83393bd6f69e23a04246b3]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- examples/Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/examples/Makefile.am b/examples/Makefile.am
-index c972170d..3b8b0b67 100644
---- a/examples/Makefile.am
-+++ b/examples/Makefile.am
-@@ -1,4 +1,6 @@
--noinst_PROGRAMS	= nft-buffer		\
-+check_PROGRAMS	= nft-buffer		\
- 		  nft-json-file
- 
-+AM_CPPFLAGS = -I$(top_srcdir)/include
-+
- LDADD = $(top_builddir)/src/libnftables.la
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/0001-nftables-python-Split-root-from-prefix.patch b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/0001-nftables-python-Split-root-from-prefix.patch
new file mode 100644
index 0000000..377b29f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/0001-nftables-python-Split-root-from-prefix.patch
@@ -0,0 +1,44 @@
+From c7513195a72b2e5be5c9c439cc606eb5dcc3fb7a Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Tue, 12 Jul 2022 17:44:34 +0100
+Subject: [PATCH] nftables: python: Split root from prefix
+
+The buildpaths QA check fails when python is enabled:
+
+  WARNING: nftables-1.0.4-r0 do_package_qa: QA Issue: File /usr/lib/python3.10/site-packages/nftables/__pycache__/nftables.cpython-310.pyc in package nftables-python contains reference to TMPDIR
+  File /usr/lib/python3.10/site-packages/nftables/__pycache__/__init__.cpython-310.pyc in package nftables-python contains reference to TMPDIR [buildpaths]
+
+Upstream-Status: Pending
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ py/Makefile.am | 2 +-
+ py/setup.py    | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/py/Makefile.am b/py/Makefile.am
+index 215ecd9e4751..a827cca10135 100644
+--- a/py/Makefile.am
++++ b/py/Makefile.am
+@@ -7,7 +7,7 @@ all-local:
+ install-exec-local:
+ 	cd $(srcdir) && \
+ 		$(PYTHON_BIN) setup.py build --build-base $(abs_builddir) \
+-		install --prefix $(DESTDIR)$(prefix)
++		install --root $(DESTDIR) --prefix $(prefix)
+ 
+ uninstall-local:
+ 	rm -rf $(DESTDIR)$(prefix)/lib*/python*/site-packages/nftables
+diff --git a/py/setup.py b/py/setup.py
+index 72fc8fd98b26..976aec583b71 100755
+--- a/py/setup.py
++++ b/py/setup.py
+@@ -1,5 +1,5 @@
+ #!/usr/bin/env python
+-from distutils.core import setup
++from setuptools._distutils.core import setup
+ from nftables import NFTABLES_VERSION
+ 
+ setup(name='nftables',
+-- 
+2.35.1
+
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.2.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.4.bb
similarity index 69%
rename from meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.2.bb
rename to meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.4.bb
index e078be7..3466e16 100644
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.2.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.4.bb
@@ -6,26 +6,27 @@
 DEPENDS = "libmnl libnftnl bison-native \
            ${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}"
 
-# Ensure we reject the 0.099 version by matching at least two dots
-UPSTREAM_CHECK_REGEX = "nftables-(?P<pver>\d+(\.\d+){2,}).tar.bz2"
-
 SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \
-           file://0001-examples-compile-with-make-check-and-add-AM_CPPFLAGS.patch \
+           file://0001-nftables-python-Split-root-from-prefix.patch \
            file://run-ptest \
           "
 
-SRC_URI[sha256sum] = "0b28a36ffcf4567b841de7bd3f37918b1fed27859eb48bdec51e1f7a83954c02"
+SRC_URI[sha256sum] = "927fb1fea1f685a328c10cf791eb655d7e1ed49d310eea5cb3101dfd8d6cba35"
 
 inherit autotools manpages pkgconfig ptest
 
-PACKAGECONFIG ??= "python readline json"
+PACKAGECONFIG ?= "python readline json"
+PACKAGECONFIG[editline] = "--with-cli=editline, , libedit, , , linenoise readline"
 PACKAGECONFIG[json] = "--with-json, --without-json, jansson"
+PACKAGECONFIG[linenoise] = "--with-cli=linenoise, , linenoise, , , editline readline"
 PACKAGECONFIG[manpages] = "--enable-man-doc, --disable-man-doc, asciidoc-native"
 PACKAGECONFIG[mini-gmp] = "--with-mini-gmp, --without-mini-gmp"
-PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --with-python-bin="", python3"
-PACKAGECONFIG[readline] = "--with-cli=readline, --without-cli, readline"
+PACKAGECONFIG[python] = "--enable-python --with-python-bin=${PYTHON}, --disable-python, python3-setuptools-native"
+PACKAGECONFIG[readline] = "--with-cli=readline, , readline, , , editline linenoise"
 PACKAGECONFIG[xtables] = "--with-xtables, --without-xtables, iptables"
 
+EXTRA_OECONF = "${@bb.utils.contains_any('PACKAGECONFIG', 'editline linenoise readline', '', '--without-cli', d)}"
+
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
 
 RRECOMMENDS:${PN} += "kernel-module-nf-tables"
@@ -34,7 +35,7 @@
 FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
 RDEPENDS:${PN}-python = "python3-core python3-json ${PN}"
 
-RDEPENDS:${PN}-ptest += " make bash python3-core python3-ctypes python3-json python3-misc util-linux"
+RDEPENDS:${PN}-ptest += " ${PN}-python make bash python3-core python3-ctypes python3-json python3-misc util-linux"
 
 TESTDIR = "tests"
 
@@ -46,7 +47,6 @@
     mkdir -p ${D}${PTEST_PATH}/src/.libs
     cp -rf ${B}/src/.libs/* ${D}${PTEST_PATH}/src/.libs
     cp -rf ${B}/src/.libs/nft ${D}${PTEST_PATH}/src/
-    cp -rf ${S}/py ${D}${PTEST_PATH}
     cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}/${TESTDIR}
     sed -i 's#/usr/bin/python#/usr/bin/python3#' ${D}${PTEST_PATH}/${TESTDIR}/json_echo/run-test.py
     sed -i 's#/usr/bin/env python#/usr/bin/env python3#' ${D}${PTEST_PATH}/${TESTDIR}/py/nft-test.py
diff --git a/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc b/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
index 15eb65a..ccafaf0 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
+++ b/meta-openembedded/meta-networking/recipes-protocols/openflow/openflow.inc
@@ -53,3 +53,7 @@
 }
 
 FILES:${PN} += "${nonarch_libdir}/tmpfiles.d"
+
+# This CVE is not for this product but cve-check assumes it is
+# because two CPE collides when checking the NVD database
+CVE_CHECK_IGNORE = "CVE-2018-1078"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb
index a7697a1..984264a 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/quagga/quagga_1.2.4.bb
@@ -2,3 +2,7 @@
 
 SRC_URI[md5sum] = "eced21b054d71c9e1b7c6ac43286a166"
 SRC_URI[sha256sum] = "e364c082c3309910e1eb7b068bf39ee298e2f2f3f31a6431a5c115193bd653d3"
+
+CVE_CHECK_IGNORE += "\
+    CVE-2016-4049 \
+"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb b/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
index 4f8e4d4..dcfa740 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/usrsctp/usrsctp_git.bb
@@ -23,3 +23,5 @@
 PACKAGECONFIG[inet6] = "--enable-inet6,--disable-inet6,"
 
 EXTRA_OECONF += "--disable-debug"
+
+CVE_VERSION = "0.9.3.0"
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.2.bb b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.2.bb
index 57dd635..8ce9e1d 100644
--- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.2.bb
@@ -126,6 +126,10 @@
            ${D}${systemd_unitdir}/system/chronyd.service
     sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd
     sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service
+
+    install -d ${D}${sysconfdir}/tmpfiles.d
+    echo "d /var/lib/chrony 0755 root root -" > ${D}${sysconfdir}/tmpfiles.d/chronyd.conf
+
 }
 
 FILES:${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}/lib/chrony ${localstatedir}"
diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/CVE-2022-0934.patch b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/CVE-2022-0934.patch
new file mode 100644
index 0000000..6bd734d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/CVE-2022-0934.patch
@@ -0,0 +1,191 @@
+From 3cdecc159e0f417a2f8d43d99632af26beea630f Mon Sep 17 00:00:00 2001
+From: Simon Kelley <simon@thekelleys.org.uk>
+Date: Thu, 31 Mar 2022 21:35:20 +0100
+Subject: [PATCH] Fix write-after-free error in DHCPv6 code. CVE-2022-0934
+ refers.
+
+CVE: CVE-2022-0934
+
+Upstream-Status: Backport
+[https://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=03345ecefe]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CHANGELOG     |  3 +++
+ src/rfc3315.c | 48 +++++++++++++++++++++++++++---------------------
+ 2 files changed, 30 insertions(+), 21 deletions(-)
+
+diff --git a/CHANGELOG b/CHANGELOG
+index 5e54df9..a28da2a 100644
+--- a/CHANGELOG
++++ b/CHANGELOG
+@@ -1,4 +1,7 @@
+ version 2.86
++	Fix write-after-free error in DHCPv6 server code.
++	CVE-2022-0934 refers.
++
+ 	Handle DHCPREBIND requests in the DHCPv6 server code.
+ 	Thanks to Aichun Li for spotting this omission, and the initial
+ 	patch.
+diff --git a/src/rfc3315.c b/src/rfc3315.c
+index 5c2ff97..6ecfeeb 100644
+--- a/src/rfc3315.c
++++ b/src/rfc3315.c
+@@ -33,9 +33,9 @@ struct state {
+   unsigned int mac_len, mac_type;
+ };
+ 
+-static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz, 
++static int dhcp6_maybe_relay(struct state *state, unsigned char *inbuff, size_t sz, 
+ 			     struct in6_addr *client_addr, int is_unicast, time_t now);
+-static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_t sz, int is_unicast, time_t now);
++static int dhcp6_no_relay(struct state *state, int msg_type, unsigned char *inbuff, size_t sz, int is_unicast, time_t now);
+ static void log6_opts(int nest, unsigned int xid, void *start_opts, void *end_opts);
+ static void log6_packet(struct state *state, char *type, struct in6_addr *addr, char *string);
+ static void log6_quiet(struct state *state, char *type, struct in6_addr *addr, char *string);
+@@ -104,12 +104,12 @@ unsigned short dhcp6_reply(struct dhcp_context *context, int interface, char *if
+ }
+ 
+ /* This cost me blood to write, it will probably cost you blood to understand - srk. */
+-static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz, 
++static int dhcp6_maybe_relay(struct state *state, unsigned char *inbuff, size_t sz, 
+ 			     struct in6_addr *client_addr, int is_unicast, time_t now)
+ {
+   void *end = inbuff + sz;
+   void *opts = inbuff + 34;
+-  int msg_type = *((unsigned char *)inbuff);
++  int msg_type = *inbuff;
+   unsigned char *outmsgtypep;
+   void *opt;
+   struct dhcp_vendor *vendor;
+@@ -259,15 +259,15 @@ static int dhcp6_maybe_relay(struct state *state, void *inbuff, size_t sz,
+   return 1;
+ }
+ 
+-static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_t sz, int is_unicast, time_t now)
++static int dhcp6_no_relay(struct state *state, int msg_type, unsigned char *inbuff, size_t sz, int is_unicast, time_t now)
+ {
+   void *opt;
+-  int i, o, o1, start_opts;
++  int i, o, o1, start_opts, start_msg;
+   struct dhcp_opt *opt_cfg;
+   struct dhcp_netid *tagif;
+   struct dhcp_config *config = NULL;
+   struct dhcp_netid known_id, iface_id, v6_id;
+-  unsigned char *outmsgtypep;
++  unsigned char outmsgtype;
+   struct dhcp_vendor *vendor;
+   struct dhcp_context *context_tmp;
+   struct dhcp_mac *mac_opt;
+@@ -296,12 +296,13 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+   v6_id.next = state->tags;
+   state->tags = &v6_id;
+ 
+-  /* copy over transaction-id, and save pointer to message type */
+-  if (!(outmsgtypep = put_opt6(inbuff, 4)))
++  start_msg = save_counter(-1);
++  /* copy over transaction-id */
++  if (!put_opt6(inbuff, 4))
+     return 0;
+   start_opts = save_counter(-1);
+-  state->xid = outmsgtypep[3] | outmsgtypep[2] << 8 | outmsgtypep[1] << 16;
+-   
++  state->xid = inbuff[3] | inbuff[2] << 8 | inbuff[1] << 16;
++    
+   /* We're going to be linking tags from all context we use. 
+      mark them as unused so we don't link one twice and break the list */
+   for (context_tmp = state->context; context_tmp; context_tmp = context_tmp->current)
+@@ -347,7 +348,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+       (msg_type == DHCP6REQUEST || msg_type == DHCP6RENEW || msg_type == DHCP6RELEASE || msg_type == DHCP6DECLINE))
+     
+     {  
+-      *outmsgtypep = DHCP6REPLY;
++      outmsgtype = DHCP6REPLY;
+       o1 = new_opt6(OPTION6_STATUS_CODE);
+       put_opt6_short(DHCP6USEMULTI);
+       put_opt6_string("Use multicast");
+@@ -619,11 +620,11 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+ 	struct dhcp_netid *solicit_tags;
+ 	struct dhcp_context *c;
+ 	
+-	*outmsgtypep = DHCP6ADVERTISE;
++	outmsgtype = DHCP6ADVERTISE;
+ 	
+ 	if (opt6_find(state->packet_options, state->end, OPTION6_RAPID_COMMIT, 0))
+ 	  {
+-	    *outmsgtypep = DHCP6REPLY;
++	    outmsgtype = DHCP6REPLY;
+ 	    state->lease_allocate = 1;
+ 	    o = new_opt6(OPTION6_RAPID_COMMIT);
+ 	    end_opt6(o);
+@@ -809,7 +810,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+ 	int start = save_counter(-1);
+ 
+ 	/* set reply message type */
+-	*outmsgtypep = DHCP6REPLY;
++	outmsgtype = DHCP6REPLY;
+ 	state->lease_allocate = 1;
+ 
+ 	log6_quiet(state, "DHCPREQUEST", NULL, ignore ? _("ignored") : NULL);
+@@ -924,7 +925,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+ 	int address_assigned = 0;
+ 
+ 	/* set reply message type */
+-	*outmsgtypep = DHCP6REPLY;
++	outmsgtype = DHCP6REPLY;
+ 	
+ 	log6_quiet(state, msg_type == DHCP6RENEW ? "DHCPRENEW" : "DHCPREBIND", NULL, NULL);
+ 
+@@ -1057,7 +1058,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+ 	int good_addr = 0;
+ 
+ 	/* set reply message type */
+-	*outmsgtypep = DHCP6REPLY;
++	outmsgtype = DHCP6REPLY;
+ 	
+ 	log6_quiet(state, "DHCPCONFIRM", NULL, NULL);
+ 	
+@@ -1121,7 +1122,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+ 	log6_quiet(state, "DHCPINFORMATION-REQUEST", NULL, ignore ? _("ignored") : state->hostname);
+ 	if (ignore)
+ 	  return 0;
+-	*outmsgtypep = DHCP6REPLY;
++	outmsgtype = DHCP6REPLY;
+ 	tagif = add_options(state, 1);
+ 	break;
+       }
+@@ -1130,7 +1131,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+     case DHCP6RELEASE:
+       {
+ 	/* set reply message type */
+-	*outmsgtypep = DHCP6REPLY;
++	outmsgtype = DHCP6REPLY;
+ 
+ 	log6_quiet(state, "DHCPRELEASE", NULL, NULL);
+ 
+@@ -1195,7 +1196,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+     case DHCP6DECLINE:
+       {
+ 	/* set reply message type */
+-	*outmsgtypep = DHCP6REPLY;
++	outmsgtype = DHCP6REPLY;
+ 	
+ 	log6_quiet(state, "DHCPDECLINE", NULL, NULL);
+ 
+@@ -1275,7 +1276,12 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
+       }
+ 
+     }
+-  
++
++  /* Fill in the message type. Note that we store the offset,
++     not a direct pointer, since the packet memory may have been 
++     reallocated. */
++  ((unsigned char *)(daemon->outpacket.iov_base))[start_msg] = outmsgtype;
++
+   log_tags(tagif, state->xid);
+   log6_opts(0, state->xid, daemon->outpacket.iov_base + start_opts, daemon->outpacket.iov_base + save_counter(-1));
+   
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.86.bb b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.86.bb
index 31ca51e..0f7880c 100644
--- a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.86.bb
+++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.86.bb
@@ -3,5 +3,6 @@
 SRC_URI[dnsmasq-2.86.sha256sum] = "ef15f608a83ee2b1d1d2c1f11d089a7e0ac401ffb0991de73fc01ce5f290e512"
 SRC_URI += "\
     file://lua.patch \
+    file://CVE-2022-0934.patch \
 "
 
diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.7.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.10.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.7.bb
rename to meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.10.bb
index 2de32cc..07870bb 100644
--- a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.7.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.10.bb
@@ -11,8 +11,7 @@
 
 SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https;branch=master \
 "
-
-SRCREV = "7c0e2d19d30eb0bd2e079febb5a2c31f65e5023d"
+SRCREV = "1c31e0e5397646ae3709b1fbfd9c3b47b904f254"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/netperf/files/netserver_permissions.patch b/meta-openembedded/meta-networking/recipes-support/netperf/files/netserver_permissions.patch
new file mode 100644
index 0000000..5531636
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/netperf/files/netserver_permissions.patch
@@ -0,0 +1,29 @@
+From 78c9ae7d9a6735575bc72dd28a19b2bc3a251981 Mon Sep 17 00:00:00 2001
+From: Andrew Elble <aweits@rit.edu>
+Date: Mon, 8 Oct 2018 14:31:20 -0400
+Subject: [PATCH] netserver: don't change permissions on /dev/null
+
+the (now default) suppress_debug=1 changes permissions on /dev/null
+to 0644. Don't do this.
+
+Upstream-Status: Pending [https://github.com/HewlettPackard/netperf/pull/27/commits/78c9ae7d9a6735575bc72dd28a19b2bc3a251981]
+Signed-off-by: Ashish Sharma <asharma@mvista.com>
+
+---
+ src/netserver.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/netserver.c b/src/netserver.c
+index 00c8d23..86a1c45 100644
+--- a/src/netserver.c
++++ b/src/netserver.c
+@@ -278,7 +278,8 @@ open_debug_file()
+ 
+ #if !defined(WIN32)
+ 
+-  chmod(FileName,0644);
++  if (!suppress_debug)
++    chmod(FileName,0644);
+ 
+   /* redirect stdin to "/dev/null" */
+   rd_null_fp = fopen(NETPERF_NULL,"r");
diff --git a/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb b/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
index 62ba966..06b2edd 100644
--- a/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/netperf/netperf_git.bb
@@ -14,6 +14,7 @@
            file://netserver.service \
            file://0001-netlib.c-Move-including-sched.h-out-og-function.patch \
            file://0001-nettest_omni-Remove-duplicate-variable-definitions.patch \
+           file://netserver_permissions.patch \
            "
 
 SRCREV = "3bc455b23f901dae377ca0a558e1e32aa56b31c4"
diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb
index fe2bd07..a30f720 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p15.bb
@@ -29,7 +29,31 @@
 SRC_URI[sha256sum] = "f65840deab68614d5d7ceb2d0bb9304ff70dcdedd09abb79754a87536b849c19"
 
 # CVE-2016-9312 is only for windows.
-CVE_CHECK_IGNORE += "CVE-2016-9312"
+# The other CVEs are not correctly identified because cve-check
+# is not able to check the version correctly (it only checks for 4.2.8 omitting p15 that makes the difference)
+CVE_CHECK_IGNORE += "\
+    CVE-2016-9312 \
+    CVE-2015-5146 \
+    CVE-2015-5300 \
+    CVE-2015-7975 \
+    CVE-2015-7976 \
+    CVE-2015-7977 \
+    CVE-2015-7978 \
+    CVE-2015-7979 \
+    CVE-2015-8138 \
+    CVE-2015-8139 \
+    CVE-2015-8140 \
+    CVE-2015-8158 \
+    CVE-2016-1547 \
+    CVE-2016-2516 \
+    CVE-2016-2517 \
+    CVE-2016-2519 \
+    CVE-2016-7429 \
+    CVE-2016-7433 \
+    CVE-2016-9310 \
+    CVE-2016-9311 \
+"
+
 
 inherit autotools update-rc.d useradd systemd pkgconfig
 
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch
new file mode 100644
index 0000000..03b454d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch
@@ -0,0 +1,48 @@
+From ea179d83b0aa62719d90748cd1fb260f40055f15 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Mon, 13 Jun 2022 22:44:28 +0800
+Subject: [PATCH] configure.ac: eliminate build path from openvpn --version
+ option
+
+Before the patch:
+$ openvpn  --version
+OpenVPN 2.5.7 x86_64-poky-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL]
+[snip]
+Compile time defines: enable_async_push=no enable_comp_stub=no
+[snip]
+with_crypto_library=openssl with_gnu_ld=yes
+with_libtool_sysroot=/buildarea/build/tmp/work/core2-64-poky-linux/openvpn/2.5.7-r0/recipe-sysroot
+with_mem_check=no with_openssl_engine=auto
+
+After the patch:
+$ openvpn  --version
+OpenVPN 2.5.7 x86_64-poky-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL]
+[snip]
+Compile time defines: enable_async_push=no enable_comp_stub=no
+[snip]
+with_crypto_library=openssl with_gnu_ld=yes with_mem_check=no
+with_openssl_engine=auto
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2f5f6bc..eddcbc5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1377,7 +1377,7 @@ if test "${enable_async_push}" = "yes"; then
+ 	esac
+ fi
+ 
+-CONFIGURE_DEFINES="`set | grep '^enable_.*=' ; set | grep '^with_.*='`"
++CONFIGURE_DEFINES="`set | grep '^enable_.*=' ; set | grep '^with_.*=' | grep -v 'libtool_sysroot'`"
+ AC_DEFINE_UNQUOTED([CONFIGURE_DEFINES], ["`echo ${CONFIGURE_DEFINES}`"], [Configuration settings])
+ 
+ TAP_WIN_COMPONENT_ID="PRODUCT_TAP_WIN_COMPONENT_ID"
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn
old mode 100755
new mode 100644
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf
deleted file mode 100644
index 1205806..0000000
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn-volatile.conf
+++ /dev/null
@@ -1 +0,0 @@
-d @LOCALSTATEDIR@/run/openvpn 0755 root root -
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service
deleted file mode 100644
index 01dd2e8..0000000
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn@.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
-After=syslog.target network.target
-
-[Service]
-PrivateTmp=true
-Type=forking
-PIDFile=/var/run/openvpn/%i.pid
-ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --cipher AES-256-GCM --data-ciphers AES-256-GCM:AES-128-GCM:AES-256-CBC:AES-128-CBC:BF-CBC --config %i.conf
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb
index 3ed90a7..a28c73a 100644
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn_2.5.7.bb
@@ -5,12 +5,12 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b76abd82c14ee01cc34c4ff5e3627b89"
 DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 
-inherit autotools systemd update-rc.d
+inherit autotools systemd update-rc.d pkgconfig
 
 SRC_URI = "http://swupdate.openvpn.org/community/releases/${BP}.tar.gz \
+           file://0001-configure.ac-eliminate-build-path-from-openvpn-versi.patch \
            file://openvpn \
-           file://openvpn@.service \
-           file://openvpn-volatile.conf"
+          "
 
 UPSTREAM_CHECK_URI = "https://openvpn.net/community-downloads"
 
@@ -19,9 +19,6 @@
 # CVE-2020-7224 and CVE-2020-27569 are for Aviatrix OpenVPN client, not for openvpn.
 CVE_CHECK_IGNORE += "CVE-2020-7224 CVE-2020-27569"
 
-SYSTEMD_SERVICE:${PN} += "openvpn@loopback-server.service openvpn@loopback-client.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
 INITSCRIPT_PACKAGES = "${PN}"
 INITSCRIPT_NAME:${PN} = "openvpn"
 INITSCRIPT_PARAMS:${PN} = "start 10 2 3 4 5 . stop 70 0 1 6 ."
@@ -35,31 +32,36 @@
 # Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
 EXTRA_OECONF += "IPROUTE=${base_sbindir}/ip"
 
+EXTRA_OECONF += "SYSTEMD_UNIT_DIR=${systemd_system_unitdir} \
+                 TMPFILES_DIR=${nonarch_libdir}/tmpfiles.d \
+                "
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+                   ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
+                  "
+
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
+
 do_install:append() {
     install -d ${D}/${sysconfdir}/init.d
     install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
 
     install -d ${D}/${sysconfdir}/openvpn
+    install -d ${D}/${sysconfdir}/openvpn/server
+    install -d ${D}/${sysconfdir}/openvpn/client
+
     install -d ${D}/${sysconfdir}/openvpn/sample
-    install -m 755 ${S}/sample/sample-config-files/loopback-server  ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
-    install -m 755 ${S}/sample/sample-config-files/loopback-client  ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
+    install -m 644 ${S}/sample/sample-config-files/loopback-server  ${D}${sysconfdir}/openvpn/sample/loopback-server.conf
+    install -m 644 ${S}/sample/sample-config-files/loopback-client  ${D}${sysconfdir}/openvpn/sample/loopback-client.conf
+    install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-config-files
     install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-keys
+    install -dm 755 ${D}${sysconfdir}/openvpn/sample/sample-scripts
+    install -m 644 ${S}/sample/sample-config-files/* ${D}${sysconfdir}/openvpn/sample/sample-config-files
     install -m 644 ${S}/sample/sample-keys/* ${D}${sysconfdir}/openvpn/sample/sample-keys
+    install -m 644 ${S}/sample/sample-scripts/* ${D}${sysconfdir}/openvpn/sample/sample-scripts
 
-    if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-        install -d ${D}/${systemd_unitdir}/system
-        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system
-        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-server.service
-        install -m 644 ${WORKDIR}/openvpn@.service ${D}/${systemd_unitdir}/system/openvpn@loopback-client.service
-
-        install -d ${D}/${localstatedir}
-        install -d ${D}/${localstatedir}/lib
-        install -d -m 710 ${D}/${localstatedir}/lib/openvpn
-
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        install -m 0644 ${WORKDIR}/openvpn-volatile.conf ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
-        sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/tmpfiles.d/openvpn.conf
-    fi
+    install -d -m 710 ${D}/${localstatedir}/lib/openvpn
 }
 
 PACKAGES =+ " ${PN}-sample "
@@ -67,9 +69,9 @@
 RRECOMMENDS:${PN} = "kernel-module-tun"
 
 FILES:${PN}-dbg += "${libdir}/openvpn/plugins/.debug"
-FILES:${PN} += "${systemd_unitdir}/system/openvpn@.service \
-                ${sysconfdir}/tmpfiles.d \
+FILES:${PN} += "${systemd_system_unitdir}/openvpn-server@.service \
+                ${systemd_system_unitdir}/openvpn-client@.service \
+                ${nonarch_libdir}/tmpfiles.d \
                "
-FILES:${PN}-sample += "${systemd_unitdir}/system/openvpn@loopback-server.service \
-                       ${systemd_unitdir}/system/openvpn@loopback-client.service \
-                       ${sysconfdir}/openvpn/sample/"
+FILES:${PN}-sample = "${sysconfdir}/openvpn/sample/ \
+                     "
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_40.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_40.0.bb
rename to meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb
index c567e33..e5ecc5c 100644
--- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_40.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_41.0.bb
@@ -6,7 +6,7 @@
 RDEPENDS:${PN} = "bash perl"
 
 SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https"
-SRCREV = "a3e69268892bbd5ab30123748e89a26509a25ac5"
+SRCREV = "467363efbc0fea706752c1ba7a21c313823017e7"
 S = "${WORKDIR}/git"
 
 #Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
index d9083bc..1887a55 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
@@ -30,6 +30,12 @@
 
 S = "${WORKDIR}/git"
 
+CVE_CHECK_IGNORE += "\
+    CVE-2016-0749 \
+    CVE-2016-2150 \
+    CVE-2018-10893 \
+"
+
 inherit autotools gettext python3native python3-dir pkgconfig
 
 DEPENDS += "spice-protocol jpeg pixman alsa-lib glib-2.0 python3-pyparsing-native python3-six-native glib-2.0-native"
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-enum-Fix-compiler-warning.patch b/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-enum-Fix-compiler-warning.patch
new file mode 100644
index 0000000..e730fe1
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-enum-Fix-compiler-warning.patch
@@ -0,0 +1,31 @@
+From d23c0ea81e630af3cfda89aeeb52146c0c84c960 Mon Sep 17 00:00:00 2001
+From: Tobias Brunner <tobias@strongswan.org>
+Date: Mon, 2 May 2022 09:31:49 +0200
+Subject: [PATCH] enum: Fix compiler warning
+
+Closes strongswan/strongswan#1025
+
+Upstream-Status: Backport
+[https://github.com/strongswan/strongswan/commit/d23c0ea81e630af3cfda89aeeb52146c0c84c960]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/libstrongswan/utils/enum.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libstrongswan/utils/enum.c b/src/libstrongswan/utils/enum.c
+index 79da450f0c..1e77489f6f 100644
+--- a/src/libstrongswan/utils/enum.c
++++ b/src/libstrongswan/utils/enum.c
+@@ -97,7 +97,7 @@ char *enum_flags_to_string(enum_name_t *e, u_int val, char *buf, size_t len)
+ 		return buf;
+ 	}
+ 
+-	if (snprintf(buf, len, e->names[0]) >= len)
++	if (snprintf(buf, len, "%s", e->names[0]) >= len)
+ 	{
+ 		return NULL;
+ 	}
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-openssl-Don-t-unload-providers.patch b/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-openssl-Don-t-unload-providers.patch
deleted file mode 100644
index 7da48cd..0000000
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-openssl-Don-t-unload-providers.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 3eecd40cec6415fc033f8d9141ab652047e71524 Mon Sep 17 00:00:00 2001
-From: Tobias Brunner <tobias@strongswan.org>
-Date: Wed, 23 Feb 2022 17:29:02 +0100
-Subject: [PATCH] openssl: Don't unload providers
-
-There is a conflict between atexit() handlers registered by OpenSSL and
-some executables (e.g. swanctl or pki) to deinitialize libstrongswan.
-Because plugins are usually loaded after atexit() has been called, the
-handler registered by OpenSSL will run before our handler.  So when the
-latter destroys the plugins it's a bad idea to try to access any OpenSSL
-objects as they might already be invalid.
-
-Fixes: f556fce16b60 ("openssl: Load "legacy" provider in OpenSSL 3 for algorithms like MD4, DES etc.")
-Closes strongswan/strongswan#921
-
-Upstream-Status: Backport
-[https://github.com/strongswan/strongswan/commit/3eecd40cec6415fc033f8d9141ab652047e71524]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- .../plugins/openssl/openssl_plugin.c          | 27 +++----------------
- 1 file changed, 3 insertions(+), 24 deletions(-)
-
-diff --git a/src/libstrongswan/plugins/openssl/openssl_plugin.c b/src/libstrongswan/plugins/openssl/openssl_plugin.c
-index 6b4923649..1491d5cf8 100644
---- a/src/libstrongswan/plugins/openssl/openssl_plugin.c
-+++ b/src/libstrongswan/plugins/openssl/openssl_plugin.c
-@@ -16,7 +16,6 @@
- 
- #include <library.h>
- #include <utils/debug.h>
--#include <collections/array.h>
- #include <threading/thread.h>
- #include <threading/mutex.h>
- #include <threading/thread_value.h>
-@@ -74,13 +73,6 @@ struct private_openssl_plugin_t {
- 	 * public functions
- 	 */
- 	openssl_plugin_t public;
--
--#if OPENSSL_VERSION_NUMBER >= 0x30000000L
--	/**
--	 * Loaded providers
--	 */
--	array_t *providers;
--#endif
- };
- 
- /**
-@@ -887,15 +879,6 @@ METHOD(plugin_t, get_features, int,
- METHOD(plugin_t, destroy, void,
- 	private_openssl_plugin_t *this)
- {
--#if OPENSSL_VERSION_NUMBER >= 0x30000000L
--	OSSL_PROVIDER *provider;
--	while (array_remove(this->providers, ARRAY_TAIL, &provider))
--	{
--		OSSL_PROVIDER_unload(provider);
--	}
--	array_destroy(this->providers);
--#endif /* OPENSSL_VERSION_NUMBER */
--
- /* OpenSSL 1.1.0 cleans up itself at exit and while OPENSSL_cleanup() exists we
-  * can't call it as we couldn't re-initialize the library (as required by the
-  * unit tests and the Android app) */
-@@ -1009,20 +992,16 @@ plugin_t *openssl_plugin_create()
- 			DBG1(DBG_LIB, "unable to load OpenSSL FIPS provider");
- 			return NULL;
- 		}
--		array_insert_create(&this->providers, ARRAY_TAIL, fips);
- 		/* explicitly load the base provider containing encoding functions */
--		array_insert_create(&this->providers, ARRAY_TAIL,
--							OSSL_PROVIDER_load(NULL, "base"));
-+		OSSL_PROVIDER_load(NULL, "base");
- 	}
- 	else if (lib->settings->get_bool(lib->settings, "%s.plugins.openssl.load_legacy",
- 									 TRUE, lib->ns))
- 	{
- 		/* load the legacy provider for algorithms like MD4, DES, BF etc. */
--		array_insert_create(&this->providers, ARRAY_TAIL,
--							OSSL_PROVIDER_load(NULL, "legacy"));
-+		OSSL_PROVIDER_load(NULL, "legacy");
- 		/* explicitly load the default provider, as mentioned by crypto(7) */
--		array_insert_create(&this->providers, ARRAY_TAIL,
--							OSSL_PROVIDER_load(NULL, "default"));
-+		OSSL_PROVIDER_load(NULL, "default");
- 	}
- 	ossl_provider_names_t data = {};
- 	OSSL_PROVIDER_do_all(NULL, concat_ossl_providers, &data);
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.5.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.6.bb
similarity index 97%
rename from meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.5.bb
rename to meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.6.bb
index cfb7b41..1b82dce 100644
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.5.bb
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.9.6.bb
@@ -9,10 +9,10 @@
 DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', '  tpm2-tss', '', d)}"
 
 SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
-           file://0001-openssl-Don-t-unload-providers.patch \
+           file://0001-enum-Fix-compiler-warning.patch \
            "
 
-SRC_URI[sha256sum] = "983e4ef4a4c6c9d69f5fe6707c7fe0b2b9a9291943bbf4e008faab6bf91c0bdd"
+SRC_URI[sha256sum] = "91d0978ac448912759b85452d8ff0d578aafd4507aaf4f1c1719f9d0c7318ab7"
 
 UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.11.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.11.bb
rename to meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb
index f1dba22..38fdbce 100644
--- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.11.bb
+++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb
@@ -19,7 +19,7 @@
 
 UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
 
-SRC_URI[sha256sum] = "a0e227bce2cc3a51ef3301891a0243231990b52a39b68a84a6e32f69c4e75279"
+SRC_URI[sha256sum] = "881a13303e263b7dc7fe337534c8a541d4914552287879bed30bbe76c5bf68ca"
 
 PE = "1"
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index 1406f68..2a3e74f 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -18,12 +18,12 @@
     file://0001-fix-dispmanx-build.patch \
     file://0002-run-dispmanx-fullscreen.patch \
     file://0001-libmatrix-Include-missing-utility-header.patch \
-    "
+"
 SRCREV = "0858b450cd88c84a15b99dda9698d44e7f7e8c70"
 
 S = "${WORKDIR}/git"
 
-inherit waf pkgconfig features_check
+inherit meson pkgconfig features_check
 
 ANY_OF_DISTRO_FEATURES = "opengl dispmanx"
 
@@ -59,6 +59,6 @@
     if "dispmanx" in packageconfig:
         flavors = ["dispmanx-glesv2"]
     if flavors:
-        d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors))
+        d.appendVar("EXTRA_OEMESON", " -Dflavors=%s" % ",".join(flavors))
 }
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
index 4a520e3..86e5fef 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
@@ -19,3 +19,5 @@
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+CVE_PRODUCT = "iperf_project:iperf"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.11.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.11.bb
index a6af23a..2142a8e 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.11.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.11.bb
@@ -30,3 +30,5 @@
 PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl"
 
 CFLAGS += "-D_GNU_SOURCE"
+
+CVE_PRODUCT = "iperf_project:iperf"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.3.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.4.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.3.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.4.bb
index a4d586e..be9756d 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.3.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.4.bb
@@ -6,7 +6,7 @@
 SECTION = "console/tests"
 
 SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
-SRC_URI[sha256sum] = "4b742e28a9542fe2b57aacb691159d69d3e1c77d95da6d24b7867889ce84ba80"
+SRC_URI[sha256sum] = "1f2092d536c0a3193efc53e4a50f3cee65c0ef1a78d31e5404f1c663fff7b7f4"
 
 S = "${WORKDIR}/phoronix-test-suite"
 
diff --git a/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.7.6.bb b/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.8.1.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.7.6.bb
rename to meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.8.1.bb
index 53f1720..7576b84 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.7.6.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.8.1.bb
@@ -6,7 +6,7 @@
 
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
            file://run-ptest"
-SRC_URI[sha256sum] = "7ebe1514acb688d2649cecc392db929094da3f03cfc98a9c0faccabb084912fa"
+SRC_URI[sha256sum] = "5756466442eb9134fb40cdc8a46f9e01003247c8eac82fa5d8b16f6420375b79"
 
 UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.3.bb b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.1.bb
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.3.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.1.bb
index b0fde5e..40ce935 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.2.3.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/irssi/irssi_1.4.1.bb
@@ -6,8 +6,7 @@
 DEPENDS = "glib-2.0 ncurses openssl"
 
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
-SRC_URI[md5sum] = "381d3af259ad15d658be50c0a01f0c28"
-SRC_URI[sha256sum] = "a647bfefed14d2221fa77b6edac594934dc672c4a560417b1abcbbc6b88d769f"
+SRC_URI[sha256sum] = "6a7692741bba16f3ba6f97cf7246421ac57055dcedcca9a4d21663f8efe47501"
 
 UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.27.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.28.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.27.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.28.bb
index dc29bc3..40f35b1 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.27.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.28.bb
@@ -8,7 +8,7 @@
 SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \
            file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \
            "
-SRC_URI[sha256sum] = "013b4a0a79629c20d915954fc3b5d0620ef6e0d6065db3c342f4b3f9111f46ec"
+SRC_URI[sha256sum] = "ee538c720ad15335ece81a52a4b8a11820236df9ed9a5a72a2e64d74c652f0b0"
 
 inherit autotools manpages pkgconfig python3native systemd
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.8.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.4.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.8.bb
index 4807244..a1cfe29 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.4.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.8.bb
@@ -12,7 +12,7 @@
 
 inherit meson pkgconfig bash-completion gobject-introspection
 
-SRCREV ?= "f6c2feaf199e0f129a0bde8c5e6cba5f2117b564"
+SRCREV ?= "95108b6eebfefa6621a1c34565f562eeca9308b9"
 # patch 0001 is on main branch upstream
 SRC_URI = "\
     git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=qmi-1-30 \
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb
index 2d601a2..8141abe 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb
@@ -15,6 +15,8 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
+CVE_PRODUCT = "apache:thrift"
+
 inherit pkgconfig cmake python3native
 
 export STAGING_INCDIR
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
index dfb0b14..7189115 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
@@ -18,3 +18,4 @@
 PACKAGES = "${PN}-dev"
 
 RDEPENDS:${PN}-dev = "zeromq-dev"
+DEV_PKG_DEPENDENCY = ""
diff --git a/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb b/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
index be9ae58..05fa0c3 100644
--- a/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/emlog/emlog_git.bb
@@ -24,3 +24,14 @@
 }
 
 RRECOMMENDS:${PN} += "kernel-module-emlog"
+
+# The NVD database doesn't have a CPE for this product,
+# the name of this product is exactly the same as github.com/emlog/emlog
+# but it's not related in any way. The following CVEs are from that project
+# so they can be safely ignored
+CVE_CHECK_IGNORE += "\
+    CVE-2019-16868 \
+    CVE-2019-17073 \
+    CVE-2021-44584 \
+    CVE-2022-1526 \
+"
diff --git a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb
index f75568a..7347e30 100644
--- a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb
@@ -27,6 +27,8 @@
   oe_runmake -C examples buildtest
 }
 
+PTEST_PARALLEL_MAKE = ""
+
 FILES:${PN}-doc += "${datadir}/devhelp"
 FILES:${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
 
diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.4.3.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.4.3.bb
index 435b554..652fd66 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.4.3.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.4.3.bb
@@ -14,7 +14,6 @@
     libdevmapper \
     popt \
     util-linux-libuuid \
-    libssh \
 "
 
 DEPENDS:append:libc-musl = " argp-standalone"
@@ -39,6 +38,7 @@
     blkid \
     luks-adjust-xts-keysize \
     openssl \
+    ssh-token \
 "
 PACKAGECONFIG:append:class-target = " \
     udev \
@@ -69,7 +69,7 @@
 PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel"
 PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle"
 PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1"
-
+PACKAGECONFIG[ssh-token] = "--enable-ssh-token,--disable-ssh-token,libssh"
 
 EXTRA_OECONF = "--enable-static"
 # Building without largefile is not supported by upstream
@@ -90,6 +90,14 @@
     --with-luks2-parallel-threads=${LUKS2_PARALLEL_THREADS} \
     --with-luks2-iter-time=${LUKS2_ITERTIME}"
 
+do_install:append() {
+    # The /usr/lib/cryptsetup directory is always created, even when ssh-token
+    # is disabled. In that case it is empty and causes a packaging error. Since
+    # there is no reason to distribute the empty directory, the easiest solution
+    # is to remove it if it is empty.
+    rmdir -p --ignore-fail-on-non-empty ${D}${libdir}/${BPN}
+}
+
 FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
 
 RDEPENDS:${PN} = " \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
index 87750ec..6afc45a 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
 
-SRC_URI = "git://github.com/google/${BPN}.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/google/${BPN}.git;branch=main;protocol=https \
            file://run-ptest"
 
 SRCREV = "78b39d68c15ba020c0d60a3906fb66dbf1697595"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.8.3.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.7.4.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.8.3.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 922373b..fa32e68 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -19,11 +19,10 @@
            file://ssize_t.patch \
            file://mm_malloc.patch \
            file://sys_futex.patch \
-           file://mariadb-openssl3.patch \
           "
 SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
 
-SRC_URI[sha256sum] = "73dd9c9d325520f20ca5e0ef16f94b7be1146bed7e4a78e735c20daebf3a4173"
+SRC_URI[sha256sum] = "887eadc55176ac1ead1fccfc89ade4b5990ef192745ad4dcd879acb41c050892"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
@@ -66,7 +65,6 @@
 PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
 PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
 PACKAGECONFIG[krb5] = ", ,krb5"
-PACKAGECONFIG[zstd] = "-DWITH_ROCKSDB_ZSTD=ON,-DWITH_ROCKSDB_ZSTD=OFF,zstd"
 PACKAGECONFIG[openssl] = "-DWITH_SSL='system',-DWITH_SSL='bundled',openssl"
 
 # MariaDB doesn't link properly with gold
@@ -176,6 +174,13 @@
     if [ -f ${D}${datadir}/doc/README ]; then
         mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
     fi
+
+    # mini-benchmark used for Gitlab-CI to run on every commit to catch
+    # if there are severe performance regressions.
+    # remove it to avoid introducing bash dependency
+    if [ -f ${D}${datadir}/mysql/mini-benchmark ]; then
+        rm -rf ${D}${datadir}/mysql/mini-benchmark
+    fi
     if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
         pam_so=$(find ${D} -name pam_user_map.so)
         if [ x"${pam_so}" != x ]; then
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mariadb-openssl3.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mariadb-openssl3.patch
deleted file mode 100644
index 878675f..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/mariadb-openssl3.patch
+++ /dev/null
@@ -1,416 +0,0 @@
-From 1626955f3a2107ec4c7fd927ebfa3c6c1d2b09b8 Mon Sep 17 00:00:00 2001
-From: Vladislav Vaintroub <wlad@mariadb.com>
-Date: Mon, 8 Nov 2021 18:48:19 +0100
-Subject: [PATCH] MDEV-25785 Add support for OpenSSL 3.0
-
-Summary of changes
-
-- MD_CTX_SIZE is increased
-
-- EVP_CIPHER_CTX_buf_noconst(ctx) does not work anymore, points
-  to nobody knows where. The assumption made previously was that
-  (since the function does not seem to be documented)
-  was that it points to the last partial source block.
-  Add own partial block buffer for NOPAD encryption instead
-
-- SECLEVEL in CipherString in openssl.cnf
-  had been downgraded to 0, from 1, to make TLSv1.0 and TLSv1.1 possible
-
-- Workaround Ssl_cipher_list issue, it now returns TLSv1.3 ciphers,
-  in addition to what was set in --ssl-cipher
-
-- ctx_buf buffer now must be aligned to 16 bytes with openssl(
-  previously with WolfSSL only), ot crashes will happen
-
-- updated aes-t , to be better debuggable
-  using function, rather than a huge multiline macro
-  added test that does "nopad" encryption piece-wise, to test
-  replacement of EVP_CIPHER_CTX_buf_noconst
-
-Patch from Fedora https://src.fedoraproject.org/rpms/mariadb/raw/rawhide/f/mariadb-openssl3.patch
-
-Upstream-Status: Backport [https://github.com/MariaDB/server/commit/d42c2efbaa06a0307c2f0fd8fa87819ff50bbd7e]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- cmake/ssl.cmake                   |  21 +++++-
- include/mysql/service_my_crypt.h  |   2 +-
- include/ssl_compat.h              |   3 +-
- mysql-test/lib/openssl.cnf        |   2 +-
- mysql-test/main/ssl_cipher.result |   6 +-
- mysql-test/main/ssl_cipher.test   |   2 +-
- mysys_ssl/my_crypt.cc             |  46 +++++++-----
- unittest/mysys/aes-t.c            | 121 ++++++++++++++++++++++--------
- 8 files changed, 143 insertions(+), 60 deletions(-)
-
-diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake
-index a6793cf3..64c93ff9 100644
---- a/cmake/ssl.cmake
-+++ b/cmake/ssl.cmake
-@@ -118,7 +118,7 @@ MACRO (MYSQL_CHECK_SSL)
-     ENDIF()
-     FIND_PACKAGE(OpenSSL)
-     SET_PACKAGE_PROPERTIES(OpenSSL PROPERTIES TYPE RECOMMENDED)
--    IF(OPENSSL_FOUND AND OPENSSL_VERSION AND OPENSSL_VERSION VERSION_LESS "3.0.0")
-+    IF(OPENSSL_FOUND)
-       SET(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY})
-       INCLUDE(CheckSymbolExists)
-       SET(SSL_SOURCES "")
-@@ -139,9 +139,20 @@ MACRO (MYSQL_CHECK_SSL)
-       SET(SSL_INTERNAL_INCLUDE_DIRS "")
-       SET(SSL_DEFINES "-DHAVE_OPENSSL")
- 
-+      FOREACH(x INCLUDES LIBRARIES DEFINITIONS)
-+        SET(SAVE_CMAKE_REQUIRED_${x} ${CMAKE_REQUIRED_${x}})
-+      ENDFOREACH()
-+
-+      # Silence "deprecated in OpenSSL 3.0"
-+      IF((NOT OPENSSL_VERSION) # 3.0 not determined by older cmake
-+         OR NOT(OPENSSL_VERSION VERSION_LESS "3.0.0"))
-+        SET(SSL_DEFINES "${SSL_DEFINES} -DOPENSSL_API_COMPAT=0x10100000L")
-+        SET(CMAKE_REQUIRED_DEFINITIONS -DOPENSSL_API_COMPAT=0x10100000L)
-+      ENDIF()
-+
-       SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
-       SET(CMAKE_REQUIRED_LIBRARIES ${SSL_LIBRARIES})
--      SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
-+
-       CHECK_SYMBOL_EXISTS(ERR_remove_thread_state "openssl/err.h"
-                           HAVE_ERR_remove_thread_state)
-       CHECK_SYMBOL_EXISTS(EVP_aes_128_ctr "openssl/evp.h"
-@@ -150,8 +161,10 @@ MACRO (MYSQL_CHECK_SSL)
-                           HAVE_EncryptAes128Gcm)
-       CHECK_SYMBOL_EXISTS(X509_check_host "openssl/x509v3.h"
-                           HAVE_X509_check_host)
--      SET(CMAKE_REQUIRED_INCLUDES)
--      SET(CMAKE_REQUIRED_LIBRARIES)
-+
-+      FOREACH(x INCLUDES LIBRARIES DEFINITIONS)
-+        SET(CMAKE_REQUIRED_${x} ${SAVE_CMAKE_REQUIRED_${x}})
-+      ENDFOREACH()
-     ELSE()
-       IF(WITH_SSL STREQUAL "system")
-         MESSAGE(FATAL_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support")
-diff --git a/include/mysql/service_my_crypt.h b/include/mysql/service_my_crypt.h
-index 2a232117..bb038aaa 100644
---- a/include/mysql/service_my_crypt.h
-+++ b/include/mysql/service_my_crypt.h
-@@ -45,7 +45,7 @@ extern "C" {
- /* The max key length of all supported algorithms */
- #define MY_AES_MAX_KEY_LENGTH 32
- 
--#define MY_AES_CTX_SIZE 656
-+#define MY_AES_CTX_SIZE 672
- 
- enum my_aes_mode {
-     MY_AES_ECB, MY_AES_CBC
-diff --git a/include/ssl_compat.h b/include/ssl_compat.h
-index 8dc12254..6db1baab 100644
---- a/include/ssl_compat.h
-+++ b/include/ssl_compat.h
-@@ -24,7 +24,7 @@
- #define SSL_LIBRARY OpenSSL_version(OPENSSL_VERSION)
- #define ERR_remove_state(X) ERR_clear_error()
- #define EVP_CIPHER_CTX_SIZE 176
--#define EVP_MD_CTX_SIZE 48
-+#define EVP_MD_CTX_SIZE 72
- #undef EVP_MD_CTX_init
- #define EVP_MD_CTX_init(X) do { memset((X), 0, EVP_MD_CTX_SIZE); EVP_MD_CTX_reset(X); } while(0)
- #undef EVP_CIPHER_CTX_init
-@@ -77,7 +77,6 @@
- #define DH_set0_pqg(D,P,Q,G)            ((D)->p= (P), (D)->g= (G))
- #endif
- 
--#define EVP_CIPHER_CTX_buf_noconst(ctx) ((ctx)->buf)
- #define EVP_CIPHER_CTX_encrypting(ctx)  ((ctx)->encrypt)
- #define EVP_CIPHER_CTX_SIZE             sizeof(EVP_CIPHER_CTX)
- 
-diff --git a/mysql-test/lib/openssl.cnf b/mysql-test/lib/openssl.cnf
-index b9ab37ac..7cd6f748 100644
---- a/mysql-test/lib/openssl.cnf
-+++ b/mysql-test/lib/openssl.cnf
-@@ -9,4 +9,4 @@ ssl_conf = ssl_section
- system_default = system_default_section
- 
- [system_default_section]
--CipherString = ALL:@SECLEVEL=1
-+CipherString = ALL:@SECLEVEL=0
-diff --git a/mysql-test/main/ssl_cipher.result b/mysql-test/main/ssl_cipher.result
-index 930d384e..66d817b7 100644
---- a/mysql-test/main/ssl_cipher.result
-+++ b/mysql-test/main/ssl_cipher.result
-@@ -61,8 +61,8 @@ connect  ssl_con,localhost,root,,,,,SSL;
- SHOW STATUS LIKE 'Ssl_cipher';
- Variable_name	Value
- Ssl_cipher	AES128-SHA
--SHOW STATUS LIKE 'Ssl_cipher_list';
--Variable_name	Value
--Ssl_cipher_list	AES128-SHA
-+SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list';
-+VARIABLE_VALUE like '%AES128-SHA%'
-+1
- disconnect ssl_con;
- connection default;
-diff --git a/mysql-test/main/ssl_cipher.test b/mysql-test/main/ssl_cipher.test
-index 36549d76..d4cdcffb 100644
---- a/mysql-test/main/ssl_cipher.test
-+++ b/mysql-test/main/ssl_cipher.test
-@@ -98,6 +98,6 @@ let $restart_parameters=--ssl-cipher=AES128-SHA;
- source include/restart_mysqld.inc;
- connect (ssl_con,localhost,root,,,,,SSL);
- SHOW STATUS LIKE 'Ssl_cipher';
--SHOW STATUS LIKE 'Ssl_cipher_list';
-+SELECT VARIABLE_VALUE like '%AES128-SHA%' FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME='Ssl_cipher_list';
- disconnect ssl_con;
- connection default;
-diff --git a/mysys_ssl/my_crypt.cc b/mysys_ssl/my_crypt.cc
-index e512eee9..4d7ebc7b 100644
---- a/mysys_ssl/my_crypt.cc
-+++ b/mysys_ssl/my_crypt.cc
-@@ -29,11 +29,7 @@
- #include <ssl_compat.h>
- #include <cstdint>
- 
--#ifdef HAVE_WOLFSSL
- #define CTX_ALIGN 16
--#else
--#define CTX_ALIGN 0
--#endif
- 
- class MyCTX
- {
-@@ -100,8 +96,9 @@ class MyCTX_nopad : public MyCTX
- {
- public:
-   const uchar *key;
--  uint klen, buf_len;
-+  uint klen, source_tail_len;
-   uchar oiv[MY_AES_BLOCK_SIZE];
-+  uchar source_tail[MY_AES_BLOCK_SIZE];
- 
-   MyCTX_nopad() : MyCTX() { }
-   ~MyCTX_nopad() { }
-@@ -112,7 +109,7 @@ class MyCTX_nopad : public MyCTX
-     compile_time_assert(MY_AES_CTX_SIZE >= sizeof(MyCTX_nopad));
-     this->key= key;
-     this->klen= klen;
--    this->buf_len= 0;
-+    this->source_tail_len= 0;
-     if (ivlen)
-       memcpy(oiv, iv, ivlen);
-     DBUG_ASSERT(ivlen == 0 || ivlen == sizeof(oiv));
-@@ -123,26 +120,41 @@ class MyCTX_nopad : public MyCTX
-     return res;
-   }
- 
-+  /** Update last partial source block, stored in source_tail array. */
-+  void update_source_tail(const uchar* src, uint slen)
-+  {
-+    if (!slen)
-+      return;
-+    uint new_tail_len= (source_tail_len + slen) % MY_AES_BLOCK_SIZE;
-+    if (new_tail_len)
-+    {
-+      if (slen + source_tail_len < MY_AES_BLOCK_SIZE)
-+      {
-+        memcpy(source_tail + source_tail_len, src, slen);
-+      }
-+      else
-+      {
-+        DBUG_ASSERT(slen > new_tail_len);
-+        memcpy(source_tail, src + slen - new_tail_len, new_tail_len);
-+      }
-+    }
-+    source_tail_len= new_tail_len;
-+  }
-+
-   int update(const uchar *src, uint slen, uchar *dst, uint *dlen)
-   {
--    buf_len+= slen;
-+    update_source_tail(src, slen);
-     return MyCTX::update(src, slen, dst, dlen);
-   }
- 
-   int finish(uchar *dst, uint *dlen)
-   {
--    buf_len %= MY_AES_BLOCK_SIZE;
--    if (buf_len)
-+    if (source_tail_len)
-     {
--      uchar *buf= EVP_CIPHER_CTX_buf_noconst(ctx);
-       /*
-         Not much we can do, block ciphers cannot encrypt data that aren't
-         a multiple of the block length. At least not without padding.
-         Let's do something CTR-like for the last partial block.
--
--        NOTE this assumes that there are only buf_len bytes in the buf.
--        If OpenSSL will change that, we'll need to change the implementation
--        of this class too.
-       */
-       uchar mask[MY_AES_BLOCK_SIZE];
-       uint mlen;
-@@ -154,10 +166,10 @@ class MyCTX_nopad : public MyCTX
-         return rc;
-       DBUG_ASSERT(mlen == sizeof(mask));
- 
--      for (uint i=0; i < buf_len; i++)
--        dst[i]= buf[i] ^ mask[i];
-+      for (uint i=0; i < source_tail_len; i++)
-+        dst[i]= source_tail[i] ^ mask[i];
-     }
--    *dlen= buf_len;
-+    *dlen= source_tail_len;
-     return MY_AES_OK;
-   }
- };
-diff --git a/unittest/mysys/aes-t.c b/unittest/mysys/aes-t.c
-index 34704e06..cbec2760 100644
---- a/unittest/mysys/aes-t.c
-+++ b/unittest/mysys/aes-t.c
-@@ -21,27 +21,96 @@
- #include <string.h>
- #include <ctype.h>
- 
--#define DO_TEST(mode, nopad, slen, fill, dlen, hash)                    \
--  SKIP_BLOCK_IF(mode == 0xDEADBEAF, nopad ? 4 : 5, #mode " not supported")     \
--  {                                                                     \
--    memset(src, fill, src_len= slen);                                   \
--    ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT,              \
--                    src, src_len, dst, &dst_len,                        \
--                    key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK,     \
--      "encrypt " #mode " %u %s", src_len, nopad ? "nopad" : "pad");     \
--    if (!nopad)                                                         \
--      ok (dst_len == my_aes_get_size(mode, src_len), "my_aes_get_size");\
--    my_md5(md5, (char*)dst, dst_len);                                   \
--    ok(dst_len == dlen && memcmp(md5, hash, sizeof(md5)) == 0, "md5");  \
--    ok(my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT,              \
--                    dst, dst_len, ddst, &ddst_len,                      \
--                    key, sizeof(key), iv, sizeof(iv)) == MY_AES_OK,     \
--       "decrypt " #mode " %u", dst_len);                                \
--    ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp"); \
-+
-+/** Test streaming encryption, bytewise update.*/
-+static int aes_crypt_bytewise(enum my_aes_mode mode, int flags, const unsigned char *src,
-+                 unsigned int slen, unsigned char *dst, unsigned int *dlen,
-+                 const unsigned char *key, unsigned int klen,
-+                 const unsigned char *iv, unsigned int ivlen)
-+{
-+  /* Allocate context on odd address on stack, in order to
-+   catch misalignment errors.*/
-+  void *ctx= (char *)alloca(MY_AES_CTX_SIZE+1)+1;
-+
-+  int res1, res2;
-+  uint d1= 0, d2;
-+  uint i;
-+
-+  if ((res1= my_aes_crypt_init(ctx, mode, flags, key, klen, iv, ivlen)))
-+    return res1;
-+  for (i= 0; i < slen; i++)
-+  {
-+    uint tmp_d1=0;
-+    res1= my_aes_crypt_update(ctx, src+i,1, dst, &tmp_d1);
-+    if (res1)
-+      return res1;
-+    d1+= tmp_d1;
-+    dst+= tmp_d1;
-+  }
-+  res2= my_aes_crypt_finish(ctx, dst, &d2);
-+  *dlen= d1 + d2;
-+  return res1 ? res1 : res2;
-+}
-+
-+
-+#ifndef HAVE_EncryptAes128Ctr
-+const uint MY_AES_CTR=0xDEADBEAF;
-+#endif
-+#ifndef HAVE_EncryptAes128Gcm
-+const uint MY_AES_GCM=0xDEADBEAF;
-+#endif
-+
-+#define MY_AES_UNSUPPORTED(x)  (x == 0xDEADBEAF)
-+
-+static void do_test(uint mode, const char *mode_str, int nopad, uint slen,
-+                    char fill, size_t dlen, const char *hash)
-+{
-+  uchar key[16]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6};
-+  uchar iv[16]= {2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7};
-+  uchar src[1000], dst[1100], dst2[1100], ddst[1000];
-+  uchar md5[MY_MD5_HASH_SIZE];
-+  uint src_len, dst_len, dst_len2, ddst_len;
-+  int result;
-+
-+  if (MY_AES_UNSUPPORTED(mode))
-+  {
-+    skip(nopad?7:6, "%s not supported", mode_str);
-+    return;
-+  }
-+  memset(src, fill, src_len= slen);
-+  result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src, src_len,
-+                       dst, &dst_len, key, sizeof(key), iv, sizeof(iv));
-+  ok(result == MY_AES_OK, "encrypt %s %u %s", mode_str, src_len,
-+     nopad ? "nopad" : "pad");
-+
-+  if (nopad)
-+  {
-+    result= aes_crypt_bytewise(mode, nopad | ENCRYPTION_FLAG_ENCRYPT, src,
-+                                src_len, dst2, &dst_len2, key, sizeof(key),
-+                                iv, sizeof(iv));
-+    ok(result == MY_AES_OK, "encrypt bytewise %s %u", mode_str, src_len);
-+    /* Compare with non-bytewise encryption result*/
-+    ok(dst_len == dst_len2 && memcmp(dst, dst2, dst_len) == 0,
-+       "memcmp bytewise  %s %u", mode_str, src_len);
-+  }
-+  else
-+  {
-+    int dst_len_real= my_aes_get_size(mode, src_len);
-+    ok(dst_len_real= dst_len, "my_aes_get_size");
-   }
-+  my_md5(md5, (char *) dst, dst_len);
-+  ok(dst_len == dlen, "md5 len");
-+  ok(memcmp(md5, hash, sizeof(md5)) == 0, "md5");
-+  result= my_aes_crypt(mode, nopad | ENCRYPTION_FLAG_DECRYPT,
-+                       dst, dst_len, ddst, &ddst_len, key, sizeof(key), iv,
-+                       sizeof(iv));
-+
-+  ok(result == MY_AES_OK, "decrypt %s %u", mode_str, dst_len);
-+  ok(ddst_len == src_len && memcmp(src, ddst, src_len) == 0, "memcmp");
-+}
- 
--#define DO_TEST_P(M,S,F,D,H) DO_TEST(M,0,S,F,D,H)
--#define DO_TEST_N(M,S,F,D,H) DO_TEST(M,ENCRYPTION_FLAG_NOPAD,S,F,D,H)
-+#define DO_TEST_P(M, S, F, D, H) do_test(M, #M, 0, S, F, D, H)
-+#define DO_TEST_N(M, S, F, D, H) do_test(M, #M, ENCRYPTION_FLAG_NOPAD, S, F, D, H)
- 
- /* useful macro for debugging */
- #define PRINT_MD5()                                     \
-@@ -53,25 +122,15 @@
-     printf("\"\n");                                     \
-   } while(0);
- 
--#ifndef HAVE_EncryptAes128Ctr
--const uint MY_AES_CTR=0xDEADBEAF;
--#endif
--#ifndef HAVE_EncryptAes128Gcm
--const uint MY_AES_GCM=0xDEADBEAF;
--#endif
- 
- int
- main(int argc __attribute__((unused)),char *argv[])
- {
--  uchar key[16]= {1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6};
--  uchar iv[16]=  {2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7};
--  uchar src[1000], dst[1100], ddst[1000];
--  uchar md5[MY_MD5_HASH_SIZE];
--  uint src_len, dst_len, ddst_len;
- 
-   MY_INIT(argv[0]);
- 
--  plan(87);
-+  plan(122);
-+
-   DO_TEST_P(MY_AES_ECB, 200, '.', 208, "\xd8\x73\x8e\x3a\xbc\x66\x99\x13\x7f\x90\x23\x52\xee\x97\x6f\x9a");
-   DO_TEST_P(MY_AES_ECB, 128, '?', 144, "\x19\x58\x33\x85\x4c\xaa\x7f\x06\xd1\xb2\xec\xd7\xb7\x6a\xa9\x5b");
-   DO_TEST_P(MY_AES_CBC, 159, '%', 160, "\x4b\x03\x18\x3d\xf1\xa7\xcd\xa1\x46\xb3\xc6\x8a\x92\xc0\x0f\xc9");
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.8.3.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.8.3.bb
index c800c4c5..20bb5fc 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.7.4.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.8.3.bb
@@ -3,7 +3,7 @@
 inherit qemu
 
 DEPENDS += "qemu-native bison-native boost libpcre2 curl ncurses \
-            zlib libaio libedit libevent libxml2 gnutls fmt lzo"
+            zlib libaio libedit libevent libxml2 gnutls fmt lzo zstd"
 
 PROVIDES += "mysql5 libmysqlclient"
 
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
index 78f2458..2256bcc 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
@@ -1,4 +1,4 @@
-From f7084ba49758a6b8db46b917b7c0f831bd65a08f Mon Sep 17 00:00:00 2001
+From 07e605015fad0621c3e67133ff9330a5c6318daa Mon Sep 17 00:00:00 2001
 From: Yi Fan Yu <yifan.yu@windriver.com>
 Date: Fri, 5 Feb 2021 17:15:42 -0500
 Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check
@@ -14,12 +14,12 @@
  1 file changed, 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index d3c55f2..9120184 100644
+index 04ef7be..0eb595b 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
  
- AC_INIT([PostgreSQL], [14.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ AC_INIT([PostgreSQL], [14.4], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
  
 -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
 -Untested combinations of 'autoconf' and PostgreSQL versions are not
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.3.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.4.bb
similarity index 79%
rename from meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.3.bb
rename to meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.4.bb
index c686c9b..01a6ee6 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.3.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.4.bb
@@ -10,4 +10,4 @@
    file://remove_duplicate.patch \
 "
 
-SRC_URI[sha256sum] = "279057368bf59a919c05ada8f95c5e04abb43e74b9a2a69c3d46a20e07a9af38"
+SRC_URI[sha256sum] = "c23b6237c5231c791511bdc79098617d6852e9e3bdf360efd8b5d15a1a3d8f6a"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
index 2bafcc6..5242b29 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
@@ -1,7 +1,7 @@
-From 8f21fdfb83b0fa844a9f1f03a86a9ca46642d85e Mon Sep 17 00:00:00 2001
+From 738549dea7a4e6c462a79962c414eaa450c2cffd Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 9 Apr 2020 13:06:27 -0700
-Subject: [PATCH 1/2] absl: always use <asm/sgidefs.h>
+Subject: [PATCH 1/3] absl: always use <asm/sgidefs.h>
 
 Fixes mips/musl build, since sgidefs.h is not present on all C libraries
 but on linux asm/sgidefs.h is there and contains same definitions, using
@@ -10,26 +10,27 @@
 Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  absl/base/internal/direct_mmap.h | 6 +-----
  1 file changed, 1 insertion(+), 5 deletions(-)
 
 diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
-index 16accf096604..ba7936cc934e 100644
+index e492bb0..c8a4fba 100644
 --- a/absl/base/internal/direct_mmap.h
 +++ b/absl/base/internal/direct_mmap.h
 @@ -41,13 +41,9 @@
  
  #ifdef __mips__
  // Include definitions of the ABI currently in use.
--#ifdef __BIONIC__
+-#if defined(__BIONIC__) || !defined(__GLIBC__)
 -// Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the
 +// bionic/musl C libs don't have sgidefs.h, but do have asm/sgidefs.h, which has the
  // definitions we need.
  #include <asm/sgidefs.h>
 -#else
 -#include <sgidefs.h>
--#endif  // __BIONIC__
+-#endif  // __BIONIC__ || !__GLIBC__
  #endif  // __mips__
  
  // SYS_mmap and SYS_munmap are not defined in Android.
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
index da9dbd9..7b7244b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
@@ -1,7 +1,7 @@
-From a9e15a4855c82eb948dedeecd83d5e17c3c8f767 Mon Sep 17 00:00:00 2001
+From d25cf3b9aa873595a19e197cc29ab46c0093bff1 Mon Sep 17 00:00:00 2001
 From: Sinan Kaya <sinan.kaya@microsoft.com>
 Date: Mon, 3 Feb 2020 03:25:57 +0000
-Subject: [PATCH 2/2] Remove maes option from cross-compilation
+Subject: [PATCH 2/3] Remove maes option from cross-compilation
 
 ---
  absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
@@ -9,10 +9,10 @@
  2 files changed, 8 deletions(-)
 
 diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
-index 97bd283eb739..ce29ac031b9c 100644
+index a4ab1aa2041e..23b9253c1f00 100644
 --- a/absl/copts/GENERATED_AbseilCopts.cmake
 +++ b/absl/copts/GENERATED_AbseilCopts.cmake
-@@ -210,7 +210,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
+@@ -158,7 +158,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
  list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
  )
  
@@ -21,10 +21,10 @@
 -    "-msse4.1"
 -)
 diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
-index bcdd61ef8211..3e8eddd4bb08 100644
+index a6efc98e11d4..1e847f769501 100644
 --- a/absl/copts/GENERATED_copts.bzl
 +++ b/absl/copts/GENERATED_copts.bzl
-@@ -211,7 +211,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
+@@ -159,7 +159,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
  ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
  ]
  
@@ -33,5 +33,5 @@
 -    "-msse4.1",
 -]
 -- 
-2.25.1
+2.36.1
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch
new file mode 100644
index 0000000..c0039c2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch
@@ -0,0 +1,47 @@
+From fb24c3e3539b5743d398a429a302a3886186f261 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@bisdn.de>
+Date: Thu, 16 Jun 2022 11:46:31 +0000
+Subject: [PATCH 3/3] Remove neon option from cross compilation
+
+Not every arm platform supports neon instructions, so do not enforce
+them.
+
+Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
+---
+ absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
+ absl/copts/GENERATED_copts.bzl         | 4 ----
+ 2 files changed, 8 deletions(-)
+
+diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
+index 23b9253c1f00..5d112a97f3e4 100644
+--- a/absl/copts/GENERATED_AbseilCopts.cmake
++++ b/absl/copts/GENERATED_AbseilCopts.cmake
+@@ -147,10 +147,6 @@ list(APPEND ABSL_MSVC_TEST_FLAGS
+     "/DNOMINMAX"
+ )
+ 
+-list(APPEND ABSL_RANDOM_HWAES_ARM32_FLAGS
+-    "-mfpu=neon"
+-)
+-
+ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
+     "-march=armv8-a+crypto"
+ )
+diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
+index 1e847f769501..3e10db204faf 100644
+--- a/absl/copts/GENERATED_copts.bzl
++++ b/absl/copts/GENERATED_copts.bzl
+@@ -148,10 +148,6 @@ ABSL_MSVC_TEST_FLAGS = [
+     "/DNOMINMAX",
+ ]
+ 
+-ABSL_RANDOM_HWAES_ARM32_FLAGS = [
+-    "-mfpu=neon",
+-]
+-
+ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
+     "-march=armv8-a+crypto",
+ ]
+-- 
+2.36.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index 1bb27d4..b3dc06c 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -7,13 +7,14 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
 
-PV = "20211102.0+git${SRCPV}"
-SRCREV = "7c6608d0dbe43cf9bdf7f77787bc6bc89cc42f8b"
-BRANCH = "master"
+PV = "20220623.0"
+SRCREV = "273292d1cfc0a94a65082ee350509af1d113344d"
+BRANCH = "lts_2022_06_23"
 SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
            file://0001-absl-always-use-asm-sgidefs.h.patch             \
            file://0002-Remove-maes-option-from-cross-compilation.patch \
            file://abseil-ppc-fixes.patch \
+           file://0003-Remove-neon-option-from-cross-compilation.patch \
           "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.9.1.bb b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.10.2.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.9.1.bb
rename to meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.10.2.bb
index d14bd84..3d4f549 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.9.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.10.2.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https \
            "
-SRCREV = "b49431c48d40490ef979247d308af63345376cee"
+SRCREV = "2e88221d3dde22266bfccf40eaee6ff9b40d113d"
 
 S = "${WORKDIR}/git/c++"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.92.bb b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.92.bb
rename to meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb
index 766d34f..2f92d81 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.92.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cloc/cloc_1.94.bb
@@ -6,7 +6,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
 
 SRC_URI = "https://github.com/AlDanial/cloc/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "73570f9da159fab13846038de7c3d8772554117c04117281dcbe6e5c7b988264"
+SRC_URI[sha256sum] = "08212290c4e9b21c7bb1abc0a9b4a365ce1c5eb0d8f3ebb74d50b29559a71a9c"
 
 UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220529.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220529.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb
index 1ec8d0e..fb736db 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220529.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220703.0.bb
@@ -14,7 +14,7 @@
 
 inherit autotools-brokensep pkgconfig manpages
 
-SRCREV = "fff389b94b8e3fb53bdb59789dabc2693c534804"
+SRCREV = "787811b6eac03ab81ccf5b6957432d893eb982cb"
 SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
index a82387a..ccbea58 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master;protocol=https"
-SRCREV = "7c45fd65dcd811def66161f6d572c3930f2ba4d8"
+SRCREV = "f6ee3fa8fe6f3d7ca8d5b104aa73c1a5c938a403"
 PV = "1.3"
 
 SRC_URI:append:class-target = " file://oe-remote.repo.sample"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.0.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.0.bb
deleted file mode 100644
index bf74f12..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.0.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Memory Efficient Serialization Library"
-HOMEPAGE = "https://github.com/google/flatbuffers"
-SECTION = "console/tools"
-LICENSE = "Apache-2.0"
-
-inherit python3-dir
-
-PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-${PYTHON_PN}"
-
-RDEPENDS:${PN}-compiler = "${PN}"
-RDEPENDS:${PN}-${PYTHON_PN} = "${PN}"
-RDEPENDS:${PN}-dev += "${PN}-compiler"
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRCREV = "a9a295fecf3fbd5a4f571f53b01f63202a3e2113"
-SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https"
-S = "${WORKDIR}/git"
-
-CVE_CHECK_IGNORE += "CVE-2020-35864"
-
-CXXFLAGS += "-fPIC"
-BUILD_CXXFLAGS += "-fPIC"
-
-# BUILD_TYPE=Release is required, otherwise flatc is not installed
-EXTRA_OECMAKE += "\
-    -DCMAKE_BUILD_TYPE=Release \
-    -DFLATBUFFERS_BUILD_TESTS=OFF \    
-    -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
-"
-
-inherit cmake
-
-do_install:append() {
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-    cp -rf ${S}/python/flatbuffers ${D}${PYTHON_SITEPACKAGES_DIR}
-}
-
-FILES:${PN}-compiler = "${bindir}"
-
-FILES:${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.6.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.6.bb
new file mode 100644
index 0000000..3ca4772
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/flatbuffers_2.0.6.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Memory Efficient Serialization Library"
+HOMEPAGE = "https://github.com/google/flatbuffers"
+SECTION = "console/tools"
+LICENSE = "Apache-2.0"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+DEPENDS = "flatbuffers-native"
+
+RDEPENDS:${PN}-compiler = "${PN}"
+RDEPENDS:${PN}-dev += "${PN}-compiler"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "615616cb5549a34bdf288c04bc1b94bd7a65c396"
+SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https"
+S = "${WORKDIR}/git"
+
+CVE_CHECK_IGNORE += "CVE-2020-35864"
+
+EXTRA_OECMAKE += " \
+    -DFLATBUFFERS_BUILD_TESTS=OFF \    
+    -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
+"
+EXTRA_OECMAKE:append:class-target = " -DFLATBUFFERS_FLATC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/flatc"
+
+inherit cmake python3native
+
+FILES:${PN}-compiler = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers_2.0.6.bb b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers_2.0.6.bb
new file mode 100644
index 0000000..7c05e76
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers_2.0.6.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Memory Efficient Serialization Library - Python3 Modules"
+HOMEPAGE = "https://github.com/google/flatbuffers"
+SECTION = "console/tools"
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://../LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "615616cb5549a34bdf288c04bc1b94bd7a65c396"
+SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https"
+S = "${WORKDIR}/git/python"
+
+RDEPENDS:${PN} = "flatbuffers"
+
+inherit setuptools3
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-Fix-build-under-GCC-fno-common.patch b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-Fix-build-under-GCC-fno-common.patch
deleted file mode 100644
index 6fee052..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-Fix-build-under-GCC-fno-common.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 8c0e4b7907eb577b1e5214f9a7bc75d5c3263b0a Mon Sep 17 00:00:00 2001
-From: Ariadne Conill <ariadne@dereferenced.org>
-Date: Sat, 14 Nov 2020 22:55:30 -0700
-Subject: [PATCH] Fix build under GCC -fno-common.
-
-Upstream-Status: Submitted [https://github.com/pikhq/musl-nscd/pull/11]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/modules.h | 4 ++--
- src/main.c        | 3 +++
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/include/modules.h b/include/modules.h
-index 70c1960..e77ec58 100644
---- a/include/modules.h
-+++ b/include/modules.h
-@@ -28,7 +28,7 @@ struct mod_passwd {
- 	link_t link;
- };
- 
--list_t passwd_mods;
--list_t group_mods;
-+extern list_t passwd_mods;
-+extern list_t group_mods;
- 
- #endif
-diff --git a/src/main.c b/src/main.c
-index c1a78bb..808ef74 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -18,6 +18,9 @@
- #include "parse.h"
- #include "util.h"
- 
-+list_t passwd_mods;
-+list_t group_mods;
-+
- static void *get_dll(const char *service)
- {
- 	char *path;
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-configure-Check-for-flex-if-lex-is-not-found.patch b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-configure-Check-for-flex-if-lex-is-not-found.patch
deleted file mode 100644
index 691aa3d..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd/0001-configure-Check-for-flex-if-lex-is-not-found.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4d09032741475c4e9d3de62c8187597f3f72f934 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 22 Nov 2020 12:32:01 -0800
-Subject: [PATCH] configure: Check for flex if lex is not found
-
-lex is already checked by this time, therefore check should be to find
-flex
-Upstream-Status: Submitted [https://github.com/pikhq/musl-nscd/pull/12]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index 256824a..4c94568 100755
---- a/configure
-+++ b/configure
-@@ -249,7 +249,7 @@ printf "checking for lex... "
- trylex ${CROSS_COMPILE}lex
- trylex lex
- trylex ${CROSS_COMPILE}flex
--trylex lex
-+trylex flex
- printf "%s\n" "$LEX"
- test -n "$LEX" || echo "$0: cannot find lex. Will try to use pre-provided source."
- 
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
index ac2b5a2..82e5c3b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
@@ -4,17 +4,15 @@
 DESCRIPTION = "Musl-nscd is an implementation of the NSCD protocol, suitable for use with musl and with standard NSS modules"
 HOMEPAGE = "https://github.com/pikhq/musl-nscd"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9bf479a145bcaff8489e743da58afeee"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fff9baeb9a392879d7fb25ba3a2696e4"
 SECTION = "utils"
 
 DEPENDS += "flex-native bison-native flex bison"
 
-PV = "1.0.2"
+PV = "1.1.0"
 
-SRCREV = "af581482a3e1059458f3c8b20a56f82807ca3bd4"
+SRCREV = "cddd6be6c629ca96f2d2e74ee52daf12bbef1f83"
 SRC_URI = "git://github.com/pikhq/musl-nscd;branch=master;protocol=https \
-           file://0001-Fix-build-under-GCC-fno-common.patch \
-           file://0001-configure-Check-for-flex-if-lex-is-not-found.patch \
            file://0001-nsswitch.y-Replace-empty-bison-extension.patch \
           "
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
index 94f98fe..1fee83a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
@@ -29,6 +29,11 @@
 	rm -rf ${B}/t/z*.t
 }
 
+do_install:append() {
+	sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/dbiproxy \
+		${D}${bindir}/dbiprof ${D}${bindir}/dbilogstrip
+}
+
 RDEPENDS:${PN}:class-target = " \
     perl \
     perl-module-carp \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb
index 6dfff78..0863bb8 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb
@@ -18,4 +18,12 @@
 
 inherit cpan
 
+do_install:append() {
+    # update interpreter on shebang line
+    # since old version env doesn't support multiple arguments, replace option
+    # '-w' with 'use warnings;'
+    sed -i -e "s:^#!.*:#!/usr/bin/env perl:" \
+           -e "/use strict;/ause warnings;" ${D}${bindir}/use-devel-checklib
+}
+
 BBCLASSEXTEND="native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
index d7959df..be9704a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
@@ -18,4 +18,8 @@
 
 inherit cpan
 
+do_install:append() {
+    sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/yapp
+}
+
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch
index 26872d1..acf2940 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch
@@ -18,11 +18,9 @@
  ext/phar/Makefile.frag | 17 +++--------------
  1 file changed, 3 insertions(+), 14 deletions(-)
 
-diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
-index 58789cae25..c02af1b186 100644
 --- a/ext/phar/Makefile.frag
 +++ b/ext/phar/Makefile.frag
-@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir
  
  PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
  PHP_PHARCMD_EXECUTABLE = ` \
@@ -42,10 +40,7 @@
 -PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
 +               $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
 +
-+PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "/usr/bin/env $(program_prefix)php$(program_suffix)$(EXEEXT)";`
  
  $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
  	-@test -d $(builddir)/phar || mkdir $(builddir)/phar
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.6.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.7.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.6.bb
rename to meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.7.bb
index 96af595..043f3a8 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.6.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.7.bb
@@ -16,6 +16,7 @@
            file://0002-build-php.m4-don-t-unset-cache-variables.patch \
            file://0003-php-remove-host-specific-info-from-header-file.patch \
            file://0004-configure.ac-don-t-include-build-libtool.m4.patch \
+           file://0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch \
            file://0009-php-don-t-use-broken-wrapper-for-mkdir.patch \
            file://0010-iconv-fix-detection.patch \
           "
@@ -23,7 +24,6 @@
 SRC_URI:append:class-target = " \
             file://0001-ext-opcache-config.m4-enable-opcache.patch \
             file://0005-pear-fix-Makefile.frag-for-Yocto.patch \
-            file://0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch \
             file://0007-sapi-cli-config.m4-fix-build-directory.patch \
             file://0008-ext-imap-config.m4-fix-include-paths.patch \
             file://php-fpm.conf \
@@ -33,7 +33,7 @@
           "
 
 S = "${WORKDIR}/php-${PV}"
-SRC_URI[sha256sum] = "7b353304b7407554f70d3e101a226a1fc22decae5c4c42ed270c4e389bfa1b66"
+SRC_URI[sha256sum] = "b816753eb005511e695d90945c27093c3236cc73db1262656d9fadd73ead7e9d"
 
 inherit autotools pkgconfig python3native gettext
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.4.0.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.4.1.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.4.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.4.1.bb
index b3423ba..d724287 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.4.1.bb
@@ -8,12 +8,12 @@
 HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
 SECTION = "console/tools"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9f725889e0d77383e26cb42b0b62cea2"
 
 DEPENDS = "protobuf-native protobuf"
 
 SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https"
-SRCREV = "f224ab2eeb648a818eb20687d7150a285442c907"
+SRCREV = "abc67a11c6db271bedbb9f58be85d6f4e2ea8389"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.11.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.12.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.11.bb
rename to meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.12.bb
index 6d7696c..111e948 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.11.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.12.bb
@@ -10,7 +10,7 @@
 
 inherit autotools
 
-SRCREV = "304a492652dc0fd220f601167c4ebb30e2ae4a39"
+SRCREV = "46d536709451609e5e99099216d9dcf567ceeaca"
 SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https \
            "
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
index 2cea50d..7a613bc 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
@@ -19,7 +19,7 @@
            file://0004-Modify-systemd-config-directory.patch \
            file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
            "
-SRCREV = "0138c00811c86eab4ff6bff3c6528163885ade19"
+SRCREV = "6a3bd901d825c7206797e36ea98e10a218f5aad2"
 
 PV .= "+2.18.9git${SRCPV}"
 
@@ -27,7 +27,7 @@
 
 LDFLAGS:append:riscv64 = " -latomic"
 
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-console ', '', d)} \
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-adaptor-udp dlt-console ', '', d)} \
  udp-connection dlt-system dlt-filetransfer "
 # dlt-dbus
 
@@ -44,6 +44,7 @@
 # Command line options
 PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF"
 PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF,,dlt-daemon-systemd"
+PACKAGECONFIG[dlt-adaptor-udp] = "-DWITH_DLT_ADAPTOR_UDP=ON,-DWITH_DLT_ADAPTOR_UDP=OFF,,dlt-daemon-systemd"
 PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF"
 PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd"
 
@@ -58,7 +59,7 @@
                           ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', 'dlt-dbus.service', '', d)}"
 SYSTEMD_AUTO_ENABLE:${PN} = "enable"
 SYSTEMD_SERVICE:${PN}-systemd = " \
-    ${@bb.utils.contains('PACKAGECONFIG', 'dlt-adaptor', 'dlt-adaptor-udp.service', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'dlt-adaptor-udp', 'dlt-adaptor-udp.service', '', d)} \
     ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples', 'dlt-example-user.service', '', d)} \
     ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples dlt-console', 'dlt-receive.service', '', d)} \
 "
diff --git a/meta-openembedded/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb
index 583e833..22b6c78 100644
--- a/meta-openembedded/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb
@@ -37,4 +37,4 @@
     install -m 0755 "${WORKDIR}/duktape-2.7.0/examples/eventloop/ecma_eventloop.js" "${D}${PTEST_PATH}"
 }
 
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS:${PN}-ptest += "make"
diff --git a/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb
deleted file mode 100644
index d6e56ea..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
-HOMEPAGE = "http://www.digip.org/jansson/"
-BUGTRACKER = "https://github.com/akheron/jansson/issues"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf"
-
-SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "570af45b8203e95876d71fecd56cee20"
-SRC_URI[sha256sum] = "f4f377da17b10201a60c1108613e78ee15df6b12016b116b6de42209f47a474f"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.14.bb b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.14.bb
new file mode 100644
index 0000000..945b31f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/jansson/jansson_2.14.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE = "http://www.digip.org/jansson/"
+BUGTRACKER = "https://github.com/akheron/jansson/issues"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf"
+
+SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294afb9"
+
+UPSTREAM_CHECK_URI = "https://github.com/akheron/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.8.0.bb b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.9.2.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.8.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.9.2.bb
index 71072a5..f4de860 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.8.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.9.2.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://libzip.org/"
 
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=067e9870bba57e1ce20695c4d5672f30"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a9d2078f35e61cf1122ccd440687cf"
 
 DEPENDS = "zlib bzip2"
 
@@ -21,7 +21,7 @@
 
 SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "f0763bda24ba947e80430be787c4b068d8b6aa6027a26a19923f0acfa3dac97e"
+SRC_URI[sha256sum] = "c93e9852b7b2dc931197831438fee5295976ee0ba24f8524a8907be5c2ba5937"
 
 # Patch for CVE-2017-12858 is applied in version 1.2.0.
 CVE_CHECK_IGNORE += "CVE-2017-12858"
diff --git a/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.5.bb b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.6.bb
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.5.bb
rename to meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.6.bb
index b4e0d17..7fb6850 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.6.bb
@@ -1,10 +1,10 @@
 DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
 HOMEPAGE="https://github.com/taocpp/PEGTL"
 LICENSE="MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5b6701671289d12b7ffa69138832c006"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dccf35ef30bf912bb07b01d469965293"
 
 SRC_URI = "git://github.com/taocpp/PEGTL.git;protocol=https;branch=3.x"
-SRCREV = "eeba7fa1180655bd683be620cc31be35607442ca"
+SRCREV = "464d866d8bbf4c8ddc5b67422d09b60ad3b918fc"
 
 inherit cmake
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb
index ae024d0..db2ed01 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb
@@ -7,7 +7,7 @@
 # The file originates from https://github.com/coldfix/udiskie/wiki/Permissions
 SRC_URI = "file://50-org.freedesktop.udiskie.rules"
 
-RDEPENDS_${PN} += "udisks2"
+RDEPENDS:${PN} += "udisks2"
 
 do_install() {
     install -m 0755 ${WORKDIR}/50-org.freedesktop.udiskie.rules ${D}${sysconfdir}/polkit-1/rules.d
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch
new file mode 100644
index 0000000..5b3660d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0002-jsauthority-port-to-mozjs-91.patch
@@ -0,0 +1,38 @@
+From 4ce27b66bb07b72cb96d3d43a75108a5a6e7e156 Mon Sep 17 00:00:00 2001
+From: Xi Ruoyao <xry111@mengyan1223.wang>
+Date: Tue, 10 Aug 2021 19:09:42 +0800
+Subject: [PATCH] jsauthority: port to mozjs-91
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/92]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ configure.ac | 2 +-
+ meson.build  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d807086..5a7fc11 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -80,7 +80,7 @@ PKG_CHECK_MODULES(GLIB, [gmodule-2.0 gio-unix-2.0 >= 2.30.0])
+ AC_SUBST(GLIB_CFLAGS)
+ AC_SUBST(GLIB_LIBS)
+ 
+-PKG_CHECK_MODULES(LIBJS, [mozjs-78])
++PKG_CHECK_MODULES(LIBJS, [mozjs-91])
+ 
+ AC_SUBST(LIBJS_CFLAGS)
+ AC_SUBST(LIBJS_CXXFLAGS)
+diff --git a/meson.build b/meson.build
+index b3702be..733bbff 100644
+--- a/meson.build
++++ b/meson.build
+@@ -126,7 +126,7 @@ expat_dep = dependency('expat')
+ assert(cc.has_header('expat.h', dependencies: expat_dep), 'Can\'t find expat.h. Please install expat.')
+ assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t find expat library. Please install expat.')
+ 
+-mozjs_dep = dependency('mozjs-78')
++mozjs_dep = dependency('mozjs-91')
+ 
+ dbus_dep = dependency('dbus-1')
+ dbus_confdir = dbus_dep.get_pkgconfig_variable('datadir', define_variable: ['datadir', pk_prefix / pk_datadir])   #changed from sysconfdir with respect to commit#8eada3836465838
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch
new file mode 100644
index 0000000..9e9755e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit/0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch
@@ -0,0 +1,63 @@
+From 7799441b9aa55324160deefbc65f9d918b8c94c1 Mon Sep 17 00:00:00 2001
+From: Xi Ruoyao <xry111@mengyan1223.wang>
+Date: Tue, 10 Aug 2021 18:52:56 +0800
+Subject: [PATCH] jsauthority: ensure to call JS_Init() and JS_ShutDown()
+ exactly once
+
+Before this commit, we were calling JS_Init() in
+polkit_backend_js_authority_class_init and never called JS_ShutDown.
+This is actually a misusage of SpiderMonkey API.  Quote from a comment
+in js/Initialization.h (both mozjs-78 and mozjs-91):
+
+    It is currently not possible to initialize SpiderMonkey multiple
+    times (that is, calling JS_Init/JSAPI methods/JS_ShutDown in that
+    order, then doing so again).
+
+This misusage does not cause severe issues with mozjs-78.  However, when
+we eventually port jsauthority to use mozjs-91, bad thing will happen:
+see the test failure mentioned in #150.
+
+This commit is tested with both mozjs-78 and mozjs-91, all tests pass
+with it.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/91]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/polkitbackend/polkitbackendjsauthority.cpp | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
+index 41d8d5c..38dc001 100644
+--- a/src/polkitbackend/polkitbackendjsauthority.cpp
++++ b/src/polkitbackend/polkitbackendjsauthority.cpp
+@@ -75,6 +75,13 @@
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
++static class JsInitHelperType
++{
++public:
++	JsInitHelperType() { JS_Init(); }
++	~JsInitHelperType() { JS_ShutDown(); }
++} JsInitHelper;
++
+ struct _PolkitBackendJsAuthorityPrivate
+ {
+   gchar **rules_dirs;
+@@ -589,7 +596,6 @@ polkit_backend_js_authority_finalize (GObject *object)
+   delete authority->priv->js_polkit;
+ 
+   JS_DestroyContext (authority->priv->cx);
+-  /* JS_ShutDown (); */
+ 
+   G_OBJECT_CLASS (polkit_backend_js_authority_parent_class)->finalize (object);
+ }
+@@ -665,8 +671,6 @@ polkit_backend_js_authority_class_init (PolkitBackendJsAuthorityClass *klass)
+ 
+ 
+   g_type_class_add_private (klass, sizeof (PolkitBackendJsAuthorityPrivate));
+-
+-  JS_Init ();
+ }
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
diff --git a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb
index 66bbf73..bf16005 100644
--- a/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/polkit/polkit_0.119.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
                     file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4"
 
-DEPENDS = "expat glib-2.0 intltool-native duktape"
+DEPENDS = "expat glib-2.0 intltool-native"
 
 inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection features_check
 
@@ -14,6 +14,7 @@
 PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
                  ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
                     bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+                 mozjs \
                 "
 
 PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
@@ -21,20 +22,32 @@
 # there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS
 PACKAGECONFIG[consolekit] = ",,,consolekit"
 
+# Default to mozjs javascript library
+PACKAGECONFIG[mozjs] = ",,mozjs-91,,,duktape"
+# duktape javascript engine is much smaller and faster but is not compatible with
+# same javascript standards as mozjs. For example array.includes() function is not
+# supported. Test rule compatibility when switching to duktape.
+PACKAGECONFIG[duktape] = "--with-duktape,,duktape,,,mozjs"
+
+MOZJS_PATCHES = "\
+    file://0002-jsauthority-port-to-mozjs-91.patch \
+    file://0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch \
+"
+DUKTAPE_PATCHES = "file://0003-Added-support-for-duktape-as-JS-engine.patch"
 PAM_SRC_URI = "file://polkit-1_pam.patch"
 SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'mozjs', '${MOZJS_PATCHES}', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_PATCHES}', '', d)} \
            file://0003-make-netgroup-support-optional.patch \
            file://0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch \
            file://0002-CVE-2021-4115-GHSL-2021-077-fix.patch \
-           file://0003-Added-support-for-duktape-as-JS-engine.patch \
            "
 SRC_URI[sha256sum] = "c8579fdb86e94295404211285fee0722ad04893f0213e571bd75c00972fd1f5c"
 
 EXTRA_OECONF = "--with-os-type=moblin \
                 --disable-man-pages \
                 --disable-libelogind \
-                --with-duktape \
                "
 
 do_configure:prepend () {
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch
index 12994da..20f689b 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch
@@ -1,4 +1,4 @@
-From 18dc1457db8f66237e016b85a04dc50833c33c50 Mon Sep 17 00:00:00 2001
+From 98d526f76049be21bf3d77158236b2189419a78e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 21 Dec 2019 12:09:51 -0800
 Subject: [PATCH] Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER
@@ -10,20 +10,22 @@
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
 ---
  src/zmalloc.c | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/src/zmalloc.c b/src/zmalloc.c
-index ba03685..322304f 100644
+index 1f33d09..5e182d1 100644
 --- a/src/zmalloc.c
 +++ b/src/zmalloc.c
-@@ -32,6 +32,7 @@
- #include "config.h"
- #include "solarisfixes.h"
+@@ -28,6 +28,7 @@
+  * POSSIBILITY OF SUCH DAMAGE.
+  */
  
 +#define _GNU_SOURCE
  #include <stdio.h>
  #include <stdlib.h>
  #include <stdint.h>
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.6.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.7.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.6.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.7.bb
index 87fade7..7f922a4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_6.2.7.bb
@@ -17,7 +17,7 @@
            file://GNU_SOURCE.patch \
            file://0006-Define-correct-gregs-for-RISCV32.patch \
            "
-SRC_URI[sha256sum] = "5b2b8b7a50111ef395bf1c1d5be11e6e167ac018125055daa8b5c2317ae131ab"
+SRC_URI[sha256sum] = "b7a79cc3b46d3c6eb52fa37dde34a4a60824079ebdfb3abfbbfa035947c55319"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.0.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.2.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.2.bb
index 3b49d20..b188278 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.2.bb
@@ -19,7 +19,7 @@
            file://GNU_SOURCE.patch \
            file://0006-Define-correct-gregs-for-RISCV32.patch \
            "
-SRC_URI[sha256sum] = "284d8bd1fd85d6a55a05ee4e7c31c31977ad56cbf344ed83790beeb148baa720"
+SRC_URI[sha256sum] = "5e57eafe7d4ac5ecb6a7d64d6b61db775616dbf903293b3fcc660716dbda5eeb"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-eh-no-give-up-share-detection.patch b/meta-openembedded/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-eh-no-give-up-share-detection.patch
new file mode 100644
index 0000000..2afaaac
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-eh-no-give-up-share-detection.patch
@@ -0,0 +1,68 @@
+From 9db4c0f6bc0dd11c77b54296fce6b8afe18f4325 Mon Sep 17 00:00:00 2001
+From: Steffen Nurpmeso <steffen@sdaoden.eu> 
+Date: Thu, 9 Jun 2022 18:26:38 +0800
+Subject: [PATCH] su_INLINE: eh no; give up, share detection with clang but for
+ a thing
+
+Upstream-Status: Backport[https://git.sdaoden.eu/browse/s-nail.git/commit/?id=de2a44c393a39d80ddf12154aec94cace84b19c1]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ include/su/code.h | 34 +++++++++-------------------------
+ 1 file changed, 9 insertions(+), 25 deletions(-)
+
+diff --git a/include/su/code.h b/include/su/code.h
+index 9683f4a..c7a2af3 100644
+--- a/include/su/code.h
++++ b/include/su/code.h
+@@ -308,29 +308,8 @@ do{\
+ # ifdef DOXYGEN
+ #  define su_INLINE inline
+ #  define su_SINLINE inline
+-# elif su_CC_GCC
+-#  if !su_CC_VCHECK_GCC(3, 1)
+-#   define su_INLINE extern __inline__
+-#   define su_SINLINE static __inline__
+-#  elif !defined __GNUC_GNU_INLINE__  /*4.1.3; !su_CC_VCHECK_GCC(4, 2)*/
+-#   define su_INLINE extern __inline __attribute__((always_inline))
+-#   define su_SINLINE static __inline __attribute__((always_inline))
+-   /* gcc 8.3.0 bug: does not gracefully inline with -Os
+-    * gcc 12.1.0 bug: ditto, -Og
+-    * Thus: always gcc-specific! */
+-#  elif 1 /*!defined __OPTIMIZE__ || \
+-      !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L*/
+-#   define su_INLINE extern __inline __attribute__((gnu_inline))
+-#   define su_SINLINE static __inline __attribute__((gnu_inline))
+-#  elif !defined NDEBUG || !defined __OPTIMIZE__
+-#   define su_INLINE static inline
+-#   define su_SINLINE static inline
+-#  else
+-#   define su_INLINE inline
+-#   define su_SINLINE static inline
+-#  endif
+-# elif su_CC_CLANG || su_CC_PCC
+-#  if defined __STDC_VERSION__ && __STDC_VERSION__ +0 >= 199901L
++# elif su_CC_CLANG || su_CC_GCC || su_CC_PCC
++#  if defined __STDC_VERSION__ && __STDC_VERSION__ +0 >= 199901l
+ #   if !defined NDEBUG || !defined __OPTIMIZE__
+ #    define su_INLINE static inline
+ #    define su_SINLINE static inline
+@@ -340,8 +319,13 @@ do{\
+ #    define su_SINLINE static inline __attribute__((always_inline))
+ #   endif
+ #  else
+-#   define su_INLINE static __inline
+-#   define su_SINLINE static __inline
++#   if su_CC_VCHECK_GCC(3, 1)
++#    define su_INLINE static __inline __attribute__((always_inline))
++#    define su_SINLINE static __inline __attribute__((always_inline))
++#   else
++#    define su_INLINE static __inline
++#    define su_SINLINE static __inline
++#   endif
+ #  endif
+ # else
+ #  define su_INLINE static /* TODO __attribute__((unused)) alike? */
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch b/meta-openembedded/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch
new file mode 100644
index 0000000..e011f5c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch
@@ -0,0 +1,45 @@
+From 5429b9e343c808951b1418d8626e544c9dcb28de Mon Sep 17 00:00:00 2001
+From: Steffen Nurpmeso <steffen@sdaoden.eu>
+Date: Thu, 9 Jun 2022 18:06:04 +0800
+Subject: [PATCH] su_INLINE: gcc: only GNU specifics after -Og
+
+Upstream-Status: Backport[https://git.sdaoden.eu/browse/s-nail.git/commit/?id=c5544b66c3b4b2e161166562349908a07e324b38]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ include/su/code.h | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/include/su/code.h b/include/su/code.h
+index 4d552c1..9683f4a 100644
+--- a/include/su/code.h
++++ b/include/su/code.h
+@@ -309,16 +309,17 @@ do{\
+ #  define su_INLINE inline
+ #  define su_SINLINE inline
+ # elif su_CC_GCC
+-   /* After lots of trouble with OpenBSD/gcc 4.2.1 and SunOS/gcc 3.4.3 */
+-#  if !su_CC_VCHECK_GCC(3, 2) /* Unsure: only used C++ at that time */
+-#   define su_INLINE extern __inline
+-#   define su_SINLINE static __inline
+-#  elif !su_CC_VCHECK_GCC(4, 3)
++#  if !su_CC_VCHECK_GCC(3, 1)
++#   define su_INLINE extern __inline__
++#   define su_SINLINE static __inline__
++#  elif !defined __GNUC_GNU_INLINE__  /*4.1.3; !su_CC_VCHECK_GCC(4, 2)*/
+ #   define su_INLINE extern __inline __attribute__((always_inline))
+ #   define su_SINLINE static __inline __attribute__((always_inline))
+-   /* xxx gcc 8.3.0 bug: does not truly inline with -Os */
+-#  elif !su_CC_VCHECK_GCC(8, 3) || !defined __OPTIMIZE__ ||\
+-      !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L
++   /* gcc 8.3.0 bug: does not gracefully inline with -Os
++    * gcc 12.1.0 bug: ditto, -Og
++    * Thus: always gcc-specific! */
++#  elif 1 /*!defined __OPTIMIZE__ || \
++      !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L*/
+ #   define su_INLINE extern __inline __attribute__((gnu_inline))
+ #   define su_SINLINE static __inline __attribute__((gnu_inline))
+ #  elif !defined NDEBUG || !defined __OPTIMIZE__
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb b/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb
index 539f9c3..6e004fc 100644
--- a/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb
@@ -7,7 +7,10 @@
 
 SRC_URI = "https://ftp.sdaoden.eu/${BP}.tar.xz \
            file://make-errors.patch \
-           file://0001-make.rc-set-VAL_MTA.patch"
+           file://0001-make.rc-set-VAL_MTA.patch \
+           file://0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch \
+           file://0001-su_INLINE-eh-no-give-up-share-detection.patch \
+"
 SRC_URI[sha256sum] = "2714d6b8fb2af3b363fc7c79b76d058753716345d1b6ebcd8870ecd0e4f7ef8c"
 
 DEPENDS = "coreutils-native"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.27.bb b/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.27.bb
rename to meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb
index abc1c23..0c9599a 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.27.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb
@@ -4,7 +4,7 @@
 LICENSE = "LGPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f30a9716ef3762e3467a2f62bf790f0a"
 
-SRCREV = "f097a66923a65e93640c48da83e6e9cfbddd86ba"
+SRCREV = "1d23e483ae869ee9532aca43b133cc43f63626a3"
 SRC_URI = "git://anongit.freedesktop.org/xdg/pyxdg;branch=master"
 
 inherit setuptools3
diff --git a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.8.bb b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.8.bb
rename to meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.bb
index 12951e2..e442266 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.8.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/feh/feh_3.9.bb
@@ -10,7 +10,7 @@
 "
 
 SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "7f3c34552b39336d7ebee2d7c4bf5697aaaa2c6c102c357f6e82ea240bd62ba9"
+SRC_URI[sha256sum] = "8649962c41d2c7ec4cc3f438eb327638a1820ad5a66df6a9995964601ae6bca0"
 
 inherit mime-xdg features_check
 # depends on virtual/libx11
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch
new file mode 100644
index 0000000..dd799e7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch
@@ -0,0 +1,67 @@
+From 6d3c48d1b01943a467928235c3affbab463c25ab Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Jul 2022 12:32:47 -0700
+Subject: [PATCH] cmake: Use alternate way to detect libm
+
+The standard package provided with MathLib cmake module does not work
+when libm is folded into libc starting glibc 2.35+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt                   | 7 ++++++-
+ contrib/fonttools/CMakeLists.txt | 2 +-
+ fontforge/CMakeLists.txt         | 2 +-
+ fontforgeexe/CMakeLists.txt      | 4 ++--
+ 4 files changed, 10 insertions(+), 5 deletions(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -111,9 +111,14 @@ find_package_with_target(Intl REQUIRED)
+ find_package(GLIB 2.6 REQUIRED COMPONENTS gio gobject)
+ find_package(Iconv REQUIRED)
+ find_package(LibXml2 REQUIRED)
+-find_package(MathLib REQUIRED)
+ find_package(ZLIB REQUIRED)
+ 
++include(CheckLibraryExists)
++CHECK_LIBRARY_EXISTS(m pow "" HAVE_LIB_M)
++if (HAVE_LIB_M)
++    set(EXTRA_LIBS ${EXTRA_LIBS} m)
++endif (HAVE_LIB_M)
++
+ check_include_file(pthread.h HAVE_PTHREAD_H)
+ if(HAVE_PTHREAD_H)
+   find_package(Threads)
+--- a/contrib/fonttools/CMakeLists.txt
++++ b/contrib/fonttools/CMakeLists.txt
+@@ -15,6 +15,6 @@ add_executable(woff woff.c)
+ 
+ target_link_libraries(acorn2sfd PRIVATE fontforge)
+ target_link_libraries(dewoff PRIVATE ZLIB::ZLIB)
+-target_link_libraries(pcl2ttf PRIVATE MathLib::MathLib)
++target_link_libraries(pcl2ttf PRIVATE ${EXTRA_LIBS})
+ target_link_libraries(ttf2eps PRIVATE fontforge)
+ target_link_libraries(woff PRIVATE ZLIB::ZLIB)
+--- a/fontforge/CMakeLists.txt
++++ b/fontforge/CMakeLists.txt
+@@ -237,7 +237,7 @@ target_link_libraries(fontforge
+     GLIB::GLIB
+     Intl::Intl
+   PRIVATE
+-    MathLib::MathLib
++    ${EXTRA_LIBS}
+     Iconv::Iconv
+     ZLIB::ZLIB
+ )
+--- a/fontforgeexe/CMakeLists.txt
++++ b/fontforgeexe/CMakeLists.txt
+@@ -110,7 +110,7 @@ if(ENABLE_PYTHON_SCRIPTING_RESULT)
+   target_link_libraries(fontforgeexe PRIVATE Python3::Python)
+ endif()
+ 
+-target_link_libraries(fontforgeexe PRIVATE fontforge Iconv::Iconv MathLib::MathLib)
++target_link_libraries(fontforgeexe PRIVATE fontforge Iconv::Iconv ${EXTRA_LIBS})
+ install(TARGETS fontforgeexe RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ 
+ if(UNIX)
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch
new file mode 100644
index 0000000..e8c1a11
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch
@@ -0,0 +1,29 @@
+From f5a19ad9b2aea85dab28e7c61ac39404631fad2d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 6 Jul 2022 04:54:23 -0700
+Subject: [PATCH] fontforgeexe: Use env to find fontforge
+
+This helps in avoiding to encode build paths into interpeter
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fontforgeexe/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fontforgeexe/CMakeLists.txt b/fontforgeexe/CMakeLists.txt
+index b2d663b88..e2a8fee54 100644
+--- a/fontforgeexe/CMakeLists.txt
++++ b/fontforgeexe/CMakeLists.txt
+@@ -118,7 +118,7 @@ if(UNIX)
+     foreach(_script fontimage.pe fontlint.pe sfddiff.pe)
+       get_filename_component(_output \"\${_script}\" NAME_WE)
+       file(READ \"${CMAKE_CURRENT_SOURCE_DIR}/\${_script}\" _input)
+-      file(WRITE \"${CMAKE_CURRENT_BINARY_DIR}/\${_output}\" \"#!\${CMAKE_INSTALL_PREFIX}/bin/fontforge -lang=ff\\n\${_input}\")
++      file(WRITE \"${CMAKE_CURRENT_BINARY_DIR}/\${_output}\" \"#!/usr/bin/env fontforge -lang=ff\\n\${_input}\")
+     endforeach()
+   " COMPONENT nativescripts)
+   install(FILES "${CMAKE_CURRENT_BINARY_DIR}/fontimage" "${CMAKE_CURRENT_BINARY_DIR}/fontlint" "${CMAKE_CURRENT_BINARY_DIR}/sfddiff"
+-- 
+2.37.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
index 54ff7b7..27de27d 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
@@ -11,19 +11,14 @@
  gdraw/gdraw.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/gdraw/gdraw.c b/gdraw/gdraw.c
-index 24591b778..217c63140 100644
 --- a/gdraw/gdraw.c
 +++ b/gdraw/gdraw.c
-@@ -32,7 +32,7 @@
+@@ -33,7 +33,7 @@
  #include "gkeysym.h"
  #include "ustring.h"
  
--#if __Mac || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__
-+#if __Mac || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__ || !defined(__GLIBC__)
+-#if __Mac
++#if __Mac || (defined(__linux__) && !defined(__GLIBC__))
  #  include <sys/select.h>
  #endif
  
--- 
-2.23.0
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20220308.bb
similarity index 74%
rename from meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb
rename to meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20220308.bb
index cb5f4d5..c53f2db 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20220308.bb
@@ -6,23 +6,25 @@
     file://LICENSE;md5=d042f3d2a8fd7208b704a499168e3c89 \
 "
 
-DEPENDS = "python3 glib-2.0 pango giflib tiff libxml2 jpeg libtool uthash gettext-native"
+DEPENDS = "python3 glib-2.0 pango giflib tiff libxml2 jpeg libtool uthash gettext-native libspiro"
 DEPENDS:append:class-target = " libxi"
 
-inherit autotools pkgconfig python3native features_check gettext gtk-icon-cache mime mime-xdg
+inherit cmake pkgconfig python3native features_check gettext gtk-icon-cache mime mime-xdg
 
 REQUIRED_DISTRO_FEATURES:append:class-target = " x11"
 
-# tag 20190801
-SRCREV = "ac635b818e38ddb8e7e2e1057330a32b4e25476e"
+# tag 20220308
+SRCREV = "582bd41a9bf04326300fc02a677fe3610d6d3ccd"
 SRC_URI = "git://github.com/${BPN}/${BPN}.git;branch=master;protocol=https \
            file://0001-include-sys-select-on-non-glibc-platforms.patch \
+           file://0001-fontforgeexe-Use-env-to-find-fontforge.patch \
+           file://0001-cmake-Use-alternate-way-to-detect-libm.patch \
 "
 S = "${WORKDIR}/git"
 
-EXTRA_OECONF += "--without-libuninameslist  --enable-python-scripting --enable-python-extension"
-EXTRA_OECONF:append:class-native = " with_x=no"
+EXTRA_OECMAKE = "-DENABLE_DOCS=OFF"
 
+CFLAGS += "-fno-strict-aliasing"
 LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
 BUILD_LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20200505.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20200505.bb
new file mode 100644
index 0000000..c885a00
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/libspiro_20200505.bb
@@ -0,0 +1,14 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "LibSpiro is an adaptation of Spiro formula and functions into a sharable library"
+HOMEPAGE = "https://github.com/fontforge/libspiro"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "https://github.com/fontforge/libspiro/releases/download/20200505/libspiro-dist-20200505.tar.gz"
+SRC_URI[sha256sum] = "06c69a1e8dcbcabcf009fd96fd90b1a244d0257246e376c2c4d57c4ea4af0e49"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb
index b077a0b..666442f 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb
@@ -3,7 +3,7 @@
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5d1de21f0b70830e299905eac3419084"
 
-DEPENDS = "virtual/libsdl"
+DEPENDS = "libsdl"
 
 SRC_URI = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-${PV}.tar.gz"
 SRC_URI[md5sum] = "ea24ed4b82ff1304809c363494fa8e16"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
index 14f30e0..5a93dc1 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
@@ -4,7 +4,7 @@
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://COPYING;md5=613734b7586e1580ef944961c6d62227"
 
-DEPENDS = "tiff zlib libpng jpeg virtual/libsdl"
+DEPENDS = "tiff zlib libpng jpeg libsdl"
 
 SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz \
            file://configure.patch"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
index c83fcc8..a470ee8 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Simple DirectMedia Layer mixer library"
 SECTION = "libs"
-DEPENDS = "virtual/libsdl flac libmikmod libvorbis"
+DEPENDS = "libsdl flac libmikmod libvorbis"
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a37a47a0e579e461474cd03b9e05199d"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
index b021e56..49b1ef2 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
@@ -6,7 +6,7 @@
 
 inherit autotools pkgconfig
 
-DEPENDS = "virtual/libsdl"
+DEPENDS = "libsdl"
 
 SRC_URI = " \
   https://www.libsdl.org/projects/SDL_net/release/SDL_net-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
index 6673ba3..797c38d 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Simple DirectMedia Layer truetype font library"
 SECTION = "libs"
-DEPENDS = "virtual/libsdl freetype"
+DEPENDS = "libsdl freetype"
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://COPYING;md5=22800d1b3701377aae0b61ee36f5c303"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
index 1218b68..57f0f99 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=822edb694b20ff16ceef85b27f61c11f"
 
-DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp"
+DEPENDS = "tiff zlib libpng jpeg libsdl2 libwebp"
 
 SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz"
 SRC_URI[md5sum] = "f26f3a153360a8f09ed5220ef7b07aea"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
index 897a33f..dbcb2a1 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Simple DirectMedia Layer mixer library V2"
 SECTION = "libs"
-DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis"
+DEPENDS = "libsdl2 flac libmikmod libvorbis"
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=516daf7a177ad4c8874bb9efa1a69c1f"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
index f09dc5e..35369e8 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
@@ -10,7 +10,7 @@
 
 inherit autotools pkgconfig
 
-DEPENDS = "virtual/libsdl2"
+DEPENDS = "libsdl2"
 
 SRC_URI[md5sum] = "5c1d9d1cfa63301b141cb5c0de2ea7c4"
 SRC_URI[sha256sum] = "15ce8a7e5a23dafe8177c8df6e6c79b6749a03fff1e8196742d3571657609d21"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.18.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.18.bb
index 0951d72..aae803f 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.18.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.18.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Simple DirectMedia Layer truetype font library"
 SECTION = "libs"
-DEPENDS = "virtual/libsdl2 freetype virtual/egl"
+DEPENDS = "libsdl2 freetype virtual/egl"
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=e98cfd01ca78f683e9d035795810ce87"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
index 9085c6d..e2992b5 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -10,8 +10,6 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4"
 
-PROVIDES = "virtual/libsdl"
-
 PR = "r3"
 
 SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
index 2f7fcac..0d45ee7 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
 SRCREV = "4767ea922bcc460e70b87b1d303ebdfed0897da8"
-SRC_URI = "git://github.com/tesseract-ocr/tessdata.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/tesseract-ocr/tessdata.git;branch=main;protocol=https"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch
new file mode 100644
index 0000000..8d5b8b6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch
@@ -0,0 +1,128 @@
+From 7a8c6a06c86e133e4346b1dc66483bd8d0d3c716 Mon Sep 17 00:00:00 2001
+From: John Ogness <john.ogness@linutronix.de>
+Date: Tue, 24 Aug 2021 21:10:43 +0200
+Subject: [PATCH] minicoredumper: retry elf parsing as long as needed
+
+As was reported in github issue #2 ("maximum number of tries
+insufficient, in rare cases, for elf parse"), the number of retries
+for parsing a process may be insufficient. Rather than setting an
+upper limit on the maximum number of retries, track the number of
+headers seen. As long as the number of seen headers is greater than
+the previous try, try again.
+
+In order to avoid introducing any new issues, preserve the behavior
+of retrying at least 10 times, even if no new headers are seen.
+
+Reported-by: github.com/ssajal-wr
+Signed-off-by: John Ogness <john.ogness@linutronix.de>
+
+Upstream-Status: Backport [7a8c6a06c86e133e4346b1dc66483bd8d0d3c716]
+
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+ src/minicoredumper/corestripper.c | 30 +++++++++++++++++++++++-------
+ 1 file changed, 23 insertions(+), 7 deletions(-)
+
+diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c
+index d96d1df..c96b350 100644
+--- a/src/minicoredumper/corestripper.c
++++ b/src/minicoredumper/corestripper.c
+@@ -761,7 +761,7 @@ static int init_log(struct dump_info *di)
+ typedef int elf_parse_cb(struct dump_info *di, Elf *elf, GElf_Phdr *phdr);
+ 
+ static int do_elf_ph_parse(struct dump_info *di, GElf_Phdr *type,
+-			   elf_parse_cb *callback)
++			   elf_parse_cb *callback, size_t *phnum_found)
+ {
+ 	GElf_Ehdr ehdr_mem;
+ 	GElf_Ehdr *ehdr;
+@@ -770,6 +770,9 @@ static int do_elf_ph_parse(struct dump_info *di, GElf_Phdr *type,
+ 	size_t phnum;
+ 	size_t cnt;
+ 
++	if (phnum_found)
++		*phnum_found = 0;
++
+ 	/* start from beginning of core */
+ 	if (lseek64(di->elf_fd, 0, SEEK_SET) == -1) {
+ 		info("lseek failed: %s", strerror(errno));
+@@ -809,6 +812,9 @@ static int do_elf_ph_parse(struct dump_info *di, GElf_Phdr *type,
+ 		goto out;
+ 	}
+ 
++	if (phnum_found)
++		*phnum_found = phnum;
++
+ 	for (cnt = 0; cnt < phnum; cnt++) {
+ 		GElf_Phdr phdr_mem;
+ 		GElf_Phdr *phdr;
+@@ -891,7 +897,7 @@ static int vma_cb(struct dump_info *di, Elf *elf, GElf_Phdr *phdr)
+ /*
+  * Tries to parse the found ELF headers and reads all vmas from it.
+  */
+-static int parse_vma_info(struct dump_info *di)
++static int parse_vma_info(struct dump_info *di, size_t *phnum_found)
+ {
+ 	unsigned long min_off = ULONG_MAX;
+ 	unsigned long max_len = 0;
+@@ -911,7 +917,7 @@ static int parse_vma_info(struct dump_info *di)
+ 	memset(&type, 0, sizeof(type));
+ 	type.p_type = PT_LOAD;
+ 	type.p_flags = PF_R;
+-	if (do_elf_ph_parse(di, &type, vma_cb) != 0)
++	if (do_elf_ph_parse(di, &type, vma_cb, phnum_found) != 0)
+ 		return -1;
+ 
+ 	for (v = di->vma; v; v = v->next) {
+@@ -1614,8 +1620,10 @@ int add_core_data(struct dump_info *di, off64_t dest_offset, size_t len,
+  */
+ static int init_src_core(struct dump_info *di, int src)
+ {
++	size_t last_phnum = 0;
+ 	int tries = 0;
+ 	int ret = -1;
++	size_t phnum;
+ 	size_t len;
+ 	char *buf;
+ 	long pos;
+@@ -1642,7 +1650,7 @@ again:
+ 		goto out;
+ 
+ 	/* try to elf-parse the core to read vma info */
+-	ret = parse_vma_info(di);
++	ret = parse_vma_info(di, &phnum);
+ 
+ 	/* restore our position */
+ 	if (lseek64(di->elf_fd, pos, SEEK_SET) == -1)
+@@ -1653,9 +1661,17 @@ again:
+ 
+ 		tries++;
+ 
+-		/* maybe try again */
+-		if (tries < 10)
++		if (phnum > last_phnum) {
++			/* new headers found, keep trying */
++			last_phnum = phnum;
+ 			goto again;
++		} else if (tries < 10) {
++			/*
++			 * even if no new headers are found,
++			 * retry at least 10 times
++			 */
++			goto again;
++		}
+ 
+ 		goto out;
+ 	}
+@@ -2106,7 +2122,7 @@ static int dump_stacks(struct dump_info *di)
+ 		/* find and set the first task */
+ 		memset(&type, 0, sizeof(type));
+ 		type.p_type = PT_NOTE;
+-		do_elf_ph_parse(di, &type, note_cb);
++		do_elf_ph_parse(di, &type, note_cb, NULL);
+ 	}
+ 
+ 	if (di->first_pid)
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
index bf99152..0b934ee 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
@@ -17,6 +17,7 @@
            file://0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch \
            file://minicoredumper.service \
            file://minicoredumper.init \
+           file://0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.11.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.12.0.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.11.0.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.12.0.bb
index 8fd4f69..066d7cc 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.12.0.bb
@@ -7,7 +7,7 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
 
-SRCREV = "626ff35955c2c35b806b3e0ecf551a1a8611cdbf"
+SRCREV = "03265cd42b3783532de72f2ded5436652e6f5ce3"
 SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https;branch=main \
            file://libvpx-configure-support-blank-prefix.patch \
            "
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geos/files/geos-config-Add-includedir-variable.patch b/meta-openembedded/meta-oe/recipes-navigation/geos/files/geos-config-Add-includedir-variable.patch
deleted file mode 100644
index 645e6f6..0000000
--- a/meta-openembedded/meta-oe/recipes-navigation/geos/files/geos-config-Add-includedir-variable.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 9d51027c228dafd7db2d0cffca1f0fc695e950fd Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Mon, 2 Dec 2013 11:33:26 -0200
-Subject: [PATCH] geos-config: Add includedir variable
-
-This fixes cross-compile as it is easier to mangle the includedir
-during sysroot generation.
-
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- tools/geos-config.in |    3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tools/geos-config.in b/tools/geos-config.in
-index 9b45b5f..1749892 100644
---- a/tools/geos-config.in
-+++ b/tools/geos-config.in
-@@ -1,6 +1,7 @@
- #!/bin/sh
- prefix=@prefix@
- exec_prefix=@exec_prefix@
-+includedir=@includedir@
- libdir=@libdir@
- 
- usage()
-@@ -38,7 +39,7 @@ case $1 in
-     echo @VERSION@
-      ;;
-     --cflags)
--    echo -I${prefix}/include 
-+    echo -I${includedir}
-       ;;
-     --libs)
-       # TODO: make an alias for --clibs
--- 
-1.7.10.4
-
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc b/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc
index bfac69b..484ca91 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc
+++ b/meta-openembedded/meta-oe/recipes-navigation/geos/geos.inc
@@ -9,6 +9,8 @@
 
 inherit autotools pkgconfig binconfig
 
+EXTRA_OECONF += "--enable-inline=no"
+
 PACKAGES =+ "geoslib ${PN}-c1"
 
 DESCRIPTION:${PN}lib = "Geometry engine for Geographic Information Systems - C++ Library"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.3.bb b/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.3.bb
deleted file mode 100644
index 538456c..0000000
--- a/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.4.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require geos.inc
-
-SRC_URI += "file://geos-config-Add-includedir-variable.patch \
-"
-
-SRC_URI[md5sum] = "77f2c2cca1e9f49bc1bece9037ac7a7a"
-SRC_URI[sha256sum] = "cfbf68079117c1c2b76411636444ff41d73c31093c4cab9dcc9a8c1bbe7e3897"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.9.3.bb b/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.9.3.bb
new file mode 100644
index 0000000..fdb7220
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/geos/geos_3.9.3.bb
@@ -0,0 +1,3 @@
+require geos.inc
+
+SRC_URI[sha256sum] = "f8b2314e311456f7a449144efb5e3188c2a28774752bc50fc882a3cd5c89ee35"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
index 9c1db3a..4ced1c9 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
@@ -5,3 +5,4 @@
 # empty by default
 # BSP layers can add stuff like meta-openmoko example:
 #
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch
deleted file mode 100644
index 28bd7da..0000000
--- a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://www.gaia-gis.it/fossil/libspatialite/tktview?name=abeeaad448
-
-Upstream-Status: Submitted [rpm5-devel@rpm5.org]
-
-Index: libspatialite-4.2.0/configure.ac
-===================================================================
---- libspatialite-4.2.0.orig/configure.ac
-+++ libspatialite-4.2.0/configure.ac
-@@ -260,7 +260,7 @@ if test x"$enable_geos" != "xno"; then
-   fi
-   # Extract the linker and include flags
-   GEOS_LDFLAGS=`$GEOSCONFIG --ldflags`
--  GEOS_CFLAGS=-I`$GEOSCONFIG --includes`
-+  GEOS_CFLAGS=`$GEOSCONFIG --cflags`
-   AC_SUBST([GEOS_LDFLAGS])
-   AC_SUBST([GEOS_CFLAGS])	
-   # Ensure that we can parse geos_c.h
diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_geos.patch b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_geos.patch
new file mode 100644
index 0000000..7d8d2c2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_geos.patch
@@ -0,0 +1,43 @@
+diff -rupN --no-dereference libspatialite-5.0.1/configure.ac libspatialite-5.0.1-new/configure.ac
+--- libspatialite-5.0.1/configure.ac	2021-03-08 08:57:19.015858195 +0100
++++ libspatialite-5.0.1-new/configure.ac	2021-03-08 08:57:19.017858195 +0100
+@@ -312,35 +312,10 @@ AC_ARG_ENABLE(geos, [AS_HELP_STRING(
+   [], [enable_geos=yes])
+ if test x"$enable_geos" != "xno"; then
+   #-----------------------------------------------------------------------
+-  #   --with-geosconfig
+-  #
+-  AC_ARG_WITH([geosconfig],
+-        [AS_HELP_STRING([--with-geosconfig=FILE], [specify an alternative geos-config file])],
+-	[GEOSCONFIG="$withval"], [GEOSCONFIG=""])
+-  if test "x$GEOSCONFIG" = "x"; then
+-        # GEOSCONFIG was not specified, so search within the current path
+-        AC_PATH_PROG([GEOSCONFIG], [geos-config])	
+-        # If we couldn't find geos-config, display an error
+-        if test "x$GEOSCONFIG" = "x"; then
+-                AC_MSG_ERROR([could not find geos-config within the current path. You may need to try re-running configure with a --with-geosconfig parameter.])
+-        fi
+-  else
+-        # GEOSCONFIG was specified; display a message to the user
+-        if test "x$GEOSCONFIG" = "xyes"; then
+-                AC_MSG_ERROR([you must specify a parameter to --with-geosconfig, e.g. --with-geosconfig=/path/to/geos-config])
+-        else
+-                if test -f $GEOSCONFIG; then
+-                        AC_MSG_RESULT([Using user-specified geos-config file: $GEOSCONFIG])
+-                else
+-                        AC_MSG_ERROR([the user-specified geos-config file $GEOSCONFIG does not exist])
+-                fi     
+-        fi
+-  fi
+-  # Extract the linker and include flags
+-  GEOS_LDFLAGS=`$GEOSCONFIG --ldflags`
+-  GEOS_CFLAGS=-I`$GEOSCONFIG --includes`
+-  AC_SUBST([GEOS_LDFLAGS])
+-  AC_SUBST([GEOS_CFLAGS])	
++  PKG_CHECK_MODULES([GEOS], [geos], , AC_MSG_ERROR(['geos' is required but it doesn't seem to be installed on this system.]))
++  GEOS_LDFLAGS="$GEOS_LIBS"
++  AC_SUBST(GEOS_CFLAGS)
++  AC_SUBST(GEOS_LDFLAGS)
+   # Ensure that we can parse geos_c.h
+   CPPFLAGS_SAVE="$CPPFLAGS"
+   CPPFLAGS="$GEOS_CFLAGS"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_macros.patch b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_macros.patch
new file mode 100644
index 0000000..9b71ab7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_macros.patch
@@ -0,0 +1,12 @@
+diff -rupN --no-dereference libspatialite-5.0.1/configure.ac libspatialite-5.0.1-new/configure.ac
+--- libspatialite-5.0.1/configure.ac	2021-03-08 08:57:18.748858216 +0100
++++ libspatialite-5.0.1-new/configure.ac	2021-03-08 08:57:18.751858215 +0100
+@@ -96,7 +96,7 @@ AC_PROG_INSTALL
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+ AC_LIBTOOL_WIN32_DLL
+-AC_PROG_LIBTOOL
++LT_INIT
+ 
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_pkgconfig.patch b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_pkgconfig.patch
new file mode 100644
index 0000000..149c126
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_pkgconfig.patch
@@ -0,0 +1,11 @@
+diff -rupN libspatialite-5.0.1/spatialite.pc.in libspatialite-5.0.1-new/spatialite.pc.in
+--- libspatialite-5.0.1/spatialite.pc.in	2021-02-07 16:53:46.000000000 +0100
++++ libspatialite-5.0.1-new/spatialite.pc.in	2021-02-10 09:54:09.647552994 +0100
+@@ -8,5 +8,6 @@ includedir=@includedir@
+ Name: spatialite
+ Description: Spatial SQL database engine based on SQLite
+ Version: @VERSION@
+-Libs: -L${libdir} -lspatialite @LIBS@ @LIBXML2_LIBS@ -lm
++Libs.private: -L${libdir} @LIBS@ @LIBXML2_LIBS@ -lm
++Libs: -L${libdir} -lspatialite
+ Cflags: -I${includedir}
diff --git a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_5.0.1.bb
similarity index 62%
rename from meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb
rename to meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_5.0.1.bb
index f6c7655..f46b108 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/libspatialite/libspatialite_5.0.1.bb
@@ -7,14 +7,16 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e"
 
 SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz \
-           file://geos-config.patch"
-SRC_URI[md5sum] = "6b380b332c00da6f76f432b10a1a338c"
-SRC_URI[sha256sum] = "88900030a4762904a7880273f292e5e8ca6b15b7c6c3fb88ffa9e67ee8a5a499"
+           file://libspatialite_geos.patch \
+           file://libspatialite_macros.patch \
+           file://libspatialite_pkgconfig.patch \
+"
 
-inherit autotools pkgconfig
+SRC_URI[sha256sum] = "eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98"
 
-EXTRA_OECONF = "--enable-freexl=no"
-CFLAGS += "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H"
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OECONF = "--enable-freexl=no --disable-rttopo --disable-minizip"
 
 # package plugins for SQLite3
 PACKAGES += "${PN}-plugin"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/proj/proj_7.0.1.bb b/meta-openembedded/meta-oe/recipes-navigation/proj/proj_8.2.1.bb
similarity index 63%
rename from meta-openembedded/meta-oe/recipes-navigation/proj/proj_7.0.1.bb
rename to meta-openembedded/meta-oe/recipes-navigation/proj/proj_8.2.1.bb
index 98e57f2..0c11049 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/proj/proj_7.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/proj/proj_8.2.1.bb
@@ -3,12 +3,11 @@
 SECTION = "libs"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27445198ba1500f508fce2b183ce0ff"
 
 SRC_URI = "http://download.osgeo.org/${BPN}/${BP}.tar.gz"
 
-SRC_URI[md5sum] = "5ba7536b579a6c9e0ad822dbdd455985"
-SRC_URI[sha256sum] = "a7026d39c9c80d51565cfc4b33d22631c11e491004e19020b3ff5a0791e1779f"
+SRC_URI[sha256sum] = "76ed3d0c3a348a6693dfae535e5658bbfd47f71cb7ff7eb96d9f12f7e068b1cf"
 
 DEPENDS = "sqlite3 sqlite3-native tiff"
 
@@ -19,3 +18,5 @@
 PACKAGECONFIG[curl] = ",--without-curl,curl"
 
 FILES:${PN} += "${datadir}/proj"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2022-24407.patch b/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2022-24407.patch
new file mode 100644
index 0000000..3d67f47
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2022-24407.patch
@@ -0,0 +1,27 @@
+From 078f98ea154475d953ce5b7cd851732f4dc270a7 Mon Sep 17 00:00:00 2001
+From: Hitendra Prajapati <hprajapati@mvista.com>
+Date: Tue, 5 Jul 2022 09:31:07 +0530
+Subject: [PATCH] CVE-2022-24407
+
+Upstream-Status: Backport [https://github.com/cyrusimap/cyrus-sasl/commit/9eff746c9daecbcc0041b09a5a51ba30738cdcbc]
+CVE: CVE-2022-24407
+Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
+---
+ plugins/sql.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/plugins/sql.c b/plugins/sql.c
+index 6ac81c2f..d90dbac9 100644
+--- a/plugins/sql.c
++++ b/plugins/sql.c
+@@ -1127,6 +1127,7 @@ static int sql_auxprop_lookup(void *glob_context,
+   done:
+     if (escap_userid) sparams->utils->free(escap_userid);
+     if (escap_realm) sparams->utils->free(escap_realm);
++    if (escap_passwd) sparams->utils->free(escap_passwd);
+     if (conn) settings->sql_engine->sql_close(conn);
+     if (userid) sparams->utils->free(userid);
+     if (realm) sparams->utils->free(realm);
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb b/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb
index 98899df..e344733 100644
--- a/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb
+++ b/meta-openembedded/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb
@@ -14,6 +14,7 @@
            file://saslauthd.service \
            file://saslauthd.conf \
            file://CVE-2019-19906.patch \
+	   file://CVE-2022-24407.patch \
            "
 
 UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives"
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch
index 4cf182a..d06b6af 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch
@@ -1,10 +1,21 @@
-Compatibility fixes for musl.
+From 328805fd16930deefda400a77e9c2c5d17d04d29 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 13 Mar 2021 00:42:25 -0800
+Subject: [PATCH] Compatibility fixes for musl.
 
+---
+ m4/pc_from_ucontext.m4             | 4 +++-
+ src/getpc.h                        | 3 +++
+ src/stacktrace_powerpc-linux-inl.h | 8 ++++++--
+ 3 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/m4/pc_from_ucontext.m4 b/m4/pc_from_ucontext.m4
+index 7f09dd7..5f4ee8c 100644
 --- a/m4/pc_from_ucontext.m4
 +++ b/m4/pc_from_ucontext.m4
 @@ -34,6 +34,7 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT],
+    pc_fields="$pc_fields uc_mcontext.gregs[[R15]]"     # Linux (arm old [untested])
     pc_fields="$pc_fields uc_mcontext.arm_pc"           # Linux (arm arch 5)
-    pc_fields="$pc_fields uc_mcontext.cr0_hi"           # Linux (e2k)
     pc_fields="$pc_fields uc_mcontext.gp_regs[[PT_NIP]]"  # Suse SLES 11 (ppc64)
 +   pc_fields="$pc_fields uc_mcontext.gregs[[PT_NIP]]"
     pc_fields="$pc_fields uc_mcontext.mc_eip"           # FreeBSD (i386)
@@ -20,6 +31,8 @@
                          [ucontext_t u; return u.$pc_field == 0;],
                          AC_DEFINE_UNQUOTED(PC_FROM_UCONTEXT, $pc_field,
                                             How to access the PC from a struct ucontext)
+diff --git a/src/getpc.h b/src/getpc.h
+index 9605363..cd8ccfa 100644
 --- a/src/getpc.h
 +++ b/src/getpc.h
 @@ -68,6 +68,9 @@
@@ -32,6 +45,8 @@
  
  // Take the example where function Foo() calls function Bar().  For
  // many architectures, Bar() is responsible for setting up and tearing
+diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h
+index a301a46..efca426 100644
 --- a/src/stacktrace_powerpc-linux-inl.h
 +++ b/src/stacktrace_powerpc-linux-inl.h
 @@ -186,7 +186,7 @@ static int GET_STACK_TRACE_OR_FRAMES {
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.10.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb
rename to meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.10.bb
index d056622..602a7e2 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.9.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.10.bb
@@ -10,7 +10,7 @@
 
 DEPENDS:append:libc-musl = " libucontext"
 
-SRCREV = "f7c6fb6c8e99d6b1b725e5994373bcd19ffdf8fd"
+SRCREV = "bf8b714bf5075d0a6f2f28504b43095e2b1e11c5"
 SRC_URI = "git://github.com/gperftools/gperftools;branch=master;protocol=https \
            file://0001-Support-Atomic-ops-on-clang.patch \
            file://0001-fix-build-with-musl-libc.patch \
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.360.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.361.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.360.bb
rename to meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.361.bb
index b395409..c8daf7d 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.360.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.361.bb
@@ -5,7 +5,7 @@
 LICENSE = "GPL-2.0-or-later | XFree86-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-SRCREV = "5e1a17e536de5b2888ecb7ae58ded885a53eddfd"
+SRCREV = "a934c616e2e666552586caa85af9fc583855df49"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
index 008a83f..b8167f5 100644
--- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
+++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
@@ -4,15 +4,15 @@
 DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \
 editing raster and vector image files. It can read and write over 200 image file formats."
 LICENSE = "ImageMagick"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=41b4fa9af60c88e61484b02c0561181a \
-                    file://NOTICE;md5=a2aa6e41f8a40700196a9ce301693e34"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b97c12a9213df1499565d69b92c73dd7 \
+                    file://NOTICE;md5=d8b9d2ccf273687ad12ebd06e5d8478f"
 # FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
 DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
 
 BASE_PV := "${PV}"
-PV .= "_25"
+PV .= "-62"
 SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https"
-SRCREV = "8b4e00829eb84d4e7b4da11acf1f98f1e8166e5b"
+SRCREV = "35b4991eb0939a327f3489988c366e21068b0178"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.1.0.bb b/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.1.0.bb
rename to meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb
index 4e6bfbb..3d25eec 100644
--- a/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb
@@ -5,7 +5,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6"
 
-SRCREV = "4b72dcd15299e1d0cb096397d9aab513ffed1657"
+SRCREV = "c8bdbc0a2ed822fc7c67c5c3e102d89fe27fb2d0"
 
 SRC_URI = "git://github.com/${BPN}/${BPN};branch=master;protocol=https \
            file://0002-libinotifytools-Bridge-differences-between-musl-glib.patch \
diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch
deleted file mode 100644
index 2777a94..0000000
--- a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From cb350a8989adbd65db574325d9a86d5437d800da Mon Sep 17 00:00:00 2001
-From: Guillem Jover <guillem@hadrons.org>
-Date: Mon, 13 Sep 2021 23:56:08 +0200
-Subject: [PATCH] test: Use syscall wrappers instead of using syscall(2) directly
-
-Some of these syscalls have different entry points depending on the
-architecture. Use the wrappers to avoid having to reimplement them
-portably.
-
-Fixes build failures on Debian armel and armhf builds.
-
-Upstream-Status: Backport [https://github.com/kraj/liburing/commit/cb350a8989adbd65db574325d9a86d5437d800da]
-Signed-off-by: Guillem Jover <guillem@hadrons.org>
----
- test/sqpoll-cancel-hang.c | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/test/sqpoll-cancel-hang.c b/test/sqpoll-cancel-hang.c
-index c9032c8..e561478 100644
---- a/test/sqpoll-cancel-hang.c
-+++ b/test/sqpoll-cancel-hang.c
-@@ -4,7 +4,6 @@
- #include <stdlib.h>
- #include <string.h>
- #include <sys/mman.h>
--#include <sys/syscall.h>
- #include <sys/wait.h>
- #include <time.h>
- #include <unistd.h>
-@@ -29,8 +28,6 @@ static uint64_t current_time_ms(void)
- 
- #define IORING_OFF_SQES 0x10000000ULL
- 
--#define sys_io_uring_setup 425
--
- static void kill_and_wait(int pid, int* status)
- {
-     kill(-pid, SIGKILL);
-@@ -53,7 +50,7 @@ a5)
-     void* vma2 = (void*)a3;
-     void** ring_ptr_out = (void**)a4;
-     void** sqes_ptr_out = (void**)a5;
--    uint32_t fd_io_uring = syscall(sys_io_uring_setup, entries, setup_params);
-+    uint32_t fd_io_uring = __sys_io_uring_setup(entries, setup_params);
-     uint32_t sq_ring_sz = setup_params->sq_off.array +
- setup_params->sq_entries * sizeof(uint32_t);
-     uint32_t cq_ring_sz = setup_params->cq_off.cqes +
-@@ -135,7 +132,7 @@ void trigger_bug(void)
- }
- int main(void)
- {
--    syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
-+    mmap((void *)0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
-     int pid = fork();
-     if (pid < 0)
-         exit(1);
--- 
-2.33.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.1.bb b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.2.bb
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.1.bb
rename to meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.2.bb
index da8e6d3..8cc7d74 100644
--- a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.2.bb
@@ -7,14 +7,12 @@
 SECTION = "libs"
 
 LICENSE = "LGPL-2.1-only | MIT"
-LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9"
+LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af"
 
-SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \
-           file://0001-test-Use-syscall-wrappers-instead-of-using-syscall-2.patch \
-           "
+SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https"
 SRC_URI:append:libc-musl:riscv64 = " file://0001-do-not-build-examples.patch "
 SRC_URI:append:libc-musl:riscv32 = " file://0001-do-not-build-examples.patch "
-SRCREV = "41a61c97c2e3df4475c93fdf5026d575ce3f1377"
+SRCREV = "dda4848a9911120a903bef6284fb88286f4464c9"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_3.0.21.02.21.bb b/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_3.0.21.02.21.bb
index 35b5a00..781e698 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_3.0.21.02.21.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_3.0.21.02.21.bb
@@ -13,7 +13,7 @@
 
 S = "${WORKDIR}/git"
 
-DEPENDS += "opencl-headers opencl-icd-loader"
+DEPENDS += "opencl-headers virtual/opencl-icd"
 
 do_install() {
         install -D -m 755 clinfo ${D}${bindir}/clinfo
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-core-vsx-update-vec_absd-workaround-condition.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-core-vsx-update-vec_absd-workaround-condition.patch
deleted file mode 100644
index d2d3b81..0000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-core-vsx-update-vec_absd-workaround-condition.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From c7ce902eed0eb7926c0973b1127037fdd27b99ca Mon Sep 17 00:00:00 2001
-From: Alexander Alekhin <alexander.a.alekhin@gmail.com>
-Date: Tue, 15 Feb 2022 07:23:32 +0300
-Subject: [PATCH] core(vsx): update vec_absd() workaround condition
-
-Upstream-Status: Backport [https://github.com/opencv/opencv/commit/8d88bb06b230b5c4b5bca78d84102f5d1adf48cf]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- modules/core/include/opencv2/core/vsx_utils.hpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/modules/core/include/opencv2/core/vsx_utils.hpp b/modules/core/include/opencv2/core/vsx_utils.hpp
-index 68863ffb36..5cbc066784 100644
---- a/modules/core/include/opencv2/core/vsx_utils.hpp
-+++ b/modules/core/include/opencv2/core/vsx_utils.hpp
-@@ -684,7 +684,8 @@ VSX_IMPL_LOAD_L8(vec_double2, double)
- #endif
- 
- // absolute difference
--#ifndef vec_absd
-+#ifndef _ARCH_PWR9
-+#   undef vec_absd
- #   define vec_absd(a, b) vec_sub(vec_max(a, b), vec_min(a, b))
- #endif
- 
--- 
-2.36.0
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.6.0.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb
rename to meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.6.0.bb
index e4fb676..f6c1005 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.6.0.bb
@@ -10,8 +10,8 @@
 
 DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
 
-SRCREV_opencv = "dad26339a975b49cfb6c7dbe4bd5276c9dcb36e2"
-SRCREV_contrib = "49e8f123ca08e76891856a1ecce491b62d08ba20"
+SRCREV_opencv = "b0dc474160e389b9c9045da5db49d03ae17c6a6b"
+SRCREV_contrib = "7b77c355a8fdc97667b3fa1e7a0d37e4973fc868"
 SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
 SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
 SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
@@ -51,7 +51,6 @@
            file://0001-Dont-use-isystem.patch \
            file://download.patch \
            file://0001-Make-ts-module-external.patch \
-           file://0001-core-vsx-update-vec_absd-workaround-condition.patch \
            "
 SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
 
@@ -100,6 +99,9 @@
     ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
     ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
 "
+LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+
 EXTRA_OECMAKE:append:x86 = " -DX86=ON"
 # disable sse4.1 and sse4.2 to fix 32bit build failure
 # https://github.com/opencv/opencv/issues/21597
@@ -107,7 +109,7 @@
 
 PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
-    "
+    ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
 
 # TBB does not build for powerpc so disable that package config
 PACKAGECONFIG:remove:powerpc = "tbb"
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.12.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.12.bb
index a0ca2b5..c01db08 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.12.bb
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.12.bb
@@ -131,7 +131,7 @@
 # Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
 # This allows tls to obtain random bits from /dev/urandom, by default
 # it was disabled for cross-compiling.
-CPPFLAGS:append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
+CPPFLAGS:append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\\"/dev/urandom\\" -fPIC"
 
 LDFLAGS:append = " -pthread"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-PCRE2-dependency.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-PCRE2-dependency.patch
new file mode 100644
index 0000000..1a9d23c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-PCRE2-dependency.patch
@@ -0,0 +1,25 @@
+From f049898c8bf058ed187de8e5fab20abeaab1f3b6 Mon Sep 17 00:00:00 2001
+From: Alex Fabijanic <alex@pocoproject.org>
+Date: Sat, 9 Jul 2022 19:13:04 +0200
+Subject: [PATCH] fix(cmake): PocoFoundationConfig.cmake should now check for
+ PCRE2 #3677
+
+Upstream-Status: Backport [https://github.com/pocoproject/poco/issues/3677]
+
+---
+ Foundation/cmake/PocoFoundationConfig.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Foundation/cmake/PocoFoundationConfig.cmake b/Foundation/cmake/PocoFoundationConfig.cmake
+index 46c2d3fc00..82c5788940 100644
+--- a/Foundation/cmake/PocoFoundationConfig.cmake
++++ b/Foundation/cmake/PocoFoundationConfig.cmake
+@@ -2,7 +2,7 @@ if(@POCO_UNBUNDLED@)
+ 	include(CMakeFindDependencyMacro)
+ 	list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
+ 	find_dependency(ZLIB REQUIRED)
+-	find_dependency(PCRE REQUIRED)
++	find_dependency(PCRE2 REQUIRED)
+ endif()
+ 
+ include("${CMAKE_CURRENT_LIST_DIR}/PocoFoundationTargets.cmake")
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-remove-providers-unitialization.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-remove-providers-unitialization.patch
new file mode 100644
index 0000000..7d24b79
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0002-remove-providers-unitialization.patch
@@ -0,0 +1,35 @@
+From c976c32e5249cb8a2433e7abfa095c1fe8dc4f8e Mon Sep 17 00:00:00 2001
+From: Alex Fabijanic <alex@pocoproject.org>
+Date: Wed, 13 Jul 2022 12:53:52 +0200
+Subject: [PATCH] fix(OpenSSLInitializer): remove providers unitialization
+ #3562 #3567
+
+Upstream-Status: Backport [https://github.com/pocoproject/poco/issues/3562]
+
+---
+ Crypto/src/OpenSSLInitializer.cpp | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/Crypto/src/OpenSSLInitializer.cpp b/Crypto/src/OpenSSLInitializer.cpp
+index 4678d22299..c537c3f9c2 100644
+--- a/Crypto/src/OpenSSLInitializer.cpp
++++ b/Crypto/src/OpenSSLInitializer.cpp
+@@ -157,18 +157,6 @@ void OpenSSLInitializer::uninitialize()
+ #endif
+ 		delete [] _mutexes;
+ #endif
+-
+-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+-		OSSL_PROVIDER* provider = nullptr;
+-		if ((provider = _defaultProvider.exchange(nullptr)))
+-		{
+-			OSSL_PROVIDER_unload(provider);
+-		}
+-		if ((provider = _legacyProvider.exchange(nullptr)))
+-		{
+-			OSSL_PROVIDER_unload(provider);
+-		}
+-#endif
+ 	}
+ }
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.2.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.0.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.2.bb
rename to meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.0.bb
index 8694983..6fff070 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.12.0.bb
@@ -6,13 +6,15 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
 
 # These dependencies are required by Foundation
-DEPENDS = "libpcre zlib"
+DEPENDS = "libpcre2 zlib"
 
 SRC_URI = " \
     git://github.com/pocoproject/poco.git;branch=master;protocol=https \
+    file://0001-fix-unbundled-PCRE2-dependency.patch \
+    file://0002-remove-providers-unitialization.patch \
     file://run-ptest \
    "
-SRCREV = "9d1c428c861f2e5ccf09149bbe8d2149720c5896"
+SRCREV = "4ba8595ed83841d1fa240716b5652adc3772c36b"
 
 UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
 
@@ -23,7 +25,7 @@
 # By default the most commonly used poco components are built
 # Foundation is built anyway and doesn't need to be listed explicitly
 # these don't have dependencies outside oe-core
-PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto JWT Data DataSQLite Zip Encodings Redis"
+PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto JWT Data DataSQLite Zip Encodings Redis Prometheus"
 
 PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat"
 PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
@@ -39,6 +41,7 @@
 PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
 PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF"
 PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF"
+PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-DENABLE_PROMETHEUS=OFF"
 
 # Additional components not build by default,
 # they might have dependencies not included in oe-core
@@ -47,6 +50,8 @@
 PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
 PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb"
 PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
+PACKAGECONFIG[ActiveRecord] = "-DENABLE_ACTIVERECORD=ON,-DENABLE_ACTIVERECORD=OFF"
+PACKAGECONFIG[ActiveRecordCompiler] = "-DENABLE_ACTIVERECORD_COMPILER=ON,-DENABLE_ACTIVERECORD_COMPILER=OFF"
 PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
 PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
 PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.06.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.07.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.06.0.bb
rename to meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.07.0.bb
index 989b35a..33723a5 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.06.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.07.0.bb
@@ -7,7 +7,7 @@
            file://0001-Do-not-overwrite-all-our-build-flags.patch \
            file://basename-include.patch \
            "
-SRC_URI[sha256sum] = "a0f9aaa3918bad781039fc307a635652a14d1b391cd559b66edec4bedba3c5d7"
+SRC_URI[sha256sum] = "420230c5c43782e2151259b3e523e632f4861342aad70e7e20b8773d9eaf3428"
 
 DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
index b63f46d..851bf25 100644
--- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
@@ -1,4 +1,4 @@
-@version: 3.31
+@version: 3.36
 #
 # Syslog-ng configuration file, compatible with default Debian syslogd
 # installation. Originally written by anonymous (I can't find his name)
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
index 07cd3b0..70afd0d 100644
--- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
@@ -1,4 +1,4 @@
-@version: 3.31
+@version: 3.36
 #
 # Syslog-ng configuration file, compatible with default Debian syslogd
 # installation. Originally written by anonymous (I can't find his name)
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.36.1.bb b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.37.1.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.36.1.bb
rename to meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.37.1.bb
index 40bbfe4..10d63cc 100644
--- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.36.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_3.37.1.bb
@@ -24,7 +24,7 @@
            file://syslog-ng.service-the-syslog-ng-service.patch \
 "
 
-SRC_URI[sha256sum] = "90a25c9767fe749db50f118ddfc92ec71399763d2ecd5ad4f11ff5eea049e60b"
+SRC_URI[sha256sum] = "d67a320cb896cd5d62f24d9e1bec138847fa4618ae13a3946cae2b75c528ee14"
 
 UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.6.1.bb b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.7.0.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-test/bats/bats_1.6.1.bb
rename to meta-openembedded/meta-oe/recipes-test/bats/bats_1.7.0.bb
index 7d72a51..81235e2 100644
--- a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.6.1.bb
+++ b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.7.0.bb
@@ -7,11 +7,11 @@
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2970203aedf9e829edb96a137a4fe81b"
 
 SRC_URI = "\
-  git://github.com/bats-core/bats-core.git;branch=version/1.6.x;protocol=https \
+  git://github.com/bats-core/bats-core.git;branch=master;protocol=https \
   "
 
-# v1.6.1
-SRCREV = "1977254c2a7faa2e0af17355856f91dc471d1daa"
+# v1.7.0
+SRCREV = "410dd229a5ed005c68167cc90ed0712ad2a1c909"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb
index 869c2c8..edca0bc 100644
--- a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb
+++ b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_git.bb
@@ -4,13 +4,13 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
 
-PV = "1.11.0+git${SRCPV}"
+PV = "1.12.1"
 
 PROVIDES += "gmock gtest"
 
 S = "${WORKDIR}/git"
-SRCREV = "9e712372214d75bb30ec2847a44bf124d48096f3"
-SRC_URI = "git://github.com/google/googletest.git;branch=main;protocol=https"
+SRCREV = "58d77fa8070e8cec2dc1ed015d66b454c8d78850"
+SRC_URI = "git://github.com/google/googletest.git;branch=v1.12.x;protocol=https"
 
 inherit cmake
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/files/0001-Fix-for-Issue-31.patch b/meta-openembedded/meta-perl/recipes-perl/libcrypt/files/0001-Fix-for-Issue-31.patch
deleted file mode 100644
index a5ea43f..0000000
--- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/files/0001-Fix-for-Issue-31.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 5e8202458e41ba1f7801746c503fe7c60ae340d5 Mon Sep 17 00:00:00 2001
-From: kambe-mikb <77083885+kambe-mikb@users.noreply.github.com>
-Date: Tue, 28 Sep 2021 17:40:18 +1000
-Subject: [PATCH] Fix for Issue 31
-
-Fix Issue 31 by removing reference to RSA_SSLV23_PADDING (removed from OpenSSL starting from v3.0.0)
-
-Upstream-Status: Submitted [https://github.com/toddr/Crypt-OpenSSL-RSA/pull/32]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- RSA.xs | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/RSA.xs b/RSA.xs
-index 46cb199..4f65dfc 100644
---- a/RSA.xs
-+++ b/RSA.xs
-@@ -640,12 +640,16 @@ use_pkcs1_oaep_padding(p_rsa)
-   CODE:
-     p_rsa->padding = RSA_PKCS1_OAEP_PADDING;
- 
-+#if OPENSSL_VERSION_NUMBER < 0x30000000L
-+
- void
- use_sslv23_padding(p_rsa)
-     rsaData* p_rsa;
-   CODE:
-     p_rsa->padding = RSA_SSLV23_PADDING;
- 
-+#endif
-+
- # Sign text. Returns the signature.
- 
- SV*
--- 
-2.33.1
-
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.15.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.15.bb
index 3f004bb..d64fc29 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.15.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-guess-perl_0.15.bb
@@ -29,7 +29,7 @@
 BBCLASSEXTEND = "native"
 
 # for backwards compatibility
-PROVIDES_${PN} += "libcrypt-openssl-guess"
+PROVIDES += "libcrypt-openssl-guess"
 
 RDEPENDS:${PN}-ptest += "\
     perl-module-test-more \
diff --git a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.32.bb b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.33.bb
similarity index 86%
rename from meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.32.bb
rename to meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.33.bb
index fd92c8a..aa8d138 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.32.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libcrypt/libcrypt-openssl-rsa-perl_0.33.bb
@@ -4,10 +4,9 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a67ceecc5d9a91a5a0d003ba50c26346"
 
 SRC_URI = "http://www.cpan.org/modules/by-module/Crypt/Crypt-OpenSSL-RSA-${PV}.tar.gz \
-           file://0001-Fix-for-Issue-31.patch \
 "
 
-SRC_URI[sha256sum] = "adc74f0ae125c77f65d5dd32abb9c3429300a79543bf263494f333f9c0b62a61"
+SRC_URI[sha256sum] = "bdbe630f6d6f540325746ad99977272ac8664ff81bd19f0adaba6d6f45efd864"
 
 DEPENDS += "libcrypt-openssl-guess-perl-native openssl"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.17.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.18.bb
similarity index 96%
rename from meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.17.bb
rename to meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.18.bb
index 8b4f292..999863b 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.17.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.18.bb
@@ -15,7 +15,7 @@
 LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5"
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
-SRC_URI[sha256sum] = "b44cbf7dd60ec6128ec575dd348484975086522611bc7580cfd305a095faa6d2"
+SRC_URI[sha256sum] = "74dcbd851171a68cf3ef225568ece47b0959b8e3cda887482fde97c1ae1691e2"
 
 UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
 
diff --git a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb
index 045655c..359a291 100644
--- a/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb
+++ b/meta-openembedded/meta-python/recipes-connectivity/python-pyconnman/python3-pyconnman_0.2.0.bb
@@ -9,4 +9,4 @@
 
 inherit pypi setuptools3
 
-RDEPENDS:${PN} = "connman python3-dbus python3-pprint"
+RDEPENDS:${PN} = "connman python3-dbus python3-pprint python3-future"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_1.1.0.bb
similarity index 76%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-absl_1.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-absl_1.1.0.bb
index 736e6a9..e3f7c4c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_1.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-absl_1.1.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[sha256sum] = "ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea"
+SRC_URI[sha256sum] = "3aa39f898329c2156ff525dfa69ce709e42d77aab18bf4917719d6f260aa6a08"
 
 PYPI_PACKAGE = "absl-py"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.2.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.2.bb
index b3a88fb..63d29a4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiohue_4.4.2.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=dab31a1d28183826937f4b152143a33f"
 
-SRC_URI[sha256sum] = "fa3bb0cf68aefdd0710704443c896abda69ae227500ad9539ac6c3d1d6dad804"
+SRC_URI[sha256sum] = "871c27da3d5a5b7d7c5049e6d23713425a2f251639ff1fb5fac460724ba42f15"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.7.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.8.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.7.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.8.0.bb
index 6b7ac4a..3b12439 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.7.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.8.0.bb
@@ -4,7 +4,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "4961248173ead7ce8a21efb3de378f13b8398e6630fab0eb258dc74a8af24c58"
+SRC_URI[sha256sum] = "a2d4d90da70b30e70352cd9455e35873a255a31402a438fe24815758d7a0e5e1"
 
 PYPI_PACKAGE = "alembic"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.8.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.7.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.8.0.bb
index 0f1804d..21095cb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ansi2html_1.8.0.bb
@@ -5,7 +5,7 @@
 
 PYPI_PACKAGE = "ansi2html"
 
-SRC_URI[sha256sum] = "69316be8c68ac91c5582d397c2890e69c993cc7cda52062ac7e45fcb660d8edc"
+SRC_URI[sha256sum] = "38b82a298482a1fa2613f0f9c9beb3db72a8f832eeac58eb2e47bf32cd37f6d5"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.6.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.5.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.6.bb
index f11a4a1..4f9d1af 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-astroid_2.11.6.bb
@@ -4,7 +4,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1"
 
-SRC_URI[sha256sum] = "f4e4ec5294c4b07ac38bab9ca5ddd3914d4bf46f9006eb5c0ae755755061044e"
+SRC_URI[sha256sum] = "4f933d0bf5e408b03a6feb5d23793740c27e07340605f236496cd6ce552043d6"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.5.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.5.bb
index 189547b..4c64508 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asyncinotify_2.0.5.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec941a1cd6616454970d03cb9c9e8f8"
 
-SRC_URI[sha256sum] = "a14baf680a3d3e1cf54e082ab56f56c475d59d3644cfc25c00c460e56d9bbdf7"
+SRC_URI[sha256sum] = "e4d95cba362f10d33b6fdd558afd39f0ea7a5be1a9694434e738141cbed366d9"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.6.1.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.6.1.bb
index 3dc3083..71da18f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-autobahn_22.6.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=97c0bda20ad1d845c6369c0e47a1cd98"
 
-SRC_URI[sha256sum] = "57b7acf228d50d83cf327372b889e2a168a869275b26e17917ed0b4cf4d823a6"
+SRC_URI[sha256sum] = "fb63e946d5c2dd0df680851e84e65624a494ce87c999f2a4944e4f2d81bf4498"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.6.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.6.0.bb
index c43f9ee..cadb6f5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.5.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_22.6.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
 
-SRC_URI[sha256sum] = "051f89efd8ba0b157fb516bda5e1dad4d63f87e8f9c0c148930023d984fce62f"
+SRC_URI[sha256sum] = "38f580bfacf1c06b674bcd0f68e0c445ebb03fcd3700c6a2c588fb9313308e0f"
 
 RDEPENDS:${PN} += "python3-profile python3-logging"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.15.1.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.14.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.15.1.bb
index 77ef985..fe3aeb7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.14.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.15.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
 
-SRC_URI[sha256sum] = "d38131bd447b6af5b8f464c4878797c87a5d9da1c95b9357e071c424fde5f055"
+SRC_URI[sha256sum] = "6fa6adbfb8f3b8cb68c21b13aa65d23eb2c3ac32419ab926f3fd1fff717a9125"
 
 PYPI_PACKAGE = "bitstruct"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.0.0.bb
index 2cd2e62..b1ba684 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.0.0.bb
@@ -21,6 +21,7 @@
     ${PYTHON_PN}-sqlite3 \
     ${PYTHON_PN}-wrapt \
     ${PYTHON_PN}-pkg-resources \
+    ${PYTHON_PN}-typing-extensions \
 "
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.0.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.0.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.0.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.0.bb
index c179071..1af1310 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.0.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cantools_37.1.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
 
-SRC_URI[sha256sum] = "e603a7e1e40f5b4963c4c64cf4b013264afa009e232a878c73d31c29942e4466"
+SRC_URI[sha256sum] = "9f2449e94a7698bd44bb50d9b464788053a0bf070faa09a132535c3aa07e7e6a"
 
 PYPI_PACKAGE = "cantools"
 
@@ -16,6 +16,7 @@
 	${PYTHON_PN}-textparser \
 	${PYTHON_PN}-typing-extensions \
 	${PYTHON_PN}-diskcache \
+        ${PYTHON_PN}-asyncio \
 "
 
 CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.3.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.3.bb
index cafc32a..0890b99 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cbor2_5.4.3.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
 
-SRC_URI[sha256sum] = "e283e70b55a049ff364cc5e648fde587e4d9b0e87e4b2664c69e639135e6b3b8"
+SRC_URI[sha256sum] = "62b863c5ee6ced4032afe948f3c1484f375550995d3b8498145237fe28e546c2"
 
 inherit pypi python_setuptools_build_meta ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.0.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.0.12.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.0.bb
index 47b8579..7c3d3ff 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.0.12.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-charset-normalizer_2.1.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0974a390827087287db39928f7c524b5"
 
-SRC_URI[sha256sum] = "2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"
+SRC_URI[sha256sum] = "575e708016ff3a5e3681541cb9d79312c416835686d054a23accb873b254f413"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.5.bb
similarity index 65%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.5.bb
index 54640de..122ae53 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.5.bb
@@ -5,7 +5,6 @@
 
 inherit pypi setuptools3
 
-SRC_URI[md5sum] = "57b22f2597f63df051b69906fbf310cc"
-SRC_URI[sha256sum] = "5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"
+SRC_URI[sha256sum] = "e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.1.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.3.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.1.bb
index 3c6b457..d352cda 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_6.4.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
 
-SRC_URI[sha256sum] = "03e2a7826086b91ef345ff18742ee9fc47a6839ccd517061ef8fa1976e652ce9"
+SRC_URI[sha256sum] = "4321f075095a096e70aff1d002030ee612b65a205a0a0f5b815280d5dc58100c"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.2.post0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.3.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.2.post0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.3.bb
index 4f6a3ab..2032568 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.2.post0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-crc32c_2.3.bb
@@ -9,7 +9,7 @@
     file://crc32c_adler.c;startline=9;endline=24;md5=c60e6e55d0e5d95effa6fad27db0711a \
 "
 
-SRC_URI[sha256sum] = "3d058e7a5e37e4985d1a7ad4cb702bca56b490daa658d4851377d13ead8b435e"
+SRC_URI[sha256sum] = "17ce6c596ad0d53df52dcd72defb66984aeabd98fbefea7ba848a6b6bdece36a"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.4.bb
deleted file mode 100644
index ff0104c..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Serialize all of python"
-HOMEPAGE = "https://pypi.org/project/dill/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=41adceb584fdde8323ddf9ad23c07fe5"
-
-SRC_URI[sha256sum] = "9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675"
-
-inherit pypi setuptools3
-
-PYPI_PACKAGE_EXT = "zip"
-
-RDEPENDS:${PN} += "\
-    ${PYTHON_PN}-multiprocessing \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.5.1.bb
new file mode 100644
index 0000000..d9110e3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dill_0.3.5.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Serialize all of python"
+HOMEPAGE = "https://pypi.org/project/dill/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=61f24e44fc855bde43ed5a1524a37bc4"
+
+SRC_URI[sha256sum] = "d75e41f3eff1eee599d738e76ba8f4ad98ea229db8b085318aa2b3333a208c86"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE_EXT = "tar.gz"
+
+RDEPENDS:${PN} += "\
+    ${PYTHON_PN}-multiprocessing \
+    ${PYTHON_PN}-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.5.3.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.5.3.bb
index e882952..22f5aa0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-elementpath_2.5.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5dbb7fb7d72da3921202dd7b995d3ecf"
 
-SRC_URI[sha256sum] = "3a27aaf3399929fccda013899cb76d3ff111734abf4281e5f9d3721ba0b9ffa3"
+SRC_URI[sha256sum] = "b8aeb6f27dddc10fb9201b62090628a846cbae8577f3544cb1075fa38d0817f6"
 
 PYPI_PACKAGE = "elementpath"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.2.1.bb
similarity index 68%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.1.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.2.1.bb
index b81e39a..a5cb09f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.1.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-email-validator_1.2.1.bb
@@ -3,8 +3,7 @@
 LICENSE = "CC0-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=65d3616852dbf7b1a6d4b53b00626032"
 
-SRC_URI[md5sum] = "25582cf3d415c7fdd44b980a095e0d53"
-SRC_URI[sha256sum] = "aa237a65f6f4da067119b7df3f13e89c25c051327b2b5b66dc075f33d62480d7"
+SRC_URI[sha256sum] = "6757aea012d40516357c0ac2b1a4c31219ab2f899d26831334c5d069e8b6c3d8"
 
 PYPI_PACKAGE = "email_validator"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.3.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.3.bb
index e9891bc..1a80a55 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.3.3.bb
@@ -17,4 +17,4 @@
 	python3-asyncio \
 "
 
-SRC_URI[sha256sum] = "e02f8d6686663408533726be2d4ceb403914fd17285d247791c6a91623777bdd"
+SRC_URI[sha256sum] = "18474c452894c60590b2d2339d6c81b93fb9857f1be271a2e91fb2707eb4095d"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.3.3.bb
similarity index 63%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.3.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.3.3.bb
index c9630b1..c4e8e5e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-hash_0.3.3.bb
@@ -4,6 +4,11 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=287820ad3553117aa2f92bf84c219324"
 
-SRC_URI[sha256sum] = "3f40cecd5ead88184aa9550afc19d057f103728108c5102f592f8415949b5a76"
+SRC_URI[sha256sum] = "8cde211519ff1a98b46e9057cb909f12ab62e263eb30a0a94e2f7e1f46ac67a0"
 
 inherit pypi setuptools3
+
+RDEPENDS:${PN} = "\
+	${PYTHON_PN}-logging \
+	${PYTHON_PN}-pycryptodome \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.1.0.bb
similarity index 74%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.1.0.bb
index a500d5b..0e274c2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-eth-typing_3.1.0.bb
@@ -4,6 +4,6 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bf9691ead96f1163622689e47ce3f366"
 
-SRC_URI[sha256sum] = "079e4c41e98cf2635d3830a99f3cbd7b1d73d2368464d4493c002bece545184a"
+SRC_URI[sha256sum] = "92698268be83c75f65a028d47421f7c0aed459be76dd7ce916af166dca8bc53e"
 
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.15.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_1.0.1.bb
similarity index 61%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.15.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_1.0.1.bb
index aebc134..6785882 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_0.15.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-wtf_1.0.1.bb
@@ -1,8 +1,8 @@
 DESCRIPTION = "Simple integration of Flask and WTForms."
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3ca6bb31670492f791e6a9f2fb9f8a80"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=d98d089889e14b227732d45dac3aacc4"
 
-SRC_URI[sha256sum] = "ff177185f891302dc253437fe63081e7a46a4e99aca61dfe086fb23e54fff2dc"
+SRC_URI[sha256sum] = "34fe5c6fee0f69b50e30f81a3b7ea16aa1492a771fe9ad0974d164610c09a6c9"
 
 PYPI_PACKAGE = "Flask-WTF"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.8.bb
deleted file mode 100644
index b42225b..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.8.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b0b7ac63b60085b23fa9f7e1951daa1d"
-
-PYPI_PACKAGE = "python-gnupg"
-SRC_URI[sha256sum] = "b64de1ae5cedf872b437201a566fa2c62ce0c95ea2e30177eb53aee1258507d7"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} +=  " \
-	gnupg-gpg \
-	python3-logging \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.9.bb
new file mode 100644
index 0000000..9e13e4c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-gnupg_0.4.9.bb
@@ -0,0 +1,14 @@
+SUMMARY = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5dabe659eadd6d97325b1582e41cfc11"
+
+PYPI_PACKAGE = "python-gnupg"
+SRC_URI[sha256sum] = "aaa748795572591aaf127b4ac8985684f3673ff82b39f370c836b006e68fc537"
+
+inherit pypi python_setuptools_build_meta
+
+RDEPENDS:${PN} +=  " \
+	gnupg-gpg \
+	python3-logging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.2.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.2.bb
index b7ff8bc..a2df7fb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-core_2.8.2.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "065bb8e11c605fd232707ae50963dc1c8af5b3c95b4568887515985e6c1156b3"
+SRC_URI[sha256sum] = "06f7244c640322b508b125903bb5701bebabce8832f85aba9335ec00b3d02edc"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.49.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.51.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.49.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.51.0.bb
index 660262e..d52b34a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.49.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.51.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "629bbde991ce2d9697c6da37f2416f7aeb01ba01505b166066a415b3c3ce1dfc"
+SRC_URI[sha256sum] = "a573373041b3f6ccbd04877b70e7425c52daec5b4fe5f440e8f5895c87d1a69c"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.6.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.9.0.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.6.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.9.0.bb
index d51790f..868d70b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.6.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-auth_2.9.0.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "1ba4938e032b73deb51e59c4656a00e0939cf0b1112575099f136babb4563312"
+SRC_URI[sha256sum] = "3b2f9d2f436cc7c3b363d0ac66470f42fede249c3bafcc504e9f0bcbe983cff0"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.3.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.3.bb
index 78b899e..95823ea 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.3.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "b09b56f5463070c2153753ef123f07d2e49235e89148e9b2459ec8ed2f68d7d3"
+SRC_URI[sha256sum] = "6f1369b58ed6cf3a4b7054a44ebe8d03b29c309257583a2bbdc064cd1e4a1442"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-grpcio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
index 4713da1..4aa11bd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -26,6 +26,8 @@
  setup.py | 9 ++++++---
  1 file changed, 6 insertions(+), 3 deletions(-)
 
+diff --git a/setup.py b/setup.py
+index cc53e79..be3bc78 100644
 --- a/setup.py
 +++ b/setup.py
 @@ -87,8 +87,11 @@ def check_linker_need_libatomic():
@@ -33,12 +35,12 @@
      code_test = (b'#include <atomic>\n' +
                   b'int main() { return std::atomic<int64_t>{}; }')
 -    cxx = os.environ.get('CXX', 'c++')
--    cpp_test = subprocess.Popen([cxx, '-x', 'c++', '-std=c++11', '-'],
+-    cpp_test = subprocess.Popen([cxx, '-x', 'c++', '-std=c++14', '-'],
 +    cxx, cxx_args = os.environ.get('CXX').split(' ', 1) or 'c++'
 +    if not cxx_args:
 +      cxx_args = "-g"
 +
-+    cpp_test = subprocess.Popen([cxx, cxx_args, '-x', 'c++', '-std=c++11', '-'],
++    cpp_test = subprocess.Popen([cxx, cxx_args, '-x', 'c++', '-std=c++14', '-'],
                                  stdin=PIPE,
                                  stdout=PIPE,
                                  stderr=PIPE)
@@ -46,8 +48,11 @@
      # Double-check to see if -latomic actually can solve the problem.
      # https://github.com/grpc/grpc/issues/22491
      cpp_test = subprocess.Popen(
--        [cxx, '-x', 'c++', '-std=c++11', '-', '-latomic'],
-+        [cxx, cxx_args, '-x', 'c++', '-std=c++11', '-', '-latomic'],
+-        [cxx, '-x', 'c++', '-std=c++14', '-', '-latomic'],
++        [cxx, cxx_args, '-x', 'c++', '-std=c++14', '-', '-latomic'],
          stdin=PIPE,
          stdout=PIPE,
          stderr=PIPE)
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.47.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.47.0.bb
index 221a05e..90c8efe 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.46.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio-tools_1.47.0.bb
@@ -10,7 +10,7 @@
 DEPENDS += "${PYTHON_PN}-grpcio"
 
 SRC_URI += "file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch"
-SRC_URI[sha256sum] = "31fee436ace5b3bd950cc3a8e68d6b84de1d6dc755959db7badc3470cdf22f70"
+SRC_URI[sha256sum] = "f64b5378484be1d6ce59311f86174be29c8ff98d8d90f589e1c56d5acae67d3c"
 
 RDEPENDS:${PN} = "${PYTHON_PN}-grpcio"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
index febe6c4..f416ca2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio/0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch
@@ -28,42 +28,49 @@
  src/python/grpcio/commands.py | 5 ++++-
  2 files changed, 10 insertions(+), 4 deletions(-)
 
+diff --git a/setup.py b/setup.py
+index ec27fe4..b2d2d1a 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -199,8 +199,11 @@ def check_linker_need_libatomic():
+@@ -206,8 +206,11 @@ def check_linker_need_libatomic():
      """Test if linker on system needs libatomic."""
      code_test = (b'#include <atomic>\n' +
                   b'int main() { return std::atomic<int64_t>{}; }')
--    cxx = os.environ.get('CXX', 'c++')
--    cpp_test = subprocess.Popen([cxx, '-x', 'c++', '-std=c++11', '-'],
+-    cxx = shlex.split(os.environ.get('CXX', 'c++'))
+-    cpp_test = subprocess.Popen(cxx + ['-x', 'c++', '-std=c++14', '-'],
 +    cxx, cxx_args = os.environ.get('CXX').split(' ', 1) or 'c++'
 +    if not cxx_args:
 +      cxx_args = "-g"
 +
-+    cpp_test = subprocess.Popen([cxx, cxx_args, '-x', 'c++', '-std=c++11', '-'],
++    cpp_test = subprocess.Popen([cxx, cxx_args, '-x', 'c++', '-std=c++14', '-'],
                                  stdin=PIPE,
                                  stdout=PIPE,
                                  stderr=PIPE)
-@@ -210,7 +213,7 @@ def check_linker_need_libatomic():
+@@ -217,7 +220,7 @@ def check_linker_need_libatomic():
      # Double-check to see if -latomic actually can solve the problem.
      # https://github.com/grpc/grpc/issues/22491
      cpp_test = subprocess.Popen(
--        [cxx, '-x', 'c++', '-std=c++11', '-', '-latomic'],
-+        [cxx, cxx_args, '-x', 'c++', '-std=c++11', '-', '-latomic'],
+-        [cxx, '-x', 'c++', '-std=c++14', '-', '-latomic'],
++        [cxx, cxx_args, '-x', 'c++', '-std=c++14', '-', '-latomic'],
          stdin=PIPE,
          stdout=PIPE,
          stderr=PIPE)
+diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
+index d93b6c7..a8c4a51 100644
 --- a/src/python/grpcio/commands.py
 +++ b/src/python/grpcio/commands.py
 @@ -228,7 +228,10 @@ class BuildExt(build_ext.build_ext):
              """
              try:
                  # TODO(lidiz) Remove the generated a.out for success tests.
--                cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++11', '-'],
+-                cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++14', '-'],
 +                cc_test, cc_args = os.environ.get('CC').split(' ', 1) or 'gcc'
 +                if not cc_args:
 +                    cc_args = "-g"
-+                cc_test = subprocess.Popen([cc_test, cc_args, '-x', 'c', '-std=c++11', '-'],
++                cc_test = subprocess.Popen([cc_test, cc_args, '-x', 'c', '-std=c++14', '-'],
                                             stdin=subprocess.PIPE,
                                             stdout=subprocess.PIPE,
                                             stderr=subprocess.PIPE)
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.45.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.47.0.bb
similarity index 93%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.45.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.47.0.bb
index ca55a7f..24c6e53 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.45.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-grpcio_1.47.0.bb
@@ -13,7 +13,7 @@
                                 file://0001-absl-always-use-asm-sgidefs.h.patch \
                                 file://abseil-ppc-fixes.patch;patchdir=third_party/abseil-cpp \
 "
-SRC_URI[sha256sum] = "ff2c8b965b0fc25cf281961aa46619c10900543effe3f806ef818231c40aaff3"
+SRC_URI[sha256sum] = "5dbba95fab9b35957b4977b8904fc1fa56b302f9051eff4d7716ebb0c087f801"
 
 RDEPENDS:${PN} = "${PYTHON_PN}-protobuf \
                   ${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.2.3.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.2.3.bb
index df5a4e9..2e4822c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.2.3.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d"
 
-SRC_URI[sha256sum] = "3a119b242ec872c029d8b7bf8435a61a5798f124b244a08013aec5617302f80e"
+SRC_URI[sha256sum] = "2bc1fdd831cd00557d3010abdd84d3e41b4a96703a3eaf6c24ee290b26b75a44"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.1.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.2.0.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.1.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.2.0.bb
index b73063e..6c97c37 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.1.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ifaddr_0.2.0.bb
@@ -5,7 +5,7 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8debe8d42320ec0ff24665319b625a5e"
 
-SRC_URI[sha256sum] = "1f9e8a6ca6f16db5a37d3356f07b6e52344f6f9f7e806d618537731669eb1a94"
+SRC_URI[sha256sum] = "cc0cbfcaabf765d44595825fb96a99bb12c79716b73b44330ea38ee2b0c4aed4"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-iperf_0.1.11.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-iperf_0.1.11.bb
new file mode 100644
index 0000000..36d6463
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-iperf_0.1.11.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Python wrapper around iperf3"
+HOMEPAGE = "https://github.com/thiezn/iperf3-python"
+AUTHOR = "Mathijs Mortimer <mathijs@mortimer.nl>"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f7d0900b3d30647cdda002c9549ca40f"
+
+PYPI_PACKAGE = "iperf3"
+
+SRC_URI[sha256sum] = "d50eebbf2dcf445a173f98a82f9c433e0302d3dfb7987e1f21b86b35ef63ce26"
+
+inherit setuptools3 pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_1.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_1.0.1.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_1.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_1.0.1.bb
index f454d64..73f5f4d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_1.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jmespath_1.0.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2683790f5fabb41a3f75b70558799eb4"
 
-SRC_URI[sha256sum] = "a490e280edd1f57d6de88636992d05b71e97d69a26a19f058ecf7d304474bf5e"
+SRC_URI[sha256sum] = "90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.3.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.3.bb
index 48ff7df..0280afc 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f137eeae9cf8004d06830f6ab25b2d52"
 
-SRC_URI[sha256sum] = "7f606d91b8a8816be476513a77fd30abe66227039bd6f8b406c348cb0247dcc9"
+SRC_URI[sha256sum] = "ab8a15c2750ae8d53e31f77a94f846d0a00772240f1c12817411fa2344351f86"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.9.1.bb
similarity index 95%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.9.1.bb
index c4d4df3..92a30f7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.9.1.bb
@@ -18,7 +18,7 @@
 
 DEPENDS += "libxml2 libxslt"
 
-SRC_URI[sha256sum] = "f63f62fc60e6228a4ca9abae28228f35e1bd3ce675013d1dfb828688d50c6e23"
+SRC_URI[sha256sum] = "fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f"
 
 SRC_URI += "${PYPI_SRC_URI}"
 inherit pkgconfig pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.15.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.17.0.bb
similarity index 93%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.15.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.17.0.bb
index c8e0fa4..f2f5281 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.15.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.17.0.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "git://github.com/marshmallow-code/marshmallow.git;protocol=https;branch=dev"
 
-SRCREV = "f251dfb08d79c755c2e95371f2c5580bf5937e60"
+SRCREV = "4a6c08d53f181195c78b505abe155b2f35cbc0c1"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.4.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.4.bb
index 9299925..a796d7c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_1.0.4.bb
@@ -5,7 +5,7 @@
 PYPI_PACKAGE = "msgpack"
 inherit pypi setuptools3 ptest
 
-SRC_URI[sha256sum] = "51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e"
+SRC_URI[sha256sum] = "f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f"
 
 RDEPENDS:${PN}:class-target += "\
     ${PYTHON_PN}-io \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.16.bb
deleted file mode 100644
index a157227..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.3.16.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "A tool to help with creating, uploading, and upgrading Mycroft skills on the skills repo."
-HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-kit"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.md;md5=2f90e43663eddf1c33087419fbb35e28"
-
-SRC_URI[md5sum] = "8a4fc92a074544f81f482da2c21ef989"
-SRC_URI[sha256sum] = "c6a717fc068f7c69ddc8cb21dbeeda7cfa97a4e9f41690459c9fbec68b16ee87"
-
-inherit pypi setuptools3
-
-RDEPENDS:${PN} += "python3-git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.4.0.bb
new file mode 100644
index 0000000..8fa2c62
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-msk_0.4.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "A tool to help with creating, uploading, and upgrading Mycroft skills on the skills repo."
+HOMEPAGE = "https://github.com/MycroftAI/mycroft-skills-kit"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.md;md5=f518abfcfc3935b1f0ec8f2332cb30d3"
+
+SRC_URI[sha256sum] = "f698f193112a8628e776e67b89a95c3f78095857c045dd9cde4cf915a5fbdd80"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "python3-git"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.960.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.961.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.960.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.961.bb
index 5d99b64..02f7cce 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.960.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.961.bb
@@ -7,7 +7,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "d4fccf04c1acf750babd74252e0f2db6bd2ac3aa8fe960797d9f3ef41cf2bfd4"
+SRC_URI[sha256sum] = "f730d56cb924d371c26b8eaddeea3cc07d78ff51c521c6d04899ac6904b75492"
 
 BBCLASSEXTEND = "native"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.4.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.7.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.4.bb
index 9e5b086..8181d90 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.7.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.8.4.bb
@@ -3,7 +3,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44614b6df7cf3c19be69d0a945e29904"
 
-SRC_URI[sha256sum] = "d1194ba753e5eed07cdecd1d23c5cd7a3c772099bd8dbd2fea366788cf4de7ba"
+SRC_URI[sha256sum] = "5e53f027c0d567cf1f884dbb283224df525644e43afd1145d64c9d88a3584762"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.5.4.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.5.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.5.4.bb
index ed0e980..828d708 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nmap_1.5.4.bb
@@ -8,7 +8,7 @@
 
 PYPI_PACKAGE = "python3-nmap"
 
-SRC_URI[sha256sum] = "0e6667153a84938bdc0e95a64cd86397b4c46724c422873ea8f1d007d248926a"
+SRC_URI[sha256sum] = "cd5b0180d4d8cfe96c33e5e7956fa011379af108e2e8291b84e933b6385856e9"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.4.3.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.4.3.bb
index 6d0f669..2d3333c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pandas_1.4.3.bb
@@ -6,7 +6,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3f23c5c092b74d245d48eeef72bc3fd2"
 
-SRC_URI[sha256sum] = "92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12"
+SRC_URI[sha256sum] = "2ff7788468e75917574f080cd4681b27e1a7bf36461fe968b49a87b5a54d007c"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.2.1.bb
deleted file mode 100644
index 38f84cf..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.2.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Pika is a RabbitMQ (AMQP 0-9-1) client library for Python."
-DESCRIPTION = " \
-Pika is a pure-Python implementation of the AMQP 0-9-1 protocol \
-including RabbitMQ’s extensions. \
-"
-SECTION = "devel/python"
-HOMEPAGE = "https://pika.readthedocs.io"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=678ec81495ba50edf81e84e4f1aa69f3"
-
-SRC_URI[sha256sum] = "e5fbf3a0a3599f4e114f6e4a7af096f9413a8f24f975c2657ba2fac3c931434f"
-
-inherit pypi setuptools3
-
-PYPI_PACKAGE = "pika"
-
-RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-logging \
-    ${PYTHON_PN}-tornado \
-    ${PYTHON_PN}-twisted \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.0.bb
new file mode 100644
index 0000000..7ffec26
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.3.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Pika is a RabbitMQ (AMQP 0-9-1) client library for Python."
+DESCRIPTION = " \
+Pika is a pure-Python implementation of the AMQP 0-9-1 protocol \
+including RabbitMQ's extensions. \
+"
+SECTION = "devel/python"
+HOMEPAGE = "https://pika.readthedocs.io"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=678ec81495ba50edf81e84e4f1aa69f3"
+
+SRC_URI[sha256sum] = "15357ddc47a5c28f0b07d80e93d504cbbf7a1ad5e1cd129ecd27afe76472c529"
+
+inherit pypi python_setuptools_build_meta
+
+PYPI_PACKAGE = "pika"
+
+DEPENDS += " \
+	${PYTHON_PN}-setuptools-scm-native \
+	${PYTHON_PN}-toml-native \
+"
+
+RDEPENDS:${PN} += " \
+	${PYTHON_PN}-logging \
+	${PYTHON_PN}-tornado \
+	${PYTHON_PN}-twisted \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.1.1.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.0.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.1.1.bb
index fb86322..00df22a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_9.1.1.bb
@@ -5,10 +5,10 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=ad081a0aede51e89f8da13333a8fb849"
 
-SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=9.0.x;protocol=https \
+SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=9.1.x;protocol=https \
            file://0001-support-cross-compiling.patch \
            file://0001-explicitly-set-compile-options.patch \
-"
+           "
 SRCREV ?= "82541b6dec8452cb612067fcebba1c5a1a2bfdc8"
 
 inherit setuptools3
@@ -39,4 +39,4 @@
 
 BBCLASSEXTEND = "native"
 
-SRCREV = "6deac9e3a23caffbfdd75c00d3f0a1cd36cdbd5d"
+SRCREV = "0f44136e720cd3b2db72bdf29614897b7aa3e868"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.20.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.2.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.20.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.2.bb
index 976d2aa..b8287a8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.20.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.21.2.bb
@@ -7,7 +7,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "adc31566d027f45efe3f44eeb5b1f329da43891634d61c75a5944e9be6dd42c9"
+SRC_URI[sha256sum] = "863f65e137d9de4a76cac39ae731a19bea1c30997f512ecf0dc9348112313401"
 
 # http://errors.yoctoproject.org/Errors/Details/184715/
 # Can't find required file: ../src/google/protobuf/descriptor.proto
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.8.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.9.2.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.8.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.9.2.bb
index 4d94e20..433bfd6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.8.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybind11_2.9.2.bb
@@ -5,11 +5,11 @@
 
 DEPENDS = "boost"
 
-SRC_URI = "git://github.com/pybind/pybind11.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/pybind/pybind11.git;branch=stable;protocol=https \
            file://0001-Do-not-strip-binaries.patch \
            file://0001-Do-not-check-pointer-size-when-cross-compiling.patch \
 "
-SRCREV = "f7b499615e14d70ab098a20deb0cdb3889998a1a"
+SRCREV = "914c06fb252b6cc3727d0eedab6736e88a3fcb01"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez/0001-Use-Py_ssize_t-when-parsing-buffer-length-fix-426-42.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez/0001-Use-Py_ssize_t-when-parsing-buffer-length-fix-426-42.patch
new file mode 100644
index 0000000..9126aba
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez/0001-Use-Py_ssize_t-when-parsing-buffer-length-fix-426-42.patch
@@ -0,0 +1,153 @@
+From aa8ee5e5e934908f0357364f6ec90a3ecda62880 Mon Sep 17 00:00:00 2001
+From: Nicolas Schodet <nico@ni.fr.eu.org>
+Date: Mon, 3 Jan 2022 02:37:01 +0100
+Subject: [PATCH] Use Py_ssize_t when parsing buffer length, fix #426 (#427)
+
+From python 3.9 documentation:
+
+> For all # variants of formats (s#, y#, etc.), the macro
+> PY_SSIZE_T_CLEAN must be defined before including Python.h. On Python
+> 3.9 and older, the type of the length argument is Py_ssize_t if the
+> PY_SSIZE_T_CLEAN macro is defined, or int otherwise.
+
+From python 3.8 changes:
+
+> Use of # variants of formats in parsing or building value (e.g.
+> PyArg_ParseTuple(), Py_BuildValue(), PyObject_CallFunction(), etc.)
+> without PY_SSIZE_T_CLEAN defined raises DeprecationWarning now. It
+> will be removed in 3.10 or 4.0. Read Parsing arguments and building
+> values for detail. (Contributed by Inada Naoki in bpo-36381.)
+
+Fixes https://github.com/pybluez/pybluez/issues/426
+---
+Upstream-Status: Accepted
+
+ bluez/btmodule.c | 23 ++++++++++++++---------
+ msbt/_msbt.c     |  6 ++++--
+ 2 files changed, 18 insertions(+), 11 deletions(-)
+
+diff --git a/bluez/btmodule.c b/bluez/btmodule.c
+index 518b723..912a489 100644
+--- a/bluez/btmodule.c
++++ b/bluez/btmodule.c
+@@ -16,7 +16,8 @@ Local naming conventions:
+ - names starting with bt_ are module-level functions
+ 
+ */
+-
++#define PY_SSIZE_T_CLEAN 1
++#include "Python.h"
+ #include "btmodule.h"
+ #include "structmember.h"
+ 
+@@ -732,7 +733,7 @@ sock_setsockopt(PySocketSockObject *s, PyObject *args)
+     int optname;
+     int res;
+     void *buf;
+-    int buflen;
++    Py_ssize_t buflen;
+     int flag;
+ 
+     if (PyArg_ParseTuple(args, "iii:setsockopt", &level, &optname, &flag)) {
+@@ -2001,7 +2002,8 @@ static PyObject *
+ bt_hci_send_cmd(PyObject *self, PyObject *args)
+ {
+     PySocketSockObject *socko = NULL;
+-    int err, plen = 0;
++    int err;
++    Py_ssize_t plen = 0;
+     uint16_t ogf, ocf;
+     char *param = NULL;
+     int dd = 0;
+@@ -2036,6 +2038,7 @@ bt_hci_send_req(PyObject *self, PyObject *args, PyObject *kwds)
+     int err;
+     int to=0;
+     char rparam[256];
++    Py_ssize_t req_clen;
+     struct hci_request req = { 0 };
+     int dd = 0;
+ 
+@@ -2043,9 +2046,10 @@ bt_hci_send_req(PyObject *self, PyObject *args, PyObject *kwds)
+                                 "timeout", 0 };
+ 
+     if( !PyArg_ParseTupleAndKeywords(args, kwds, "OHHii|s#i", keywords,
+-                &socko, &req.ogf, &req.ocf, &req.event, &req.rlen, 
+-                &req.cparam, &req.clen, &to) )
++                &socko, &req.ogf, &req.ocf, &req.event, &req.rlen,
++                &req.cparam, &req_clen, &to) )
+         return 0;
++    req.clen = req_clen;
+ 
+     req.rparam = rparam;
+     dd = socko->sock_fd;
+@@ -2274,7 +2278,8 @@ Returns the name of the device, or raises an error on failure");
+ static PyObject * bt_hci_filter_ ## name (PyObject *self, PyObject *args )\
+ { \
+     char *param; \
+-    int len, arg; \
++    Py_ssize_t len; \
++    int arg; \
+     if( !PyArg_ParseTuple(args,"s#i", &param, &len, &arg) ) \
+         return 0; \
+     if( len != sizeof(struct hci_filter) ) { \
+@@ -2303,7 +2308,7 @@ DECL_HCI_FILTER_OP_1(test_opcode, "test opcode!")
+ static PyObject * bt_hci_filter_ ## name (PyObject *self, PyObject *args )\
+ { \
+     char *param; \
+-    int len; \
++    Py_ssize_t len; \
+     if( !PyArg_ParseTuple(args,"s#", &param, &len) ) \
+         return 0; \
+     if( len != sizeof(struct hci_filter) ) { \
+@@ -2364,7 +2369,7 @@ static PyObject *
+ bt_ba2str(PyObject *self, PyObject *args)
+ {
+     char *data=NULL;
+-    int len=0;
++    Py_ssize_t len=0;
+     char ba_str[19] = {0};
+     if (!PyArg_ParseTuple(args, "s#", &data, &len)) return 0;
+     ba2str((bdaddr_t*)data, ba_str);
+@@ -2579,7 +2584,7 @@ bt_sdp_advertise_service( PyObject *self, PyObject *args )
+          *provider = NULL, 
+          *description = NULL;
+     PyObject *service_classes, *profiles, *protocols;
+-    int namelen = 0, provlen = 0, desclen = 0;
++    Py_ssize_t namelen = 0, provlen = 0, desclen = 0;
+     uuid_t svc_uuid = { 0 };
+     int i;
+     char addrbuf[256] = { 0 };
+diff --git a/msbt/_msbt.c b/msbt/_msbt.c
+index b3d27ff..81f5ee9 100644
+--- a/msbt/_msbt.c
++++ b/msbt/_msbt.c
+@@ -2,6 +2,8 @@
+ #define UNICODE
+ #endif
+ 
++#define PY_SSIZE_T_CLEAN 1
++
+ #include <winsock2.h>
+ #include <ws2bth.h>
+ #include <BluetoothAPIs.h>
+@@ -155,7 +157,7 @@ static PyObject *
+ msbt_bind(PyObject *self, PyObject *args)
+ {
+     wchar_t *addrstr = NULL;
+-    int addrstrlen = -1;
++    Py_ssize_t addrstrlen = -1;
+     int sockfd = -1;
+     int port = -1;
+     char buf[100] = { 0 };
+@@ -765,7 +767,7 @@ msbt_set_service_raw(PyObject *self, PyObject *args)
+     WSAESETSERVICEOP op;
+ 
+     char *record = NULL;
+-    int reclen = -1;
++    Py_ssize_t reclen = -1;
+     BTH_SET_SERVICE *si = NULL;
+     int silen = -1;
+     ULONG sdpVersion = BTH_SDP_VERSION;
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.23.bb
index b32f3a3..6a1df27 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.23.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pybluez_0.23.bb
@@ -7,6 +7,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=8a71d0475d08eee76d8b6d0c6dbec543"
 
+SRC_URI += "file://0001-Use-Py_ssize_t-when-parsing-buffer-length-fix-426-42.patch"
 SRC_URI[md5sum] = "afbe8429bb82d2c46a3d0f5f4f898f9d"
 SRC_URI[sha256sum] = "c8f04d2e78951eaa9de486b4d49381704e8943d0a6e6e58f55fcd7b8582e90de"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.4.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.4.bb
index c8686ab..6937206 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_12.1.4.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
 
-SRC_URI[sha256sum] = "6be626e5ba2f6ffaefbc13ddced84e8b60a9ef1b012f71039fc0f7a0bcb4bda6"
+SRC_URI[sha256sum] = "9e57dc985a4a05db5bdcd5da219cbf6ced25548ca093f8d74bc107b3c554ec00"
 
 PYPI_PACKAGE = "PyChromecast"
 
@@ -15,4 +15,5 @@
     ${PYTHON_PN}-json \
     ${PYTHON_PN}-requests \
     ${PYTHON_PN}-protobuf \
+    ${PYTHON_PN}-compression \
 "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.14.3.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.9.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.14.3.bb
index 1946a89..835ed22 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.14.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9"
 
-SRC_URI[sha256sum] = "095567c96e19e6f57b5b907e67d265ff535e588fe26b12b5ebe1fc5645b2c731"
+SRC_URI[sha256sum] = "4e1378f815c63e7e44590d0d339ed6435f5281d0a0cc357d29a86ea0365ef868"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj_3.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj_3.3.1.bb
new file mode 100644
index 0000000..6085e48
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyproj_3.3.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Python interface to PROJ (cartographic projections and coordinate transformations library)"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dc4bb2668871655e24030dfe8d2a7ce7"
+DEPENDS = "python3-cython proj"
+DEPENDS:append:class-target = " python3-cython-native proj-native"
+
+PYPI_PACKAGE = "pyproj"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "b3d8e14d91cc95fb3dbc03a9d0588ac58326803eefa5bbb0978d109de3304fbe"
+
+RDEPENDS:${PN} = "${PYTHON_PN}-certifi proj"
+
+export PROJ_INCDIR = "${STAGING_INCDIR}"
+export PROJ_LIBDIR = "${STAGING_LIBDIR}"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.3.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.3.bb
index 5b61c06..fe4f7e4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyscaffold_4.2.3.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=14a49c74a1d91829908ac756c07e6b91"
 DEPENDS += "python3-setuptools-scm-native"
 
-SRC_URI[sha256sum] = "11be56d21a0047ea604e7bc4349e95592cdc734b0a405082a6a4f2a7028dc896"
+SRC_URI[sha256sum] = "58c7d9ce296cc26ac377061365c2f87cd8e28f46e4fb2c96ee48f9c64e33ac4a"
 
 inherit pypi python_setuptools_build_meta
 PYPI_PACKAGE = "PyScaffold"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.3.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.3.bb
index c0d9c00..66051d4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.3.3.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=51d9ad56299ab60ba7be65a621004f27"
 
-SRC_URI[sha256sum] = "94b617b4cd296e94991146f66fc5559756fbefe9493604f0312e4d3298ac63e9"
+SRC_URI[sha256sum] = "2f7a57cf4af15cd543c4394bcbe2b9148db2606a37edba755368836e3a1d053e"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.4.24.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.6.2.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.4.24.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.6.2.bb
index 28e1600..3067c0d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.4.24.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2022.6.2.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "92183e9180c392371079262879c6532ccf55f808e6900df5d9f03c9ca8807255"
+SRC_URI[sha256sum] = "f7b43acb2c46fb2cd506965b2d9cf4c5e64c9c612bac26c1187933c7296bf08c"
 
 RDEPENDS:${PN} += " \
 	python3-stringold \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary/e31d5fdf2ea00ac6349e64580a20816783064dd4.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary/e31d5fdf2ea00ac6349e64580a20816783064dd4.patch
deleted file mode 100644
index 21e97fd..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary/e31d5fdf2ea00ac6349e64580a20816783064dd4.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From e31d5fdf2ea00ac6349e64580a20816783064dd4 Mon Sep 17 00:00:00 2001
-From: Hideki Takeoka <hideki.takeoka@smartfrog.com>
-Date: Sun, 25 Aug 2019 19:25:00 +0200
-Subject: [PATCH] Update setup.py for python3.7+ support
-
----
- setup.py                     | 9 +++++----
- src/SerialLibrary/version.py | 3 +++
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 4c34705..70bb1af 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,6 +1,5 @@
- #!/usr/bin/env python
- 
--from imp import load_source
- from os.path import abspath, dirname, join
- from sys import platform
- 
-@@ -18,9 +17,11 @@
- 
- 
- CURDIR = dirname(abspath(__file__))
--VERSION = load_source(
--    'version', 'version',
--    open(join(CURDIR, 'src', 'SerialLibrary', 'version.py'))).VERSION
-+
-+with open(join(CURDIR, 'src', 'SerialLibrary', 'version.py')) as f:
-+    exec(f.read())
-+    VERSION = get_version()
-+
- README = open(join(CURDIR, 'README.rst')).read()
- CLASSIFIERS = '\n'.join(
-     map(' :: '.join, [
-diff --git a/src/SerialLibrary/version.py b/src/SerialLibrary/version.py
-index 6ce65c4..19831bc 100644
---- a/src/SerialLibrary/version.py
-+++ b/src/SerialLibrary/version.py
-@@ -1 +1,4 @@
- VERSION = (0, 3, 1)
-+
-+def get_version():
-+    return VERSION;
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb
deleted file mode 100644
index d9465af..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.3.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Robot Framework test library for serial connection"
-HOMEPAGE = "https://github.com/whosaysni/robotframework-seriallibrary"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515"
-
-SRC_URI[md5sum] = "b7c9565d54c30df7cd3f3c0e29adffa3"
-SRC_URI[sha256sum] = "256ad60fc0b7df4be44d82c302f5ed8fad4935cda99e4b45942e3c88179d1e19"
-
-PYPI_PACKAGE = "robotframework-seriallibrary"
-
-inherit pypi setuptools3
-
-SRC_URI += "file://e31d5fdf2ea00ac6349e64580a20816783064dd4.patch"
-
-RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-pyserial \
-    ${PYTHON_PN}-robotframework \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.4.3.bb
new file mode 100644
index 0000000..4ad5c36
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-robotframework-seriallibrary_0.4.3.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Robot Framework test library for serial connection"
+HOMEPAGE = "https://github.com/whosaysni/robotframework-seriallibrary"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=1af2e051b493d9552af443cf2f99d480"
+
+SRC_URI[sha256sum] = "f20befe5c1106dd8ddca9f60a2f18bf5ec7d5f06f6f09a03fa66bae54777e6bb"
+
+PYPI_PACKAGE = "robotframework-seriallibrary"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-pyserial \
+    ${PYTHON_PN}-robotframework \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.40.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.41.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.40.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.41.bb
index 935531a..480e3ab 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.40.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-serpent_1.41.bb
@@ -2,7 +2,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d7c28f460fafe7be454fcdcac0b60263"
 
-SRC_URI[sha256sum] = "10b34e7f8e3207ee6fb70dcdc9bce473851ee3daf0b47c58aec1b48032ac11ce"
+SRC_URI[sha256sum] = "0407035fe3c6644387d48cff1467d5aa9feff814d07372b78677ed0ee3ed7095"
 
 inherit pypi ptest setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb
index a277930..f22a402 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "6276eb599b76c4e74372f2582d2282f03b4398f0da16bc996608e4f21557ca9b"
+SRC_URI[sha256sum] = "634541ed794068a822fe7499f1577468b9d4641b68dd9bfb6d0eb7270f4d2a32"
 
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.36.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.39.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.36.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.39.bb
index b20c6c8..0690a8b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.36.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.39.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f4001d1ca15b69d096fa1b4fd1bdce79"
 
-SRC_URI[sha256sum] = "64678ac321d64a45901ef2e24725ec5e783f1f4a588305e196431447e7ace243"
+SRC_URI[sha256sum] = "8194896038753b46b08a0b0ae89a5d80c897fb601dd51e243ed5720f1f155d27"
 
 PYPI_PACKAGE = "SQLAlchemy"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.10.bb
new file mode 100644
index 0000000..222e6e7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.10.bb
@@ -0,0 +1,8 @@
+SUMMARY = "Pretty-print tabular data"
+HOMEPAGE = "https://github.com/astanin/python-tabulate"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6ad1430c0c4824ec6a5dbb9754b011d7"
+
+SRC_URI[sha256sum] = "6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.9.bb
deleted file mode 100644
index 19261c3..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tabulate_0.8.9.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "Pretty-print tabular data"
-HOMEPAGE = "https://github.com/astanin/python-tabulate"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fad5a39bdfe452b13775adda41023ba7"
-
-SRC_URI[sha256sum] = "eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7"
-
-inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.11.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.11.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.0.bb
index a597641..4025fa3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.11.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-toolz_0.12.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca09cab178326d18433aae982d1edf5d"
 
-SRC_URI[sha256sum] = "6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33"
+SRC_URI[sha256sum] = "88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.2.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.2.bb
index 1dedc51..d94fd39 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tornado_6.2.bb
@@ -6,8 +6,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[md5sum] = "f324f5e7607798552359d6ab054c4321"
-SRC_URI[sha256sum] = "33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791"
+SRC_URI[sha256sum] = "9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.3.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.3.0.bb
index 3bc9772..7c81867 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-traitlets_5.3.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING.md;md5=9c125dfc5ff5364d40b5f56f02cd9de3"
 
-SRC_URI[sha256sum] = "a415578cde1985f1b773faefe49e9f078d345f38665ce3e9e914ec7b41150ce9"
+SRC_URI[sha256sum] = "0bb9f1f9f017aa8ec187d8b1b2a7a6626a2a1d877116baba52a129bfa124f8e2"
 
 inherit pypi python_hatchling
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_4.0.1.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-twine_4.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-twine_4.0.1.bb
index 08252e8..0178dde 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_4.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_4.0.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3d1106b253a8d50dd82a4202a045b4c"
 
-SRC_URI[sha256sum] = "817aa0c0bdc02a5ebe32051e168e23c71a0608334e624c793011f120dbbc05b7"
+SRC_URI[sha256sum] = "96b1cf12f7ae611a4a40b6ae8e9570215daff0611828f5fe1f37a16255ab24a0"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/0001-setup.py-Do-not-strip-debugging-symbols.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/0001-setup.py-Do-not-strip-debugging-symbols.patch
index 47da2b8..42cd99a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/0001-setup.py-Do-not-strip-debugging-symbols.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson/0001-setup.py-Do-not-strip-debugging-symbols.patch
@@ -8,22 +8,28 @@
 
 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
 ---
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ setup.py | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
 
 diff --git a/setup.py b/setup.py
-index 453dc31..962c507 100644
+index b98963b..d42f07a 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -6,7 +6,7 @@ from setuptools import Extension, setup
- dconv_source_files = glob("./deps/double-conversion/double-conversion/*.cc")
+@@ -19,13 +19,7 @@ if not dconv_libs:
+     dconv_source_files.extend(glob("./deps/double-conversion/double-conversion/*.cc"))
  dconv_source_files.append("./lib/dconv_wrapper.cc")
  
--strip_flags = ["-Wl,--strip-all"] if platform.system() == "Linux" else []
+-if platform.system() == "Linux" and environ.get("UJSON_BUILD_NO_STRIP", "0") not in (
+-    "1",
+-    "True",
+-):
+-    strip_flags = ["-Wl,--strip-all"]
+-else:
+-    strip_flags = []
 +strip_flags = []
  
  module1 = Extension(
      "ujson",
 -- 
-2.30.2
+2.25.1
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.3.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.3.0.bb
index 6c1bf7e..4c3ef82 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ujson_5.3.0.bb
@@ -2,9 +2,9 @@
 DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3."
 
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=10fa10456417c0252bcb8a498e498ffe"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e0039a83d8a99726b5418f0b03302d0a"
 
-SRC_URI[sha256sum] = "a88944d2f99db71a3ca0c63d81f37e55b660edde0b07216fb65a3e46403ef004"
+SRC_URI[sha256sum] = "ab938777b3ac0372231ee654a7f6a13787e587b1ca268d8aa7e6fb6846e477d0"
 
 inherit pypi ptest setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.4.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.4.bb
index dd5b0c3..3f6d285 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-unidiff_0.7.4.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4c434b08ef42fea235bb019b5e5a97b3"
 
-SRC_URI[sha256sum] = "d5f2e53a9a00db3224a8c36349b5380e0e22d1aec6c694b14fb9483ee93c6205"
+SRC_URI[sha256sum] = "2bbcbc986e1fb97f04b1d7b864aa6002ab02f4d8a996bf03aa6e5a81447d1fc5"
 
 inherit pypi setuptools3 ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.2.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.2.bb
index b7f8099..061586b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-waitress_2.1.2.bb
@@ -10,6 +10,6 @@
         python3-logging \
 "
 
-SRC_URI[sha256sum] = "e2e60576cf14a1539da79f7b7ee1e79a71e64f366a0b47db54a15e971f57bb16"
+SRC_URI[sha256sum] = "780a4082c5fbc0fde6a2fcfe5e26e6efc1e8f425730863c04085769781f51eba"
 
 inherit python_setuptools_build_meta pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.9.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.8.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.9.bb
index 70af951..8c7c6dd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.8.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-watchdog_2.1.9.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRC_URI[sha256sum] = "6d03149126864abd32715d4e9267d2754cede25a69052901399356ad3bc5ecff"
+SRC_URI[sha256sum] = "43ce20ebb36a51f21fa376f76d1d4692452b2527ccd601950d69ed36b9e21609"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.2.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.2.bb
index b0b636b..c9820eb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_5.29.2.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1dc2732bdc5e50382737979791cbb3b7"
 
-SRC_URI[sha256sum] = "14d0c4ef5d693b6cc9a36ad4ff31201add8ef1f4c1cdb920f7ce07f81841e6bc"
+SRC_URI[sha256sum] = "f37b01f3dc32010b176cef01c2107bc25b7cf94b63c3269d4ec52d7e5ded9a36"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.3.3.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.3.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.3.3.bb
index 3f09d26..9c3ff02 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websocket-client_1.3.3.bb
@@ -7,7 +7,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b969e9612325987c823fc0737063ebc8"
 
-SRC_URI[sha256sum] = "50b21db0058f7a953d67cc0445be4b948d7fc196ecbeb8083d68d94628e4abf6"
+SRC_URI[sha256sum] = "d58c5f284d6a9bf8379dab423259fe8f85b70d5fa5d2916d5791a84594b122b1"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.3.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.3.bb
index 759cf02..7837bc8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlschema_1.11.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=47489cb18c469474afeb259ed1d4832f"
 
-SRC_URI[sha256sum] = "319f5e3e77beb6ab3b4166f699d9dafd59141487bd1a07675fd01af6483211a4"
+SRC_URI[sha256sum] = "28a135028f7ab1e0c934fc0c6717a66b2dc5f166d123dfe6ce61afc671ad113f"
 
 PYPI_PACKAGE = "xmlschema"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.7.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.7.bb
index bf97e4f..3f67f5f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.38.7.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3bb705b228ea4a14ea2728215b780d80"
 
-SRC_URI[sha256sum] = "c98f87a9145c58ad544cf1708b5eb2f444d40cd5defc69c88eeaac0527a28795"
+SRC_URI[sha256sum] = "eaee2293e5f4e6d249f6155f9d3cca1668cb22b2545995ea72c6a03b4b7706d4"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch
index 5d82919..3b080f5 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2/0004-apache2-log-the-SELinux-context-at-startup.patch
@@ -1,4 +1,4 @@
-From 37699e9be04d83c5923644e298f400e077f76e85 Mon Sep 17 00:00:00 2001
+From e47cc405eadcbe37a579c375e824e20a5c53bfad Mon Sep 17 00:00:00 2001
 From: Paul Eggleton <paul.eggleton@linux.intel.com>
 Date: Tue, 17 Jul 2012 11:27:39 +0100
 Subject: [PATCH] Log the SELinux context at startup.
@@ -8,13 +8,14 @@
 Upstream-Status: Inappropriate [other]
 
 Note: unlikely to be any interest in this upstream
+
 ---
  configure.in  |  5 +++++
  server/core.c | 26 ++++++++++++++++++++++++++
  2 files changed, 31 insertions(+)
 
 diff --git a/configure.in b/configure.in
-index c799aec..76811e7 100644
+index ea6cec3..92b74b7 100644
 --- a/configure.in
 +++ b/configure.in
 @@ -491,6 +491,11 @@ getloadavg
@@ -30,7 +31,7 @@
  [AC_TRY_RUN(#define _GNU_SOURCE
  #include <unistd.h>
 diff --git a/server/core.c b/server/core.c
-index 3020090..8fef5fd 100644
+index 4da7209..d3ca25b 100644
 --- a/server/core.c
 +++ b/server/core.c
 @@ -65,6 +65,10 @@
@@ -43,7 +44,7 @@
 +
  /* LimitRequestBody handling */
  #define AP_LIMIT_REQ_BODY_UNSET         ((apr_off_t) -1)
- #define AP_DEFAULT_LIMIT_REQ_BODY       ((apr_off_t) 0)
+ #define AP_DEFAULT_LIMIT_REQ_BODY       ((apr_off_t) 1<<30) /* 1GB */
 @@ -5126,6 +5130,28 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte
      }
  #endif
@@ -73,6 +74,3 @@
      return OK;
  }
  
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.53.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.54.bb
similarity index 92%
rename from meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.53.bb
rename to meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.54.bb
index 8413f53..c5f014b 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.53.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.54.bb
@@ -26,7 +26,7 @@
            "
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3"
-SRC_URI[sha256sum] = "d0bbd1121a57b5f2a6ff92d7b96f8050c5a45d3f14db118f64979d525858db63"
+SRC_URI[sha256sum] = "eb397feeefccaf254f8d45de3768d9d68e8e73851c49afd5b7176d1ecf80c340"
 
 S = "${WORKDIR}/httpd-${PV}"
 
@@ -176,13 +176,25 @@
 ALTERNATIVE:${PN}-doc = "htpasswd.1"
 ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
 
-PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
+PACKAGES = "${PN}-utils ${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}"
 
 CONFFILES:${PN} = "${sysconfdir}/${BPN}/httpd.conf \
                    ${sysconfdir}/${BPN}/magic \
                    ${sysconfdir}/${BPN}/mime.types \
                    ${sysconfdir}/${BPN}/extra/*"
 
+FILES:${PN}-utils = "${bindir}/ab \
+                     ${bindir}/htdbm \
+                     ${bindir}/htdigest \
+                     ${bindir}/htpasswd \
+                     ${bindir}/logresolve \
+                     ${bindir}/httxt2dbm \
+                     ${sbindir}/htcacheclean \
+                     ${sbindir}/fcgistarter \
+                     ${sbindir}/checkgid \
+                     ${sbindir}/rotatelogs \
+                    "
+
 # We override here rather than append so that .so links are
 # included in the runtime package rather than here (-dev)
 # and to get build, icons, error into the -dev package
@@ -207,7 +219,7 @@
 
 FILES:${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
 
-RDEPENDS:${PN} += "openssl libgcc"
+RDEPENDS:${PN} += "openssl libgcc ${PN}-utils"
 RDEPENDS:${PN}-scripts += "perl ${PN}"
 RDEPENDS:${PN}-dev = "perl"
 
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Use-explicit-typecast-to-enum-rrdset_flags.patch b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Use-explicit-typecast-to-enum-rrdset_flags.patch
deleted file mode 100644
index e3c7a7c..0000000
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Use-explicit-typecast-to-enum-rrdset_flags.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From e8ec0a0f3a353a8167687a8fdb26773e45927aac Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 24 Apr 2022 09:49:12 -0700
-Subject: [PATCH] Use explicit typecast to enum rrdset_flags
-
-specifications say
-An enumerator can be promoted to an integer value. However,
-converting an integer to an enumerator requires an explicit
-cast, and the results are not defined.
-
-Therefore The bitwise OR operation you are performing results
-in an int, which you then attempt to assign to a variable of
-type rrdset_flags without a cast.
-
-Fixes
-| ml/Host.cc:167:9: error: assigning to 'RRDSET_FLAGS' (aka 'rrdset_flags') from incompatible type 'int'
-|         rrdset_flag_set(RS, RRDSET_FLAG_ANOMALY_DETECTION);
-|         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Submitted [https://github.com/netdata/netdata/pull/12750]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- database/rrd.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/database/rrd.h
-+++ b/database/rrd.h
-@@ -489,8 +489,8 @@ typedef enum rrdset_flags {
- #define rrdset_flag_clear(st, flag) __atomic_and_fetch(&((st)->flags), ~flag, __ATOMIC_SEQ_CST)
- #else
- #define rrdset_flag_check(st, flag) ((st)->flags & (flag))
--#define rrdset_flag_set(st, flag)   (st)->flags |= (flag)
--#define rrdset_flag_clear(st, flag) (st)->flags &= ~(flag)
-+#define rrdset_flag_set(st, flag)   (st)->flags = (RRDSET_FLAGS)((st)->flags | flag)
-+#define rrdset_flag_clear(st, flag) (st)->flags = (RRDSET_FLAGS)((st)->flags & ~(flag))
- #endif
- #define rrdset_flag_check_noatomic(st, flag) ((st)->flags & (flag))
- 
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.34.1.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.35.1.bb
similarity index 94%
rename from meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.34.1.bb
rename to meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.35.1.bb
index b777d20..9decb63 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.34.1.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.35.1.bb
@@ -8,9 +8,8 @@
 DEPENDS += "libuv util-linux zlib"
 
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-v${PV}.tar.gz \
-           file://0001-Use-explicit-typecast-to-enum-rrdset_flags.patch \
 "
-SRC_URI[sha256sum] = "8ea0786df0e952209c14efeb02e25339a0769aa3edc029e12816b8ead24a82d7"
+SRC_URI[sha256sum] = "587f6cce421015f8e0a527e3964a4de8cc17085c354498150bc3ade21606bbf9"
 
 # default netdata.conf for netdata configuration
 SRC_URI += "file://netdata.conf"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.4.bb
similarity index 90%
rename from meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.3.bb
rename to meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.4.bb
index 32735bc..01c3bff 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.3.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_4.16.4.bb
@@ -16,7 +16,7 @@
     file://configure.patch \
 "
 
-SRC_URI[sha256sum] = "722dff3c3fe23f0a65405e63889cf247c99d092d3f9fb16dec78d062cfb8fae6"
+SRC_URI[sha256sum] = "82a50c67e78f1e5c420b7615515bcca759b86eeab99224ab8eca4306b89d2eca"
 
 # Note: python bindings did not work in oe-dev and are about to be moved to
 # pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
diff --git a/meta-security/classes/aide-base.bbclass b/meta-security/classes/aide-base.bbclass
new file mode 100644
index 0000000..36cc454
--- /dev/null
+++ b/meta-security/classes/aide-base.bbclass
@@ -0,0 +1,11 @@
+#
+# Copyright 2022 Armin Kuster <akuster808@gmail.com>
+#
+
+STAGING_AIDE_DIR ?= "${TMPDIR}/work-shared/${MACHINE}/aida"
+AIDE_INCLUDE_DIRS ?= "/lib"
+AIDE_SKIP_DIRS ?= "/lib/modules/.\*"
+
+AIDE_SCAN_POSTINIT ?= "0"
+AIDE_RESCAN_POSTINIT ?= "0"
+
diff --git a/meta-security/classes/aide-db-init.bbclass b/meta-security/classes/aide-db-init.bbclass
new file mode 100644
index 0000000..800006f
--- /dev/null
+++ b/meta-security/classes/aide-db-init.bbclass
@@ -0,0 +1,52 @@
+#
+# Copyright 2022 Armin Kuster <akuster808@gmail.com>
+#
+# This class creates the initial aide database durning
+# the build cycle allowing for that set being skipped during boot
+# It has an additional benefit of having not being tamper with
+# after build.
+#
+# To have the aide db created during build
+# 1. Extend local.conf:
+#    INHERIT += "adie-init-db"
+#
+# These are the defaults as defined in aide-base.bbclass
+# They can be overriden in your local.conf or other distro include 
+#
+# To define where the share directory should be.
+#    STAGING_AIDE_DIR = "${TMPDIR}/work-shared/${MACHINE}/aida"
+#
+# To define which directories should be inclued in a scan
+#    AIDE_INCLUDE_DIRS ?= "/lib"
+#
+# To exclude directories and files from being scanned
+#    AIDE_SKIP_DIRS ?= "/lib/modules/.\*"
+#
+# To controll if a db init should happen at postint 
+#    AIDE_SCAN_POSTINIT ?= "0"
+#
+# To cotroll if a db recan should be run at postinit
+#    AIDE_RESCAN_POSTINIT ?= "0"
+
+inherit aide-base 
+
+aide_init_db() {
+    for dir in ${AIDE_INCLUDE_DIRS}; do
+        echo "${IMAGE_ROOTFS}${dir} NORMAL" >> ${STAGING_AIDE_DIR}/aide.conf
+    done
+    for dir in ${AIDE_SKIP_DIRS}; do
+        echo "!${IMAGE_ROOTFS}${dir}" >> ${STAGING_AIDE_DIR}/aide.conf
+    done
+
+
+    ${STAGING_AIDE_DIR}/bin/aide -c ${STAGING_AIDE_DIR}/aide.conf --init
+    gunzip ${STAGING_AIDE_DIR}/lib/aide.db.gz 
+    # strip out native path
+    sed -i -e 's:${IMAGE_ROOTFS}::' ${STAGING_AIDE_DIR}/lib/aide.db
+    gzip -9 ${STAGING_AIDE_DIR}/lib/aide.db 
+    cp -f ${STAGING_AIDE_DIR}/lib/aide.db.gz ${IMAGE_ROOTFS}${libdir}/aide
+}
+
+EXTRA_IMAGEDEPENDS:append = " aide-native"
+
+ROOTFS_POSTPROCESS_COMMAND:append = " aide_init_db;"
diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf
index fa7d79e..470c7f6 100644
--- a/meta-security/conf/layer.conf
+++ b/meta-security/conf/layer.conf
@@ -18,6 +18,8 @@
   perl-layer:${LAYERDIR}/dynamic-layers/meta-perl/recipes-*/*/*.bbappend \
   meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
   meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bbappend \
+  networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \
+  networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bbappend \
 "
 
 # Sanity check for meta-security layer.
diff --git a/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.6.2.bb b/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.6.2.bb
index 40f6d15..8b6af5e 100644
--- a/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.6.2.bb
+++ b/meta-security/dynamic-layers/meta-python/recipes-security/mfa/python3-privacyidea_3.6.2.bb
@@ -19,7 +19,7 @@
 USERADD_PARAM:${PN} = "--system -g privacyidea -o -r -d /opt/${BPN}  \
     --shell /bin/false privacyidea"
 
-FILES:${PN} += " ${prefix}/etc/privacyidea/* ${datadir}/lib/privacyidea/*"
+FILES:${PN} += " ${prefix}/etc/privacyidea/* ${prefix}/lib/privacyidea/*"
 
 RDEPENDS:${PN} += " bash perl freeradius-mysql freeradius-utils"
 
diff --git a/meta-security/dynamic-layers/networking-layer/recipes-core/packagegroup/packagegroup-core-security.bbappend b/meta-security/dynamic-layers/networking-layer/recipes-core/packagegroup/packagegroup-core-security.bbappend
new file mode 100644
index 0000000..6bafd9f
--- /dev/null
+++ b/meta-security/dynamic-layers/networking-layer/recipes-core/packagegroup/packagegroup-core-security.bbappend
@@ -0,0 +1,4 @@
+
+RDEPENDS:packagegroup-security-utils += "\
+    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sssd", "",d)} \
+"
diff --git a/meta-security/recipes-security/sssd/files/drop_ntpdate_chk.patch b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/drop_ntpdate_chk.patch
similarity index 100%
rename from meta-security/recipes-security/sssd/files/drop_ntpdate_chk.patch
rename to meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/drop_ntpdate_chk.patch
diff --git a/meta-security/recipes-security/sssd/files/fix-ldblibdir.patch b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/fix-ldblibdir.patch
similarity index 100%
rename from meta-security/recipes-security/sssd/files/fix-ldblibdir.patch
rename to meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/fix-ldblibdir.patch
diff --git a/meta-security/recipes-security/sssd/files/fix_gid.patch b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/fix_gid.patch
similarity index 87%
rename from meta-security/recipes-security/sssd/files/fix_gid.patch
rename to meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/fix_gid.patch
index 9b481cc..419b83f 100644
--- a/meta-security/recipes-security/sssd/files/fix_gid.patch
+++ b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/fix_gid.patch
@@ -12,10 +12,10 @@
 Upstream-Status: Pending
 Signed-off-by: Armin Kuster <akuster808@gmail.com>
 
-Index: sssd-2.5.0/src/util/debug.h
+Index: sssd-2.7.1/src/util/debug.h
 ===================================================================
---- sssd-2.5.0.orig/src/util/debug.h
-+++ sssd-2.5.0/src/util/debug.h
+--- sssd-2.7.1.orig/src/util/debug.h
++++ sssd-2.7.1/src/util/debug.h
 @@ -24,6 +24,8 @@
  #include "config.h"
  
@@ -23,5 +23,5 @@
 +#include <unistd.h>
 +#include <sys/types.h>
  #include <stdbool.h>
+ #include <sys/types.h>
  
- #include "util/util_errors.h"
diff --git a/meta-security/recipes-security/sssd/files/musl_fixup.patch b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/musl_fixup.patch
similarity index 100%
rename from meta-security/recipes-security/sssd/files/musl_fixup.patch
rename to meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/musl_fixup.patch
diff --git a/meta-security/recipes-security/sssd/files/no_gen.patch b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/no_gen.patch
similarity index 72%
rename from meta-security/recipes-security/sssd/files/no_gen.patch
rename to meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/no_gen.patch
index 5c83777..7d8e80b 100644
--- a/meta-security/recipes-security/sssd/files/no_gen.patch
+++ b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/no_gen.patch
@@ -4,11 +4,11 @@
 
 Signed-off-by: Armin Kuster <akuster808@gmail.com>
 
-Index: sssd-2.5.0/Makefile.am
+Index: sssd-2.7.1/Makefile.am
 ===================================================================
---- sssd-2.5.0.orig/Makefile.am
-+++ sssd-2.5.0/Makefile.am
-@@ -1033,8 +1033,6 @@ generate-sbus-code:
+--- sssd-2.7.1.orig/Makefile.am
++++ sssd-2.7.1/Makefile.am
+@@ -1023,8 +1023,6 @@ generate-sbus-code:
  
  .PHONY: generate-sbus-code
  
diff --git a/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/sssd.conf b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/sssd.conf
new file mode 100644
index 0000000..1e8b537
--- /dev/null
+++ b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/sssd.conf
@@ -0,0 +1,15 @@
+[sssd]
+services = nss, pam
+domains = shadowutils
+
+[nss]
+
+[pam]
+
+[domain/shadowutils]
+id_provider = files
+
+auth_provider = proxy
+proxy_pam_target = sssd-shadowutils
+
+proxy_fast_alias = True
diff --git a/meta-security/recipes-security/sssd/files/volatiles.99_sssd b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/volatiles.99_sssd
similarity index 100%
rename from meta-security/recipes-security/sssd/files/volatiles.99_sssd
rename to meta-security/dynamic-layers/networking-layer/recipes-security/sssd/files/volatiles.99_sssd
diff --git a/meta-security/recipes-security/sssd/sssd_2.5.2.bb b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.7.1.bb
similarity index 85%
rename from meta-security/recipes-security/sssd/sssd_2.5.2.bb
rename to meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.7.1.bb
index 9f1d627..71f14a0 100644
--- a/meta-security/recipes-security/sssd/sssd_2.5.2.bb
+++ b/meta-security/dynamic-layers/networking-layer/recipes-security/sssd/sssd_2.7.1.bb
@@ -5,8 +5,9 @@
 LICENSE = "GPL-3.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-DEPENDS = "acl attr openldap cyrus-sasl libtdb ding-libs libpam c-ares krb5 autoconf-archive"
-DEPENDS:append = " libldb dbus libtalloc libpcre glib-2.0 popt e2fsprogs libtevent bind p11-kit"
+DEPENDS = "acl attr cyrus-sasl libtdb ding-libs libpam c-ares krb5 autoconf-archive"
+DEPENDS:append = " libldb dbus libtalloc libpcre2 glib-2.0 popt e2fsprogs libtevent"
+DEPENDS:append = " openldap bind p11-kit jansson softhsm openssl libunistring"
 
 DEPENDS:append:libc-musl = " musl-nscd"
 
@@ -23,10 +24,9 @@
            file://drop_ntpdate_chk.patch \
            file://fix-ldblibdir.patch \
            file://musl_fixup.patch \
-           file://CVE-2021-3621.patch \
            "
 
-SRC_URI[sha256sum] = "5e21b3c7b4a2f1063d0fbdd3216d29886b6eaba153b44fb5961698367f399a0f"
+SRC_URI[sha256sum] = "8eebd541a640aec95ed4b2da89713f0cbe8e4edf96895fbb972c0b9d570635c3"
 
 inherit autotools pkgconfig gettext python3-dir features_check systemd
 
@@ -39,7 +39,7 @@
     ac_cv_prog_HAVE_PYTHON3=${PYTHON_DIR} \
     "
 
-PACKAGECONFIG ?="nss nscd autofs sudo infopipe"
+PACKAGECONFIG ?="nss autofs sudo infopipe"
 PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
 PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
 
@@ -49,8 +49,8 @@
 PACKAGECONFIG[infopipe] = "--with-infopipe, --with-infopipe=no, "
 PACKAGECONFIG[manpages] = "--with-manpages, --with-manpages=no, libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 PACKAGECONFIG[nl] = "--with-libnl, --with-libnl=no, libnl"
-PACKAGECONFIG[nscd] = "--with-nscd=${sbindir}, --with-nscd=no "
 PACKAGECONFIG[nss] = ", ,nss,"
+PACKAGECONFIG[oidc_child] = "--with-oidc-child, --without-oidc-child"
 PACKAGECONFIG[python3] = "--with-python3-bindings, --without-python3-bindings"
 PACKAGECONFIG[samba] = "--with-samba, --with-samba=no, samba"
 PACKAGECONFIG[selinux] = "--with-selinux, --with-selinux=no --with-semanage=no, libselinux"
@@ -65,7 +65,6 @@
     --without-python2-bindings \
     --enable-pammoddir=${base_libdir}/security \
     --without-python2-bindings \
-    --without-secrets \
     --with-xml-catalog-path=${STAGING_ETCDIR_NATIVE}/xml/catalog \
     --with-pid-path=/run \
 "
@@ -74,8 +73,8 @@
     mkdir -p ${AUTOTOOLS_AUXDIR}/build
     cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/build/
 
-    # libresove has host path, remove it
-    sed -i -e "s#\$sss_extra_libdir##" ${S}/src/external/libresolv.m4
+    # additional_libdir  defaults to /usr/lib so replace with staging_libdir globally
+    sed -i -e "s#\$additional_libdir#\${STAGING_LIBDIR}#" ${S}/src/build_macros.m4
 }
 
 do_compile:prepend () {
@@ -84,7 +83,11 @@
 do_install () {
     oe_runmake install  DESTDIR="${D}"
     rmdir --ignore-fail-on-non-empty "${D}/${bindir}"
+
     install -d ${D}/${sysconfdir}/${BPN}
+    install -d ${D}/${PYTHON_SITEPACKAGES_DIR}
+    mv ${D}/${BPN}  ${D}/${PYTHON_SITEPACKAGES_DIR}
+
     install -m 600 ${WORKDIR}/${BPN}.conf ${D}/${sysconfdir}/${BPN}
 
     # /var/log/sssd needs to be created in runtime. Use rmdir to catch if
@@ -106,6 +109,7 @@
     # Remove /run as it is created on startup
     rm -rf ${D}/run
 
+#    rm -fr ${D}/sssd
     rm -f ${D}${systemd_system_unitdir}/sssd-secrets.*
 }
 
@@ -116,8 +120,6 @@
     chown ${SSSD_UID}:${SSSD_GID} ${sysconfdir}/${BPN}/${BPN}.conf
 }
 
-FILES:${PN} += "${nonarch_libdir}/tmpfiles.d"
-
 CONFFILES:${PN} = "${sysconfdir}/${BPN}/${BPN}.conf"
 
 INITSCRIPT_NAME = "sssd"
@@ -141,10 +143,13 @@
 ALLOW_EMPTY:libsss-sudo = "1"
 
 FILES:${PN} += "${base_libdir}/security/pam_sss*.so  \
+                ${nonarch_libdir}/tmpfiles.d \
                 ${datadir}/dbus-1/system-services/*.service \
                 ${libdir}/krb5/* \
                 ${libdir}/ldb/* \
+                ${PYTHON_SITEPACKAGES_DIR}/sssd \
                 "
+
 FILES:libsss-sudo = "${libdir}/libsss_sudo.so"
 
 RDEPENDS:${PN} = "bind bind-utils dbus libldb libpam libsss-sudo"
diff --git a/meta-security/lib/oeqa/runtime/cases/aide.py b/meta-security/lib/oeqa/runtime/cases/aide.py
new file mode 100644
index 0000000..4c7633c
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/aide.py
@@ -0,0 +1,26 @@
+# Copyright (C) 2022 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+
+class AideTest(OERuntimeTestCase):
+
+    @OEHasPackage(['aide'])
+    @OETestDepends(['ssh.SSHTest.test_ssh'])
+    def test_aide_help(self):
+        status, output = self.target.run('aide --help')
+        msg = ('Aide help command does not work as expected. '
+               'Status and output:%s and %s' % (status, output))
+        self.assertEqual(status, 0, msg = msg)
+
+    @OETestDepends(['aide.AideTest.test_aide_help'])
+    def test_aide_dbinit(self):
+        status, output = self.target.run('aide --init')
+        match = re.search('Number of entries:', output)
+        if not match:
+            msg = ('Aide db init failed: output is:\n%s' % output)
+            self.assertEqual(status, 0, msg = msg)
diff --git a/meta-security/lib/oeqa/runtime/cases/checksec.py b/meta-security/lib/oeqa/runtime/cases/checksec.py
index e46744c..53e6c1d 100644
--- a/meta-security/lib/oeqa/runtime/cases/checksec.py
+++ b/meta-security/lib/oeqa/runtime/cases/checksec.py
@@ -19,7 +19,7 @@
 
     @OETestDepends(['checksec.CheckSecTest.test_checksec_help'])
     def test_checksec_xml(self):
-        status, output = self.target.run('checksec --format xml --proc-all')
+        status, output = self.target.run('checksec --format=xml --proc=1')
         msg = ('checksec xml failed. Output: %s' % output)
         self.assertEqual(status, 0, msg = msg)
 
diff --git a/meta-security/lib/oeqa/runtime/cases/clamav.py b/meta-security/lib/oeqa/runtime/cases/clamav.py
index cf83937..e0cad8f 100644
--- a/meta-security/lib/oeqa/runtime/cases/clamav.py
+++ b/meta-security/lib/oeqa/runtime/cases/clamav.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2019 Armin Kuster <akuster808@gmail.com>
+# Copyright (C) 2019 - 2022 Armin Kuster <akuster808@gmail.com>
 #
 import re
 from tempfile import mkstemp
@@ -48,21 +48,8 @@
         self.assertEqual(status, 0, msg = msg)
 
     @OETestDepends(['clamav.ClamavTest.test_ping_clamav_net'])
-    def test_freshclam_check_mirrors(self):
-        status, output = self.target.run('freshclam --list-mirrors')
-        match = re.search('Failures: 0', output)
-        if not match:
-            msg = ('freshclam --list-mirrors: failed. '
-               'Status and output:%s and %s' % (status, output))
-            self.assertEqual(status, 1, msg = msg)
-
-    @OETestDepends(['clamav.ClamavTest.test_freshclam_check_mirrors'])
     def test_freshclam_download(self):
         status, output = self.target.run('freshclam --show-progress')
-        match = re.search('Database updated', output)
-        #match = re.search('main.cvd is up to date', output)
-        if not match:
-            msg = ('freshclam : DB dowbload failed. '
-               'Status and output:%s and %s' % (status, output))
-            self.assertEqual(status, 1, msg = msg)
-
+        msg = ('freshclam : DB dowbload failed. '
+            'Status and output:%s and %s' % (status, output))
+        self.assertEqual(status, 0, msg = msg)
diff --git a/meta-security/lib/oeqa/runtime/cases/firejail.py b/meta-security/lib/oeqa/runtime/cases/firejail.py
new file mode 100644
index 0000000..88a8dda
--- /dev/null
+++ b/meta-security/lib/oeqa/runtime/cases/firejail.py
@@ -0,0 +1,18 @@
+# Copyright (C) 2022 Armin Kuster <akuster808@gmail.com>
+#
+import re
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+class FirejailTest(OERuntimeTestCase):
+
+    @OEHasPackage(['firejail'])
+    @OEHasPackage(['libseccomp'])
+    @OETestDepends(['ssh.SSHTest.test_ssh'])
+    def test_firejail_basic(self):
+        status, output = self.target.run('firejail --help')
+        msg = ('Firejail --help command does not work as expected. '
+               'Status and output:%s and %s' % (status, output))
+        self.assertEqual(status, 0, msg = msg)
diff --git a/meta-security/lib/oeqa/runtime/cases/smack.py b/meta-security/lib/oeqa/runtime/cases/smack.py
index b8255c7..6b87574 100644
--- a/meta-security/lib/oeqa/runtime/cases/smack.py
+++ b/meta-security/lib/oeqa/runtime/cases/smack.py
@@ -15,17 +15,16 @@
 
     @classmethod
     def setUpClass(cls):
-        cls.smack_path = ""
         cls.current_label  = ""
         cls.uid = 1000
+        status, output = cls.tc.target.run("grep smack /proc/mounts | awk '{print $2}'")
+        cls.smack_path = output
 
     @skipIfNotFeature('smack',
         'Test requires smack to be in DISTRO_FEATURES')
     @OEHasPackage(['smack-test'])
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     def test_smack_basic(self):
-        status, output = self.target.run("grep smack /proc/mounts | awk '{print $2}'")
-        self.smack_path = output
         status,output = self.target.run("cat /proc/self/attr/current")
         self.current_label = output.strip()
 
@@ -41,11 +40,11 @@
             "Status and output: %d %s" %(status, output))
         status, output = self.target.run("chsmack %s" %filename)
         self.target.run("rm %s" %filename)
-        m = re.search('(?<=access=")\S+(?=")', output)
+        m = re.search('(access=")\S+(?=")', output)
         if m is None:
             self.fail("Did not find access attribute")
         else:
-            label_retrieved = m .group(0)
+            label_retrieved = re.split("access=\"", output)[1][:-1]
             self.assertEqual(
                 LABEL, label_retrieved,
                 "label not set correctly. expected and gotten: "
@@ -64,11 +63,11 @@
             "Status and output: %d %s" %(status, output))
         status, output = self.target.run("chsmack %s" %filename)
         self.target.run("rm %s" %filename)
-        m= re.search('(?<=execute=")\S+(?=")', output)
+        m= re.search('(execute=")\S+(?=")', output)
         if m is None:
             self.fail("Did not find execute attribute")
         else:
-            label_retrieved = m.group(0)
+            label_retrieved = re.split("execute=\"", output)[1][:-1]
             self.assertEqual(
                 LABEL, label_retrieved,
                 "label not set correctly. expected and gotten: " +
@@ -87,11 +86,11 @@
             "Status and output: %d %s" %(status, output))
         status, output = self.target.run("chsmack %s" %filename)
         self.target.run("rm %s" %filename)
-        m = re.search('(?<=mmap=")\S+(?=")', output)
+        m = re.search('(mmap=")\S+(?=")', output)
         if m is None:
             self.fail("Did not find mmap attribute")
         else:
-            label_retrieved = m.group(0)
+            label_retrieved = re.split("mmap=\"", output)[1][:-1]
             self.assertEqual(
                 LABEL, label_retrieved,
                 "label not set correctly. expected and gotten: " +
@@ -109,11 +108,11 @@
                         "Status and output: %d %s" %(status, output))
         status, output = self.target.run("chsmack %s" %directory)
         self.target.run("rmdir %s" %directory)
-        m = re.search('(?<=transmute=")\S+(?=")', output)
+        m = re.search('(transmute=")\S+(?=")', output)
         if m is None:
             self.fail("Did not find transmute attribute")
         else:
-            label_retrieved = m.group(0)
+            label_retrieved = re.split("transmute=\"", output)[1][:-1]
             self.assertEqual(
                 "TRUE", label_retrieved,
                 "label not set correctly. expected and gotten: " +
@@ -127,10 +126,10 @@
         '''
 
         labelf = "/proc/self/attr/current"
-        command = "/bin/sh -c 'echo PRIVILEGED >%s; cat %s'" %(labelf, labelf)
+        command = "/bin/sh -c 'echo PRIVILEGED >%s'; cat %s" %(labelf, labelf)
 
         status, output = self.target.run(
-            "notroot.py 0 %s %s" %(self.current_label, command))
+            "/usr/sbin/notroot.py 0 %s %s" %(self.current_label, command))
 
         self.assertIn("PRIVILEGED", output,
                     "Privilege process did not change label.Output: %s" %output)
@@ -142,7 +141,7 @@
 
         command = "/bin/sh -c 'echo %s >/proc/self/attr/current'" %LABEL
         status, output = self.target.run(
-            "notroot.py %d %s %s"
+            "/usr/sbin/notroot.py %d %s %s"
             %(self.uid, self.current_label, command) +
             " 2>&1 | grep 'Operation not permitted'" )
 
@@ -160,9 +159,9 @@
         filename = "/tmp/test_unprivileged_change_file_label"
 
         self.target.run("touch %s" % filename)
-        self.target.run("notroot.py %d %s" %(self.uid, self.current_label))
+        self.target.run("/usr/sbin/notroot.py %d %s" %(self.uid, self.current_label))
         status, output = self.target.run(
-            "notroot.py " +
+            "/usr/sbin/notroot.py " +
             "%d unprivileged %s -a %s %s 2>&1 " %(self.uid, chsmack, LABEL, filename) +
             "| grep 'Operation not permitted'"  )
 
@@ -347,78 +346,6 @@
 
 
     @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
-    def test_smack_mmap_enforced(self):
-        '''Test if smack mmap access is enforced'''
-        raise unittest.SkipTest("Depends on mmap_test, which was removed from the layer while investigating its license.")
-
-        #      12345678901234567890123456789012345678901234567890123456
-        delr1="mmap_label              mmap_test_label1        -----"
-        delr2="mmap_label              mmap_test_label2        -----"
-        delr3="mmap_file_label         mmap_test_label1        -----"
-        delr4="mmap_file_label         mmap_test_label2        -----"
-
-        RuleA="mmap_label              mmap_test_label1        rw---"
-        RuleB="mmap_label              mmap_test_label2        r--at"
-        RuleC="mmap_file_label         mmap_test_label1        rw---"
-        RuleD="mmap_file_label         mmap_test_label2        rwxat"
-
-        mmap_label="mmap_label"
-        file_label="mmap_file_label"
-        test_file = "/usr/sbin/smack_test_mmap"
-        mmap_exe = "/tmp/mmap_test"
-        status, echo = self.target.run("which echo")
-        status, output = self.target.run(
-            "notroot.py %d %s %s 'test' > %s" \
-            %(self.uid, self.current_label, echo, test_file))
-        status, output = self.target.run("ls %s" %test_file)
-        self.assertEqual(status, 0, "Could not create mmap test file")
-        self.target.run("chsmack -m %s %s" %(file_label, test_file))
-        self.target.run("chsmack -e %s %s" %(mmap_label, mmap_exe))
-
-        # test with no rules with mmap label or exec label as subject
-        # access should be granted
-        self.target.run('echo -n "%s" > %s/load' %(delr1, self.smack_path))
-        self.target.run('echo -n "%s" > %s/load' %(delr2, self.smack_path))
-        self.target.run('echo -n "%s" > %s/load' %(delr3, self.smack_path))
-        self.target.run('echo -n "%s" > %s/load' %(delr4, self.smack_path))
-        status, output = self.target.run("%s %s 0 2" % (mmap_exe, test_file))
-        self.assertEqual(
-            status, 0,
-            "Should have mmap access without rules. Output: %s" %output)
-
-        # add rules that do not match access required
-        self.target.run('echo -n "%s" > %s/load' %(RuleA, self.smack_path))
-        self.target.run('echo -n "%s" > %s/load' %(RuleB, self.smack_path))
-        status, output = self.target.run("%s %s 0 2" % (mmap_exe, test_file))
-        self.assertNotEqual(
-            status, 0,
-            "Should not have mmap access with unmatching rules. " +
-            "Output: %s" %output)
-        self.assertIn(
-            "Permission denied", output,
-            "Mmap access should be denied with unmatching rules")
-
-        # add rule to match only partially (one way)
-        self.target.run('echo -n "%s" > %s/load' %(RuleC, self.smack_path))
-        status, output = self.target.run("%s %s 0 2" %(mmap_exe, test_file))
-        self.assertNotEqual(
-            status, 0,
-            "Should not have mmap access with partial matching rules. " +
-            "Output: %s" %output)
-        self.assertIn(
-            "Permission denied", output,
-            "Mmap access should be denied with partial matching rules")
-
-        # add rule to match fully
-        self.target.run('echo -n "%s" > %s/load' %(RuleD, self.smack_path))
-        status, output = self.target.run("%s %s 0 2" %(mmap_exe, test_file))
-        self.assertEqual(
-            status, 0,
-            "Should have mmap access with full matching rules." +
-            "Output: %s" %output)
-
-
-    @OETestDepends(['smack.SmackBasicTest.test_smack_basic'])
     def test_smack_transmute_dir(self):
         '''Test if smack transmute attribute works
 
diff --git a/meta-security/lib/oeqa/runtime/cases/sssd.py b/meta-security/lib/oeqa/runtime/cases/sssd.py
index 4644836..1dfdb94 100644
--- a/meta-security/lib/oeqa/runtime/cases/sssd.py
+++ b/meta-security/lib/oeqa/runtime/cases/sssd.py
@@ -28,10 +28,10 @@
 
     @OETestDepends(['sssd.SSSDTest.test_sssd_sssctl_conf_perms_chk'])
     def test_sssd_sssctl_deamon(self):
-        status, output = self.target.run('sssctl domain-status')
+        status, output = self.target.run('sssctl domain-list')
         match = re.search('No domains configured, fatal error!', output)
         if match:
-            msg = ('sssctl domain-status failed, sssd.conf not setup correctly. '
+            msg = ('sssctl domain-list failed, sssd.conf not setup correctly. '
                'Status and output:%s and %s' % (status, output))
             self.assertEqual(status, 0, msg = msg)
 
diff --git a/meta-security/meta-integrity/classes/kernel-modsign.bbclass b/meta-security/meta-integrity/classes/kernel-modsign.bbclass
index 093c358..d3aa7fb 100644
--- a/meta-security/meta-integrity/classes/kernel-modsign.bbclass
+++ b/meta-security/meta-integrity/classes/kernel-modsign.bbclass
@@ -13,7 +13,9 @@
 MODSIGN_X509 ?= "${MODSIGN_KEY_DIR}/x509_modsign.crt"
 
 # If this class is enabled, disable stripping signatures from modules
+# as well disable the debug symbols split
 INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 
 kernel_do_configure:prepend() {
     if [ -f "${MODSIGN_PRIVKEY}" -a -f "${MODSIGN_X509}" ]; then
diff --git a/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py b/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
index d3d3f2e..11e5572 100644
--- a/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
+++ b/meta-security/meta-parsec/lib/oeqa/runtime/cases/parsec.py
@@ -12,8 +12,13 @@
 class ParsecTest(OERuntimeTestCase):
     @classmethod
     def setUpClass(cls):
+        cls.tc.target.run('swtpm_ioctl -s --tcp :2322')
         cls.toml_file = '/etc/parsec/config.toml'
 
+    @classmethod
+    def tearDownClass(cls):
+        cls.tc.target.run('swtpm_ioctl -s --tcp :2322')
+
     def setUp(self):
         super(ParsecTest, self).setUp()
         if 'systemd' in self.tc.td['DISTRO_FEATURES']:
diff --git a/meta-security/meta-security-compliance/README b/meta-security/meta-security-compliance/README
index 320f856..3311d05 100644
--- a/meta-security/meta-security-compliance/README
+++ b/meta-security/meta-security-compliance/README
@@ -28,7 +28,7 @@
 Send pull requests, patches, comments or questions to yocto@yoctoproject.org
 
 When sending single patches, please using something like:
-'git send-email -1 --to yocto@yoctoproject.org --subject-prefix=meta-security-compliance][PATCH'
+'git send-email -1 --to yocto@lists.yoctoproject.org  --subject-prefix=meta-security-compliance][PATCH'
 
 Layer Maintainer: Armin Kuster <akuster808@gmail.com>
 
diff --git a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.0.bb b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.8.bb
similarity index 92%
rename from meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.0.bb
rename to meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.8.bb
index f665e29..d38c17a 100644
--- a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.0.bb
+++ b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.8.bb
@@ -8,7 +8,7 @@
 
 SRC_URI = "https://cisofy.com/files/${BPN}-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "3cc165f9007ba41de6d0b693a1167dbaf0179085f9506dcba64b4b8e37e1bda2"
+SRC_URI[sha256sum] = "98373a4cc9d0471ab9bebb249e442fcf94b6bf6d4e9c6fc0b22bca1506646c63"
 
 S = "${WORKDIR}/${BPN}"
 
diff --git a/meta-security/meta-tpm/lib/oeqa/runtime/cases/swtpm.py b/meta-security/meta-tpm/lib/oeqa/runtime/cases/swtpm.py
index df47b35..0be5c59 100644
--- a/meta-security/meta-tpm/lib/oeqa/runtime/cases/swtpm.py
+++ b/meta-security/meta-tpm/lib/oeqa/runtime/cases/swtpm.py
@@ -8,11 +8,13 @@
 class SwTpmTest(OERuntimeTestCase):
     @classmethod
     def setUpClass(cls):
+        cls.tc.target.run('swtpm_ioctl -s --tcp :2322')
         cls.tc.target.run('mkdir /tmp/myvtpm2')
         cls.tc.target.run('chown tss:root /tmp/myvtpm2')
 
     @classmethod
     def tearDownClass(cls):
+        cls.tc.target.run('swtpm_ioctl -s --tcp :2322')
         cls.tc.target.run('rm -fr /tmp/myvtpm2')
 
     @skipIfNotFeature('tpm2','Test tpm2_swtpm_socket requires tpm2 to be in DISTRO_FEATURES')
diff --git a/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py b/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
index e64d19d..8e90dc9 100644
--- a/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
+++ b/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
@@ -8,10 +8,12 @@
 class Tpm2Test(OERuntimeTestCase):
     @classmethod
     def setUpClass(cls):
+        cls.tc.target.run('swtpm_ioctl -s --tcp :2322')
         cls.tc.target.run('mkdir /tmp/myvtpm2')
 
     @classmethod
     def tearDownClass(cls):
+        cls.tc.target.run('swtpm_ioctl -s --tcp :2322')
         cls.tc.target.run('rm -fr /tmp/myvtpm2')
 
     def check_endlines(self, results,  expected_endlines): 
diff --git a/meta-security/recipes-core/images/security-build-image.bb b/meta-security/recipes-core/images/security-build-image.bb
index a8757f9..411cd20 100644
--- a/meta-security/recipes-core/images/security-build-image.bb
+++ b/meta-security/recipes-core/images/security-build-image.bb
@@ -3,6 +3,7 @@
 IMAGE_FEATURES += "ssh-server-openssh"
 
 IMAGE_INSTALL = "\
+    ${@bb.utils.contains("DISTRO_FEATURES", "lkrg", "lkrg-module", "",d)} \
     packagegroup-base \
     packagegroup-core-boot \
     packagegroup-core-security \
diff --git a/meta-security/recipes-core/images/security-test-image.bb b/meta-security/recipes-core/images/security-test-image.bb
index 54d8978..81f69dd 100644
--- a/meta-security/recipes-core/images/security-test-image.bb
+++ b/meta-security/recipes-core/images/security-test-image.bb
@@ -4,7 +4,16 @@
 
 IMAGE_FEATURES += "ssh-server-openssh"
 
-TEST_SUITES = "ssh ping ptest apparmor clamav samhain sssd tripwire checksec smack suricata"
+IMAGE_INSTALL:append = "\
+    ${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack-test", "",d)} \
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "tpm-layer", "packagegroup-security-tpm","", d)} \
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "tpm-layer", "packagegroup-security-tpm2","", d)} \
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "parsec-layer", "packagegroup-security-parsec","", d)} \
+    ${@bb.utils.contains("BBFILE_COLLECTIONS", "integrity", "packagegroup-ima-evm-utils","", d)} \
+"
+
+TEST_SUITES = "ssh ping apparmor clamav samhain sssd checksec smack suricata aide firejail"
+TEST_SUITES:append = " parsec tpm2 swtpm ima"
 
 INSTALL_CLAMAV_CVD = "1"
 
diff --git a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
index f381d91..05951da 100644
--- a/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
+++ b/meta-security/recipes-core/packagegroup/packagegroup-core-security.bb
@@ -35,11 +35,14 @@
     pinentry \
     softhsm \
     sshguard \
+    firejail \
     ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 ", "", " libseccomp",d)} \
-    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sssd google-authenticator-libpam", "",d)} \
+    ${@bb.utils.contains("DISTRO_FEATURES", "pam", "google-authenticator-libpam", "",d)} \
     ${@bb.utils.contains("DISTRO_FEATURES", "pax", "pax-utils packctl", "",d)} \
     "
 
+RDEPENDS:packagegroup-security-utils:remove:mipsarch = "firejail"
+
 SUMMARY:packagegroup-security-scanners = "Security scanners"
 RDEPENDS:packagegroup-security-scanners = "\
     ${@bb.utils.contains_any("TUNE_FEATURES", "riscv32 riscv64", "", " arpwatch",d)} \
diff --git a/meta-security/recipes-ids/aide/aide/aide.conf b/meta-security/recipes-ids/aide/aide/aide.conf
index 2c99e07..c4b917e 100644
--- a/meta-security/recipes-ids/aide/aide/aide.conf
+++ b/meta-security/recipes-ids/aide/aide/aide.conf
@@ -51,7 +51,7 @@
 #crc32:  crc32 checksum (MHASH only)
 #whirlpool:     whirlpool checksum (MHASH only)
 
-FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
+FIPSR = p+u+g+s+acl+xattrs+sha256
 
 #R:             p+i+n+u+g+s+m+c+acl+selinux+xattrs+md5
 #L:             p+i+n+u+g+acl+selinux+xattrs
@@ -70,10 +70,10 @@
 NORMAL = FIPSR+sha512
 
 # For directories, don't bother doing hashes
-DIR = p+i+n+u+g+acl+selinux+xattrs
+DIR = p+u+g+acl+xattrs
 
 # Access control only
-PERMS = p+i+u+g+acl+selinux
+PERMS = p+u+g+acl
 
 # Logfile are special, in that they often change
 LOG = >
@@ -83,12 +83,9 @@
 
 # Some files get updated automatically, so the inode/ctime/mtime change
 # but we want to know when the data inside them changes
-DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256
+DATAONLY =  p+u+g+s+acl+xattrs+sha256
 
 # Next decide what directories/files you want in the database.
 
 # Check only permissions, inode, user and group for /etc, but
 # cover some important files closely.
-/bin NORMAL
-/sbin NORMAL
-/lib NORMAL
diff --git a/meta-security/recipes-ids/aide/aide_0.17.4.bb b/meta-security/recipes-ids/aide/aide_0.17.4.bb
index 6bc2bfe..7ce0729 100644
--- a/meta-security/recipes-ids/aide/aide_0.17.4.bb
+++ b/meta-security/recipes-ids/aide/aide_0.17.4.bb
@@ -10,9 +10,9 @@
 
 SRC_URI[sha256sum] = "c81505246f3ffc2e76036d43a77212ae82895b5881d9b9e25c1361b1a9b7a846"
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig aide-base
 
-PACKAGECONFIG ??=" mhash zlib e2fsattrs \
+PACKAGECONFIG ??=" mhash zlib e2fsattrs posix capabilities curl \
                  ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit', '', d)} \
                  ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'xattr', '', d)} \
                  "
@@ -24,11 +24,34 @@
 PACKAGECONFIG[gcrypt] = "--with-gcrypt, --without-gcrypt, libgcrypt, libgcrypt"
 PACKAGECONFIG[mhash] = "--with-mhash, --without-mhash, libmhash, libmhash"
 PACKAGECONFIG[e2fsattrs] = "--with-e2fsattrs, --without-e2fsattrs, e2fsprogs, e2fsprogs"
+PACKAGECONFIG[capabilities] = "--with-capabilities, --without-capabilities, libcap, libcap"
+PACKAGECONFIG[posix] = "--with-posix-acl, --without-posix-acl, acl, acl"
+
+
+do_install[nostamp] = "1"
 
 do_install:append () {
     install -d ${D}${libdir}/${PN}/logs   
     install -d ${D}${sysconfdir}   
     install ${WORKDIR}/aide.conf ${D}${sysconfdir}/
+
+    for dir in ${AIDE_INCLUDE_DIRS}; do
+        echo "${dir} NORMAL" >> ${D}${sysconfdir}/aide.conf
+    done
+    for dir in ${AIDE_SKIP_DIRS}; do
+        echo "!${dir}" >> ${D}${sysconfdir}/aide.conf
+    done
+}
+
+do_install:class-native () {
+    install -d ${STAGING_AIDE_DIR}/bin
+    install -d ${STAGING_AIDE_DIR}/lib/logs
+
+    install ${B}/aide ${STAGING_AIDE_DIR}/bin
+    install ${WORKDIR}/aide.conf ${STAGING_AIDE_DIR}/
+
+    sed -i -s "s:\@\@define DBDIR.*:\@\@define DBDIR ${STAGING_AIDE_DIR}/lib:" ${STAGING_AIDE_DIR}/aide.conf
+    sed -i -e "s:\@\@define LOGDIR.*:\@\@define LOGDIR ${STAGING_AIDE_DIR}/lib/logs:" ${STAGING_AIDE_DIR}/aide.conf
 }
 
 CONF_FILE = "${sysconfdir}/aide.conf"
@@ -36,6 +59,14 @@
 FILES:${PN} += "${libdir}/${PN} ${sysconfdir}/aide.conf"
 
 pkg_postinst_ontarget:${PN} () {
-    /usr/bin/aide -i
+    if [ ${AIDE_SCAN_POSTINIT} ]; then
+        ${bindir}/aide -i
+    fi
+    if [ ${AIDE_RESCAN_POSTINIT}  && -e ${libdir}/aide/aide.db.gz ]; then
+        ${bindir}/aide -C
+    fi
 }
-RDPENDS_${PN} = "bison, libpcre"
+
+RDEPENDS:${PN} = "bison libpcre"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/recipes-kernel/lkrg/files/makefile_cleanup.patch b/meta-security/recipes-kernel/lkrg/files/makefile_cleanup.patch
index 799b1a6..f29afbe 100644
--- a/meta-security/recipes-kernel/lkrg/files/makefile_cleanup.patch
+++ b/meta-security/recipes-kernel/lkrg/files/makefile_cleanup.patch
@@ -1,73 +1,53 @@
-Upstream-Status: Pending
-
-This needs more work. Its my starting point.
-
+Upstream-Status: Inappropriate [embedded specific]
+  
 Signed-off-by: Armin Kuster <akuster808@gmail.com>
 
+
 Index: git/Makefile
 ===================================================================
 --- git.orig/Makefile
 +++ git/Makefile
-@@ -4,28 +4,10 @@
- # Author:
- #  - Adam 'pi3' Zabrocki (http://pi3.com.pl)
- ##
--
--P_OUTPUT = output
+@@ -7,15 +7,8 @@
+ 
+ P_OUTPUT = output
  P_PWD ?= $(shell pwd)
 -P_KVER ?= $(shell uname -r)
--P_BOOTUP_SCRIPT ?= scripts/bootup/lkrg-bootup.sh
--TARGET := p_lkrg
+ P_BOOTUP_SCRIPT ?= scripts/bootup/lkrg-bootup.sh
+ TARGET := p_lkrg
 -ifneq ($(KERNELRELEASE),)
 -    KERNEL := /lib/modules/$(KERNELRELEASE)/build
 -else
 -    ## KERNELRELEASE not set.
 -    KERNEL := /lib/modules/$(P_KVER)/build
 -endif
--
--#
--# Uncomment for debug compilation
--#
--# ccflags-m := -ggdb -DP_LKRG_DEBUG_BUILD -finstrument-functions
--# ccflags-y := ${ccflags-m}
--# p_lkrg-objs += src/modules/print_log/p_lkrg_debug_log.o
  
--obj-m += $(TARGET).o
--$(TARGET)-objs += src/modules/ksyms/p_resolve_ksym.o \
-+obj-m := p_lkrg.o
-+p_lkrg-y := src/modules/ksyms/p_resolve_ksym.o \
-                   src/modules/hashing/p_lkrg_fast_hash.o \
-                   src/modules/comm_channel/p_comm_channel.o \
-                   src/modules/integrity_timer/p_integrity_timer.o \
-@@ -92,23 +74,14 @@ $(TARGET)-objs += src/modules/ksyms/p_re
+ #
+ # Use DEBUG=on for debug build.
+@@ -94,14 +87,13 @@ $(TARGET)-objs += src/modules/ksyms/p_re
                    src/p_lkrg_main.o
  
  
 -all:
 -#	$(MAKE) -C $(KERNEL) M=$(P_PWD) modules CONFIG_DEBUG_SECTION_MISMATCH=y
 -	$(MAKE) -C $(KERNEL) M=$(P_PWD) modules
--	mkdir -p $(P_OUTPUT)
--	cp $(P_PWD)/$(TARGET).ko $(P_OUTPUT)
--
--install:
--	$(MAKE) -C $(KERNEL) M=$(P_PWD) modules_install
--	depmod -a
--	$(P_PWD)/$(P_BOOTUP_SCRIPT) install
- 
--uninstall:
--	$(P_PWD)/$(P_BOOTUP_SCRIPT) uninstall
 +modules:
 +	$(MAKE) -C $(KERNEL_SRC) M=$(P_PWD) modules
-+
-+modules_install:
+ 	mkdir -p $(P_OUTPUT)
+ 	cp $(P_PWD)/$(TARGET).ko $(P_OUTPUT)
+ 
+-install:
+-	$(MAKE) -C $(KERNEL) M=$(P_PWD) modules_install
++moduled_install:
 +	$(MAKE) -C $(KERNEL_SRC) M=$(P_PWD) modules_install
+ 	depmod -a
+ 	$(P_PWD)/$(P_BOOTUP_SCRIPT) install
+ 
+@@ -109,7 +101,7 @@ uninstall:
+ 	$(P_PWD)/$(P_BOOTUP_SCRIPT) uninstall
  
  clean:
 -	$(MAKE) -C $(KERNEL) M=$(P_PWD) clean
--	$(RM) Module.markers modules.order
--	$(RM) $(P_PWD)/src/modules/kmod/client/kmod/Module.markers
--	$(RM) $(P_PWD)/src/modules/kmod/client/kmod/modules.order
--	$(RM) -rf $(P_OUTPUT)
-+	rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
-+	rm -f Module.markers Module.symvers modules.order
-+	rm -rf .tmp_versions Modules.symvers
++	$(MAKE) -C $(KERNEL_SRC) M=$(P_PWD) clean
+ 	$(RM) Module.markers modules.order
+ 	$(RM) $(P_PWD)/src/modules/kmod/client/kmod/Module.markers
+ 	$(RM) $(P_PWD)/src/modules/kmod/client/kmod/modules.order
diff --git a/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.2.bb b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.3.bb
similarity index 90%
rename from meta-security/recipes-kernel/lkrg/lkrg-module_0.9.2.bb
rename to meta-security/recipes-kernel/lkrg/lkrg-module_0.9.3.bb
index 85f7d44..2553974 100644
--- a/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.2.bb
+++ b/meta-security/recipes-kernel/lkrg/lkrg-module_0.9.3.bb
@@ -9,10 +9,11 @@
 
 DEPENDS = "virtual/kernel elfutils"
 
-SRCREV = "43db5f19fca259feb1962f6db33382348cbc8320"
-
 SRC_URI = "git://github.com/lkrg-org/lkrg.git;protocol=https;branch=main \
-           file://makefile_cleanup.patch "
+           file://makefile_cleanup.patch \
+"
+
+SRCREV = "c578e9f786299b67ffd62057b4534b0bf4fb7ece"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-security/recipes-mac/AppArmor/apparmor_3.0.4.bb b/meta-security/recipes-mac/AppArmor/apparmor_3.0.4.bb
index 046a3a0..896abfe 100644
--- a/meta-security/recipes-mac/AppArmor/apparmor_3.0.4.bb
+++ b/meta-security/recipes-mac/AppArmor/apparmor_3.0.4.bb
@@ -101,6 +101,8 @@
     if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
         oe_runmake -C ${B}/parser DESTDIR="${D}" install-systemd
     fi
+    chown root:root -R ${D}/${sysconfdir}/apparmor.d
+    chown root:root -R ${D}/${datadir}/apparmor
 }
 
 #Building ptest on arm fails.
diff --git a/meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.4.bb b/meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.9.bb
similarity index 87%
rename from meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.4.bb
rename to meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.9.bb
index 8d148bb..ff800ce 100644
--- a/meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.4.bb
+++ b/meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.9.bb
@@ -7,11 +7,10 @@
 
 DEPENDS = "ncurses"
 
-DS = "20150505"
+DS = "20210910"
 SRC_URI = "http://osdn.dl.sourceforge.jp/tomoyo/49693/${BPN}-${PV}-${DS}.tar.gz"
 
-SRC_URI[md5sum] = "eeee8eb96a7680bfa9c8f6de55502c44"
-SRC_URI[sha256sum] = "c358b80a2ea77a9dda79dc2a056dae3acaf3a72fcb8481cfb1cd1f16746324b4"
+SRC_URI[sha256sum] = "7900126cf2dd8706c42c2c1ef7a37fd8b50f1505abd7d9c3d653dc390fb4d620"
 
 S = "${WORKDIR}/${BPN}"
 
diff --git a/meta-security/recipes-mac/smack/smack-test/notroot.py b/meta-security/recipes-mac/smack/smack-test/notroot.py
index f0eb0b5..89f83f4 100644
--- a/meta-security/recipes-mac/smack/smack-test/notroot.py
+++ b/meta-security/recipes-mac/smack/smack-test/notroot.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 #
 # Script used for running executables with custom labels, as well as custom uid/gid
 # Process label is changed by writing to /proc/self/attr/curent
@@ -9,8 +9,8 @@
 # """By  default,  each  user  in Debian GNU/Linux is given a corresponding group 
 # with the same name. """
 #
-# Usage: root@desk:~# python notroot.py <uid> <label> <full_path_to_executable> [arguments ..]
-# eg: python notroot.py 1000 User::Label /bin/ping -c 3 192.168.1.1
+# Usage: root@desk:~# python3 notroot.py <uid> <label> <full_path_to_executable> [arguments ..]
+# eg: python3 notroot.py 1000 User::Label /bin/ping -c 3 192.168.1.1
 #
 # Author: Alexandru Cornea <alexandru.cornea@intel.com>
 import os
@@ -28,6 +28,6 @@
 	os.setuid(uid)	
 	os.execv(path,sys.argv)
 
-except Exception,e:
-	print e.message
-	sys.exit(1)
+except Exception as e:
+	print(e.strerror)
+	sys.exit(-1)
diff --git a/meta-security/recipes-mac/smack/smack-test/smack_test_file_access.sh b/meta-security/recipes-mac/smack/smack-test/smack_test_file_access.sh
index 5a0ce84..598f1df 100644
--- a/meta-security/recipes-mac/smack/smack-test/smack_test_file_access.sh
+++ b/meta-security/recipes-mac/smack/smack-test/smack_test_file_access.sh
@@ -8,7 +8,7 @@
 ECHO=`which echo`
 uid=1000
 initial_label=`cat /proc/self/attr/current`
-python $TMP/notroot.py $uid "TheOther" $ECHO 'TEST' > $test_file
+python3 $TMP/notroot.py $uid "TheOther" $ECHO 'TEST' > $test_file
 chsmack -a "TheOther" $test_file
 
 #        12345678901234567890123456789012345678901234567890123456
@@ -17,7 +17,7 @@
 
 # Remove pre-existent rules for "TheOne TheOther <access>"
 echo -n "$delrule" > $SMACK_PATH/load
-python $TMP/notroot.py $uid "TheOne" $CAT $test_file 2>&1 1>/dev/null | grep -q "Permission denied" || RC=$?
+python3 $TMP/notroot.py $uid "TheOne" $CAT $test_file 2>&1 1>/dev/null | grep -q "Permission denied" || RC=$?
 if [ $RC -ne 0 ]; then
 	echo "Process with different label than the test file and no read access on it can read it"
 	exit $RC
@@ -25,7 +25,7 @@
 
 # adding read access
 echo -n "$rule_ro" > $SMACK_PATH/load
-python $TMP/notroot.py $uid "TheOne" $CAT $test_file | grep -q "TEST" || RC=$?
+python3 $TMP/notroot.py $uid "TheOne" $CAT $test_file | grep -q "TEST" || RC=$?
 if [ $RC -ne 0 ]; then
 	echo "Process with different label than the test file but with read access on it cannot read it"
 	exit $RC
@@ -36,7 +36,7 @@
 # changing label of test file to *
 # according to SMACK documentation, read access on a * object is always permitted
 chsmack -a '*' $test_file
-python $TMP/notroot.py $uid "TheOne" $CAT $test_file | grep -q "TEST" || RC=$?
+python3 $TMP/notroot.py $uid "TheOne" $CAT $test_file | grep -q "TEST" || RC=$?
 if [ $RC -ne 0 ]; then
 	echo  "Process cannot read file with * label"
 	exit $RC
@@ -45,7 +45,7 @@
 # changing subject label to *
 # according to SMACK documentation, every access requested by a star labeled subject is rejected
 TOUCH=`which touch`
-python $TMP/notroot.py $uid '*' $TOUCH $TMP/test_file_2
+python3 $TMP/notroot.py $uid '*' $TOUCH $TMP/test_file_2
 ls -la $TMP/test_file_2 2>&1 | grep -q 'No such file or directory' || RC=$?
 if [ $RC -ne 0 ];then
 	echo "Process with label '*' should not have any access"
diff --git a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
index 3bcb5eb..18e8329 100644
--- a/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
+++ b/meta-security/recipes-scanners/clamav/clamav_0.104.0.bb
@@ -56,7 +56,7 @@
 
 do_install:append () {
     install -d ${D}/${sysconfdir}
-    install -d -o ${CLAMAV_UID} -g ${CLAMAV_GID} ${D}/${localstatedir}/lib/clamav
+    install -d -o ${PN} -g ${CLAMAV_GID} ${D}/${localstatedir}/lib/clamav
     install -d ${D}${sysconfdir}/clamav ${D}${sysconfdir}/default/volatiles
 
     install -m 644 ${WORKDIR}/clamd.conf ${D}/${prefix}/${sysconfdir}
diff --git a/meta-security/recipes-security/Firejail/firejail/exclude_seccomp_util_compiles.patch b/meta-security/recipes-security/Firejail/firejail/exclude_seccomp_util_compiles.patch
new file mode 100644
index 0000000..a32720a
--- /dev/null
+++ b/meta-security/recipes-security/Firejail/firejail/exclude_seccomp_util_compiles.patch
@@ -0,0 +1,45 @@
+Exclude all the seccomp files to run during build.
+
+Upstream-Status: Inappropriate [embedded specific]
+There are some files that need to run to generate the appropriate files
+we are currently doing this on the target. 
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: git/Makefile.in
+===================================================================
+--- git.orig/Makefile.in
++++ git/Makefile.in
+@@ -34,7 +34,6 @@ MYDIRS = src/lib $(MAN_SRC) $(COMPLETION
+ MYLIBS = src/libpostexecseccomp/libpostexecseccomp.so src/libtrace/libtrace.so src/libtracelog/libtracelog.so
+ COMPLETIONS = src/zsh_completion/_firejail src/bash_completion/firejail.bash_completion
+ MANPAGES = firejail.1 firemon.1 firecfg.1 firejail-profile.5 firejail-login.5 firejail-users.5 jailcheck.1
+-SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32
+ ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS)
+ 
+ .PHONY: all_items $(ALL_ITEMS)
+@@ -52,7 +51,7 @@ $(MANPAGES): src/man
+ 
+ man: $(MANPAGES)
+ 
+-filters: $(SECCOMP_FILTERS) $(SBOX_APPS_NON_DUMPABLE)
++filters: $(SBOX_APPS_NON_DUMPABLE)
+ seccomp: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize
+ 	src/fseccomp/fseccomp default seccomp
+ 	src/fsec-optimize/fsec-optimize seccomp
+@@ -81,7 +80,6 @@ clean:
+ 	done
+ 	$(MAKE) -C test clean
+ 	rm -f $(MANPAGES) $(MANPAGES:%=%.gz) firejail*.rpm
+-	rm -f $(SECCOMP_FILTERS)
+ 	rm -f test/utils/index.html*
+ 	rm -f test/utils/wget-log
+ 	rm -f test/utils/firejail-test-file*
+@@ -119,7 +117,7 @@ endif
+ 	# libraries and plugins
+ 	install -m 0755 -d $(DESTDIR)$(libdir)/firejail
+ 	install -m 0755 -t $(DESTDIR)$(libdir)/firejail src/firecfg/firejail-welcome.sh
+-	install -m 0644 -t $(DESTDIR)$(libdir)/firejail $(MYLIBS) $(SECCOMP_FILTERS)
++	install -m 0644 -t $(DESTDIR)$(libdir)/firejail $(MYLIBS) 
+ 	install -m 0755 -t $(DESTDIR)$(libdir)/firejail $(SBOX_APPS)
+ 	install -m 0755 -t $(DESTDIR)$(libdir)/firejail src/profstats/profstats
+ 	# plugins w/o read permission (non-dumpable)
diff --git a/meta-security/recipes-security/Firejail/firejail_0.9.70.bb b/meta-security/recipes-security/Firejail/firejail_0.9.70.bb
new file mode 100644
index 0000000..35f7b07
--- /dev/null
+++ b/meta-security/recipes-security/Firejail/firejail_0.9.70.bb
@@ -0,0 +1,63 @@
+#
+# Copyright 2022 Armin Kuster <akuster808@gmail.com>
+#
+SUMMARY = "Linux namespaces and seccomp-bpf sandbox"
+DESCRIPTION = "Firejail is a SUID sandbox program that reduces the risk of security breaches \
+by restricting the running environment of untrusted applications using Linux namespaces, \
+seccomp-bpf and Linux capabilities."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LICENSE = "GPL-2.0-only"
+
+SRCREV = "b4b08d21cd95725c9d55dfdb6987fcc6d7893247"
+SRC_URI = "git://github.com/netblue30/firejail.git;protocol=https;branch=master \
+           file://exclude_seccomp_util_compiles.patch \
+           "
+
+DEPENDS = "libseccomp"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig bash-completion features_check
+
+REQUIRED_DISTRO_FEATURES = "seccomp"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', 'apparmor', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+
+PACKAGECONFIG[apparmor] = "--enable-apparmor, --disable-apparmor, apparmor, apparmor"
+PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux"
+PACKAGECONFIG[x11] = " --enable-x11, --disable-x11, "
+PACKAGECONFIG[dbusproxy] = ", --disable-dbusproxy, "
+PACKAGECONFIG[notmpfs] = ", --disable-usertmpfs  ,"
+PACKAGECONFIG[nofiretunnel] = ", --disable-firetunnel , "
+PACKAGECONFIG[noprivatehome] = ", --disable-private-home, "
+PACKAGECONFIG[nochroot] = ", --disable-chroot, "
+PACKAGECONFIG[nonetwork] = ", --disable-network, "
+PACKAGECONFIG[nouserns] = ", --disable-userns, "
+PACKAGECONFIG[nofiletransfer] = ", --disable-file-transfer, "
+PACKAGECONFIG[nosuid] = ", --disable-suid, "
+
+EXTRA_OECONF = "--disable-man --enable-busybox-workaround"
+
+PACKAGES:append = " ${PN}-vim ${PN}-zsh"
+
+FILES:${PN}-vim = "${datadir}/vim/"
+FILES:${PN}-zsh = "${datadir}/zsh/"
+
+pkg_postinst_ontarget:${PN} () {
+    ${libdir}/${BPN}/fseccomp default ${libdir}/${BPN}/seccomp
+    ${libdir}/${BPN}/fsec-optimize ${libdir}/${BPN}/seccomp
+    ${libdir}/${BPN}/fseccomp default ${libdir}/${BPN}/seccomp.debug allow-debuggers
+    ${libdir}/${BPN}/fsec-optimize ${libdir}/${BPN}/seccomp.debug
+    ${libdir}/${BPN}/fseccomp secondary 32 ${libdir}/${BPN}/seccomp.32
+    ${libdir}/${BPN}/fsec-optimize ${libdir}/${BPN}/seccomp.32
+    ${libdir}/${BPN}/fseccomp secondary block ${libdir}/${BPN}/seccomp.block_secondary
+    ${libdir}/${BPN}/fseccomp memory-deny-write-execute ${libdir}/${BPN}/seccomp.mdwx
+}
+
+COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*"
+
+RDEPENDS:${PN} = "bash"
diff --git a/meta-security/recipes-security/chipsec/chipsec_git.bb b/meta-security/recipes-security/chipsec/chipsec_1.8.5.bb
similarity index 71%
rename from meta-security/recipes-security/chipsec/chipsec_git.bb
rename to meta-security/recipes-security/chipsec/chipsec_1.8.5.bb
index d6c3ff2..48dfe45 100644
--- a/meta-security/recipes-security/chipsec/chipsec_git.bb
+++ b/meta-security/recipes-security/chipsec/chipsec_1.8.5.bb
@@ -7,21 +7,17 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bc2d1f9b427be5fb63f6af9da56f7c5d"
 
-SRC_URI = "git://github.com/chipsec/chipsec.git;branch=master;protocol=https \
-          "
+DEPENDS = "virtual/kernel nasm-native"
 
-SRCREV = "b2a61684826dc8b9f622a844a40efea579cd7e7d"
-
-COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+SRC_URI = "git://github.com/chipsec/chipsec.git;branch=main;protocol=https"
+SRCREV = "07a532aac9f6c3d94b8895cf89336b6a2e60c0d9"
 
 S = "${WORKDIR}/git"
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}' CFLAGS='${CFLAGS}'"
-
-DEPENDS = "virtual/kernel nasm-native python3-setuptools-native"
-RDEPENDS:${PN} += "python3 python3-modules"
 
 inherit module setuptools3
 
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}' CFLAGS='${CFLAGS}'"
+
 do_compile:append() {
 	cd ${S}/drivers/linux
 	oe_runmake  KSRC=${STAGING_KERNEL_BUILDDIR}
@@ -31,5 +27,8 @@
 	install -m 0644 ${S}/drivers/linux/chipsec.ko ${D}${PYTHON_SITEPACKAGES_DIR}/chipsec/helper/linux
 }
 
-FILES:${PN} += "${exec_prefix} \
-"
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+
+FILES:${PN} += "${exec_prefix}"
+
+RDEPENDS:${PN} = "python3 python3-modules"
diff --git a/meta-security/recipes-security/libmhash/libmhash_0.9.9.9.bb b/meta-security/recipes-security/libmhash/libmhash_0.9.9.9.bb
index 35c5ff8..4d1f584 100644
--- a/meta-security/recipes-security/libmhash/libmhash_0.9.9.9.bb
+++ b/meta-security/recipes-security/libmhash/libmhash_0.9.9.9.bb
@@ -35,3 +35,5 @@
 do_install_ptest() {
     install -m 0755 ${S}/demo/mhash ${D}${PTEST_PATH}
 }
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/recipes-security/sssd/files/CVE-2021-3621.patch b/meta-security/recipes-security/sssd/files/CVE-2021-3621.patch
deleted file mode 100644
index 7a59df9..0000000
--- a/meta-security/recipes-security/sssd/files/CVE-2021-3621.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-Backport patch to fix CVE-2021-3621.
-
-Upstream-Status: Backport [https://github.com/SSSD/sssd/commit/7ab83f9]
-CVE: CVE-2021-3621
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 7ab83f97e1cbefb78ece17232185bdd2985f0bbe Mon Sep 17 00:00:00 2001
-From: Alexey Tikhonov <atikhono@redhat.com>
-Date: Fri, 18 Jun 2021 13:17:19 +0200
-Subject: [PATCH] TOOLS: replace system() with execvp() to avoid execution of
- user supplied command
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-:relnote: A flaw was found in SSSD, where the sssctl command was
-vulnerable to shell command injection via the logs-fetch and
-cache-expire subcommands. This flaw allows an attacker to trick
-the root user into running a specially crafted sssctl command,
-such as via sudo, to gain root access. The highest threat from this
-vulnerability is to confidentiality, integrity, as well as system
-availability.
-This patch fixes a flaw by replacing system() with execvp().
-
-:fixes: CVE-2021-3621
-
-Reviewed-by: Pavel Březina <pbrezina@redhat.com>
----
- src/tools/sssctl/sssctl.c      | 39 ++++++++++++++++-------
- src/tools/sssctl/sssctl.h      |  2 +-
- src/tools/sssctl/sssctl_data.c | 57 +++++++++++-----------------------
- src/tools/sssctl/sssctl_logs.c | 32 +++++++++++++++----
- 4 files changed, 73 insertions(+), 57 deletions(-)
-
-diff --git a/src/tools/sssctl/sssctl.c b/src/tools/sssctl/sssctl.c
-index 2997dbf968..8adaf30910 100644
---- a/src/tools/sssctl/sssctl.c
-+++ b/src/tools/sssctl/sssctl.c
-@@ -97,22 +97,36 @@ sssctl_prompt(const char *message,
-     return SSSCTL_PROMPT_ERROR;
- }
- 
--errno_t sssctl_run_command(const char *command)
-+errno_t sssctl_run_command(const char *const argv[])
- {
-     int ret;
-+    int wstatus;
- 
--    DEBUG(SSSDBG_TRACE_FUNC, "Running %s\n", command);
-+    DEBUG(SSSDBG_TRACE_FUNC, "Running '%s'\n", argv[0]);
- 
--    ret = system(command);
-+    ret = fork();
-     if (ret == -1) {
--        DEBUG(SSSDBG_CRIT_FAILURE, "Unable to execute %s\n", command);
-         ERROR("Error while executing external command\n");
-         return EFAULT;
--    } else if (WEXITSTATUS(ret) != 0) {
--        DEBUG(SSSDBG_CRIT_FAILURE, "Command %s failed with [%d]\n",
--              command, WEXITSTATUS(ret));
-+    }
-+
-+    if (ret == 0) {
-+        /* cast is safe - see
-+        https://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html
-+        "The statement about argv[] and envp[] being constants ... "
-+        */
-+        execvp(argv[0], discard_const_p(char * const, argv));
-         ERROR("Error while executing external command\n");
--        return EIO;
-+        _exit(1);
-+    } else {
-+        if (waitpid(ret, &wstatus, 0) == -1) {
-+            ERROR("Error while executing external command '%s'\n", argv[0]);
-+            return EFAULT;
-+        } else if (WEXITSTATUS(wstatus) != 0) {
-+            ERROR("Command '%s' failed with [%d]\n",
-+                  argv[0], WEXITSTATUS(wstatus));
-+            return EIO;
-+        }
-     }
- 
-     return EOK;
-@@ -132,11 +146,14 @@ static errno_t sssctl_manage_service(enum sssctl_svc_action action)
- #elif defined(HAVE_SERVICE)
-     switch (action) {
-     case SSSCTL_SVC_START:
--        return sssctl_run_command(SERVICE_PATH" sssd start");
-+        return sssctl_run_command(
-+                      (const char *[]){SERVICE_PATH, "sssd", "start", NULL});
-     case SSSCTL_SVC_STOP:
--        return sssctl_run_command(SERVICE_PATH" sssd stop");
-+        return sssctl_run_command(
-+                      (const char *[]){SERVICE_PATH, "sssd", "stop", NULL});
-     case SSSCTL_SVC_RESTART:
--        return sssctl_run_command(SERVICE_PATH" sssd restart");
-+        return sssctl_run_command(
-+                      (const char *[]){SERVICE_PATH, "sssd", "restart", NULL});
-     }
- #endif
- 
-diff --git a/src/tools/sssctl/sssctl.h b/src/tools/sssctl/sssctl.h
-index 0115b2457c..599ef65196 100644
---- a/src/tools/sssctl/sssctl.h
-+++ b/src/tools/sssctl/sssctl.h
-@@ -47,7 +47,7 @@ enum sssctl_prompt_result
- sssctl_prompt(const char *message,
-               enum sssctl_prompt_result defval);
- 
--errno_t sssctl_run_command(const char *command);
-+errno_t sssctl_run_command(const char *const argv[]); /* argv[0] - command */
- bool sssctl_start_sssd(bool force);
- bool sssctl_stop_sssd(bool force);
- bool sssctl_restart_sssd(bool force);
-diff --git a/src/tools/sssctl/sssctl_data.c b/src/tools/sssctl/sssctl_data.c
-index 8d79b977fd..bf22913416 100644
---- a/src/tools/sssctl/sssctl_data.c
-+++ b/src/tools/sssctl/sssctl_data.c
-@@ -105,15 +105,15 @@ static errno_t sssctl_backup(bool force)
-         }
-     }
- 
--    ret = sssctl_run_command("sss_override user-export "
--                             SSS_BACKUP_USER_OVERRIDES);
-+    ret = sssctl_run_command((const char *[]){"sss_override", "user-export",
-+                                              SSS_BACKUP_USER_OVERRIDES, NULL});
-     if (ret != EOK) {
-         ERROR("Unable to export user overrides\n");
-         return ret;
-     }
- 
--    ret = sssctl_run_command("sss_override group-export "
--                             SSS_BACKUP_GROUP_OVERRIDES);
-+    ret = sssctl_run_command((const char *[]){"sss_override", "group-export",
-+                                              SSS_BACKUP_GROUP_OVERRIDES, NULL});
-     if (ret != EOK) {
-         ERROR("Unable to export group overrides\n");
-         return ret;
-@@ -158,8 +158,8 @@ static errno_t sssctl_restore(bool force_start, bool force_restart)
-     }
- 
-     if (sssctl_backup_file_exists(SSS_BACKUP_USER_OVERRIDES)) {
--        ret = sssctl_run_command("sss_override user-import "
--                                 SSS_BACKUP_USER_OVERRIDES);
-+        ret = sssctl_run_command((const char *[]){"sss_override", "user-import",
-+                                                  SSS_BACKUP_USER_OVERRIDES, NULL});
-         if (ret != EOK) {
-             ERROR("Unable to import user overrides\n");
-             return ret;
-@@ -167,8 +167,8 @@ static errno_t sssctl_restore(bool force_start, bool force_restart)
-     }
- 
-     if (sssctl_backup_file_exists(SSS_BACKUP_USER_OVERRIDES)) {
--        ret = sssctl_run_command("sss_override group-import "
--                                 SSS_BACKUP_GROUP_OVERRIDES);
-+        ret = sssctl_run_command((const char *[]){"sss_override", "group-import",
-+                                                  SSS_BACKUP_GROUP_OVERRIDES, NULL});
-         if (ret != EOK) {
-             ERROR("Unable to import group overrides\n");
-             return ret;
-@@ -296,40 +296,19 @@ errno_t sssctl_cache_expire(struct sss_cmdline *cmdline,
-                             void *pvt)
- {
-     errno_t ret;
--    char *cmd_args = NULL;
--    const char *cachecmd = SSS_CACHE;
--    char *cmd = NULL;
--    int i;
--
--    if (cmdline->argc == 0) {
--        ret = sssctl_run_command(cachecmd);
--        goto done;
--    }
- 
--    cmd_args = talloc_strdup(tool_ctx, "");
--    if (cmd_args == NULL) {
--        ret = ENOMEM;
--        goto done;
-+    const char **args = talloc_array_size(tool_ctx,
-+                                          sizeof(char *),
-+                                          cmdline->argc + 2);
-+    if (!args) {
-+        return ENOMEM;
-     }
-+    memcpy(&args[1], cmdline->argv, sizeof(char *) * cmdline->argc);
-+    args[0] = SSS_CACHE;
-+    args[cmdline->argc + 1] = NULL;
- 
--    for (i = 0; i < cmdline->argc; i++) {
--        cmd_args = talloc_strdup_append(cmd_args, cmdline->argv[i]);
--        if (i != cmdline->argc - 1) {
--            cmd_args = talloc_strdup_append(cmd_args, " ");
--        }
--    }
--
--    cmd = talloc_asprintf(tool_ctx, "%s %s", cachecmd, cmd_args);
--    if (cmd == NULL) {
--        ret = ENOMEM;
--        goto done;
--    }
--
--    ret = sssctl_run_command(cmd);
--
--done:
--    talloc_free(cmd_args);
--    talloc_free(cmd);
-+    ret = sssctl_run_command(args);
- 
-+    talloc_free(args);
-     return ret;
- }
-diff --git a/src/tools/sssctl/sssctl_logs.c b/src/tools/sssctl/sssctl_logs.c
-index 9ff2be05b6..ebb2c4571c 100644
---- a/src/tools/sssctl/sssctl_logs.c
-+++ b/src/tools/sssctl/sssctl_logs.c
-@@ -31,6 +31,7 @@
- #include <ldb.h>
- #include <popt.h>
- #include <stdio.h>
-+#include <glob.h>
- 
- #include "util/util.h"
- #include "tools/common/sss_process.h"
-@@ -230,6 +231,7 @@ errno_t sssctl_logs_remove(struct sss_cmdline *cmdline,
- {
-     struct sssctl_logs_opts opts = {0};
-     errno_t ret;
-+    glob_t globbuf;
- 
-     /* Parse command line. */
-     struct poptOption options[] = {
-@@ -253,8 +255,20 @@ errno_t sssctl_logs_remove(struct sss_cmdline *cmdline,
- 
-         sss_signal(SIGHUP);
-     } else {
-+        globbuf.gl_offs = 4;
-+        ret = glob(LOG_PATH"/*.log", GLOB_ERR|GLOB_DOOFFS, NULL, &globbuf);
-+        if (ret != 0) {
-+            DEBUG(SSSDBG_CRIT_FAILURE, "Unable to expand log files list\n");
-+            return ret;
-+        }
-+        globbuf.gl_pathv[0] = discard_const_p(char, "truncate");
-+        globbuf.gl_pathv[1] = discard_const_p(char, "--no-create");
-+        globbuf.gl_pathv[2] = discard_const_p(char, "--size");
-+        globbuf.gl_pathv[3] = discard_const_p(char, "0");
-+
-         PRINT("Truncating log files...\n");
--        ret = sssctl_run_command("truncate --no-create --size 0 " LOG_FILES);
-+        ret = sssctl_run_command((const char * const*)globbuf.gl_pathv);
-+        globfree(&globbuf);
-         if (ret != EOK) {
-             ERROR("Unable to truncate log files\n");
-             return ret;
-@@ -269,8 +283,8 @@ errno_t sssctl_logs_fetch(struct sss_cmdline *cmdline,
-                           void *pvt)
- {
-     const char *file;
--    const char *cmd;
-     errno_t ret;
-+    glob_t globbuf;
- 
-     /* Parse command line. */
-     ret = sss_tool_popt_ex(cmdline, NULL, SSS_TOOL_OPT_OPTIONAL, NULL, NULL,
-@@ -280,13 +294,19 @@ errno_t sssctl_logs_fetch(struct sss_cmdline *cmdline,
-         return ret;
-     }
- 
--    cmd = talloc_asprintf(tool_ctx, "tar -czf %s %s", file, LOG_FILES);
--    if (cmd == NULL) {
--        ERROR("Out of memory!");
-+    globbuf.gl_offs = 3;
-+    ret = glob(LOG_PATH"/*.log", GLOB_ERR|GLOB_DOOFFS, NULL, &globbuf);
-+    if (ret != 0) {
-+        DEBUG(SSSDBG_CRIT_FAILURE, "Unable to expand log files list\n");
-+        return ret;
-     }
-+    globbuf.gl_pathv[0] = discard_const_p(char, "tar");
-+    globbuf.gl_pathv[1] = discard_const_p(char, "-czf");
-+    globbuf.gl_pathv[2] = discard_const_p(char, file);
- 
-     PRINT("Archiving log files into %s...\n", file);
--    ret = sssctl_run_command(cmd);
-+    ret = sssctl_run_command((const char * const*)globbuf.gl_pathv);
-+    globfree(&globbuf);
-     if (ret != EOK) {
-         ERROR("Unable to archive log files\n");
-         return ret;
diff --git a/meta-security/recipes-security/sssd/files/sssd.conf b/meta-security/recipes-security/sssd/files/sssd.conf
deleted file mode 100644
index 1709a7a..0000000
--- a/meta-security/recipes-security/sssd/files/sssd.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-[sssd]
-services = nss, pam
-config_file_version = 2
-
-[nss]
-
-[pam]
-
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
index f9d9e61..4dfb788 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
@@ -688,6 +688,8 @@
 
 It can also be used when setting mirrors definitions using the :term:`PREMIRRORS` variable.
 
+.. _crate-fetcher:
+
 Crate Fetcher (``crate://``)
 ----------------------------
 
@@ -704,6 +706,80 @@
 
    SRC_URI = "crate://crates.io/glob/0.2.11"
 
+.. _npm-fetcher:
+
+NPM Fetcher (``npm://``)
+------------------------
+
+This submodule fetches source code from an
+`NPM <https://en.wikipedia.org/wiki/Npm_(software)>`__
+Javascript package registry.
+
+The format for the :term:`SRC_URI` setting must be::
+
+   SRC_URI = "npm://some.registry.url;OptionA=xxx;OptionB=xxx;..."
+
+This fetcher supports the following parameters:
+
+-  *"package":* The NPM package name. This is a mandatory parameter.
+
+-  *"version":* The NPM package version. This is a mandatory parameter.
+
+-  *"downloadfilename":* Specifies the filename used when storing the downloaded file.
+
+-  *"destsuffix":* Specifies the directory to use to unpack the package (default: ``npm``).
+
+Note that NPM fetcher only fetches the package source itself. The dependencies
+can be fetched through the `npmsw-fetcher`_.
+
+Here is an example URL with both fetchers::
+
+   SRC_URI = " \
+       npm://registry.npmjs.org/;package=cute-files;version=${PV} \
+       npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \
+       "
+
+See :yocto_docs:`Creating Node Package Manager (NPM) Packages
+</dev-manual/common-tasks.html#creating-node-package-manager-npm-packages>`
+in the Yocto Project manual for details about using
+:yocto_docs:`devtool <https://docs.yoctoproject.org/ref-manual/devtool-reference.html>`
+to automatically create a recipe from an NPM URL.
+
+.. _npmsw-fetcher:
+
+NPM shrinkwrap Fetcher (``npmsw://``)
+-------------------------------------
+
+This submodule fetches source code from an
+`NPM shrinkwrap <https://docs.npmjs.com/cli/v8/commands/npm-shrinkwrap>`__
+description file, which lists the dependencies
+of an NPM package while locking their versions.
+
+The format for the :term:`SRC_URI` setting must be::
+
+   SRC_URI = "npmsw://some.registry.url;OptionA=xxx;OptionB=xxx;..."
+
+This fetcher supports the following parameters:
+
+-  *"dev":* Set this parameter to ``1`` to install "devDependencies".
+
+-  *"destsuffix":* Specifies the directory to use to unpack the dependencies
+   (``${S}`` by default).
+
+Note that the shrinkwrap file can also be provided by the recipe for
+the package which has such dependencies, for example::
+
+   SRC_URI = " \
+       npm://registry.npmjs.org/;package=cute-files;version=${PV} \
+       npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \
+       "
+
+Such a file can automatically be generated using
+:yocto_docs:`devtool <https://docs.yoctoproject.org/ref-manual/devtool-reference.html>`
+as described in the :yocto_docs:`Creating Node Package Manager (NPM) Packages
+</dev-manual/common-tasks.html#creating-node-package-manager-npm-packages>`
+section of the Yocto Project.
+
 Other Fetchers
 --------------
 
@@ -713,8 +789,6 @@
 
 -  Mercurial (``hg://``)
 
--  npm (``npm://``)
-
 -  OSC (``osc://``)
 
 -  Secure FTP (``sftp://``)
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
index af4b135..3378216 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
@@ -195,22 +195,45 @@
 Setting a weak default value (??=)
 ----------------------------------
 
-It is possible to use a "weaker" assignment than in the previous section
-by using the "??=" operator. This assignment behaves identical to "?="
-except that the assignment is made at the end of the parsing process
-rather than immediately. Consequently, when multiple "??=" assignments
-exist, the last one is used. Also, any "=" or "?=" assignment will
-override the value set with "??=". Here is an example::
+The weak default value of a variable is the value which that variable
+will expand to if no value has been assigned to it via any of the other
+assignment operators. The "??=" operator takes effect immediately, replacing
+any previously defined weak default value. Here is an example::
 
-   A ??= "somevalue"
-   A ??= "someothervalue"
+   W ??= "x"
+   A := "${W}" # Immediate variable expansion
+   W ??= "y"
+   B := "${W}" # Immediate variable expansion
+   W ??= "z"
+   C = "${W}"
+   W ?= "i"
 
-If ``A`` is set before the above statements are
-parsed, the variable retains its value. If ``A`` is not set, the
-variable is set to "someothervalue".
+After parsing we will have::
 
-Again, this assignment is a "lazy" or "weak" assignment because it does
-not occur until the end of the parsing process.
+   A = "x"
+   B = "y"
+   C = "i"
+   W = "i"
+
+Appending and prepending non-override style will not substitute the weak
+default value, which means that after parsing::
+
+   W ??= "x"
+   W += "y"
+
+we will have::
+
+   W = " y"
+
+On the other hand, override-style appends/prepends/removes are applied after
+any active weak default value has been substituted::
+
+   W ??= "x"
+   W:append = "y"
+
+After parsing we will have::
+
+   W = "xy"
 
 Immediate variable expansion (:=)
 ---------------------------------
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index ac55717..0fb718b 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -1097,6 +1097,8 @@
 
 def ensure_symlink(target, link_name):
     if not os.path.exists(link_name):
+        dirname = os.path.dirname(link_name)
+        bb.utils.mkdirhier(dirname)
         if os.path.islink(link_name):
             # Broken symbolic link
             os.unlink(link_name)
@@ -1220,23 +1222,21 @@
     SRC_URI as a space-separated string
     """
     fetch = Fetch([], d, cache = False, localonly = True)
-
-    dl_dir = d.getVar('DL_DIR')
     filelist = []
     for u in fetch.urls:
         ud = fetch.ud[u]
-
         if ud and isinstance(ud.method, local.Local):
+            found = False
             paths = ud.method.localpaths(ud, d)
             for f in paths:
                 pth = ud.decodedurl
-                if f.startswith(dl_dir):
-                    # The local fetcher's behaviour is to return a path under DL_DIR if it couldn't find the file anywhere else
-                    if os.path.exists(f):
-                        bb.warn("Getting checksum for %s SRC_URI entry %s: file not found except in DL_DIR" % (d.getVar('PN'), os.path.basename(f)))
-                    else:
-                        bb.warn("Unable to get checksum for %s SRC_URI entry %s: file could not be found" % (d.getVar('PN'), os.path.basename(f)))
+                if os.path.exists(f):
+                    found = True
                 filelist.append(f + ":" + str(os.path.exists(f)))
+            if not found:
+                bb.fatal(("Unable to get checksum for %s SRC_URI entry %s: file could not be found"
+                            "\nThe following paths were searched:"
+                            "\n%s") % (d.getVar('PN'), os.path.basename(f), '\n'.join(paths)))
 
     return " ".join(filelist)
 
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index 07b3d9a..4534bd7 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -738,7 +738,7 @@
         Compute the HEAD revision for the url
         """
         if not d.getVar("__BBSEENSRCREV"):
-            raise bb.fetch2.FetchError("Recipe uses a floating tag/branch without a fixed SRCREV yet doesn't call bb.fetch2.get_srcrev() (use SRCPV in PV for OE).")
+            raise bb.fetch2.FetchError("Recipe uses a floating tag/branch '%s' for repo '%s' without a fixed SRCREV yet doesn't call bb.fetch2.get_srcrev() (use SRCPV in PV for OE)." % (ud.unresolvedrev[name], ud.host+ud.path))
 
         # Ensure we mark as not cached
         bb.fetch2.get_autorev(d)
diff --git a/poky/bitbake/lib/bb/fetch2/gitsm.py b/poky/bitbake/lib/bb/fetch2/gitsm.py
index c5c23d5..c1950e4 100644
--- a/poky/bitbake/lib/bb/fetch2/gitsm.py
+++ b/poky/bitbake/lib/bb/fetch2/gitsm.py
@@ -88,7 +88,7 @@
                 subrevision[m] = module_hash.split()[2]
 
                 # Convert relative to absolute uri based on parent uri
-                if uris[m].startswith('..'):
+                if  uris[m].startswith('..') or uris[m].startswith('./'):
                     newud = copy.copy(ud)
                     newud.path = os.path.realpath(os.path.join(newud.path, uris[m]))
                     uris[m] = Git._get_repo_url(self, newud)
diff --git a/poky/bitbake/lib/bb/fetch2/local.py b/poky/bitbake/lib/bb/fetch2/local.py
index e7d1c8c..0bb987c 100644
--- a/poky/bitbake/lib/bb/fetch2/local.py
+++ b/poky/bitbake/lib/bb/fetch2/local.py
@@ -57,12 +57,6 @@
             logger.debug2("Searching for %s in paths:\n    %s" % (path, "\n    ".join(filespath.split(":"))))
             newpath, hist = bb.utils.which(filespath, path, history=True)
             searched.extend(hist)
-        if not os.path.exists(newpath):
-            dldirfile = os.path.join(d.getVar("DL_DIR"), path)
-            logger.debug2("Defaulting to %s for %s" % (dldirfile, path))
-            bb.utils.mkdirhier(os.path.dirname(dldirfile))
-            searched.append(dldirfile)
-            return searched
         return searched
 
     def need_update(self, ud, d):
@@ -78,8 +72,6 @@
             filespath = d.getVar('FILESPATH')
             if filespath:
                 locations = filespath.split(":")
-            locations.append(d.getVar("DL_DIR"))
-
             msg = "Unable to find file " + urldata.url + " anywhere. The paths that were searched were:\n    " + "\n    ".join(locations)
             raise FetchError(msg)
 
diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
index ee9bd76..6841573 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -178,10 +178,10 @@
 
     if s and s[0] == '#':
         if len(__residue__) != 0 and __residue__[0][0] != "#":
-            bb.fatal("There is a comment on line %s of file %s (%s) which is in the middle of a multiline expression.\nBitbake used to ignore these but no longer does so, please fix your metadata as errors are likely as a result of this change." % (lineno, fn, s))
+            bb.fatal("There is a comment on line %s of file %s:\n'''\n%s\n'''\nwhich is in the middle of a multiline expression. This syntax is invalid, please correct it." % (lineno, fn, s))
 
     if len(__residue__) != 0 and __residue__[0][0] == "#" and (not s or s[0] != "#"):
-        bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s))
+        bb.fatal("There is a confusing multiline partially commented expression on line %s of file %s:\n%s\nPlease clarify whether this is all a comment or should be parsed." % (lineno - len(__residue__), fn, "\n".join(__residue__)))
 
     if s and s[-1] == '\\':
         __residue__.append(s[:-1])
diff --git a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index b895d5b..451e68d 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -125,16 +125,21 @@
             s = f.readline()
             if not s:
                 break
+            origlineno = lineno
+            origline = s
             w = s.strip()
             # skip empty lines
             if not w:
                 continue
             s = s.rstrip()
             while s[-1] == '\\':
-                s2 = f.readline().rstrip()
+                line = f.readline()
+                origline += line
+                s2 = line.rstrip()
                 lineno = lineno + 1
                 if (not s2 or s2 and s2[0] != "#") and s[0] == "#" :
-                    bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s))
+                    bb.fatal("There is a confusing multiline, partially commented expression starting on line %s of file %s:\n%s\nPlease clarify whether this is all a comment or should be parsed." % (origlineno, fn, origline))
+
                 s = s[:-1] + s2
             # skip comments
             if s[0] == '#':
@@ -147,8 +152,6 @@
     if oldfile:
         data.setVar('FILE', oldfile)
 
-    f.close()
-
     for f in confFilters:
         f(fn, data)
 
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 43790b6..5d02c0b 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -756,8 +756,11 @@
                 process.queue_signals = True
                 self._send(obj)
                 process.queue_signals = False
-                for sig in process.signal_received.pop():
-                    process.handle_sig(sig, None)
+                try:
+                    for sig in process.signal_received.pop():
+                        process.handle_sig(sig, None)
+                except IndexError:
+                    pass
         else:
             self._send(obj)
 
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 622c46a..7fcf57e 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -468,6 +468,7 @@
                 "http://.*/.* file:///someotherpath/downloads/"
 
     def test_urireplace(self):
+        self.d.setVar("FILESPATH", ".")
         for k, v in self.replaceuris.items():
             ud = bb.fetch.FetchData(k[0], self.d)
             ud.setup_localpath(self.d)
@@ -693,6 +694,11 @@
         flst.sort()
         return flst
 
+    def test_local_checksum_fails_no_file(self):
+        self.d.setVar("SRC_URI", "file://404")
+        with self.assertRaises(bb.BBHandledException):
+            bb.fetch.get_checksum_file_list(self.d)
+
     def test_local(self):
         tree = self.fetchUnpack(['file://a', 'file://dir/c'])
         self.assertEqual(tree, ['a', 'dir/c'])
@@ -920,6 +926,7 @@
 
     @skipIfNoNetwork()
     def test_fetch_file_mirror_of_mirror(self):
+        self.d.setVar("FILESPATH", ".")
         self.d.setVar("MIRRORS", "http://.*/.* file:///some1where/ file:///some1where/.* file://some2where/ file://some2where/.* https://downloads.yoctoproject.org/releases/bitbake")
         fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
         os.mkdir(self.dldir + "/some2where")
@@ -2895,3 +2902,28 @@
         fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
         with self.assertRaises(bb.fetch2.NetworkAccess):
             fetcher.download()
+
+class FetchPremirroronlyBrokenTarball(FetcherTest):
+
+    def setUp(self):
+        super(FetchPremirroronlyBrokenTarball, self).setUp()
+        self.mirrordir = os.path.join(self.tempdir, "mirrors")
+        os.mkdir(self.mirrordir)
+        self.reponame = "bitbake"
+        self.gitdir = os.path.join(self.tempdir, "git", self.reponame)
+        self.recipe_url = "git://git.fake.repo/bitbake"
+        self.d.setVar("BB_FETCH_PREMIRRORONLY", "1")
+        self.d.setVar("BB_NO_NETWORK", "1")
+        self.d.setVar("PREMIRRORS", self.recipe_url + " " + "file://{}".format(self.mirrordir) + " \n")
+        self.mirrorname = "git2_git.fake.repo.bitbake.tar.gz"
+        with open(os.path.join(self.mirrordir, self.mirrorname), 'w') as targz:
+            targz.write("This is not tar.gz file!")
+
+    def test_mirror_broken_download(self):
+        import sys
+        self.d.setVar("SRCREV", "0"*40)
+        fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+        with self.assertRaises(bb.fetch2.FetchError):
+            fetcher.download()
+        stdout = sys.stdout.getvalue()
+        self.assertFalse(" not a git repository (or any parent up to mount point /)" in stdout)
diff --git a/poky/bitbake/lib/bb/tests/parse.py b/poky/bitbake/lib/bb/tests/parse.py
index 2898f9b..1a3b749 100644
--- a/poky/bitbake/lib/bb/tests/parse.py
+++ b/poky/bitbake/lib/bb/tests/parse.py
@@ -194,3 +194,26 @@
         self.assertTrue('addtask ignored: " do_patch"' in stdout)
         #self.assertTrue('dependent task do_foo for do_patch does not exist' in stdout)
 
+    broken_multiline_comment = """
+# First line of comment \\
+# Second line of comment \\
+
+"""
+    def test_parse_broken_multiline_comment(self):
+        f = self.parsehelper(self.broken_multiline_comment)
+        with self.assertRaises(bb.BBHandledException):
+            d = bb.parse.handle(f.name, self.d)['']
+
+
+    comment_in_var = """
+VAR = " \\
+    SOMEVAL \\
+#   some comment \\
+    SOMEOTHERVAL \\
+"
+"""
+    def test_parse_comment_in_var(self):
+        f = self.parsehelper(self.comment_in_var)
+        with self.assertRaises(bb.BBHandledException):
+            d = bb.parse.handle(f.name, self.d)['']
+
diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst
index 7179f25..3cf2f76 100644
--- a/poky/documentation/brief-yoctoprojectqs/index.rst
+++ b/poky/documentation/brief-yoctoprojectqs/index.rst
@@ -64,11 +64,12 @@
    -  tar &MIN_TAR_VERSION; or greater
    -  Python &MIN_PYTHON_VERSION; or greater.
    -  gcc &MIN_GCC_VERSION; or greater.
+   -  GNU make &MIN_MAKE_VERSION; or greater
 
 If your build host does not meet any of these three listed version
 requirements, you can take steps to prepare the system so that you
 can still use the Yocto Project. See the
-:ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`
+:ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`
 section in the Yocto Project Reference Manual for information.
 
 Build Host Packages
@@ -256,12 +257,7 @@
          BB_SIGNATURE_HANDLER = "OEEquivHash"
          BB_HASHSERVE = "auto"
          BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687"
-         SSTATE_MIRRORS ?= "file://.* https://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH"
-
-      The above settings assumed the use of Yocto Project &YOCTO_DOC_VERSION;.
-      If you are using the development version instead, set :term:`SSTATE_MIRRORS` as follows::
-
-         SSTATE_MIRRORS ?= "file://.* https://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH"
+         SSTATE_MIRRORS ?= "file://.* https://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
 
 #. **Start the Build:** Continue with the following command to build an OS
    image for the target, which is ``core-image-sato`` in this example:
diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst
index 280b160..7e17b42 100644
--- a/poky/documentation/bsp-guide/bsp.rst
+++ b/poky/documentation/bsp-guide/bsp.rst
@@ -1,8 +1,8 @@
 .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
 
-************************************************
-Board Support Packages (BSP) - Developer's Guide
-************************************************
+**************************************************
+Board Support Packages (BSP) --- Developer's Guide
+**************************************************
 
 A Board Support Package (BSP) is a collection of information that
 defines how to support a particular hardware device, set of devices, or
diff --git a/poky/documentation/conf.py b/poky/documentation/conf.py
index baf550e..2a01756 100644
--- a/poky/documentation/conf.py
+++ b/poky/documentation/conf.py
@@ -53,7 +53,7 @@
 # -- General configuration ---------------------------------------------------
 
 # Prevent building with an outdated version of sphinx
-needs_sphinx = "3.1"
+needs_sphinx = "4.0"
 
 # to load local extension from the folder 'sphinx'
 sys.path.insert(0, os.path.abspath('sphinx'))
@@ -90,7 +90,7 @@
 
 # external links and substitutions
 extlinks = {
-    'cve': ('https://nvd.nist.gov/vuln/detail/CVE-%s', 'CVE-'),
+    'cve': ('https://nvd.nist.gov/vuln/detail/CVE-%s', 'CVE-%s'),
     'yocto_home': ('https://www.yoctoproject.org%s', None),
     'yocto_wiki': ('https://wiki.yoctoproject.org/wiki%s', None),
     'yocto_dl': ('https://downloads.yoctoproject.org%s', None),
diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index ca6d594..8be3c7c 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -2306,7 +2306,7 @@
 :term:`SRC_URI` variable. Additionally, you need to manually write the
 ``do_compile`` and ``do_install`` tasks. The :term:`S` variable defines the
 directory containing the source code, which is set to
-:term:`WORKDIR` in this case - the
+:term:`WORKDIR` in this case --- the
 directory BitBake uses for the build.
 ::
 
@@ -2563,7 +2563,7 @@
 Understanding recipe file syntax is important for writing recipes. The
 following list overviews the basic items that make up a BitBake recipe
 file. For more complete BitBake syntax descriptions, see the
-":doc:`bitbake-user-manual/bitbake-user-manual-metadata`"
+":doc:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata`"
 chapter of the BitBake User Manual.
 
 -  *Variable Assignments and Manipulations:* Variable assignments allow
@@ -2621,7 +2621,7 @@
 This next list summarizes the most important and most commonly used
 parts of the recipe syntax. For more information on these parts of the
 syntax, you can reference the
-:doc:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata` chapter
+":doc:`bitbake:bitbake-user-manual/bitbake-user-manual-metadata`" chapter
 in the BitBake User Manual.
 
 -  *Line Continuation (\\):* Use the backward slash (``\``) character to
@@ -2780,7 +2780,7 @@
    functionality. The same considerations apply to various system
    utilities (e.g. ``sed``, ``grep``, ``awk``, and so forth) that you
    might wish to use. If in doubt, you should check with multiple
-   implementations - including those from BusyBox.
+   implementations --- including those from BusyBox.
 
 Adding a New Machine
 ====================
@@ -3348,9 +3348,9 @@
 
 -  :term:`PN`: The recipe name.
 
--  :term:`EXTENDPE`: The epoch - (if
+-  :term:`EXTENDPE`: The epoch --- if
    :term:`PE` is not specified, which is
-   usually the case for most recipes, then :term:`EXTENDPE` is blank).
+   usually the case for most recipes, then :term:`EXTENDPE` is blank.
 
 -  :term:`PV`: The recipe version.
 
@@ -3704,7 +3704,7 @@
 
 To accomplish a multiple configuration build, you must define each
 target's configuration separately using a parallel configuration file in
-the :term:`Build Directory`, and you
+the :term:`Build Directory` or configuration directory within a layer, and you
 must follow a required file hierarchy. Additionally, you must enable the
 multiple configuration builds in your ``local.conf`` file.
 
@@ -3712,16 +3712,19 @@
 
 -  *Create Separate Configuration Files*: You need to create a single
    configuration file for each build target (each multiconfig).
-   Minimally, each configuration file must define the machine and the
-   temporary directory BitBake uses for the build. Suggested practice
-   dictates that you do not overlap the temporary directories used
-   during the builds. However, it is possible that you can share the
-   temporary directory
-   (:term:`TMPDIR`). For example,
-   consider a scenario with two different multiconfigs for the same
+   The configuration definitions are implementation dependent but often
+   each configuration file will define the machine and the
+   temporary directory BitBake uses for the build. Whether the same
+   temporary directory (:term:`TMPDIR`) can be shared will depend on what is
+   similar and what is different between the configurations. Multiple MACHINE
+   targets can share the same (:term:`TMPDIR`) as long as the rest of the
+   configuration is the same, multiple DISTRO settings would need separate
+   (:term:`TMPDIR`) directories.
+
+   For example, consider a scenario with two different multiconfigs for the same
    :term:`MACHINE`: "qemux86" built
    for two distributions such as "poky" and "poky-lsb". In this case,
-   you might want to use the same :term:`TMPDIR`.
+   you would need to use the different :term:`TMPDIR`.
 
    Here is an example showing the minimal statements needed in a
    configuration file for a "qemux86" target whose temporary build
@@ -3732,18 +3735,16 @@
 
    The location for these multiconfig configuration files is specific.
    They must reside in the current build directory in a sub-directory of
-   ``conf`` named ``multiconfig``. Following is an example that defines
+   ``conf`` named ``multiconfig`` or within a layer's ``conf`` directory
+   under a directory named ``multiconfig``. Following is an example that defines
    two configuration files for the "x86" and "arm" multiconfigs:
 
    .. image:: figures/multiconfig_files.png
       :align: center
       :width: 50%
 
-   The reason for this required file hierarchy is because the :term:`BBPATH`
-   variable is not constructed until the layers are parsed.
-   Consequently, using the configuration file as a pre-configuration
-   file is not possible unless it is located in the current working
-   directory.
+   The usual :term:`BBPATH` search path is used to locate multiconfig files in
+   a similar way to other conf files.
 
 -  *Add the BitBake Multi-configuration Variable to the Local
    Configuration File*: Use the
@@ -6601,7 +6602,7 @@
    installed into an image.
 
 -  Binary Package Version: The binary package version is composed of two
-   components - a version and a revision.
+   components --- a version and a revision.
 
    .. note::
 
@@ -6938,7 +6939,7 @@
       Postinstall script to use for all packages
       (as a string)
    recursive
-      True to perform a recursive search - default
+      True to perform a recursive search --- default
       False
    hook
       A hook function to be called for every match.
@@ -6959,7 +6960,7 @@
       Extra runtime dependencies (RDEPENDS) to be
       set for all packages. The default value of None
       causes a dependency on the main package
-      (${PN}) - if you do not want this, pass empty
+      (${PN}) --- if you do not want this, pass empty
       string '' for this parameter.
    aux_files_pattern
       Extra item(s) to be added to FILES for each
@@ -6985,7 +6986,7 @@
       or a list of strings for multiple items. Must
       include %s.
    allow_links
-      True to allow symlinks to be matched - default
+      True to allow symlinks to be matched --- default
       False
    summary
       Summary to set for each package. Must include %s;
@@ -7430,7 +7431,7 @@
 OpenEmbedded build system on the target machine. A ptest contains at
 least two items: the actual test, and a shell script (``run-ptest``)
 that starts the test. The shell script that starts the test must not
-contain the actual test - the script only starts the test. On the other
+contain the actual test --- the script only starts the test. On the other
 hand, the test can be anything from a simple shell script that runs a
 binary and checks the output to an elaborate system of test binaries and
 data files.
@@ -7613,6 +7614,11 @@
 fetch URI to download each dependency and capture license details where
 possible. The result is a generated recipe.
 
+After running for quite a long time, in particular building the
+``nodejs-native`` package, the command should end as follows::
+
+   INFO: Recipe /home/.../build/workspace/recipes/cute-files/cute-files_1.0.2.bb has been automatically created; further editing may be required to make it fully functional
+
 The recipe file is fairly simple and contains every license that
 ``recipetool`` finds and includes the licenses in the recipe's
 :term:`LIC_FILES_CHKSUM`
@@ -7623,7 +7629,7 @@
 
 ``recipetool`` creates a "shrinkwrap" file for your recipe. Shrinkwrap
 files capture the version of all dependent modules. Many packages do not
-provide shrinkwrap files. ``recipetool`` create a shrinkwrap file as it
+provide shrinkwrap files but ``recipetool`` will create a shrinkwrap file as it
 runs.
 
 .. note::
@@ -7635,18 +7641,38 @@
 The ``devtool edit-recipe`` command lets you take a look at the recipe::
 
    $ devtool edit-recipe cute-files
+   # Recipe created by recipetool
+   # This is the basis of a recipe and may need further editing in order to be fully functional.
+   # (Feel free to remove these comments when editing.)
+
    SUMMARY = "Turn any folder on your computer into a cute file browser, available on the local network."
-   LICENSE = "MIT & ISC & Unknown"
+   # WARNING: the following LICENSE and LIC_FILES_CHKSUM values are best guesses - it is
+   # your responsibility to verify that the values are complete and correct.
+   #
+   # NOTE: multiple licenses have been detected; they have been separated with &
+   # in the LICENSE value for now since it is a reasonable assumption that all
+   # of the licenses apply. If instead there is a choice between the multiple
+   # licenses then you should change the value to separate the licenses with |
+   # instead of &. If there is any doubt, check the accompanying documentation
+   # to determine which situation is applicable.
+
+   SUMMARY = "Turn any folder on your computer into a cute file browser, available on the local network."
+   LICENSE = "BSD-3-Clause & ISC & MIT"
    LIC_FILES_CHKSUM = "file://LICENSE;md5=71d98c0a1db42956787b1909c74a86ca \
-       file://node_modules/toidentifier/LICENSE;md5=1a261071a044d02eb6f2bb47f51a3502 \
-       file://node_modules/debug/LICENSE;md5=ddd815a475e7338b0be7a14d8ee35a99 \
-       ...
+                       file://node_modules/accepts/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \
+                       file://node_modules/array-flatten/LICENSE;md5=44088ba57cb871a58add36ce51b8de08 \
+   ...
+                       file://node_modules/cookie-signature/Readme.md;md5=57ae8b42de3dd0c1f22d5f4cf191e15a"
+
    SRC_URI = " \
        npm://registry.npmjs.org/;package=cute-files;version=${PV} \
        npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \
        "
+
    S = "${WORKDIR}/npm"
+
    inherit npm
+
    LICENSE:${PN} = "MIT"
    LICENSE:${PN}-accepts = "MIT"
    LICENSE:${PN}-array-flatten = "MIT"
@@ -7679,17 +7705,10 @@
    $ devtool deploy-target -s cute-files root@192.168.7.2
 
 Once the package is installed on the target, you can
-test the application:
-
-.. note::
-
-   Because of a known issue, you cannot simply run ``cute-files`` as you would
-   if you had run ``npm install``.
-
-::
+test the application to show the contents of any directory::
 
   $ cd /usr/lib/node_modules/cute-files
-  $ node cute-files.js
+  $ cute-files
 
 On a browser,
 go to ``http://192.168.7.2:3000`` and you see the following:
@@ -7717,12 +7736,11 @@
 
    $ devtool add https://github.com/martinaglv/cute-files.git
 
-The
-recipe this command generates is very similar to the recipe created in
+The recipe this command generates is very similar to the recipe created in
 the previous section. However, the :term:`SRC_URI` looks like the following::
 
    SRC_URI = " \
-       git://github.com/martinaglv/cute-files.git;protocol=https \
+       git://github.com/martinaglv/cute-files.git;protocol=https;branch=master \
        npmsw://${THISDIR}/${BPN}/npm-shrinkwrap.json \
        "
 
@@ -9131,13 +9149,13 @@
 object or an array. This object (or array of objects) uses the following
 data:
 
--  "pkg" - A mandatory string that is the name of the package to be
+-  "pkg" --- a mandatory string that is the name of the package to be
    installed.
 
--  "rm" - An optional boolean, which defaults to "false", that specifies
+-  "rm" --- an optional boolean, which defaults to "false", that specifies
    to remove the package after the test.
 
--  "extract" - An optional boolean, which defaults to "false", that
+-  "extract" --- an optional boolean, which defaults to "false", that
    specifies if the package must be extracted from the package format.
    When set to "true", the package is not automatically installed into
    the DUT.
@@ -9802,7 +9820,7 @@
 ~~~~~~~~~~~~~~~~~
 
 When creating recipes using Bash and inserting code that handles build
-logs, you have the same goals - informative with minimal console output.
+logs, you have the same goals --- informative with minimal console output.
 The syntax you use for recipes written in Bash is similar to that of
 recipes written in Python described in the previous section.
 
@@ -10075,7 +10093,7 @@
 constraints arise because GDB needs to load the debugging information
 and the binaries of the process being debugged. Additionally, GDB needs
 to perform many computations to locate information such as function
-names, variable names and values, stack traces and so forth - even
+names, variable names and values, stack traces and so forth --- even
 before starting the debugging process. These extra computations place
 more load on the target system and can alter the characteristics of the
 program being debugged.
@@ -10652,7 +10670,7 @@
    -  If the change addresses a specific bug or issue that is associated
       with a bug-tracking ID, include a reference to that ID in your
       detailed description. For example, the Yocto Project uses a
-      specific convention for bug references - any commit that addresses
+      specific convention for bug references --- any commit that addresses
       a specific bug should use the following form for the detailed
       description. Be sure to use the actual bug-tracking ID from
       Bugzilla for bug-id::
@@ -10915,20 +10933,20 @@
    result in the most straightforward path into the stable branch for the
    fix.
 
-   a. *If the fix is present in the master branch - Submit a backport request
+   a. *If the fix is present in the master branch --- submit a backport request
       by email:* You should send an email to the relevant stable branch
       maintainer and the mailing list with details of the bug or CVE to be
       fixed, the commit hash on the master branch that fixes the issue and
       the stable branches which you would like this fix to be backported to.
 
-   b. *If the fix is not present in the master branch - Submit the fix to the
+   b. *If the fix is not present in the master branch --- submit the fix to the
       master branch first:* This will ensure that the fix passes through the
       project's usual patch review and test processes before being accepted.
       It will also ensure that bugs are not left unresolved in the master
       branch itself. Once the fix is accepted in the master branch a backport
       request can be submitted as above.
 
-   c. *If the fix is unsuitable for the master branch - Submit a patch
+   c. *If the fix is unsuitable for the master branch --- submit a patch
       directly for the stable branch:* This method should be considered as a
       last resort. It is typically necessary when the master branch is using
       a newer version of the software which includes an upstream fix for the
@@ -11259,7 +11277,7 @@
 
 Compliance activities should begin before you generate the final image.
 The first thing you should look at is the requirement that tops the list
-for most compliance groups - providing the source. The Yocto Project has
+for most compliance groups --- providing the source. The Yocto Project has
 a few ways of meeting this requirement.
 
 One of the easiest ways to meet this requirement is to provide the
@@ -11507,8 +11525,15 @@
 `Common Vulnerabilities and Exposures (CVE) <https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures>`__
 database.
 
-To know which packages are vulnerable to known security vulnerabilities,
-add the following setting to your configuration::
+The Yocto Project maintains a `list of known vulnerabilities
+<https://autobuilder.yocto.io/pub/non-release/patchmetrics/>`__
+for packages in Poky and OE-Core, tracking the evolution of the number of
+unpatched CVEs and the status of patches. Such information is available for
+the current development version and for each supported release.
+
+To know which packages are vulnerable to known security vulnerabilities
+in the specific image you are building, add the following setting to your
+configuration::
 
    INHERIT += "cve-check"
 
diff --git a/poky/documentation/dev-manual/figures/cute-files-npm-example.png b/poky/documentation/dev-manual/figures/cute-files-npm-example.png
index 1ebe74f..a02cca0 100644
--- a/poky/documentation/dev-manual/figures/cute-files-npm-example.png
+++ b/poky/documentation/dev-manual/figures/cute-files-npm-example.png
Binary files differ
diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst
index 8cf3ebe..499c3f8 100644
--- a/poky/documentation/dev-manual/start.rst
+++ b/poky/documentation/dev-manual/start.rst
@@ -311,7 +311,7 @@
 
 3. *Meet Minimal Version Requirements:* The OpenEmbedded build system
    should be able to run on any modern distribution that has the
-   following versions for Git, tar, Python and gcc.
+   following versions for Git, tar, Python, gcc and make.
 
    -  Git &MIN_GIT_VERSION; or greater
 
@@ -321,10 +321,12 @@
 
    -  gcc &MIN_GCC_VERSION; or greater.
 
+   -  GNU make &MIN_MAKE_VERSION; or greater
+
    If your build host does not meet any of these listed version
    requirements, you can take steps to prepare the system so that you
    can still use the Yocto Project. See the
-   ":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`"
+   ":ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`"
    section in the Yocto Project Reference Manual for information.
 
 4. *Install Development Host Packages:* Required development host
diff --git a/poky/documentation/kernel-dev/advanced.rst b/poky/documentation/kernel-dev/advanced.rst
index b5290b6..b16b3e0 100644
--- a/poky/documentation/kernel-dev/advanced.rst
+++ b/poky/documentation/kernel-dev/advanced.rst
@@ -183,7 +183,7 @@
    order to define a base kernel policy or major kernel type to be
    reused across multiple BSPs, place the file in ``ktypes`` directory.
 
-These distinctions can easily become blurred - especially as out-of-tree
+These distinctions can easily become blurred --- especially as out-of-tree
 features slowly merge upstream over time. Also, remember that how the
 description files are placed is a purely logical organization and has no
 impact on the functionality of the kernel Metadata. There is no impact
diff --git a/poky/documentation/kernel-dev/concepts-appx.rst b/poky/documentation/kernel-dev/concepts-appx.rst
index b3a2f3a..63c5124 100644
--- a/poky/documentation/kernel-dev/concepts-appx.rst
+++ b/poky/documentation/kernel-dev/concepts-appx.rst
@@ -117,7 +117,7 @@
 team's Yocto Linux kernel development strategy. It is the Yocto Project
 team's policy to not back-port minor features to the released Yocto
 Linux kernel. They only consider back-porting significant technological
-jumps - and, that is done after a complete gap analysis. The reason
+jumps --- and, that is done after a complete gap analysis. The reason
 for this policy is that back-porting any small to medium sized change
 from an evolving Linux kernel can easily create mismatches,
 incompatibilities and very subtle errors.
diff --git a/poky/documentation/migration-guides/migration-1.5.rst b/poky/documentation/migration-guides/migration-1.5.rst
index 93db14c..366fb00 100644
--- a/poky/documentation/migration-guides/migration-1.5.rst
+++ b/poky/documentation/migration-guides/migration-1.5.rst
@@ -26,7 +26,7 @@
 tarball, which provides an SDK-like environment containing them.
 
 For more information on this requirement, see the
-":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`"
+":ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`"
 section.
 
 .. _migration-1.5-atom-pc-bsp:
diff --git a/poky/documentation/migration-guides/migration-1.6.rst b/poky/documentation/migration-guides/migration-1.6.rst
index 3580865..f54d4ba 100644
--- a/poky/documentation/migration-guides/migration-1.6.rst
+++ b/poky/documentation/migration-guides/migration-1.6.rst
@@ -341,39 +341,39 @@
 
 The following recipes have been removed:
 
--  ``packagegroup-toolset-native`` - This recipe is largely unused.
+-  ``packagegroup-toolset-native`` --- this recipe is largely unused.
 
--  ``linux-yocto-3.8`` - Support for the Linux yocto 3.8 kernel has been
+-  ``linux-yocto-3.8`` --- support for the Linux yocto 3.8 kernel has been
    dropped. Support for the 3.10 and 3.14 kernels have been added with
    the ``linux-yocto-3.10`` and ``linux-yocto-3.14`` recipes.
 
--  ``ocf-linux`` - This recipe has been functionally replaced using
+-  ``ocf-linux`` --- this recipe has been functionally replaced using
    ``cryptodev-linux``.
 
--  ``genext2fs`` - ``genext2fs`` is no longer used by the build system
+-  ``genext2fs`` --- ``genext2fs`` is no longer used by the build system
    and is unmaintained upstream.
 
--  ``js`` - This provided an ancient version of Mozilla's javascript
+-  ``js`` --- this provided an ancient version of Mozilla's javascript
    engine that is no longer needed.
 
--  ``zaurusd`` - The recipe has been moved to the ``meta-handheld``
+-  ``zaurusd`` --- the recipe has been moved to the ``meta-handheld``
    layer.
 
--  ``eglibc 2.17`` - Replaced by the ``eglibc 2.19`` recipe.
+-  ``eglibc 2.17`` --- replaced by the ``eglibc 2.19`` recipe.
 
--  ``gcc 4.7.2`` - Replaced by the now stable ``gcc 4.8.2``.
+-  ``gcc 4.7.2`` --- replaced by the now stable ``gcc 4.8.2``.
 
--  ``external-sourcery-toolchain`` - this recipe is now maintained in
+-  ``external-sourcery-toolchain`` --- this recipe is now maintained in
    the ``meta-sourcery`` layer.
 
--  ``linux-libc-headers-yocto 3.4+git`` - Now using version 3.10 of the
+-  ``linux-libc-headers-yocto 3.4+git`` --- now using version 3.10 of the
    ``linux-libc-headers`` by default.
 
--  ``meta-toolchain-gmae`` - This recipe is obsolete.
+-  ``meta-toolchain-gmae`` --- this recipe is obsolete.
 
--  ``packagegroup-core-sdk-gmae`` - This recipe is obsolete.
+-  ``packagegroup-core-sdk-gmae`` --- this recipe is obsolete.
 
--  ``packagegroup-core-standalone-gmae-sdk-target`` - This recipe is
+-  ``packagegroup-core-standalone-gmae-sdk-target`` --- this recipe is
    obsolete.
 
 .. _migration-1.6-removed-classes:
diff --git a/poky/documentation/migration-guides/migration-1.7.rst b/poky/documentation/migration-guides/migration-1.7.rst
index 88a6855..8213ab5 100644
--- a/poky/documentation/migration-guides/migration-1.7.rst
+++ b/poky/documentation/migration-guides/migration-1.7.rst
@@ -31,7 +31,7 @@
 BitBake's Git fetcher. As always, if your host distribution does not
 provide a version of Git that meets this requirement, you can use the
 ``buildtools-tarball`` that does. See the
-":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`"
+":ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`"
 section for more information.
 
 .. _migration-1.7-autotools-class-changes:
diff --git a/poky/documentation/migration-guides/migration-2.1.rst b/poky/documentation/migration-guides/migration-2.1.rst
index ae6268d..b2d8a0b 100644
--- a/poky/documentation/migration-guides/migration-2.1.rst
+++ b/poky/documentation/migration-guides/migration-2.1.rst
@@ -357,7 +357,7 @@
 -  The minimum Git version has been increased to 1.8.3.1. If your host
    distribution does not provide a sufficiently recent version, you can
    install the buildtools, which will provide it. See the
-   :ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`
+   :ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`
    section for more information on the buildtools tarball.
 
 -  The buggy and incomplete support for the RPM version 4 package
diff --git a/poky/documentation/migration-guides/migration-2.2.rst b/poky/documentation/migration-guides/migration-2.2.rst
index fe7bc2c..16e48cc 100644
--- a/poky/documentation/migration-guides/migration-2.2.rst
+++ b/poky/documentation/migration-guides/migration-2.2.rst
@@ -442,7 +442,7 @@
 -  :ref:`ref-classes-image`: Renamed COMPRESS(ION) to CONVERSION. This change
    means that ``COMPRESSIONTYPES``, ``COMPRESS_DEPENDS`` and
    ``COMPRESS_CMD`` are deprecated in favor of ``CONVERSIONTYPES``,
-   ``CONVERSION_DEPENDS`` and ``CONVERSION_CMD``. The ``COMPRESS*``
+   ``CONVERSION_DEPENDS`` and :term:`CONVERSION_CMD`. The ``COMPRESS*``
    variable names will still work in the 2.2 release but metadata that
    does not need to be backwards-compatible should be changed to use the
    new names as the ``COMPRESS*`` ones will be removed in a future
diff --git a/poky/documentation/migration-guides/migration-2.4.rst b/poky/documentation/migration-guides/migration-2.4.rst
index ef5f32e..964ed92 100644
--- a/poky/documentation/migration-guides/migration-2.4.rst
+++ b/poky/documentation/migration-guides/migration-2.4.rst
@@ -301,7 +301,7 @@
    likely be removed in the next Yocto Project release.
 
 -  The ``vmdk``, ``vdi``, and ``qcow2`` image file types are now used in
-   conjunction with the "wic" image type through ``CONVERSION_CMD``.
+   conjunction with the "wic" image type through :term:`CONVERSION_CMD`.
    Consequently, the equivalent image types are now ``wic.vmdk``,
    ``wic.vdi``, and ``wic.qcow2``, respectively.
 
diff --git a/poky/documentation/migration-guides/migration-3.0.rst b/poky/documentation/migration-guides/migration-3.0.rst
index 1219edf..96aea2f 100644
--- a/poky/documentation/migration-guides/migration-3.0.rst
+++ b/poky/documentation/migration-guides/migration-3.0.rst
@@ -216,11 +216,11 @@
 -  :term:`SRC_URI` is now checked for usage of two
    problematic items:
 
-   -  "${PN}" prefix/suffix use - Warnings always appear if ${PN} is
+   -  "${PN}" prefix/suffix use --- warnings always appear if ${PN} is
       used. You must fix the issue regardless of whether multiconfig or
       anything else that would cause prefixing/suffixing to happen.
 
-   -  Github archive tarballs - these are not guaranteed to be stable.
+   -  Github archive tarballs --- these are not guaranteed to be stable.
       Consequently, it is likely that the tarballs will be refreshed and
       thus the SRC_URI checksums will fail to apply. It is recommended
       that you fetch either an official release tarball or a specific
diff --git a/poky/documentation/migration-guides/migration-3.1.rst b/poky/documentation/migration-guides/migration-3.1.rst
index e3fdbbe..cc788ef 100644
--- a/poky/documentation/migration-guides/migration-3.1.rst
+++ b/poky/documentation/migration-guides/migration-3.1.rst
@@ -200,7 +200,7 @@
 -----------------
 
 -  ``intltool`` has been removed from ``packagegroup-core-sdk`` as it is
-   rarely needed to build modern software - gettext can do most of the
+   rarely needed to build modern software --- gettext can do most of the
    things it used to be needed for. ``intltool`` has also been removed
    from ``packagegroup-core-self-hosted`` as it is not needed to for
    standard builds.
diff --git a/poky/documentation/migration-guides/migration-3.2.rst b/poky/documentation/migration-guides/migration-3.2.rst
index a376ece..92b7f91 100644
--- a/poky/documentation/migration-guides/migration-3.2.rst
+++ b/poky/documentation/migration-guides/migration-3.2.rst
@@ -23,7 +23,7 @@
 The following recipes have been removed:
 
 - ``bjam-native``: replaced by ``boost-build-native``
-- ``avahi-ui``: folded into the main ``avahi`` recipe - the GTK UI can be disabled using :term:`PACKAGECONFIG` for ``avahi``.
+- ``avahi-ui``: folded into the main ``avahi`` recipe --- the GTK UI can be disabled using :term:`PACKAGECONFIG` for ``avahi``.
 - ``build-compare``: no longer needed with the removal of the ``packagefeed-stability`` class
 - ``dhcp``: obsolete, functionally replaced by ``dhcpcd`` and ``kea``
 - ``libmodulemd-v1``: replaced by ``libmodulemd``
@@ -37,7 +37,7 @@
 
 The following classes (.bbclass files) have been removed:
 
--  ``spdx``: obsolete - the Yocto Project is a strong supporter of SPDX, but this class was old code using a dated approach and had the potential to be misleading. The ``meta-sdpxscanner`` layer is a much more modern and active approach to handling this and is recommended as a replacement.
+-  ``spdx``: obsolete --- the Yocto Project is a strong supporter of SPDX, but this class was old code using a dated approach and had the potential to be misleading. The ``meta-sdpxscanner`` layer is a much more modern and active approach to handling this and is recommended as a replacement.
 
 - ``packagefeed-stability``: this class had become obsolete with the advent of hash equivalence and reproducible builds.
 
@@ -46,7 +46,7 @@
 --------------------------------------------
 
 pseudo now operates on a filtered subset of files. This is a significant change
-to the way pseudo operates within OpenEmbedded - by default, pseudo monitors and
+to the way pseudo operates within OpenEmbedded --- by default, pseudo monitors and
 logs (adds to its database) any file created or modified whilst in a ``fakeroot``
 environment. However, there are large numbers of files that we simply don't care
 about the permissions of whilst in that ``fakeroot`` context, for example ${:term:`S`}, ${:term:`B`}, ${:term:`T`},
@@ -68,7 +68,7 @@
 extend :term:`PSEUDO_IGNORE_PATHS` to cover additional paths that pseudo should not
 be monitoring.
 
-In addition, pseudo's behaviour on mismatches has now been changed - rather
+In addition, pseudo's behaviour on mismatches has now been changed --- rather
 than doing what turns out to be a rather dangerous "fixup" if it sees a file
 with a different path but the same inode as another file it has previously seen,
 pseudo will throw an ``abort()`` and direct you to a :yocto_wiki:`wiki page </Pseudo_Abort>`
@@ -137,10 +137,10 @@
 
 The ``dhcp`` software package has become unmaintained and thus has been
 functionally replaced by ``dhcpcd`` (client) and ``kea`` (server). You will
-need to replace references to the recipe/package names as appropriate - most
+need to replace references to the recipe/package names as appropriate --- most
 commonly, at the package level ``dhcp-client`` should be replaced by
 ``dhcpcd`` and ``dhcp-server`` should be replaced by ``kea``. If you have any
-custom configuration files for these they will need to be adapted - refer to
+custom configuration files for these they will need to be adapted --- refer to
 the upstream documentation for ``dhcpcd`` and ``kea`` for further details.
 
 
@@ -181,7 +181,7 @@
 
 - :ref:`missing-update-alternatives <qa-check-missing-update-alternatives>`: Check if the recipe sets the :term:`ALTERNATIVE` variable for any of its packages, and does not inherit the :ref:`update-alternatives <ref-classes-update-alternatives>` class.
 
-- A trailing slash or duplicated slashes in the value of :term:`S` or :term:`B` will now trigger a warning so that they can be removed and path comparisons can be more reliable - remove any instances of these in your recipes if the warning is displayed.
+- A trailing slash or duplicated slashes in the value of :term:`S` or :term:`B` will now trigger a warning so that they can be removed and path comparisons can be more reliable --- remove any instances of these in your recipes if the warning is displayed.
 
 
 .. _migration-3.2-src-uri-file-globbing:
@@ -209,7 +209,7 @@
 
 ``do_deploy`` as implemented in the :ref:`deploy <ref-classes-deploy>` class now cleans up ${:term:`DEPLOYDIR`} before running, just as ``do_install`` cleans up ${:term:`D`} before running. This reduces the risk of :term:`DEPLOYDIR` being accidentally contaminated by files from previous runs, possibly even with different config, in case of incremental builds.
 
-Most recipes and classes that inherit the :ref:`deploy <ref-classes-deploy>` class or interact with ``do_deploy`` are unlikely to be affected by this unless they add ``prefuncs`` to ``do_deploy`` *which also* put files into ``${DEPLOYDIR}`` - these should be refactored to use ``do_deploy_prepend`` instead.
+Most recipes and classes that inherit the :ref:`deploy <ref-classes-deploy>` class or interact with ``do_deploy`` are unlikely to be affected by this unless they add ``prefuncs`` to ``do_deploy`` *which also* put files into ``${DEPLOYDIR}`` --- these should be refactored to use ``do_deploy_prepend`` instead.
 
 
 .. _migration-3.2-nativesdk-sdk-provides-dummy:
@@ -303,7 +303,7 @@
 Miscellaneous changes
 ---------------------
 
-- Support for the long-deprecated ``PACKAGE_GROUP`` variable has now been removed - replace any remaining instances with :term:`FEATURE_PACKAGES`.
+- Support for the long-deprecated ``PACKAGE_GROUP`` variable has now been removed --- replace any remaining instances with :term:`FEATURE_PACKAGES`.
 - The ``FILESPATHPKG`` variable, having been previously deprecated, has now been removed. Replace any remaining references with appropriate use of :term:`FILESEXTRAPATHS`.
 - Erroneous use of ``inherit +=`` (instead of ``INHERIT +=``) in a configuration file now triggers an error instead of silently being ignored.
 - ptest support has been removed from the ``kbd`` recipe, as upstream has moved to autotest which is difficult to work with in a cross-compilation environment.
diff --git a/poky/documentation/migration-guides/migration-3.3.rst b/poky/documentation/migration-guides/migration-3.3.rst
index 22562da..aba5c42 100644
--- a/poky/documentation/migration-guides/migration-3.3.rst
+++ b/poky/documentation/migration-guides/migration-3.3.rst
@@ -13,11 +13,10 @@
 You will now need at least Python 3.6 installed on your build host. Most recent
 distributions provide this, but should you be building on a distribution that
 does not have it, you can use the ``buildtools-tarball`` (easily installable
-using ``scripts/install-buildtools``) - see
-:ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`
+using ``scripts/install-buildtools``) --- see
+:ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`
 for details.
 
-
 .. _migration-3.3-removed-recipes:
 
 Removed recipes
diff --git a/poky/documentation/migration-guides/migration-3.4.rst b/poky/documentation/migration-guides/migration-3.4.rst
index 8db43a1..bc2c75d 100644
--- a/poky/documentation/migration-guides/migration-3.4.rst
+++ b/poky/documentation/migration-guides/migration-3.4.rst
@@ -146,7 +146,7 @@
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
 Recipes shouldn't use the ``virtual/`` string in :term:`RPROVIDES` and
-:term:`RDEPENDS` - it is confusing because ``virtual/`` has no special
+:term:`RDEPENDS` --- it is confusing because ``virtual/`` has no special
 meaning in :term:`RPROVIDES` and :term:`RDEPENDS` (unlike in the
 corresponding build-time :term:`PROVIDES` and :term:`DEPENDS`).
 
@@ -171,7 +171,7 @@
 For a normal SDK, some layers append to :term:`TOOLCHAIN_HOST_TASK`
 unconditionally which is fine, until the eSDK tries to override the
 variable to its own values. Instead of installing packages specified
-in this variable it uses native recipes instead - a very different
+in this variable it uses native recipes instead --- a very different
 approach. This has led to confusing errors when binaries are added
 to the SDK but not relocated.
 
@@ -252,7 +252,7 @@
 
 - The previously deprecated ``COMPRESS_CMD`` and
   ``CVE_CHECK_CVE_WHITELIST`` variables have been removed. Use
-  ``CONVERSION_CMD`` and ``CVE_CHECK_WHITELIST`` (replaced by
+  :term:`CONVERSION_CMD` and ``CVE_CHECK_WHITELIST`` (replaced by
   :term:`CVE_CHECK_IGNORE` in version 3.5) respectively
   instead.
 
diff --git a/poky/documentation/migration-guides/migration-4.0.rst b/poky/documentation/migration-guides/migration-4.0.rst
index a8e6b4c..79e53f8 100644
--- a/poky/documentation/migration-guides/migration-4.0.rst
+++ b/poky/documentation/migration-guides/migration-4.0.rst
@@ -45,7 +45,7 @@
 - ``SSTATE_DUPWHITELIST`` became ``SSTATE_ALLOW_OVERLAP_FILES``
 - ``SYSROOT_DIRS_BLACKLIST`` became :term:`SYSROOT_DIRS_IGNORE`
 - ``UNKNOWN_CONFIGURE_WHITELIST`` became :term:`UNKNOWN_CONFIGURE_OPT_IGNORE`
-- ``WHITELIST_<license>`` became ``INCOMPATIBLE_LICENSE_EXCEPTIONS``
+- ``WHITELIST_<license>`` became :term:`INCOMPATIBLE_LICENSE_EXCEPTIONS`
 
 In addition, ``BB_STAMP_WHITELIST``, ``BB_STAMP_POLICY``, ``INHERIT_BLACKLIST``,
 ``TUNEABI``, ``TUNEABI_WHITELIST``, and ``TUNEABI_OVERRIDE`` have been removed.
diff --git a/poky/documentation/migration-guides/release-notes-3.4.rst b/poky/documentation/migration-guides/release-notes-3.4.rst
index 5a8fb4b..323e4df 100644
--- a/poky/documentation/migration-guides/release-notes-3.4.rst
+++ b/poky/documentation/migration-guides/release-notes-3.4.rst
@@ -5,7 +5,7 @@
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 -  Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades
--  Switched override character to ':' (replacing '_') for more robust parsing and improved performance - see the above migration guide for help
+-  Switched override character to ':' (replacing '_') for more robust parsing and improved performance --- see the above migration guide for help
 -  Rust integrated into core, providing rust support for cross-compilation and SDK
 -  New create-spdx class for creating SPDX SBoM documents
 -  New recipes: cargo, core-image-ptest-all, core-image-ptest-fast, core-image-weston-sdk, erofs-utils, gcompat, gi-docgen, libmicrohttpd, libseccomp, libstd-rs, perlcross, python3-markdown, python3-pyyaml, python3-smartypants, python3-typogrify, rust, rust-cross, rust-cross-canadian, rust-hello-world, rust-llvm, rust-tools-cross-canadian, rustfmt, xwayland
diff --git a/poky/documentation/migration-guides/release-notes-4.0.rst b/poky/documentation/migration-guides/release-notes-4.0.rst
index eaa40f9..4bf680d 100644
--- a/poky/documentation/migration-guides/release-notes-4.0.rst
+++ b/poky/documentation/migration-guides/release-notes-4.0.rst
@@ -23,7 +23,7 @@
      BB_SIGNATURE_HANDLER = "OEEquivHash"
      BB_HASHSERVE = "auto"
      BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687"
-     SSTATE_MIRRORS ?= "file://.* https://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH"
+     SSTATE_MIRRORS ?= "file://.* https://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
 
 - The Python package build process is now based on `wheels <https://pythonwheels.com/>`__
   in line with the upstream direction.
diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst
index 016577e..83339da 100644
--- a/poky/documentation/overview-manual/concepts.rst
+++ b/poky/documentation/overview-manual/concepts.rst
@@ -557,7 +557,7 @@
 ~~~~~~~~~~~~~~
 
 Local projects are custom bits of software the user provides. These bits
-reside somewhere local to a project - perhaps a directory into which the
+reside somewhere local to a project --- perhaps a directory into which the
 user checks in items (e.g. a local directory containing a development
 source tree used by the group).
 
@@ -1641,7 +1641,7 @@
 
 To complicate the problem, there are things that should not be included
 in the checksum. First, there is the actual specific build path of a
-given task - the :term:`WORKDIR`. It
+given task --- the :term:`WORKDIR`. It
 does not matter if the work directory changes because it should not
 affect the output for target packages. Also, the build process has the
 objective of making native or cross packages relocatable.
@@ -1700,7 +1700,7 @@
 Thus far, this section has limited discussion to the direct inputs into
 a task. Information based on direct inputs is referred to as the
 "basehash" in the code. However, the question of a task's indirect
-inputs still exits - items already built and present in the
+inputs still exits --- items already built and present in the
 :term:`Build Directory`. The checksum (or
 signature) for a particular task needs to add the hashes of all the
 tasks on which the particular task depends. Choosing which dependencies
diff --git a/poky/documentation/overview-manual/development-environment.rst b/poky/documentation/overview-manual/development-environment.rst
index f1001e0..43a6f1b 100644
--- a/poky/documentation/overview-manual/development-environment.rst
+++ b/poky/documentation/overview-manual/development-environment.rst
@@ -52,7 +52,7 @@
 using the Yocto Project. Because the goal of the Yocto Project is to
 develop images or applications that run on embedded hardware,
 development of those images and applications generally takes place on a
-system not intended to run the software - the development host.
+system not intended to run the software --- the development host.
 
 You need to set up a development host in order to use it with the Yocto
 Project. Most find that it is best to have a native Linux machine
diff --git a/poky/documentation/overview-manual/yp-intro.rst b/poky/documentation/overview-manual/yp-intro.rst
index a2e0862..4e3b7c3 100644
--- a/poky/documentation/overview-manual/yp-intro.rst
+++ b/poky/documentation/overview-manual/yp-intro.rst
@@ -842,7 +842,7 @@
    distribution.
 
    Another point worth noting is that historically within the Yocto
-   Project, recipes were referred to as packages - thus, the existence
+   Project, recipes were referred to as packages --- thus, the existence
    of several BitBake variables that are seemingly mis-named, (e.g.
    :term:`PR`,
    :term:`PV`, and
diff --git a/poky/documentation/poky.yaml.in b/poky/documentation/poky.yaml.in
index 1e1d6c8..6b942f0 100644
--- a/poky/documentation/poky.yaml.in
+++ b/poky/documentation/poky.yaml.in
@@ -44,4 +44,5 @@
 MIN_PYTHON_VERSION : "3.6.0"
 MIN_TAR_VERSION : "1.28"
 MIN_GIT_VERSION : "1.8.3.1"
-MIN_GCC_VERSION : "5.0"
+MIN_GCC_VERSION : "7.5"
+MIN_MAKE_VERSION : "4.0"
diff --git a/poky/documentation/profile-manual/intro.rst b/poky/documentation/profile-manual/intro.rst
index 9c8fa3d..e9208df 100644
--- a/poky/documentation/profile-manual/intro.rst
+++ b/poky/documentation/profile-manual/intro.rst
@@ -7,7 +7,7 @@
 Introduction
 ============
 
-Yocto bundles a number of tracing and profiling tools - this 'HOWTO'
+Yocto bundles a number of tracing and profiling tools --- this 'HOWTO'
 describes their basic usage and shows by example how to make use of them
 to examine application and system behavior.
 
@@ -26,7 +26,7 @@
 
 The final section of this 'HOWTO' is a collection of real-world examples
 which we'll be continually adding to as we solve more problems using the
-tools - feel free to add your own examples to the list!
+tools --- feel free to add your own examples to the list!
 
 General Setup
 =============
diff --git a/poky/documentation/profile-manual/usage.rst b/poky/documentation/profile-manual/usage.rst
index 0ff9d92..49f8af4 100644
--- a/poky/documentation/profile-manual/usage.rst
+++ b/poky/documentation/profile-manual/usage.rst
@@ -17,7 +17,7 @@
 with the Linux kernel.
 
 Don't let the fact that it's part of the kernel fool you into thinking
-that it's only for tracing and profiling the kernel - you can indeed use
+that it's only for tracing and profiling the kernel --- you can indeed use
 it to trace and profile just the kernel, but you can also use it to
 profile specific applications separately (with or without kernel
 context), and you can also use it to trace and profile the kernel and
@@ -176,7 +176,7 @@
 
 As our first attempt at profiling this workload, we'll simply run 'perf
 record', handing it the workload we want to profile (everything after
-'perf record' and any perf options we hand it - here none - will be
+'perf record' and any perf options we hand it --- here none, will be
 executed in a new shell). perf collects samples until the process exits
 and records them in a file named 'perf.data' in the current working
 directory. ::
@@ -203,7 +203,7 @@
 'bucket' corresponding to the functions that were profiled during the
 profiling run, ordered from the most popular to the least (perf has
 options to sort in various orders and keys as well as display entries
-only above a certain threshold and so on - see the perf documentation
+only above a certain threshold and so on --- see the perf documentation
 for details). Note that this includes both userspace functions (entries
 containing a [.]) and kernel functions accounted to the process (entries
 containing a [k]). (perf has command-line modifiers that can be used to
@@ -608,7 +608,7 @@
 The screenshot above shows the results of running a profile using
 sched:sched_switch tracepoint, which shows the relative costs of various
 paths to sched_wakeup (note that sched_wakeup is the name of the
-tracepoint - it's actually defined just inside ttwu_do_wakeup(), which
+tracepoint --- it's actually defined just inside ttwu_do_wakeup(), which
 accounts for the function name actually displayed in the profile:
 
 .. code-block:: c
@@ -877,7 +877,7 @@
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The examples so far have focused on tracing a particular program or
-workload - in other words, every profiling run has specified the program
+workload --- in other words, every profiling run has specified the program
 to profile in the command-line e.g. 'perf record wget ...'.
 
 It's also possible, and more interesting in many cases, to run a
@@ -964,7 +964,7 @@
 Notice that there are a lot of events that don't really have anything to
 do with what we're interested in, namely events that schedule 'perf'
 itself in and out or that wake perf up. We can get rid of those by using
-the '--filter' option - for each event we specify using -e, we can add a
+the '--filter' option --- for each event we specify using -e, we can add a
 --filter after that to filter out trace events that contain fields with
 specific values::
 
@@ -1135,7 +1135,7 @@
 .. admonition:: Tying it Together
 
    The trace events subsystem accommodate static and dynamic tracepoints
-   in exactly the same way - there's no difference as far as the
+   in exactly the same way --- there's no difference as far as the
    infrastructure is concerned. See the ftrace section for more details
    on the trace event subsystem.
 
@@ -1201,7 +1201,7 @@
 outlined in the ":ref:`profile-manual/intro:General Setup`" section.
 
 ftrace, trace-cmd, and kernelshark run on the target system, and are
-ready to go out-of-the-box - no additional setup is necessary. For the
+ready to go out-of-the-box --- no additional setup is necessary. For the
 rest of this section we assume you've ssh'ed to the host and will be
 running ftrace on the target. kernelshark is a GUI application and if
 you use the '-X' option to ssh you can have the kernelshark GUI run on
@@ -1321,7 +1321,7 @@
    ftrace:function tracepoint.
 
 It is a little more difficult to follow the call chains than it needs to
-be - luckily there's a variant of the function tracer that displays the
+be --- luckily there's a variant of the function tracer that displays the
 callchains explicitly, called the 'function_graph' tracer::
 
    root@sugarbay:/sys/kernel/debug/tracing# echo function_graph > current_tracer
@@ -2138,7 +2138,7 @@
    .
 
 You can now safely destroy the trace
-session (note that this doesn't delete the trace - it's still there in
+session (note that this doesn't delete the trace --- it's still there in
 ~/lttng-traces)::
 
    root@crownbay:~# lttng destroy
@@ -2222,7 +2222,7 @@
    .
 
 You can now safely destroy the trace session (note that this doesn't delete the
-trace - it's still there in ~/lttng-traces)::
+trace --- it's still there in ~/lttng-traces)::
 
    root@crownbay:~# lttng destroy
    Session auto-20190303-021943 destroyed at /home/root
@@ -2557,7 +2557,7 @@
    root@crownbay:/sys/kernel/debug/tracing# cat /media/sdc/testfile.txt
 
 And look at the output (note here that we're using 'trace_pipe' instead of
-trace to capture this trace - this allows us to wait around on the pipe
+trace to capture this trace --- this allows us to wait around on the pipe
 for data to appear)::
 
    root@crownbay:/sys/kernel/debug/tracing# cat trace_pipe
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index 729aa25..424c505 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -108,18 +108,18 @@
 It's useful to have some idea of how the tasks defined by the
 ``autotools*`` classes work and what they do behind the scenes.
 
--  :ref:`ref-tasks-configure` - Regenerates the
+-  :ref:`ref-tasks-configure` --- regenerates the
    configure script (using ``autoreconf``) and then launches it with a
    standard set of arguments used during cross-compilation. You can pass
    additional parameters to ``configure`` through the :term:`EXTRA_OECONF`
    or :term:`PACKAGECONFIG_CONFARGS`
    variables.
 
--  :ref:`ref-tasks-compile` - Runs ``make`` with
+-  :ref:`ref-tasks-compile` --- runs ``make`` with
    arguments that specify the compiler and linker. You can pass
    additional arguments through the :term:`EXTRA_OEMAKE` variable.
 
--  :ref:`ref-tasks-install` - Runs ``make install`` and
+-  :ref:`ref-tasks-install` --- runs ``make install`` and
    passes in ``${``\ :term:`D`\ ``}`` as ``DESTDIR``.
 
 .. _ref-classes-base:
@@ -2000,9 +2000,7 @@
 archive (see `PEP-517 <https://peps.python.org/pep-0517/>`__).
 
 Recipes wouldn't inherit this directly, instead typically another class will
-inherit this, add the relevant native dependencies, and set
-:term:`PEP517_BUILD_API` to the Python class which implements the PEP-517 build
-API.
+inherit this and add the relevant native dependencies.
 
 Examples of classes which do this are :ref:`python_flit_core
 <ref-classes-python_flit_core>`, :ref:`python_setuptools_build_meta
diff --git a/poky/documentation/ref-manual/devtool-reference.rst b/poky/documentation/ref-manual/devtool-reference.rst
index 10ca70a..997ec03 100644
--- a/poky/documentation/ref-manual/devtool-reference.rst
+++ b/poky/documentation/ref-manual/devtool-reference.rst
@@ -164,7 +164,7 @@
 ==========================================
 
 Use the ``devtool add`` command to add a new recipe to the workspace
-layer. The recipe you add should not exist - ``devtool`` creates it for
+layer. The recipe you add should not exist --- ``devtool`` creates it for
 you. The source files the recipe uses should exist in an external area.
 
 The following example creates and adds a new recipe named ``jackson`` to
diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst
index e06b5e6..2fcbf7d 100644
--- a/poky/documentation/ref-manual/faq.rst
+++ b/poky/documentation/ref-manual/faq.rst
@@ -22,7 +22,7 @@
 **A:** You can get the required tools on your host development system a
 couple different ways (i.e. building a tarball or downloading a
 tarball). See the
-":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`"
+":ref:`ref-manual/system-requirements:required git, tar, python, make and gcc versions`"
 section for steps on how to update your build tools.
 
 **Q:** How can you claim Poky / OpenEmbedded-Core is stable?
@@ -364,7 +364,7 @@
 
 **Q:** Can I get rid of build output so I can start over?
 
-**A:** Yes - you can easily do this. When you use BitBake to build an
+**A:** Yes --- you can easily do this. When you use BitBake to build an
 image, all the build output goes into the directory created when you run
 the build environment setup script (i.e.
 :ref:`structure-core-script`). By default, this :term:`Build Directory`
@@ -428,7 +428,7 @@
       build/tmp/sysroots/x86_64-linux/usr/bin
 
 Even if the paths look unusual,
-they both are correct - the first for a target and the second for a
+they both are correct --- the first for a target and the second for a
 native recipe. These paths are a consequence of the ``DESTDIR``
 mechanism and while they appear strange, they are correct and in
 practice very effective.
diff --git a/poky/documentation/ref-manual/features.rst b/poky/documentation/ref-manual/features.rst
index f7abb41..17521ac 100644
--- a/poky/documentation/ref-manual/features.rst
+++ b/poky/documentation/ref-manual/features.rst
@@ -100,7 +100,9 @@
 a package or packages. In most cases, the presence or absence of a
 feature translates to the appropriate option supplied to the configure
 script during the :ref:`ref-tasks-configure` task for
-the recipes that optionally support the feature.
+the recipes that optionally support the feature. Appropriate options
+must be supplied, and enabling/disabling :term:`PACKAGECONFIG` for the
+concerned packages is one way of supplying such options.
 
 Some distro features are also machine features. These select features
 make sense to be controlled both at the machine and distribution
@@ -198,17 +200,19 @@
 
 Here are the image features available for all images:
 
--  *allow-empty-password:* Allows Dropbear and OpenSSH to accept root
-   logins and logins from accounts having an empty password string.
+-  *allow-empty-password:* Allows Dropbear and OpenSSH to accept
+   logins from accounts having an empty password string.
+
+-  *allow-root-login:* Allows Dropbear and OpenSSH to accept root logins.
 
 -  *dbg-pkgs:* Installs debug symbol packages for all packages installed
    in a given image.
 
 -  *debug-tweaks:* Makes an image suitable for development (e.g. allows
-   root logins without passwords and enables post-installation logging).
-   See the 'allow-empty-password', 'empty-root-password', and
-   'post-install-logging' features in this list for additional
-   information.
+   root logins, logins without passwords ---including root ones, and enables
+   post-installation logging). See the ``allow-empty-password``,
+   ``allow-root-login``, ``empty-root-password``, and ``post-install-logging``
+   features in this list for additional information.
 
 -  *dev-pkgs:* Installs development packages (headers and extra library
    links) for all packages installed in a given image.
@@ -216,8 +220,19 @@
 -  *doc-pkgs:* Installs documentation packages for all packages
    installed in a given image.
 
--  *empty-root-password:* Sets the root password to an empty string,
-   which allows logins with a blank password.
+-  *empty-root-password:* This feature or ``debug-tweaks`` is required if
+   you want to allow root login with an empty password. If these features
+   are not present in :term:`IMAGE_FEATURES`, a non-empty password is
+   forced in ``/etc/passwd`` and ``/etc/shadow`` if such files exist.
+
+   .. note::
+       ``empty-root-passwd`` doesn't set an empty root password by itself.
+       You get an initial empty root password thanks to the
+       :oe_git:`base-passwd </openembedded-core/tree/meta/recipes-core/base-passwd/>`
+       and :oe_git:`shadow </openembedded-core/tree/meta/recipes-extended/shadow/>`
+       recipes, and the presence of ``empty-root-passwd`` or ``debug-tweaks``
+       just disables the mechanism which forces an non-empty password for the
+       root user.
 
 -  *overlayfs-etc:* Configures the ``/etc`` directory to be in ``overlayfs``.
    This allows to store device specific information elsewhere, especially
diff --git a/poky/documentation/ref-manual/qa-checks.rst b/poky/documentation/ref-manual/qa-checks.rst
index 8c475d0..fbab1dc 100644
--- a/poky/documentation/ref-manual/qa-checks.rst
+++ b/poky/documentation/ref-manual/qa-checks.rst
@@ -613,7 +613,7 @@
     so using ${:term:`BPN`} rather than ${:term:`PN`} as the latter will change
     for different variants of the same recipe e.g. when :term:`BBCLASSEXTEND`
     or multilib are being used. This check will fail if a reference to ``${PN}``
-    is found within the :term:`SRC_URI` value - change it to ``${BPN}`` instead.
+    is found within the :term:`SRC_URI` value --- change it to ``${BPN}`` instead.
 
 
 .. _qa-check-unhandled-features-check:
@@ -727,7 +727,7 @@
             devtool modify <recipe>
 
     This will apply all of the patches, and create new commits out of them in
-    the workspace - with the patch context updated.
+    the workspace --- with the patch context updated.
 
     Then, replace the patches in the recipe layer::
 
diff --git a/poky/documentation/ref-manual/resources.rst b/poky/documentation/ref-manual/resources.rst
index c942384..292a9d6 100644
--- a/poky/documentation/ref-manual/resources.rst
+++ b/poky/documentation/ref-manual/resources.rst
@@ -64,22 +64,22 @@
 click on the appropriate URL in the following list and follow the
 instructions:
 
--  :yocto_lists:`/g/yocto` - General Yocto Project
+-  :yocto_lists:`/g/yocto` --- general Yocto Project
    discussion mailing list.
 
--  :oe_lists:`/g/openembedded-core` - Discussion mailing
+-  :oe_lists:`/g/openembedded-core` --- discussion mailing
    list about OpenEmbedded-Core (the core metadata).
 
--  :oe_lists:`/g/openembedded-devel` - Discussion
+-  :oe_lists:`/g/openembedded-devel` --- discussion
    mailing list about OpenEmbedded.
 
--  :oe_lists:`/g/bitbake-devel` - Discussion mailing
+-  :oe_lists:`/g/bitbake-devel` --- discussion mailing
    list about the :term:`BitBake` build tool.
 
--  :yocto_lists:`/g/poky` - Discussion mailing list
+-  :yocto_lists:`/g/poky` --- discussion mailing list
    about :term:`Poky`.
 
--  :yocto_lists:`/g/yocto-announce` - Mailing list to
+-  :yocto_lists:`/g/yocto-announce` --- mailing list to
    receive official Yocto Project release and milestone announcements.
 
 For more Yocto Project-related mailing lists, see the
diff --git a/poky/documentation/ref-manual/structure.rst b/poky/documentation/ref-manual/structure.rst
index 12a0855..bdcffc1 100644
--- a/poky/documentation/ref-manual/structure.rst
+++ b/poky/documentation/ref-manual/structure.rst
@@ -213,8 +213,8 @@
 
 .. _structure-build:
 
-The Build Directory - ``build/``
-================================
+The Build Directory --- ``build/``
+==================================
 
 The OpenEmbedded build system creates the :term:`Build Directory`
 when you run the build environment setup
@@ -589,7 +589,7 @@
 ``build/tmp/work/tunearch/recipename/version/``
 -----------------------------------------------
 
-The recipe work directory - ``${WORKDIR}``.
+The recipe work directory --- ``${WORKDIR}``.
 
 As described earlier in the
 ":ref:`structure-build-tmp-sysroots`" section,
@@ -654,8 +654,8 @@
 
 .. _structure-meta:
 
-The Metadata - ``meta/``
-========================
+The Metadata --- ``meta/``
+==========================
 
 As mentioned previously, :term:`Metadata` is the core of the
 Yocto Project. Metadata has several important subdivisions:
diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst
index 04f9efa..6cf88f2 100644
--- a/poky/documentation/ref-manual/system-requirements.rst
+++ b/poky/documentation/ref-manual/system-requirements.rst
@@ -234,8 +234,8 @@
       $ sudo dnf install make python3-pip which
       &PIP3_HOST_PACKAGES_DOC;
 
-Required Git, tar, Python and gcc Versions
-==========================================
+Required Git, tar, Python, make and gcc Versions
+================================================
 
 In order to use the build system, your host development system must meet
 the following version requirements for Git, tar, and Python:
@@ -246,6 +246,8 @@
 
 -  Python &MIN_PYTHON_VERSION; or greater
 
+-  GNU make &MIN_MAKE_VERSION; or greater
+
 If your host development system does not meet all these requirements,
 you can resolve this by installing a ``buildtools`` tarball that
 contains these tools. You can get the tarball one of two ways: download
diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst
index cba514c..1e3f718 100644
--- a/poky/documentation/ref-manual/terms.rst
+++ b/poky/documentation/ref-manual/terms.rst
@@ -270,7 +270,7 @@
       your Linux distribution.
 
       Another point worth noting is that historically within the Yocto
-      Project, recipes were referred to as packages - thus, the existence
+      Project, recipes were referred to as packages --- thus, the existence
       of several BitBake variables that are seemingly mis-named, (e.g.
       :term:`PR`, :term:`PV`, and
       :term:`PE`).
@@ -369,7 +369,7 @@
      Directory created by unpacking a released tarball as compared to
      cloning ``git://git.yoctoproject.org/poky``. When you unpack a
      tarball, you have an exact copy of the files based on the time of
-     release - a fixed release point. Any changes you make to your local
+     release --- a fixed release point. Any changes you make to your local
      files in the Source Directory are on top of the release and will
      remain local only. On the other hand, when you clone the ``poky`` Git
      repository, you have an active development repository with access to
@@ -383,6 +383,31 @@
      ":ref:`overview-manual/development-environment:repositories, tags, and branches`"
      section in the Yocto Project Overview and Concepts Manual.
 
+   :term:`Sysroot`
+      When cross-compiling, the target file system may be differently laid
+      out and contain different things compared to the host system. The concept
+      of a *sysroot* is directory which looks like the target filesystem and
+      can be used to cross-compile against.
+
+      In the context of cross-compiling toolchains, a *sysroot*
+      typically contains C library and kernel headers, plus the
+      compiled binaries for the C library. A *multilib toolchain*
+      can contain multiple variants of the C library binaries,
+      each compiled for a target instruction set (such as ``armv5``,
+      ``armv7`` and ``armv8``), and possibly optimized for a specific CPU core.
+
+      In the more specific context of the OpenEmbedded build System and
+      of the Yocto Project, each recipe has two sysroots:
+
+      -  A *target sysroot* contains all the **target** libraries and headers
+         needed to build the recipe.
+
+      -  A *native sysroot* contains all the **host** files and executables
+         needed to build the recipe.
+
+      See the :term:`SYSROOT_* <SYSROOT_DESTDIR>` variables controlling
+      how sysroots are created and stored.
+
    :term:`Task`
       A per-recipe unit of execution for BitBake (e.g.
       :ref:`ref-tasks-compile`,
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index 367b467..1710830 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -591,7 +591,7 @@
       This variable is useful in situations where the same recipe appears
       in more than one layer. Setting this variable allows you to
       prioritize a layer against other layers that contain the same recipe
-      - effectively letting you control the precedence for the multiple
+      --- effectively letting you control the precedence for the multiple
       layers. The precedence established through this variable stands
       regardless of a recipe's version (:term:`PV` variable). For
       example, a layer that has a recipe with a higher :term:`PV` value but for
@@ -718,10 +718,11 @@
 
          BBMULTICONFIG = "configA configB configC"
 
-      Each configuration file you
-      use must reside in the :term:`Build Directory`
-      ``conf/multiconfig`` directory (e.g.
-      ``build_directory/conf/multiconfig/configA.conf``).
+      Each configuration file you use must reside in a ``multiconfig``
+      subdirectory of a configuration directory within a layer, or
+      within the :term:`Build Directory` (e.g.
+      ``build_directory/conf/multiconfig/configA.conf`` or
+      ``mylayer/conf/multiconfig/configB.conf``).
 
       For information on how to use :term:`BBMULTICONFIG` in an environment
       that supports building targets with multiple configurations, see the
@@ -888,7 +889,7 @@
    :term:`BUILD_OS`
       Specifies the operating system in use on the build host (e.g.
       "linux"). The OpenEmbedded build system sets the value of
-      :term:`BUILD_OS` from the OS reported by the ``uname`` command - the
+      :term:`BUILD_OS` from the OS reported by the ``uname`` command --- the
       first word, converted to lower-case characters.
 
    :term:`BUILD_PREFIX`
@@ -1296,6 +1297,19 @@
       the recipe will be skipped, and if the build system attempts to build
       the recipe then an error will be triggered.
 
+   :term:`CONVERSION_CMD`
+      This variable is used for storing image conversion commands.
+      Image conversion can convert an image into different objects like:
+
+      -   Compressed version of the image
+
+      -   Checksums for the image
+
+      An example of :term:`CONVERSION_CMD` from :ref:`image-types
+      <ref-classes-image_types>` class is::
+
+         CONVERSION_CMD:lzo = "lzop -9 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}"
+
    :term:`COPY_LIC_DIRS`
       If set to "1" along with the
       :term:`COPY_LIC_MANIFEST` variable, the
@@ -1688,7 +1702,7 @@
       ``${TMPDIR}/deploy``.
 
       For more information on the structure of the Build Directory, see
-      ":ref:`ref-manual/structure:the build directory - \`\`build/\`\``" section.
+      ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
       For more detail on the contents of the ``deploy`` directory, see the
       ":ref:`overview-manual/concepts:images`",
       ":ref:`overview-manual/concepts:package feeds`", and
@@ -1732,7 +1746,7 @@
       <ref-classes-image>` class.
 
       For more information on the structure of the Build Directory, see
-      ":ref:`ref-manual/structure:the build directory - \`\`build/\`\``" section.
+      ":ref:`ref-manual/structure:the build directory --- \`\`build/\`\``" section.
       For more detail on the contents of the ``deploy`` directory, see the
       ":ref:`overview-manual/concepts:images`" and
       ":ref:`overview-manual/concepts:application development sdk`" sections both in
@@ -1872,7 +1886,10 @@
       optionally support the feature. For example, specifying "x11" in
       :term:`DISTRO_FEATURES`, causes every piece of software built for the
       target that can optionally support X11 to have its X11 support
-      enabled.
+      enabled. Note: just enabling :term:`DISTRO_FEATURES` alone doesn't
+      enable feature support for packages, mechanisms such as making
+      :term:`PACKAGECONFIG` track :term:`DISTRO_FEATURES` are used
+      to enable/disable package features.
 
       Two more examples are Bluetooth and NFS support. For a more complete
       list of features that ships with the Yocto Project and that you can
@@ -2244,24 +2261,24 @@
 
       Here are some examples of features you can add:
 
-        - "dbg-pkgs" - Adds -dbg packages for all installed packages including
+        - "dbg-pkgs" --- adds -dbg packages for all installed packages including
           symbol information for debugging and profiling.
 
-        - "debug-tweaks" - Makes an image suitable for debugging. For example, allows root logins without passwords and
+        - "debug-tweaks" --- makes an image suitable for debugging. For example, allows root logins without passwords and
           enables post-installation logging. See the 'allow-empty-password' and
           'post-install-logging' features in the ":ref:`ref-features-image`"
           section for more information.
-        - "dev-pkgs" - Adds -dev packages for all installed packages. This is
+        - "dev-pkgs" --- adds -dev packages for all installed packages. This is
           useful if you want to develop against the libraries in the image.
-        - "read-only-rootfs" - Creates an image whose root filesystem is
+        - "read-only-rootfs" --- creates an image whose root filesystem is
           read-only. See the
           ":ref:`dev-manual/common-tasks:creating a read-only root filesystem`"
           section in the Yocto Project Development Tasks Manual for more
           information
-        - "tools-debug" - Adds debugging tools such as gdb and strace.
-        - "tools-sdk" - Adds development tools such as gcc, make,
+        - "tools-debug" --- adds debugging tools such as gdb and strace.
+        - "tools-sdk" --- adds development tools such as gcc, make,
           pkgconfig and so forth.
-        - "tools-testapps" - Adds useful testing tools
+        - "tools-testapps" --- adds useful testing tools
           such as ts_print, aplay, arecord and so forth.
 
       For a complete list of image features that ships with the Yocto
@@ -3255,7 +3272,7 @@
          IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
 
    :term:`IMAGE_NAME_SUFFIX`
-      Suffix used for the image output filename - defaults to ``".rootfs"``
+      Suffix used for the image output filename --- defaults to ``".rootfs"``
       to distinguish the image file from other files created during image
       building; however if this suffix is redundant or not desired you can
       clear the value of this variable (set the value to ""). For example,
@@ -3543,6 +3560,14 @@
          remove dependencies on or provide alternatives to components that
          are required to produce a functional system image.
 
+   :term:`INCOMPATIBLE_LICENSE_EXCEPTIONS`
+      Specifies a space-separated list of package and license pairs that
+      are allowed to be used even if the license is specified in
+      :term:`INCOMPATIBLE_LICENSE`. The package and license pairs are
+      separated using a colon. Example::
+
+         INCOMPATIBLE_LICENSE_EXCEPTIONS = "gdbserver:GPL-3.0-only gdbserver:LGPL-3.0-only"
+
    :term:`INHERIT`
       Causes the named class or classes to be inherited globally. Anonymous
       functions in the class or classes are not executed for the base
@@ -5657,11 +5682,6 @@
 
       :term:`PE` is the default value of the :term:`PKGE` variable.
 
-   :term:`PEP517_BUILD_API`
-      When used by recipes that inherit the :ref:`python_pep517
-      <ref-classes-python_pep517>` class, specifies the entry point to the
-      PEP-517 compliant build API (such as ``flit_core.buildapi``).
-
    :term:`PEP517_WHEEL_PATH`
       When used by recipes that inherit the
       :ref:`python_pep517 <ref-classes-python_pep517>` class,
@@ -6205,7 +6225,7 @@
       ``baz``.
 
       The names of the packages you list within :term:`RDEPENDS` must be the
-      names of other packages - they cannot be recipe names. Although
+      names of other packages --- they cannot be recipe names. Although
       package names and recipe names usually match, the important point
       here is that you are providing package names within the :term:`RDEPENDS`
       variable. For an example of the default list of packages created from
@@ -7108,35 +7128,35 @@
 
       There are standard and recipe-specific options. Here are standard ones:
 
-      -  ``apply`` - Whether to apply the patch or not. The default
+      -  ``apply`` --- whether to apply the patch or not. The default
          action is to apply the patch.
 
-      -  ``striplevel`` - Which striplevel to use when applying the
+      -  ``striplevel`` --- which striplevel to use when applying the
          patch. The default level is 1.
 
-      -  ``patchdir`` - Specifies the directory in which the patch should
+      -  ``patchdir`` --- specifies the directory in which the patch should
          be applied. The default is ``${``\ :term:`S`\ ``}``.
 
       Here are options specific to recipes building code from a revision
       control system:
 
-      -  ``mindate`` - Apply the patch only if
+      -  ``mindate`` --- apply the patch only if
          :term:`SRCDATE` is equal to or greater than
          ``mindate``.
 
-      -  ``maxdate`` - Apply the patch only if :term:`SRCDATE` is not later
+      -  ``maxdate`` --- apply the patch only if :term:`SRCDATE` is not later
          than ``maxdate``.
 
-      -  ``minrev`` - Apply the patch only if :term:`SRCREV` is equal to or
+      -  ``minrev`` --- apply the patch only if :term:`SRCREV` is equal to or
          greater than ``minrev``.
 
-      -  ``maxrev`` - Apply the patch only if :term:`SRCREV` is not later
+      -  ``maxrev`` --- apply the patch only if :term:`SRCREV` is not later
          than ``maxrev``.
 
-      -  ``rev`` - Apply the patch only if :term:`SRCREV` is equal to
+      -  ``rev`` --- apply the patch only if :term:`SRCREV` is equal to
          ``rev``.
 
-      -  ``notrev`` - Apply the patch only if :term:`SRCREV` is not equal to
+      -  ``notrev`` --- apply the patch only if :term:`SRCREV` is not equal to
          ``rev``.
 
       .. note::
@@ -7217,6 +7237,32 @@
    :term:`SSTATE_DIR`
       The directory for the shared state cache.
 
+   :term:`SSTATE_EXCLUDEDEPS_SYSROOT`
+      This variable allows to specify indirect dependencies to exclude
+      from sysroots, for example to avoid the situations when a dependency on
+      any ``-native`` recipe will pull in all dependencies of that recipe
+      in the recipe sysroot. This behaviour might not always be wanted,
+      for example when that ``-native`` recipe depends on build tools
+      that are not relevant for the current recipe.
+
+      This way, irrelevant dependencies are ignored, which could have
+      prevented the reuse of prebuilt artifacts stored in the Shared
+      State Cache.
+
+      ``SSTATE_EXCLUDEDEPS_SYSROOT`` is evaluated as two regular
+      expressions of recipe and dependency to ignore. An example
+      is the rule in :oe_git:`meta/conf/layer.conf </meta/conf/layer.conf>`::
+
+         # Nothing needs to depend on libc-initial
+         # base-passwd/shadow-sysroot don't need their dependencies
+         SSTATE_EXCLUDEDEPS_SYSROOT += "\
+             .*->.*-initial.* \
+             .*(base-passwd|shadow-sysroot)->.* \
+         "
+
+      The ``->`` substring represents the dependency between
+      the two regular expressions.
+
    :term:`SSTATE_MIRROR_ALLOW_NETWORK`
       If set to "1", allows fetches from mirrors that are specified in
       :term:`SSTATE_MIRRORS` to work even when
@@ -7639,6 +7685,24 @@
       For information on Systemd-boot, see the `Systemd-boot
       documentation <https://www.freedesktop.org/wiki/Software/systemd/systemd-boot/>`__.
 
+   :term:`SYSTEMD_DEFAULT_TARGET`
+
+      This variable allows to set the default unit that systemd starts at bootup.
+      Usually, this is either ``multi-user.target`` or ``graphical.target``.
+      This works by creating a ``default.target`` symbolic link to the chosen systemd
+      target file.
+
+      See `systemd's documentation
+      <https://www.freedesktop.org/software/systemd/man/systemd.special.html>`__
+      for details.
+
+      For example, this variable is used in the
+      `core-image-minimal-xfce.bb
+      <https://git.openembedded.org/meta-openembedded/tree/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb>`__
+      recipe::
+
+          SYSTEMD_DEFAULT_TARGET = "graphical.target"
+
    :term:`SYSTEMD_PACKAGES`
       When inheriting the :ref:`systemd <ref-classes-systemd>` class,
       this variable locates the systemd unit files when they are not found
@@ -7656,12 +7720,18 @@
       When inheriting the :ref:`systemd <ref-classes-systemd>` class,
       this variable specifies the systemd service name for a package.
 
+      Multiple services can be specified, each one separated by a space.
+
       When you specify this file in your recipe, use a package name
       override to indicate the package to which the value applies. Here is
       an example from the connman recipe::
 
          SYSTEMD_SERVICE:${PN} = "connman.service"
 
+      The package overrides that can be specified are directly related to the value of
+      term:`SYSTEMD_PACKAGES`. Overrides not included in term:`SYSTEMD_PACKAGES`
+      will be silently ignored.
+
    :term:`SYSVINIT_ENABLED_GETTYS`
       When using
       :ref:`SysVinit <dev-manual/common-tasks:enabling system services>`,
@@ -8795,8 +8865,8 @@
       -  :term:`TMPDIR`: The top-level build output directory
       -  :term:`MULTIMACH_TARGET_SYS`: The target system identifier
       -  :term:`PN`: The recipe name
-      -  :term:`EXTENDPE`: The epoch - (if :term:`PE` is not specified, which
-         is usually the case for most recipes, then `EXTENDPE` is blank)
+      -  :term:`EXTENDPE`: The epoch --- if :term:`PE` is not specified, which
+         is usually the case for most recipes, then `EXTENDPE` is blank.
       -  :term:`PV`: The recipe version
       -  :term:`PR`: The recipe revision
 
diff --git a/poky/documentation/ref-manual/varlocality.rst b/poky/documentation/ref-manual/varlocality.rst
index 5f7dba8..e2c086f 100644
--- a/poky/documentation/ref-manual/varlocality.rst
+++ b/poky/documentation/ref-manual/varlocality.rst
@@ -113,7 +113,7 @@
 
 -  :term:`LIC_FILES_CHKSUM`
 
--  :term:`SRC_URI` - used in recipes that fetch local or remote files.
+-  :term:`SRC_URI` --- used in recipes that fetch local or remote files.
 
 .. _ref-varlocality-recipe-dependencies:
 
diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst
index 08984b2..b2b4486 100644
--- a/poky/documentation/releases.rst
+++ b/poky/documentation/releases.rst
@@ -17,28 +17,7 @@
 
 - :yocto_docs:`4.0 Documentation </4.0>`
 - :yocto_docs:`4.0.1 Documentation </4.0.1>`
-
-******************************
-Release Series 3.4 (honister)
-******************************
-
-- :yocto_docs:`3.4 Documentation </3.4>`
-- :yocto_docs:`3.4.1 Documentation </3.4.1>`
-- :yocto_docs:`3.4.2 Documentation </3.4.2>`
-- :yocto_docs:`3.4.3 Documentation </3.4.3>`
-- :yocto_docs:`3.4.4 Documentation </3.4.4>`
-
-******************************
-Release Series 3.3 (hardknott)
-******************************
-
-- :yocto_docs:`3.3 Documentation </3.3>`
-- :yocto_docs:`3.3.1 Documentation </3.3.1>`
-- :yocto_docs:`3.3.2 Documentation </3.3.2>`
-- :yocto_docs:`3.3.3 Documentation </3.3.3>`
-- :yocto_docs:`3.3.4 Documentation </3.3.4>`
-- :yocto_docs:`3.3.5 Documentation </3.3.5>`
-- :yocto_docs:`3.3.6 Documentation </3.3.6>`
+- :yocto_docs:`4.0.2 Documentation </4.0.2>`
 
 ****************************
 Release Series 3.1 (dunfell)
@@ -61,11 +40,34 @@
 - :yocto_docs:`3.1.14 Documentation </3.1.14>`
 - :yocto_docs:`3.1.15 Documentation </3.1.15>`
 - :yocto_docs:`3.1.16 Documentation </3.1.16>`
+- :yocto_docs:`3.1.17 Documentation </3.1.17>`
 
 ==========================
  Outdated Release Manuals
 ==========================
 
+******************************
+Release Series 3.4 (honister)
+******************************
+
+- :yocto_docs:`3.4 Documentation </3.4>`
+- :yocto_docs:`3.4.1 Documentation </3.4.1>`
+- :yocto_docs:`3.4.2 Documentation </3.4.2>`
+- :yocto_docs:`3.4.3 Documentation </3.4.3>`
+- :yocto_docs:`3.4.4 Documentation </3.4.4>`
+
+******************************
+Release Series 3.3 (hardknott)
+******************************
+
+- :yocto_docs:`3.3 Documentation </3.3>`
+- :yocto_docs:`3.3.1 Documentation </3.3.1>`
+- :yocto_docs:`3.3.2 Documentation </3.3.2>`
+- :yocto_docs:`3.3.3 Documentation </3.3.3>`
+- :yocto_docs:`3.3.4 Documentation </3.3.4>`
+- :yocto_docs:`3.3.5 Documentation </3.3.5>`
+- :yocto_docs:`3.3.6 Documentation </3.3.6>`
+
 *******************************
 Release Series 3.2 (gatesgarth)
 *******************************
diff --git a/poky/documentation/sdk-manual/extensible.rst b/poky/documentation/sdk-manual/extensible.rst
index 6bb2622..ed9e43a 100644
--- a/poky/documentation/sdk-manual/extensible.rst
+++ b/poky/documentation/sdk-manual/extensible.rst
@@ -252,7 +252,7 @@
    -  *Left*: The left scenario in the figure represents a common
       situation where the source code does not exist locally and needs
       to be extracted. In this situation, the source code is extracted
-      to the default workspace - you do not want the files in some
+      to the default workspace --- you do not want the files in some
       specific location outside of the workspace. Thus, everything you
       need will be located in the workspace::
 
@@ -267,7 +267,7 @@
    -  *Middle*: The middle scenario in the figure also represents a
       situation where the source code does not exist locally. In this
       case, the code is again upstream and needs to be extracted to some
-      local area - this time outside of the default workspace.
+      local area --- this time outside of the default workspace.
 
       .. note::
 
@@ -302,7 +302,7 @@
       recipe for the code and places the recipe into the workspace.
 
       Because the extracted source code already exists, ``devtool`` does
-      not try to relocate the source code into the workspace - only the
+      not try to relocate the source code into the workspace --- only the
       new recipe is placed in the workspace.
 
       Aside from a recipe folder, the command also creates an associated
diff --git a/poky/documentation/sdk-manual/working-projects.rst b/poky/documentation/sdk-manual/working-projects.rst
index efef5c8..7f8d9b8 100644
--- a/poky/documentation/sdk-manual/working-projects.rst
+++ b/poky/documentation/sdk-manual/working-projects.rst
@@ -174,19 +174,19 @@
 The main point of this section is to explain the following three cases
 regarding variable behavior:
 
--  *Case 1 - No Variables Set in the Makefile Map to Equivalent
+-  *Case 1 --- No Variables Set in the Makefile Map to Equivalent
    Environment Variables Set in the SDK Setup Script:* Because matching
    variables are not specifically set in the ``Makefile``, the variables
    retain their values based on the environment setup script.
 
--  *Case 2 - Variables Are Set in the Makefile that Map to Equivalent
+-  *Case 2 --- Variables Are Set in the Makefile that Map to Equivalent
    Environment Variables from the SDK Setup Script:* Specifically
    setting matching variables in the ``Makefile`` during the build
    results in the environment settings of the variables being
    overwritten. In this case, the variables you set in the ``Makefile``
    are used.
 
--  *Case 3 - Variables Are Set Using the Command Line that Map to
+-  *Case 3 --- Variables Are Set Using the Command Line that Map to
    Equivalent Environment Variables from the SDK Setup Script:*
    Executing the ``Makefile`` from the command line results in the
    environment variables being overwritten. In this case, the
diff --git a/poky/documentation/standards.md b/poky/documentation/standards.md
index 81aff5f..9f4771e 100644
--- a/poky/documentation/standards.md
+++ b/poky/documentation/standards.md
@@ -7,6 +7,54 @@
 
 ## Text standards
 
+### Bulleted lists
+
+Though Sphinx supports both the ``*`` and ``-`` characters
+for introducing bulleted lists, we have chosen to use
+only ``-`` for this purpose.
+
+Though not strictly required by Sphinx, we have also chosen
+to use two space characters after ``-`` to introduce each
+list item:
+
+    -  Paragraph 1
+
+    -  Paragraph 2
+
+As shown in the above example, there should also be an empty
+line between each list item.
+
+An exception to this rule is when the list items are just made
+of a few words, instead of entire paragraphs:
+
+    -  Item 1
+    -  Item 2
+
+This is again a matter of style, not syntax.
+
+### Line wrapping
+
+Source code for the documentation shouldn't have lines
+wider than 80 characters. This makes patch lines more
+readable and code easier to quote in e-mail clients.
+
+If you have to include long commands or lines in configuration
+files, provided the syntax makes this possible, split them
+into multiple lines, using the ``\`` character.
+
+Here is an example:
+
+    $ scripts/install-buildtools \
+      --without-extended-buildtools \
+      --base-url https://downloads.yoctoproject.org/releases/yocto \
+      --release yocto-4.0.1 \
+      --installer-version 4.0.1
+
+Exceptions are granted for file contents whose lines
+cannot be split without infringing syntactic rules
+or reducing readability, as well as for command output
+which should be kept unmodified.
+
 ### Project names
 
 Project names should be capitalized in the same
@@ -23,13 +71,25 @@
 * When used in a cross-reference title. Such
   titles are usually in lower case.
 
-### File names
+### File, tool and command names
 
-File names should be quoted as in the below example:
+File, tool and command names should be double tick-quoted.
+For example, ``` ``conf/local.conf`` ``` is preferred over
+`"conf/local.conf"`.
 
-     ``conf/local.conf``
+### Variables
 
-Using "conf/local/conf" would be wrong.
+Every variable should be mentioned with:
+
+    :term:`VARIABLE`
+
+This assumes that `VARIABLE` is described either
+in the Yocto Project documentation variable index (`ref-manual/variables.rst`)
+or in the BitBake User Manual
+(`doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst`)
+
+If it is not described yet, the variable should be added to the
+glossary before or in the same patch it is used, so that `:term:` can be used.
 
 ## ReStructured Text Syntax standards
 
diff --git a/poky/documentation/test-manual/intro.rst b/poky/documentation/test-manual/intro.rst
index 12324e5..6421dd5 100644
--- a/poky/documentation/test-manual/intro.rst
+++ b/poky/documentation/test-manual/intro.rst
@@ -85,8 +85,8 @@
    :align: center
    :width: 70%
 
-Yocto Project Tests - Types of Testing Overview
-===============================================
+Yocto Project Tests --- Types of Testing Overview
+=================================================
 
 The Autobuilder tests different elements of the project by using
 the following types of tests:
diff --git a/poky/documentation/transitioning-to-a-custom-environment.rst b/poky/documentation/transitioning-to-a-custom-environment.rst
index 6b34fed..ee1fc89 100644
--- a/poky/documentation/transitioning-to-a-custom-environment.rst
+++ b/poky/documentation/transitioning-to-a-custom-environment.rst
@@ -84,7 +84,7 @@
 
 #. **Now you're ready to create an image recipe**.
    There are a number of ways to do this. However, it is strongly recommended
-   that you have your own image recipe - don't try appending to existing image
+   that you have your own image recipe --- don't try appending to existing image
    recipes. Recipes for images are trivial to create and you usually want to
    fully customize their contents.
 
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample
index 4d2fa51..c91d0dc 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/local.conf.sample
@@ -37,6 +37,10 @@
 # This sets the default machine to be qemux86-64 if no other machine is selected:
 MACHINE ??= "qemux86-64"
 
+# These are some of the more commonly used values. Looking at the files in the
+# meta/conf/machine directory, or the conf/machine directory of any additional layers
+# you add in will show all the available machines.
+
 #
 # Where to place downloads
 #
@@ -230,7 +234,7 @@
 # Note: For this to work you also need hash-equivalence passthrough to the matching server
 #
 #BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687"
-#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/4.0/PATH;downloadfilename=PATH"
+#SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH"
 
 #
 # Qemu configuration
diff --git a/poky/meta-selftest/recipes-test/images/oe-selftest-image.bb b/poky/meta-selftest/recipes-test/images/oe-selftest-image.bb
index e295943..317a071 100644
--- a/poky/meta-selftest/recipes-test/images/oe-selftest-image.bb
+++ b/poky/meta-selftest/recipes-test/images/oe-selftest-image.bb
@@ -1,7 +1,7 @@
 SUMMARY = "An image used during oe-selftest tests"
 
 # libudev is needed for deploy mdadm via devtool
-IMAGE_INSTALL = "packagegroup-core-boot dropbear libudev"
+IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-dropbear libudev"
 IMAGE_FEATURES = "debug-tweaks"
 
 IMAGE_LINGUAS = " "
diff --git a/poky/meta-selftest/recipes-test/sysroot-test/sysroot-la-test_1.0.bb b/poky/meta-selftest/recipes-test/sysroot-test/sysroot-la-test_1.0.bb
new file mode 100644
index 0000000..21f0678
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/sysroot-test/sysroot-la-test_1.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Produce a broken la file"
+LICENSE = "CLOSED"
+INHIBIT_DEFAULT_DEPS = "1"
+
+EXCLUDE_FROM_WORLD = "1"
+
+# remove-libtool.bbclass is inherited by default and removes all
+# .la files which for this test we specifically do not want.
+REMOVE_LIBTOOL_LA = "0"
+
+do_install() {
+    install -d ${D}${libdir}/test/
+    echo '${WORKDIR}' > ${D}${libdir}/test/la-test.la
+}
+
+BBCLASSEXTEND += "native"
diff --git a/poky/meta-selftest/recipes-test/sysroot-test/sysroot-pc-test_1.0.bb b/poky/meta-selftest/recipes-test/sysroot-test/sysroot-pc-test_1.0.bb
new file mode 100644
index 0000000..e748310
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/sysroot-test/sysroot-pc-test_1.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Produce a broken pc file"
+LICENSE = "CLOSED"
+INHIBIT_DEFAULT_DEPS = "1"
+
+EXCLUDE_FROM_WORLD = "1"
+
+do_install() {
+    install -d ${D}${libdir}/test/
+    echo '${WORKDIR}' > ${D}${libdir}/test/test.pc
+}
+
+BBCLASSEXTEND += "native"
diff --git a/poky/meta-selftest/recipes-test/sysroot-test/sysroot-shebang-test_1.0.bb b/poky/meta-selftest/recipes-test/sysroot-test/sysroot-shebang-test_1.0.bb
new file mode 100644
index 0000000..6c834be
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/sysroot-test/sysroot-shebang-test_1.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Check that shebang does not exceed 128 characters"
+LICENSE = "CLOSED"
+INHIBIT_DEFAULT_DEPS = "1"
+
+EXCLUDE_FROM_WORLD = "1"
+do_install() {
+    install -d ${D}${bindir}
+    echo '#!BiM3cnVd1Amtv6PG+FynrQiVMbZnX5ELgF21q3EkuB+44JEGWtq8TvBJ7EGidfVs3eR3wVOUbLnjYDlKUWcm7YC/ute7f+KDHbwxziRUSUBZAUqgjiQdfQ0HnxajI0ozbM863E9JV9k13yZKYfh9/zR77Y6Dl4Dd3zOWS75LSpkAXV' > ${D}${bindir}/max-shebang
+    chmod 755 ${D}${bindir}/max-shebang
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb b/poky/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb
new file mode 100644
index 0000000..c3d3548
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Check that create_cmdline_shebang works"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+INHIBIT_DEFAULT_DEPS = "1"
+
+SRC_URI += "file://test.awk"
+
+EXCLUDE_FROM_WORLD = "1"
+do_install() {
+    install -d ${D}${bindir}
+    # was not able to make ownership preservation check
+    install -m 0400 ${WORKDIR}/test.awk ${D}${bindir}/test
+
+    perm_old="$(stat --format='%a' ${D}${bindir}/test)"
+    sed -i -e 's|@AWK_BIN@|${bindir}/awk|g' ${D}${bindir}/test
+    create_cmdline_shebang_wrapper ${D}${bindir}/test
+    if [ $(${D}${bindir}/test) != "Don't Panic!" ]; then
+        bbfatal "Wrapper is broken"
+    else
+        bbnote "Wrapper is good"
+    fi
+
+    perm_new="$(stat --format='%a' ${D}${bindir}/test.real)"
+
+    if [ "$perm_new" != "$perm_old" ]; then
+        bbfatal "Wrapper permissions for ${D}${bindir}/test.real not preserved. Found $perm_new but expected $perm_old"
+    fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta-selftest/recipes-test/wrapper/files/test.awk b/poky/meta-selftest/recipes-test/wrapper/files/test.awk
new file mode 100644
index 0000000..9142919
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/wrapper/files/test.awk
@@ -0,0 +1,2 @@
+#! @AWK_BIN@ -f
+BEGIN { print "Don't Panic!" }
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend
index 94192af..bec8319 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.10.bbappend
@@ -7,17 +7,17 @@
 KMACHINE:genericx86-64 ?= "common-pc-64"
 KMACHINE:beaglebone-yocto ?= "beaglebone"
 
-SRCREV_machine:genericx86 ?= "a8b4c628f382412e5e7df5750f2be711df95fa06"
-SRCREV_machine:genericx86-64 ?= "a8b4c628f382412e5e7df5750f2be711df95fa06"
-SRCREV_machine:edgerouter ?= "43577894d2295a92fce760dc403b97527fb55835"
-SRCREV_machine:beaglebone-yocto ?= "8038166b729c192d06f1eb37ab6868a5769f8bc5"
+SRCREV_machine:genericx86 ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
+SRCREV_machine:genericx86-64 ?= "2883e69e202dc7948c99a7828e192b2b42c2d90a"
+SRCREV_machine:edgerouter ?= "7c9332d91089ee63581be6cd3e7197c9d3e9a883"
+SRCREV_machine:beaglebone-yocto ?= "3c44f12b9de336579d00ac0105852f4cbf7e8b7d"
 
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
 COMPATIBLE_MACHINE:edgerouter = "edgerouter"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
 
-LINUX_VERSION:genericx86 = "5.10.113"
-LINUX_VERSION:genericx86-64 = "5.10.113"
-LINUX_VERSION:edgerouter = "5.10.113"
-LINUX_VERSION:beaglebone-yocto = "5.10.113"
+LINUX_VERSION:genericx86 = "5.10.130"
+LINUX_VERSION:genericx86-64 = "5.10.130"
+LINUX_VERSION:edgerouter = "5.10.130"
+LINUX_VERSION:beaglebone-yocto = "5.10.130"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
index 85d02a4..a5c0ecd 100644
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.15.bbappend
@@ -7,17 +7,17 @@
 KMACHINE:genericx86-64 ?= "common-pc-64"
 KMACHINE:beaglebone-yocto ?= "beaglebone"
 
-SRCREV_machine:genericx86 ?= "ebfb1822e9f9726d8c587fc0f60cfed43fa0873e"
-SRCREV_machine:genericx86-64 ?= "ebfb1822e9f9726d8c587fc0f60cfed43fa0873e"
-SRCREV_machine:edgerouter ?= "b978686694c3e41968821d6cc2a2a371fd9c2fb0"
-SRCREV_machine:beaglebone-yocto ?= "4c875cf1376178dfab4913aa1350cab50bb093d3"
+SRCREV_machine:genericx86 ?= "a40d2daf2795d89e3ef8af0413b25190558831ec"
+SRCREV_machine:genericx86-64 ?= "a40d2daf2795d89e3ef8af0413b25190558831ec"
+SRCREV_machine:edgerouter ?= "90f1ee6589264545f548d731c2480b08a007230f"
+SRCREV_machine:beaglebone-yocto ?= "9aabbaa89fcb21af7028e814c1f5b61171314d5a"
 
 COMPATIBLE_MACHINE:genericx86 = "genericx86"
 COMPATIBLE_MACHINE:genericx86-64 = "genericx86-64"
 COMPATIBLE_MACHINE:edgerouter = "edgerouter"
 COMPATIBLE_MACHINE:beaglebone-yocto = "beaglebone-yocto"
 
-LINUX_VERSION:genericx86 = "5.15.36"
-LINUX_VERSION:genericx86-64 = "5.15.36"
-LINUX_VERSION:edgerouter = "5.15.36"
-LINUX_VERSION:beaglebone-yocto = "5.15.36"
+LINUX_VERSION:genericx86 = "5.15.54"
+LINUX_VERSION:genericx86-64 = "5.15.54"
+LINUX_VERSION:edgerouter = "5.15.54"
+LINUX_VERSION:beaglebone-yocto = "5.15.54"
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index 8d02606..33070cd 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -55,9 +55,10 @@
 
 DEPLOY_DIR_SRC ?= "${DEPLOY_DIR}/sources"
 ARCHIVER_TOPDIR ?= "${WORKDIR}/archiver-sources"
-ARCHIVER_OUTDIR = "${ARCHIVER_TOPDIR}/${TARGET_SYS}/${PF}/"
+ARCHIVER_ARCH = "${TARGET_SYS}"
+ARCHIVER_OUTDIR = "${ARCHIVER_TOPDIR}/${ARCHIVER_ARCH}/${PF}/"
 ARCHIVER_RPMTOPDIR ?= "${WORKDIR}/deploy-sources-rpm"
-ARCHIVER_RPMOUTDIR = "${ARCHIVER_RPMTOPDIR}/${TARGET_SYS}/${PF}/"
+ARCHIVER_RPMOUTDIR = "${ARCHIVER_RPMTOPDIR}/${ARCHIVER_ARCH}/${PF}/"
 ARCHIVER_WORKDIR = "${WORKDIR}/archiver-work/"
 
 # When producing a combined mirror directory, allow duplicates for the case
@@ -101,6 +102,10 @@
         bb.debug(1, 'archiver: %s is excluded, covered by gcc-source' % pn)
         return
 
+    # TARGET_SYS in ARCHIVER_ARCH will break the stamp for gcc-source in multiconfig
+    if pn.startswith('gcc-source'):
+        d.setVar('ARCHIVER_ARCH', "allarch")
+
     def hasTask(task):
         return bool(d.getVarFlag(task, "task", False)) and not bool(d.getVarFlag(task, "noexec", False))
 
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index 20968a5..cc02de5 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -594,9 +594,9 @@
 
             for lic_exception in exceptions:
                 if ":" in lic_exception:
-                    lic_exception.split(":")[0]
+                    lic_exception = lic_exception.split(":")[1]
                 if lic_exception in oe.license.obsolete_license_list():
-                    bb.fatal("Invalid license %s used in INCOMPATIBLE_LICENSE_EXCEPTIONS" % lic_exception)
+                    bb.fatal("Obsolete license %s used in INCOMPATIBLE_LICENSE_EXCEPTIONS" % lic_exception)
 
             pkgs = d.getVar('PACKAGES').split()
             skipped_pkgs = {}
diff --git a/poky/meta/classes/bin_package.bbclass b/poky/meta/classes/bin_package.bbclass
index c3aca20..f0407e1 100644
--- a/poky/meta/classes/bin_package.bbclass
+++ b/poky/meta/classes/bin_package.bbclass
@@ -30,8 +30,9 @@
         bbfatal bin_package has nothing to install. Be sure the SRC_URI unpacks into S.
     fi
     cd ${S}
+    install -d ${D}${base_prefix}
     tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \
-        | tar --no-same-owner -xpf - -C ${D}
+        | tar --no-same-owner -xpf - -C ${D}${base_prefix}
 }
 
 FILES:${PN} = "/"
diff --git a/poky/meta/classes/buildstats.bbclass b/poky/meta/classes/buildstats.bbclass
index 0de6052..132ecaa 100644
--- a/poky/meta/classes/buildstats.bbclass
+++ b/poky/meta/classes/buildstats.bbclass
@@ -285,7 +285,8 @@
     if system_stats:
         # Ensure that we sample at important events.
         done = isinstance(e, bb.event.BuildCompleted)
-        system_stats.sample(e, force=done)
+        if system_stats.sample(e, force=done):
+            d.setVar('_buildstats_system_stats', system_stats)
         if done:
             system_stats.close()
             d.delVar('_buildstats_system_stats')
diff --git a/poky/meta/classes/create-spdx.bbclass b/poky/meta/classes/create-spdx.bbclass
index 37b6b56..15cccac 100644
--- a/poky/meta/classes/create-spdx.bbclass
+++ b/poky/meta/classes/create-spdx.bbclass
@@ -25,6 +25,7 @@
 
 SPDX_UUID_NAMESPACE ??= "sbom.openembedded.org"
 SPDX_NAMESPACE_PREFIX ??= "http://spdx.org/spdxdoc"
+SPDX_PRETTY ??= "0"
 
 SPDX_LICENSES ??= "${COREBASE}/meta/files/spdx-licenses.json"
 
@@ -76,6 +77,11 @@
 def is_work_shared_spdx(d):
     return bb.data.inherits_class('kernel', d) or ('work-shared' in d.getVar('WORKDIR'))
 
+def get_json_indent(d):
+    if d.getVar("SPDX_PRETTY") == "1":
+        return 2
+    return None
+
 python() {
     import json
     if d.getVar("SPDX_LICENSE_DATA"):
@@ -515,7 +521,7 @@
 
     dep_recipes = collect_dep_recipes(d, doc, recipe)
 
-    doc_sha1 = oe.sbom.write_doc(d, doc, "recipes")
+    doc_sha1 = oe.sbom.write_doc(d, doc, "recipes", indent=get_json_indent(d))
     dep_recipes.append(oe.sbom.DepRecipe(doc, doc_sha1, recipe))
 
     recipe_ref = oe.spdx.SPDXExternalDocumentRef()
@@ -579,7 +585,7 @@
 
             add_package_sources_from_debug(d, package_doc, spdx_package, package, package_files, sources)
 
-            oe.sbom.write_doc(d, package_doc, "packages")
+            oe.sbom.write_doc(d, package_doc, "packages", indent=get_json_indent(d))
 }
 # NOTE: depending on do_unpack is a hack that is necessary to get it's dependencies for archive the source
 addtask do_create_spdx after do_package do_packagedata do_unpack before do_populate_sdk do_build do_rm_work
@@ -743,7 +749,7 @@
                 )
                 seen_deps.add(dep)
 
-            oe.sbom.write_doc(d, runtime_doc, "runtime", spdx_deploy)
+            oe.sbom.write_doc(d, runtime_doc, "runtime", spdx_deploy, indent=get_json_indent(d))
 }
 
 addtask do_create_runtime_spdx after do_create_spdx before do_build do_rm_work
@@ -938,7 +944,7 @@
     image_spdx_path = rootfs_deploydir / (rootfs_name + ".spdx.json")
 
     with image_spdx_path.open("wb") as f:
-        doc.to_json(f, sort_keys=True)
+        doc.to_json(f, sort_keys=True, indent=get_json_indent(d))
 
     num_threads = int(d.getVar("BB_NUMBER_THREADS"))
 
@@ -996,7 +1002,11 @@
 
             index["documents"].sort(key=lambda x: x["filename"])
 
-            index_str = io.BytesIO(json.dumps(index, sort_keys=True).encode("utf-8"))
+            index_str = io.BytesIO(json.dumps(
+                index,
+                sort_keys=True,
+                indent=get_json_indent(d),
+            ).encode("utf-8"))
 
             info = tarfile.TarInfo()
             info.name = "index.json"
@@ -1010,4 +1020,4 @@
 
     spdx_index_path = rootfs_deploydir / (rootfs_name + ".spdx.index.json")
     with spdx_index_path.open("w") as f:
-        json.dump(index, f, sort_keys=True)
+        json.dump(index, f, sort_keys=True, indent=get_json_indent(d))
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index 1b4910f..da7f933 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -47,7 +47,9 @@
 CVE_CHECK_COPY_FILES ??= "1"
 CVE_CHECK_CREATE_MANIFEST ??= "1"
 
+# Report Patched or Ignored CVEs
 CVE_CHECK_REPORT_PATCHED ??= "1"
+
 CVE_CHECK_SHOW_WARNINGS ??= "1"
 
 # Provide text output
@@ -144,7 +146,7 @@
             bb.fatal("Failure in searching patches")
         ignored, patched, unpatched, status = check_cves(d, patched_cves)
         if patched or unpatched or (d.getVar("CVE_CHECK_COVERAGE") == "1" and status):
-            cve_data = get_cve_info(d, patched + unpatched)
+            cve_data = get_cve_info(d, patched + unpatched + ignored)
             cve_write_data(d, patched, unpatched, ignored, cve_data, status)
     else:
         bb.note("No CVE database found, skipping CVE check")
@@ -164,7 +166,7 @@
 }
 
 addhandler cve_check_cleanup
-cve_check_cleanup[eventmask] = "bb.cooker.CookerExit"
+cve_check_cleanup[eventmask] = "bb.event.BuildCompleted"
 
 python cve_check_write_rootfs_manifest () {
     """
@@ -258,6 +260,7 @@
     suffix = d.getVar("CVE_VERSION_SUFFIX")
 
     cves_unpatched = []
+    cves_ignored = []
     cves_status = []
     cves_in_recipe = False
     # CVE_PRODUCT can contain more than one product (eg. curl/libcurl)
@@ -291,9 +294,8 @@
             cve = cverow[0]
 
             if cve in cve_ignore:
-                bb.note("%s-%s has been ignored for %s" % (product, pv, cve))
-                # TODO: this should be in the report as 'ignored'
-                patched_cves.add(cve)
+                bb.note("%s-%s ignores %s" % (product, pv, cve))
+                cves_ignored.append(cve)
                 continue
             elif cve in patched_cves:
                 bb.note("%s has been patched" % (cve))
@@ -305,9 +307,13 @@
                 cves_in_recipe = True
 
             vulnerable = False
+            ignored = False
+
             for row in conn.execute("SELECT * FROM PRODUCTS WHERE ID IS ? AND PRODUCT IS ? AND VENDOR LIKE ?", (cve, product, vendor)):
                 (_, _, _, version_start, operator_start, version_end, operator_end) = row
                 #bb.debug(2, "Evaluating row " + str(row))
+                if cve in cve_ignore:
+                    ignored = True
 
                 if (operator_start == '=' and pv == version_start) or version_start == '-':
                     vulnerable = True
@@ -340,13 +346,16 @@
                         vulnerable = vulnerable_start or vulnerable_end
 
                 if vulnerable:
-                    bb.note("%s-%s is vulnerable to %s" % (pn, real_pv, cve))
-                    cves_unpatched.append(cve)
+                    if ignored:
+                        bb.note("%s is ignored in %s-%s" % (cve, pn, real_pv))
+                        cves_ignored.append(cve)
+                    else:
+                        bb.note("%s-%s is vulnerable to %s" % (pn, real_pv, cve))
+                        cves_unpatched.append(cve)
                     break
 
             if not vulnerable:
                 bb.note("%s-%s is not vulnerable to %s" % (pn, real_pv, cve))
-                # TODO: not patched but not vulnerable
                 patched_cves.add(cve)
 
         if not cves_in_product:
@@ -358,7 +367,7 @@
     if not cves_in_recipe:
         bb.note("No CVE records for products in recipe %s" % (pn))
 
-    return (list(cve_ignore), list(patched_cves), cves_unpatched, cves_status)
+    return (list(cves_ignored), list(patched_cves), cves_unpatched, cves_status)
 
 def get_cve_info(d, cves):
     """
@@ -396,6 +405,8 @@
     include_layers = d.getVar("CVE_CHECK_LAYER_INCLUDELIST").split()
     exclude_layers = d.getVar("CVE_CHECK_LAYER_EXCLUDELIST").split()