subtree updates feb 25 2022

poky: 27ff420543..49168f5d55:
  Ahsan Hussain (1):
        staging: use relative path in sysroot_stage_dir()

  Alejandro Hernandez Samaniego (5):
        core-image-tiny-initramfs: Mark recipe as 32 bit ARM compatible
        kernel.bbclass: Allow initramfs to be built from a separate multiconfig
        busybox: Add shell arithmetic to work with poky-tiny
        newlib: Upgrade 4.1.0 -> 4.2.0
        documentation: Add multiconfig initramfs configuration:

  Alex Stewart (1):
        sudo: add /etc/sudoers to sudo-lib conffiles

  Alexander Kanavin (84):
        ruby: do not parallel install
        bind: upgrade 9.16.24 -> 9.16.25
        ifupdown: upgrade 0.8.36 -> 0.8.37
        ethtool: upgrade 5.15 -> 5.16
        webkitgtk: upgrade 2.34.3 -> 2.34.4
        debianutils: upgrade 5.5 -> 5.7
        diffoscope: upgrade 200 -> 201
        libbsd: upgrade 0.11.3 -> 0.11.5
        libical: upgrade 3.0.12 -> 3.0.13
        zstd: update 1.5.0 -> 1.5.2
        rust: update 1.58.0 -> 1.58.1
        wpa-supplicant: update 2.9 -> 2.10
        ltp: update 20210927 -> 20220121
        gnutls: update 3.7.2 -> 3.7.3
        libusb1: correct SRC_URI
        gobject-introspection: replace prelink-rtld with objdump -p
        util-linux: update 2.37.2 -> 2.37.3
        cmake: update 3.22.1 -> 3.22.2
        git: merge .inc into .bb
        git: build manpages from source subject to manpages PACKAGECONFIG
        git: update 2.34.1 -> 2.35.1
        python3-pycryptodome: update 3.12.0 -> 3.14.0
        at: update 3.2.2 -> 3.2.4
        sudo: update 1.9.8p2 -> 1.9.9
        seatd: add recipe
        weston: upgrade 9.0.0 -> 10.0.0
        xf86-input-libinput: update 1.2.0 -> 1.2.1
        glib-2.0: upgrade 2.70.2 -> 2.70.3
        lua: upgrade 5.4.3 -> 5.4.4
        mmc-utils: upgrade to latest revision
        python3-cython: upgrade 0.29.26 -> 0.29.27
        python3-hypothesis: upgrade 6.36.0 -> 6.36.1
        python3-pip: upgrade 21.3.1 -> 22.0.2
        cups: upgrade 2.4.0 -> 2.4.1
        stress-ng: upgrade 0.13.10 -> 0.13.11
        mesa: upgrade 21.3.4 -> 21.3.5
        piglit: upgrade to latest revision
        puzzles: upgrade to latest revision
        diffoscope: upgrade 201 -> 202
        libcap: upgrade 2.62 -> 2.63
        libusb1: upgrade 1.0.24 -> 1.0.25
        re2c: upgrade 2.2 -> 3.0
        libgpg-error: update 1.43 -> 1.44
        harfbuzz: upgrade 3.2.0 -> 3.3.1
        qemu: replace a gtk wrapper with directly setting environment from runqemu
        runqemu: preload uninative libraries when host gl drivers are in use
        git: restore reproducibility on centos 7
        insane.bbclass: use multiprocessing for collecting 'objdump -p' output
        llvm: update 12.0.1 -> 13.0.1
        python3-numpy: update 1.22.1 -> 1.22.2
        sstate: additional debugging when fetch fails occur
        sstate: fix up additional debugging when fetch fails occur
        ruby: correctly set native/target dependencies
        core-image-weston-sdk: synchronize with core-image-sato-sdk
        gstreamer1.0: disable flaky gstbin:test_watch_for_state_change test
        weston-init: disable systemd watchdog option
        webkitgtk: drop patch merged upstream
        man-db: update 2.10.0 -> 2.10.1
        webkitgtk: remove rejected patch
        vulkan: update 1.2.198 -> 1.3.204
        vulkan-samples: update to latest revision
        xkeyboard-config: update 2.34 -> 2.35.1
        libgit2: update 1.3.0 -> 1.4.0
        util-linux: upgrade 2.37.3 -> 2.37.4
        python3-tomli: upgrade 2.0.0 -> 2.0.1
        repo: upgrade 2.20 -> 2.21
        help2man: upgrade 1.48.5 -> 1.49.1
        meson: upgrade 0.61.1 -> 0.61.2
        mmc-utils: upgrade to latest revision
        python3-dtschema: upgrade 2021.12 -> 2022.1
        python3-pytest: upgrade 7.0.0 -> 7.0.1
        vala: upgrade 0.54.6 -> 0.54.7
        gi-docgen: upgrade 2021.8 -> 2022.1
        pango: upgrade 1.48.10 -> 1.50.4
        piglit: upgrade to latest revision
        shaderc: upgrade 2022.0 -> 2022.1
        gst-examples: upgrade 1.18.5 -> 1.18.6
        libical: upgrade 3.0.13 -> 3.0.14
        diffoscope: upgrade 202 -> 204
        gdb: update 11.1 -> 11.2
        weston-init: replace deprecated/disabled fbdev with drm backend
        devtool: explicitly set main or master branches in upgrades when available
        base/staging: use HOST_PREFIX, not TARGET_PREFIX
        insane: use HOST_ variables, not TARGET_ to determine the cross system

  Alexandru Ardelean (1):
        libsndfile1: bump to version 1.0.31

  Andrej Valek (3):
        busybox: refresh defconfig
        oeqa: qemu: create missing directory for _write_dump
        dhcpcd: add option to set DBDIR location

  Andres Beltran (1):
        create-spdx: add support for SDKs

  Andrey Zhizhikin (1):
        waffle: add wayland-protocols when building with wayland

  Bruce Ashfield (18):
        linux-yocto/5.15: update to v5.15.15
        linux-yocto/5.10: update to v5.10.92
        x86: fix defconfig configuration warnings
        linux-yocto/5.15: update to v5.15.16
        linux-yocto/5.10: update to v5.10.93
        linux-libc-headers: update to v5.16
        qemuarm64: Add tiny ktype to qemuarm64 bsp
        lttng-modules: fix build against v5.17+
        linux-yocto-dev: update to v5.17+
        linux-yocto/5.15: update to v5.15.19
        linux-yocto/5.10: update to v5.10.96
        lttng-modules: update devupstream to latest 2.13
        linux-yocto/5.15: update to v5.15.22
        linux-yocto/5.10: update to v5.10.99
        linux-yocto/5.15: ppc/riscv: fix build with binutils 2.3.8
        linux-yocto/5.10: ppc/riscv: fix build with binutils 2.3.8
        linux-yocto/5.10: fix dssall build error with binutils 2.3.8
        linux-yocto/5.15: fix dssall build error with binutils 2.3.8

  Carlos Rafael Giani (1):
        libxml2: Backport python3-lxml workaround patch

  Changhyeok Bae (1):
        connman: update 1.40 -> 1.41

  Changqing Li (2):
        mdadm: fix testcase 00multipath failure
        nghttp2: fix for multilib support

  Chen Qi (1):
        mdadm: install mdcheck

  Christian Eggers (5):
        sdk: fix search for dynamic loader
        mc: fix build if ncurses have been configured without wide characters
        curl: configure with '--without-ssl' if ssl is disabled
        gcsections: add nativesdk-cairo to exclude list
        dev-manual: update example from kernel.bbclass

  Daiane Angolini (1):
        classes/lib/useradd: The option -P is deprecated

  Daniel Gomez (2):
        bitbake: contrib: Fix hash server Dockerfile dependencies
        bitbake: asyncrpc: Fix attribute errors

  Daniel Müller (1):
        scripts/runqemu-ifdown: Don't treat the last iptables command as special

  Denys Dmytriyenko (2):
        wayland-protocols: upgrade 1.24 -> 1.25
        yocto-check-layer: add ability to perform tests from a global bbclass

  Florian Amstutz (1):
        devtool: deploy-target: Remove stripped binaries in pseudo context

  Hongxu Jia (1):
        glibc: fix create thread failed in unprivileged process

  Joe Slater (1):
        virglrenderer: fix CVE-2022-0135 and -0175

  Jon Mason (1):
        linux-yocto-dev: add qemuriscv32

  Jose Quaresma (18):
        icecc.bbclass: replace deprecated bash command substitution
        spirv-headers: bump to b42ba6
        spirv-tools: upgrade 2021.4 -> 2022.1
        glslang: upgrade 11.7.1 -> 11.8.0
        shaderc: upgrade 2021.3 -> 2021.4
        shaderc: upgrade 2021.4 -> 2022.0
        gstreamer1.0: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-plugins-base: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-plugins-good: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-plugins-bad: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-plugins-ugly: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-rtsp-server: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-libav: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-vaapi: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-omx: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0-python: upgrade 1.18.5 -> 1.20.0
        gst-devtools: upgrade 1.18.5 -> 1.20.0
        gstreamer1.0: update licenses of all modules

  Joshua Watt (4):
        classes/create-spdx: Add packageSupplier field
        classes/create-spdx: Remove unnecessary package
        spdx: Add set helper for list properties
        bitbake: msg: Ensure manually created loggers have the once filter

  Justin Bronder (1):
        initramfs-framework: unmount automounts before switch_root

  Kai Kang (2):
        toolchain-scripts.bbclass: use double quotes for exported PS1
        webkitgtk: 2.34.4 -> 2.34.5

  Khem Raj (17):
        ffmpeg: Remove --disable-msa2 mips option
        systemd: Forward port musl patches
        ruby: Fix build on riscv/musl
        musl: Update to latest master
        libstd-rs: Apply patches to right version of libc
        image-prelink: Remove bbclass
        qemuppc64.conf: Remove commented prelink use
        meta: Remove libsegfault and catchsegv
        man-db: Fix build with clang
        diffutils: Link with libbcrypt on mingw
        binutils: Upgrade to 2.38 release
        opensbi: Upgrade to 1.0
        u-boot: Fix RISCV build with binutils 2.38
        libgit2: Upgrade to 1.4.1
        grub: Fix build with bintutils 2.38 on riscv
        boost: Fix build on 32bit arches with 64bit time_t defaults
        scripts/documentation-audit: Use renamed LICENSE_FLAGS_ACCEPTED variable

  Konrad Weihmann (2):
        ruby: fix DEPENDS append
        gmp: fix EXTRA_OECONF for mipsarchr6

  Kory Maincent (1):
        icu: fix make_icudata dependencies

  Lee Chee Yang (1):
        libarchive : update to 3.5.3

  LiweiSong (1):
        qemu: add tpm string section to qemu acpi table

  Luna Gräfje (1):
        tune-cortexa72: Fix a misspelt override in PACKAGE_EXTRA_ARCHS

  Marek Vasut (1):
        kernel-fitimage: Add missing dependency for UBOOT_ENV

  Markus Niebel (1):
        kmscube: depend on virtual/libgbm

  Markus Volk (2):
        libical: build gobject and vala introspection
        seatd: build systemd backend if DISTRO_FEATURE systemd is set

  Marta Rybczynska (1):
        bitbake: lib/bb: fix exit when found renamed variables

  Martin Beeger (1):
        cmake: remove bogus CMAKE_LDFLAGS_FLAGS definition from toolchain file

  Martin Jansa (2):
        systemd: fix DeprecationWarning about regexps
        icecc.bbclass: fix syntax error

  Matthias Klein (1):
        boost: add json lib

  Michael Halstead (3):
        uninative: Upgrade to 3.5
        releases: update to include 3.1.14
        releases: update to include 3.4.2

  Michael Opdenacker (8):
        migration-3.5: mention task specific network access
        dev-manual: stop mentioning the Angstrom distribution
        dev-manual: new "working with pre-compiled libraries" section
        manuals: improve references to classes
        manuals: propose https for SSTATE_MIRRORS
        ref-manual: add usage details about ccache.bbclass
        ref-manual: update TCLIBC description
        manuals: add 3.4 and 3.4.1 release notes after migration information

  Oleksandr Kravchuk (1):
        ell: update to 0.48

  Oleksandr Suvorov (1):
        depmodwrapper-cross: add config directory option

  Pavel Zhukov (3):
        systemd: allow to create directory whose path contains symlink
        systemd: enable KeepConfiguration= when running on network filesystem
        patch.py: Prevent git repo reinitialization

  Peter Kjellerstedt (21):
        sstate: A third fix for for touching files inside pseudo
        devtool: sdk-update: Remove an unnecessary \n from SSTATE_MIRRORS
        sstatetests: Correct a typo in a comment
        glibc-tests: Correct PACKAGE_DEBUG_SPLIT_STYLE
        test-manual: Correct two references to BB_SKIP_NETTESTS
        package: Split out package_debug_vars from split_and_strip_files
        package: Make package_debug_vars() return a dict
        package: Pass dv (debug_vars) around instead of individual vars
        bitbake: bitbake-user-manual: Remove unnecessary \n from a PREMIRRORS example
        bitbake: tests/fetch: Skip the crate tests if network tests are disabled
        bitbake: tests/fetch: Remove unnecessary \n from mirror variables
        bitbake: tests/fetch: Improve the verbose messages for skipped tests
        bitbake: tests/fetch: Unify how git commands are run
        bitbake: tests/fetch: Only set the Git user name/email if they are not already set
        bitbake: tests/fetch: Make test_npm_premirrors work with the current fetcher
        bitbake: fetch2: Correct handling of replacing the basename in URIs
        bitbake: fetch2: npm: Put all downloaded files in the npm2 directory
        poky.conf: Remove unnecessary \n from PREMIRRORS
        local.conf.sample: Remove unnecessary \n from the SSTATE_MIRRORS example
        manuals: Remove unnecessary \n from SSTATE_MIRRORS examples
        oeqa/selftest/bblogging: Add logging tests for bb.build.exec_func with shell/python code

  Pgowda (2):
        glibc : Fix CVE-2021-3998
        glibc : Fix CVE-2021-3999

  Quentin Schulz (2):
        docs: point to renamed BB_BASEHASH_IGNORE_VARS variable
        docs: fix hardcoded link warning messages

  Richard Purdie (65):
        lttng-tools: upgrade 2.13.2 -> 2.13.4
        gcc: Drop stdlib++ option patch
        staging: Add extra hash handling code
        abi_version/sstate: Bump for hash equivalence fix
        prelink: Drop support for it
        glibc: Drop prelink patch
        oqea/runtime/oe_syslog: Improve test
        vim: Upgrade 4269 -> 4134
        binutils: Add fix for CVE-2021-45078
        glibc: Upgrade to 2.35
        patchelf: Fix corrupted file mode patch
        buildtools: Allow testsdk to access the network
        scriptutils: Fix handling of srcuri urls
        default-distrovars.inc: Switch connectivity check to a yoctoproject.org page
        bitbake: tests/fetch: Add missing branch param for git urls
        oeqa/buildtools: Switch to our webserver instead of example.com
        openssl: Add perl functionality test to do_configure
        ltp: Disable proc01 test
        bitbake: fetch2/cooker: Fix source revision handling with floating upstreams
        bitbake: data_smart: Fix overrides file/line message additions
        bitbake: cooker: Improve parsing failure from handled exception usability
        bitbake: msg: Add bb.warnonce() and bb.erroronce() log methods
        bitbake: data_smart: Add hasOverrides method to public datastore API
        selftest/bbtests: Add tests for git floating tag resolution
        oeqa/selftest/bbtests: Update to match changed bitbake output
        features_check/insane: Use hasOverrides datastore method
        recipeutils: Add missing get_srcrev() call
        archiver: Fix typo
        bitbake: utils: Fix environment decorator logic error
        bitbake: fetch2: Abstract fetcher environment to a function
        core-image-testmaster: Rename to core-image-testcontroller
        scripts: Add a conversion script to use SPDX license names
        meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX license identifiers
        oeqa/selftest/bbtests: Update after license changes
        sstate: Setup fetcher environment in advance
        expat: Upgrade 2.4.4 -> 2.4.5
        expat: Upgrade 2.4.5 -> 2.4.6
        perl: Improve and update module RPDEPENDS
        libxml-parser-perl: Add missing RDEPENDS
        vim: Upgrade 8.2.4314 -> 8.2.4424
        tiff: Add backports for two CVEs from upstream
        bitbake: utils: Ensure shell function failure in python logging is correct
        oeqa/selftest/bblogging: Split the test cases up for ease of testing
        bitbake: data_smart/cookerdata: Add variable remapping support
        bitbake: data_smart: Allow rename mechanism to show full expressions
        bitbake: data_smart: Add support to BB_RENAMED_VARIABLES for custom strings
        bitbake: bitbake: Bump version to 1.53.1
        sanity.conf: Require bitbake version 1.53.1
        layer.conf: Update to use kirkstone
        meta/scripts: Change BB_ENV_EXTRA_WHITE -> BB_ENV_PASSTHROUGH_ADDITIONS
        meta/scripts: Handle bitbake variable renaming
        bitbake.conf: Add entries for renamed variables
        meta/scripts: Automated conversion of OE renamed variables
        icecc: Improve variables/terminology
        bitbake.conf: Add entries to warn on usage of removed variables
        layer.conf: Update to kirkstone namespace
        bitbake: data_smart: Avoid exceptions for non string data
        bitbake: tests/fetch: Update for master -> main change upstream
        python3targetconfig: Use for nativesdk too
        licenses: Fix logic error introduced in rename
        pip_install_wheel: Recompile modified files
        pip_install_wheel: Use --ignore-installed for pip
        python3-pip: Don't change shebang
        python3-pip: Improve reproducibility
        python3-numpy: Fix pyc determinism issue

  Robert Joslyn (1):
        dev-manual/common-tasks: Fix typo

  Robert Yang (1):
        bitbake: bitbake: bitbake-worker: Preserve network non-local uid

  Ross Burton (21):
        tiff: backport fix for CVE-2022-22844
        yocto-check-layer: add debug output for the layers that were found
        openssl: export OPENSSL_MODULES in the wrapper
        expat: upgrade to 2.4.4
        vim: upgrade to patch 4269
        core-image-sato-sdk: allocate more memory when in qemu
        oeqa/runtime/stap: improve systemtap test
        systemtap: backport buffer size tuning patches
        strace: remove obsolete musl-on-MIPS patch
        strace: skip a number of load-sensitive tests
        yocto-check-layer: check for duplicate layers when finding layers
        common-licences: remove ambiguous "BSD" license
        newlib: fix license checksums
        oeqa/selftest: test that newlib can build
        cmake: stop FetchContent from fetching content
        kernel: make kernel-base recommend kernel-image, not depend
        poky-tiny: don't skip core-image-base and core-image-full-cmdline
        poky-tiny: set QB_DEFAULT_FSTYPE correctly
        coreutils: remove obsolete ignored CVE list
        cve-check: get_cve_info should open the database read-only
        oeqa/controllers: update for MasterImageHardwareTarget->Controller...

  Rudolf J Streif (1):
        linux-firmware: Add CLM blob to linux-firmware-bcm4373 package

  Saul Wold (13):
        recipetool: Fix circular reference in SRC_URI
        create-spdx: Get SPDX-License-Identifier from source
        blacklist: Replace class with SKIP_RECIPE variable
        dnf: Use renamed SKIP_RECIPE varFlag
        multilib: Use renamed SKIP_RECIPE varFlag
        imagefeatures: selftest: Change variable to be more descriptive
        scripts: Add convert-variable-renames script for inclusive language variable renaming
        meta: Rename LICENSE_FLAGS variable
        poky-tiny: Use renamed SKIP_RECIPES varFlag
        Rename LICENSE_FLAGS variable
        meta: Further LICENSE_FLAGS variable updates
        package: rename LICENSE_EXCLUSION
        license.py: rename variables

  Scott Murray (13):
        bitbake: bitbake: Rename basehas and taskhash filtering variables
        bitbake: bitbake: Rename environment filtering variables
        bitbake: bitbake: Rename configuration hash filtering variable
        bitbake: bitbake: Rename setscene enforce filtering variable
        bitbake: bitbake: Rename allowed multiple provider variable
        bitbake: lib: Replace remaining "blacklist"/"whitelist" usage
        bitbake: lib/bb: Replace "abort" usage in task handling
        bitbake: lib/bb: Replace "ABORT" action in BB_DISKMON_DIRS
        bitbake: bitbake: Replace remaining "abort" usage
        local.conf/oeqa: Update BB_DISKMON_DIRS use
        meta-poky: Update BB_DISKMON_DIRS use
        scripts: fix file writing in convert-variable-renames
        scripts: fix file writing in convert-spdx-licenses

  Sean Anderson (1):
        libpcap: Disable DPDK explicitly

  Stefan Herbrechtsmeier (12):
        cve-check: create directory of CVE_CHECK_MANIFEST before copy
        systemd: Add link-udev-shared PACKAGECONFIG
        systemd: Minimize udev package size if DISTRO_FEATURES doen't contain sysvinit
        gcc-target: fix glob to remove gcc-<version> binary
        gcc-target: move cc1plus to g++ package
        wic: partition: Support valueless keys in sourceparams
        wic: rawcopy: Add support for packed images
        selftest: wic: Remove requirement of syslinux from test_rawcopy_plugin
        selftest: wic: Add rawcopy plugin unpack test
        selftest: wic: Disable graphic of qemu to support WSL
        classes: rootfs-postcommands: avoid exception in overlayfs_qa_check
        files: overlayfs-create-dirs: split ExecStart into two commands

  Tamizharasan Kumar (2):
        linux-yocto/5.10: update genericx86* machines to v5.10.99
        linux-yocto/5.15: update genericx86* machines to v5.15.22

  Tim Orling (43):
        python3-hypothesis: upgrade 6.35.0 -> 6.36.0
        python3-setuptools-scm: upgrade 6.3.2 -> 6.4.2
        python3-pyparsing: upgrade 3.0.6 -> 3.0.7
        python3-importlib-metadata: upgrade 4.10.0 -> 4.10.1
        python3-wheel: move 0.37.1 from meta-python
        python3-flit-core: add recipe for 3.6.0
        python3-flit-core: SUMMARY DESCRIPTION HOMEPAGE
        python3-flit-core: inherit pip_install_wheel
        flit_core.bbclass: add helper for newer python packaging
        python3-wheel: inherit flit_core
        pip_install_wheel.bbclass: add helper class
        python3-wheel-native: install ${bindir}/wheel
        setuptools_build_meta.bbclass: add helper class
        python3-pip: inherit setuptools_build_meta
        python3-pip-native: install scripts in ${bindir}
        python3-attrs: inherit setuptools_build_meta
        python3-git: inherit setuptools_build_meta
        python3-pytest: inherit setuptools_build_meta
        python3-setuptools-scm: inherit setuptools_build_meta
        python3-zipp: inherit setuptools_build_meta
        python3-iniconfig: inherit setuptools_build_meta
        python3-py: inherit setuptools_build_meta
        python3-pluggy: inherit setuptools_build_meta
        python3-setuptools: inherit setuptools_base_meta
        setuptools3.bbclass: refactor for wheels
        python3-more-itertools: set PIP_INSTALL_PACKAGE
        meson: inherit setuptools_build_meta
        python3-libarchive-c: set PIP_INSTALL_PACKAGE
        python3-smartypants: patch hash bang to python3
        python3-scons: merge -native recipe
        python3-subunit: merge inc; set PIP_INSTALL_PACKAGE
        python3-magic: set PIP_INSTALL_PACKAGE
        bmap-tools: set PIP_INSTALL_PACKAGE, BASEVER
        asciidoc: set PIP_INSTALL_PACKAGE
        gi-docgen: set PIP_INSTALL_PACKAGE
        python3-numpy: set PIP_INSTALL_PACKAGE
        python3-dbusmock: set PIP_INSTALL_PACKAGE
        python3-mako: inherit setuptools_build_meta
        python3-packaging: inherit setuptools_build_meta
        python3-nose: drop recipe
        disutils*.bbclasses: move to meta-python
        selftest: drop distutils3 test from recipetool
        pip_install_wheel: improved wheel filename guess

  Tom Hochstein (1):
        xwayland: Add xkbcomp runtime dependency

  Yi Zhao (2):
        glibc: unify wordsize.h between arm and aarch64
        glibc: fix multilib headers conflict for arm

  Zoltán Böszörményi (2):
        qemuboot: Fix build error if UNINATIVE_LOADER is unset
        gtk-icon-cache: Allow using gtk4

  Zygmunt Krynicki (13):
        bitbake: fetch2/wget: move loop-invariant load of BB_ORIGENV
        bitbake: cooker: Fix typo "isn't" and "tuples"
        bitbake: cookerdata: Fix typo "normally"
        bitbake: daemonize: Fix typo "separate"
        bitbake: event: Fix typo "asynchronous" and "occasionally"
        bitbake: fetch2: Fix typo "conform" and "processed"
        bitbake: fetch2/git: Remove duplicate "the"
        bitbake: persist_data: Fix typo "committed"
        bitbake: process: Fix typo: "process"
        bitbake: progress: Fix typo "wherever"
        bitbake: tinfoil: Fix typo "receive" and "something"
        bitbake: utils: Fix typo "dependency" and "spawning"
        bitbake: wget: Fix grammar "can happen"

  pgowda (1):
        gcc : Fix CVE-2021-46195

  wangmy (44):
        libwebp: 1.2.1 -> 1.2.2
        python3-libarchive-c: upgrade 3.2 -> 4.0
        lighttpd: upgrade 1.4.63 -> 1.4.64
        nfs-utils: upgrade 2.5.4 -> 2.6.1
        libmodulemd: upgrade 2.13.0 -> 2.14.0
        libxcrypt: upgrade 4.4.27 -> 4.4.28
        lzip: upgrade 1.22 -> 1.23
        libxkbcommon: upgrade 1.3.1 -> 1.4.0
        man-db: upgrade 2.9.4 -> 2.10.0
        gdbm: upgrade 1.22 -> 1.23
        harfbuzz: upgrade 3.3.1 -> 3.3.2
        findutils: upgrade 4.8.0 -> 4.9.0
        python3-magic: upgrade 0.4.24 -> 0.4.25
        python3-pycryptodome: upgrade 3.14.0 -> 3.14.1
        python3-pytest: upgrade 6.2.5 -> 7.0.0
        python3-pip: upgrade 22.0.2 -> 22.0.3
        python3-pyelftools: upgrade 0.27 -> 0.28
        screen: upgrade 4.8.0 -> 4.9.0
        ed: upgrade 1.17 -> 1.18
        autoconf-archive: upgrade 2021.02.19 -> 2022.02.11
        gpgme: upgrade 1.16.0 -> 1.17.0
        glib-2.0: upgrade 2.70.3 -> 2.70.4
        harfbuzz: upgrade 3.3.2 -> 3.4.0
        python3-hypothesis: upgrade 6.36.1 -> 6.36.2
        python3-pathlib2: upgrade 2.3.6 -> 2.3.7
        python3-pbr: upgrade 5.8.0 -> 5.8.1
        python3-ruamel-yaml: upgrade 0.17.20 -> 0.17.21
        linux-firmware: upgrade 20211216 -> 20220209
        rng-tools: upgrade 6.14 -> 6.15
        mesa: upgrade 21.3.5 -> 21.3.6
        go: upgrade 1.17.6 -> 1.17.7
        libhandy: Use upstream regex to check version of upgrade.
        libva-utils: upgrade 2.13.0 -> 2.14.0
        patchelf: upgrade 0.14.3 -> 0.14.5
        quilt: upgrade 0.66 -> 0.67
        ruby: upgrade 3.1.0 -> 3.1.1
        wireless-regdb: upgrade 2021.08.28 -> 2022.02.18
        bind: upgrade 9.16.25 -> 9.16.26
        flac: upgrade 1.3.3 -> 1.3.4
        init-system-helpers: upgrade 1.60 -> 1.62
        libdrm: upgrade 2.4.109 -> 2.4.110
        python3-hypothesis: upgrade 6.36.2 -> 6.37.2
        python3-markupsafe: upgrade 2.0.1 -> 2.1.0
        asciidoc: upgrade 10.1.1 -> 10.1.3

meta-raspberrypi: 836755370f..e39a0a570c:
  Andrei Gherzan (13):
        README.md: Add contributing section
        Move the python3-adafruit recipes depending on meta-oe to dynamic layers
        README.md: Don't advertise meta-oe dependency
        docs: Detail the merging process of patches sent through the mailing list
        ci: Define an action for building a local docker image
        ci: Define an action for cleaning dangling image
        ci: Define an action for cleaning/removing an image
        ci: Introduce workflow for compliance
        ci: Introduce workflow Yocto operations/builds
        ci: Add workflow to cancel redundant workflows
        ci: Add git mirror workflow
        ci: No need for checkout step in mirror workflow
        ci: Use the current stable version for the mirror action

  Aníbal Limón (1):
        gstreamer1.0-plugins-good: Update bbappend to 1.20

  Bernhard Guillon (1):
        rpi-base.inc: enable i2c-gpio overlay

  Devendra Tewari (1):
        linux-raspberrypi: Upgrade to 5.10.83

  Khem Raj (7):
        raspberrypi4-64: Switch to using cortexa72-crc default tune
        picamera-libs,python3-picamera: Limit visibility to 32 bit rpi machines
        rpi-gpio: Replace setuptool3 instead of  distutils3
        python3-adafruit-blinka: Disable on musl
        linux-raspberrypi: Add recipe for 5.15 LTS kernel
        rpi-default-versions: Use 5.15 as default kernel
        layers: Bump to use kirkstone

  Martin Jansa (4):
        sdcard_image-rpi: fix DeprecationWarning
        gstreamer1.0-plugins-bad: remove libmms PACKAGECONFIG and add gpl
        meta: update variable names
        meta: update license names

  Mauro Anjo (1):
        machine: add Pi Zero 2 W 32bits

  Michal Toman (1):
        rpi-base.inc: Add vc4-fkms-v3d-pi4 overlay

  Mingli Yu (1):
        xserver-xorg: remove xshmfence configure option

  Otto Esko (2):
        recipes-bsp: Add support for gpio-shutdown
        Add documentation for gpio-shutdown

  Paul Barker (1):
        raspberrypi4-64: Switch to cortexa72 tune

  bhargavthriler (1):
        python3-picamera: Add picamera library

meta-openembedded: 6b63095946..cf0ed42391:
  Alejandro Hernandez Samaniego (1):
        remmina: Upgrade to 1.4.23

  Alexander Kanavin (4):
        libvncserver: disable ffmpeg support due to incompatiblility with ffmpeg 5.0
        opencv: update 4.5.2 -> 4.5.5
        minidlna: update 1.2.1 -> 1.3.0
        mpd: update 0.22.9 -> 0.23.5

  An?bal Lim?n (2):
        python3-apt: add new recipe version 2.3.0
        unattended-upgrades: add new recipe version 2.6

  Andreas Müller (1):
        All layers: Follow oe-core's variable name changes

  Andrej Valek (1):
        nodejs: add option to use openssl legacy providers

  Carlos Rafael Giani (3):
        pipewire: Upgrade to 0.3.45
        wireplumber: Add recipe
        wireplumber: Improve configuration

  Changqing Li (1):
        python3-psutil: fix test failure

  Christian Eggers (5):
        ebtables: remove perl from RDEPENDS
        graphviz: native: create /usr/lib/graphviz/config6 in populate_sysroot
        boost-sml: add new recipe
        python3-dt-schema: remove recipe
        graphviz: added PACKAGECONFIG for librsvg

  Clément Péron (1):
        networking: add new netsniff-ng recipe version 0.6.8

  Daniel Gomez (1):
        opencv: Update contrib 4.5.2 -> 4.5.5

  Devendra Tewari (1):
        libcamera: add pkg-config files

  Fabio Estevam (2):
        rtc-tools: Add a recipe
        rtc-tools: Update to 2022.02

  Gianfranco Costamagna (4):
        vboxguestdrivers: upgrade 6.1.30 -> 6.1.32
        boinc-client: Update to 7.18.1
        mosquitto: upgrade 2.0.12 -> 2.0.14
        websocketpp: Apply upstream proposed patch to fix a Scons 4.2.0+ build failure

  Jan Luebbe (1):
        snappy: use main branch to fix fetch failure

  Jan Vermaete (2):
        netdata: upgrade 1.32.1 -> 1.33.0
        netdata: version bump 1.33.0 -> 1.33.1

  Justin Bronder (4):
        yaml-cpp: bump 0.7.0
        googlebenchmark: add 1.6.1
        python3-pytest-forked: add 1.4.0
        python3-pytest-xdist: add 2.5.0

  Kai Kang (1):
        openjpeg: fix CVE-2021-29338

  Kartikey Rameshbhai Parmar (1):
        imagemagick: update SRC_URI branch to main

  Khem Raj (46):
        xfce4-datetime-setter: Fix build with meson 0.61+
        gerbera: Upgrade to 1.9.2
        iotop: Disable LTO with clang/rv64
        spdlog: Update the external fmt patch
        dlt-daemon: Bump to latest revision on master
        evolution-data-server: Disable g-i data generation
        gerbera: Fix build with fmt 8.1+
        php: Update to 8.1.2
        postgresql: Fix build on riscv
        libcec: Fix type mismatch for return value of LibCecBootloader()
        gparted: Do not use NULL where boolean is expected
        python3-pyruvate: Fix build with mips
        python3-pyruvate: Fix build with riscv64/musl
        pcp: Disable parallel compile
        gst-shark: Upgrade to 0.7.3.1
        crda: Fix buffer overflow in sscanf
        open-vm-tools: Fix build with musl
        openldap: Fix build with musl
        gimp: Disable vector icons on x86 with clang
        libjs-jquery-icheck: Use hardcoded SHA for srcrev
        smarty: Upgrade to 4.1.0
        dhcp-relay: Package needed shared libs from bind
        gimp: Disable vector icons with clang on arm
        capnproto: Fix build on mips
        packagegroup-meta-oe: Add googlebenchmark
        packagegroup-meta-python: Add python3-pytest-forked and python3-pytest-xdist
        ntopng: Avoid linking libm statically
        libsigc++-3: Upgrade to 3.2.0
        geany-plugins: Fix build with libgit2 1.4+
        recipes: Use renamed SKIP_RECIPE varFlag
        recipes: Use new CVE_CHECK_IGNORE variable
        meta-oe: Use new variable SYSROOT_DIRS_IGNORE
        layers: Bump to use kirkstone
        capnproto: Link with libatomic on rv32
        iotop: Disable lto with clang for rv32
        glibmm: Add recipe for 2.70.0
        cairomm: Add recipe for cairomm 1.16
        pangomm: Add recipe for pangomm-2.48
        atkmm: Add new recipe for 2.36+
        libxml++: Upgrade to 2.42.1 release
        libxml++-5.0: Add recipe for libxml++ 5.0
        Revert "libcamera: add pkg-config files"
        python3-blinker: Migrate to use pytest instead of nose for testing
        python3-oauthlib: Drop redundant nose dependency
        netplan: Add knob to enable tests
        openldap: Use renamed variable CVE_CHECK_IGNORE

  Leon Anavi (23):
        python3-imageio: Upgrade 2.14.0 -> 2.14.1
        python3-pandas: Upgrade 1.3.5 -> 1.4.0
        python3-aenum: Upgrade 3.1.6 -> 3.1.8
        python3-redis: Upgrade 4.0.2 -> 4.1.1
        python3-jdatetime: Upgrade 3.8.1 -> 3.8.2
        python3-bandit: Upgrade 1.7.1 -> 1.7.2
        python3-fasteners: Upgrade 0.17.2 -> 0.17.3
        python3-ansi2html: Upgrade 1.6.0 -> 1.7.0
        python3-coverage: Upgrade 6.2 -> 6.3
        python3-imageio: Upgrade 2.14.1 -> 2.15.0
        python3-humanize: Upgrade 3.13.1 -> 3.14.0
        python3-bitarray: Upgrade 2.3.5 -> 2.3.6
        python3-itsdangerous: Upgrade 2.0.1 -> 2.1.0
        python3-croniter: Upgrade 1.2.0 -> 1.3.4
        python3-distro: Upgrade 1.6.0 -> 1.7.0
        python3-click: Upgrade 8.0.3 -> 8.0.4
        python3-ordered-set: Upgrade 4.0.2 -> 4.1.0
        python3-bitarray: Upgrade 2.3.6 -> 2.3.7
        python3-pandas: Upgrade 1.4.0 -> 1.4.1
        python3-unidiff: Upgrade 0.7.0 -> 0.7.3
        python3-langtable: Upgrade to release 0.0.57
        python3-cmd2: Upgrade 2.3.3 -> 2.4.0
        python3-coverage: Upgrade 6.3 -> 6.3.2

  Marek Vasut (1):
        freerdp: Update to FreeRDP 2.5.0

  Mark Jonas (1):
        mbedtls: Upgrade to 2.28.0

  Markus Volk (12):
        geary: initial add recipe
        packagegroup-gnome-apps.bb: add geary
        folks: add PACKAGECONFIG for import_tool and inspect_tool
        geary: use sha hash for SRCREV; fix identation
        folks: make some dependencies optional
        evolution-data-server: try to fix g-i data generation
        folks: dont build tests as they are not installed anyway
        gvfs: upgrade 1.48.1 -> 1.49.1
        libxfce4util: inherit vala
        xfconf: inherit vala
        libxfce4ui: disable vala
        xfce4-panel: disable vala

  Martin Jansa (1):
        Fix DeprecationWarning about regexps

  Matsunaga-Shinji (1):
        openldap: add CVE-2015-3276 to allowlist

  Matthias Klein (1):
        gpsd-machine-conf: set precise BSD-3-Clause license

  Mingli Yu (5):
        plymouth: switch to KillMode=mixed
        lxdm: remove conflicts setting
        plymouth: add extra kernel parameter
        opencv: disable sse4.1 and sse4.2 on x86
        plymouth: Add the retain-splash option

  Oleksandr Kravchuk (4):
        redis: add recipe for 7.0-rc1
        iwd: update to 1.24
        fping: update to 5.1
        capnproto: update to 0.9.1

  Peter Bergin (1):
        pipewire: fix build error when pipewire-jack is used

  Peter Griffin (1):
        libcamera: update meson options to build pipeline handlers & cam utility

  Randy MacLeod (1):
        rsyslog: update to 8.2202

  Robert Joslyn (1):
        hwdata: Update to 0.356

  Ross Burton (16):
        python3-jsonpath-rw: set correct license
        concurrencykit: use precise BSD licence version
        pkcs11-helper: update homepage
        pkcs11-helper: set precise BSD license
        spice: set correct LICENSE
        poppler-data: set precise BSD license
        openipmi: use precise BSD license
        s-nail: add a maintained mail(1) fork
        minidlna: use precise BSD license
        smartmontools: use s-nail
        mailx: remove
        spice-protocol: upgrade to 1.14.3
        libjs-jquery: remove
        fwupd-efi: upgrade to 1.2
        fping: set precise license
        concurrencykit: enable 32- and 64-bit Arm targets

  Sakib Sajal (1):
        nss: uprev v3.73.1 -> v3.74

  Sam Van Den Berge (1):
        libiio: use setuptools functions instead of distutils

  Thomas Perrot (1):
        breakpad: fix branch for gtest in SRC_URI

  Tim Orling (2):
        python3-wheel: drop; moved to oe-core
        python3-test-generator: drop recipe

  Trevor Gamblin (1):
        phoronix-test-suite: upgrade 9.2.1 -> 10.8.1

  Wang Mingyu (39):
        ndpi: upgrade 4.0 -> 4.2
        ntopng: upgrade 5.0 -> 5.2.1
        python3-werkzeug: upgrade 2.0.2 -> 2.0.3
        python3-twisted: upgrade 21.7.0 -> 22.1.0
        python3-natsort: upgrade 8.0.2 -> 8.1.0
        xfsdump: upgrade 3.1.9 -> 3.1.10
        mm-common: upgrade 1.0.3 -> 1.0.4
        fsverity-utils: upgrade 1.4 -> 1.5
        libgee: upgrade 0.20.4 -> 0.20.5
        libqmi: upgrade 1.30.2 -> 1.30.4
        libcrypt-openssl-guess-perl: upgrade 0.14 -> 0.15
        gjs: upgrade 1.70.0 -> 1.70.1
        dnf-plugin-tui: Fix a bug of multilib
        libwacom: upgrade 1.12 -> 2.1.0
        gedit: upgrade 40.1 -> 41.0
        gnome-autoar: upgrade 0.4.2 -> 0.4.3
        libwnck3: upgrade 40.0 -> 40.1
        iscsi-initiator-utils: upgrade 2.1.5 -> 2.1.6
        iotop: upgrade 1.20 -> 1.21
        inotify-tools: upgrade 3.21.9.6 -> 3.22.1.0
        gnuplot: upgrade 5.4.2 -> 5.4.3
        libxmlb: upgrade 0.3.6 -> 0.3.7
        libgusb: upgrade 0.3.9 -> 0.3.10
        monit: upgrade 5.30.0 -> 5.31.0
        libjcat: upgrade 0.1.9 -> 0.1.10
        libio-socket-ssl-perl: upgrade 2.073 -> 2.074
        mpv: upgrade 0.34.0 -> 0.34.1
        php: upgrade 8.1.2 -> 8.1.3
        nano: upgrade 6.0 -> 6.2
        rdma-core: upgrade 38.0 -> 39.0
        netplan: upgrade 0.103 -> 0.104
        nautilus: upgrade 41.1 -> 41.2
        zchunk: upgrade 1.1.16 -> 1.2.0
        tree: upgrade 2.0.1 -> 2.0.2
        soci: upgrade 4.0.2 -> 4.0.3
        remmina: upgrade 1.4.23 -> 1.4.24
        wolfssl: upgrade 5.1.0- > 5.2.0
        tcpreplay: upgrade 4.4.0 -> 4.4.1
        spice-protocol: upgrade 0.14.3 -> 0.14.4

  Xu Huan (15):
        python3-multidict: upgrade 5.2.0 -> 6.0.2
        python3-pulsectl upgrade 21.10.5 -> 22.1.3
        python3-pyephem: upgrade 4.1.1 -> 4.1.3
        python3-pytest-timeout: upgrade 2.0.2 -> 2.1.0
        python3-pywbemtools: upgrade 0.9.0 -> 0.9.1
        python3-requests-oauthlib: upgrade 1.3.0 -> 1.3.1
        python3-sqlalchemy: upgrade 1.4.29 -> 1.4.31
        python3-oauthlib: upgrade 3.1.1 -> 3.2.0
        python3-pyudev: upgrade 0.22.0 -> 0.23.2
        python3-pyopenssl: upgrade 21.0.0 -> 22.0.0
        python3-alembic upgrade 1.7.5 -> 1.7.6
        python3-autobahn: upgrade 21.11.1 -> 22.1.1
        python3-flask: upgrade 2.0.2 -> 2.0.3
        python3-imageio: upgrade 2.15.0 -> 2.16.0
        python3-jdatetime: upgrade 3.8.2 -> 4.0.0

  Yi Zhao (5):
        phpmyadmin: upgrade 5.1.1 -> 5.1.2
        tcpdump: upgrade 4.99.0 -> 4.99.1
        tcpslice: upgrade 1.2a3 -> 1.5
        tcpreplay: update HOMEPAGE
        samba: upgrade 4.14.11 -> 4.14.12

  Zheng Ruoqin (6):
        libjs-jquery: Upgrade to 3.3.1.
        protobuf: upgrade 3.19.3 -> 3.19.4
        phpmyadmin: upgrade 5.1.2 -> 5.1.3
        postgresql: upgrade 14.1 -> 14.2
        pugixml: upgrade 1.11.4 -> 1.12
        poppler: upgrade 22.01.0 -> 22.02.0

  wangmy (14):
        fatcat: upgrade 1.1.0 -> 1.1.1
        libnma: upgrade 1.8.32 -> 1.8.34
        botan: upgrade 2.18.2 -> 2.19.1
        cgdb: upgrade 0.7.1 -> 0.8.0
        ddrescue: upgrade 1.25 -> 1.26
        hostapd: upgrade 2.9 -> 2.10
        libcereal: upgrade 1.3.0 -> 1.3.1
        ser2net: upgrade 4.3.4 -> 4.3.5
        dlt-daemon: upgrade 2.18.7 -> 2.18.8
        devilspie2: upgrade 0.43 -> 0.44
        opensaf: upgrade 5.21.09 -> 5.22.01
        tcpreplay: upgrade 4.3.4 -> 4.4.0
        lcms: upgrade 2.12 -> 2.13.1
        libcgi-perl: upgrade 4.53 -> 4.54

meta-security: c20b35b527..6cc8dde794:
  Akshay Bhat (2):
        meta-hardening: Fix override syntax
        scap-security-guide: Fix openembedded platform tests

  Anton Antonov (1):
        Upgrade parsec-tool to 0.5.1

  Armin Kuster (11):
        google-authenticator-libpam: update to 1.09
        packagegroup-security-tpm2.bb: remove dynamic pkgs
        tpm2-pkcs11_1.7.0: Drop dstat from DPENDS
        lkrg-module: update to 0.9.2
        suricata: update to 6.0.4
        tpm2-tss: update to 3.1.0
        parsec-service: fix compile issue.
        layer.conf: Update to use kirkstone
        recipes: Use renamed SKIP_RECIPE varFlag
        chipsec: fix WARNING
        smack: Use new CVE_CHECK_IGNORE variable

  Patrick Williams (1):
        tpm2-pkcs11: fix RDEPENDS variable

  Yi Zhao (1):
        samhain: upgrade 4.4.3 -> 4.4.6

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I270425c8a022f2e281a28ea19fdfae47aa375551
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index d25db91..93f3dc5 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -42,7 +42,7 @@
 
 LAYERDEPENDS_openembedded-layer = "core"
 
-LAYERSERIES_COMPAT_openembedded-layer = "honister"
+LAYERSERIES_COMPAT_openembedded-layer = "kirkstone"
 
 LICENSE_PATH += "${LAYERDIR}/licenses"
 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
index 5257ee3..46ca77f 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
@@ -100,7 +100,7 @@
 
 python populate_packages:prepend() {
     plugindir = d.expand('${libdir}/lcdproc')
-    do_split_packages(d, plugindir, '(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
+    do_split_packages(d, plugindir, r'(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
 }
 
 PACKAGES_DYNAMIC += "^lcdd-driver-.*"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index be131cd..b0e7475 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -76,4 +76,4 @@
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 
 # see https://github.com/libhugetlbfs/libhugetlbfs/issues/52
-PNBLACKLIST[libhugetlbfs] ?= "Needs porting to glibc 2.34+"
+SKIP_RECIPE[libhugetlbfs] ?= "Needs porting to glibc 2.34+"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.1.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.1.bb
index c571013..a83e09d 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.1.bb
@@ -6,8 +6,8 @@
 SECTION = "console/tests"
 
 SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "ad80ed9a5835929138473f764ff0d5db"
-SRC_URI[sha256sum] = "675e7ca96719e2f3b42a6c13421213a398f04da0f8e78f4691fa9261fdeb8501"
+SRC_URI[md5sum] = "9f107c080407b7ac195bb04e6cabb83b"
+SRC_URI[sha256sum] = "3b58ea694419ca608d729fa6ce72ed2b4c51af444729eefbcdc6e670290caa7f"
 
 S = "${WORKDIR}/phoronix-test-suite"
 
diff --git a/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi/cc.patch b/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi/cc.patch
index ac345f2..6fd2eca 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi/cc.patch
+++ b/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi/cc.patch
@@ -20,7 +20,7 @@
  import sys
  import argparse
 @@ -19,7 +20,7 @@ def _generate_sbat(args):
-     FWUPD_URL = "https://github.com/fwupd/fwupd"
+     FWUPD_URL = "https://github.com/fwupd/fwupd-efi"
  
      subprocess.run(
 -        [args.cc, "-x", "c", "-c", "-o", args.outfile, "/dev/null"], check=True
@@ -32,13 +32,13 @@
 index 68ea4aa..dcf0d43 100644
 --- a/efi/meson.build
 +++ b/efi/meson.build
-@@ -184,7 +184,7 @@ o_file5 = custom_target('fwup-sbat.o',
+@@ -187,7 +187,7 @@ o_file5 = custom_target('fwup-sbat.o',
                          command : [
-                           join_paths(meson.current_source_dir(), 'generate_sbat.py'),
+                           generate_sbat,
                            '@OUTPUT@',
 -                          '--cc', efi_cc,
 +                          '--cc', ' '.join(efi_cc),
-                           '--objcopy', efi_objcopy,
+                           '--objcopy', objcopy,
                            '--project-name', meson.project_name(),
                            '--project-version', meson.project_version(),
 diff --git a/meson_options.txt b/meson_options.txt
@@ -49,5 +49,5 @@
 -option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules')
 +option('efi-cc', type : 'array', value : ['gcc'], description : 'the compiler to use for EFI modules')
  option('efi-ld', type : 'string', value : 'ld', description : 'the linker to use for EFI modules')
- option('efi-objcopy', type : 'string', value : 'objcopy', description : 'the objcopy utility to use for EFI modules')
  option('efi-libdir', type : 'string', description : 'path to the EFI lib directory')
+ option('efi-ldsdir', type : 'string', description : 'path to the EFI lds directory')
diff --git a/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.1.bb b/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.2.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.1.bb
rename to meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.2.bb
index 2165b42..b88db2e 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.1.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.2.bb
@@ -4,7 +4,7 @@
 
 SRC_URI = "git://github.com/fwupd/fwupd-efi;protocol=https;branch=main \
            file://cc.patch"
-SRCREV = "fee1b8f6473cb403b8ae7a56961ba0557e3f3efa"
+SRCREV = "8de5918507dcc797e612aac688d6b60b90053f54"
 S = "${WORKDIR}/git"
 
 DEPENDS = "gnu-efi"
@@ -20,7 +20,6 @@
 
 EXTRA_OEMESON += "-Defi-cc="${@meson_array('CC', d)}" \
                   -Defi-ld='${HOST_PREFIX}ld' \
-                  -Defi-objcopy='${OBJCOPY}' \
                   -Defi-includedir=${STAGING_INCDIR}/efi \
                   -Defi-libdir=${STAGING_LIBDIR} \
                   -Defi_sbat_distro_id='${SBAT_DISTRO_ID}' \
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-Prepare-for-CVE-2021-30004.patch.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-Prepare-for-CVE-2021-30004.patch.patch
deleted file mode 100644
index 1bedb4f..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/0001-Prepare-for-CVE-2021-30004.patch.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 14fab0772db19297c82dd1b8612c9335369dce41 Mon Sep 17 00:00:00 2001
-From: Alexander Vickberg <wickbergster@gmail.com>
-Date: Mon, 17 May 2021 17:54:13 +0200
-Subject: [PATCH] Prepare for CVE-2021-30004.patch
-
-Without this building fails for CONFIG_TLS=internal
-
-Signed-off-by: Alexander Vickberg <wickbergster@gmail.com>
----
- src/tls/asn1.h       | 6 ++++++
- src/utils/includes.h | 1 +
- 2 files changed, 7 insertions(+)
-
-diff --git a/src/tls/asn1.h b/src/tls/asn1.h
-index 6bd7df5..77b94ef 100644
---- a/src/tls/asn1.h
-+++ b/src/tls/asn1.h
-@@ -66,6 +66,12 @@ void asn1_oid_to_str(const struct asn1_oid *oid, char *buf, size_t len);
- unsigned long asn1_bit_string_to_long(const u8 *buf, size_t len);
- int asn1_oid_equal(const struct asn1_oid *a, const struct asn1_oid *b);
- 
-+static inline bool asn1_is_null(const struct asn1_hdr *hdr)
-+{
-+	return hdr->class == ASN1_CLASS_UNIVERSAL &&
-+		hdr->tag == ASN1_TAG_NULL;
-+}
-+
- extern struct asn1_oid asn1_sha1_oid;
- extern struct asn1_oid asn1_sha256_oid;
- 
-diff --git a/src/utils/includes.h b/src/utils/includes.h
-index 75513fc..741fc9c 100644
---- a/src/utils/includes.h
-+++ b/src/utils/includes.h
-@@ -18,6 +18,7 @@
- 
- #include <stdlib.h>
- #include <stddef.h>
-+#include <stdbool.h>
- #include <stdio.h>
- #include <stdarg.h>
- #include <string.h>
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch
deleted file mode 100644
index 9cefd4f..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From d86d66dc073bc21d3b12faf4112062ae00c1773f Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Thu, 29 Aug 2019 11:52:04 +0300
-Subject: AP: Silently ignore management frame from unexpected source
-address
-
-Do not process any received Management frames with unexpected/invalid SA
-so that we do not add any state for unexpected STA addresses or end up
-sending out frames to unexpected destination. This prevents unexpected
-sequences where an unprotected frame might end up causing the AP to send
-out a response to another device and that other device processing the
-unexpected response.
-
-In particular, this prevents some potential denial of service cases
-where the unexpected response frame from the AP might result in a
-connected station dropping its association.
-
-Upstream-Status: Accepted
-CVE: CVE-2019-16275
-
-Reference to upstream patch:
-https://w1.fi/cgit/hostap/commit/?id=d86d66dc073bc21d3b12faf4112062ae00c1773f
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/ap/drv_callbacks.c | 13 +++++++++++++
- src/ap/ieee802_11.c    | 12 ++++++++++++
- 2 files changed, 25 insertions(+)
-
-diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c
-index 3158768..34ca379 100644
---- a/src/ap/drv_callbacks.c
-+++ b/src/ap/drv_callbacks.c
-@@ -131,6 +131,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
- 			   "hostapd_notif_assoc: Skip event with no address");
- 		return -1;
- 	}
-+
-+	if (is_multicast_ether_addr(addr) ||
-+	    is_zero_ether_addr(addr) ||
-+	    os_memcmp(addr, hapd->own_addr, ETH_ALEN) == 0) {
-+		/* Do not process any frames with unexpected/invalid SA so that
-+		 * we do not add any state for unexpected STA addresses or end
-+		 * up sending out frames to unexpected destination. */
-+		wpa_printf(MSG_DEBUG, "%s: Invalid SA=" MACSTR
-+			   " in received indication - ignore this indication silently",
-+			   __func__, MAC2STR(addr));
-+		return 0;
-+	}
-+
- 	random_add_randomness(addr, ETH_ALEN);
- 
- 	hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211,
-diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
-index c85a28d..2816812 100644
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -4626,6 +4626,18 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len,
- 	fc = le_to_host16(mgmt->frame_control);
- 	stype = WLAN_FC_GET_STYPE(fc);
- 
-+	if (is_multicast_ether_addr(mgmt->sa) ||
-+	    is_zero_ether_addr(mgmt->sa) ||
-+	    os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) {
-+		/* Do not process any frames with unexpected/invalid SA so that
-+		 * we do not add any state for unexpected STA addresses or end
-+		 * up sending out frames to unexpected destination. */
-+		wpa_printf(MSG_DEBUG, "MGMT: Invalid SA=" MACSTR
-+			   " in received frame - ignore this frame silently",
-+			   MAC2STR(mgmt->sa));
-+		return 0;
-+	}
-+
- 	if (stype == WLAN_FC_STYPE_BEACON) {
- 		handle_beacon(hapd, mgmt, len, fi);
- 		return 1;
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch
deleted file mode 100644
index 9214615..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-5061.patch
+++ /dev/null
@@ -1,854 +0,0 @@
-From 018edec9b2bd3db20605117c32ff79c1e625c432 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Wed, 11 Sep 2019 12:34:28 +0300
-Subject: [PATCH] Remove IAPP functionality from hostapd
-
-IEEE Std 802.11F-2003 was withdrawn in 2006 and as such it has not been
-maintained nor is there any expectation of the withdrawn trial-use
-recommended practice to be maintained in the future. Furthermore,
-implementation of IAPP in hostapd was not complete, i.e., only parts of
-the recommended practice were included. The main item of some real use
-long time ago was the Layer 2 Update frame to update bridges when a STA
-roams within an ESS, but that functionality has, in practice, been moved
-to kernel drivers to provide better integration with the networking
-stack.
-
-CVE: CVE-2019-5061
-
-Upstream-Status: Backport
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- hostapd/Android.mk                        |   5 -
- hostapd/Makefile                          |   5 -
- hostapd/android.config                    |   3 -
- hostapd/config_file.c                     |   3 +-
- hostapd/defconfig                         |   3 -
- hostapd/hostapd.conf                      |   6 -
- hostapd/main.c                            |   3 -
- src/ap/Makefile                           |   2 -
- src/ap/ap_config.h                        |   4 -
- src/ap/hostapd.c                          |  14 -
- src/ap/hostapd.h                          |   2 -
- src/ap/iapp.c                             | 542 ----------------------
- src/ap/iapp.h                             |  39 --
- src/utils/wpa_debug.h                     |   1 -
- 14 files changed, 1 insertion(+), 633 deletions(-)
- delete mode 100644 src/ap/iapp.c
- delete mode 100644 src/ap/iapp.h
-
-diff --git a/hostapd/Android.mk b/hostapd/Android.mk
-index 3183323ef..a87ac8144 100644
---- a/hostapd/Android.mk
-+++ b/hostapd/Android.mk
-@@ -205,11 +205,6 @@ endif
- 
- L_CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX
- 
--ifdef CONFIG_IAPP
--L_CFLAGS += -DCONFIG_IAPP
--OBJS += src/ap/iapp.c
--endif
--
- ifdef CONFIG_RSN_PREAUTH
- L_CFLAGS += -DCONFIG_RSN_PREAUTH
- CONFIG_L2_PACKET=y
-diff --git a/hostapd/Makefile b/hostapd/Makefile
-index f7f4c785b..42bb9e4c8 100644
---- a/hostapd/Makefile
-+++ b/hostapd/Makefile
-@@ -248,11 +248,6 @@ ifndef CONFIG_NO_CTRL_IFACE
- CFLAGS += -DCONFIG_CTRL_IFACE
- endif
- 
--ifdef CONFIG_IAPP
--CFLAGS += -DCONFIG_IAPP
--OBJS += ../src/ap/iapp.o
--endif
--
- ifdef CONFIG_RSN_PREAUTH
- CFLAGS += -DCONFIG_RSN_PREAUTH
- CONFIG_L2_PACKET=y
-diff --git a/hostapd/android.config b/hostapd/android.config
-index efe252332..e2e6c7821 100644
---- a/hostapd/android.config
-+++ b/hostapd/android.config
-@@ -38,9 +38,6 @@ CONFIG_DRIVER_NL80211_QCA=y
- # Driver interface for no driver (e.g., RADIUS server only)
- #CONFIG_DRIVER_NONE=y
- 
--# IEEE 802.11F/IAPP
--#CONFIG_IAPP=y
--
- # WPA2/IEEE 802.11i RSN pre-authentication
- #CONFIG_RSN_PREAUTH=y
- 
-diff --git a/hostapd/config_file.c b/hostapd/config_file.c
-index 680f17ee0..0d340d252 100644
---- a/hostapd/config_file.c
-+++ b/hostapd/config_file.c
-@@ -2712,8 +2712,7 @@ static int hostapd_config_fill(struct hostapd_config *conf,
- 		bss->eapol_key_index_workaround = atoi(pos);
- #ifdef CONFIG_IAPP
- 	} else if (os_strcmp(buf, "iapp_interface") == 0) {
--		bss->ieee802_11f = 1;
--		os_strlcpy(bss->iapp_iface, pos, sizeof(bss->iapp_iface));
-+		wpa_printf(MSG_INFO, "DEPRECATED: iapp_interface not used");
- #endif /* CONFIG_IAPP */
- 	} else if (os_strcmp(buf, "own_ip_addr") == 0) {
- 		if (hostapd_parse_ip_addr(pos, &bss->own_ip_addr)) {
-diff --git a/hostapd/defconfig b/hostapd/defconfig
-index b1fb56c3b..1a3d9f9ba 100644
---- a/hostapd/defconfig
-+++ b/hostapd/defconfig
-@@ -44,9 +44,6 @@ CONFIG_LIBNL32=y
- # Driver interface for no driver (e.g., RADIUS server only)
- #CONFIG_DRIVER_NONE=y
- 
--# IEEE 802.11F/IAPP
--CONFIG_IAPP=y
--
- # WPA2/IEEE 802.11i RSN pre-authentication
- CONFIG_RSN_PREAUTH=y
- 
-diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf
-index 6c96a760a..a3c698480 100644
---- a/hostapd/hostapd.conf
-+++ b/hostapd/hostapd.conf
-@@ -41,7 +41,6 @@ interface=wlan0
- # bit 2 (4) = RADIUS
- # bit 3 (8) = WPA
- # bit 4 (16) = driver interface
--# bit 5 (32) = IAPP
- # bit 6 (64) = MLME
- #
- # Levels (minimum value for logged events):
-@@ -1243,11 +1242,6 @@ eap_server=0
- # Whether to enable ERP on the EAP server.
- #eap_server_erp=1
- 
--##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) #######################
--
--# Interface to be used for IAPP broadcast packets
--#iapp_interface=eth0
--
- 
- ##### RADIUS client configuration #############################################
- # for IEEE 802.1X with external Authentication Server, IEEE 802.11
-diff --git a/hostapd/main.c b/hostapd/main.c
-index 08896ffe2..8bfe24281 100644
---- a/hostapd/main.c
-+++ b/hostapd/main.c
-@@ -81,9 +81,6 @@ static void hostapd_logger_cb(void *ctx, const u8 *addr, unsigned int module,
- 	case HOSTAPD_MODULE_DRIVER:
- 		module_str = "DRIVER";
- 		break;
--	case HOSTAPD_MODULE_IAPP:
--		module_str = "IAPP";
--		break;
- 	case HOSTAPD_MODULE_MLME:
- 		module_str = "MLME";
- 		break;
-diff --git a/src/ap/Makefile b/src/ap/Makefile
-index bd3f33b77..54e48a0dd 100644
---- a/src/ap/Makefile
-+++ b/src/ap/Makefile
-@@ -18,7 +18,6 @@ CFLAGS += -DCONFIG_IEEE80211R_AP
- CFLAGS += -DCONFIG_WPS
- CFLAGS += -DCONFIG_PROXYARP
- CFLAGS += -DCONFIG_IPV6
--CFLAGS += -DCONFIG_IAPP
- CFLAGS += -DCONFIG_AIRTIME_POLICY
- 
- LIB_OBJS= \
-@@ -41,7 +40,6 @@ LIB_OBJS= \
- 	hostapd.o \
- 	hs20.o \
- 	hw_features.o \
--	iapp.o \
- 	ieee802_11_auth.o \
- 	ieee802_11.o \
- 	ieee802_11_ht.o \
-diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
-index e219160b0..17eb0682b 100644
---- a/src/ap/ap_config.h
-+++ b/src/ap/ap_config.h
-@@ -325,10 +325,6 @@ struct hostapd_bss_config {
- 	int erp_send_reauth_start;
- 	char *erp_domain;
- 
--	int ieee802_11f; /* use IEEE 802.11f (IAPP) */
--	char iapp_iface[IFNAMSIZ + 1]; /* interface used with IAPP broadcast
--					* frames */
--
- 	enum macaddr_acl {
- 		ACCEPT_UNLESS_DENIED = 0,
- 		DENY_UNLESS_ACCEPTED = 1,
-diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
-index ef988b634..bf7b1f89e 100644
---- a/src/ap/hostapd.c
-+++ b/src/ap/hostapd.c
-@@ -28,7 +28,6 @@
- #include "accounting.h"
- #include "ap_list.h"
- #include "beacon.h"
--#include "iapp.h"
- #include "ieee802_1x.h"
- #include "ieee802_11_auth.h"
- #include "vlan_init.h"
-@@ -361,8 +360,6 @@ static void hostapd_free_hapd_data(struct hostapd_data *hapd)
- 	hapd->beacon_set_done = 0;
- 
- 	wpa_printf(MSG_DEBUG, "%s(%s)", __func__, hapd->conf->iface);
--	iapp_deinit(hapd->iapp);
--	hapd->iapp = NULL;
- 	accounting_deinit(hapd);
- 	hostapd_deinit_wpa(hapd);
- 	vlan_deinit(hapd);
-@@ -1296,13 +1293,6 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
- 		return -1;
- 	}
- 
--	if (conf->ieee802_11f &&
--	    (hapd->iapp = iapp_init(hapd, conf->iapp_iface)) == NULL) {
--		wpa_printf(MSG_ERROR, "IEEE 802.11F (IAPP) initialization "
--			   "failed.");
--		return -1;
--	}
--
- #ifdef CONFIG_INTERWORKING
- 	if (gas_serv_init(hapd)) {
- 		wpa_printf(MSG_ERROR, "GAS server initialization failed");
-@@ -3056,10 +3046,6 @@ void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta,
- 	hostapd_prune_associations(hapd, sta->addr);
- 	ap_sta_clear_disconnect_timeouts(hapd, sta);
- 
--	/* IEEE 802.11F (IAPP) */
--	if (hapd->conf->ieee802_11f)
--		iapp_new_station(hapd->iapp, sta);
--
- #ifdef CONFIG_P2P
- 	if (sta->p2p_ie == NULL && !sta->no_p2p_set) {
- 		sta->no_p2p_set = 1;
-diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
-index 5b859b8a9..2358d1664 100644
---- a/src/ap/hostapd.h
-+++ b/src/ap/hostapd.h
-@@ -179,8 +179,6 @@ struct hostapd_data {
- 	u64 acct_session_id;
- 	struct radius_das_data *radius_das;
- 
--	struct iapp_data *iapp;
--
- 	struct hostapd_cached_radius_acl *acl_cache;
- 	struct hostapd_acl_query_data *acl_queries;
- 
-diff --git a/src/ap/iapp.c b/src/ap/iapp.c
-deleted file mode 100644
-index 2556da30c..000000000
---- a/src/ap/iapp.c
-+++ /dev/null
-@@ -1,542 +0,0 @@
--/*
-- * hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP)
-- * Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi>
-- *
-- * This software may be distributed under the terms of the BSD license.
-- * See README for more details.
-- *
-- * Note: IEEE 802.11F-2003 was a experimental use specification. It has expired
-- * and IEEE has withdrawn it. In other words, it is likely better to look at
-- * using some other mechanism for AP-to-AP communication than extending the
-- * implementation here.
-- */
--
--/* TODO:
-- * Level 1: no administrative or security support
-- *	(e.g., static BSSID to IP address mapping in each AP)
-- * Level 2: support for dynamic mapping of BSSID to IP address
-- * Level 3: support for encryption and authentication of IAPP messages
-- * - add support for MOVE-notify and MOVE-response (this requires support for
-- *   finding out IP address for previous AP using RADIUS)
-- * - add support for Send- and ACK-Security-Block to speedup IEEE 802.1X during
-- *   reassociation to another AP
-- * - implement counters etc. for IAPP MIB
-- * - verify endianness of fields in IAPP messages; are they big-endian as
-- *   used here?
-- * - RADIUS connection for AP registration and BSSID to IP address mapping
-- * - TCP connection for IAPP MOVE, CACHE
-- * - broadcast ESP for IAPP ADD-notify
-- * - ESP for IAPP MOVE messages
-- * - security block sending/processing
-- * - IEEE 802.11 context transfer
-- */
--
--#include "utils/includes.h"
--#include <net/if.h>
--#include <sys/ioctl.h>
--#include <netpacket/packet.h>
--
--#include "utils/common.h"
--#include "utils/eloop.h"
--#include "common/ieee802_11_defs.h"
--#include "hostapd.h"
--#include "ap_config.h"
--#include "ieee802_11.h"
--#include "sta_info.h"
--#include "iapp.h"
--
--
--#define IAPP_MULTICAST "224.0.1.178"
--#define IAPP_UDP_PORT 3517
--#define IAPP_TCP_PORT 3517
--
--struct iapp_hdr {
--	u8 version;
--	u8 command;
--	be16 identifier;
--	be16 length;
--	/* followed by length-6 octets of data */
--} __attribute__ ((packed));
--
--#define IAPP_VERSION 0
--
--enum IAPP_COMMAND {
--	IAPP_CMD_ADD_notify = 0,
--	IAPP_CMD_MOVE_notify = 1,
--	IAPP_CMD_MOVE_response = 2,
--	IAPP_CMD_Send_Security_Block = 3,
--	IAPP_CMD_ACK_Security_Block = 4,
--	IAPP_CMD_CACHE_notify = 5,
--	IAPP_CMD_CACHE_response = 6,
--};
--
--
--/* ADD-notify - multicast UDP on the local LAN */
--struct iapp_add_notify {
--	u8 addr_len; /* ETH_ALEN */
--	u8 reserved;
--	u8 mac_addr[ETH_ALEN];
--	be16 seq_num;
--} __attribute__ ((packed));
--
--
--/* Layer 2 Update frame (802.2 Type 1 LLC XID Update response) */
--struct iapp_layer2_update {
--	u8 da[ETH_ALEN]; /* broadcast */
--	u8 sa[ETH_ALEN]; /* STA addr */
--	be16 len; /* 6 */
--	u8 dsap; /* null DSAP address */
--	u8 ssap; /* null SSAP address, CR=Response */
--	u8 control;
--	u8 xid_info[3];
--} __attribute__ ((packed));
--
--
--/* MOVE-notify - unicast TCP */
--struct iapp_move_notify {
--	u8 addr_len; /* ETH_ALEN */
--	u8 reserved;
--	u8 mac_addr[ETH_ALEN];
--	u16 seq_num;
--	u16 ctx_block_len;
--	/* followed by ctx_block_len bytes */
--} __attribute__ ((packed));
--
--
--/* MOVE-response - unicast TCP */
--struct iapp_move_response {
--	u8 addr_len; /* ETH_ALEN */
--	u8 status;
--	u8 mac_addr[ETH_ALEN];
--	u16 seq_num;
--	u16 ctx_block_len;
--	/* followed by ctx_block_len bytes */
--} __attribute__ ((packed));
--
--enum {
--	IAPP_MOVE_SUCCESSFUL = 0,
--	IAPP_MOVE_DENIED = 1,
--	IAPP_MOVE_STALE_MOVE = 2,
--};
--
--
--/* CACHE-notify */
--struct iapp_cache_notify {
--	u8 addr_len; /* ETH_ALEN */
--	u8 reserved;
--	u8 mac_addr[ETH_ALEN];
--	u16 seq_num;
--	u8 current_ap[ETH_ALEN];
--	u16 ctx_block_len;
--	/* ctx_block_len bytes of context block followed by 16-bit context
--	 * timeout */
--} __attribute__ ((packed));
--
--
--/* CACHE-response - unicast TCP */
--struct iapp_cache_response {
--	u8 addr_len; /* ETH_ALEN */
--	u8 status;
--	u8 mac_addr[ETH_ALEN];
--	u16 seq_num;
--} __attribute__ ((packed));
--
--enum {
--	IAPP_CACHE_SUCCESSFUL = 0,
--	IAPP_CACHE_STALE_CACHE = 1,
--};
--
--
--/* Send-Security-Block - unicast TCP */
--struct iapp_send_security_block {
--	u8 iv[8];
--	u16 sec_block_len;
--	/* followed by sec_block_len bytes of security block */
--} __attribute__ ((packed));
--
--
--/* ACK-Security-Block - unicast TCP */
--struct iapp_ack_security_block {
--	u8 iv[8];
--	u8 new_ap_ack_authenticator[48];
--} __attribute__ ((packed));
--
--
--struct iapp_data {
--	struct hostapd_data *hapd;
--	u16 identifier; /* next IAPP identifier */
--	struct in_addr own, multicast;
--	int udp_sock;
--	int packet_sock;
--};
--
--
--static void iapp_send_add(struct iapp_data *iapp, u8 *mac_addr, u16 seq_num)
--{
--	char buf[128];
--	struct iapp_hdr *hdr;
--	struct iapp_add_notify *add;
--	struct sockaddr_in addr;
--
--	/* Send IAPP ADD-notify to remove possible association from other APs
--	 */
--
--	hdr = (struct iapp_hdr *) buf;
--	hdr->version = IAPP_VERSION;
--	hdr->command = IAPP_CMD_ADD_notify;
--	hdr->identifier = host_to_be16(iapp->identifier++);
--	hdr->length = host_to_be16(sizeof(*hdr) + sizeof(*add));
--
--	add = (struct iapp_add_notify *) (hdr + 1);
--	add->addr_len = ETH_ALEN;
--	add->reserved = 0;
--	os_memcpy(add->mac_addr, mac_addr, ETH_ALEN);
--
--	add->seq_num = host_to_be16(seq_num);
--	
--	os_memset(&addr, 0, sizeof(addr));
--	addr.sin_family = AF_INET;
--	addr.sin_addr.s_addr = iapp->multicast.s_addr;
--	addr.sin_port = htons(IAPP_UDP_PORT);
--	if (sendto(iapp->udp_sock, buf, (char *) (add + 1) - buf, 0,
--		   (struct sockaddr *) &addr, sizeof(addr)) < 0)
--		wpa_printf(MSG_INFO, "sendto[IAPP-ADD]: %s", strerror(errno));
--}
--
--
--static void iapp_send_layer2_update(struct iapp_data *iapp, u8 *addr)
--{
--	struct iapp_layer2_update msg;
--
--	/* Send Level 2 Update Frame to update forwarding tables in layer 2
--	 * bridge devices */
--
--	/* 802.2 Type 1 Logical Link Control (LLC) Exchange Identifier (XID)
--	 * Update response frame; IEEE Std 802.2-1998, 5.4.1.2.1 */
--
--	os_memset(msg.da, 0xff, ETH_ALEN);
--	os_memcpy(msg.sa, addr, ETH_ALEN);
--	msg.len = host_to_be16(6);
--	msg.dsap = 0; /* NULL DSAP address */
--	msg.ssap = 0x01; /* NULL SSAP address, CR Bit: Response */
--	msg.control = 0xaf; /* XID response lsb.1111F101.
--			     * F=0 (no poll command; unsolicited frame) */
--	msg.xid_info[0] = 0x81; /* XID format identifier */
--	msg.xid_info[1] = 1; /* LLC types/classes: Type 1 LLC */
--	msg.xid_info[2] = 1 << 1; /* XID sender's receive window size (RW)
--				   * FIX: what is correct RW with 802.11? */
--
--	if (send(iapp->packet_sock, &msg, sizeof(msg), 0) < 0)
--		wpa_printf(MSG_INFO, "send[L2 Update]: %s", strerror(errno));
--}
--
--
--/**
-- * iapp_new_station - IAPP processing for a new STA
-- * @iapp: IAPP data
-- * @sta: The associated station
-- */
--void iapp_new_station(struct iapp_data *iapp, struct sta_info *sta)
--{
--	u16 seq = 0; /* TODO */
--
--	if (iapp == NULL)
--		return;
--
--	/* IAPP-ADD.request(MAC Address, Sequence Number, Timeout) */
--	hostapd_logger(iapp->hapd, sta->addr, HOSTAPD_MODULE_IAPP,
--		       HOSTAPD_LEVEL_DEBUG, "IAPP-ADD.request(seq=%d)", seq);
--	iapp_send_layer2_update(iapp, sta->addr);
--	iapp_send_add(iapp, sta->addr, seq);
--
--	/* TODO: If this was reassociation:
--	 * IAPP-MOVE.request(MAC Address, Sequence Number, Old AP,
--	 *                   Context Block, Timeout)
--	 * TODO: Send IAPP-MOVE to the old AP; Map Old AP BSSID to
--	 * IP address */
--}
--
--
--static void iapp_process_add_notify(struct iapp_data *iapp,
--				    struct sockaddr_in *from,
--				    struct iapp_hdr *hdr, int len)
--{
--	struct iapp_add_notify *add = (struct iapp_add_notify *) (hdr + 1);
--	struct sta_info *sta;
--
--	if (len != sizeof(*add)) {
--		wpa_printf(MSG_INFO, "Invalid IAPP-ADD packet length %d (expected %lu)",
--			   len, (unsigned long) sizeof(*add));
--		return;
--	}
--
--	sta = ap_get_sta(iapp->hapd, add->mac_addr);
--
--	/* IAPP-ADD.indication(MAC Address, Sequence Number) */
--	hostapd_logger(iapp->hapd, add->mac_addr, HOSTAPD_MODULE_IAPP,
--		       HOSTAPD_LEVEL_INFO,
--		       "Received IAPP ADD-notify (seq# %d) from %s:%d%s",
--		       be_to_host16(add->seq_num),
--		       inet_ntoa(from->sin_addr), ntohs(from->sin_port),
--		       sta ? "" : " (STA not found)");
--
--	if (!sta)
--		return;
--
--	/* TODO: could use seq_num to try to determine whether last association
--	 * to this AP is newer than the one advertised in IAPP-ADD. Although,
--	 * this is not really a reliable verification. */
--
--	hostapd_logger(iapp->hapd, add->mac_addr, HOSTAPD_MODULE_IAPP,
--		       HOSTAPD_LEVEL_DEBUG,
--		       "Removing STA due to IAPP ADD-notify");
--	ap_sta_disconnect(iapp->hapd, sta, NULL, 0);
--}
--
--
--/**
-- * iapp_receive_udp - Process IAPP UDP frames
-- * @sock: File descriptor for the socket
-- * @eloop_ctx: IAPP data (struct iapp_data *)
-- * @sock_ctx: Not used
-- */
--static void iapp_receive_udp(int sock, void *eloop_ctx, void *sock_ctx)
--{
--	struct iapp_data *iapp = eloop_ctx;
--	int len, hlen;
--	unsigned char buf[128];
--	struct sockaddr_in from;
--	socklen_t fromlen;
--	struct iapp_hdr *hdr;
--
--	/* Handle incoming IAPP frames (over UDP/IP) */
--
--	fromlen = sizeof(from);
--	len = recvfrom(iapp->udp_sock, buf, sizeof(buf), 0,
--		       (struct sockaddr *) &from, &fromlen);
--	if (len < 0) {
--		wpa_printf(MSG_INFO, "iapp_receive_udp - recvfrom: %s",
--			   strerror(errno));
--		return;
--	}
--
--	if (from.sin_addr.s_addr == iapp->own.s_addr)
--		return; /* ignore own IAPP messages */
--
--	hostapd_logger(iapp->hapd, NULL, HOSTAPD_MODULE_IAPP,
--		       HOSTAPD_LEVEL_DEBUG,
--		       "Received %d byte IAPP frame from %s%s\n",
--		       len, inet_ntoa(from.sin_addr),
--		       len < (int) sizeof(*hdr) ? " (too short)" : "");
--
--	if (len < (int) sizeof(*hdr))
--		return;
--
--	hdr = (struct iapp_hdr *) buf;
--	hlen = be_to_host16(hdr->length);
--	hostapd_logger(iapp->hapd, NULL, HOSTAPD_MODULE_IAPP,
--		       HOSTAPD_LEVEL_DEBUG,
--		       "RX: version=%d command=%d id=%d len=%d\n",
--		       hdr->version, hdr->command,
--		       be_to_host16(hdr->identifier), hlen);
--	if (hdr->version != IAPP_VERSION) {
--		wpa_printf(MSG_INFO, "Dropping IAPP frame with unknown version %d",
--			   hdr->version);
--		return;
--	}
--	if (hlen > len) {
--		wpa_printf(MSG_INFO, "Underflow IAPP frame (hlen=%d len=%d)",
--			   hlen, len);
--		return;
--	}
--	if (hlen < len) {
--		wpa_printf(MSG_INFO, "Ignoring %d extra bytes from IAPP frame",
--			   len - hlen);
--		len = hlen;
--	}
--
--	switch (hdr->command) {
--	case IAPP_CMD_ADD_notify:
--		iapp_process_add_notify(iapp, &from, hdr, len - sizeof(*hdr));
--		break;
--	case IAPP_CMD_MOVE_notify:
--		/* TODO: MOVE is using TCP; so move this to TCP handler once it
--		 * is implemented.. */
--		/* IAPP-MOVE.indication(MAC Address, New BSSID,
--		 * Sequence Number, AP Address, Context Block) */
--		/* TODO: process */
--		break;
--	default:
--		wpa_printf(MSG_INFO, "Unknown IAPP command %d", hdr->command);
--		break;
--	}
--}
--
--
--struct iapp_data * iapp_init(struct hostapd_data *hapd, const char *iface)
--{
--	struct ifreq ifr;
--	struct sockaddr_ll addr;
--	int ifindex;
--	struct sockaddr_in *paddr, uaddr;
--	struct iapp_data *iapp;
--	struct ip_mreqn mreq;
--	int reuseaddr = 1;
--
--	iapp = os_zalloc(sizeof(*iapp));
--	if (iapp == NULL)
--		return NULL;
--	iapp->hapd = hapd;
--	iapp->udp_sock = iapp->packet_sock = -1;
--
--	/* TODO:
--	 * open socket for sending and receiving IAPP frames over TCP
--	 */
--
--	iapp->udp_sock = socket(PF_INET, SOCK_DGRAM, 0);
--	if (iapp->udp_sock < 0) {
--		wpa_printf(MSG_INFO, "iapp_init - socket[PF_INET,SOCK_DGRAM]: %s",
--			   strerror(errno));
--		iapp_deinit(iapp);
--		return NULL;
--	}
--
--	os_memset(&ifr, 0, sizeof(ifr));
--	os_strlcpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name));
--	if (ioctl(iapp->udp_sock, SIOCGIFINDEX, &ifr) != 0) {
--		wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFINDEX): %s",
--			   strerror(errno));
--		iapp_deinit(iapp);
--		return NULL;
--	}
--	ifindex = ifr.ifr_ifindex;
--
--	if (ioctl(iapp->udp_sock, SIOCGIFADDR, &ifr) != 0) {
--		wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFADDR): %s",
--			   strerror(errno));
--		iapp_deinit(iapp);
--		return NULL;
--	}
--	paddr = (struct sockaddr_in *) &ifr.ifr_addr;
--	if (paddr->sin_family != AF_INET) {
--		wpa_printf(MSG_INFO, "IAPP: Invalid address family %i (SIOCGIFADDR)",
--			   paddr->sin_family);
--		iapp_deinit(iapp);
--		return NULL;
--	}
--	iapp->own.s_addr = paddr->sin_addr.s_addr;
--
--	if (ioctl(iapp->udp_sock, SIOCGIFBRDADDR, &ifr) != 0) {
--		wpa_printf(MSG_INFO, "iapp_init - ioctl(SIOCGIFBRDADDR): %s",
--			   strerror(errno));
--		iapp_deinit(iapp);
--		return NULL;
--	}
--	paddr = (struct sockaddr_in *) &ifr.ifr_addr;
--	if (paddr->sin_family != AF_INET) {
--		wpa_printf(MSG_INFO, "Invalid address family %i (SIOCGIFBRDADDR)",
--			   paddr->sin_family);
--		iapp_deinit(iapp);
--		return NULL;
--	}
--	inet_aton(IAPP_MULTICAST, &iapp->multicast);
--
--	os_memset(&uaddr, 0, sizeof(uaddr));
--	uaddr.sin_family = AF_INET;
--	uaddr.sin_port = htons(IAPP_UDP_PORT);
--
--	if (setsockopt(iapp->udp_sock, SOL_SOCKET, SO_REUSEADDR, &reuseaddr,
--		       sizeof(reuseaddr)) < 0) {
--		wpa_printf(MSG_INFO,
--			   "iapp_init - setsockopt[UDP,SO_REUSEADDR]: %s",
--			   strerror(errno));
--		/*
--		 * Ignore this and try to continue. This is fine for single
--		 * BSS cases, but may fail if multiple BSSes enable IAPP.
--		 */
--	}
--
--	if (bind(iapp->udp_sock, (struct sockaddr *) &uaddr,
--		 sizeof(uaddr)) < 0) {
--		wpa_printf(MSG_INFO, "iapp_init - bind[UDP]: %s",
--			   strerror(errno));
--		iapp_deinit(iapp);
--		return NULL;
--	}
--
--	os_memset(&mreq, 0, sizeof(mreq));
--	mreq.imr_multiaddr = iapp->multicast;
--	mreq.imr_address.s_addr = INADDR_ANY;
--	mreq.imr_ifindex = 0;
--	if (setsockopt(iapp->udp_sock, SOL_IP, IP_ADD_MEMBERSHIP, &mreq,
--		       sizeof(mreq)) < 0) {
--		wpa_printf(MSG_INFO, "iapp_init - setsockopt[UDP,IP_ADD_MEMBERSHIP]: %s",
--			   strerror(errno));
--		iapp_deinit(iapp);
--		return NULL;
--	}
--
--	iapp->packet_sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
--	if (iapp->packet_sock < 0) {
--		wpa_printf(MSG_INFO, "iapp_init - socket[PF_PACKET,SOCK_RAW]: %s",
--			   strerror(errno));
--		iapp_deinit(iapp);
--		return NULL;
--	}
--
--	os_memset(&addr, 0, sizeof(addr));
--	addr.sll_family = AF_PACKET;
--	addr.sll_ifindex = ifindex;
--	if (bind(iapp->packet_sock, (struct sockaddr *) &addr,
--		 sizeof(addr)) < 0) {
--		wpa_printf(MSG_INFO, "iapp_init - bind[PACKET]: %s",
--			   strerror(errno));
--		iapp_deinit(iapp);
--		return NULL;
--	}
--
--	if (eloop_register_read_sock(iapp->udp_sock, iapp_receive_udp,
--				     iapp, NULL)) {
--		wpa_printf(MSG_INFO, "Could not register read socket for IAPP");
--		iapp_deinit(iapp);
--		return NULL;
--	}
--
--	wpa_printf(MSG_INFO, "IEEE 802.11F (IAPP) using interface %s", iface);
--
--	/* TODO: For levels 2 and 3: send RADIUS Initiate-Request, receive
--	 * RADIUS Initiate-Accept or Initiate-Reject. IAPP port should actually
--	 * be openned only after receiving Initiate-Accept. If Initiate-Reject
--	 * is received, IAPP is not started. */
--
--	return iapp;
--}
--
--
--void iapp_deinit(struct iapp_data *iapp)
--{
--	struct ip_mreqn mreq;
--
--	if (iapp == NULL)
--		return;
--
--	if (iapp->udp_sock >= 0) {
--		os_memset(&mreq, 0, sizeof(mreq));
--		mreq.imr_multiaddr = iapp->multicast;
--		mreq.imr_address.s_addr = INADDR_ANY;
--		mreq.imr_ifindex = 0;
--		if (setsockopt(iapp->udp_sock, SOL_IP, IP_DROP_MEMBERSHIP,
--			       &mreq, sizeof(mreq)) < 0) {
--			wpa_printf(MSG_INFO, "iapp_deinit - setsockopt[UDP,IP_DEL_MEMBERSHIP]: %s",
--				   strerror(errno));
--		}
--
--		eloop_unregister_read_sock(iapp->udp_sock);
--		close(iapp->udp_sock);
--	}
--	if (iapp->packet_sock >= 0) {
--		eloop_unregister_read_sock(iapp->packet_sock);
--		close(iapp->packet_sock);
--	}
--	os_free(iapp);
--}
-diff --git a/src/ap/iapp.h b/src/ap/iapp.h
-deleted file mode 100644
-index c22118342..000000000
---- a/src/ap/iapp.h
-+++ /dev/null
-@@ -1,39 +0,0 @@
--/*
-- * hostapd / IEEE 802.11F-2003 Inter-Access Point Protocol (IAPP)
-- * Copyright (c) 2002-2005, Jouni Malinen <j@w1.fi>
-- *
-- * This software may be distributed under the terms of the BSD license.
-- * See README for more details.
-- */
--
--#ifndef IAPP_H
--#define IAPP_H
--
--struct iapp_data;
--
--#ifdef CONFIG_IAPP
--
--void iapp_new_station(struct iapp_data *iapp, struct sta_info *sta);
--struct iapp_data * iapp_init(struct hostapd_data *hapd, const char *iface);
--void iapp_deinit(struct iapp_data *iapp);
--
--#else /* CONFIG_IAPP */
--
--static inline void iapp_new_station(struct iapp_data *iapp,
--				    struct sta_info *sta)
--{
--}
--
--static inline struct iapp_data * iapp_init(struct hostapd_data *hapd,
--					   const char *iface)
--{
--	return NULL;
--}
--
--static inline void iapp_deinit(struct iapp_data *iapp)
--{
--}
--
--#endif /* CONFIG_IAPP */
--
--#endif /* IAPP_H */
-diff --git a/src/utils/wpa_debug.h b/src/utils/wpa_debug.h
-index 1fe0b7db7..c94c4391f 100644
---- a/src/utils/wpa_debug.h
-+++ b/src/utils/wpa_debug.h
-@@ -305,7 +305,6 @@ void hostapd_logger_register_cb(hostapd_logger_cb_func func);
- #define HOSTAPD_MODULE_RADIUS		0x00000004
- #define HOSTAPD_MODULE_WPA		0x00000008
- #define HOSTAPD_MODULE_DRIVER		0x00000010
--#define HOSTAPD_MODULE_IAPP		0x00000020
- #define HOSTAPD_MODULE_MLME		0x00000040
- 
- enum hostapd_logger_level {
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-0326.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-0326.patch
deleted file mode 100644
index 54c405b..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-0326.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 947272febe24a8f0ea828b5b2f35f13c3821901e Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <jouni@codeaurora.org>
-Date: Mon, 9 Nov 2020 11:43:12 +0200
-Subject: [PATCH] P2P: Fix copying of secondary device types for P2P group
- client
-
-Parsing and copying of WPS secondary device types list was verifying
-that the contents is not too long for the internal maximum in the case
-of WPS messages, but similar validation was missing from the case of P2P
-group information which encodes this information in a different
-attribute. This could result in writing beyond the memory area assigned
-for these entries and corrupting memory within an instance of struct
-p2p_device. This could result in invalid operations and unexpected
-behavior when trying to free pointers from that corrupted memory.
-
-CVE: CVE-2021-0326
-
-Upstream-Status: Backport
-
-Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27269
-Fixes: e57ae6e19edf ("P2P: Keep track of secondary device types for peers")
-Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/p2p/p2p.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
-index 74b7b52ae..5cbfc217f 100644
---- a/src/p2p/p2p.c
-+++ b/src/p2p/p2p.c
-@@ -453,6 +453,8 @@ static void p2p_copy_client_info(struct p2p_device *dev,
- 	dev->info.config_methods = cli->config_methods;
- 	os_memcpy(dev->info.pri_dev_type, cli->pri_dev_type, 8);
- 	dev->info.wps_sec_dev_type_list_len = 8 * cli->num_sec_dev_types;
-+	if (dev->info.wps_sec_dev_type_list_len > WPS_SEC_DEV_TYPE_MAX_LEN)
-+		dev->info.wps_sec_dev_type_list_len = WPS_SEC_DEV_TYPE_MAX_LEN;
- 	os_memcpy(dev->info.wps_sec_dev_type_list, cli->sec_dev_types,
- 		  dev->info.wps_sec_dev_type_list_len);
- }
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-27803.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-27803.patch
deleted file mode 100644
index fedff76..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-27803.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 8460e3230988ef2ec13ce6b69b687e941f6cdb32 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <jouni@codeaurora.org>
-Date: Tue, 8 Dec 2020 23:52:50 +0200
-Subject: [PATCH] P2P: Fix a corner case in peer addition based on PD Request
-
-p2p_add_device() may remove the oldest entry if there is no room in the
-peer table for a new peer. This would result in any pointer to that
-removed entry becoming stale. A corner case with an invalid PD Request
-frame could result in such a case ending up using (read+write) freed
-memory. This could only by triggered when the peer table has reached its
-maximum size and the PD Request frame is received from the P2P Device
-Address of the oldest remaining entry and the frame has incorrect P2P
-Device Address in the payload.
-
-Fix this by fetching the dev pointer again after having called
-p2p_add_device() so that the stale pointer cannot be used.
-
-CVE: CVE-2021-27803
-
-Upstream-Status: Backport
-
-Fixes: 17bef1e97a50 ("P2P: Add peer entry based on Provision Discovery Request")
-Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
----
- src/p2p/p2p_pd.c | 12 +++++-------
- 1 file changed, 5 insertions(+), 7 deletions(-)
-
-diff --git a/src/p2p/p2p_pd.c b/src/p2p/p2p_pd.c
-index 3994ec03f..05fd59349 100644
---- a/src/p2p/p2p_pd.c
-+++ b/src/p2p/p2p_pd.c
-@@ -595,14 +595,12 @@ void p2p_process_prov_disc_req(struct p2p_data *p2p, const u8 *sa,
- 			goto out;
- 		}
- 
-+		dev = p2p_get_device(p2p, sa);
- 		if (!dev) {
--			dev = p2p_get_device(p2p, sa);
--			if (!dev) {
--				p2p_dbg(p2p,
--					"Provision Discovery device not found "
--					MACSTR, MAC2STR(sa));
--				goto out;
--			}
-+			p2p_dbg(p2p,
-+				"Provision Discovery device not found "
-+				MACSTR, MAC2STR(sa));
-+			goto out;
- 		}
- 	} else if (msg.wfd_subelems) {
- 		wpabuf_free(dev->info.wfd_subelems);
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-30004.patch b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-30004.patch
deleted file mode 100644
index e2540fc..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2021-30004.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From a0541334a6394f8237a4393b7372693cd7e96f15 Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Sat, 13 Mar 2021 18:19:31 +0200
-Subject: [PATCH] ASN.1: Validate DigestAlgorithmIdentifier parameters
-
-The supported hash algorithms do not use AlgorithmIdentifier parameters.
-However, there are implementations that include NULL parameters in
-addition to ones that omit the parameters. Previous implementation did
-not check the parameters value at all which supported both these cases,
-but did not reject any other unexpected information.
-
-Use strict validation of digest algorithm parameters and reject any
-unexpected value when validating a signature. This is needed to prevent
-potential forging attacks.
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
-
-Upstream-Status: Backport
-CVE: CVE-2021-30004
-
-Reference to upstream patch:
-[https://w1.fi/cgit/hostap/commit/?id=a0541334a6394f8237a4393b7372693cd7e96f15]
-
-Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
----
- src/tls/pkcs1.c  | 21 +++++++++++++++++++++
- src/tls/x509v3.c | 20 ++++++++++++++++++++
- 2 files changed, 41 insertions(+)
-
-diff --git a/src/tls/pkcs1.c b/src/tls/pkcs1.c
-index 141ac50..e09db07 100644
---- a/src/tls/pkcs1.c
-+++ b/src/tls/pkcs1.c
-@@ -240,6 +240,8 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk,
- 		os_free(decrypted);
- 		return -1;
- 	}
-+	wpa_hexdump(MSG_MSGDUMP, "PKCS #1: DigestInfo",
-+		    hdr.payload, hdr.length);
- 
- 	pos = hdr.payload;
- 	end = pos + hdr.length;
-@@ -261,6 +263,8 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk,
- 		os_free(decrypted);
- 		return -1;
- 	}
-+	wpa_hexdump(MSG_MSGDUMP, "PKCS #1: DigestAlgorithmIdentifier",
-+		    hdr.payload, hdr.length);
- 	da_end = hdr.payload + hdr.length;
- 
- 	if (asn1_get_oid(hdr.payload, hdr.length, &oid, &next)) {
-@@ -269,6 +273,23 @@ int pkcs1_v15_sig_ver(struct crypto_public_key *pk,
- 		os_free(decrypted);
- 		return -1;
- 	}
-+	wpa_hexdump(MSG_MSGDUMP, "PKCS #1: Digest algorithm parameters",
-+		    next, da_end - next);
-+
-+	/*
-+	 * RFC 5754: The correct encoding for the SHA2 algorithms would be to
-+	 * omit the parameters, but there are implementation that encode these
-+	 * as a NULL element. Allow these two cases and reject anything else.
-+	 */
-+	if (da_end > next &&
-+	    (asn1_get_next(next, da_end - next, &hdr) < 0 ||
-+	     !asn1_is_null(&hdr) ||
-+	     hdr.payload + hdr.length != da_end)) {
-+		wpa_printf(MSG_DEBUG,
-+			   "PKCS #1: Unexpected digest algorithm parameters");
-+		os_free(decrypted);
-+		return -1;
-+	}
- 
- 	if (!asn1_oid_equal(&oid, hash_alg)) {
- 		char txt[100], txt2[100];
-diff --git a/src/tls/x509v3.c b/src/tls/x509v3.c
-index 1bd5aa0..bf2289f 100644
---- a/src/tls/x509v3.c
-+++ b/src/tls/x509v3.c
-@@ -1834,6 +1834,7 @@ int x509_check_signature(struct x509_certificate *issuer,
- 		os_free(data);
- 		return -1;
- 	}
-+	wpa_hexdump(MSG_MSGDUMP, "X509: DigestInfo", hdr.payload, hdr.length);
- 
- 	pos = hdr.payload;
- 	end = pos + hdr.length;
-@@ -1855,6 +1856,8 @@ int x509_check_signature(struct x509_certificate *issuer,
- 		os_free(data);
- 		return -1;
- 	}
-+	wpa_hexdump(MSG_MSGDUMP, "X509: DigestAlgorithmIdentifier",
-+		    hdr.payload, hdr.length);
- 	da_end = hdr.payload + hdr.length;
- 
- 	if (asn1_get_oid(hdr.payload, hdr.length, &oid, &next)) {
-@@ -1862,6 +1865,23 @@ int x509_check_signature(struct x509_certificate *issuer,
- 		os_free(data);
- 		return -1;
- 	}
-+	wpa_hexdump(MSG_MSGDUMP, "X509: Digest algorithm parameters",
-+		    next, da_end - next);
-+
-+	/*
-+	 * RFC 5754: The correct encoding for the SHA2 algorithms would be to
-+	 * omit the parameters, but there are implementation that encode these
-+	 * as a NULL element. Allow these two cases and reject anything else.
-+	 */
-+	if (da_end > next &&
-+	    (asn1_get_next(next, da_end - next, &hdr) < 0 ||
-+	     !asn1_is_null(&hdr) ||
-+	     hdr.payload + hdr.length != da_end)) {
-+		wpa_printf(MSG_DEBUG,
-+			   "X509: Unexpected digest algorithm parameters");
-+		os_free(data);
-+		return -1;
-+	}
- 
- 	if (x509_sha1_oid(&oid)) {
- 		if (signature->oid.oid[6] != 5 /* sha-1WithRSAEncryption */) {
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb
similarity index 75%
rename from meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb
index 3356f45..dbdc5c1 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "http://w1.fi/hostapd/"
 SECTION = "kernel/userland"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://hostapd/README;md5=1ec986bec88070e2a59c68c95d763f89"
+LIC_FILES_CHKSUM = "file://hostapd/README;md5=c905478466c90f1cefc0df987c40e172"
 
 DEPENDS = "libnl openssl"
 
@@ -11,16 +11,10 @@
     file://defconfig \
     file://init \
     file://hostapd.service \
-    file://0001-Prepare-for-CVE-2021-30004.patch.patch \
-    file://CVE-2019-16275.patch \
-    file://CVE-2019-5061.patch \
-    file://CVE-2021-0326.patch \
-    file://CVE-2021-27803.patch \
-    file://CVE-2021-30004.patch \
 "
 
-SRC_URI[md5sum] = "f188fc53a495fe7af3b6d77d3c31dee8"
-SRC_URI[sha256sum] = "881d7d6a90b2428479288d64233151448f8990ab4958e0ecaca7eeb3c9db2bd7"
+
+SRC_URI[sha256sum] = "206e7c799b678572c2e3d12030238784bc4a9f82323b0156b4c9466f1498915d"
 
 S = "${WORKDIR}/hostapd-${PV}"
 B = "${WORKDIR}/hostapd-${PV}/hostapd"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.21.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.24.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.21.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.24.bb
index 834c1d8..6ee2651 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.21.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_1.24.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] = "bac891df91c605271e91b73cf0015e1ba86ff784347e53fc67601366859b3851"
+SRC_URI[sha256sum] = "61b5e48380cd3a6d0529f725eb6974157f1410af165f5d266b87add0bf395224"
 
 inherit autotools manpages pkgconfig python3native systemd
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.4.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.2.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.4.bb
index c337abd..dee36d7 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.30.4.bb
@@ -14,7 +14,7 @@
 
 SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "be01ece0ea2c2194cbea5744bf5aaf06c04ba5fb7ec7887a13116c76d114fedd"
+SRC_URI[sha256sum] = "00d7da30a4f8d1185f37cba289cfaf1dfcd04a58f2f76d6acfdf5b85312d6ed6"
 
 PACKAGECONFIG ??= "udev mbim"
 PACKAGECONFIG[udev] = ",--without-udev,libgudev"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.4.bb b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.5.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.4.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.5.bb
index fcd2546..63b97d2 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.4.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.5.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "c714d6777849100b2ca3f216d1cfc36d4573639ececc91d5c7809dfe27c8428e"
+SRC_URI[sha256sum] = "848c4fe863806e506832f1ee85b8b68258f06eb19dad43dbeee16a2cfe5d9053"
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.1.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.70.0.bb
similarity index 64%
copy from meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.1.bb
copy to meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.70.0.bb
index 94844f2..357cf4f 100644
--- a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.70.0.bb
@@ -5,23 +5,25 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
                     file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
 
-DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
+DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
 
 GNOMEBASEBUILDCLASS = "meson"
-
+GNOMEBN = "glibmm"
 inherit gnomebase
 
 SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
 
-SRC_URI[archive.sha256sum] = "69bd6b5327716ca2f511ab580a969fd7bf0cd2c24ce15e1d0e530592d3ff209c"
+SRC_URI[archive.sha256sum] = "8008fd8aeddcc867a3f97f113de625f6e96ef98cf7860379813a9c0feffdb520"
+
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
 
 do_install:append() {
     for i in generate_wrap_init.pl gmmproc; do
-        sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
+        sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.68/proc/$i
     done
 }
 
 FILES:${PN} = "${libdir}/lib*.so.*"
-FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
+FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/${BPN}/include/ ${libdir}/${BPN}/proc/ ${libdir}/giomm-2.68/include/"
 
 RDEPENDS:${PN}-dev = "perl"
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.1.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.1.bb
rename to meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb
index 94844f2..2097ce8 100644
--- a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb
@@ -13,7 +13,7 @@
 
 SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
 
-SRC_URI[archive.sha256sum] = "69bd6b5327716ca2f511ab580a969fd7bf0cd2c24ce15e1d0e530592d3ff209c"
+SRC_URI[archive.sha256sum] = "b2a4cd7b9ae987794cbb5a1becc10cecb65182b9bb841868625d6bbb123edb1d"
 
 do_install:append() {
     for i in generate_wrap_init.pl gmmproc; do
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.6.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.2.0.bb
similarity index 67%
rename from meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.6.bb
rename to meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.2.0.bb
index 1549c6a..3726dd0 100644
--- a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.6.bb
+++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.2.0.bb
@@ -5,9 +5,8 @@
 
 DEPENDS = "mm-common"
 
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.0/libsigc++-${PV}.tar.xz"
-SRC_URI[md5sum] = "8cc0c1df6b7d9c466555f4a2963ab06a"
-SRC_URI[sha256sum] = "b70edcf4611651c54a426e109b17196e1fa17da090592a5000e2d134c03ac5ce"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.2/libsigc++-${PV}.tar.xz"
+SRC_URI[sha256sum] = "8cdcb986e3f0a7c5b4474aa3c833d676e62469509f4899110ddf118f04082651"
 
 S = "${WORKDIR}/libsigc++-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb
new file mode 100644
index 0000000..9c3b3e9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "C++ wrapper for libxml library"
+DESCRIPTION = "C++ wrapper for libxml library"
+HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
+BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
+SECTION = "libs"
+LICENSE = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+SRC_URI = "${GNOME_MIRROR}/libxml++/${SHRT_VER}/libxml++-${PV}.tar.xz \
+"
+SRC_URI[sha256sum] = "15c38307a964fa6199f4da6683a599eb7e63cc89198545b36349b87cf9aa0098"
+
+S = "${WORKDIR}/libxml++-${PV}"
+DEPENDS = "libxml2 glibmm"
+
+inherit meson pkgconfig ptest
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/libxml++-${SHRT_VER}/include/libxml++config.h"
diff --git a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
index 0d1a518..dc6198f 100644
--- a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
+++ b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
@@ -1,20 +1,16 @@
-Index: libxml++-2.40.1/Makefile.am
-===================================================================
---- libxml++-2.40.1.orig/Makefile.am
-+++ libxml++-2.40.1/Makefile.am
-@@ -24,5 +24,8 @@ dist_noinst_SCRIPTS = autogen.sh
- 
- DISTCLEANFILES = MSVC_Net2010/libxml++/libxml++config.h
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -40,5 +40,8 @@ EXTRA_DIST = \
+   tools/conf_tests/have_exception_ptr.cc \
+   untracked/README
  
 +install-ptest:
 +	make -C examples install-ptest
 +
  # Optional: auto-generate the ChangeLog file from the git log on make dist
  include $(top_srcdir)/build/dist-changelog.am
-Index: libxml++-2.40.1/examples/Makefile.am
-===================================================================
---- libxml++-2.40.1.orig/examples/Makefile.am
-+++ libxml++-2.40.1/examples/Makefile.am
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
 @@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_
  AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS)
  LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS)
@@ -51,10 +47,10 @@
 @@ -154,10 +173,10 @@ dist_noinst_DATA = \
  # file are located in different directories.
  dom_read_write/make_check.sh: Makefile
- 	echo '# Generated and used by "make check"' >$@
--	echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
-+	echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@
- 	chmod +x $@
+ 	$(AM_V_GEN)echo '# Generated and used by "make check"' >$@
+-	$(AM_V_at)echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
++	$(AM_V_at)echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@
+ 	$(AM_V_at)chmod +x $@
  
 -script_template = cd "$(srcdir)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null
 +script_template = cd "<!progname!>" && ".libs/<!progname!>" >/dev/null
diff --git a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb
similarity index 75%
rename from meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb
rename to meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb
index 7e08263..6065333 100644
--- a/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/libxml/libxml++_2.42.1.bb
@@ -11,13 +11,18 @@
     file://libxml++_ptest.patch \
     file://run-ptest \
 "
-SRC_URI[md5sum] = "377a87bea899f2b4ff62df2418c3d8a6"
-SRC_URI[sha256sum] = "4ad4abdd3258874f61c2e2a41d08e9930677976d303653cd1670d3e9f35463e9"
+SRC_URI[sha256sum] = "9b59059abe5545d28ceb388a55e341095f197bd219c73e6623aeb6d801e00be8"
 
-DEPENDS = "libxml2 glibmm"
+DEPENDS = "libxml2 glibmm mm-common-native"
 
 inherit autotools pkgconfig ptest
 
+EXTRA_OECONF = "--disable-documentation"
+
+do_configure:prepend() {
+    mm-common-prepare --copy --force ${S}
+}
+
 do_compile_ptest() {
   oe_runmake -C examples buildtest
 }
diff --git a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch
index 6031eaa..7d1dbc6 100644
--- a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch
+++ b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch
@@ -14,19 +14,23 @@
 Upstream-Status:  Inappropriate [OE specific]
 
 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+rebase for 1.0.4
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+
 ---
  meson.build | 7 +------
  1 file changed, 1 insertion(+), 6 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 3255328..7a6094c 100644
+index 8a18c36..34fd546 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -6,12 +6,7 @@ project('mm-common',
-   license: 'GPLv2+'
+@@ -7,12 +7,7 @@ project('mm-common',
+                               # and meson.add_install_script(python3, ...)
  )
  
--python3 = import('python').find_installation('python3')
+-python3 = import('python').find_installation()
 -python_version = python3.language_version()
 -python_version_req = '>= 3.5'
 -if not python_version.version_compare(python_version_req)
@@ -37,5 +41,5 @@
  # Use these instead of meson.source_root() and meson.build_root().
  # source_root() and build_root() are not useful, if this is a subproject.
 -- 
-2.21.0
+2.25.1
 
diff --git a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.3.bb b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
similarity index 75%
rename from meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.3.bb
rename to meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
index ae2bf2d..cee56fd 100644
--- a/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
@@ -6,7 +6,7 @@
 
 inherit gnomebase
 
-SRC_URI[archive.sha256sum] = "e81596625899aacf1d0bf27ccc2fcc7f373405ec48735ca1c7273c0fbcdc1ef5"
+SRC_URI[archive.sha256sum] = "e954c09b4309a7ef93e13b69260acdc5738c907477eb381b78bb1e414ee6dbd8"
 SRC_URI += "file://0001-meson.build-do-not-ask-for-python-installation-versi.patch"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 62ada76..d7076c2 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -327,11 +327,13 @@
 RDEPENDS:packagegroup-meta-oe-devtools:remove:powerpc64le = "android-tools breakpad lshw luajit ply uftrace"
 RDEPENDS:packagegroup-meta-oe-devtools:remove:riscv64 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace"
 RDEPENDS:packagegroup-meta-oe-devtools:remove:riscv32 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:libc-musl:riscv32 = "php"
 RDEPENDS:packagegroup-meta-oe-devtools:remove:aarch64 = "concurrencykit"
 RDEPENDS:packagegroup-meta-oe-devtools:remove:x86 = "ply"
 
 RDEPENDS:packagegroup-meta-oe-extended ="\
     bitwise \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "boinc-client", "", d)} \
     brotli \
     byacc \
     cmatrix \
@@ -407,7 +409,6 @@
     libstatgrab \
     lockfile-progs \
     logwatch \
-    mailx \
     mraa \
     ostree \
     ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb pam-ssh-agent-auth", "", d)} \
@@ -419,6 +420,7 @@
     sedutil \
     libsigrok \
     libsigrokdecode \
+    s-nail \
     sigrok-cli \
     snappy \
     tipcutils \
@@ -655,7 +657,7 @@
 
 RDEPENDS:packagegroup-meta-oe-multimedia ="\
     alsa-oss \
-    ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "faad2", "", d)} \
+    ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "faad2", "", d)} \
     dirsplit \
     genisoimage \
     icedax \
@@ -669,7 +671,7 @@
     libburn \
     libcdio-paranoia \
     libcdio \
-    ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad", "", d)} \
+    ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "libmad", "", d)} \
     libmms \
     libdvdread \
     libopus \
@@ -683,7 +685,7 @@
     wavpack \
     libvpx \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "xsp", "", d)} \
-    ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "mpv", "", d)} \
+    ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "mpv", "", d)} \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pavucontrol", "", d)} \
     libopusenc \
 "
@@ -763,6 +765,7 @@
     hwdata \
     iksemel \
     gengetopt \
+    googlebenchmark \
     imagemagick \
     iniparser \
     inotify-tools \
@@ -821,7 +824,6 @@
     libusbgx \
     lockdev \
     logwarn \
-    libjs-jquery \
     libjs-sizzle \
     liblinebreak \
     mailcap \
diff --git a/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-plymouth-Add-the-retain-splash-option.patch b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-plymouth-Add-the-retain-splash-option.patch
new file mode 100644
index 0000000..ba2bf22
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-plymouth-Add-the-retain-splash-option.patch
@@ -0,0 +1,35 @@
+From f270f80d4c36a22a0f7b8de8fb6b1abef6f7b183 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Tue, 15 Feb 2022 16:23:10 +0800
+Subject: [PATCH] plymouth : Add the retain-splash option
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Adding the "retain-splash” option to tell plymouth to keep the boot
+splash’s contents on screen even after plymouth exits to make the
+splash screen show more friendly on the system which boots so fast.
+
+Upstream-Status: Inappropriate[embedded specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ systemd-units/plymouth-quit.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd-units/plymouth-quit.service.in b/systemd-units/plymouth-quit.service.in
+index ed9f9b9..147e9ee 100644
+--- a/systemd-units/plymouth-quit.service.in
++++ b/systemd-units/plymouth-quit.service.in
+@@ -3,7 +3,7 @@ Description=Terminate Plymouth Boot Screen
+ After=rc-local.service plymouth-start.service systemd-user-sessions.service
+ 
+ [Service]
+-ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth quit
++ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth quit --retain-splash
+ Type=oneshot
+ RemainAfterExit=yes
+ TimeoutSec=20
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-plymouth-start-service-in-add-related-kernel-paramet.patch b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-plymouth-start-service-in-add-related-kernel-paramet.patch
new file mode 100644
index 0000000..7ba1034
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-plymouth-start-service-in-add-related-kernel-paramet.patch
@@ -0,0 +1,31 @@
+From 658eac007d14d836cb002a5675487bac63d50324 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 7 Feb 2022 03:22:12 +0000
+Subject: [PATCH] plymouth-start.service.in: add related kernel parameter
+
+Add extra kernel parameter to make the plymouth splash screen
+display during boot.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/156]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ systemd-units/plymouth-start.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd-units/plymouth-start.service.in b/systemd-units/plymouth-start.service.in
+index 830a62d..c20aabe 100644
+--- a/systemd-units/plymouth-start.service.in
++++ b/systemd-units/plymouth-start.service.in
+@@ -9,7 +9,7 @@ ConditionVirtualization=!container
+ IgnoreOnIsolate=true
+ 
+ [Service]
+-ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot --pid-file=@plymouthruntimedir@/pid --attach-to-session
++ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot  --kernel-command-line="splash plymouth.ignore-serial-consoles" --pid-file=@plymouthruntimedir@/pid --attach-to-session
+ ExecStartPost=-@PLYMOUTH_CLIENT_DIR@/plymouth show-splash
+ Type=forking
+ RemainAfterExit=yes
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-systemd-switch-to-KillMode-mixed.patch b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-systemd-switch-to-KillMode-mixed.patch
new file mode 100644
index 0000000..eb1c8db
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/plymouth/files/0001-systemd-switch-to-KillMode-mixed.patch
@@ -0,0 +1,43 @@
+From 9d0f8b2e7bc2d1d2b0900fcdf119bb9a2cc4f474 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Tue, 25 Aug 2020 10:49:11 -0400
+Subject: [PATCH] systemd: switch to KillMode=mixed
+
+KillMode=none is deprecated, so we need to stop using it.
+
+For now, use `KillMode=mixed` and `IgnoreOnIsolate=true` instead.
+
+In the future, we should change plymouth to be able to exit and
+start again without restarting the active animation, but that's
+going to require some effort.
+
+https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/123
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/plymouth/plymouth/-/commit/9d0f8b2e7bc2d1d2b0900fcdf119bb9a2cc4f474]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ systemd-units/plymouth-start.service.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/systemd-units/plymouth-start.service.in b/systemd-units/plymouth-start.service.in
+index 3d00cc6..830a62d 100644
+--- a/systemd-units/plymouth-start.service.in
++++ b/systemd-units/plymouth-start.service.in
+@@ -6,11 +6,12 @@ After=systemd-vconsole-setup.service systemd-udev-trigger.service systemd-udevd.
+ Before=systemd-ask-password-plymouth.service
+ ConditionKernelCommandLine=!plymouth.enable=0
+ ConditionVirtualization=!container
++IgnoreOnIsolate=true
+ 
+ [Service]
+ ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot --pid-file=@plymouthruntimedir@/pid --attach-to-session
+ ExecStartPost=-@PLYMOUTH_CLIENT_DIR@/plymouth show-splash
+ Type=forking
+ RemainAfterExit=yes
+-KillMode=none
++KillMode=mixed
+ SendSIGKILL=no
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
index e5d8c98..7d76ab7 100644
--- a/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
+++ b/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
@@ -20,6 +20,9 @@
 SRC_URI = " \
     http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.xz \
     file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \
+    file://0001-systemd-switch-to-KillMode-mixed.patch \
+    file://0001-plymouth-start-service-in-add-related-kernel-paramet.patch \
+    file://0001-plymouth-Add-the-retain-splash-option.patch \
         "
 
 SRC_URI[md5sum] = "8a25d23f3ae732af300a56fa33cacff2"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.18.2.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.1.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.18.2.bb
rename to meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.1.bb
index c41667b..4b072fc 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.18.2.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.19.1.bb
@@ -1,11 +1,11 @@
 SUMMARY = "Crypto and TLS for C++11"
 HOMEPAGE = "https://botan.randombit.net"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://license.txt;md5=a02e03c8fa2c5e7b9b3fcc1b9811fd3b"
+LIC_FILES_CHKSUM = "file://license.txt;md5=f4ce98476c07c34e1793daa036960fad"
 SECTION = "libs"
 
 SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
-SRC_URI[sha256sum] = "541a3b13f1b9d30f977c6c1ae4c7bfdfda763cda6e44de807369dce79f42307e"
+SRC_URI[sha256sum] = "e26e00cfefda64082afdd540d3c537924f645d6a674afed2cd171005deff5560"
 
 S = "${WORKDIR}/Botan-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.4.bb b/meta-openembedded/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.5.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.4.bb
rename to meta-openembedded/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.5.bb
index b76ed24..89e92d6 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.5.bb
@@ -9,7 +9,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bc974d217b525ea216a336adb73e1220"
 
-SRCREV = "9e082897d61a2449657651aa5a0931aca31428fd"
+SRCREV = "20e87c13075a8e5660a8d69fd6c93d4f7c5f01a5"
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/fsverity-utils.git;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.28.bb b/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.28.bb
index afad03c..ca78e5e 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.28.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.28.bb
@@ -6,10 +6,10 @@
 card removal and card insert events, handling card ie-insert to a different \
 slot, supporting session expiration and much more all using a simple API."
 
-HOMEPAGE = "http://www.opensc-project.org/pkcs11-helper/"
+HOMEPAGE = "https://github.com/OpenSC/pkcs11-helper"
 SECTION = "Development/Libraries"
 
-LICENSE = "GPLv2 & BSD"
+LICENSE = "GPLv2 & BSD-3-Clause"
 LIC_FILES_CHKSUM = " \
     file://COPYING;md5=30f10d22cfb1ba98ccd714a41ad3311a \
     file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
index 43fc690..cd46586 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
@@ -16,7 +16,7 @@
 
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
-PNBLACKLIST[mysql-python] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+SKIP_RECIPE[mysql-python] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
 
 inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
 
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 3d969cc..39ec7c2 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 053e8fc51bd9688100ce284a9c7afab88656386f Mon Sep 17 00:00:00 2001
+From 9c9ac8b64f940bf69ecdc92abca9b58f12b401c3 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
@@ -8,17 +8,18 @@
 Upstream-Status: Inappropriate [disable feature]
 
 Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+
 ---
  configure.ac | 4 ----
  1 file changed, 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 7170f26..daf85b9 100644
+index 3b148b6..94f39c5 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
  
- AC_INIT([PostgreSQL], [14.1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ AC_INIT([PostgreSQL], [14.2], [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
@@ -27,6 +28,3 @@
  AC_COPYRIGHT([Copyright (c) 1996-2021, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
  AC_CONFIG_AUX_DIR(config)
--- 
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/remove_duplicate.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/remove_duplicate.patch
new file mode 100644
index 0000000..92a3dcc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/remove_duplicate.patch
@@ -0,0 +1,38 @@
+Remove duplicate code for riscv
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/src/include/storage/s_lock.h
++++ b/src/include/storage/s_lock.h
+@@ -341,30 +341,6 @@ tas(volatile slock_t *lock)
+ #endif	 /* HAVE_GCC__SYNC_INT32_TAS */
+ #endif	 /* __arm__ || __arm || __aarch64__ || __aarch64 || __riscv */
+ 
+-
+-/*
+- * RISC-V likewise uses __sync_lock_test_and_set(int *, int) if available.
+- */
+-#if defined(__riscv)
+-#ifdef HAVE_GCC__SYNC_INT32_TAS
+-#define HAS_TEST_AND_SET
+-
+-#define TAS(lock) tas(lock)
+-
+-typedef int slock_t;
+-
+-static __inline__ int
+-tas(volatile slock_t *lock)
+-{
+-	return __sync_lock_test_and_set(lock, 1);
+-}
+-
+-#define S_UNLOCK(lock) __sync_lock_release(lock)
+-
+-#endif	 /* HAVE_GCC__SYNC_INT32_TAS */
+-#endif	 /* __riscv */
+-
+-
+ /* S/390 and S/390x Linux (32- and 64-bit zSeries) */
+ #if defined(__s390__) || defined(__s390x__)
+ #define HAS_TEST_AND_SET
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.1.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.1.bb
deleted file mode 100644
index 1112cc2..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=255f15687738db8068fbe9b938c90217"
-
-SRC_URI += "\
-   file://not-check-libperl.patch \
-   file://0001-Add-support-for-RISC-V.patch \
-   file://0001-Improve-reproducibility.patch \
-   file://0001-configure.ac-bypass-autoconf-2.69-version-check.patch \
-"
-
-SRC_URI[sha256sum] = "4d3c101ea7ae38982f06bdc73758b53727fb6402ecd9382006fa5ecc7c2ca41f"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.2.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.2.bb
new file mode 100644
index 0000000..52e8867
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_14.2.bb
@@ -0,0 +1,13 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=75af6e3eeec4a06cdd2e578673236fc3"
+
+SRC_URI += "\
+   file://not-check-libperl.patch \
+   file://0001-Add-support-for-RISC-V.patch \
+   file://0001-Improve-reproducibility.patch \
+   file://0001-configure.ac-bypass-autoconf-2.69-version-check.patch \
+   file://remove_duplicate.patch \
+"
+
+SRC_URI[sha256sum] = "2cf78b2e468912f8101d695db5340cf313c2e9f68a612fb71427524e8c9a977a"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/soci/soci/0001-Fix-build-when-SIGSTKSZ-is-no-longer-a-constant.patch b/meta-openembedded/meta-oe/recipes-dbs/soci/soci/0001-Fix-build-when-SIGSTKSZ-is-no-longer-a-constant.patch
deleted file mode 100644
index 8e32ebb..0000000
--- a/meta-openembedded/meta-oe/recipes-dbs/soci/soci/0001-Fix-build-when-SIGSTKSZ-is-no-longer-a-constant.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From fae154eb209e068586e1adb589de5d273fcf4b4f Mon Sep 17 00:00:00 2001
-From: Denis Arnaud <denis.arnaud_fedora@m4x.org>
-Date: Tue, 18 May 2021 00:05:03 +0200
-Subject: [PATCH] Fix build when SIGSTKSZ is no longer a constant
-
-In the latest glibc versions SIGSTKSZ is not a constant any more, which
-broke building the tests with it.
-
-Work around this by hard-coding a typical value for it.
-
-closes #886.
-
-Upstream-Status: Backport.
----
- tests/catch.hpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/catch.hpp b/tests/catch.hpp
-index 014df2c5..85067813 100644
---- a/tests/catch.hpp
-+++ b/tests/catch.hpp
-@@ -6489,7 +6489,7 @@ namespace Catch {
-         static bool isSet;
-         static struct sigaction oldSigActions [sizeof(signalDefs)/sizeof(SignalDefs)];
-         static stack_t oldSigStack;
--        static char altStackMem[SIGSTKSZ];
-+        static char altStackMem[8192];
- 
-         static void handleSignal( int sig ) {
-             std::string name = "<unknown signal>";
-@@ -6540,7 +6540,7 @@ namespace Catch {
-     bool FatalConditionHandler::isSet = false;
-     struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {};
-     stack_t FatalConditionHandler::oldSigStack = {};
--    char FatalConditionHandler::altStackMem[SIGSTKSZ] = {};
-+    char FatalConditionHandler::altStackMem[8192] = {};
- 
- } // namespace Catch
- 
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-dbs/soci/soci_4.0.2.bb b/meta-openembedded/meta-oe/recipes-dbs/soci/soci_4.0.3.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-dbs/soci/soci_4.0.2.bb
rename to meta-openembedded/meta-oe/recipes-dbs/soci/soci_4.0.3.bb
index fb67e0c..ff47e50 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/soci/soci_4.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/soci/soci_4.0.3.bb
@@ -5,9 +5,8 @@
 SECTION = "libs"
 DEPENDS = "boost"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BP}/${BP}.tar.gz \
-           file://0001-Fix-build-when-SIGSTKSZ-is-no-longer-a-constant.patch"
-SRC_URI[sha256sum] = "34da2d2320539463da8a5131253246fa2671e0438ab5fd1e5119edb428f558a5"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BP}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "615e5f7e4b52007f3a3b4050a99aadf6346b56b5098eb08b3a650836083c6a33"
 
 TESTCONFIG = '-DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" \
               -DSOCI_TEST_POSTGRESQL_CONNSTR:STRING="dbname=soci_test" \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index fabf59d..c752a10 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -29,7 +29,7 @@
 SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770"
 
 SRC_URI = "git://github.com/google/breakpad;name=breakpad;branch=main;protocol=https \
-           git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest;branch=master;protocol=https \
+           git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest;branch=main;protocol=https \
            git://github.com/protocolbuffers/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf;branch=master;protocol=https \
            git://chromium.googlesource.com/linux-syscall-support;protocol=https;branch=main;destsuffix=git/src/third_party/lss;name=lss \
            git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp;branch=master \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto/0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto/0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch
deleted file mode 100644
index 43da4a9..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto/0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e2a05a19e9dc51287e19cc9f11fd91449219e361 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Nov 2020 12:10:28 -0800
-Subject: [PATCH] mutex: Fix build on 32-bit architectures using 64-bit time_t
-
-mutex code uses SYS_futex, which it expects from system C library.
-in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex)
-rv32 is using 64bit time_t from get go unlike other 32bit architectures
-in glibc, therefore it wont have NR_futex defined but just NR_futex_time64
-this aliases it to NR_futex so that SYS_futex is then defined for rv32
-
-Upstream-Status: Submitted [https://github.com/capnproto/capnproto/pull/1103]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- c++/src/kj/mutex.c++ | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/c++/src/kj/mutex.c++ b/c++/src/kj/mutex.c++
-index c81cead7..e1594b11 100644
---- a/c++/src/kj/mutex.c++
-+++ b/c++/src/kj/mutex.c++
-@@ -39,7 +39,13 @@
- 
- #ifndef SYS_futex
- // Missing on Android/Bionic.
-+#ifdef __NR_futex
- #define SYS_futex __NR_futex
-+#elif defined(SYS_futex_time64)
-+#define SYS_futex SYS_futex_time64
-+#else
-+#error "Need working SYS_futex"
-+#endif
- #endif
- 
- #ifndef FUTEX_WAIT_PRIVATE
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.9.1.bb
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.9.1.bb
index 7744231..36004c5 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.9.1.bb
@@ -6,14 +6,16 @@
 LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
 
 SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https \
-           file://0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch;patchdir=../ \
            "
-SRCREV = "57a4ca5af5a7f55b768a9d9d6655250bffb1257f"
+SRCREV = "b49431c48d40490ef979247d308af63345376cee"
 
 S = "${WORKDIR}/git/c++"
 
 inherit cmake
 
+CXXFLAGS:append:mips = " -latomic"
+CXXFLAGS:append:riscv32 = " -latomic"
+
 EXTRA_OECMAKE += "\
     -DBUILD_TESTING=OFF \
 "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch b/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch
deleted file mode 100644
index daf90ad..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From a3eba0fcee5e96ef47a6d3fac7196a1074f0dc17 Mon Sep 17 00:00:00 2001
-From: Adrian Bunk <bunk@stusta.de>
-Date: Wed, 30 Oct 2019 11:07:23 +0200
-Subject: Avoid use of "mips" which is reserved on mips
-
-Upstream-Status: Submitted [https://github.com/brasko/gdbwire/pull/9]
-
-Signed-off-by: Adrian Bunk <bunk@stusta.de>
-
-diff --git a/src/gdbwire_mi_parser.c b/src/gdbwire_mi_parser.c
-index 3f6b563..24aa0cf 100644
---- a/lib/tgdb/gdbwire.c
-+++ b/lib/tgdb/gdbwire.c
-@@ -40,7 +40,7 @@ struct gdbwire_mi_parser {
-     /* The GDB/MI lexer state */
-     yyscan_t mils;
-     /* The GDB/MI push parser state */
--    gdbwire_mi_pstate *mips;
-+    gdbwire_mi_pstate *mipst;
-     /* The client parser callbacks */
-     struct gdbwire_mi_parser_callbacks callbacks;
- };
-@@ -71,8 +71,8 @@ gdbwire_mi_parser_create(struct gdbwire_mi_parser_callbacks callbacks)
-     }
- 
-     /* Create a new push parser state instance */
--    parser->mips = gdbwire_mi_pstate_new();
--    if (!parser->mips) {
-+    parser->mipst = gdbwire_mi_pstate_new();
-+    if (!parser->mipst) {
-         gdbwire_mi_lex_destroy(parser->mils);
-         gdbwire_string_destroy(parser->buffer);
-         free(parser);
-@@ -81,7 +81,7 @@ gdbwire_mi_parser_create(struct gdbwire_mi_parser_callbacks callbacks)
- 
-     /* Ensure that the callbacks are non null */
-     if (!callbacks.gdbwire_mi_output_callback) {
--        gdbwire_mi_pstate_delete(parser->mips);
-+        gdbwire_mi_pstate_delete(parser->mipst);
-         gdbwire_mi_lex_destroy(parser->mils);
-         gdbwire_string_destroy(parser->buffer);
-         free(parser);
-@@ -109,9 +109,9 @@ void gdbwire_mi_parser_destroy(struct gdbwire_mi_parser *parser)
-         }
- 
-         /* Free the push parser instance */
--        if (parser->mips) {
--            gdbwire_mi_pstate_delete(parser->mips);
--            parser->mips = NULL;
-+        if (parser->mipst) {
-+            gdbwire_mi_pstate_delete(parser->mipst);
-+            parser->mipst = NULL;
-         }
- 
-         free(parser);
-@@ -162,7 +162,7 @@ gdbwire_mi_parser_parse_line(struct gdbwire_mi_parser *parser,
-         pattern = gdbwire_mi_lex(parser->mils);
-         if (pattern == 0)
-             break;
--        mi_status = gdbwire_mi_push_parse(parser->mips, pattern, NULL,
-+        mi_status = gdbwire_mi_push_parse(parser->mipst, pattern, NULL,
-             parser->mils, &output);
-     } while (mi_status == YYPUSH_MORE);
- 
--- 
-2.20.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb b/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb
similarity index 68%
rename from meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
rename to meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb
index a48e32a..99e09bf 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb
@@ -9,11 +9,8 @@
 
 inherit autotools texinfo
 
-SRC_URI = "http://cgdb.me/files/${BP}.tar.gz \
-           file://0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch \
-"
-SRC_URI[md5sum] = "a104862ffd3145b076303992e9a3af26"
-SRC_URI[sha256sum] = "bb723be58ec68cb59a598b8e24a31d10ef31e0e9c277a4de07b2f457fe7de198"
+SRC_URI = "http://cgdb.me/files/${BP}.tar.gz"
+SRC_URI[sha256sum] = "0d38b524d377257b106bad6d856d8ae3304140e1ee24085343e6ddf1b65811f1"
 
 CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2 ac_cv_file__proc_self_status=yes"
 EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
index c414fd3..0018064 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -3,7 +3,7 @@
 designed to aid in the design and implementation of high performance \
 concurrent systems."
 
-LICENSE = "BSD & Apache-2.0"
+LICENSE = "BSD-2-Clause & Apache-2.0"
 HOMEPAGE = "http://concurrencykit.org"
 SECTION = "base"
 
@@ -16,7 +16,7 @@
 
 S = "${WORKDIR}/git"
 
-COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*"
+COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64|powerpc|powerpc64).*-linux*"
 
 inherit autotools-brokensep
 
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 5263aae..ddb93a0 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 = "3ccf87915ceb70eac055a07eb80bc9105e916620"
+SRCREV = "7c45fd65dcd811def66161f6d572c3930f2ba4d8"
 PV = "1.3"
 
 SRC_URI:append:class-target = " file://oe-remote.repo.sample"
@@ -37,4 +37,4 @@
 "
 
 BBCLASSEXTEND = "nativesdk"
-PNBLACKLIST[dnf-plugin-tui] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
+SKIP_RECIPE[dnf-plugin-tui] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
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
index 06bb971..bf74f12 100644
--- 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
@@ -17,7 +17,7 @@
 SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https"
 S = "${WORKDIR}/git"
 
-CVE_CHECK_WHITELIST += "CVE-2020-35864"
+CVE_CHECK_IGNORE += "CVE-2020-35864"
 
 CXXFLAGS += "-fPIC"
 BUILD_CXXFLAGS += "-fPIC"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch
new file mode 100644
index 0000000..fe2d9f5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins/0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch
@@ -0,0 +1,36 @@
+From 90c46235ad69a411d83a5e978492421e8e378934 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 18 Feb 2022 23:35:58 -0800
+Subject: [PATCH] git-changebar: Adjust structs for libgit2 1.4.x
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ git-changebar/src/gcb-plugin.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/git-changebar/src/gcb-plugin.c b/git-changebar/src/gcb-plugin.c
+index f8ce20c..4488b22 100644
+--- a/git-changebar/src/gcb-plugin.c
++++ b/git-changebar/src/gcb-plugin.c
+@@ -216,7 +216,7 @@ static int
+ gcb_git_buf_grow (git_buf  *buf,
+                   size_t    target_size)
+ {
+-  if (buf->asize == 0) {
++  if (buf->reserved == 0) {
+     if (target_size == 0) {
+       target_size = buf->size;
+     }
+@@ -234,7 +234,7 @@ buf_zero (git_buf *buf)
+   if (buf) {
+     buf->ptr = NULL;
+     buf->size = 0;
+-    buf->asize = 0;
++    buf->reserved = 0;
+   }
+ }
+ 
+-- 
+2.35.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb
index 16dd71c..bb419c9 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb
@@ -31,6 +31,7 @@
 SRC_URI = " \
     https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
     file://0001-Use-pkg-config-to-find-gpgme.patch \
+    file://0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch \
 "
 SRC_URI[sha256sum] = "1c578a7ebb390aa8882f195acd3d8da3ceb73925d291b28dec90cd3e5fd20586"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.41.1.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.41.1.bb
index 8a9e762..925907e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.41.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.41.1.bb
@@ -82,6 +82,6 @@
 
 BBCLASSEXTEND = "native nativesdk"
 
-SYSROOT_DIRS_BLACKLIST:append:class-target = " ${baselib}/cmake/grpc"
+SYSROOT_DIRS_IGNORE:append:class-target = " ${baselib}/cmake/grpc"
 
 FILES:${PN}-compiler += "${bindir}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.5.bb
similarity index 77%
rename from meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb
rename to meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.5.bb
index ce8aad5..c0d7ea3 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.4.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.5.bb
@@ -18,5 +18,4 @@
     done
 }
 
-SRC_URI[archive.md5sum] = "4d7d6f1f8054f1b3466c752ac2e50946"
-SRC_URI[archive.sha256sum] = "524c1bf390f9cdda4fbd9a47b269980dc64ab5280f0801b53bc69d782c72de0e"
+SRC_URI[archive.sha256sum] = "31863a8957d5a727f9067495cabf0a0889fa5d3d44626e54094331188d5c1518"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-add-openssl-legacy-provider-option.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-add-openssl-legacy-provider-option.patch
new file mode 100644
index 0000000..2e66a02
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0005-add-openssl-legacy-provider-option.patch
@@ -0,0 +1,165 @@
+From 86d1c0cc6a5dcf57e413a1cc1c29203e87cf9a14 Mon Sep 17 00:00:00 2001
+From: Daniel Bevenius <daniel.bevenius@gmail.com>
+Date: Sat, 16 Oct 2021 08:50:16 +0200
+Subject: [PATCH] src: add --openssl-legacy-provider option
+
+This commit adds an option to Node.js named --openssl-legacy-provider
+and if specified will load OpenSSL 3.0 Legacy provider.
+
+$ ./node --help
+...
+--openssl-legacy-provider  enable OpenSSL 3.0 legacy provider
+
+Example usage:
+
+$ ./node --openssl-legacy-provider  -p 'crypto.createHash("md4")'
+Hash {
+  _options: undefined,
+  [Symbol(kHandle)]: Hash {},
+  [Symbol(kState)]: { [Symbol(kFinalized)]: false }
+}
+
+Co-authored-by: Richard Lau <rlau@redhat.com>
+
+Refs: https://github.com/nodejs/node/issues/40455
+---
+ doc/api/cli.md                                         | 10 ++++++++++
+ src/crypto/crypto_util.cc                              | 10 ++++++++++
+ src/node_options.cc                                    | 10 ++++++++++
+ src/node_options.h                                     |  7 +++++++
+ .../test-process-env-allowed-flags-are-documented.js   |  5 +++++
+ 5 files changed, 42 insertions(+)
+
+diff --git a/doc/api/cli.md b/doc/api/cli.md
+index 74057706bf8d..608b9cdeddf1 100644
+--- a/doc/api/cli.md
++++ b/doc/api/cli.md
+@@ -652,6 +652,14 @@ Load an OpenSSL configuration file on startup. Among other uses, this can be
+ used to enable FIPS-compliant crypto if Node.js is built
+ against FIPS-enabled OpenSSL.
+ 
++### `--openssl-legacy-provider`
++<!-- YAML
++added: REPLACEME
++-->
++
++Enable OpenSSL 3.0 legacy provider. For more information please see
++[providers readme][].
++
+ ### `--pending-deprecation`
+ <!-- YAML
+ added: v8.0.0
+@@ -1444,6 +1452,7 @@ Node.js options that are allowed are:
+ * `--no-warnings`
+ * `--node-memory-debug`
+ * `--openssl-config`
++* `--openssl-legacy-provider`
+ * `--pending-deprecation`
+ * `--policy-integrity`
+ * `--preserve-symlinks-main`
+@@ -1814,6 +1823,7 @@ $ node --max-old-space-size=1536 index.js
+ [emit_warning]: process.md#process_process_emitwarning_warning_type_code_ctor
+ [jitless]: https://v8.dev/blog/jitless
+ [libuv threadpool documentation]: https://docs.libuv.org/en/latest/threadpool.html
++[providers readme]: https://github.com/openssl/openssl/blob/openssl-3.0.0/README-PROVIDERS.md
+ [remote code execution]: https://www.owasp.org/index.php/Code_Injection
+ [timezone IDs]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
+ [ways that `TZ` is handled in other environments]: https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
+diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc
+index 7e0c8ba3eb60..796ea3025e41 100644
+--- a/src/crypto/crypto_util.cc
++++ b/src/crypto/crypto_util.cc
+@@ -136,6 +136,16 @@ void InitCryptoOnce() {
+   }
+ #endif
+ 
++#if OPENSSL_VERSION_MAJOR >= 3
++  // --openssl-legacy-provider
++  if (per_process::cli_options->openssl_legacy_provider) {
++    OSSL_PROVIDER* legacy_provider = OSSL_PROVIDER_load(nullptr, "legacy");
++    if (legacy_provider == nullptr) {
++      fprintf(stderr, "Unable to load legacy provider.\n");
++    }
++  }
++#endif
++
+   OPENSSL_init_ssl(0, settings);
+   OPENSSL_INIT_free(settings);
+   settings = nullptr;
+diff --git a/src/node_options.cc b/src/node_options.cc
+index 00bdc6688a4c..3363860919a9 100644
+--- a/src/node_options.cc
++++ b/src/node_options.cc
+@@ -4,6 +4,9 @@
+ #include "env-inl.h"
+ #include "node_binding.h"
+ #include "node_internals.h"
++#if HAVE_OPENSSL
++#include "openssl/opensslv.h"
++#endif
+ 
+ #include <errno.h>
+ #include <sstream>
+@@ -809,6 +812,13 @@ PerProcessOptionsParser::PerProcessOptionsParser(
+             &PerProcessOptions::secure_heap_min,
+             kAllowedInEnvironment);
+ #endif
++#if OPENSSL_VERSION_MAJOR >= 3
++  AddOption("--openssl-legacy-provider",
++            "enable OpenSSL 3.0 legacy provider",
++            &PerProcessOptions::openssl_legacy_provider,
++            kAllowedInEnvironment);
++
++#endif  // OPENSSL_VERSION_MAJOR
+   AddOption("--use-largepages",
+             "Map the Node.js static code to large pages. Options are "
+             "'off' (the default value, meaning do not map), "
+diff --git a/src/node_options.h b/src/node_options.h
+index fd772478d04d..1c0e018ab16f 100644
+--- a/src/node_options.h
++++ b/src/node_options.h
+@@ -11,6 +11,10 @@
+ #include "node_mutex.h"
+ #include "util.h"
+ 
++#if HAVE_OPENSSL
++#include "openssl/opensslv.h"
++#endif
++
+ namespace node {
+ 
+ class HostPort {
+@@ -251,6 +255,9 @@ class PerProcessOptions : public Options {
+   bool enable_fips_crypto = false;
+   bool force_fips_crypto = false;
+ #endif
++#if OPENSSL_VERSION_MAJOR >= 3
++  bool openssl_legacy_provider = false;
++#endif
+ 
+   // Per-process because reports can be triggered outside a known V8 context.
+   bool report_on_fatalerror = false;
+diff --git a/test/parallel/test-process-env-allowed-flags-are-documented.js b/test/parallel/test-process-env-allowed-flags-are-documented.js
+index 64626b71f019..8a4e35997907 100644
+--- a/test/parallel/test-process-env-allowed-flags-are-documented.js
++++ b/test/parallel/test-process-env-allowed-flags-are-documented.js
+@@ -40,6 +40,10 @@ for (const line of [...nodeOptionsLines, ...v8OptionsLines]) {
+   }
+ }
+ 
++if (!common.hasOpenSSL3) {
++  documented.delete('--openssl-legacy-provider');
++}
++
+ // Filter out options that are conditionally present.
+ const conditionalOpts = [
+   {
+@@ -47,6 +51,7 @@ const conditionalOpts = [
+     filter: (opt) => {
+       return [
+         '--openssl-config',
++        common.hasOpenSSL3 ? '--openssl-legacy-provider' : '',
+         '--tls-cipher-list',
+         '--use-bundled-ca',
+         '--use-openssl-ca',
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.11.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.11.1.bb
index 72fbecb..7d8f08a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.11.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.11.1.bb
@@ -20,6 +20,7 @@
            file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
            file://0002-Install-both-binaries-and-use-libdir.patch \
            file://0004-v8-don-t-override-ARM-CFLAGS.patch \
+           file://0005-add-openssl-legacy-provider-option.patch \
            file://big-endian.patch \
            file://mips-less-memory.patch \
            file://system-c-ares.patch \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.3.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.3.bb
index 43e86fe..bfe4d27 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.1.3.bb
@@ -32,8 +32,7 @@
           "
 
 S = "${WORKDIR}/php-${PV}"
-SRC_URI[sha256sum] = "0725ed2baea125496a898455d501a77460218b2a0cfad773fa9322f491b82b61"
-
+SRC_URI[sha256sum] = "354c4e2c506046eca812d1fc2526884a2f54b5e3d20ef0ede919a69eb232d0be"
 
 inherit autotools pkgconfig python3native gettext
 
@@ -273,3 +272,8 @@
 # | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
 # | make: *** [ext/standard/math.lo] Error 1
 ARM_INSTRUCTION_SET = "arm"
+
+# Needs fibers assembly implemented for rv32
+# for example rv64 implementation is below
+# see https://github.com/php/php-src/commit/70b02d75f2abe3a292d49c4a4e9e4f850c2fee68
+COMPATIBLE_HOST:libc-musl:riscv32 = "null"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.3.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.4.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.3.bb
rename to meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.4.bb
index f2d6c6f..5662330 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.19.4.bb
@@ -10,7 +10,7 @@
 DEPENDS = "zlib"
 DEPENDS:append:class-target = " protobuf-native"
 
-SRCREV = "cc7b1b53234cd7a8f50d90ac3933b240dcf4cd97"
+SRCREV = "22d0e265de7d2b3d2e9a00d071313502e7d4cccf"
 
 SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=3.19.x;protocol=https \
            file://run-ptest \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.11.4.bb b/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.12.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.11.4.bb
rename to meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.12.bb
index 4e4048f..b09c46a 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.11.4.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.12.bb
@@ -7,10 +7,10 @@
 HOMEPAGE = "https://pugixml.org/"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=d5ee91fb74cbb64223b3693fd64eb169"
+LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=d11b640daff611273752ec136394347c"
 
 SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "8ddf57b65fb860416979a3f0640c2ad45ddddbbafa82508ef0a0af3ce7061716"
+SRC_URI[sha256sum] = "fd6922a4448ec2f3eb9db415d10a49660e5d84ce20ce66b8a07e72ffc84270a7"
 
 UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python3-apt_2.3.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python3-apt_2.3.0.bb
new file mode 100644
index 0000000..6463f49bb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python3-apt_2.3.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python-apt is a wrapper to use features of apt from python."
+LICENSE = "GPLv2 & FSFAP"
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+                    file://debian/copyright;md5=4ed7b6862ca422678b17e7d4ed592285"
+
+SRC_URI = "git://salsa.debian.org/apt-team/python-apt.git;protocol=https;branch=main"
+
+SRCREV = "6145b6484d220685edfd922d364afbf065127efe"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+DEPENDS += "apt"
+RDEPENDS:${PN} += "apt python3-core"
+
+FILES:${PN} = "${libdir} ${datadir}/python-apt"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/files/0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch b/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/files/0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch
new file mode 100644
index 0000000..d39427e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/files/0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch
@@ -0,0 +1,78 @@
+From a52d763559d1017ca73d2a2933aba1c78ad354c6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal@rzerosystems.com>
+Date: Thu, 27 Jan 2022 16:32:25 -0600
+Subject: [PATCH] unattended-upgrade: Remove distro_info usage to check devel
+ releases
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The distro-info python3 package is used to check if the release is a
+devel release and choice if continue with unattended-upgrade for now
+remove it because needs support into python3-distro-info [1].
+
+[1] https://salsa.debian.org/debian/distro-info
+
+Signed-off-by: Aníbal Limón <anibal@rzerosystems.com>
+
+Upstream-Status: Inappropriate
+---
+ unattended-upgrade | 38 --------------------------------------
+ 1 file changed, 38 deletions(-)
+
+diff --git a/unattended-upgrade b/unattended-upgrade
+index 802d4d5..3b4e83e 100755
+--- a/unattended-upgrade
++++ b/unattended-upgrade
+@@ -83,9 +83,6 @@ import apt
+ import apt_inst
+ import apt_pkg
+ 
+-import distro_info
+-
+-
+ # the reboot required flag file used by packages
+ REBOOT_REQUIRED_FILE = "/var/run/reboot-required"
+ KEPT_PACKAGES_FILE = "var/lib/unattended-upgrades/kept-back"
+@@ -2061,41 +2058,6 @@ def run(options,             # type: Options
+     if should_stop():
+         return UnattendedUpgradesResult(False)
+ 
+-    # check to see if want to auto-upgrade the devel release
+-    if apt_pkg.config.find("Unattended-Upgrade::DevRelease") == "auto":
+-        try:
+-            if DISTRO_ID.lower() == 'ubuntu':
+-                devel = (distro_info.UbuntuDistroInfo() .
+-                         devel(result="object"))
+-            elif DISTRO_ID.lower() == 'debian':
+-                devel = (distro_info.DebianDistroInfo() .
+-                         devel(result="object"))
+-            else:
+-                devel = (distro_info.DistroInfo(DISTRO_ID) .
+-                         devel(result="object"))
+-        except Exception as e:
+-            logging.warning("Could not figure out development release: %s" % e)
+-        else:
+-            if ((devel.series == DISTRO_CODENAME
+-                 and devel.release is not None
+-                 and devel.release - date.today() > DEVEL_UNTIL_RELEASE)):
+-                syslog.syslog((_("Not running on this development "
+-                                 "release before %s") %
+-                              (devel.release - DEVEL_UNTIL_RELEASE
+-                               - datetime.timedelta(days=1))))
+-                logging.warning(_("Not running on this development "
+-                                  "release before %s") %
+-                                (devel.release - DEVEL_UNTIL_RELEASE
+-                                 - datetime.timedelta(days=1)))
+-                return UnattendedUpgradesResult(True)
+-
+-            logging.debug("Running on the development release")
+-    elif "(development branch)" in DISTRO_DESC and not\
+-            apt_pkg.config.find_b("Unattended-Upgrade::DevRelease", True):
+-        syslog.syslog(_("Not running on the development release."))
+-        logging.info(_("Not running on the development release."))
+-        return UnattendedUpgradesResult(True)
+-
+     logging.info(_("Starting unattended upgrades script"))
+ 
+     # check and get lock
diff --git a/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb b/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb
new file mode 100644
index 0000000..629d2b4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.6.bb
@@ -0,0 +1,31 @@
+SUMMARY = "This script upgrades packages automatically and unattended."
+DESCRIPTION = "The purpose of unattended-upgrades is to keep the computer current with the latest security (and other) updates automatically."
+HOMEPAGE = "https://wiki.debian.org/UnattendedUpgrades"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+                    file://debian/copyright;md5=62b5f2ac0ede901fb245eefbe54c181f"
+
+SRC_URI = "git://github.com/mvo5/unattended-upgrades.git;protocol=https;branch=master \
+           file://0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch \
+           "
+
+SRCREV = "c6db6fad26a2b83ba301b52ff5dee98cef7558ca"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+DEPENDS += "apt intltool-native python3-distutils-extra-native"
+RDEPENDS:${PN} += "apt lsb-release python3-apt python3-core python3-datetime python3-email python3-fcntl python3-io python3-logging python3-stringold python3-syslog"
+
+do_install:prepend () {
+	cp -v ${S}/data/50unattended-upgrades.Debian ${S}/data/50unattended-upgrades
+}
+
+do_install:append () {
+	# fix bad installation path's
+	mv -v ${D}/usr/usr/share/* ${D}/usr/share/
+	rm -r ${D}/usr/usr
+}
+
+FILES:${PN} = "${bindir} ${exec_prefix}/etc ${libdir} ${datadir}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/4563.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/4563.patch
new file mode 100644
index 0000000..a18da45
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/4563.patch
@@ -0,0 +1,36 @@
+From 689dc20ede9768377d4032ff8c70b58269c8dc9c Mon Sep 17 00:00:00 2001
+From: Charlie Fenton <charlief@example.com>
+Date: Mon, 18 Oct 2021 01:43:08 -0700
+Subject: [PATCH 01/10] Mac: update dependent libraries to latest:
+ c-ares-1.17.2, curl-7.79.1, freetype-2.11.0, openssl-3.0.0 Previously updated
+ to wxWidgets-3.1.5. FTGL version ftgl-2.1.3~rc5  is still the current
+ version.
+
+---
+ lib/crypt.cpp                             |   7 +-
+ 8 files changed, 199 insertions(+), 150 deletions(-)
+
+diff --git a/lib/crypt.cpp b/lib/crypt.cpp
+index 01249cfc340..9b1f69160b8 100644
+--- a/lib/crypt.cpp
++++ b/lib/crypt.cpp
+@@ -1,6 +1,6 @@
+ // This file is part of BOINC.
+ // http://boinc.berkeley.edu
+-// Copyright (C) 2008 University of California
++// Copyright (C) 2021 University of California
+ //
+ // BOINC is free software; you can redistribute it and/or modify it
+ // under the terms of the GNU Lesser General Public License
+@@ -672,7 +672,10 @@ int check_validity_of_cert(
+         }
+ #ifdef HAVE_OPAQUE_RSA_DSA_DH
+         RSA *rsa;
+-        rsa = EVP_PKEY_get0_RSA(pubKey);
++        // CAUTION: In OpenSSL 3.0.0, EVP_PKEY_get0_RSA() now returns a
++        // pointer of type "const struct rsa_st*" to an immutable value.
++        // Do not try to modify the contents of the returned struct.
++        rsa = (rsa_st*)EVP_PKEY_get0_RSA(pubKey);
+         if (!RSA_blinding_on(rsa, c)) {
+ #else
+         if (!RSA_blinding_on(pubKey->pkey.rsa, c)) {
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
index 7c3b032..0431f52 100644
--- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
@@ -14,7 +14,7 @@
 index d81d795de4..7beeb34ae2 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -63,6 +63,7 @@ m4_pattern_allow([AC_PROG_OBJCXX])
+@@ -59,6 +59,7 @@ m4_pattern_allow([AC_PROG_OBJCXX])
  m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCXX],)
  dnl ------
  AC_PROG_CPP
@@ -22,12 +22,3 @@
  AC_PROG_MAKE_SET
  SAH_LINKS
  AC_LANG_PUSH(C)
-@@ -1068,6 +1069,8 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test "x${enable_server}" = xyes  || test "x${
- AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
- AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
- 
-+PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
-+
- dnl ======================================================================
- dnl some more vodoo required for building portable client-binary (client, clientgui)
- dnl ======================================================================
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
index e060b1a..3b814e9 100644
--- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
@@ -14,7 +14,7 @@
 index 7beeb34ae2..35234c2762 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1018,6 +1018,11 @@ else
+@@ -1044,6 +1044,11 @@ else
    AM_CONDITIONAL([GUI_GTK], false)
  fi
  
@@ -26,11 +26,3 @@
  dnl ---------- libNotify --------------------------------------------------
  if test "${enable_manager}" = yes ; then
    PKG_CHECK_MODULES(LIBNOTIFY, [libnotify])
-@@ -1069,7 +1074,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test "x${enable_server}" = xyes  || test "x${
- AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
- AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
- 
--PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
- 
- dnl ======================================================================
- dnl some more vodoo required for building portable client-binary (client, clientgui)
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb
rename to meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb
index 79aaad9..114e394 100644
--- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb
@@ -16,7 +16,6 @@
 of scientific and mathematical research."
 
 HOMEPAGE = "http://boinc.berkeley.edu/"
-PNBLACKLIST[boinc-client] ?= "Needs porting to openssl 3.x"
 LICENSE = "LGPLv2+ & GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
                     file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
@@ -30,11 +29,12 @@
            ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \
            nettle \
 "
-SRCREV = "df0239e6f074207798a8ecf1358a74545dda9132"
-BRANCH = "client_release/7/7.16"
+SRCREV = "b49adfb118211e11c719766c0d71e7bdfe7f3363"
+BRANCH = "client_release/7/7.18"
 SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \
            file://boinc-AM_CONDITIONAL.patch \
            file://gtk-configure.patch \
+           file://4563.patch \
 "
 
 inherit gettext autotools pkgconfig features_check systemd
@@ -70,9 +70,9 @@
 
 do_compile:prepend () {
 	# Disable rpaths
-	sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool
-	sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool
-	sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool
+	sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/libtool
+	sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/libtool
+	sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/libtool
 }
 
 do_install:append() {
diff --git a/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb
index 60c5ab3..05d3a1e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb
@@ -10,7 +10,7 @@
 
 HOMEPAGE = "http://cfengine.com"
 
-PNBLACKLIST[cfengine] ?= "Needs porting to openssl 3.x"
+SKIP_RECIPE[cfengine] ?= "Needs porting to openssl 3.x"
 
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=233aa25e53983237cf0bd4c238af255f"
diff --git a/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb b/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.26.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb
rename to meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.26.bb
index cf24354..165e704 100644
--- a/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.26.bb
@@ -7,11 +7,11 @@
 LICENSE = "GPLv2+"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
-                    file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
+                    file://main_common.cc;beginline=5;endline=16;md5=ad099df052bdd8297f490712285069da \
+                    "
 
 SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
-SRC_URI[md5sum] = "99fd7a28bf9953d88534c7ee9ab5bd2a"
-SRC_URI[sha256sum] = "ce538ebd26a09f45da67d3ad3f7431932428231ceec7a2d255f716fa231a1063"
+SRC_URI[sha256sum] = "e513cd3a90d9810dfdd91197d40aa40f6df01597bfb5ecfdfb205de1127c551f"
 
 # This isn't already added by base.bbclass
 do_unpack[depends] += "lzip-native:do_populate_sysroot"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/317.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/317.patch
deleted file mode 100644
index fe40334..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/317.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Origin: https://github.com/GENIVI/dlt-daemon/pull/317
-From 55d31216823841a1547fe261cdf8e3b1002d5f94 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Thu, 1 Jul 2021 12:58:20 +0200
-Subject: [PATCH] dlt-control-common.c: Fix build failure due to out-of-bound
- write -Werror=stringop-truncation
-
-cd /build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu/src/console/logstorage && /usr/bin/cc -DCONFIGURATION_FILES_DIR=\"/etc\" -DDLT_DAEMON_USE_FIFO_IPC -DDLT_LIB_USE_FIFO_IPC -DDLT_NETWORK_TRACE_ENABLE -DDLT_SYSTEMD_ENABLE -DDLT_SYSTEMD_JOURNAL_ENABLE -DDLT_UNIT_TESTS -DDLT_USER_IPC_PATH=\"/tmp\" -DDLT_USE_IPv6 -DEXTENDED_FILTERING -D_GNU_SOURCE -I/build/dlt-daemon-2.18.7 -I/build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu/include/dlt -I/build/dlt-daemon-2.18.7/include/dlt -I/build/dlt-daemon-2.18.7/src/shared -I/build/dlt-daemon-2.18.7/src/core_dump_handler -I/build/dlt-daemon-2.18.7/src/offlinelogstorage -I/build/dlt-daemon-2.18.7/src/lib -I/build/dlt-daemon-2.18.7/src/daemon -I/build/dlt-daemon-2.18.7/src/console -I/build/dlt-daemon-2.18.7/src/gateway -I/build/dlt-daemon-2.18.7/systemd/3rdparty -g -O2 -ffile-prefix-map=/build/dlt-daemon-2.18.7=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2   -Werror -std=gnu99 -Wall -Wextra -Wno-variadic-macros -Wno-strict-aliasing -o CMakeFiles/dlt-logstorage-ctrl.dir/__/dlt-control-common.c.o -c /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c
-make[3]: Leaving directory '/build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu'
-In file included from /usr/include/string.h:495,
-                 from /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:56:
-In function 'strncpy',
-    inlined from 'dlt_json_filter_load' at /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:716:13:
-/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation]
-  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
-      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In function 'strncpy',
-    inlined from 'dlt_json_filter_load' at /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:721:13:
-/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation]
-  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
-      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Signed-off-by: Gianfranco Costamagna <locutusofborg@debian.org>
----
- src/console/dlt-control-common.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/console/dlt-control-common.c b/src/console/dlt-control-common.c
-index 8a9d29f0..f58d8268 100644
---- a/src/console/dlt-control-common.c
-+++ b/src/console/dlt-control-common.c
-@@ -671,8 +671,8 @@ DltReturnValue dlt_json_filter_load(DltFilter *filter, const char *filename, int
-     struct json_object *j_payload_max;
-     enum json_tokener_error jerr;
- 
--    char app_id[DLT_ID_SIZE] = "";
--    char context_id[DLT_ID_SIZE] = "";
-+    char app_id[DLT_ID_SIZE + 1] = "";
-+    char context_id[DLT_ID_SIZE + 1] = "";
-     int32_t log_level = 0;
-     int32_t payload_max = INT32_MAX;
-     int32_t payload_min = 0;
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb
rename to meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
index e5a3c7c..f07d4c4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
@@ -15,11 +15,12 @@
 DEPENDS = "zlib gzip-native json-c"
 
 SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https;branch=master \
-    file://0002-Don-t-execute-processes-as-a-specific-user.patch \
-    file://0004-Modify-systemd-config-directory.patch \
-    file://317.patch \
-"
-SRCREV = "24d197214bfdcec7430d31b42e5c87df27287aaf"
+           file://0002-Don-t-execute-processes-as-a-specific-user.patch \
+           file://0004-Modify-systemd-config-directory.patch \
+           "
+SRCREV = "0138c00811c86eab4ff6bff3c6528163885ade19"
+
+PV .= "+2.18.9git${SRCPV}"
 
 S = "${WORKDIR}/git"
 
@@ -31,7 +32,7 @@
 PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF,,dlt-daemon-systemd"
 
 # Linux options
-PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF -DWITH_DLT_SYSTEM=OFF,systemd"
 PACKAGECONFIG[systemd-watchdog] = "-DWITH_SYSTEMD_WATCHDOG=ON,-DWITH_SYSTEMD_WATCHDOG=OFF,systemd,libsystemd"
 PACKAGECONFIG[systemd-journal] = "-DWITH_SYSTEMD_JOURNAL=ON,-DWITH_SYSTEMD_JOURNAL=OFF,systemd,libsystemd"
 PACKAGECONFIG[dlt-dbus] = "-DWITH_DLT_DBUS=ON,-DWITH_DLT_DBUS=OFF,dbus,dbus-lib"
diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.2.bb b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.2.bb
rename to meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb
index 5504515..087b69f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb
@@ -11,19 +11,18 @@
 # depends on virtual/libx11
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI = " \
-    ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz;name=archive \
-    http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
-    file://gnuplot.desktop \
-    file://gnuplot.png \
-"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz;name=archive \
+           http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
+           file://gnuplot.desktop \
+           file://gnuplot.png \
+           "
 SRC_URI:append:class-target = " \
     file://0002-do-not-build-demos.patch \
     file://0003-Use-native-tools-to-build-docs.patch \
     file://0004-Add-configure-option-to-find-qt5-native-tools.patch \
 "
 
-SRC_URI[archive.sha256sum] = "e57c75e1318133951d32a83bcdc4aff17fed28722c4e71f2305cfc2ae1cae7ba"
+SRC_URI[archive.sha256sum] = "51f89bbab90f96d3543f95235368d188eb1e26eda296912256abcd3535bd4d84"
 SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
 
 # for building docs (they deserve it) we need *doc2* tools native
diff --git a/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.20.bb b/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.21.bb
similarity index 63%
rename from meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.20.bb
rename to meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.21.bb
index b05c8cd..fd4e31f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.20.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_1.21.bb
@@ -4,13 +4,16 @@
 
 DEPENDS = "ncurses"
 
-SRC_URI = "https://github.com/Tomas-M/iotop/releases/download/v1.20/iotop-1.20.tar.xz"
-SRC_URI[sha256sum] = "e0227dd4b71ce3ffe50225b85cf9abb38a99c1d2dff69e3f1db7d059d7490d51"
+SRC_URI = "https://github.com/Tomas-M/iotop/releases/download/v1.21/iotop-1.21.tar.xz"
+SRC_URI[sha256sum] = "7b4862ebc93909a3f800193140ca2464e926291a9c873b50dc31fa77e6d9383e"
 UPSTREAM_CHECK_URI = "https://github.com/Tomas-M/iotop/releases"
 
 inherit pkgconfig
 
 EXTRA_OEMAKE = "V=1 STRIP=true"
+# Fixes llvm-bc70b5.o: can't link soft-float modules with double-float modules
+EXTRA_OEMAKE:append:toolchain-clang:riscv64 = " NO_FLTO=1"
+EXTRA_OEMAKE:append:toolchain-clang:riscv32 = " NO_FLTO=1"
 
 # Workaround BFD linker crash with clang on arm
 # revisit when upgrading binutils and see if its fixed
diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch
new file mode 100644
index 0000000..ab1ab5b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch
@@ -0,0 +1,41 @@
+From 2241edc8b70c2a54d109ac9c0e821889ac138d40 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 27 Jan 2022 22:49:52 -0800
+Subject: [PATCH] cecloader: Match return type of function LibCecBootloader
+
+Fixes
+include/cecloader.h:175:14: error: cannot initialize return object of type 'bool' with an rvalue of type 'nullptr_t'
+      return NULL;
+             ^~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/cecloader.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/cecloader.h b/include/cecloader.h
+index be76468f..550f598e 100644
+--- a/include/cecloader.h
++++ b/include/cecloader.h
+@@ -172,7 +172,7 @@ bool LibCecBootloader(const char *strLib = NULL)
+     if (!g_libCEC)
+     {
+       std::cout << dlerror() << std::endl;
+-      return NULL;
++      return false;
+     }
+   }
+ 
+@@ -181,7 +181,7 @@ bool LibCecBootloader(const char *strLib = NULL)
+   if (!LibCecBootloader)
+   {
+     std::cout << "cannot find CECStartBootloader" << std::endl;
+-    return NULL;
++    return false;
+   }
+ 
+   bool bReturn = LibCecBootloader();
+-- 
+2.35.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
index eabe1d4..2036c53 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
@@ -14,6 +14,7 @@
            file://0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch \
            file://0001-Enhance-reproducibility.patch \
            file://0001-Remove-buggy-test-confusing-host-and-target.patch \
+           file://0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch \
           "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch
deleted file mode 100644
index 77da333..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From: Luk Claes <luk@debian.org>
-Date: Sat, 4 Jul 2009 10:54:53 +0200
-Subject: Don't reuse weak symbol optopt to fix FTBFS on mips*
-
-This patch is taken from 
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- getopt.c |   10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/getopt.c b/getopt.c
-index 83ce628..82e983c 100644
---- a/getopt.c
-+++ b/getopt.c
-@@ -43,7 +43,7 @@ typedef	int	ssize_t;
- char	*optarg;
- int	optind = 1;
- int	opterr = 1;
--int	optopt;
-+int	optoptc;
- 
- static void
- error(const char *s, int c)
-@@ -69,7 +69,7 @@ error(const char *s, int c)
- 		*bp++ = *s++;
- 	while (*msg)
- 		*bp++ = *msg++;
--	*bp++ = optopt;
-+	*bp++ = optoptc;
- 	*bp++ = '\n';
- 	write(2, buf, bp - buf);
- 	ac_free(buf);
-@@ -101,13 +101,13 @@ getopt(int argc, char *const argv[], const char *optstring)
- 		}
- 		curp = &argv[optind][1];
- 	}
--	optopt = curp[0] & 0377;
-+	optoptc = curp[0] & 0377;
- 	while (optstring[0]) {
- 		if (optstring[0] == ':') {
- 			optstring++;
- 			continue;
- 		}
--		if ((optstring[0] & 0377) == optopt) {
-+		if ((optstring[0] & 0377) == optoptc) {
- 			if (optstring[1] == ':') {
- 				if (curp[1] != '\0') {
- 					optarg = (char *)&curp[1];
-@@ -127,7 +127,7 @@ getopt(int argc, char *const argv[], const char *optstring)
- 					optind++;
- 				optarg = 0;
- 			}
--			return optopt;
-+			return optoptc;
- 		}
- 		optstring++;
- 	}
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-support-openssl-1.1.x.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-support-openssl-1.1.x.patch
deleted file mode 100644
index 6a8911d..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0001-support-openssl-1.1.x.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 7db6d8a657d13bb562a27c6181accaf3e53c0efd Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 25 Sep 2018 14:03:10 +0800
-Subject: [PATCH] support openssl 1.1.x
-
-Long time no maintain from upstream since 2013-06-04
-(https://sourceforge.net/projects/nail/), backport a
-fix from openSUSE
-
-Upstream-Status: Backport [openSUSE]
-https://build.opensuse.org/package/view_file/openSUSE:Leap:15.0/mailx/mailx-12.5-openssl-1.1.0f.patch?expand=1
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- openssl.c | 25 ++++++++++++++++++++++++-
- 1 file changed, 24 insertions(+), 1 deletion(-)
-
-diff --git a/openssl.c b/openssl.c
-index 44fe4e5..0ccc517 100644
---- a/openssl.c
-+++ b/openssl.c
-@@ -137,7 +137,12 @@ ssl_rand_init(void)
- 
- 	if ((cp = value("ssl-rand-egd")) != NULL) {
- 		cp = expand(cp);
--		if (RAND_egd(cp) == -1) {
-+#ifndef OPENSSL_NO_EGD
-+		if (RAND_egd(cp) == -1)
-+#else
-+		if (1)
-+#endif
-+		{
- 			fprintf(stderr, catgets(catd, CATSET, 245,
- 				"entropy daemon at \"%s\" not available\n"),
- 					cp);
-@@ -216,6 +221,7 @@ ssl_select_method(const char *uhp)
- 
- 	cp = ssl_method_string(uhp);
- 	if (cp != NULL) {
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
- 		if (equal(cp, "ssl3"))
- 			method = SSLv3_client_method();
- 		else if (equal(cp, "tls1"))
-@@ -225,8 +231,25 @@ ssl_select_method(const char *uhp)
- 					"Invalid SSL method \"%s\"\n"), cp);
- 			method = SSLv23_client_method();
- 		}
-+#else
-+		method = NULL;
-+		if (equal(cp, "tls"))
-+			method = TLS_client_method();
-+		else if (equal(cp, "dtls"))
-+			method = DTLS_client_method();
-+
-+		if (!method) {
-+			fprintf(stderr, catgets(catd, CATSET, 244,
-+					"Invalid SSL method \"%s\"\n"), cp);
-+			method = TLS_client_method();
-+		}
-+#endif
- 	} else
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
- 		method = SSLv23_client_method();
-+#else
-+		method = TLS_client_method();
-+#endif
- 	return method;
- }
- 
--- 
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch
deleted file mode 100644
index 6bad433..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Hilko Bengen <bengen@debian.org>
-Date: Wed, 27 Apr 2011 00:18:42 +0200
-Subject: Patched out SSL2 support since it is no longer supported by OpenSSL.
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- mailx.1   |    2 +-
- openssl.c |    4 +---
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/mailx.1 b/mailx.1
-index 417ea04..a02e430 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -3575,7 +3575,7 @@ Only applicable if SSL/TLS support is built using OpenSSL.
- .TP
- .B ssl-method
- Selects a SSL/TLS protocol version;
--valid values are `ssl2', `ssl3', and `tls1'.
-+valid values are `ssl3', and `tls1'.
- If unset, the method is selected automatically,
- if possible.
- .TP
-diff --git a/openssl.c b/openssl.c
-index b4e33fc..44fe4e5 100644
---- a/openssl.c
-+++ b/openssl.c
-@@ -216,9 +216,7 @@ ssl_select_method(const char *uhp)
- 
- 	cp = ssl_method_string(uhp);
- 	if (cp != NULL) {
--		if (equal(cp, "ssl2"))
--			method = SSLv2_client_method();
--		else if (equal(cp, "ssl3"))
-+		if (equal(cp, "ssl3"))
- 			method = SSLv3_client_method();
- 		else if (equal(cp, "tls1"))
- 			method = TLSv1_client_method();
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch
deleted file mode 100644
index 13b73ae..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Hilko Bengen <bengen@debian.org>
-Date: Sat, 14 Apr 2012 20:22:43 +0200
-Subject: Fixed Lintian warning (warning: macro `N' not defined)
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- mailx.1 |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mailx.1 b/mailx.1
-index a02e430..b0723bd 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -3781,7 +3781,7 @@ you could examine the first message by giving the command:
- .sp
- .fi
- which might cause
--.N mailx
-+.I mailx
- to respond with, for example:
- .nf
- .sp
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch
deleted file mode 100644
index 13b955c..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 9984ae5cb0ea0d61df1612b06952a61323c083d9 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 11:13:38 +0100
-Subject: [PATCH 1/4] outof: Introduce expandaddr flag
-
-Document that address expansion is disabled unless the expandaddr
-binary option is set.
-
-This has been assigned CVE-2014-7844 for BSD mailx, but it is not
-a vulnerability in Heirloom mailx because this feature was documented.
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-CVE: CVE-2014-7844
----
- mailx.1 | 14 ++++++++++++++
- names.c |  3 +++
- 2 files changed, 17 insertions(+)
-
-diff --git a/mailx.1 b/mailx.1
-index 70a7859..22a171b 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -656,6 +656,14 @@ but any reply returned to the machine
- will have the system wide alias expanded
- as all mail goes through sendmail.
- .SS "Recipient address specifications"
-+If the
-+.I expandaddr
-+option is not set (the default), recipient addresses must be names of
-+local mailboxes or Internet mail addresses.
-+.PP
-+If the
-+.I expandaddr
-+option is set, the following rules apply:
- When an address is used to name a recipient
- (in any of To, Cc, or Bcc),
- names of local mail folders
-@@ -2391,6 +2399,12 @@ and exits immediately.
- If this option is set,
- \fImailx\fR starts even with an empty mailbox.
- .TP
-+.B expandaddr
-+Causes
-+.I mailx
-+to expand message recipient addresses, as explained in the section,
-+Recipient address specifications.
-+.TP
- .B flipr
- Exchanges the
- .I Respond
-diff --git a/names.c b/names.c
-index 66e976b..c69560f 100644
---- a/names.c
-+++ b/names.c
-@@ -268,6 +268,9 @@ outof(struct name *names, FILE *fo, struct header *hp)
- 	FILE *fout, *fin;
- 	int ispipe;
- 
-+	if (value("expandaddr") == NULL)
-+		return names;
-+
- 	top = names;
- 	np = names;
- 	time(&now);
--- 
-1.9.3
-
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch
deleted file mode 100644
index 8cdbfd8..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From e34e2ac67b80497080ebecccec40c3b61456167d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 11:14:06 +0100
-Subject: [PATCH 2/4] unpack: Disable option processing for email addresses
- when calling sendmail
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- extern.h  | 2 +-
- names.c   | 8 ++++++--
- sendout.c | 2 +-
- 3 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/extern.h b/extern.h
-index 6b85ba0..8873fe8 100644
---- a/extern.h
-+++ b/extern.h
-@@ -396,7 +396,7 @@ struct name *outof(struct name *names, FILE *fo, struct header *hp);
- int is_fileaddr(char *name);
- struct name *usermap(struct name *names);
- struct name *cat(struct name *n1, struct name *n2);
--char **unpack(struct name *np);
-+char **unpack(struct name *smopts, struct name *np);
- struct name *elide(struct name *names);
- int count(struct name *np);
- struct name *delete_alternates(struct name *np);
-diff --git a/names.c b/names.c
-index c69560f..45bbaed 100644
---- a/names.c
-+++ b/names.c
-@@ -549,7 +549,7 @@ cat(struct name *n1, struct name *n2)
-  * Return an error if the name list won't fit.
-  */
- char **
--unpack(struct name *np)
-+unpack(struct name *smopts, struct name *np)
- {
- 	char **ap, **top;
- 	struct name *n;
-@@ -564,7 +564,7 @@ unpack(struct name *np)
- 	 * the terminating 0 pointer.  Additional spots may be needed
- 	 * to pass along -f to the host mailer.
- 	 */
--	extra = 2;
-+	extra = 3 + count(smopts);
- 	extra++;
- 	metoo = value("metoo") != NULL;
- 	if (metoo)
-@@ -581,6 +581,10 @@ unpack(struct name *np)
- 		*ap++ = "-m";
- 	if (verbose)
- 		*ap++ = "-v";
-+	for (; smopts != NULL; smopts = smopts->n_flink)
-+		if ((smopts->n_type & GDEL) == 0)
-+			*ap++ = smopts->n_name;
-+	*ap++ = "--";
- 	for (; n != NULL; n = n->n_flink)
- 		if ((n->n_type & GDEL) == 0)
- 			*ap++ = n->n_name;
-diff --git a/sendout.c b/sendout.c
-index 7b7f2eb..c52f15d 100644
---- a/sendout.c
-+++ b/sendout.c
-@@ -835,7 +835,7 @@ start_mta(struct name *to, struct name *mailargs, FILE *input,
- #endif	/* HAVE_SOCKETS */
- 
- 	if ((smtp = value("smtp")) == NULL) {
--		args = unpack(cat(mailargs, to));
-+		args = unpack(mailargs, to);
- 		if (debug || value("debug")) {
- 			printf(catgets(catd, CATSET, 181,
- 					"Sendmail arguments:"));
--- 
-1.9.3
-
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch
deleted file mode 100644
index 5558d86..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 2bae8ecf04ec2ba6bb9f0af5b80485dd0edb427d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 12:48:25 +0100
-Subject: [PATCH 3/4] fio.c: Unconditionally require wordexp support
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- fio.c | 67 +++++--------------------------------------------------------------
- 1 file changed, 5 insertions(+), 62 deletions(-)
-
-diff --git a/fio.c b/fio.c
-index 65e8f10..1529236 100644
---- a/fio.c
-+++ b/fio.c
-@@ -43,12 +43,15 @@ static char sccsid[] = "@(#)fio.c	2.76 (gritter) 9/16/09";
- #endif /* not lint */
- 
- #include "rcv.h"
-+
-+#ifndef HAVE_WORDEXP
-+#error wordexp support is required
-+#endif
-+
- #include <sys/stat.h>
- #include <sys/file.h>
- #include <sys/wait.h>
--#ifdef	HAVE_WORDEXP
- #include <wordexp.h>
--#endif	/* HAVE_WORDEXP */
- #include <unistd.h>
- 
- #if defined (USE_NSS)
-@@ -481,7 +484,6 @@ next:
- static char *
- globname(char *name)
- {
--#ifdef	HAVE_WORDEXP
- 	wordexp_t we;
- 	char *cp;
- 	sigset_t nset;
-@@ -527,65 +529,6 @@ globname(char *name)
- 	}
- 	wordfree(&we);
- 	return cp;
--#else	/* !HAVE_WORDEXP */
--	char xname[PATHSIZE];
--	char cmdbuf[PATHSIZE];		/* also used for file names */
--	int pid, l;
--	char *cp, *shell;
--	int pivec[2];
--	extern int wait_status;
--	struct stat sbuf;
--
--	if (pipe(pivec) < 0) {
--		perror("pipe");
--		return name;
--	}
--	snprintf(cmdbuf, sizeof cmdbuf, "echo %s", name);
--	if ((shell = value("SHELL")) == NULL)
--		shell = SHELL;
--	pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL);
--	if (pid < 0) {
--		close(pivec[0]);
--		close(pivec[1]);
--		return NULL;
--	}
--	close(pivec[1]);
--again:
--	l = read(pivec[0], xname, sizeof xname);
--	if (l < 0) {
--		if (errno == EINTR)
--			goto again;
--		perror("read");
--		close(pivec[0]);
--		return NULL;
--	}
--	close(pivec[0]);
--	if (wait_child(pid) < 0 && WTERMSIG(wait_status) != SIGPIPE) {
--		fprintf(stderr, catgets(catd, CATSET, 81,
--				"\"%s\": Expansion failed.\n"), name);
--		return NULL;
--	}
--	if (l == 0) {
--		fprintf(stderr, catgets(catd, CATSET, 82,
--					"\"%s\": No match.\n"), name);
--		return NULL;
--	}
--	if (l == sizeof xname) {
--		fprintf(stderr, catgets(catd, CATSET, 83,
--				"\"%s\": Expansion buffer overflow.\n"), name);
--		return NULL;
--	}
--	xname[l] = 0;
--	for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--)
--		;
--	cp[1] = '\0';
--	if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) {
--		fprintf(stderr, catgets(catd, CATSET, 84,
--				"\"%s\": Ambiguous.\n"), name);
--		return NULL;
--	}
--	return savestr(xname);
--#endif	/* !HAVE_WORDEXP */
- }
- 
- /*
--- 
-1.9.3
-
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch
deleted file mode 100644
index ae14b8a..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 73fefa0c1ac70043ec84f2d8b8f9f683213f168d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 13:11:32 +0100
-Subject: [PATCH 4/4] globname: Invoke wordexp with WRDE_NOCMD (CVE-2004-2771)
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-CVE: CVE-2004-2771
----
- fio.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fio.c b/fio.c
-index 1529236..774a204 100644
---- a/fio.c
-+++ b/fio.c
-@@ -497,7 +497,7 @@ globname(char *name)
- 	sigemptyset(&nset);
- 	sigaddset(&nset, SIGCHLD);
- 	sigprocmask(SIG_BLOCK, &nset, NULL);
--	i = wordexp(name, &we, 0);
-+	i = wordexp(name, &we, WRDE_NOCMD);
- 	sigprocmask(SIG_UNBLOCK, &nset, NULL);
- 	switch (i) {
- 	case 0:
--- 
-1.9.3
-
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch
deleted file mode 100644
index 2b59914..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Description: Sendmail is at /usr/sbin/sendmail
- As per Debian Policy §11.6
-Author: Ryan Kavanagh <rak@debian.org>
-Origin: Debian
-Forwarded: no
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: heirloom-mailx-12.5/Makefile
-===================================================================
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-
---- heirloom-mailx-12.5.orig/Makefile	2011-04-26 17:23:22.000000000 -0400
-+++ heirloom-mailx-12.5/Makefile	2015-01-27 13:20:04.733542801 -0500
-@@ -13,7 +13,7 @@
- 
- MAILRC		= $(SYSCONFDIR)/nail.rc
- MAILSPOOL	= /var/mail
--SENDMAIL	= /usr/lib/sendmail
-+SENDMAIL	= /usr/sbin/sendmail
- 
- DESTDIR		=
- 
-Index: heirloom-mailx-12.5/mailx.1
-===================================================================
---- heirloom-mailx-12.5.orig/mailx.1	2015-01-27 13:18:49.000000000 -0500
-+++ heirloom-mailx-12.5/mailx.1	2015-01-27 13:20:32.382336867 -0500
-@@ -4922,7 +4922,7 @@
- which just acts as a proxy.
- .PP
- \fIMailx\fR immediately contacts the SMTP server (or
--.IR \%/usr/lib/sendmail )
-+.IR \%/usr/sbin/sendmail )
- even when operating in
- .I disconnected
- mode.
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch b/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch
deleted file mode 100644
index b74fd04..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-krb5 support is autodetected from sysroot making builds undeterministic
-feel free to improve this to support explicitly enabling/disabling it
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- a/makeconfig	2013-07-21 15:06:11.177792334 +0200
-+++ b/makeconfig	2013-07-21 15:07:20.028793994 +0200
-@@ -424,36 +424,6 @@
- }
- !
- 
--<$tmp2.c link_check gssapi 'for GSSAPI in libgss' \
--		'#define USE_GSSAPI' '-lgss' ||
--	<$tmp2.c link_check gssapi 'for GSSAPI in libgssapi_krb5' \
--			'#define USE_GSSAPI' '-lgssapi_krb5' ||
--		link_check gssapi 'for GSSAPI in libgssapi_krb5, old-style' \
--				'#define USE_GSSAPI
--#define GSSAPI_OLD_STYLE' '-lgssapi_krb5' <<\! || \
--			link_check gssapi 'for GSSAPI in libgssapi' \
--				'#define USE_GSSAPI
--#define	GSSAPI_REG_INCLUDE' '-lgssapi' <<\%
--#include <gssapi/gssapi.h>
--#include <gssapi/gssapi_generic.h>
--
--int main(void)
--{
--	gss_import_name(0, 0, gss_nt_service_name, 0);
--	gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
--	return 0;
--}
--!
--#include <gssapi.h>
--
--int main(void)
--{
--	gss_import_name(0, 0, GSS_C_NT_HOSTBASED_SERVICE, 0);
--	gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
--	return 0;
--}
--%
--
- cat >$tmp2.c <<\!
- #include "config.h"
- #ifdef HAVE_NL_LANGINFO
diff --git a/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb b/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb
deleted file mode 100644
index dbf5d59..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "mailx is the traditional command-line-mode mail user agent"
-
-DESCRIPTION = "Mailx is derived from Berkeley Mail and is intended provide the \
-functionality of the POSIX mailx command with additional support \
-for MIME, IMAP, POP3, SMTP, and S/MIME."
-
-HOMEPAGE = "http://heirloom.sourceforge.net/mailx.html"
-SECTION = "console/network"
-LICENSE = "BSD & MPL-1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4202a0a62910cf94f7af8a3436a2a2dd"
-
-DEPENDS = "openssl"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gz;name=archive \
-           file://0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch \
-           file://0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch \
-           file://0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch \
-           file://0011-outof-Introduce-expandaddr-flag.patch \
-           file://0012-unpack-Disable-option-processing-for-email-addresses.patch \
-           file://0013-fio.c-Unconditionally-require-wordexp-support.patch \
-           file://0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch \
-           file://0015-usr-sbin-sendmail.patch \
-           file://explicitly.disable.krb5.support.patch \
-           file://0001-support-openssl-1.1.x.patch \
-          "
-
-SRC_URI[archive.md5sum] = "29a6033ef1412824d02eb9d9213cb1f2"
-SRC_URI[archive.sha256sum] = "015ba4209135867f37a0245d22235a392b8bbed956913286b887c2e2a9a421ad"
-
-# for this package we're mostly interested in tracking debian patches,
-# and not in the upstream version where all development has effectively stopped
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/h/heirloom-mailx/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
-
-S = "${WORKDIR}/heirloom-mailx-12.5"
-
-inherit autotools-brokensep
-
-CFLAGS:append = " -D_BSD_SOURCE -DDEBIAN -I${S}/EXT"
-
-# "STRIP=true" means that 'true' command will be used to 'strip' files which will achieve the effect of not stripping them
-# mailx's Makefile doesn't allow a more straightforward way to avoid stripping
-EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail IPv6=-DHAVE_IPv6_FUNCS PREFIX=/usr UCBINSTALL=/usr/bin/install STRIP=true"
-
-# The makeconfig can't run parallelly, otherwise the checking results
-# might be incorrect and lead to errors:
-# fio.c:56:17: fatal error: ssl.h: No such file or directory
-# #include <ssl.h>
-PARALLEL_MAKE = ""
-
-# Causes gcc to get stuck and eat all available memory in qemuarm builds
-# http://errors.yoctoproject.org/Errors/Details/20488/
-ARM_INSTRUCTION_SET:armv4 = "arm"
-ARM_INSTRUCTION_SET:armv5 = "arm"
diff --git a/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb b/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
index 850ed4f..24271eb 100644
--- a/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
@@ -7,7 +7,7 @@
 
 inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
 
-PNBLACKLIST[openlmi-tools] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+SKIP_RECIPE[openlmi-tools] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
 
 DEPENDS = "python-native python-pywbem-native python-m2crypto python-pywbem"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/0001-src-Do-not-reset-FINAL_LIBS.patch
new file mode 100644
index 0000000..e8d8b1d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/0001-src-Do-not-reset-FINAL_LIBS.patch
@@ -0,0 +1,30 @@
+From e97a572d4aef099a961e43d528c0268e10d9f1e2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 10 Sep 2019 20:04:26 -0700
+Subject: [PATCH] src: Do not reset FINAL_LIBS
+
+This helps case where additional libraries are needed to be passed from
+environment to get it going
+
+e.g. -latomic is needed on clang/x86 to provide for 64bit atomics
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index ddabd44..5133884 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -118,7 +118,7 @@ endif
+ 
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+-FINAL_LIBS=-lm
++FINAL_LIBS+=-lm
+ DEBUG=-g -ggdb
+ 
+ # Linux ARM32 needs -latomic at linking time
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/0006-Define-correct-gregs-for-RISCV32.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/0006-Define-correct-gregs-for-RISCV32.patch
new file mode 100644
index 0000000..01f8421
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/0006-Define-correct-gregs-for-RISCV32.patch
@@ -0,0 +1,60 @@
+From f26a978c638bcbc621669dce0ab89e43af42af98 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 26 Oct 2020 21:32:22 -0700
+Subject: [PATCH] Define correct gregs for RISCV32
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Updated patch for 6.2.1
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+
+---
+ src/debug.c | 26 ++++++++++++++++++++++++--
+ 1 file changed, 24 insertions(+), 2 deletions(-)
+
+diff --git a/src/debug.c b/src/debug.c
+index 2da2c5d..1d778fa 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -1116,7 +1116,9 @@ static void *getMcontextEip(ucontext_t *uc) {
+     #endif
+ #elif defined(__linux__)
+     /* Linux */
+-    #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
++    #if defined(__riscv) && __riscv_xlen == 32
++    return (void*) uc->uc_mcontext.__gregs[REG_PC];
++    #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
+     return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
+     #elif defined(__X86_64__) || defined(__x86_64__)
+     return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
+@@ -1298,8 +1300,28 @@ void logRegisters(ucontext_t *uc) {
+     #endif
+ /* Linux */
+ #elif defined(__linux__)
++    /* Linux RISCV32 */
++    #if defined(__riscv) && __riscv_xlen == 32
++    serverLog(LL_WARNING,
++    "\n"
++    "RA:%08lx S0:%08lx S1:%08lx S2:%08lx\n"
++    "SP:%08lx PC:%08lx A0:%08lx A1:%08lx\n"
++    "A2 :%08lx A3:%08lx A4:%08lx",
++        (unsigned long) uc->uc_mcontext.__gregs[REG_RA],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_S0],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_S1],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_S2],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_SP],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_PC],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 0],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 1],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 2],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 3],
++        (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 4]
++    );
++    logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]);
+     /* Linux x86 */
+-    #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
++    #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
+     serverLog(LL_WARNING,
+     "\n"
+     "EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n"
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch
new file mode 100644
index 0000000..6e07c25
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/GNU_SOURCE.patch
@@ -0,0 +1,29 @@
+From a22512ac1cbd6de1f5646219722e49752d1f60ac 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
+
+Fixes
+| zmalloc.c:87:37: error: 'PTHREAD_MUTEX_DEFAULT' undeclared here (not in a function)
+|    87 | pthread_mutex_t used_memory_mutex = PTHREAD_MUTEX_INITIALIZER;
+|       |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+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
+--- a/src/zmalloc.c
++++ b/src/zmalloc.c
+@@ -32,6 +32,7 @@
+ #include "config.h"
+ #include "solarisfixes.h"
+ 
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <stdint.h>
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/hiredis-use-default-CC-if-it-is-set.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/hiredis-use-default-CC-if-it-is-set.patch
new file mode 100644
index 0000000..657b092
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/hiredis-use-default-CC-if-it-is-set.patch
@@ -0,0 +1,36 @@
+From 9da2d12c9fabfff4b4460accf887658db89687e4 Mon Sep 17 00:00:00 2001
+From: Venture Research <tech@ventureresearch.com>
+Date: Fri, 8 Feb 2013 17:39:52 -0600
+Subject: [PATCH] hiredis: use default CC if it is set
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Instead of trying to automagically figure out CC, which breaks with OE
+as CC has spaces in it, just skip it if one was already passed in.
+
+Signed-off-by: Venture Research <tech@ventureresearch.com>
+
+Update to work with 4.0.8
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+
+Reworked for 6.0.4
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+---
+ deps/hiredis/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile
+index 7e41c97..54717e3 100644
+--- a/deps/hiredis/Makefile
++++ b/deps/hiredis/Makefile
+@@ -42,8 +42,6 @@ endef
+ export REDIS_TEST_CONFIG
+ 
+ # Fallback to gcc when $CC is not in $PATH.
+-CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
+-CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++')
+ OPTIMIZATION?=-O3
+ WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers
+ DEBUG_FLAGS?= -g -ggdb
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/init-redis-server b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/init-redis-server
new file mode 100755
index 0000000..6014d70
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/init-redis-server
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides:          redis-server
+# Required-Start:    $network
+# Required-Stop:     $network
+# Default-Start:     S 2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Redis, a key-value store
+# Description:       Redis is an open source, advanced key-value store.
+#                    http://redis.io
+### END INIT INFO
+
+test -f /usr/bin/redis-server || exit 0
+
+ARGS="/etc/redis/redis.conf"
+
+case "$1" in
+    start)
+	echo "Starting redis-server..."
+        start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS
+	;;
+    stop)
+        echo "Stopping redis-server..."
+        start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
+	;;
+    restart)
+        echo "Stopping redis-server..."
+        start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
+	echo "Starting redis-server..."
+        start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS
+	;;
+    *)
+	echo "Usage: /etc/init.d/redis-server {start|stop|restart}"
+	exit 1
+	;;
+esac
+
+exit 0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/lua-update-Makefile-to-use-environment-build-setting.patch
new file mode 100644
index 0000000..c6c6fde
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/lua-update-Makefile-to-use-environment-build-setting.patch
@@ -0,0 +1,76 @@
+From 734ab2f7879c6f94fc18ea6a10adb9bd156ba769 Mon Sep 17 00:00:00 2001
+From: Venture Research <tech@ventureresearch.com>
+Date: Fri, 8 Feb 2013 20:22:19 -0600
+Subject: [PATCH] lua: update Makefile to use environment build settings
+
+OE-specific parameters, instead of overriding all of these simply use
+the ones that are already passed in. Also configure for only Linux...
+
+Signed-off-by: Venture Research <tech@ventureresearch.com>
+
+Updated to work with 3.0.x
+
+Signed-off-by: Armin Kuster <akust808@gmail.com>
+
+updated to work wtih 6.2.1
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+
+---
+ deps/Makefile         |  1 -
+ deps/lua/Makefile     |  1 -
+ deps/lua/src/Makefile | 16 ++++++----------
+ 3 files changed, 6 insertions(+), 12 deletions(-)
+
+diff --git a/deps/Makefile b/deps/Makefile
+index 8592e17..1807af5 100644
+--- a/deps/Makefile
++++ b/deps/Makefile
+@@ -81,7 +81,6 @@ endif
+ # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more
+ # challenging to cross-compile lua (and redis).  These defines make it easier
+ # to fit redis into cross-compilation environments, which typically set AR.
+-AR=ar
+ ARFLAGS=rc
+ 
+ lua: .make-prerequisites
+diff --git a/deps/lua/Makefile b/deps/lua/Makefile
+index 209a132..72f4b2b 100644
+--- a/deps/lua/Makefile
++++ b/deps/lua/Makefile
+@@ -33,7 +33,6 @@ INSTALL_DATA= $(INSTALL) -m 0644
+ 
+ # Utilities.
+ MKDIR= mkdir -p
+-RANLIB= ranlib
+ 
+ # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
+ 
+diff --git a/deps/lua/src/Makefile b/deps/lua/src/Makefile
+index f3bba2f..1555ec0 100644
+--- a/deps/lua/src/Makefile
++++ b/deps/lua/src/Makefile
+@@ -5,18 +5,14 @@
+ # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
+ 
+ # Your platform. See PLATS for possible values.
+-PLAT= none
++PLAT= linux
+ 
+-CC?= gcc
+-CFLAGS= -O2 -Wall $(MYCFLAGS)
+-AR= ar rcu
+-RANLIB= ranlib
+-RM= rm -f
+-LIBS= -lm $(MYLIBS)
+-
+-MYCFLAGS=
++MYCFLAGS=-DLUA_USE_LINUX
+ MYLDFLAGS=
+-MYLIBS=
++MYLIBS=-Wl,-E -ldl -lreadline -lhistory -lncurses
++
++CFLAGS += $(MYCFLAGS)
++LIBS += -lm $(MYLIBS)
+ 
+ # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
+ 
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/oe-use-libc-malloc.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/oe-use-libc-malloc.patch
new file mode 100644
index 0000000..bf6d0cf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/oe-use-libc-malloc.patch
@@ -0,0 +1,34 @@
+From 88da6b19ecd00747769663e913aba5e9569c489d Mon Sep 17 00:00:00 2001
+From: Venture Research <tech@ventureresearch.com>
+Date: Wed, 6 Feb 2013 20:51:02 -0600
+Subject: [PATCH] hack to force use of libc malloc
+
+Hack to force libc usage as it seems the option to pass it in has been
+removed in favor of magic.
+
+Note that this of course doesn't allow tcmalloc and jemalloc, however
+jemalloc wasn't building correctly.
+
+Signed-off-by: Venture Research <tech@ventureresearch.com>
+
+Update to work with 4.0.8
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+
+---
+ src/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 2a0d74d..ddabd44 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -13,7 +13,8 @@
+ # Just use 'make dep', but this is only needed by developers.
+ 
+ release_hdr := $(shell sh -c './mkreleasehdr.sh')
+-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
++# use fake uname option to force use of generic libc
++uname_S := "USE_LIBC_MALLOC"
+ uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
+ OPTIMIZATION?=-O2
+ DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/redis.conf b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/redis.conf
new file mode 100644
index 0000000..75037d6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/redis.conf
@@ -0,0 +1,1314 @@
+# Redis configuration file example.
+#
+# Note that in order to read the configuration file, Redis must be
+# started with the file path as first argument:
+#
+# ./redis-server /path/to/redis.conf
+
+# Note on units: when memory size is needed, it is possible to specify
+# it in the usual form of 1k 5GB 4M and so forth:
+#
+# 1k => 1000 bytes
+# 1kb => 1024 bytes
+# 1m => 1000000 bytes
+# 1mb => 1024*1024 bytes
+# 1g => 1000000000 bytes
+# 1gb => 1024*1024*1024 bytes
+#
+# units are case insensitive so 1GB 1Gb 1gB are all the same.
+
+################################## INCLUDES ###################################
+
+# Include one or more other config files here.  This is useful if you
+# have a standard template that goes to all Redis servers but also need
+# to customize a few per-server settings.  Include files can include
+# other files, so use this wisely.
+#
+# Notice option "include" won't be rewritten by command "CONFIG REWRITE"
+# from admin or Redis Sentinel. Since Redis always uses the last processed
+# line as value of a configuration directive, you'd better put includes
+# at the beginning of this file to avoid overwriting config change at runtime.
+#
+# If instead you are interested in using includes to override configuration
+# options, it is better to use include as the last line.
+#
+# include /path/to/local.conf
+# include /path/to/other.conf
+
+################################## MODULES #####################################
+
+# Load modules at startup. If the server is not able to load modules
+# it will abort. It is possible to use multiple loadmodule directives.
+#
+# loadmodule /path/to/my_module.so
+# loadmodule /path/to/other_module.so
+
+################################## NETWORK #####################################
+
+# By default, if no "bind" configuration directive is specified, Redis listens
+# for connections from all the network interfaces available on the server.
+# It is possible to listen to just one or multiple selected interfaces using
+# the "bind" configuration directive, followed by one or more IP addresses.
+#
+# Examples:
+#
+# bind 192.168.1.100 10.0.0.1
+# bind 127.0.0.1 ::1
+#
+# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
+# internet, binding to all the interfaces is dangerous and will expose the
+# instance to everybody on the internet. So by default we uncomment the
+# following bind directive, that will force Redis to listen only into
+# the IPv4 lookback interface address (this means Redis will be able to
+# accept connections only from clients running into the same computer it
+# is running).
+#
+# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
+# JUST COMMENT THE FOLLOWING LINE.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+bind 127.0.0.1
+
+# Protected mode is a layer of security protection, in order to avoid that
+# Redis instances left open on the internet are accessed and exploited.
+#
+# When protected mode is on and if:
+#
+# 1) The server is not binding explicitly to a set of addresses using the
+#    "bind" directive.
+# 2) No password is configured.
+#
+# The server only accepts connections from clients connecting from the
+# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain
+# sockets.
+#
+# By default protected mode is enabled. You should disable it only if
+# you are sure you want clients from other hosts to connect to Redis
+# even if no authentication is configured, nor a specific set of interfaces
+# are explicitly listed using the "bind" directive.
+protected-mode yes
+
+# Accept connections on the specified port, default is 6379 (IANA #815344).
+# If port 0 is specified Redis will not listen on a TCP socket.
+port 6379
+
+# TCP listen() backlog.
+#
+# In high requests-per-second environments you need an high backlog in order
+# to avoid slow clients connections issues. Note that the Linux kernel
+# will silently truncate it to the value of /proc/sys/net/core/somaxconn so
+# make sure to raise both the value of somaxconn and tcp_max_syn_backlog
+# in order to get the desired effect.
+tcp-backlog 511
+
+# Unix socket.
+#
+# Specify the path for the Unix socket that will be used to listen for
+# incoming connections. There is no default, so Redis will not listen
+# on a unix socket when not specified.
+#
+# unixsocket /tmp/redis.sock
+# unixsocketperm 700
+
+# Close the connection after a client is idle for N seconds (0 to disable)
+timeout 0
+
+# TCP keepalive.
+#
+# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence
+# of communication. This is useful for two reasons:
+#
+# 1) Detect dead peers.
+# 2) Take the connection alive from the point of view of network
+#    equipment in the middle.
+#
+# On Linux, the specified value (in seconds) is the period used to send ACKs.
+# Note that to close the connection the double of the time is needed.
+# On other kernels the period depends on the kernel configuration.
+#
+# A reasonable value for this option is 300 seconds, which is the new
+# Redis default starting with Redis 3.2.1.
+tcp-keepalive 300
+
+################################# GENERAL #####################################
+
+# OE: run as a daemon.
+daemonize yes
+
+# If you run Redis from upstart or systemd, Redis can interact with your
+# supervision tree. Options:
+#   supervised no      - no supervision interaction
+#   supervised upstart - signal upstart by putting Redis into SIGSTOP mode
+#   supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
+#   supervised auto    - detect upstart or systemd method based on
+#                        UPSTART_JOB or NOTIFY_SOCKET environment variables
+# Note: these supervision methods only signal "process is ready."
+#       They do not enable continuous liveness pings back to your supervisor.
+supervised no
+
+# If a pid file is specified, Redis writes it where specified at startup
+# and removes it at exit.
+#
+# When the server runs non daemonized, no pid file is created if none is
+# specified in the configuration. When the server is daemonized, the pid file
+# is used even if not specified, defaulting to "/var/run/redis.pid".
+#
+# Creating a pid file is best effort: if Redis is not able to create it
+# nothing bad happens, the server will start and run normally.
+
+# When running daemonized, Redis writes a pid file in /var/run/redis.pid by
+# default. You can specify a custom pid file location here.
+pidfile /var/run/redis.pid
+
+# Specify the server verbosity level.
+# This can be one of:
+# debug (a lot of information, useful for development/testing)
+# verbose (many rarely useful info, but not a mess like the debug level)
+# notice (moderately verbose, what you want in production probably)
+# warning (only very important / critical messages are logged)
+loglevel notice
+
+# Specify the log file name. Also the empty string can be used to force
+# Redis to log on the standard output. Note that if you use standard
+# output for logging but daemonize, logs will be sent to /dev/null
+logfile ""
+
+# To enable logging to the system logger, just set 'syslog-enabled' to yes,
+# and optionally update the other syslog parameters to suit your needs.
+syslog-enabled yes
+
+# Specify the syslog identity.
+syslog-ident redis
+
+# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
+# syslog-facility local0
+
+# Set the number of databases. The default database is DB 0, you can select
+# a different one on a per-connection basis using SELECT <dbid> where
+# dbid is a number between 0 and 'databases'-1
+databases 16
+
+# By default Redis shows an ASCII art logo only when started to log to the
+# standard output and if the standard output is a TTY. Basically this means
+# that normally a logo is displayed only in interactive sessions.
+#
+# However it is possible to force the pre-4.0 behavior and always show a
+# ASCII art logo in startup logs by setting the following option to yes.
+always-show-logo yes
+
+################################ SNAPSHOTTING  ################################
+#
+# Save the DB on disk:
+#
+#   save <seconds> <changes>
+#
+#   Will save the DB if both the given number of seconds and the given
+#   number of write operations against the DB occurred.
+#
+#   In the example below the behaviour will be to save:
+#   after 900 sec (15 min) if at least 1 key changed
+#   after 300 sec (5 min) if at least 10 keys changed
+#   after 60 sec if at least 10000 keys changed
+#
+#   Note: you can disable saving completely by commenting out all "save" lines.
+#
+#   It is also possible to remove all the previously configured save
+#   points by adding a save directive with a single empty string argument
+#   like in the following example:
+#
+#   save ""
+
+#save 900 1
+#save 300 10
+#save 60 10000
+
+# OE: tune for a small embedded system with a limited # of keys.
+save 120 1
+save 60 100
+save 30 1000
+
+# By default Redis will stop accepting writes if RDB snapshots are enabled
+# (at least one save point) and the latest background save failed.
+# This will make the user aware (in a hard way) that data is not persisting
+# on disk properly, otherwise chances are that no one will notice and some
+# disaster will happen.
+#
+# If the background saving process will start working again Redis will
+# automatically allow writes again.
+#
+# However if you have setup your proper monitoring of the Redis server
+# and persistence, you may want to disable this feature so that Redis will
+# continue to work as usual even if there are problems with disk,
+# permissions, and so forth.
+stop-writes-on-bgsave-error yes
+
+# Compress string objects using LZF when dump .rdb databases?
+# For default that's set to 'yes' as it's almost always a win.
+# If you want to save some CPU in the saving child set it to 'no' but
+# the dataset will likely be bigger if you have compressible values or keys.
+rdbcompression yes
+
+# Since version 5 of RDB a CRC64 checksum is placed at the end of the file.
+# This makes the format more resistant to corruption but there is a performance
+# hit to pay (around 10%) when saving and loading RDB files, so you can disable it
+# for maximum performances.
+#
+# RDB files created with checksum disabled have a checksum of zero that will
+# tell the loading code to skip the check.
+rdbchecksum yes
+
+# The filename where to dump the DB
+dbfilename dump.rdb
+
+# The working directory.
+#
+# The DB will be written inside this directory, with the filename specified
+# above using the 'dbfilename' configuration directive.
+#
+# The Append Only File will also be created inside this directory.
+#
+# Note that you must specify a directory here, not a file name.
+dir /var/lib/redis/
+
+################################# REPLICATION #################################
+
+# Master-Slave replication. Use slaveof to make a Redis instance a copy of
+# another Redis server. A few things to understand ASAP about Redis replication.
+#
+# 1) Redis replication is asynchronous, but you can configure a master to
+#    stop accepting writes if it appears to be not connected with at least
+#    a given number of slaves.
+# 2) Redis slaves are able to perform a partial resynchronization with the
+#    master if the replication link is lost for a relatively small amount of
+#    time. You may want to configure the replication backlog size (see the next
+#    sections of this file) with a sensible value depending on your needs.
+# 3) Replication is automatic and does not need user intervention. After a
+#    network partition slaves automatically try to reconnect to masters
+#    and resynchronize with them.
+#
+# slaveof <masterip> <masterport>
+
+# If the master is password protected (using the "requirepass" configuration
+# directive below) it is possible to tell the slave to authenticate before
+# starting the replication synchronization process, otherwise the master will
+# refuse the slave request.
+#
+# masterauth <master-password>
+
+# When a slave loses its connection with the master, or when the replication
+# is still in progress, the slave can act in two different ways:
+#
+# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
+#    still reply to client requests, possibly with out of date data, or the
+#    data set may just be empty if this is the first synchronization.
+#
+# 2) if slave-serve-stale-data is set to 'no' the slave will reply with
+#    an error "SYNC with master in progress" to all the kind of commands
+#    but to INFO and SLAVEOF.
+#
+slave-serve-stale-data yes
+
+# You can configure a slave instance to accept writes or not. Writing against
+# a slave instance may be useful to store some ephemeral data (because data
+# written on a slave will be easily deleted after resync with the master) but
+# may also cause problems if clients are writing to it because of a
+# misconfiguration.
+#
+# Since Redis 2.6 by default slaves are read-only.
+#
+# Note: read only slaves are not designed to be exposed to untrusted clients
+# on the internet. It's just a protection layer against misuse of the instance.
+# Still a read only slave exports by default all the administrative commands
+# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
+# security of read only slaves using 'rename-command' to shadow all the
+# administrative / dangerous commands.
+slave-read-only yes
+
+# Replication SYNC strategy: disk or socket.
+#
+# -------------------------------------------------------
+# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY
+# -------------------------------------------------------
+#
+# New slaves and reconnecting slaves that are not able to continue the replication
+# process just receiving differences, need to do what is called a "full
+# synchronization". An RDB file is transmitted from the master to the slaves.
+# The transmission can happen in two different ways:
+#
+# 1) Disk-backed: The Redis master creates a new process that writes the RDB
+#                 file on disk. Later the file is transferred by the parent
+#                 process to the slaves incrementally.
+# 2) Diskless: The Redis master creates a new process that directly writes the
+#              RDB file to slave sockets, without touching the disk at all.
+#
+# With disk-backed replication, while the RDB file is generated, more slaves
+# can be queued and served with the RDB file as soon as the current child producing
+# the RDB file finishes its work. With diskless replication instead once
+# the transfer starts, new slaves arriving will be queued and a new transfer
+# will start when the current one terminates.
+#
+# When diskless replication is used, the master waits a configurable amount of
+# time (in seconds) before starting the transfer in the hope that multiple slaves
+# will arrive and the transfer can be parallelized.
+#
+# With slow disks and fast (large bandwidth) networks, diskless replication
+# works better.
+repl-diskless-sync no
+
+# When diskless replication is enabled, it is possible to configure the delay
+# the server waits in order to spawn the child that transfers the RDB via socket
+# to the slaves.
+#
+# This is important since once the transfer starts, it is not possible to serve
+# new slaves arriving, that will be queued for the next RDB transfer, so the server
+# waits a delay in order to let more slaves arrive.
+#
+# The delay is specified in seconds, and by default is 5 seconds. To disable
+# it entirely just set it to 0 seconds and the transfer will start ASAP.
+repl-diskless-sync-delay 5
+
+# Slaves send PINGs to server in a predefined interval. It's possible to change
+# this interval with the repl_ping_slave_period option. The default value is 10
+# seconds.
+#
+# repl-ping-slave-period 10
+
+# The following option sets the replication timeout for:
+#
+# 1) Bulk transfer I/O during SYNC, from the point of view of slave.
+# 2) Master timeout from the point of view of slaves (data, pings).
+# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings).
+#
+# It is important to make sure that this value is greater than the value
+# specified for repl-ping-slave-period otherwise a timeout will be detected
+# every time there is low traffic between the master and the slave.
+#
+# repl-timeout 60
+
+# Disable TCP_NODELAY on the slave socket after SYNC?
+#
+# If you select "yes" Redis will use a smaller number of TCP packets and
+# less bandwidth to send data to slaves. But this can add a delay for
+# the data to appear on the slave side, up to 40 milliseconds with
+# Linux kernels using a default configuration.
+#
+# If you select "no" the delay for data to appear on the slave side will
+# be reduced but more bandwidth will be used for replication.
+#
+# By default we optimize for low latency, but in very high traffic conditions
+# or when the master and slaves are many hops away, turning this to "yes" may
+# be a good idea.
+repl-disable-tcp-nodelay no
+
+# Set the replication backlog size. The backlog is a buffer that accumulates
+# slave data when slaves are disconnected for some time, so that when a slave
+# wants to reconnect again, often a full resync is not needed, but a partial
+# resync is enough, just passing the portion of data the slave missed while
+# disconnected.
+#
+# The bigger the replication backlog, the longer the time the slave can be
+# disconnected and later be able to perform a partial resynchronization.
+#
+# The backlog is only allocated once there is at least a slave connected.
+#
+# repl-backlog-size 1mb
+
+# After a master has no longer connected slaves for some time, the backlog
+# will be freed. The following option configures the amount of seconds that
+# need to elapse, starting from the time the last slave disconnected, for
+# the backlog buffer to be freed.
+#
+# Note that slaves never free the backlog for timeout, since they may be
+# promoted to masters later, and should be able to correctly "partially
+# resynchronize" with the slaves: hence they should always accumulate backlog.
+#
+# A value of 0 means to never release the backlog.
+#
+# repl-backlog-ttl 3600
+
+# The slave priority is an integer number published by Redis in the INFO output.
+# It is used by Redis Sentinel in order to select a slave to promote into a
+# master if the master is no longer working correctly.
+#
+# A slave with a low priority number is considered better for promotion, so
+# for instance if there are three slaves with priority 10, 100, 25 Sentinel will
+# pick the one with priority 10, that is the lowest.
+#
+# However a special priority of 0 marks the slave as not able to perform the
+# role of master, so a slave with priority of 0 will never be selected by
+# Redis Sentinel for promotion.
+#
+# By default the priority is 100.
+slave-priority 100
+
+# It is possible for a master to stop accepting writes if there are less than
+# N slaves connected, having a lag less or equal than M seconds.
+#
+# The N slaves need to be in "online" state.
+#
+# The lag in seconds, that must be <= the specified value, is calculated from
+# the last ping received from the slave, that is usually sent every second.
+#
+# This option does not GUARANTEE that N replicas will accept the write, but
+# will limit the window of exposure for lost writes in case not enough slaves
+# are available, to the specified number of seconds.
+#
+# For example to require at least 3 slaves with a lag <= 10 seconds use:
+#
+# min-slaves-to-write 3
+# min-slaves-max-lag 10
+#
+# Setting one or the other to 0 disables the feature.
+#
+# By default min-slaves-to-write is set to 0 (feature disabled) and
+# min-slaves-max-lag is set to 10.
+
+# A Redis master is able to list the address and port of the attached
+# slaves in different ways. For example the "INFO replication" section
+# offers this information, which is used, among other tools, by
+# Redis Sentinel in order to discover slave instances.
+# Another place where this info is available is in the output of the
+# "ROLE" command of a master.
+#
+# The listed IP and address normally reported by a slave is obtained
+# in the following way:
+#
+#   IP: The address is auto detected by checking the peer address
+#   of the socket used by the slave to connect with the master.
+#
+#   Port: The port is communicated by the slave during the replication
+#   handshake, and is normally the port that the slave is using to
+#   list for connections.
+#
+# However when port forwarding or Network Address Translation (NAT) is
+# used, the slave may be actually reachable via different IP and port
+# pairs. The following two options can be used by a slave in order to
+# report to its master a specific set of IP and port, so that both INFO
+# and ROLE will report those values.
+#
+# There is no need to use both the options if you need to override just
+# the port or the IP address.
+#
+# slave-announce-ip 5.5.5.5
+# slave-announce-port 1234
+
+################################## SECURITY ###################################
+
+# Require clients to issue AUTH <PASSWORD> before processing any other
+# commands.  This might be useful in environments in which you do not trust
+# others with access to the host running redis-server.
+#
+# This should stay commented out for backward compatibility and because most
+# people do not need auth (e.g. they run their own servers).
+#
+# Warning: since Redis is pretty fast an outside user can try up to
+# 150k passwords per second against a good box. This means that you should
+# use a very strong password otherwise it will be very easy to break.
+#
+# requirepass foobared
+
+# Command renaming.
+#
+# It is possible to change the name of dangerous commands in a shared
+# environment. For instance the CONFIG command may be renamed into something
+# hard to guess so that it will still be available for internal-use tools
+# but not available for general clients.
+#
+# Example:
+#
+# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
+#
+# It is also possible to completely kill a command by renaming it into
+# an empty string:
+#
+# rename-command CONFIG ""
+#
+# Please note that changing the name of commands that are logged into the
+# AOF file or transmitted to slaves may cause problems.
+
+################################### CLIENTS ####################################
+
+# Set the max number of connected clients at the same time. By default
+# this limit is set to 10000 clients, however if the Redis server is not
+# able to configure the process file limit to allow for the specified limit
+# the max number of allowed clients is set to the current file limit
+# minus 32 (as Redis reserves a few file descriptors for internal uses).
+#
+# Once the limit is reached Redis will close all the new connections sending
+# an error 'max number of clients reached'.
+#
+# maxclients 10000
+
+############################## MEMORY MANAGEMENT ################################
+
+# Set a memory usage limit to the specified amount of bytes.
+# When the memory limit is reached Redis will try to remove keys
+# according to the eviction policy selected (see maxmemory-policy).
+#
+# If Redis can't remove keys according to the policy, or if the policy is
+# set to 'noeviction', Redis will start to reply with errors to commands
+# that would use more memory, like SET, LPUSH, and so on, and will continue
+# to reply to read-only commands like GET.
+#
+# This option is usually useful when using Redis as an LRU or LFU cache, or to
+# set a hard memory limit for an instance (using the 'noeviction' policy).
+#
+# WARNING: If you have slaves attached to an instance with maxmemory on,
+# the size of the output buffers needed to feed the slaves are subtracted
+# from the used memory count, so that network problems / resyncs will
+# not trigger a loop where keys are evicted, and in turn the output
+# buffer of slaves is full with DELs of keys evicted triggering the deletion
+# of more keys, and so forth until the database is completely emptied.
+#
+# In short... if you have slaves attached it is suggested that you set a lower
+# limit for maxmemory so that there is some free RAM on the system for slave
+# output buffers (but this is not needed if the policy is 'noeviction').
+#
+# maxmemory <bytes>
+
+# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
+# is reached. You can select among five behaviors:
+#
+# volatile-lru -> Evict using approximated LRU among the keys with an expire set.
+# allkeys-lru -> Evict any key using approximated LRU.
+# volatile-lfu -> Evict using approximated LFU among the keys with an expire set.
+# allkeys-lfu -> Evict any key using approximated LFU.
+# volatile-random -> Remove a random key among the ones with an expire set.
+# allkeys-random -> Remove a random key, any key.
+# volatile-ttl -> Remove the key with the nearest expire time (minor TTL)
+# noeviction -> Don't evict anything, just return an error on write operations.
+#
+# LRU means Least Recently Used
+# LFU means Least Frequently Used
+#
+# Both LRU, LFU and volatile-ttl are implemented using approximated
+# randomized algorithms.
+#
+# Note: with any of the above policies, Redis will return an error on write
+#       operations, when there are no suitable keys for eviction.
+#
+#       At the date of writing these commands are: set setnx setex append
+#       incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
+#       sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
+#       zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
+#       getset mset msetnx exec sort
+#
+# The default is:
+#
+# maxmemory-policy noeviction
+
+# LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated
+# algorithms (in order to save memory), so you can tune it for speed or
+# accuracy. For default Redis will check five keys and pick the one that was
+# used less recently, you can change the sample size using the following
+# configuration directive.
+#
+# The default of 5 produces good enough results. 10 Approximates very closely
+# true LRU but costs more CPU. 3 is faster but not very accurate.
+#
+# maxmemory-samples 5
+
+############################# LAZY FREEING ####################################
+
+# Redis has two primitives to delete keys. One is called DEL and is a blocking
+# deletion of the object. It means that the server stops processing new commands
+# in order to reclaim all the memory associated with an object in a synchronous
+# way. If the key deleted is associated with a small object, the time needed
+# in order to execute the DEL command is very small and comparable to most other
+# O(1) or O(log_N) commands in Redis. However if the key is associated with an
+# aggregated value containing millions of elements, the server can block for
+# a long time (even seconds) in order to complete the operation.
+#
+# For the above reasons Redis also offers non blocking deletion primitives
+# such as UNLINK (non blocking DEL) and the ASYNC option of FLUSHALL and
+# FLUSHDB commands, in order to reclaim memory in background. Those commands
+# are executed in constant time. Another thread will incrementally free the
+# object in the background as fast as possible.
+#
+# DEL, UNLINK and ASYNC option of FLUSHALL and FLUSHDB are user-controlled.
+# It's up to the design of the application to understand when it is a good
+# idea to use one or the other. However the Redis server sometimes has to
+# delete keys or flush the whole database as a side effect of other operations.
+# Specifically Redis deletes objects independently of a user call in the
+# following scenarios:
+#
+# 1) On eviction, because of the maxmemory and maxmemory policy configurations,
+#    in order to make room for new data, without going over the specified
+#    memory limit.
+# 2) Because of expire: when a key with an associated time to live (see the
+#    EXPIRE command) must be deleted from memory.
+# 3) Because of a side effect of a command that stores data on a key that may
+#    already exist. For example the RENAME command may delete the old key
+#    content when it is replaced with another one. Similarly SUNIONSTORE
+#    or SORT with STORE option may delete existing keys. The SET command
+#    itself removes any old content of the specified key in order to replace
+#    it with the specified string.
+# 4) During replication, when a slave performs a full resynchronization with
+#    its master, the content of the whole database is removed in order to
+#    load the RDB file just transfered.
+#
+# In all the above cases the default is to delete objects in a blocking way,
+# like if DEL was called. However you can configure each case specifically
+# in order to instead release memory in a non-blocking way like if UNLINK
+# was called, using the following configuration directives:
+
+lazyfree-lazy-eviction no
+lazyfree-lazy-expire no
+lazyfree-lazy-server-del no
+slave-lazy-flush no
+
+############################## APPEND ONLY MODE ###############################
+
+# By default Redis asynchronously dumps the dataset on disk. This mode is
+# good enough in many applications, but an issue with the Redis process or
+# a power outage may result into a few minutes of writes lost (depending on
+# the configured save points).
+#
+# The Append Only File is an alternative persistence mode that provides
+# much better durability. For instance using the default data fsync policy
+# (see later in the config file) Redis can lose just one second of writes in a
+# dramatic event like a server power outage, or a single write if something
+# wrong with the Redis process itself happens, but the operating system is
+# still running correctly.
+#
+# AOF and RDB persistence can be enabled at the same time without problems.
+# If the AOF is enabled on startup Redis will load the AOF, that is the file
+# with the better durability guarantees.
+#
+# Please check http://redis.io/topics/persistence for more information.
+
+# OE: changed default to enable this
+appendonly yes
+
+# The name of the append only file (default: "appendonly.aof")
+
+appendfilename "appendonly.aof"
+
+# The fsync() call tells the Operating System to actually write data on disk
+# instead of waiting for more data in the output buffer. Some OS will really flush
+# data on disk, some other OS will just try to do it ASAP.
+#
+# Redis supports three different modes:
+#
+# no: don't fsync, just let the OS flush the data when it wants. Faster.
+# always: fsync after every write to the append only log. Slow, Safest.
+# everysec: fsync only one time every second. Compromise.
+#
+# The default is "everysec", as that's usually the right compromise between
+# speed and data safety. It's up to you to understand if you can relax this to
+# "no" that will let the operating system flush the output buffer when
+# it wants, for better performances (but if you can live with the idea of
+# some data loss consider the default persistence mode that's snapshotting),
+# or on the contrary, use "always" that's very slow but a bit safer than
+# everysec.
+#
+# More details please check the following article:
+# http://antirez.com/post/redis-persistence-demystified.html
+#
+# If unsure, use "everysec".
+
+# appendfsync always
+appendfsync everysec
+# appendfsync no
+
+# When the AOF fsync policy is set to always or everysec, and a background
+# saving process (a background save or AOF log background rewriting) is
+# performing a lot of I/O against the disk, in some Linux configurations
+# Redis may block too long on the fsync() call. Note that there is no fix for
+# this currently, as even performing fsync in a different thread will block
+# our synchronous write(2) call.
+#
+# In order to mitigate this problem it's possible to use the following option
+# that will prevent fsync() from being called in the main process while a
+# BGSAVE or BGREWRITEAOF is in progress.
+#
+# This means that while another child is saving, the durability of Redis is
+# the same as "appendfsync none". In practical terms, this means that it is
+# possible to lose up to 30 seconds of log in the worst scenario (with the
+# default Linux settings).
+#
+# If you have latency problems turn this to "yes". Otherwise leave it as
+# "no" that is the safest pick from the point of view of durability.
+
+no-appendfsync-on-rewrite no
+
+# Automatic rewrite of the append only file.
+# Redis is able to automatically rewrite the log file implicitly calling
+# BGREWRITEAOF when the AOF log size grows by the specified percentage.
+#
+# This is how it works: Redis remembers the size of the AOF file after the
+# latest rewrite (if no rewrite has happened since the restart, the size of
+# the AOF at startup is used).
+#
+# This base size is compared to the current size. If the current size is
+# bigger than the specified percentage, the rewrite is triggered. Also
+# you need to specify a minimal size for the AOF file to be rewritten, this
+# is useful to avoid rewriting the AOF file even if the percentage increase
+# is reached but it is still pretty small.
+#
+# Specify a percentage of zero in order to disable the automatic AOF
+# rewrite feature.
+
+auto-aof-rewrite-percentage 100
+auto-aof-rewrite-min-size 64mb
+
+# An AOF file may be found to be truncated at the end during the Redis
+# startup process, when the AOF data gets loaded back into memory.
+# This may happen when the system where Redis is running
+# crashes, especially when an ext4 filesystem is mounted without the
+# data=ordered option (however this can't happen when Redis itself
+# crashes or aborts but the operating system still works correctly).
+#
+# Redis can either exit with an error when this happens, or load as much
+# data as possible (the default now) and start if the AOF file is found
+# to be truncated at the end. The following option controls this behavior.
+#
+# If aof-load-truncated is set to yes, a truncated AOF file is loaded and
+# the Redis server starts emitting a log to inform the user of the event.
+# Otherwise if the option is set to no, the server aborts with an error
+# and refuses to start. When the option is set to no, the user requires
+# to fix the AOF file using the "redis-check-aof" utility before to restart
+# the server.
+#
+# Note that if the AOF file will be found to be corrupted in the middle
+# the server will still exit with an error. This option only applies when
+# Redis will try to read more data from the AOF file but not enough bytes
+# will be found.
+aof-load-truncated yes
+
+# When rewriting the AOF file, Redis is able to use an RDB preamble in the
+# AOF file for faster rewrites and recoveries. When this option is turned
+# on the rewritten AOF file is composed of two different stanzas:
+#
+#   [RDB file][AOF tail]
+#
+# When loading Redis recognizes that the AOF file starts with the "REDIS"
+# string and loads the prefixed RDB file, and continues loading the AOF
+# tail.
+#
+# This is currently turned off by default in order to avoid the surprise
+# of a format change, but will at some point be used as the default.
+aof-use-rdb-preamble no
+
+################################ LUA SCRIPTING  ###############################
+
+# Max execution time of a Lua script in milliseconds.
+#
+# If the maximum execution time is reached Redis will log that a script is
+# still in execution after the maximum allowed time and will start to
+# reply to queries with an error.
+#
+# When a long running script exceeds the maximum execution time only the
+# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
+# used to stop a script that did not yet called write commands. The second
+# is the only way to shut down the server in the case a write command was
+# already issued by the script but the user doesn't want to wait for the natural
+# termination of the script.
+#
+# Set it to 0 or a negative value for unlimited execution without warnings.
+lua-time-limit 5000
+
+################################ REDIS CLUSTER  ###############################
+#
+# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however
+# in order to mark it as "mature" we need to wait for a non trivial percentage
+# of users to deploy it in production.
+# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#
+# Normal Redis instances can't be part of a Redis Cluster; only nodes that are
+# started as cluster nodes can. In order to start a Redis instance as a
+# cluster node enable the cluster support uncommenting the following:
+#
+# cluster-enabled yes
+
+# Every cluster node has a cluster configuration file. This file is not
+# intended to be edited by hand. It is created and updated by Redis nodes.
+# Every Redis Cluster node requires a different cluster configuration file.
+# Make sure that instances running in the same system do not have
+# overlapping cluster configuration file names.
+#
+# cluster-config-file nodes-6379.conf
+
+# Cluster node timeout is the amount of milliseconds a node must be unreachable
+# for it to be considered in failure state.
+# Most other internal time limits are multiple of the node timeout.
+#
+# cluster-node-timeout 15000
+
+# A slave of a failing master will avoid to start a failover if its data
+# looks too old.
+#
+# There is no simple way for a slave to actually have an exact measure of
+# its "data age", so the following two checks are performed:
+#
+# 1) If there are multiple slaves able to failover, they exchange messages
+#    in order to try to give an advantage to the slave with the best
+#    replication offset (more data from the master processed).
+#    Slaves will try to get their rank by offset, and apply to the start
+#    of the failover a delay proportional to their rank.
+#
+# 2) Every single slave computes the time of the last interaction with
+#    its master. This can be the last ping or command received (if the master
+#    is still in the "connected" state), or the time that elapsed since the
+#    disconnection with the master (if the replication link is currently down).
+#    If the last interaction is too old, the slave will not try to failover
+#    at all.
+#
+# The point "2" can be tuned by user. Specifically a slave will not perform
+# the failover if, since the last interaction with the master, the time
+# elapsed is greater than:
+#
+#   (node-timeout * slave-validity-factor) + repl-ping-slave-period
+#
+# So for example if node-timeout is 30 seconds, and the slave-validity-factor
+# is 10, and assuming a default repl-ping-slave-period of 10 seconds, the
+# slave will not try to failover if it was not able to talk with the master
+# for longer than 310 seconds.
+#
+# A large slave-validity-factor may allow slaves with too old data to failover
+# a master, while a too small value may prevent the cluster from being able to
+# elect a slave at all.
+#
+# For maximum availability, it is possible to set the slave-validity-factor
+# to a value of 0, which means, that slaves will always try to failover the
+# master regardless of the last time they interacted with the master.
+# (However they'll always try to apply a delay proportional to their
+# offset rank).
+#
+# Zero is the only value able to guarantee that when all the partitions heal
+# the cluster will always be able to continue.
+#
+# cluster-slave-validity-factor 10
+
+# Cluster slaves are able to migrate to orphaned masters, that are masters
+# that are left without working slaves. This improves the cluster ability
+# to resist to failures as otherwise an orphaned master can't be failed over
+# in case of failure if it has no working slaves.
+#
+# Slaves migrate to orphaned masters only if there are still at least a
+# given number of other working slaves for their old master. This number
+# is the "migration barrier". A migration barrier of 1 means that a slave
+# will migrate only if there is at least 1 other working slave for its master
+# and so forth. It usually reflects the number of slaves you want for every
+# master in your cluster.
+#
+# Default is 1 (slaves migrate only if their masters remain with at least
+# one slave). To disable migration just set it to a very large value.
+# A value of 0 can be set but is useful only for debugging and dangerous
+# in production.
+#
+# cluster-migration-barrier 1
+
+# By default Redis Cluster nodes stop accepting queries if they detect there
+# is at least an hash slot uncovered (no available node is serving it).
+# This way if the cluster is partially down (for example a range of hash slots
+# are no longer covered) all the cluster becomes, eventually, unavailable.
+# It automatically returns available as soon as all the slots are covered again.
+#
+# However sometimes you want the subset of the cluster which is working,
+# to continue to accept queries for the part of the key space that is still
+# covered. In order to do so, just set the cluster-require-full-coverage
+# option to no.
+#
+# cluster-require-full-coverage yes
+
+# In order to setup your cluster make sure to read the documentation
+# available at http://redis.io web site.
+
+########################## CLUSTER DOCKER/NAT support  ########################
+
+# In certain deployments, Redis Cluster nodes address discovery fails, because
+# addresses are NAT-ted or because ports are forwarded (the typical case is
+# Docker and other containers).
+#
+# In order to make Redis Cluster working in such environments, a static
+# configuration where each node knows its public address is needed. The
+# following two options are used for this scope, and are:
+#
+# * cluster-announce-ip
+# * cluster-announce-port
+# * cluster-announce-bus-port
+#
+# Each instruct the node about its address, client port, and cluster message
+# bus port. The information is then published in the header of the bus packets
+# so that other nodes will be able to correctly map the address of the node
+# publishing the information.
+#
+# If the above options are not used, the normal Redis Cluster auto-detection
+# will be used instead.
+#
+# Note that when remapped, the bus port may not be at the fixed offset of
+# clients port + 10000, so you can specify any port and bus-port depending
+# on how they get remapped. If the bus-port is not set, a fixed offset of
+# 10000 will be used as usually.
+#
+# Example:
+#
+# cluster-announce-ip 10.1.1.5
+# cluster-announce-port 6379
+# cluster-announce-bus-port 6380
+
+################################## SLOW LOG ###################################
+
+# The Redis Slow Log is a system to log queries that exceeded a specified
+# execution time. The execution time does not include the I/O operations
+# like talking with the client, sending the reply and so forth,
+# but just the time needed to actually execute the command (this is the only
+# stage of command execution where the thread is blocked and can not serve
+# other requests in the meantime).
+#
+# You can configure the slow log with two parameters: one tells Redis
+# what is the execution time, in microseconds, to exceed in order for the
+# command to get logged, and the other parameter is the length of the
+# slow log. When a new command is logged the oldest one is removed from the
+# queue of logged commands.
+
+# The following time is expressed in microseconds, so 1000000 is equivalent
+# to one second. Note that a negative number disables the slow log, while
+# a value of zero forces the logging of every command.
+slowlog-log-slower-than 10000
+
+# There is no limit to this length. Just be aware that it will consume memory.
+# You can reclaim memory used by the slow log with SLOWLOG RESET.
+slowlog-max-len 128
+
+################################ LATENCY MONITOR ##############################
+
+# The Redis latency monitoring subsystem samples different operations
+# at runtime in order to collect data related to possible sources of
+# latency of a Redis instance.
+#
+# Via the LATENCY command this information is available to the user that can
+# print graphs and obtain reports.
+#
+# The system only logs operations that were performed in a time equal or
+# greater than the amount of milliseconds specified via the
+# latency-monitor-threshold configuration directive. When its value is set
+# to zero, the latency monitor is turned off.
+#
+# By default latency monitoring is disabled since it is mostly not needed
+# if you don't have latency issues, and collecting data has a performance
+# impact, that while very small, can be measured under big load. Latency
+# monitoring can easily be enabled at runtime using the command
+# "CONFIG SET latency-monitor-threshold <milliseconds>" if needed.
+latency-monitor-threshold 0
+
+############################# EVENT NOTIFICATION ##############################
+
+# Redis can notify Pub/Sub clients about events happening in the key space.
+# This feature is documented at http://redis.io/topics/notifications
+#
+# For instance if keyspace events notification is enabled, and a client
+# performs a DEL operation on key "foo" stored in the Database 0, two
+# messages will be published via Pub/Sub:
+#
+# PUBLISH __keyspace@0__:foo del
+# PUBLISH __keyevent@0__:del foo
+#
+# It is possible to select the events that Redis will notify among a set
+# of classes. Every class is identified by a single character:
+#
+#  K     Keyspace events, published with __keyspace@<db>__ prefix.
+#  E     Keyevent events, published with __keyevent@<db>__ prefix.
+#  g     Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ...
+#  $     String commands
+#  l     List commands
+#  s     Set commands
+#  h     Hash commands
+#  z     Sorted set commands
+#  x     Expired events (events generated every time a key expires)
+#  e     Evicted events (events generated when a key is evicted for maxmemory)
+#  A     Alias for g$lshzxe, so that the "AKE" string means all the events.
+#
+#  The "notify-keyspace-events" takes as argument a string that is composed
+#  of zero or multiple characters. The empty string means that notifications
+#  are disabled.
+#
+#  Example: to enable list and generic events, from the point of view of the
+#           event name, use:
+#
+#  notify-keyspace-events Elg
+#
+#  Example 2: to get the stream of the expired keys subscribing to channel
+#             name __keyevent@0__:expired use:
+#
+#  notify-keyspace-events Ex
+#
+#  By default all notifications are disabled because most users don't need
+#  this feature and the feature has some overhead. Note that if you don't
+#  specify at least one of K or E, no events will be delivered.
+notify-keyspace-events ""
+
+############################### ADVANCED CONFIG ###############################
+
+# Hashes are encoded using a memory efficient data structure when they have a
+# small number of entries, and the biggest entry does not exceed a given
+# threshold. These thresholds can be configured using the following directives.
+hash-max-ziplist-entries 512
+hash-max-ziplist-value 64
+
+# Lists are also encoded in a special way to save a lot of space.
+# The number of entries allowed per internal list node can be specified
+# as a fixed maximum size or a maximum number of elements.
+# For a fixed maximum size, use -5 through -1, meaning:
+# -5: max size: 64 Kb  <-- not recommended for normal workloads
+# -4: max size: 32 Kb  <-- not recommended
+# -3: max size: 16 Kb  <-- probably not recommended
+# -2: max size: 8 Kb   <-- good
+# -1: max size: 4 Kb   <-- good
+# Positive numbers mean store up to _exactly_ that number of elements
+# per list node.
+# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size),
+# but if your use case is unique, adjust the settings as necessary.
+list-max-ziplist-size -2
+
+# Lists may also be compressed.
+# Compress depth is the number of quicklist ziplist nodes from *each* side of
+# the list to *exclude* from compression.  The head and tail of the list
+# are always uncompressed for fast push/pop operations.  Settings are:
+# 0: disable all list compression
+# 1: depth 1 means "don't start compressing until after 1 node into the list,
+#    going from either the head or tail"
+#    So: [head]->node->node->...->node->[tail]
+#    [head], [tail] will always be uncompressed; inner nodes will compress.
+# 2: [head]->[next]->node->node->...->node->[prev]->[tail]
+#    2 here means: don't compress head or head->next or tail->prev or tail,
+#    but compress all nodes between them.
+# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail]
+# etc.
+list-compress-depth 0
+
+# Sets have a special encoding in just one case: when a set is composed
+# of just strings that happen to be integers in radix 10 in the range
+# of 64 bit signed integers.
+# The following configuration setting sets the limit in the size of the
+# set in order to use this special memory saving encoding.
+set-max-intset-entries 512
+
+# Similarly to hashes and lists, sorted sets are also specially encoded in
+# order to save a lot of space. This encoding is only used when the length and
+# elements of a sorted set are below the following limits:
+zset-max-ziplist-entries 128
+zset-max-ziplist-value 64
+
+# HyperLogLog sparse representation bytes limit. The limit includes the
+# 16 bytes header. When an HyperLogLog using the sparse representation crosses
+# this limit, it is converted into the dense representation.
+#
+# A value greater than 16000 is totally useless, since at that point the
+# dense representation is more memory efficient.
+#
+# The suggested value is ~ 3000 in order to have the benefits of
+# the space efficient encoding without slowing down too much PFADD,
+# which is O(N) with the sparse encoding. The value can be raised to
+# ~ 10000 when CPU is not a concern, but space is, and the data set is
+# composed of many HyperLogLogs with cardinality in the 0 - 15000 range.
+hll-sparse-max-bytes 3000
+
+# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
+# order to help rehashing the main Redis hash table (the one mapping top-level
+# keys to values). The hash table implementation Redis uses (see dict.c)
+# performs a lazy rehashing: the more operation you run into a hash table
+# that is rehashing, the more rehashing "steps" are performed, so if the
+# server is idle the rehashing is never complete and some more memory is used
+# by the hash table.
+#
+# The default is to use this millisecond 10 times every second in order to
+# actively rehash the main dictionaries, freeing memory when possible.
+#
+# If unsure:
+# use "activerehashing no" if you have hard latency requirements and it is
+# not a good thing in your environment that Redis can reply from time to time
+# to queries with 2 milliseconds delay.
+#
+# use "activerehashing yes" if you don't have such hard requirements but
+# want to free memory asap when possible.
+activerehashing yes
+
+# The client output buffer limits can be used to force disconnection of clients
+# that are not reading data from the server fast enough for some reason (a
+# common reason is that a Pub/Sub client can't consume messages as fast as the
+# publisher can produce them).
+#
+# The limit can be set differently for the three different classes of clients:
+#
+# normal -> normal clients including MONITOR clients
+# slave  -> slave clients
+# pubsub -> clients subscribed to at least one pubsub channel or pattern
+#
+# The syntax of every client-output-buffer-limit directive is the following:
+#
+# client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds>
+#
+# A client is immediately disconnected once the hard limit is reached, or if
+# the soft limit is reached and remains reached for the specified number of
+# seconds (continuously).
+# So for instance if the hard limit is 32 megabytes and the soft limit is
+# 16 megabytes / 10 seconds, the client will get disconnected immediately
+# if the size of the output buffers reach 32 megabytes, but will also get
+# disconnected if the client reaches 16 megabytes and continuously overcomes
+# the limit for 10 seconds.
+#
+# By default normal clients are not limited because they don't receive data
+# without asking (in a push way), but just after a request, so only
+# asynchronous clients may create a scenario where data is requested faster
+# than it can read.
+#
+# Instead there is a default limit for pubsub and slave clients, since
+# subscribers and slaves receive data in a push fashion.
+#
+# Both the hard or the soft limit can be disabled by setting them to zero.
+client-output-buffer-limit normal 0 0 0
+client-output-buffer-limit slave 256mb 64mb 60
+client-output-buffer-limit pubsub 32mb 8mb 60
+
+# Client query buffers accumulate new commands. They are limited to a fixed
+# amount by default in order to avoid that a protocol desynchronization (for
+# instance due to a bug in the client) will lead to unbound memory usage in
+# the query buffer. However you can configure it here if you have very special
+# needs, such us huge multi/exec requests or alike.
+#
+# client-query-buffer-limit 1gb
+
+# In the Redis protocol, bulk requests, that are, elements representing single
+# strings, are normally limited ot 512 mb. However you can change this limit
+# here.
+#
+# proto-max-bulk-len 512mb
+
+# Redis calls an internal function to perform many background tasks, like
+# closing connections of clients in timeout, purging expired keys that are
+# never requested, and so forth.
+#
+# Not all tasks are performed with the same frequency, but Redis checks for
+# tasks to perform according to the specified "hz" value.
+#
+# By default "hz" is set to 10. Raising the value will use more CPU when
+# Redis is idle, but at the same time will make Redis more responsive when
+# there are many keys expiring at the same time, and timeouts may be
+# handled with more precision.
+#
+# The range is between 1 and 500, however a value over 100 is usually not
+# a good idea. Most users should use the default of 10 and raise this up to
+# 100 only in environments where very low latency is required.
+hz 10
+
+# When a child rewrites the AOF file, if the following option is enabled
+# the file will be fsync-ed every 32 MB of data generated. This is useful
+# in order to commit the file to the disk more incrementally and avoid
+# big latency spikes.
+aof-rewrite-incremental-fsync yes
+
+# Redis LFU eviction (see maxmemory setting) can be tuned. However it is a good
+# idea to start with the default settings and only change them after investigating
+# how to improve the performances and how the keys LFU change over time, which
+# is possible to inspect via the OBJECT FREQ command.
+#
+# There are two tunable parameters in the Redis LFU implementation: the
+# counter logarithm factor and the counter decay time. It is important to
+# understand what the two parameters mean before changing them.
+#
+# The LFU counter is just 8 bits per key, it's maximum value is 255, so Redis
+# uses a probabilistic increment with logarithmic behavior. Given the value
+# of the old counter, when a key is accessed, the counter is incremented in
+# this way:
+#
+# 1. A random number R between 0 and 1 is extracted.
+# 2. A probability P is calculated as 1/(old_value*lfu_log_factor+1).
+# 3. The counter is incremented only if R < P.
+#
+# The default lfu-log-factor is 10. This is a table of how the frequency
+# counter changes with a different number of accesses with different
+# logarithmic factors:
+#
+# +--------+------------+------------+------------+------------+------------+
+# | factor | 100 hits   | 1000 hits  | 100K hits  | 1M hits    | 10M hits   |
+# +--------+------------+------------+------------+------------+------------+
+# | 0      | 104        | 255        | 255        | 255        | 255        |
+# +--------+------------+------------+------------+------------+------------+
+# | 1      | 18         | 49         | 255        | 255        | 255        |
+# +--------+------------+------------+------------+------------+------------+
+# | 10     | 10         | 18         | 142        | 255        | 255        |
+# +--------+------------+------------+------------+------------+------------+
+# | 100    | 8          | 11         | 49         | 143        | 255        |
+# +--------+------------+------------+------------+------------+------------+
+#
+# NOTE: The above table was obtained by running the following commands:
+#
+#   redis-benchmark -n 1000000 incr foo
+#   redis-cli object freq foo
+#
+# NOTE 2: The counter initial value is 5 in order to give new objects a chance
+# to accumulate hits.
+#
+# The counter decay time is the time, in minutes, that must elapse in order
+# for the key counter to be divided by two (or decremented if it has a value
+# less <= 10).
+#
+# The default value for the lfu-decay-time is 1. A Special value of 0 means to
+# decay the counter every time it happens to be scanned.
+#
+# lfu-log-factor 10
+# lfu-decay-time 1
+
+########################### ACTIVE DEFRAGMENTATION #######################
+#
+# WARNING THIS FEATURE IS EXPERIMENTAL. However it was stress tested
+# even in production and manually tested by multiple engineers for some
+# time.
+#
+# What is active defragmentation?
+# -------------------------------
+#
+# Active (online) defragmentation allows a Redis server to compact the
+# spaces left between small allocations and deallocations of data in memory,
+# thus allowing to reclaim back memory.
+#
+# Fragmentation is a natural process that happens with every allocator (but
+# less so with Jemalloc, fortunately) and certain workloads. Normally a server
+# restart is needed in order to lower the fragmentation, or at least to flush
+# away all the data and create it again. However thanks to this feature
+# implemented by Oran Agra for Redis 4.0 this process can happen at runtime
+# in an "hot" way, while the server is running.
+#
+# Basically when the fragmentation is over a certain level (see the
+# configuration options below) Redis will start to create new copies of the
+# values in contiguous memory regions by exploiting certain specific Jemalloc
+# features (in order to understand if an allocation is causing fragmentation
+# and to allocate it in a better place), and at the same time, will release the
+# old copies of the data. This process, repeated incrementally for all the keys
+# will cause the fragmentation to drop back to normal values.
+#
+# Important things to understand:
+#
+# 1. This feature is disabled by default, and only works if you compiled Redis
+#    to use the copy of Jemalloc we ship with the source code of Redis.
+#    This is the default with Linux builds.
+#
+# 2. You never need to enable this feature if you don't have fragmentation
+#    issues.
+#
+# 3. Once you experience fragmentation, you can enable this feature when
+#    needed with the command "CONFIG SET activedefrag yes".
+#
+# The configuration parameters are able to fine tune the behavior of the
+# defragmentation process. If you are not sure about what they mean it is
+# a good idea to leave the defaults untouched.
+
+# Enabled active defragmentation
+# activedefrag yes
+
+# Minimum amount of fragmentation waste to start active defrag
+# active-defrag-ignore-bytes 100mb
+
+# Minimum percentage of fragmentation to start active defrag
+# active-defrag-threshold-lower 10
+
+# Maximum percentage of fragmentation at which we use maximum effort
+# active-defrag-threshold-upper 100
+
+# Minimal effort for defrag in CPU percentage
+# active-defrag-cycle-min 25
+
+# Maximal effort for defrag in CPU percentage
+# active-defrag-cycle-max 75
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/redis.service b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/redis.service
new file mode 100644
index 0000000..36d2985
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7/redis.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Redis In-Memory Data Store
+After=network.target
+
+[Service]
+User=redis
+Group=redis
+ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
+ExecStop=/usr/bin/redis-cli shutdown
+Restart=always
+LimitNOFILE=10032
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc1.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc1.bb
new file mode 100644
index 0000000..1a95771
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc1.bb
@@ -0,0 +1,68 @@
+SUMMARY = "Redis key-value store"
+DESCRIPTION = "Redis is an open source, advanced key-value store."
+HOMEPAGE = "http://redis.io"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
+DEPENDS = "readline lua ncurses"
+
+FILESPATH =. "${FILE_DIRNAME}/${PN}-7:"
+
+SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
+           file://redis.conf \
+           file://init-redis-server \
+           file://redis.service \
+           file://hiredis-use-default-CC-if-it-is-set.patch \
+           file://lua-update-Makefile-to-use-environment-build-setting.patch \
+           file://oe-use-libc-malloc.patch \
+           file://0001-src-Do-not-reset-FINAL_LIBS.patch \
+           file://GNU_SOURCE.patch \
+           file://0006-Define-correct-gregs-for-RISCV32.patch \
+           "
+SRC_URI[sha256sum] = "9bd57d3c9ebba9dbbd6cd14b0c263ce151b0044fb6620b556449c2d82e06ef3d"
+
+inherit autotools-brokensep update-rc.d systemd useradd
+
+FINAL_LIBS:x86:toolchain-clang = "-latomic"
+FINAL_LIBS:riscv32:toolchain-clang = "-latomic"
+FINAL_LIBS:mips = "-latomic"
+FINAL_LIBS:arm = "-latomic"
+FINAL_LIBS:powerpc = "-latomic"
+
+export FINAL_LIBS
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN}  = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
+GROUPADD_PARAM:${PN} = "--system redis"
+
+REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
+
+do_compile:prepend() {
+    (cd deps && oe_runmake hiredis lua linenoise)
+}
+
+do_install() {
+    export PREFIX=${D}/${prefix}
+    oe_runmake install
+    install -d ${D}/${sysconfdir}/redis
+    install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
+    install -d ${D}/${sysconfdir}/init.d
+    install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
+    install -d ${D}/var/lib/redis/
+    chown redis.redis ${D}/var/lib/redis/
+
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir}
+    sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service
+
+    if [ "${REDIS_ON_SYSTEMD}" = true ]; then
+        sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf
+    fi
+}
+
+CONFFILES:${PN} = "${sysconfdir}/redis/redis.conf"
+
+INITSCRIPT_NAME = "redis-server"
+INITSCRIPT_PARAMS = "defaults 87"
+
+SYSTEMD_SERVICE:${PN} = "redis.service"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2106.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2202.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2106.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2202.0.bb
index 9d7e494..b9c4e60 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2106.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2202.0.bb
@@ -31,8 +31,7 @@
     file://0001-Include-sys-time-h.patch \
 "
 
-SRC_URI[md5sum] = "b90659d85dce1df0f6c69a79c4ef053a"
-SRC_URI[sha256sum] = "faf45c25a2265c001739e8888b3652cf685eb3f35cd65d17d5c38fd44b9ddd81"
+SRC_URI[sha256sum] = "e41308a5a171939b3cbc246e9d4bd30be44e801521e04cd95d051fa3867d6738"
 
 UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/meta-openembedded/meta-oe/recipes-extended/s-nail/files/make-errors.patch b/meta-openembedded/meta-oe/recipes-extended/s-nail/files/make-errors.patch
new file mode 100644
index 0000000..68de68c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/s-nail/files/make-errors.patch
@@ -0,0 +1,45 @@
+Don't wrap CC in quotes as our CC has options and this breaks command lookup.
+
+Upstream-Status: Backport [https://git.sdaoden.eu/browse/s-nail.git/commit/?h=next&id=c08f3c898def715edf9164e169c3b3522f4c7a1f]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From c08f3c898def715edf9164e169c3b3522f4c7a1f Mon Sep 17 00:00:00 2001
+From: Steffen Nurpmeso <steffen@sdaoden.eu>
+Date: Tue, 1 Feb 2022 18:54:16 +0100
+Subject: [-] Remove even more bogus quotation marks (Ross Burton)..
+
+On top of (mk/su-find-command.sh: clearly define space behaviour)
+and (mx-test.sh: remove bogus quotation marks) Ross Burton
+reported some more on the ML.  I looked around and hope this was it.
+---
+ mk/pcb-cc.sh         | 2 +-
+ mk/su-make-errors.sh | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mk/pcb-cc.sh b/mk/pcb-cc.sh
+index 2697c5cf..075f8988 100755
+--- a/mk/pcb-cc.sh
++++ b/mk/pcb-cc.sh
+@@ -18,7 +18,7 @@ if dowemayhave "$@"; then
+    if acmd_set CC clang || acmd_set CC gcc ||
+          acmd_set CC tcc || acmd_set CC pcc ||
+          acmd_set CC c89 || acmd_set CC c99; then
+-      exec "$CC" "$@"
++      exec $CC "$@"
+    else
+       echo >&2 'boing booom tschak'
+       echo >&2 'ERROR: I cannot find a compiler!'
+diff --git a/mk/su-make-errors.sh b/mk/su-make-errors.sh
+index f5c5144e..7fede15e 100644
+--- a/mk/su-make-errors.sh
++++ b/mk/su-make-errors.sh
+@@ -157,7 +157,7 @@ compile_time() { # {{{
+    # The problem is that at least (some versions of) gcc mangle output.
+    # Ensure we get both arguments on one line.
+    # While here sort numerically.
+-   "${CC}" -E "${TARGET}".c |
++   ${CC} -E "${TARGET}".c |
+       ${awk} '
+          function stripsym(sym){
+             sym = substr(sym, 2)
+-- 
diff --git a/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb b/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb
new file mode 100644
index 0000000..4dbb99b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Feature-rich BSD mail(1)"
+HOMEPAGE = "https://www.sdaoden.eu/code.html#s-mailx"
+SECTION = "console/network"
+
+LICENSE = "ISC & BSD-3-Clause & BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=87266591c81260f10221f1f38872d023"
+
+SRC_URI = "https://ftp.sdaoden.eu/${BP}.tar.xz \
+           file://make-errors.patch"
+SRC_URI[sha256sum] = "2c717b22f4cd8719b82b6618640da6031382d2bf8eb51283bca2c6266957bca8"
+
+DEPENDS = "coreutils-native"
+
+B = "${WORKDIR}/build"
+
+inherit update-alternatives
+
+EXTRA_OEMAKE = "VERBOSE=yes \
+                CONFIG=minimal \
+                OPT_AUTOCC=no \
+                OPT_CROSS_BUILD=yes \
+                OBJDIR=${B} \
+                strip=true \
+                VAL_PREFIX=${prefix} \
+                VAL_BINDIR=${bindir} \
+                VAL_LIBEXECDIR=${libexecdir} \
+                VAL_MANDIR=${mandir} \
+                VAL_SYSCONFDIR=${sysconfdir}"
+
+do_configure[cleandirs] += "${B}"
+do_configure() {
+    oe_runmake -C ${S} config
+}
+
+do_compile() {
+    oe_runmake -C ${S} build
+}
+
+do_install() {
+    oe_runmake -C ${S} install DESTDIR=${D}
+}
+
+ALTERNATIVE:${PN} = "mailx"
+ALTERNATIVE_TARGET[mailx] = "${bindir}/s-nail"
diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
index f2ee97b..233d5b8 100644
--- a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
@@ -50,4 +50,4 @@
 INITSCRIPT_NAME = "smartd"
 INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ."
 
-RDEPENDS:${PN} += "mailx"
+RRECOMMENDS:${PN} += "s-nail"
diff --git a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
index 252ba9f..0d58345 100644
--- a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
@@ -10,7 +10,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
 
-SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https;branch=master \
+SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https;branch=main \
     file://0001-Add-inline-with-SNAPPY_ATTRIBUTE_ALWAYS_INLINE.patch \
 "
 SRCREV = "2b63814b15a2aaae54b7943f0cd935892fae628f"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.1.bb b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.1.bb
new file mode 100644
index 0000000..4048752
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "C++ bindings for the atk"
+SECTION = "libs"
+
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "atk glibmm-2.68"
+
+GNOMEBASEBUILDCLASS = "meson"
+GNOMEBN = "atkmm"
+
+inherit gnomebase features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.sha256sum] = "e11324bfed1b6e330a02db25cecc145dca03fb0dff47f0710c85e317687da458"
+
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
+EXTRA_OEMESON = "-Dbuild-documentation=false"
+
+FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.9.bb b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.10.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.9.bb
rename to meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.10.bb
index b0871c6..bbbc728 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.9.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libjcat/libjcat_0.1.10.bb
@@ -11,7 +11,7 @@
     git://github.com/hughsie/libjcat.git;branch=main;protocol=https \
     file://run-ptest \
 "
-SRCREV = "d4833949f8f1997b83f35a03127b9e12c104a7c8"
+SRCREV = "edaf36b285497364bef8bf916ffe5b962d01c4b8"
 S = "${WORKDIR}/git"
 
 inherit gobject-introspection gtk-doc meson ptest-gnome vala lib_package
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.6.bb b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.7.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.6.bb
rename to meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.7.bb
index 585c490..48a7701 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.6.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libxmlb/libxmlb_0.3.7.bb
@@ -5,7 +5,7 @@
 SRC_URI = "git://github.com/hughsie/libxmlb.git;branch=main;protocol=https \
            file://run-ptest \
            "
-SRCREV = "89276ffa4407a8d684e95675990fa864793a7586"
+SRCREV = "dc96ba2327bb1f408909b2cd7fb4ecc318e8165a"
 S = "${WORKDIR}/git"
 
 inherit gobject-introspection gtk-doc meson ptest-gnome lib_package
diff --git a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.16.1.bb b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.16.1.bb
new file mode 100644
index 0000000..98ad0a4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.16.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase
+
+DEPENDS += "boost cairo libsigc++-3"
+
+SRC_URI = "https://www.cairographics.org/releases/cairomm-${PV}.tar.xz"
+SRC_URI[sha256sum] = "6f6060d8e98dd4b8acfee2295fddbdd38cf487c07c26aad8d1a83bb9bff4a2c6"
+
+S = "${WORKDIR}/cairomm-${PV}"
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/cairomm-*/"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
deleted file mode 100644
index a697e36..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "C++ bindings for Cairo graphics library"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
-
-inherit gnomebase
-
-DEPENDS = "cairo libsigc++-2.0"
-
-SRC_URI[archive.md5sum] = "c62b476b61bd0abf7e9851f417d73291"
-SRC_URI[archive.sha256sum] = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6"
-
-FILES:${PN}-doc += "${datadir}/devhelp"
-FILES:${PN}-dev += "${libdir}/cairomm-*/"
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
new file mode 100644
index 0000000..6407c68
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase
+
+DEPENDS += "boost cairo libsigc++-2.0"
+
+SRC_URI = "https://www.cairographics.org/releases/${P}.tar.xz"
+SRC_URI[sha256sum] = "0d37e067c5c4ca7808b7ceddabfe1932c5bd2a750ad64fb321e1213536297e78"
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/cairomm-*/"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.2.bb
index eea231a..331e00f 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.2.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.2.bb
@@ -27,5 +27,5 @@
 
 FILES:${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora ${sysconfdir}/xdg"
 
-PNBLACKLIST[dnfdragora] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
+SKIP_RECIPE[dnfdragora] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb
index 7d2515e..ff9939e 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb
@@ -9,7 +9,6 @@
     groff-native \
     libtool \
     gdk-pixbuf \
-    librsvg \
     cairo \
     pango \
     expat \
@@ -34,6 +33,10 @@
 "
 SRC_URI[sha256sum] = "8e1b34763254935243ccdb83c6ce108f531876d7a5dfd443f255e6418b8ea313"
 
+PACKAGECONFIG ??= "librsvg"
+PACKAGECONFIG:class-nativesdk ??= ""
+PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg"
+
 EXTRA_OECONF:append = " PS2PDF=/bin/echo"
 
 EXTRA_OECONF:class-target = "\
@@ -74,6 +77,17 @@
 }
 FILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}"
 
+# create /usr/lib/graphviz/config6
+graphviz_sstate_postinst() {
+    mkdir -p ${SYSROOT_DESTDIR}${bindir}
+    dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}
+    echo '#!/bin/sh' > $dest
+    echo '' >> $dest
+    echo 'dot -c' >> $dest
+    chmod 0755 $dest
+}
+SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst"
+
 PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo"
 
 FILES:${PN}-python += "${libdir}/python*/site-packages/ ${libdir}/graphviz/python/"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb
index c3b6645..e3f2daf 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb
@@ -5,10 +5,10 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
 
+# ffmpeg support is not currently compatible with ffmpeg 5.0
 PACKAGECONFIG ??= " \
     24bpp \
     filetransfer \
-    ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST','commercial','ffmpeg','',d)} \
     gcrypt \
     gnutls \
     jpeg \
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch
new file mode 100644
index 0000000..7ec073b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch
@@ -0,0 +1,38 @@
+From f662906c52f264e4c139e402932103f47269aa1b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 24 Jan 2022 17:16:15 +0800
+Subject: [PATCH] systemd/lxdm.service: remove plymouth-quit conflicts
+
+When use plymouth[1] with lxdm, the plymouth boot splash screen
+will hang there as lxdm.service conflicts with plymouth-quit.service
+and plymouth-quit will fail to start if plymouth-quit.service and
+lxdm.service start at the same time and it will result in the boot
+screen hang forever.
+
+Consider there is also After setting for these two services, so
+remove the conflicts setting to make the service start as expected.
+
+[1] https://gitlab.freedesktop.org/plymouth/plymouth/-/tree/main
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/3]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ systemd/lxdm.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/lxdm.service b/systemd/lxdm.service
+index bf4a0a8..90d8cdb 100644
+--- a/systemd/lxdm.service
++++ b/systemd/lxdm.service
+@@ -1,6 +1,6 @@
+ [Unit]
+ Description=LXDE Display Manager
+-Conflicts=getty@tty1.service plymouth-quit.service
++Conflicts=getty@tty1.service
+ After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service
+ 
+ [Service]
+-- 
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
index 2a8a885..a0c8622 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
@@ -18,6 +18,7 @@
            file://0007-greeter.c-support-to-update-expired-password.patch \
            file://0008-greeter.c-show-information-on-gtk-label-info.patch \
            file://0009-greeter.c-disallow-empty-new-password.patch \
+           file://0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch \
            "
 SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0"
 SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2021-29338.patch b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2021-29338.patch
new file mode 100644
index 0000000..a7c2bb4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2021-29338.patch
@@ -0,0 +1,78 @@
+Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/pull/1395/commits/f0727df]
+CVE: CVE-2021-29338
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From f0727df07c4d944d7d1c5002451cfbc9545d3288 Mon Sep 17 00:00:00 2001
+From: Brad Parham <brad.a.parham@intel.com>
+Date: Wed, 12 Jan 2022 12:20:28 +0100
+Subject: [PATCH] Fix integer overflow in num_images
+
+Includes the fix for CVE-2021-29338
+Credit to @kaniini based on #1346
+Fixes #1338
+---
+ src/bin/jp2/opj_compress.c   | 4 ++--
+ src/bin/jp2/opj_decompress.c | 5 ++---
+ src/bin/jp2/opj_dump.c       | 7 ++++---
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/bin/jp2/opj_compress.c b/src/bin/jp2/opj_compress.c
+index 8c71d4536..1399d5277 100644
+--- a/src/bin/jp2/opj_compress.c
++++ b/src/bin/jp2/opj_compress.c
+@@ -1959,9 +1959,9 @@ int main(int argc, char **argv)
+         num_images = get_num_images(img_fol.imgdirpath);
+         dirptr = (dircnt_t*)malloc(sizeof(dircnt_t));
+         if (dirptr) {
+-            dirptr->filename_buf = (char*)malloc(num_images * OPJ_PATH_LEN * sizeof(
++            dirptr->filename_buf = (char*)calloc(num_images, OPJ_PATH_LEN * sizeof(
+                     char)); /* Stores at max 10 image file names*/
+-            dirptr->filename = (char**) malloc(num_images * sizeof(char*));
++            dirptr->filename = (char**) calloc(num_images, sizeof(char*));
+             if (!dirptr->filename_buf) {
+                 ret = 0;
+                 goto fin;
+diff --git a/src/bin/jp2/opj_decompress.c b/src/bin/jp2/opj_decompress.c
+index fc0012b63..e1217f891 100644
+--- a/src/bin/jp2/opj_decompress.c
++++ b/src/bin/jp2/opj_decompress.c
+@@ -1374,14 +1374,13 @@ int main(int argc, char **argv)
+             return EXIT_FAILURE;
+         }
+         /* Stores at max 10 image file names */
+-        dirptr->filename_buf = (char*)malloc(sizeof(char) *
+-                                             (size_t)num_images * OPJ_PATH_LEN);
++        dirptr->filename_buf = calloc((size_t) num_images, sizeof(char) * OPJ_PATH_LEN);
+         if (!dirptr->filename_buf) {
+             failed = 1;
+             goto fin;
+         }
+ 
+-        dirptr->filename = (char**) malloc((size_t)num_images * sizeof(char*));
++        dirptr->filename = (char**) calloc((size_t) num_images, sizeof(char*));
+ 
+         if (!dirptr->filename) {
+             failed = 1;
+diff --git a/src/bin/jp2/opj_dump.c b/src/bin/jp2/opj_dump.c
+index 6111d2ab6..d2646f10e 100644
+--- a/src/bin/jp2/opj_dump.c
++++ b/src/bin/jp2/opj_dump.c
+@@ -515,13 +515,14 @@ int main(int argc, char *argv[])
+         if (!dirptr) {
+             return EXIT_FAILURE;
+         }
+-        dirptr->filename_buf = (char*)malloc((size_t)num_images * OPJ_PATH_LEN * sizeof(
+-                char)); /* Stores at max 10 image file names*/
++        /* Stores at max 10 image file names*/
++        dirptr->filename_buf = (char*) calloc((size_t) num_images,
++                                              OPJ_PATH_LEN * sizeof(char));
+         if (!dirptr->filename_buf) {
+             free(dirptr);
+             return EXIT_FAILURE;
+         }
+-        dirptr->filename = (char**) malloc((size_t)num_images * sizeof(char*));
++        dirptr->filename = (char**) calloc((size_t) num_images, sizeof(char*));
+ 
+         if (!dirptr->filename) {
+             goto fails;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
index 0533f92..b41bb9e 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
@@ -9,6 +9,7 @@
     git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \
     file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
     file://0001-This-patch-fixed-include-dir-to-usr-include-.-Obviou.patch \
+    file://CVE-2021-29338.patch \
 "
 SRCREV = "37ac30ceff6640bbab502388c5e0fa0bff23f505"
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.1.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.0.bb
similarity index 68%
copy from meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.1.bb
copy to meta-openembedded/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.0.bb
index 0aa100f..29d7b28 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.0.bb
@@ -4,16 +4,17 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
                     file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
 
-DEPENDS = "mm-common cairomm glibmm pango"
+DEPENDS = "mm-common cairomm-1.16 glibmm-2.68 pango"
 
 GNOMEBASEBUILDCLASS = "meson"
-
+GNOMEBN = "pangomm"
 inherit gnomebase features_check
 
-SRC_URI[archive.sha256sum] = "c885013fe61a4c5117fda395770d507563411c63e49f4a3aced4c9efe34d9975"
-
+SRC_URI[archive.sha256sum] = "a27aa77e017b9afce9e751d85bd1cf890abbb3a58bf59d0fac917eef82db3b5b"
 REQUIRED_DISTRO_FEATURES = "x11"
 
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
 FILES:${PN} = "${libdir}/lib*.so.*"
 FILES:${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.1.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.1.bb
rename to meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
index 0aa100f..0ba0a77 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
@@ -10,8 +10,7 @@
 
 inherit gnomebase features_check
 
-SRC_URI[archive.sha256sum] = "c885013fe61a4c5117fda395770d507563411c63e49f4a3aced4c9efe34d9975"
-
+SRC_URI[archive.sha256sum] = "57442ab4dc043877bfe3839915731ab2d693fc6634a71614422fb530c9eaa6f4"
 REQUIRED_DISTRO_FEATURES = "x11"
 
 FILES:${PN} = "${libdir}/lib*.so.*"
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 3a3068f..2f7fcac 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
@@ -17,7 +17,7 @@
 
 python populate_packages:prepend () {
     tessdata_dir= d.expand('${datadir}/tessdata')
-    pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
+    pkgs = do_split_packages(d, tessdata_dir, r'^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
     pn = d.getVar('PN')
     d.appendVar('RDEPENDS:' + pn, ' '+' '.join(pkgs))
 }
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
index b02dbbd..919dad8 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
@@ -51,5 +51,5 @@
 BBCLASSEXTEND = "native nativesdk"
 
 # Allow installation of fonts into recipe-sysroot-native
-SYSROOT_DIRS_BLACKLIST:remove = "${datadir}/fonts"
+SYSROOT_DIRS_IGNORE:remove = "${datadir}/fonts"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
index 31e710a..d8236ce 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
@@ -15,7 +15,7 @@
 
 python split_ttf_mplus_packages() {
     plugindir = d.expand('${datadir}/fonts/ttf-mplus/')
-    packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s')
+    packages = do_split_packages(d, plugindir, r'^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s')
     d.setVar('FONT_PACKAGES', ' '.join(packages))
 }
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
index 2072853..c5a70f5 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
@@ -6,7 +6,7 @@
 Do not compile man dir since error always occur.
  | sed: file filenames.sed line 3: unterminated `s' command
  | make[2]: *** [sessreg.1] Error 1
-It is not a good way.But can remove it from PNBLACKLIST.
+It is not a good way.But can remove it from SKIP_RECIPE.
 
 Upstream-Status: pending
 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+2.0.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+2.0.1.bb
index 441defe..3ca91f6 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+2.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+2.0.1.bb
@@ -18,7 +18,7 @@
 
 python libcdio_split_packages() {
     libdir = d.expand('${libdir}')
-    do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
+    do_split_packages(d, libdir, r'^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
 }
 
 PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
index 2becafb..170a555 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
@@ -25,7 +25,7 @@
 
 python libcdio_split_packages() {
     libdir = d.expand('${libdir}')
-    do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
+    do_split_packages(d, libdir, r'^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
 }
 
 PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.34.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.34.1.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.34.0.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.34.1.bb
index ebcaa6c..57e58b1 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.34.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.34.1.bb
@@ -18,11 +18,10 @@
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRCREV_mpv = "9ca9066d052acecb5b05369141a76993a753ee1e"
-SRC_URI = " \
-    git://github.com/mpv-player/mpv;name=mpv;branch=master;protocol=https \
-    https://waf.io/waf-2.0.20;name=waf;subdir=git \
-"
+SRCREV_mpv = "349e437466163cb52f7d0aa227d4606edd9db501"
+SRC_URI = "git://github.com/mpv-player/mpv;name=mpv;branch=release/0.34;protocol=https \
+           https://waf.io/waf-2.0.20;name=waf;subdir=git \
+           "
 SRC_URI[waf.sha256sum] = "bf971e98edc2414968a262c6aa6b88541a26c3cd248689c89f4c57370955ee7f"
 
 S = "${WORKDIR}/git"
@@ -113,4 +112,4 @@
     ${datadir}/zsh \
     ${datadir}/bash-completion \
     "
-EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}"
+EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}"
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 8d74eb4..9c1db3a 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
@@ -1,6 +1,6 @@
 SUMMARY = "Machine specific gpsd config"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
 
 # empty by default
 # BSP layers can add stuff like meta-openmoko example:
diff --git a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
new file mode 100644
index 0000000..42b9f1e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "[Boost::ext].SML (State Machine Language)"
+DESCRIPTION = "Your scalable C++14 one header only State Machine Library with no dependencies"
+AUTHOR = "Krzysztof Jusiak"
+HOMEPAGE = "https://github.com/boost-ext/sml"
+BUGTRACKER = "https://github.com/boost-ext/sml/issues"
+SECTION = "libs"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+DEPENDS += "boost qemu-native"
+
+PV = "git${SRCPV}"
+
+SRC_URI = "git://github.com/boost-ext/sml.git;protocol=https;branch=master"
+SRCREV = "bcc8dc7815c0d17ad3a8bd52b202f4e90d4d4ca1"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# Building benchmarks takes a lot of time and requires additional headers (euml2.hpp)
+EXTRA_OECMAKE:append = " -DSML_BUILD_BENCHMARKS:bool=OFF"
+
+# [boost::ext].XML is a header only C++ library, so the main package will be empty.
+ALLOW_EMPTY:${PN} = "1"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.4.1.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.5.0.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.4.1.bb
rename to meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.5.0.bb
index aba77e20..a272cb0 100644
--- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.5.0.bb
@@ -13,7 +13,7 @@
 PE = "1"
 PKGV = "${GITPKGVTAG}"
 
-SRCREV = "d39a7ba5c38e3ba3b99b1558dc2ab0970cbfb0c5"
+SRCREV = "d50aef95520df4216c638495a6049125c00742cb"
 SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
     file://winpr-makecert-Build-with-install-RPATH.patch \
 "
@@ -63,22 +63,22 @@
 python populate_packages:prepend () {
     freerdp_root = d.expand('${libdir}/freerdp')
 
-    do_split_packages(d, freerdp_root, '^(audin_.*)\.so$',
+    do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$',
         output_pattern='libfreerdp-plugin-%s',
         description='FreeRDP plugin %s',
         prepend=True, extra_depends='libfreerdp-plugin-audin')
 
-    do_split_packages(d, freerdp_root, '^(rdpsnd_.*)\.so$',
+    do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$',
         output_pattern='libfreerdp-plugin-%s',
         description='FreeRDP plugin %s',
         prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
 
-    do_split_packages(d, freerdp_root, '^(tsmf_.*)\.so$',
+    do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$',
         output_pattern='libfreerdp-plugin-%s',
         description='FreeRDP plugin %s',
         prepend=True, extra_depends='libfreerdp-plugin-tsmf')
 
-    do_split_packages(d, freerdp_root, '^([^-]*)\.so$',
+    do_split_packages(d, freerdp_root, r'^([^-]*)\.so$',
         output_pattern='libfreerdp-plugin-%s',
         description='FreeRDP plugin %s',
         prepend=True, extra_depends='')
diff --git a/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.6.1.bb b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.6.1.bb
new file mode 100644
index 0000000..b44d3be
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.6.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "A microbenchmark support library"
+HOMEPAGE = "https://github.com/google/benchmark"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://github.com/google/benchmark.git;protocol=https;branch=main"
+SRCREV = "0d98dba29d66e93259db7daa53a9327df767a415"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = " \
+    -DBUILD_SHARED_LIBS=yes \
+    -DBENCHMARK_ENABLE_TESTING=no \
+    -DCMAKE_BUILD_TYPE=Release \
+"
+
+inherit cmake
+
+FILES:${PN}-dev += "${libdir}/cmake"
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.347.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.356.bb
similarity index 79%
rename from meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.347.bb
rename to meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.356.bb
index 3713004..6c2ae5e 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.347.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.356.bb
@@ -2,17 +2,21 @@
 HOMEPAGE = "https://github.com/vcrhonek/hwdata"
 SECTION = "System/Base"
 
-LICENSE = "GPL-2.0+"
+LICENSE = "GPL-2.0+ | XFree86-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-SRCREV = "ae89c73d89bb9f416b25ad9e850e9606e66a573e"
+SRCREV = "66a9f63255a06e2d9ec49501188ca47cb537675b"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
 S = "${WORKDIR}/git"
 
+inherit allarch
+
 do_configure() {
     ${S}/configure --datadir=${datadir} --libdir=${libdir}
 }
 
+do_compile[noexec] = "1"
+
 do_install() {
     oe_runmake install DESTDIR=${D}
 }
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 bb111a1..008a83f 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
@@ -11,7 +11,7 @@
 
 BASE_PV := "${PV}"
 PV .= "_25"
-SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https"
 SRCREV = "8b4e00829eb84d4e7b4da11acf1f98f1e8166e5b"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch b/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch
deleted file mode 100644
index f30a62d..0000000
--- a/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools/0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1e37cc3aa674c4b052f0655fef59a910fd7325cb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 16 Dec 2021 14:53:25 -0800
-Subject: [PATCH 1/2] libinotifytools: Include limit.h for PATH_MAX
-
-musl builds fail since the required header which defines PATH_MAX is
-missing, its perhaps included indirectly via glibc based systems
-
-Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/153]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libinotifytools/src/inotifytools.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libinotifytools/src/inotifytools.c b/libinotifytools/src/inotifytools.c
-index 8bdfdb6..902eac2 100644
---- a/libinotifytools/src/inotifytools.c
-+++ b/libinotifytools/src/inotifytools.c
-@@ -17,6 +17,7 @@
- #include "inotifytools_p.h"
- #include "stats.h"
- 
-+#include <limits.h>
- #include <string.h>
- #include <strings.h>
- #include <stdlib.h>
--- 
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.21.9.6.bb b/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.1.0.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.21.9.6.bb
rename to meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.1.0.bb
index 89c3a00..38ba915 100644
--- a/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.21.9.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.1.0.bb
@@ -5,10 +5,9 @@
 LICENSE = "GPL-2.0"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6"
 
-SRCREV = "8f8fcdffb7e80928bea6c1fccd3527a9f5d8fe77"
+SRCREV = "4b72dcd15299e1d0cb096397d9aab513ffed1657"
 
 SRC_URI = "git://github.com/${BPN}/${BPN};branch=master;protocol=https \
-           file://0001-libinotifytools-Include-limit.h-for-PATH_MAX.patch \
            file://0002-libinotifytools-Bridge-differences-between-musl-glib.patch \
           "
 
diff --git a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.12.bb b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.13.1.bb
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.12.bb
rename to meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.13.1.bb
index f07b881..e018c5b 100644
--- a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.12.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.13.1.bb
@@ -4,8 +4,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=ac638b4bc6b67582a11379cfbaeb93dd"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
-SRC_URI[md5sum] = "8cb583c8447461896320b43ea9a688e0"
-SRC_URI[sha256sum] = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5"
+SRC_URI[sha256sum] = "d473e796e7b27c5af01bd6d1552d42b45b43457e7182ce9903f38bb748203b88"
 
 DEPENDS = "tiff"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb b/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
index 0b85862..37e2376 100644
--- a/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
@@ -34,8 +34,8 @@
 
 python populate_packages:prepend() {
     plugindir = d.expand('${libdir}/${BPN}-${PV}/')
-    do_split_packages(d, plugindir, '^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' )
-    do_split_packages(d, plugindir, '^libcanberra-(.*)\.la$', 'libcanberra-%s', '%s support library', extra_depends='' )
+    do_split_packages(d, plugindir, r'^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' )
+    do_split_packages(d, plugindir, r'^libcanberra-(.*)\.la$', 'libcanberra-%s', '%s support library', extra_depends='' )
 }
 
 PACKAGES =+ "${PN}-gnome ${PN}-gtk2 ${PN}-gtk3 ${PN}-systemd"
diff --git a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
deleted file mode 100644
index 93114da..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From c9e60ed064aa2938f71f2cacf79f0bb337812bf8 Mon Sep 17 00:00:00 2001
-From: Anton Blanchard <anton@ozlabs.org>
-Date: Tue, 17 Aug 2021 09:32:43 +1000
-Subject: [PATCH] Use GNUInstallDirs instead of hard wiring install directories
-
-On a multilib setup cmake files should go into lib64.
-
-Upstream-Status: Submitted [https://github.com/USCiLab/cereal/pull/710]
----
- CMakeLists.txt | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b97c1f59..ad574290 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -70,14 +70,15 @@ endif()
- 
- option(CEREAL_INSTALL "Generate the install target" ${CEREAL_MASTER_PROJECT})
- if(CEREAL_INSTALL)
-+    include(GNUInstallDirs)
-     include(CMakePackageConfigHelpers)
- 
-     install(TARGETS cereal EXPORT ${PROJECT_NAME}Targets)
--    install(DIRECTORY include/cereal DESTINATION include)
-+    install(DIRECTORY include/cereal DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- 
-     set(configFile ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake)
-     set(versionFile ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake)
--    set(configInstallDestination lib/cmake/${PROJECT_NAME})
-+    set(configInstallDestination ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
- 
-     configure_package_config_file(
-         ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
--- 
-2.31.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.1.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
rename to meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.1.bb
index 0dbd520..c905b74 100644
--- a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.1.bb
@@ -5,7 +5,7 @@
 
 LICENSE = "BSD-3-Clause & MIT & BSL-1.0"
 LIC_FILES_CHKSUM = "\
-    file://LICENSE;md5=e612690af2f575dfd02e2e91443cea23 \
+    file://LICENSE;md5=4921372a1fb38469e667c38b17a1c4b3 \
     file://include/cereal/external/rapidxml/license.txt;md5=d63ab70ba21ca0544b03284958324301 \
     file://include/cereal/external/LICENSE;md5=b07578c9df99c0b8b45eb041efd4a645 \
     file://include/cereal/external/rapidjson/LICENSE;md5=e7abb663111d4ac17cf00323698aff08 \
@@ -15,10 +15,8 @@
 PROVIDES += "${PN}-dev"
 
 PV .= "+git${SRCPV}"
-SRCREV = "64f50dbd5cecdaba785217e2b0aeea3a4f1cdfab"
-SRC_URI = "git://github.com/USCiLab/cereal.git;branch=master;protocol=https \
-           file://0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch \
-           "
+SRCREV = "1de8fe89471d69ea392ea260ce74e079d5f4b415"
+SRC_URI = "git://github.com/USCiLab/cereal.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.9.bb b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.9.bb
rename to meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb
index 3fdb2b7..a606f17 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb
@@ -10,5 +10,5 @@
 PACKAGECONFIG[vapi] = "-Dvapi=true,-Dvapi=false"
 
 SRC_URI = "git://github.com/hughsie/libgusb.git;branch=main;protocol=https"
-SRCREV = "582f33178a986e74543de8ced087865009f8fef0"
+SRCREV = "332d5b987ffecb824426e88518e05547faf2b520"
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
index 6632f7e..f33fc0c 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -14,7 +14,7 @@
 
 S = "${WORKDIR}/git"
 
-DISTUTILS_SETUP_PATH ?= "${B}/bindings/python/"
+SETUPTOOLS_SETUP_PATH ?= "${B}/bindings/python/"
 
 DEPENDS = " \
     flex-native bison-native libaio \
@@ -65,14 +65,14 @@
 
 do_compile() {
     if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then
-        distutils3_do_compile
+        setuptools3_do_compile
     fi
     cmake_do_compile
 }
 
 do_install() {
     if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then
-        distutils3_do_install
+        setuptools3_do_install
     fi
     cmake_do_install
 }
diff --git a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb
index f14b619..31c3534 100644
--- a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb
@@ -5,11 +5,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://icheck.js;start_line=1;end_line=8;md5=404078d7de9f05ed64d364274f790055"
 
-DEPENDS = "virtual/libc"
+SRC_URI = "git://github.com/fronteed/icheck.git;protocol=https;branch=${PV}"
 
-SRC_URI = "git://github.com/fronteed/icheck.git;protocol=https;branch=${PV};tag=${PV}"
-
-FILES:${PN} += "${datadir}/javascript/jquery-icheck"
+SRCREV = "c8c1af84e4b90b4aea31466aad09bf877619e943"
 
 S = "${WORKDIR}/git"
 
@@ -40,3 +38,5 @@
         install -m 0644 ${S}/skins/square/* ${D}${datadir}/javascript/jquery-icheck/skins/square/
 }
 
+FILES:${PN} += "${datadir}/javascript/jquery-icheck"
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_3.3.1.bb
similarity index 73%
rename from meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb
rename to meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_3.3.1.bb
index 4dc2e80..1a5c35a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery_3.3.1.bb
@@ -1,15 +1,17 @@
 SUMMARY = "JavaScript library for dynamic web applications"
 HOMEPAGE = "https://jquery.com/"
-LICENSE = "MIT | BSD | GPL-2"
-LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-jquery/copyright;md5=5d1ec6f95e0a91d38e2f71de93ddb00e"
+LICENSE = "GPL-2 | MIT"
+LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-jquery/copyright;md5=04bfd6e5b918af29f2f79ce44527da62"
 
-SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/main/j/jquery/${BPN}_${PV}+debian-1ubuntu1~ubuntu12.04.1_all.deb;subdir=${BP}"
-SRC_URI[md5sum] = "fa511ab67f6e960c5b6d39a4d665e47f"
-SRC_URI[sha256sum] = "190ca18a71e35c8ab2ba73fe5be3c7cc601fe20b45709d801110818f1b602cc1"
+SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/main/j/jquery/${BPN}_${PV}~dfsg-3_all.deb"
+
+SRC_URI[sha256sum] = "e04d192c2356e9d4c2b2c7d83fde9408713212b53c4d106e5b9e46c1a56da33b"
 
 JQUERYDIR = "${datadir}/javascript/jquery"
 JQUERYDOCDIR = "${docdir}/libjs-jquery"
 
+S = "${WORKDIR}"
+
 do_install() {
     install -d -m 0755 ${D}${JQUERYDIR}
     install -m 0644 ${S}${JQUERYDIR}/jquery.js ${D}${JQUERYDIR}/
diff --git a/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb b/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
index 108d652..15acdf5 100644
--- a/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
@@ -55,7 +55,7 @@
     install -m 755 ${S}/conf/lio_start.default ${D}/etc/target/lio_start.sh
 }
 
-PNBLACKLIST[lio-utils] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+SKIP_RECIPE[lio-utils] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
 
 RDEPENDS:${PN} += "python-stringold python-subprocess python-shell \
     python-datetime python-textutils python-crypt python-netclient python-email \
diff --git a/meta-openembedded/meta-oe/recipes-support/monit/monit_5.30.0.bb b/meta-openembedded/meta-oe/recipes-support/monit/monit_5.31.0.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-support/monit/monit_5.30.0.bb
rename to meta-openembedded/meta-oe/recipes-support/monit/monit_5.31.0.bb
index 1496243..eaedf4a 100644
--- a/meta-openembedded/meta-oe/recipes-support/monit/monit_5.30.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/monit/monit_5.31.0.bb
@@ -15,7 +15,7 @@
 	file://monitrc \
 "
 
-SRC_URI[sha256sum] = "e85649dfa8586f4fcdd34a0295c55ddd69b0eda6cfbdac47105a2673d10b1008"
+SRC_URI[sha256sum] = "eae71f28941fb663eec74c1a59b69546c659529796550bd9c0c544e9b52ac055"
 
 DEPENDS = "zlib bison-native libnsl2 flex-native openssl virtual/crypt"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_6.0.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_6.2.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-support/nano/nano_6.0.bb
rename to meta-openembedded/meta-oe/recipes-support/nano/nano_6.2.bb
index 7255864..3c73bfb 100644
--- a/meta-openembedded/meta-oe/recipes-support/nano/nano_6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_6.2.bb
@@ -13,7 +13,7 @@
 PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
 
 SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
-SRC_URI[sha256sum] = "93ac8cb68b4ad10e0aaeb80a2dd15c5bb89eb665a4844f7ad01c67efcb169ea2"
+SRC_URI[sha256sum] = "2bca1804bead6aaf4ad791f756e4749bb55ed860eec105a97fba864bc6a77cb3"
 
 UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.73.1.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-support/nss/nss_3.73.1.bb
rename to meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
index 274e85d..8d40e2c 100644
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.73.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
@@ -33,7 +33,7 @@
            file://nss-fix-nsinstall-build.patch \
            file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \
            "
-SRC_URI[sha256sum] = "c768f9fe3129e8bcc2e9679456d7edd9453a225784a8fc7dc4501806f1fe9abe"
+SRC_URI[sha256sum] = "88928811f9f40f87d42e2eaccdf6e454562e51486067f2ddbe90aa47ea6cd056"
 
 UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
 UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
@@ -281,4 +281,4 @@
 BBCLASSEXTEND = "native nativesdk"
 
 # CVE-2006-5201 affects only Sun Solaris
-CVE_CHECK_WHITELIST += "CVE-2006-5201"
+CVE_CHECK_IGNORE += "CVE-2006-5201"
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch
deleted file mode 100644
index 5d88d1a..0000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 9cfa84313c5833d7295fcf57be93d5d2aaadfd88 Mon Sep 17 00:00:00 2001
-From: Vincent Rabaud <vrabaud@google.com>
-Date: Sat, 10 Jul 2021 00:21:52 +0200
-Subject: [PATCH] Use the one argument version of SetTotalBytesLimit.
-
-The two argument versions has been deprecated, cf
-https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.coded_stream
-
-Upstream-Status: Backport [9cfa84313c5833d7295fcf57be93d5d2aaadfd88 - from master after 4.5.3 tag]
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- modules/dnn/src/caffe/caffe_io.cpp | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
-index 2fc4d84f46..ebecf95eea 100644
---- a/modules/dnn/src/caffe/caffe_io.cpp
-+++ b/modules/dnn/src/caffe/caffe_io.cpp
-@@ -92,6 +92,7 @@
- #ifdef HAVE_PROTOBUF
- #include <google/protobuf/io/coded_stream.h>
- #include <google/protobuf/io/zero_copy_stream_impl.h>
-+#include <google/protobuf/stubs/common.h>
- #include <google/protobuf/text_format.h>
- 
- #include <opencv2/core.hpp>
-@@ -1111,7 +1112,11 @@ static const int kProtoReadBytesLimit = INT_MAX;  // Max size of 2 GB minus 1 by
- 
- bool ReadProtoFromBinary(ZeroCopyInputStream* input, Message *proto) {
-     CodedInputStream coded_input(input);
-+#if GOOGLE_PROTOBUF_VERSION >= 3006000
-+    coded_input.SetTotalBytesLimit(kProtoReadBytesLimit);
-+#else
-     coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912);
-+#endif
- 
-     return proto->ParseFromCodedStream(&coded_input);
- }
--- 
-2.32.0
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch
deleted file mode 100644
index 7b2c410..0000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-sfm-link-with-Glog_LIBS.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From ffe20fc4ec46c6b491eff29a38f90686d4d035f6 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Mon, 12 Apr 2021 20:37:40 +0000
-Subject: [PATCH] sfm: link with Glog_LIBS
-
-* in 4.5.0 there was explicit linkage with GLOG_LIBRARY, but since 4.5.1 with:
-  https://github.com/opencv/opencv_contrib/commit/23ee62a19b7a3e50d6dbf295359d8b1aff2e03fd
-
-  it's gone, probably because Glog_FOUND is already set from Ceres,
-  but then GLOG_LIBRARIES is empty in LIBMV_LIGHT_LIBS and build with gold fails:
-
-FAILED: bin/example_tutorial_perspective_correction
-: && TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include  -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot=                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include  -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -mssse3 -DNDEBUG  -DNDEBUG  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include  -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0=/usr/src/debug/opencv/4.5.2-r0                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot=                      -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/git/include  -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now  -Wl,--gc-sections -Wl,--as-needed samples/cpp/CMakeFiles/example_tutorial_perspective_correction.dir/tutorial_code/features2D/Homography/perspective_correction.cpp.o -o bin/example_tutorial_perspective_correction  -ldl  -lm  -lpthread  -lrt  lib/libopencv_gapi.so.4.5.2  lib/libopencv_stitching.so.4.5.2  lib/libopencv_ts.so.4.5.2  lib/libopencv_alphamat.so.4.5.2  lib/libopencv_aruco.so.4.5.2  lib/libopencv_bgsegm.so.4.5.2  lib/libopencv_bioinspired.so.4.5.2  lib/libopencv_ccalib.so.4.5.2  lib/libopencv_dnn_objdetect.so.4.5.2  lib/libopencv_dnn_superres.so.4.5.2  lib/libopencv_dpm.so.4.5.2  lib/libopencv_face.so.4.5.2  lib/libopencv_fuzzy.so.4.5.2  lib/libopencv_hfs.so.4.5.2  lib/libopencv_img_hash.so.4.5.2  lib/libopencv_intensity_transform.so.4.5.2  lib/libopencv_line_descriptor.so.4.5.2  lib/libopencv_mcc.so.4.5.2  lib/libopencv_quality.so.4.5.2  lib/libopencv_rapid.so.4.5.2  lib/libopencv_reg.so.4.5.2  lib/libopencv_rgbd.so.4.5.2  lib/libopencv_saliency.so.4.5.2  lib/libopencv_sfm.so.4.5.2  lib/libopencv_stereo.so.4.5.2  lib/libopencv_structured_light.so.4.5.2  lib/libopencv_superres.so.4.5.2  lib/libopencv_surface_matching.so.4.5.2  lib/libopencv_tracking.so.4.5.2  lib/libopencv_videostab.so.4.5.2  lib/libopencv_wechat_qrcode.so.4.5.2  lib/libopencv_xfeatures2d.so.4.5.2  lib/libopencv_xobjdetect.so.4.5.2  lib/libopencv_xphoto.so.4.5.2  lib/libopencv_shape.so.4.5.2  lib/libopencv_highgui.so.4.5.2  lib/libopencv_datasets.so.4.5.2  lib/libopencv_ml.so.4.5.2  lib/libopencv_plot.so.4.5.2  lib/libopencv_phase_unwrapping.so.4.5.2  lib/libopencv_optflow.so.4.5.2  lib/libopencv_ximgproc.so.4.5.2  lib/libopencv_videoio.so.4.5.2  lib/libopencv_video.so.4.5.2  lib/libopencv_dnn.so.4.5.2  lib/libopencv_imgcodecs.so.4.5.2  lib/libopencv_objdetect.so.4.5.2  lib/libopencv_calib3d.so.4.5.2  lib/libopencv_features2d.so.4.5.2  lib/libopencv_flann.so.4.5.2  lib/libopencv_photo.so.4.5.2  lib/libopencv_imgproc.so.4.5.2  lib/libopencv_core.so.4.5.2  -Wl,-rpath-link,TOPDIR/tmp-glibc/work/core2-64-oe-linux/opencv/4.5.2-r0/build/lib && :
-lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::LogMessage(char const*, int)'
-lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::stream()'
-lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessage::~LogMessage()'
-lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::kLogSiteUninitialized'
-lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'fLI::FLAGS_v'
-lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::InitVLOG3__(int**, int*, char const*, int)'
-lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessageFatal::LogMessageFatal(char const*, int)'
-lib/libopencv_sfm.so.4.5.2: error: undefined reference to 'google::LogMessageFatal::~LogMessageFatal()'
-collect2: error: ld returned 1 exit status
-
-  Add Glog_LIBS which is set to the same value as GLOG_LIBRARIES used to be.
-
-Upstream-Status: Submitted [https://github.com/opencv/opencv_contrib/pull/2923]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- modules/sfm/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules/sfm/CMakeLists.txt b/modules/sfm/CMakeLists.txt
-index 045a1fe6e..ee7cecdac 100644
---- a/modules/sfm/CMakeLists.txt
-+++ b/modules/sfm/CMakeLists.txt
-@@ -84,6 +84,7 @@ set(LIBMV_LIGHT_LIBS
-   multiview
-   numeric
-   ${GLOG_LIBRARIES}
-+  ${Glog_LIBS}
-   ${GFLAGS_LIBRARIES}
- )
- 
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
rename to meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb
index 2f2a505..4449596 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb
@@ -10,8 +10,8 @@
 
 DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
 
-SRCREV_opencv = "69357b1e88680658a07cffde7678a4d697469f03"
-SRCREV_contrib = "f5d7f6712d4ff229ba4f45cf79dfd11c557d56fd"
+SRCREV_opencv = "dad26339a975b49cfb6c7dbe4bd5276c9dcb36e2"
+SRCREV_contrib = "49e8f123ca08e76891856a1ecce491b62d08ba20"
 SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
 SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
 SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
@@ -51,8 +51,6 @@
            file://0001-Dont-use-isystem.patch \
            file://download.patch \
            file://0001-Make-ts-module-external.patch \
-           file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \
-           file://0001-Use-the-one-argument-version-of-SetTotalBytesLimit.patch \
            "
 SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
 
@@ -102,10 +100,13 @@
     ${@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)} \
 "
 EXTRA_OECMAKE:append:x86 = " -DX86=ON"
+# disable sse4.1 and sse4.2 to fix 32bit build failure
+# https://github.com/opencv/opencv/issues/21597
+EXTRA_OECMAKE:remove:x86 = " -DENABLE_SSE41=1 -DENABLE_SSE42=1"
 
 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"
@@ -161,10 +162,10 @@
 
 python populate_packages:prepend () {
     cv_libdir = d.expand('${libdir}')
-    do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
-    do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
-    do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
-    do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+    do_split_packages(d, cv_libdir, r'^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+    do_split_packages(d, cv_libdir, r'^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+    do_split_packages(d, cv_libdir, r'^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+    do_split_packages(d, cv_libdir, r'^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
 
     pn = d.getVar('PN')
     metapkg =  pn + '-dev'
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap/0001-librewrite-include-ldap_pvt_thread.h-before-redefini.patch b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/0001-librewrite-include-ldap_pvt_thread.h-before-redefini.patch
new file mode 100644
index 0000000..bcd1525
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap/0001-librewrite-include-ldap_pvt_thread.h-before-redefini.patch
@@ -0,0 +1,54 @@
+From 79381ab335898c9184e22dd25b544adefa9bf6c5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Feb 2022 16:26:57 -0800
+Subject: [PATCH] librewrite: include ldap_pvt_thread.h before redefining
+ calloc
+
+This helps compiling with musl, where sched.h is included by
+ldap_pvt_thread.h which provides prototype for calloc() and conflicts
+
+/usr/include/sched.h:84:7: error: conflicting types for 'ber_memcalloc'
+| void *calloc(size_t, size_t);
+|       ^1
+|  warning and 1 error generated.
+| ./rewrite-int.h:44:21: note: expanded from macro 'calloc'
+| #define calloc(x,y)     ber_memcalloc(x,y)
+|                         ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libraries/librewrite/rewrite-int.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/libraries/librewrite/rewrite-int.h b/libraries/librewrite/rewrite-int.h
+index 4481dd3..5ec226d 100644
+--- a/libraries/librewrite/rewrite-int.h
++++ b/libraries/librewrite/rewrite-int.h
+@@ -40,6 +40,11 @@
+ 
+ #include <rewrite.h>
+ 
++#ifndef NO_THREADS
++#define USE_REWRITE_LDAP_PVT_THREADS
++#include <ldap_pvt_thread.h>
++#endif
++
+ #define malloc(x)	ber_memalloc(x)
+ #define calloc(x,y)	ber_memcalloc(x,y)
+ #define realloc(x,y)	ber_memrealloc(x,y)
+@@ -47,11 +52,6 @@
+ #undef strdup
+ #define	strdup(x)	ber_strdup(x)
+ 
+-#ifndef NO_THREADS
+-#define USE_REWRITE_LDAP_PVT_THREADS
+-#include <ldap_pvt_thread.h>
+-#endif
+-
+ /*
+  * For details, see RATIONALE.
+  */
+-- 
+2.35.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.9.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.9.bb
index f3b8c6c..541a623 100644
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.5.9.bb
@@ -23,6 +23,7 @@
     file://0001-ldif-filter-fix-parallel-build-failure.patch \
     file://0001-build-top.mk-unset-STRIP_OPTS.patch \
     file://0001-libraries-Makefile.in-ignore-the-mkdir-errors.patch \
+    file://0001-librewrite-include-ldap_pvt_thread.h-before-redefini.patch \
 "
 
 SRC_URI[md5sum] = "237fc2d881c27f8dd5d9f396e2865c11"
@@ -218,8 +219,8 @@
 
 python populate_packages:prepend () {
     backend_dir    = d.expand('${libexecdir}/openldap')
-    do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
-    do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
+    do_split_packages(d, backend_dir, r'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
+    do_split_packages(d, backend_dir, r'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
 
     metapkg = "${PN}-backends"
     d.setVar('ALLOW_EMPTY:' + metapkg, "1")
@@ -236,3 +237,6 @@
 }
 
 BBCLASSEXTEND = "native"
+
+# CVE-2015-3276 has no target code.
+CVE_CHECK_IGNORE += "CVE-2015-3276"
diff --git a/meta-openembedded/meta-oe/recipes-support/pcp/pcp-native_5.3.5.bb b/meta-openembedded/meta-oe/recipes-support/pcp/pcp-native_5.3.5.bb
index 029a475..5f3c9b6 100644
--- a/meta-openembedded/meta-oe/recipes-support/pcp/pcp-native_5.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pcp/pcp-native_5.3.5.bb
@@ -46,4 +46,8 @@
     PCP_MAN_DIR=${D}/${mandir} \
     PCP_DOC_DIR=${D}/${docdir} 
 }
+#| chkacc1.c:8:10: fatal error: localconfig.h: No such file or directory
+#|     8 | #include "localconfig.h"
+#|       |          ^~~~~~~~~~~~~~~
+PARALLEL_MAKE = ""
 
diff --git a/meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.5.bb b/meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.5.bb
index 290dbaa..bd09985 100644
--- a/meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pcp/pcp_5.3.5.bb
@@ -219,3 +219,7 @@
         ${datadir}/man/man3/pms* \
         ${datadir}/man/man3/pmt* \
 "
+#| chkacc1.c:8:10: fatal error: localconfig.h: No such file or directory
+#|     8 | #include "localconfig.h"
+#|       |          ^~~~~~~~~~~~~~~
+PARALLEL_MAKE = ""
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
index b2e6d9a..17a2adf 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
@@ -83,27 +83,27 @@
     purple   = d.expand('${libdir}/purple-2')
     finch    = d.expand('${libdir}/finch')
 
-    do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$',
+    do_split_packages(d, pidgroot, r'^([^l][^i][^b].*)\.so$',
         output_pattern='pidgin-plugin-%s',
         description='Pidgin plugin %s',
         prepend=True, extra_depends='')
 
-    do_split_packages(d, purple, '^lib(.*)\.so$',
+    do_split_packages(d, purple, r'^lib(.*)\.so$',
         output_pattern='libpurple-protocol-%s',
         description='Libpurple protocol plugin for %s',
         prepend=True, extra_depends='')
 
-    do_split_packages(d, purple, '^(ssl-.*)\.so$',
+    do_split_packages(d, purple, r'^(ssl-.*)\.so$',
         output_pattern='libpurple-plugin-%s',
         description='libpurple plugin %s',
         prepend=True, extra_depends='libpurple-plugin-ssl')
 
-    do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
+    do_split_packages(d, purple, r'^([^l][^i][^b].*)\.so$',
         output_pattern='libpurple-plugin-%s',
         description='libpurple plugin %s',
         prepend=True, extra_depends='')
 
-    do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$',
+    do_split_packages(d, finch, r'^([^l][^i][^b].*)\.so$',
         output_pattern='finch-plugin-%s',
         description='Finch plugin %s',
         prepend=True, extra_depends='')
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb
index c364f72..027ff64 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb
@@ -72,7 +72,7 @@
         packages.append(pkg)
         testrunners.append(modulename)
 
-    do_split_packages(d, poco_libdir, '^libPoco(.*)\.so\..*$',
+    do_split_packages(d, poco_libdir, r'^libPoco(.*)\.so\..*$',
                     'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook)
 
     d.setVar("RRECOMMENDS:%s" % pn, " ".join(packages))
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.11.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.11.bb
index 3b65083..1360617 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.11.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler-data_0.4.11.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "Encoding files for use with poppler that enable poppler to \
                correctly render CJK and Cyrrilic."
 HOMEPAGE = "https://poppler.freedesktop.org/"
-LICENSE = "BSD & GPLv2 & GPLv3+"
+LICENSE = "BSD-3-Clause & GPLv2 & GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=96287d49ec274d9c3222b5f966c132fd \
                     file://COPYING.adobe;md5=a790726a74164c30b5de1ef93fd69e99 \
                     file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.01.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.02.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.01.0.bb
rename to meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.02.0.bb
index 02df6d2..2954a89 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.01.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.02.0.bb
@@ -7,7 +7,7 @@
            file://0001-Do-not-overwrite-all-our-build-flags.patch \
            file://basename-include.patch \
            "
-SRC_URI[sha256sum] = "7d3493056b5b86413e5c693c2cae02c5c06cd8e618d14c2c31e2c84b67b2313e"
+SRC_URI[sha256sum] = "e390c8b806f6c9f0e35c8462033e0a738bb2460ebd660bdb8b6dca01556193e1"
 
 DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.18.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.24.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.18.bb
rename to meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.24.bb
index 996d854..817b511 100644
--- a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.18.bb
+++ b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.24.bb
@@ -25,14 +25,14 @@
 DEPENDS:append:libc-musl = " libexecinfo"
 LDFLAGS:append:libc-musl = " -lexecinfo"
 
-SRCREV = "045862cc7d7dd986b349c68131df2f86b9b1cd9c"
+SRCREV = "ffa6a7ef9c6be7951bac23d14df148098fd2d3fa"
 SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=master"
 S = "${WORKDIR}/git"
 
 inherit cmake features_check mime mime-xdg gtk-icon-cache pkgconfig
 REQUIRED_DISTRO_FEATURES = "x11"
 
-EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF"
+EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF -DHAVE_LIBAPPINDICATOR=OFF"
 
 PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol"
 # Switch on gtk support in avahi recipe if you want to enable avahi support
diff --git a/meta-openembedded/meta-oe/recipes-support/rtc-tools/rtc-tools_2022.02.bb b/meta-openembedded/meta-oe/recipes-support/rtc-tools/rtc-tools_2022.02.bb
new file mode 100644
index 0000000..d65f5da
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/rtc-tools/rtc-tools_2022.02.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Useful programs to test rtc drivers"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74274e8a218423e49eefdea80bc55038"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/${BPN}.git;protocol=https;branch=master"
+SRCREV = "61839777afedcc7bdb68ea4628c5ce5ca72c2ac8"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+do_install() {
+	oe_runmake install
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_3.1.39.bb b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.0.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/smarty/smarty_3.1.39.bb
rename to meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.0.bb
index c5b09a0..85676e4 100644
--- a/meta-openembedded/meta-oe/recipes-support/smarty/smarty_3.1.39.bb
+++ b/meta-openembedded/meta-oe/recipes-support/smarty/smarty_4.1.0.bb
@@ -5,11 +5,11 @@
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2c0f216b2120ffc367e20f2b56df51b3"
 
-DEPENDS = "php"
+DEPENDS += "php"
 
-SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;tag=v${PV};branch=master"
+SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;branch=master"
 
-FILES:${PN} = "${datadir}/php/smarty3/"
+SRCREV = "9e0536de18b53ba193364291ef0303b0ab9903e1"
 
 S = "${WORKDIR}/git"
 
@@ -23,3 +23,4 @@
         install -d ${D}${datadir}/php/smarty3/libs/sysplugins
         install -m 0644 ${S}/libs/sysplugins/*.php ${D}${datadir}/php/smarty3/libs/sysplugins/
 }
+FILES:${PN} = "${datadir}/php/smarty3/"
diff --git a/meta-openembedded/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch b/meta-openembedded/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch
index b62b379..98c342f 100644
--- a/meta-openembedded/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch
+++ b/meta-openembedded/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch
@@ -1,26 +1,68 @@
-From 23ce2fe30e7485d48e2864bdd8276119fbb8cbd1 Mon Sep 17 00:00:00 2001
-From: Philip Balister <philip@balister.org>
-Date: Thu, 3 Dec 2020 09:22:50 -0500
-Subject: [PATCH] Enable use of external fmt library.
-
-Signed-off-by: Philip Balister <philip@balister.org>
----
- include/spdlog/tweakme.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/spdlog/tweakme.h b/include/spdlog/tweakme.h
-index 244bc3b3..2594a6fe 100644
+Author: Nilesh Patra <npatra974@gmail.com>
+Description: Use external libfmt by default
+Last-Changed: Sun, May, 14 2020
+Forwarded: not-needed
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -87,7 +87,7 @@ option(SPDLOG_BUILD_WARNINGS "Enable com
+ 
+ # install options
+ option(SPDLOG_INSTALL "Generate the install target" ${SPDLOG_MASTER_PROJECT})
+-option(SPDLOG_FMT_EXTERNAL "Use external fmt library instead of bundled" OFF)
++option(SPDLOG_FMT_EXTERNAL "Use external fmt library instead of bundled" ON)
+ option(SPDLOG_FMT_EXTERNAL_HO "Use external fmt header-only library instead of bundled" OFF)
+ option(SPDLOG_NO_EXCEPTIONS "Compile with -fno-exceptions. Call abort() on any spdlog exceptions" OFF)
+ 
 --- a/include/spdlog/tweakme.h
 +++ b/include/spdlog/tweakme.h
-@@ -63,7 +63,7 @@
+@@ -71,7 +71,7 @@
  // In this case spdlog will try to include <fmt/format.h> so set your -I flag
  // accordingly.
  //
 -// #define SPDLOG_FMT_EXTERNAL
-+#define SPDLOG_FMT_EXTERNAL
++#define SPDLOG_FMT_EXTERNAL 1
  ///////////////////////////////////////////////////////////////////////////////
  
  ///////////////////////////////////////////////////////////////////////////////
--- 
-2.28.0
-
+--- a/include/spdlog/fmt/bin_to_hex.h
++++ b/include/spdlog/fmt/bin_to_hex.h
+@@ -5,6 +5,7 @@
+ 
+ #pragma once
+ 
++#include <spdlog/tweakme.h>
+ #include <cctype>
+ #include <spdlog/common.h>
+ 
+--- a/include/spdlog/fmt/fmt.h
++++ b/include/spdlog/fmt/fmt.h
+@@ -4,7 +4,7 @@
+ //
+ 
+ #pragma once
+-
++#include <spdlog/tweakme.h>
+ //
+ // Include a bundled header-only copy of fmtlib or an external one.
+ // By default spdlog include its own copy.
+--- a/include/spdlog/fmt/ostr.h
++++ b/include/spdlog/fmt/ostr.h
+@@ -7,7 +7,7 @@
+ //
+ // include bundled or external copy of fmtlib's ostream support
+ //
+-
++#include <spdlog/tweakme.h>
+ #if !defined(SPDLOG_FMT_EXTERNAL)
+ #    ifdef SPDLOG_HEADER_ONLY
+ #        ifndef FMT_HEADER_ONLY
+--- a/src/fmt.cpp
++++ b/src/fmt.cpp
+@@ -6,6 +6,7 @@
+ #    error Please define SPDLOG_COMPILED_LIB to compile this file.
+ #endif
+ 
++#include <spdlog/tweakme.h>
+ #if !defined(SPDLOG_FMT_EXTERNAL)
+ #    include <spdlog/fmt/bundled/format-inl.h>
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.1.bb b/meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.2.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.1.bb
rename to meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.2.bb
index 9e1e787..ec68db2 100644
--- a/meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/tree/tree_2.0.2.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
 
 SRC_URI = "http://mama.indstate.edu/users/ice/tree/src/${BP}.tgz"
-SRC_URI[sha256sum] = "e3339c5a194cf6b4080f15ec59faa3679f02d5a793b2147912fbfcfb4cdf2239"
+SRC_URI[sha256sum] = "7d693a1d88d3c4e70a73e03b8dbbdc12c2945d482647494f2f5bd83a479eeeaf"
 
 # tree's default CFLAGS for Linux
 CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.30.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.32.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.30.bb
rename to meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.32.bb
index 099d82a..4fc4a2c 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.30.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.32.bb
@@ -16,7 +16,7 @@
     file://0001-utils-fix-build-against-5.15-libc-headers-headers.patch \
 "
 
-SRC_URI[sha256sum] = "3c60a29375549ffc148aaebe859be91b27c19d6fa2deefde1373c4f6da8f18ef"
+SRC_URI[sha256sum] = "5d11384200b4e943ad0056d2cf75980ae4bee852c89650e2914e1b34eedc2d2c"
 
 S ?= "${WORKDIR}/vbox_module"
 S:task-patch = "${WORKDIR}/${VBOX_NAME}"
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/1024.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/1024.patch
new file mode 100644
index 0000000..7506d8b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/1024.patch
@@ -0,0 +1,506 @@
+From 05d1189ffce562560da90056d96fe2084d84654a Mon Sep 17 00:00:00 2001
+From: "Laszlo Boszormenyi (GCS)" <gcs@debian.org>
+Date: Mon, 14 Feb 2022 14:13:13 +0100
+Subject: [PATCH] SCons 4.2.0 no longer has env_cpp11.has_key() Check env_cpp11
+ as an array.
+
+This fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1003022
+---
+ examples/broadcast_server/SConscript    | 2 +-
+ examples/debug_client/SConscript        | 2 +-
+ examples/debug_server/SConscript        | 2 +-
+ examples/dev/SConscript                 | 2 +-
+ examples/echo_client/SConscript         | 2 +-
+ examples/echo_server/SConscript         | 2 +-
+ examples/echo_server_both/SConscript    | 2 +-
+ examples/echo_server_tls/SConscript     | 2 +-
+ examples/external_io_service/SConscript | 2 +-
+ examples/iostream_server/SConscript     | 2 +-
+ examples/print_client/SConscript        | 2 +-
+ examples/print_client_tls/SConscript    | 2 +-
+ examples/print_server/SConscript        | 2 +-
+ examples/scratch_client/SConscript      | 2 +-
+ examples/scratch_server/SConscript      | 2 +-
+ examples/sip_client/SConscript          | 2 +-
+ examples/subprotocol_server/SConscript  | 2 +-
+ examples/telemetry_client/SConscript    | 2 +-
+ examples/telemetry_server/SConscript    | 2 +-
+ examples/testee_client/SConscript       | 2 +-
+ examples/testee_server/SConscript       | 2 +-
+ examples/utility_client/SConscript      | 4 ++--
+ test/connection/SConscript              | 2 +-
+ test/endpoint/SConscript                | 2 +-
+ test/extension/SConscript               | 2 +-
+ test/http/SConscript                    | 2 +-
+ test/logger/SConscript                  | 2 +-
+ test/message_buffer/SConscript          | 2 +-
+ test/processors/SConscript              | 2 +-
+ test/random/SConscript                  | 2 +-
+ test/roles/SConscript                   | 2 +-
+ test/transport/SConscript               | 2 +-
+ test/transport/asio/SConscript          | 2 +-
+ test/transport/iostream/SConscript      | 2 +-
+ test/utility/SConscript                 | 2 +-
+ 35 files changed, 36 insertions(+), 36 deletions(-)
+
+diff --git a/examples/broadcast_server/SConscript b/examples/broadcast_server/SConscript
+index 5786f570d..06c55c147 100644
+--- a/examples/broadcast_server/SConscript
++++ b/examples/broadcast_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('broadcast_server', ["broadcast_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/debug_client/SConscript b/examples/debug_client/SConscript
+index 781db8371..b92b14653 100644
+--- a/examples/debug_client/SConscript
++++ b/examples/debug_client/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+    prgs += env_cpp11.Program('debug_client', ["debug_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/debug_server/SConscript b/examples/debug_server/SConscript
+index 4d02261c6..7e24b07c8 100644
+--- a/examples/debug_server/SConscript
++++ b/examples/debug_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('debug_server', ["debug_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/dev/SConscript b/examples/dev/SConscript
+index 34ddac2d5..31062fee9 100644
+--- a/examples/dev/SConscript
++++ b/examples/dev/SConscript
+@@ -11,7 +11,7 @@ env_cpp11 = env_cpp11.Clone ()
+ 
+ prgs = []
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system','timer','chrono'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('main', ["main.cpp"], LIBS = BOOST_LIBS_CPP11)
+ 
+diff --git a/examples/echo_client/SConscript b/examples/echo_client/SConscript
+index 0e4110822..2adf1166d 100644
+--- a/examples/echo_client/SConscript
++++ b/examples/echo_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+    prgs += env_cpp11.Program('echo_client', ["echo_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/echo_server/SConscript b/examples/echo_server/SConscript
+index a2978852e..a48724155 100644
+--- a/examples/echo_server/SConscript
++++ b/examples/echo_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('echo_server', ["echo_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/echo_server_both/SConscript b/examples/echo_server_both/SConscript
+index d1ecf202f..32f4c8c55 100644
+--- a/examples/echo_server_both/SConscript
++++ b/examples/echo_server_both/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+    prgs += env_cpp11.Program('echo_server_both', ["echo_server_both.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/echo_server_tls/SConscript b/examples/echo_server_tls/SConscript
+index e24cc4ce8..688bf7c14 100644
+--- a/examples/echo_server_tls/SConscript
++++ b/examples/echo_server_tls/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+    prgs += env_cpp11.Program('echo_server_tls', ["echo_server_tls.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/external_io_service/SConscript b/examples/external_io_service/SConscript
+index beb7c1c42..0abf3e175 100644
+--- a/examples/external_io_service/SConscript
++++ b/examples/external_io_service/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('external_io_service', ["external_io_service.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/iostream_server/SConscript b/examples/iostream_server/SConscript
+index dc90834cf..304142082 100644
+--- a/examples/iostream_server/SConscript
++++ b/examples/iostream_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('iostream_server', ["iostream_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/print_client/SConscript b/examples/print_client/SConscript
+index 8da4ce5b2..79fdea0fd 100644
+--- a/examples/print_client/SConscript
++++ b/examples/print_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('print_client', ["print_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/print_client_tls/SConscript b/examples/print_client_tls/SConscript
+index 01b011473..e57b9d691 100644
+--- a/examples/print_client_tls/SConscript
++++ b/examples/print_client_tls/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+    prgs += env_cpp11.Program('print_client_tls', ["print_client_tls.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/print_server/SConscript b/examples/print_server/SConscript
+index 4f0e492be..454dcf01b 100644
+--- a/examples/print_server/SConscript
++++ b/examples/print_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('print_server', ["print_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/scratch_client/SConscript b/examples/scratch_client/SConscript
+index 6e7b2ef07..4be98f437 100644
+--- a/examples/scratch_client/SConscript
++++ b/examples/scratch_client/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+    prgs += env_cpp11.Program('scratch_client', ["scratch_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/scratch_server/SConscript b/examples/scratch_server/SConscript
+index bf90f7433..cc495ba5c 100644
+--- a/examples/scratch_server/SConscript
++++ b/examples/scratch_server/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs] + ['z']
+    prgs += env_cpp11.Program('scratch_server', ["scratch_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/sip_client/SConscript b/examples/sip_client/SConscript
+index fafe7b4ff..e2afefe73 100644
+--- a/examples/sip_client/SConscript
++++ b/examples/sip_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('sip_client', ["sip_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/subprotocol_server/SConscript b/examples/subprotocol_server/SConscript
+index e97535ca5..299af43c5 100644
+--- a/examples/subprotocol_server/SConscript
++++ b/examples/subprotocol_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('subprotocol_server', ["subprotocol_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/telemetry_client/SConscript b/examples/telemetry_client/SConscript
+index 62396a5e3..ac0e6daba 100644
+--- a/examples/telemetry_client/SConscript
++++ b/examples/telemetry_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('telemetry_client', ["telemetry_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/telemetry_server/SConscript b/examples/telemetry_server/SConscript
+index 1b8ff2295..c620f38a4 100644
+--- a/examples/telemetry_server/SConscript
++++ b/examples/telemetry_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('telemetry_server', ["telemetry_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/testee_client/SConscript b/examples/testee_client/SConscript
+index 64f0ef1f3..6154bb966 100644
+--- a/examples/testee_client/SConscript
++++ b/examples/testee_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+    prgs += env_cpp11.Program('testee_client', ["testee_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/testee_server/SConscript b/examples/testee_server/SConscript
+index 3c75f4ff2..ca8ffb7d7 100644
+--- a/examples/testee_server/SConscript
++++ b/examples/testee_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+    prgs += env_cpp11.Program('testee_server', ["testee_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/utility_client/SConscript b/examples/utility_client/SConscript
+index 6e6cd8c9d..f6d673a43 100644
+--- a/examples/utility_client/SConscript
++++ b/examples/utility_client/SConscript
+@@ -13,11 +13,11 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+ 
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    prgs += env_cpp11.Program('utility_client', ["utility_client.cpp"], LIBS = ALL_LIBS)
+ else:
+    ALL_LIBS = boostlibs(['system','random'],env) + [platform_libs] + [polyfill_libs]
+    prgs += env.Program('utility_client', ["utility_client.cpp"], LIBS = ALL_LIBS)
+ 
+-Return('prgs')
+\ No newline at end of file
++Return('prgs')
+diff --git a/test/connection/SConscript b/test/connection/SConscript
+index 4ed7a4e69..b79876bf1 100644
+--- a/test/connection/SConscript
++++ b/test/connection/SConscript
+@@ -16,7 +16,7 @@ objs = env.Object('connection_boost.o', ["connection.cpp"], LIBS = BOOST_LIBS)
+ objs = env.Object('connection_tu2_boost.o', ["connection_tu2.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_connection_boost', ["connection_boost.o","connection_tu2_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    objs += env_cpp11.Object('connection_stl.o', ["connection.cpp"], LIBS = BOOST_LIBS_CPP11)
+    objs += env_cpp11.Object('connection_tu2_stl.o', ["connection_tu2.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/endpoint/SConscript b/test/endpoint/SConscript
+index 5cb3ede91..74912865e 100644
+--- a/test/endpoint/SConscript
++++ b/test/endpoint/SConscript
+@@ -16,7 +16,7 @@ BOOST_LIBS = boostlibs(['unit_test_framework','system'],env) + [platform_libs] +
+ objs = env.Object('endpoint_boost.o', ["endpoint.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_endpoint_boost', ["endpoint_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+    objs += env_cpp11.Object('endpoint_stl.o', ["endpoint.cpp"], LIBS = BOOST_LIBS_CPP11)
+    prgs += env_cpp11.Program('test_endpoint_stl', ["endpoint_stl.o"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/extension/SConscript b/test/extension/SConscript
+index d8b425fda..0cb813856 100644
+--- a/test/extension/SConscript
++++ b/test/extension/SConscript
+@@ -17,7 +17,7 @@ objs += env.Object('permessage_deflate_boost.o', ["permessage_deflate.cpp"], LIB
+ prgs = env.Program('test_extension_boost', ["extension_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_permessage_deflate_boost', ["permessage_deflate_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+    objs += env_cpp11.Object('extension_stl.o', ["extension.cpp"], LIBS = BOOST_LIBS_CPP11)
+    objs += env_cpp11.Object('permessage_deflate_stl.o', ["permessage_deflate.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/http/SConscript b/test/http/SConscript
+index 0a24a8774..422998e24 100644
+--- a/test/http/SConscript
++++ b/test/http/SConscript
+@@ -15,7 +15,7 @@ BOOST_LIBS = boostlibs(['unit_test_framework'],env) + [platform_libs]
+ objs = env.Object('parser_boost.o', ["parser.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_http_boost', ["parser_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    objs += env_cpp11.Object('parser_stl.o', ["parser.cpp"], LIBS = BOOST_LIBS_CPP11)
+    prgs += env_cpp11.Program('test_http_stl', ["parser_stl.o"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/logger/SConscript b/test/logger/SConscript
+index 81d607601..0ccbbc5df 100644
+--- a/test/logger/SConscript
++++ b/test/logger/SConscript
+@@ -15,7 +15,7 @@ BOOST_LIBS = boostlibs(['unit_test_framework','system'],env) + [platform_libs]
+ objs = env.Object('logger_basic_boost.o', ["basic.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('logger_basic_boost', ["logger_basic_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    objs += env_cpp11.Object('logger_basic_stl.o', ["basic.cpp"], LIBS = BOOST_LIBS_CPP11)
+    prgs += env_cpp11.Program('logger_basic_stl', ["logger_basic_stl.o"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/message_buffer/SConscript b/test/message_buffer/SConscript
+index 2ef6d71f3..89785cb3e 100644
+--- a/test/message_buffer/SConscript
++++ b/test/message_buffer/SConscript
+@@ -17,7 +17,7 @@ objs += env.Object('alloc_boost.o', ["alloc.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_message_boost', ["message_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_alloc_boost', ["alloc_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    objs += env_cpp11.Object('message_stl.o', ["message.cpp"], LIBS = BOOST_LIBS_CPP11)
+    objs += env_cpp11.Object('alloc_stl.o', ["alloc.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/processors/SConscript b/test/processors/SConscript
+index 406a7edc9..1b40d0b1d 100644
+--- a/test/processors/SConscript
++++ b/test/processors/SConscript
+@@ -26,7 +26,7 @@ prgs += env.Program('test_hybi07_boost', ["test_hybi07_boost.o"], LIBS = BOOST_L
+ prgs += env.Program('test_hybi00_boost', ["test_hybi00_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_extension_permessage_compress_boost', ["test_extension_permessage_compress_boost.o"], LIBS = BOOST_LIBS + ['z'])
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+    # no C++11 features are used in processor so there are no C++11 versions of
+    # these tests.
+diff --git a/test/random/SConscript b/test/random/SConscript
+index 3cadc9e97..4a11b0ce5 100644
+--- a/test/random/SConscript
++++ b/test/random/SConscript
+@@ -17,7 +17,7 @@ objs += env.Object('random_device_boost.o', ["random_device.cpp"], LIBS = BOOST_
+ prgs = env.Program('test_random_none_boost', ["random_none_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_random_device_boost', ["random_device_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    objs += env_cpp11.Object('random_none_stl.o', ["none.cpp"], LIBS = BOOST_LIBS_CPP11)
+    objs += env_cpp11.Object('random_device_stl.o', ["random_device.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/roles/SConscript b/test/roles/SConscript
+index e86107ece..17b3be105 100644
+--- a/test/roles/SConscript
++++ b/test/roles/SConscript
+@@ -17,7 +17,7 @@ objs += env.Object('server_boost.o', ["server.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_client_boost', ["client_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_server_boost', ["server_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    objs += env_cpp11.Object('client_stl.o', ["client.cpp"], LIBS = BOOST_LIBS_CPP11)
+    objs += env_cpp11.Object('server_stl.o', ["server.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/transport/SConscript b/test/transport/SConscript
+index 71b31b6c5..aa9b719ec 100644
+--- a/test/transport/SConscript
++++ b/test/transport/SConscript
+@@ -16,7 +16,7 @@ BOOST_LIBS = boostlibs(['unit_test_framework','system','thread','random','chrono
+ objs = env.Object('boost_integration.o', ["integration.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_boost_integration', ["boost_integration.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+    objs += env_cpp11.Object('stl_integration.o', ["integration.cpp"], LIBS = BOOST_LIBS_CPP11)
+    prgs += env_cpp11.Program('test_stl_integration', ["stl_integration.o"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/transport/asio/SConscript b/test/transport/asio/SConscript
+index f8185e57e..518d362b1 100644
+--- a/test/transport/asio/SConscript
++++ b/test/transport/asio/SConscript
+@@ -20,7 +20,7 @@ prgs = env.Program('test_base_boost', ["base_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_timers_boost', ["timers_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_security_boost', ["security_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+    objs += env_cpp11.Object('base_stl.o', ["base.cpp"], LIBS = BOOST_LIBS_CPP11)
+    objs += env_cpp11.Object('timers_stl.o', ["timers.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/transport/iostream/SConscript b/test/transport/iostream/SConscript
+index 9e74c2f15..dcaf9f2d9 100644
+--- a/test/transport/iostream/SConscript
++++ b/test/transport/iostream/SConscript
+@@ -19,7 +19,7 @@ prgs = env.Program('test_iostream_base_boost', ["iostream_base_boost.o"], LIBS =
+ prgs += env.Program('test_iostream_connection_boost', ["iostream_connection_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_iostream_endpoint_boost', ["iostream_endpoint_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    objs += env_cpp11.Object('iostream_base_stl.o', ["base.cpp"], LIBS = BOOST_LIBS_CPP11)
+    objs += env_cpp11.Object('iostream_connection_stl.o', ["connection.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/utility/SConscript b/test/utility/SConscript
+index 80e9ef6c8..6f19aa52a 100644
+--- a/test/utility/SConscript
++++ b/test/utility/SConscript
+@@ -24,7 +24,7 @@ prgs += env.Program('test_close_boost', ["close_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_sha1_boost', ["sha1_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_error_boost', ["error_boost.o"], LIBS = BOOST_LIBS)
+ 
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+    BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+    objs += env_cpp11.Object('utilities_stl.o', ["utilities.cpp"], LIBS = BOOST_LIBS_CPP11)
+    objs += env_cpp11.Object('uri_stl.o', ["uri.cpp"], LIBS = BOOST_LIBS_CPP11)
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb
index a6f2186..f437acc 100644
--- a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb
@@ -11,6 +11,7 @@
            file://855.patch \
            file://857.patch \
            file://0001-Correct-clang-compiler-flags.patch \
+           file://1024.patch \
           "
 
 EXTRA_OECMAKE = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '-DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON', '', d)} "
diff --git a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.6.3.bb b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.6.3.bb
rename to meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb
index e383037..d3984ab 100644
--- a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.6.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb
@@ -8,7 +8,7 @@
 # yaml-cpp releases are stored as archive files in github.
 # download the exact revision of release
 SRC_URI = "git://github.com/jbeder/yaml-cpp.git;branch=master;protocol=https"
-SRCREV = "9a3624205e8774953ef18f57067b3426c1c5ada6"
+SRCREV = "0579ae3d976091d7d664aa9d2527e0d0cff25763"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.2.0.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb
rename to meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.2.0.bb
index c1b2288..0baea50 100644
--- a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb
+++ b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.2.0.bb
@@ -6,7 +6,7 @@
 
 SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https;branch=main"
 
-SRCREV = "ff34ee911f7d78d66b97894a773276babd63144c"
+SRCREV = "dd6a30a1e4e8b738b0cafc682f3c00e7706134e5"
 S = "${WORKDIR}/git"
 
 DEPENDS = "\