subtree updates

meta-security: 1f18c623e9..de6712a806:
  Armin Kuster (8):
        cryfs: drop recipe
        trousers: set precise BSD license
        ibmtpm2tss:  set precise BSD license
        ibmswtpm2:  set precise BSD license
        opendnssec:  set precise BSD license
        checksec:  set precise BSD license
        isic:  set precise BSD license
        tpm-quote-tools: Update SRC_URI

  Christer Fletcher (1):
        dm-verity-img.bbclass: Expose --data-block-size for configuration

  Kai Kang (1):
        sssd: 2.5.1 -> 2.5.2

meta-raspberrypi: a6fa6b3aec..9eb4879cf4:
  Andrew Penner (1):
        rpi-cmdline: Support ethernet over USB

  Khem Raj (2):
        linux-raspberrypi: Update to 5.10.63
        raspberrypi-firmware: Update to latest

meta-openembedded: e4a3c66505..cff8331f96:
  Armin Kuster (21):
        python3-cycler: set precise BSD license
        python3-dill: set precise BSD license
        python3-ipython-genutils: set precise BSD license
        python3-traitlets: set precise BSD license
        python3-parallax: set precise BSD license
        python3-ipython:set precise BSD license
        python3-mpmath: set precise BSD license
        python3-sympy: set precise BSD license
        python3-sqlparse: set precise BSD license
        python3-webencodings: set precise BSD license
        python3-pyperclip:set precise BSD license
        python3-geojson: set precise BSD license
        python3-aenum: set precise BSD license
        python3-gnupg: set precise BSD license
        python3-kiwisolver: set precise BSD license
        python3-jdcal: set precise BSD license
        python3-send2trash: set precise BSD license
        python3-flask-bootstrap: Update LICENSES
        autossh: set precise BSD licenses
        jemalloc: set precise BSD license
        gpsd-machine-conf: set precise BSD license

  Bruce Ashfield (1):
        vboxguestdrivers: fix build against 5.14+

  Ed Tanous (1):
        Boost-url Move to latest version

  Khem Raj (57):
        gdm: Add polkit to required distro features
        python3-lxml: Inherit pkgconfig
        python3-icu: Inherit pkgconfig
        python3-h5py: Inherit pkgconfig
        python3-pyparted: Inherit pkgconfig
        python3-systemd: Inherit pkgconfig
        rp-pppoe: Add configure cached variable via recipe
        site: Remove local site files
        postfix: Inherit pkgconfig
        emacs: Inherit pkgconfig
        libgnt: Inherit pkgconfig
        libgnt: Inherit pkgconfig
        portaudio-v19: Inherit pkgconfig
        sshfs-fuse: Inherit pkgconfig
        appstream-glib: Inherit pkgconfig
        volume-key: Inherit pkgconfig
        kronosnet: Inherit pkgconfig
        rrdtool: Inherit pkgconfig
        libbytesize: Inherit pkgconfig
        dlt-daemon: Inherit pkgconfig
        libmypaint: Inherit pkgconfig
        libubox: Inherit pkgconfig
        xfsprogs: Inherit pkgconfig
        pavucontrol: Inherit pkgconfig
        blueman: Inherit pkgconfig
        mimic: Inherit pkgconfig
        libchamplain: Inherit pkgconfig
        gst-shark: Inherit pkgconfig
        zchunk: Inherit pkgconfig
        libvdpau: Inherit pkgconfig
        tigervnc: Inherit pkgconfig
        mpc: Inherit pkgconfig
        avro-c: Inherit pkgconfig
        udevil: Inherit pkgconfig
        remmina: Inherit pkgconfig
        transmission: Inherit pkgconfig
        libuvc: Inherit pkgconfig
        crda: Inherit pkgconfig
        wxwidgets: Inherit pkgconfig
        mdbus2: Inherit pkgconfig
        firewalld: Inherit pkgconfig
        renderdoc: Inherit pkgconfig
        fetchmail: Inherit pkgconfig
        ncmpc: Inherit pkgconfig
        yad: Inherit pkgconfig
        mscgen: Inherit pkgconfig
        libldb: Inherit pkgconfig
        pahole: Inherit missing pkgconfig
        gerbera: Inherit pkgconfig
        xfce4-datetime-setter: Inherit pkgconfig
        libblockdev: Inherit pkgconfig
        ntopng: Inherit pkgconfig
        mosquitto: Inherit pkgconfig
        samba: Inherit pkgconfig
        fio: Upgrade to 3.28
        rdma-core: Inherit pkgconfig
        postfix: Add missing dependency on m4

  Marek Vasut (1):
        dstat: Add missing python-six runtime dependency

  Matteo Croce (1):
        pahole: call python via env in the shebang

  Pascal Bach (1):
        poco: update to 1.11.0

  Peter Kjellerstedt (1):
        libiio: Make libiio-python3 depend on python3-core

  Pierre-Jean Texier (1):
        cppzmq: upgrade 4.8.0 -> 4.8.1

  Sakib Sajal (3):
        bats: source files from correct directory
        gd: upgrade 2.3.2 -> 2.3.3
        lmdb: replace tag with commit id in SRCREV

  Trevor Woerner (2):
        vk-gl-cts: allow the user to specify the target
        vk-gl-cts: fix soname linking

  Yi Zhao (2):
        samba: upgrade 4.14.5 -> 4.14.7
        net-snmp: remove perllocal.pod when enable packageconfig[perl]

  jan (1):
        netdata: Fixed the recipe.

  wangmy (3):
        byacc: upgrade 20200910 -> 20210808
        nghttp2: upgrade 1.44.0 -> 1.45.1
        apache2: upgrade 2.4.48 -> 2.4.49

  zangrc (5):
        python3-beautifulsoup4: upgrade 4.9.3 -> 4.10.0
        python3-bitarray: upgrade 2.3.3 -> 2.3.4
        python3-decorator: upgrade 5.0.9 -> 5.1.0
        python3-grpcio-tools: upgrade 1.39.0 -> 1.40.0
        python3-grpcio: upgrade 1.39.0 -> 1.40.0

  zhengruoqin (5):
        python3-openpyxl: upgrade 3.0.7 -> 3.0.8
        python3-pandas: upgrade 1.3.2 -> 1.3.3
        python3-pulsectl: upgrade 21.5.18 -> 21.9.1
        protobuf: upgrade 3.17.3 -> 3.18.0
        span-lite: upgrade 0.10.0 -> 0.10.1

poky: 359e1cb62f..06dcace68b:
  Alexander Kanavin (13):
        lttng: update 2.12 -> 2.13.0
        core-image-ptest-all: bump RAM requirement to 4G
        bitbake: bitbake: drop old rules for python warnings
        bitbake: bitbake: correct the collections vs collections.abc deprecation
        bitbake: bitbake: fix regexp deprecation warnings
        bitbake: bitbake: do not import imp in layerindexlib
        bitbake: bitbake: adjust parser error check for python 3.10 compatibility
        bitbake: bitbake: correct deprecation warning in process.py
        bitbake: bitbake: enable python warnings at the first opportunity
        meta: correct collections vs collections.abc deprecation
        wic: keep rootfs_size as integer
        cpan-base.bbclass: use raw string for regexp
        testimage: symlink the task log and qemu console log to tmp/log/oeqa

  Armin Kuster (2):
        apr: Security fix for CVE-2021-35940
        tar: ignore node-tar CVEs

  Bruce Ashfield (11):
        linux-yocto/5.13: update to v5.13.13
        linux-yocto/5.13: update to v5.13.15
        linux-yocto/5.10: update to v5.10.61
        linux-yocto/5.10: update to v5.10.63
        yocto-bsp/5.10: update to v5.10.63
        yocto-bsp/5.13: update to v5.13.15
        libc-headers: bump to v5.14
        linux-yocto: introduce 5.14 reference kernel
        systemtap: update to 4.5-latest
        conf/machine: bump qemu preferred versions to 5.14
        poky: set default kernel to 5.14

  Changqing Li (1):
        lttng-ust: fix do_compile error when PACKAGECONFIG examples is enabled

  Chanho Park (1):
        binutils: inherit pkgconfig to address libdebuginfod depdency

  Claudius Heine (1):
        rng-tools: add systemd-udev-settle wants to service

  Daniel Ammann (1):
        bitbake: fetch2/wget: Enable ftps

  Daniel Wagenknecht (2):
        mirrors.bbclass: provide additional rule for git repo fallbacks
        mirrors.bbclass: remove redundant server-specific mirrors

  Denys Dmytriyenko (1):
        readline: correct pkg-config dependency for termcap

  Hsia-Jun(Randy) Li (1):
        cross-canadian: make android pass target sys check

  Jon Mason (6):
        Update mailing list address
        README: update mailing list address
        dev-manual: update mailing list address
        core-image-sato: Fix runqemu error for qemuarmv5
        machine/qemuarm*: use virtio graphics
        testimage: remove aarch64 xorg exclusion

  Joshua Watt (17):
        Add SPDX licenses
        classes/package: Add extended packaged data
        classes/create-spdx: Add class
        classes/create-spdx: Change creator
        classes/create-spdx: Add SHA1 to index file
        classes/create-spdx: Add index to DEPLOYDIR
        classes/create-spdx: Add runtime dependency mapping
        classes/create-spdx: Add NOASSERTION for unknown debug sources
        classes/create-spdx: Fix another creator
        classes/create-spdx: Fix up license reporting
        classes/create-spdx: Speed up hash calculations
        classes/create-spdx: Fix file:// in downloadLocation
        classes/create-spdx: Add special exception for Public Domain license
        classes/create-spdx: Collect all task dependencies
        classes/create-spdx: Skip package processing for native recipes
        classes/create-spdx: Comment out placeholder license warning
        bitbake: cooker: Allow upstream for local hash equivalence server

  Kai Kang (2):
        perl: fix CVE-2021-36770
        rust-common.bbclass: make sure ccache exist

  Kevin Hao (1):
        meta-yocto-bsp: Update the default kernel to v5.14

  Khem Raj (3):
        vim: Add packageconfig for sound notification support
        site: Drop caching libIDL_cv_long_long_format
        site: Drop ORBit2 relared cached variables

  Konrad Weihmann (1):
        expat: pull from github releases

  Kristian Klausen (3):
        systemd: Add homed PACKAGECONFIG
        wic: Add extra-space argument
        systemd: Add tpm2 PACKAGECONFIG

  Mark Hatle (3):
        reproducible_build: Remove BUILD_REPRODUCIBLE_BINARIES checking
        externalsrc: Work with reproducible_build
        tcf-agent: Move to the latest master version

  Markus Volk (1):
        util-linux: disable raw

  Martin Jansa (3):
        default-distrovars.inc: Set BBINCLUDELOGS to empty to disable printing failed task output multiple times
        bitbake: bitbake.conf: fix vars_from_file() call
        qemu-native: add direct dependency on ninja-native and meson-native

  Michael Halstead (1):
        releases: update to include 3.3.3

  Michael Opdenacker (9):
        dev-manual: explicit that devpyshell is a task
        bitbake: bitbake-user-manual: replace "file name" by "filename"
        manuals: replace Freenode by Libera Chat as IRC host
        manuals: delete unmaintained history sections
        ref-manual: document UPSTREAM_CHECK_COMMITS and UPSTREAM_VERSION_UNKNOWN
        ref-manual: remove checkpkg task
        ref-manual: improve "devtool check-upgrade-status" details
        ref-manual: improve documentation for RECIPE_NO_UPDATE_REASON
        ref-manual: update "devtool check-upgrade-status" output

  Mingli Yu (6):
        coreutils: add pkgconfig for selinux
        findutils: add pkgconfig for selinux
        tar: add pkgconfig for selinux
        multilib.bbclass: add RDEPENDS related check back
        insane.bbclass: add FILERDEPENDS related check back
        python3: fix multilib qa issue

  Peter Bergin (1):
        systemd: add packageconfig for wheel-group

  Peter Kjellerstedt (2):
        common-licenses, licenses.conf: Remove duplicate licenses
        create-spdx.bbclass: Search all license directories for licenses

  Quentin Schulz (3):
        bitbake: doc: bitbake-user-manual-execution: remove mention to long-gone BBHASHDEPS variable
        conf/mips: mips16e: prepend override to MACHINEOVERRIDES
        bitbake: doc: bitbake-user-manual-fetching: S should be set to WORKDIR/git for git fetcher

  Randy MacLeod (1):
        tcmode-default: add rust to the default toolchains

  Ranjitsinh Rathod (1):
        rpm: Handle proper return value to avoid major issues

  Richard Purdie (67):
        oeqa/runtime/parselogs: Make DVD ata error apply to all qemux86 machines
        tcl: Exclude CVE-2021-35331 from checks
        xdg-utils: Add fix for CVE-2020-27748
        build-appliance-image: Update to master head revision
        utils: Drop unused variable staging_install from oe_libinstall
        utils: Drop obsolete oe_machinstall function
        flex: Add CVE-2019-6293 to exclusions for checks
        go: Exclude CVE-2021-29923 from report list
        bitbake: runqueue: Avoid deadlock avoidance task graph corruption
        bitbake: runqueue: Fix issues with multiconfig deferred task deadlock messages
        oeqa/oescripts: Fix after tar recipe changes
        pseudo: Update with fcntl and glibc 2.34 fixes
        bitbake: persist_data: Drop deprecated/unused function
        bitbake: parse_py: Drop deprecated function reference
        bitbake: build: Match markup to real function name
        bitbake: build: Handle SystemExit in python tasks correctly
        bitbake: process: Don't include logs in error message if piping them
        bitbake: build: Avoid duplicating logs in verbose mode
        bitbake: data_smart: Make ExpansionErrors more readable
        bitbake: build: Catch and error upon circular task references
        bitbake: data_smart: Improve error display for handled exceptions
        bitbake: fetch2: Add recursion guard
        bitbake: cookerdata: Improve missing core layer error message
        bitbake: cookerdata: Show error for no BBLAYERS in bblayers.conf
        bitbake: runqueue: Clean up task stats handling
        Revert "default-distrovars.inc: Set BBINCLUDELOGS to empty to disable printing failed task output multiple times"
        bitbake.conf: Ensure XZ_THREADS doesn't change sstate checksums
        sstate: Avoid problems with recipes using SRCPV when fetching sstate
        local.conf.sample: Update sstate mirror entry with new hash equivalence setting
        useradd: Ensure preinst data is expanded correctly in pkgdata
        package: Fix pkgdata determinism issues
        sstate: Ensure SDE is accounted for in package task timestamps
        bash: Ensure deterministic build
        sstatesig: Allow exclusion of the root directory for do_package
        bitbake: bitbake-worker: Improve error handling
        bitbake: runqueue/knotty: Improve UI handling of setscene task counting
        bitbake: fetch2/git: Avoid races over mirror tarball creation
        README: Update email address for Bruce
        bitbake: cookerdata: Show a readable error for invalid multiconfig name
        bitbake: fetch2/git: Use os.rename instead of mv
        bitbake: tests/fetch2: Fix quoting warning
        bitbake: data_smart: Don't add None to ExpansionError varlist
        bitbake: fetch2/svn: Allow peg-revision functionality to be disabled
        vim: Backport fix for CVE-2021-3770
        libgcrypt: Upgrade 1.9.3 -> 1.9.4
        sqlite3: Exclude CVE-2021-36690 from cve checks
        recipes: Add missing pkgconfig inherit
        lttng-tools: Add missing DEPENDS on bison-native
        cross: Drop unused do_install
        pybootchart: Avoid divide by zero
        bitbake: tests/fetch2: Use our own git server for dtc test repo
        scripts/oe-publish-sdk: Disable git gc to avoid build errors
        image/qemu: Add explict depends for qemu-helper addto_recipe_sysroot task
        siteinfo/autotools: Ensure task checksums reflect site files
        package_ipk/deb/rpm: Drop recursive do_build task dependencies
        reproducible_build/package_XXX: Ensure SDE task is in dependency chain
        populate_sdk_base/images: Drop use of 'meta' class and hence do_build dependencies
        buildtools-tarball/uninative-tarball/meta-ide-support: Drop useless meta class
        meta: Drop useless class
        staging: Mark deploy an sstate task
        sstate: Ensure deploy tasks don't pull in toolchains
        sstate: Avoid deploy_source_date_epoch sstate when unneeded
        ssate: Cleanup directtasks handling
        bitbake: build: Ensure python stdout/stderr is logged correctly
        bitbake: build: Make exception printing clearer
        bitbake: build: Fix log flushing race
        oeqa/selftest: Add tests for bitbake shell/python task output

  Robert P. J. Day (16):
        dev-manual: pass False to d.getVar() for devpyshell example
        ref-manual: add missing "${PN}-src" to default PACKAGES list
        dev-manual: small number of minor aesthetic tweaks
        dev-manual: various pedantic nitpickery
        dev-manual: drop "three" since there are four requirements
        ref-manual: update SYSROOT_DIRS_* variable entries
        README: update manual list and names, online docs URL
        image_types_wic.bbclass: alphabetize list of WICVARS
        systemd: '${systemd_unitdir}/system' => '${systemd_system_unitdir}'
        ref-manual: render options in monospace to show quotes properly
        ref-manual: remove mention of obsolete devtool "--any-recipe" option
        ref-manual: correct typo in "classes" section, "${BPN}/{PV}"
        ref-manual: add potential of parallelism to defn of "Task"
        ref-manual: couple minor tweaks to Chapter 1
        dev-manual: emphasize that new layers live outside of poky
        dev-manual: update output of "wic list images"

  Robert Yang (1):
        assimp: Remove it

  Ross Burton (40):
        lz4: remove redundant BSD license
        python3-numpy: remove redundant BSD license
        quota: remove BSD license
        nfs-utils: set precise BSD license
        dtc: set precise BSD license
        acpica: set precise BSD license
        libevent: set precise BSD license
        openssh: remove redundant BSD license
        python3-packaging: fix license statement
        iputils: set precise BSD license
        libx11-compose-data: set precise BSD license
        webkitgtk: set precise BSD license
        libwpe: set precise BSD license
        wpebackend-fdo: set precise BSD license
        common-licenses: add missing SPDX licences
        dev-manual/common-tasks: sync libxpm fragment with the recipe
        lsof: correct LICENSE
        selftest/python-async-test: set precise BSD license
        lsof: add upstream check
        xinetd: correct LICENSE
        oeqa/recipeutils: update for license change to python-async-test
        libxfont: set precise BSD license
        valgrind: set precise BSD license
        shadow-sysroot: sync license with shadow
        ovmf: set precise BSD license
        ppp: set precise BSD license
        ffmpeg: update LICENSE
        hdparm: set correct license
        recipetool/create_buildsys_python: treat BSD as BSD-3-Clause
        oeqa/selftest/recipetool: update for license changes
        create-spdx: transform license list into a dict for faster lookups
        create-spdx: remove redundant test
        create-spdx: embed unknown license texts
        create-spdx: don't duplicate license texts in each package
        create-spdx: handle CLOSED license
        ffmpeg: fix LICENSE
        avahi: remove obsolete intltool-native dependency
        shared-mime-info: use a more concise description
        libsoup-2.4: remove obsolete intltool dependency
        oeqa/target/ssh: don't assume target_dumper is set

  Sakib Sajal (1):
        go: upgrade 1.16.5 -> 1.16.7

  Saul Wold (2):
        classes/create-spdx: extend DocumentRef to include name
        create-spdx: remove trailing comma

  Scott Weaver (3):
        bitbake: bitbake: fetch2: fix premirror URI when downloadfilename defined
        bitbake: bitbake: tests/fetch: add downloadfilename tests
        bitbake: bitbake: tests/fetch: add and fix npm tests

  Steve Sakoman (1):
        connman: add CVE_PRODUCT

  Tom Rini (1):
        common-tasks: Add an example of using bbappends to add a file

  Trevor Woerner (1):
        hello-mod/hello.c: convert to module_init/module_exit

  Valentin Danaila (1):
        bitbake: fetch2/s3: allow to switch profile from environment variable

  Vyacheslav Yurkov (1):
        ref-manual: add overlayfs class

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I194b13991cbaac7ae9e20cc2b552b508ab879905
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.27.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.28.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.27.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.28.bb
index 9679194..6e4b648 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.27.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.28.bb
@@ -22,7 +22,7 @@
 PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
 PACKAGECONFIG[numa] = ",--disable-numa,numactl"
 
-SRCREV = "0313e938c9c8bb37d71dade239f1f5326677b079"
+SRCREV = "d83ac9d3d30d5f5dc6d0e425e4ba945a772839f6"
 SRC_URI = "git://git.kernel.dk/fio.git \
 "
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
index 7490250..43b000e 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/transmission/transmission_git.bb
@@ -18,7 +18,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit autotools-brokensep gettext update-rc.d systemd mime-xdg
+inherit autotools-brokensep gettext update-rc.d pkgconfig systemd mime-xdg
 
 PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
                  ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
index 270df6f..d234d01 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
@@ -4,8 +4,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
 DEPENDS = "zeromq"
 
-SRCREV = "267d300d1c99381a0fbc7e060ae2899e51f5e425"
-PV = "4.8.0"
+SRCREV = "dd663fafd830466d34cba278c2cfd0f92eb67614"
+PV = "4.8.1"
 
 SRC_URI = "git://github.com/zeromq/cppzmq.git;branch=master"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb b/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
index 71ab4d4..7d01829 100644
--- a/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
@@ -13,6 +13,6 @@
 
 S = "${WORKDIR}/git"
 
-inherit autotools vala
+inherit autotools pkgconfig vala
 
 EXTRA_OECONF += "--enable-vala"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
index 3c6ffe0..fb1b18c 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
@@ -13,7 +13,7 @@
            file://0001-Makefile-use-libprefix-instead-of-libdir.patch \
            "
 
-SRCREV = "LMDB_${PV}"
+SRCREV = "8ad7be2510414b9506ec9f9e24f24d04d9b04a1a"
 
 inherit base ptest
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
deleted file mode 100644
index 4c99665..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url/0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 329e27c8ad30e76ab50c7949cc95ba8eb0efabd2 Mon Sep 17 00:00:00 2001
-From: Anton Blanchard <anton@ozlabs.org>
-Date: Tue, 17 Aug 2021 09:53:41 +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/CPPAlliance/url/pull/38]
----
- CMakeLists.txt | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5b53f31..ebb7346 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -109,20 +109,22 @@ else()
- endif()
- 
- if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT BOOST_URL_IN_BOOST_TREE)
-+    include(GNUInstallDirs)
-+
-     set_target_properties(boost_url PROPERTIES EXPORT_NAME url)
-     install(TARGETS boost_url EXPORT boost_url_targets)
- 
-     install(EXPORT boost_url_targets
-         FILE boost_url-targets.cmake
-         NAMESPACE Boost::
--        DESTINATION lib/cmake/boost_url
-+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
-     )
- 
-     include(CMakePackageConfigHelpers)
- 
-     configure_package_config_file(cmake/config.cmake.in
-         ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config.cmake
--        INSTALL_DESTINATION lib/cmake/boost_url
-+        INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
-     )
- 
-     write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/boost_url-config-version.cmake
-@@ -132,10 +134,10 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR AND NOT BOOST_URL_IN_BOOST
-     install(FILES
-         ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config.cmake
-         ${CMAKE_CURRENT_BINARY_DIR}/boost_url-config-version.cmake
--        DESTINATION lib/cmake/boost_url
-+        DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/boost_url
-     )
- 
--    install(DIRECTORY include/ DESTINATION include)
-+    install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
- 
- if(BOOST_URL_BUILD_TESTS)
--- 
-2.31.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
index cb3664f..9f75910 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
@@ -4,16 +4,17 @@
 LICENSE = "BSL-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
 
-SRC_URI = "git://github.com/CPPAlliance/url.git;branch=develop \
-           file://0001-Use-GNUInstallDirs-instead-of-hard-wiring-install-di.patch \
-           "
+SRC_URI = "git://github.com/CPPAlliance/url.git;branch=develop"
 
-SRCREV = "2c867fbe284ae532f1329b87a86ad3f8cd382867"
+SRCREV = "4f712ed69a04a344957d22efa5dc111b415b3aff"
 
 S = "${WORKDIR}/git"
 
-inherit cmake
-
 DEPENDS = "boost"
 
 BBCLASSEXTEND = "native nativesdk"
+
+do_install() {
+    mkdir -p ${D}/${includedir}
+    cp -r ${S}/include/** ${D}/${includedir}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
index d4fed86..7cd06f1 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.2.1.bb
@@ -7,7 +7,7 @@
 fragmentation avoidance and scalable concurrency support."
 
 HOMEPAGE = "https://github.com/jemalloc/jemalloc"
-LICENSE = "BSD"
+LICENSE = "BSD-2-Clause"
 
 SECTION = "libs"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb b/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
index 7dbefa1..76d1c8b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
@@ -24,7 +24,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit cmake
+inherit cmake pkgconfig
 
 DEPENDS = "json-c"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch b/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
new file mode 100644
index 0000000..54cd096
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
@@ -0,0 +1,35 @@
+From 436163ab845c263312cf3d4717a43727cf5f0747 Mon Sep 17 00:00:00 2001
+From: Matteo Croce <mcroce@microsoft.com>
+Date: Wed, 15 Sep 2021 17:54:01 +0200
+Subject: [PATCH] Use /usr/bin/env python3 instead of just /usr/bin/python3
+
+Upstream-Status: inappropriate [OE specific]
+
+---
+ ostra/ostra-cg        | 2 +-
+ ostra/python/ostra.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ostra/ostra-cg b/ostra/ostra-cg
+index 52c902e..8142e67 100755
+--- a/ostra/ostra-cg
++++ b/ostra/ostra-cg
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ # ostra-cg - generate callgraphs from encoded trace
+ #
+ # Arnaldo Carvalho de Melo <acme@redhat.com>
+diff --git a/ostra/python/ostra.py b/ostra/python/ostra.py
+index 86fe079..9bb5ad1 100755
+--- a/ostra/python/ostra.py
++++ b/ostra/python/ostra.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ #
+ # Copyright (C) 2005, 2006, 2007 Arnaldo Carvalho de Melo
+ #
+-- 
+2.31.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb
index db7d88c..0fdde93 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/pahole/pahole_1.22.bb
@@ -9,11 +9,12 @@
 
 SRCREV = "f02af2553ea58ae1186226af0d0ec835a248358f"
 SRC_URI = "git://git.kernel.org/pub/scm/devel/pahole/pahole.git \
-           file://0001-CMakeList.txt-make-python-optional.patch"
+           file://0001-CMakeList.txt-make-python-optional.patch \
+           file://0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch"
 
 S = "${WORKDIR}/git"
 
-inherit cmake
+inherit cmake pkgconfig
 
 PACKAGECONFIG[python3] = ",,python3-core,python3-core"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
index fc72861..bd3a277 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
@@ -1,7 +1,8 @@
-From 321709837f412e2f590e36e3fe33571bb40036a7 Mon Sep 17 00:00:00 2001
+From 8515ceec5ba3e2fcdbc819b5bf10fe742d7c9d5d Mon Sep 17 00:00:00 2001
 From: Martin Jansa <Martin.Jansa@gmail.com>
 Date: Thu, 27 Jun 2019 13:27:18 +0000
-Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building libprotoc.so
+Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building
+ libprotoc.so
 
 * otherwise plugin.pb.o has undefined symbol scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto
   and build with gold fails with:
@@ -10,19 +11,20 @@
 
 Upstream-Status: Pending
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
  src/Makefile.am | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/src/Makefile.am b/src/Makefile.am
-index be18ba761..57e3daec1 100644
+index d4f11ce79..96d911746 100644
 --- a/src/Makefile.am
 +++ b/src/Makefile.am
-@@ -313,6 +313,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
+@@ -323,6 +323,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
  EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map
  endif
  libprotoc_la_SOURCES =                                         \
 +  google/protobuf/descriptor.pb.cc                             \
    google/protobuf/compiler/code_generator.cc                   \
    google/protobuf/compiler/command_line_interface.cc           \
-   google/protobuf/compiler/plugin.cc                           \
+   google/protobuf/compiler/cpp/cpp_enum.cc                     \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.3.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.18.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.3.bb
rename to meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.18.0.bb
index 4de2c93..9f50112 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.17.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.18.0.bb
@@ -10,14 +10,14 @@
 DEPENDS = "zlib"
 DEPENDS:append:class-target = " protobuf-native"
 
-SRCREV = "909a0f36a10075c4b4bc70fdee2c7e32dd612a72"
+SRCREV = "89b14b1d16eba4d44af43256fc45b24a6a348557"
 
-SRC_URI = "git://github.com/protocolbuffers/protobuf.git \
+SRC_URI = "git://github.com/protocolbuffers/protobuf.git;branch=3.18.x \
            file://run-ptest \
            file://0001-protobuf-fix-configure-error.patch \
            file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \
            file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
-"
+           "
 S = "${WORKDIR}/git"
 
 inherit autotools-brokensep pkgconfig ptest
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
index 5dcc6af..8365da0 100644
--- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
@@ -18,16 +18,19 @@
 
 Update for 20200910.
 Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+
+Update for 20210808.
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
 ---
  aclocal.m4 |   1 -
  configure  | 259 -----------------------------------------------------
  2 files changed, 260 deletions(-)
 
 diff --git a/aclocal.m4 b/aclocal.m4
-index 1c6a3ee..2f7e9b5 100644
+index 7a9a8fb..108b6cc 100644
 --- a/aclocal.m4
 +++ b/aclocal.m4
-@@ -1317,7 +1317,6 @@ CF_GCC_VERSION
+@@ -1401,7 +1401,6 @@ CF_GCC_VERSION
  CF_ACVERSION_CHECK(2.52,
  	[AC_PROG_CC_STDC],
  	[CF_ANSI_CC_REQD])
@@ -36,20 +39,20 @@
  dnl ---------------------------------------------------------------------------
  dnl CF_PROG_GROFF version: 3 updated: 2018/01/07 13:16:19
 diff --git a/configure b/configure
-index 378f27d..8f40229 100755
+index 5b98a03..e3a4237 100755
 --- a/configure
 +++ b/configure
-@@ -2066,265 +2066,6 @@ esac
+@@ -2146,265 +2146,6 @@ esac
  # This should have been defined by AC_PROG_CC
- : ${CC:=cc}
+ : "${CC:=cc}"
  
--echo "$as_me:2069: checking \$CFLAGS variable" >&5
+-echo "$as_me:2149: checking \$CFLAGS variable" >&5
 -echo $ECHO_N "checking \$CFLAGS variable... $ECHO_C" >&6
 -case "x$CFLAGS" in
 -(*-[IUD]*)
--	echo "$as_me:2073: result: broken" >&5
+-	echo "$as_me:2153: result: broken" >&5
 -echo "${ECHO_T}broken" >&6
--	{ echo "$as_me:2075: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
+-	{ echo "$as_me:2155: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
 -echo "$as_me: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&2;}
 -	cf_flags="$CFLAGS"
 -	CFLAGS=
@@ -63,19 +66,19 @@
 -
 -for cf_add_cflags in $cf_arg
 -do
--case $cf_fix_cppflags in
+-case "$cf_fix_cppflags" in
 -(no)
--	case $cf_add_cflags in
+-	case "$cf_add_cflags" in
 -	(-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
--		case $cf_add_cflags in
+-		case "$cf_add_cflags" in
 -		(-D*)
--			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-			cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
 -
 -			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
 -				&& test -z "${cf_tst_cflags}" \
 -				&& cf_fix_cppflags=yes
 -
--			if test $cf_fix_cppflags = yes ; then
+-			if test "$cf_fix_cppflags" = yes ; then
 -
 -	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
 -	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
@@ -94,7 +97,7 @@
 -		(*$cf_add_cflags)
 -			;;
 -		(*)
--			case $cf_add_cflags in
+-			case "$cf_add_cflags" in
 -			(-D*)
 -				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
 -
@@ -124,7 +127,7 @@
 -	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
 -	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
 -
--	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-	cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
 -
 -	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
 -		&& test -z "${cf_tst_cflags}" \
@@ -157,18 +160,18 @@
 -	done
 -	;;
 -(*)
--	echo "$as_me:2183: result: ok" >&5
+-	echo "$as_me:2263: result: ok" >&5
 -echo "${ECHO_T}ok" >&6
 -	;;
 -esac
 -
--echo "$as_me:2188: checking \$CC variable" >&5
+-echo "$as_me:2268: checking \$CC variable" >&5
 -echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
 -case "$CC" in
 -(*[\ \	]-*)
--	echo "$as_me:2192: result: broken" >&5
+-	echo "$as_me:2272: result: broken" >&5
 -echo "${ECHO_T}broken" >&6
--	{ echo "$as_me:2194: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
+-	{ echo "$as_me:2274: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
 -echo "$as_me: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
 -	# humor him...
 -	cf_prog=`echo "$CC" | sed -e 's/	/ /g' -e 's/[ ]* / /g' -e 's/[ ]*[ ]-[^ ].*//'`
@@ -186,19 +189,19 @@
 -
 -for cf_add_cflags in $cf_arg
 -do
--case $cf_fix_cppflags in
+-case "$cf_fix_cppflags" in
 -(no)
--	case $cf_add_cflags in
+-	case "$cf_add_cflags" in
 -	(-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
--		case $cf_add_cflags in
+-		case "$cf_add_cflags" in
 -		(-D*)
--			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+-			cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
 -
 -			test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
 -				&& test -z "${cf_tst_cflags}" \
 -				&& cf_fix_cppflags=yes
 -
--			if test $cf_fix_cppflags = yes ; then
+-			if test "$cf_fix_cppflags" = yes ; then
 -
 -	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
 -	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
@@ -217,7 +220,7 @@
 -		(*$cf_add_cflags)
 -			;;
 -		(*)
--			case $cf_add_cflags in
+-			case "$cf_add_cflags" in
 -			(-D*)
 -				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
 -
@@ -247,7 +250,7 @@
 -	test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
 -	cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
 -
--	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+-	cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
 -
 -	test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
 -		&& test -z "${cf_tst_cflags}" \
@@ -285,24 +288,24 @@
 -	done
 -	test -n "$verbose" && echo "	resulting CC: '$CC'" 1>&6
 -
--echo "${as_me:-configure}:2311: testing resulting CC: '$CC' ..." 1>&5
+-echo "${as_me:-configure}:2391: testing resulting CC: '$CC' ..." 1>&5
 -
 -	test -n "$verbose" && echo "	resulting CFLAGS: '$CFLAGS'" 1>&6
 -
--echo "${as_me:-configure}:2315: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2395: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
 -
 -	test -n "$verbose" && echo "	resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
 -
--echo "${as_me:-configure}:2319: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2399: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
 -
 -	;;
 -(*)
--	echo "$as_me:2323: result: ok" >&5
+-	echo "$as_me:2403: result: ok" >&5
 -echo "${ECHO_T}ok" >&6
 -	;;
 -esac
 -
- echo "$as_me:2328: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo "$as_me:2408: checking whether ${MAKE-make} sets \${MAKE}" >&5
  echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
  set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
 -- 
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200910.bb b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200910.bb
deleted file mode 100644
index b7640ff..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20200910.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-# Sigh. This is one of those places where everyone licenses it differently. Someone
-# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
-# "I've found no reliable source which states that byacc must bear a UCB copyright."
-# Setting to PD as this is what the upstream has it as.
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=262857ec5923f073fa06a1f1812225ea"
-require byacc.inc
-
-SRC_URI[md5sum] = "5726a5a655c6fd4e8f950552cceeae29"
-SRC_URI[sha256sum] = "0a5906073aeaf23ddc20aaac0ea61cb5ccc18572870b113375dec4ffe85ecf30"
diff --git a/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20210808.bb b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20210808.bb
new file mode 100644
index 0000000..eeed39f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/byacc/byacc_20210808.bb
@@ -0,0 +1,10 @@
+# Sigh. This is one of those places where everyone licenses it differently. Someone
+# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
+# "I've found no reliable source which states that byacc must bear a UCB copyright."
+# Setting to PD as this is what the upstream has it as.
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=80ce98c6ab91cc4a93a9d2cfb7c14463"
+require byacc.inc
+
+SRC_URI[sha256sum] = "f158529be9d0594263c7f11a87616a49ea23e55ac63691252a2304fbbc7d3a83"
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.7.bb
index 94df015..6b906a2 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.7.bb
@@ -43,7 +43,7 @@
 PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF"
 PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd"
 
-inherit autotools gettext cmake systemd
+inherit autotools gettext cmake pkgconfig systemd
 
 EXTRA_OECMAKE += "-DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb
index 14168e6..7325b26 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.26.bb
@@ -8,7 +8,7 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
 
-inherit autotools gobject-introspection
+inherit autotools gobject-introspection pkgconfig
 
 SRC_URI = "git://github.com/storaged-project/libblockdev;branch=2.x-branch"
 SRCREV = "47ff12242c89e36a33259d18b7068b26c3bb1c64"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
index a1919e7..e96138e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
@@ -15,7 +15,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit cpan autotools-brokensep gettext python3native python3-dir systemd
+inherit cpan autotools-brokensep gettext pkgconfig python3native python3-dir systemd
 
 BBCLASSEXTEND = "native"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
index bfecc7e..ef1ae2c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
@@ -16,7 +16,7 @@
 SRCNAME = "volume_key"
 S = "${WORKDIR}/${SRCNAME}-${PV}"
 
-inherit autotools python3native gettext
+inherit autotools python3native gettext pkgconfig
 
 DEPENDS += " \
     util-linux \
diff --git a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
index f1e87ba..9d9fab2 100644
--- a/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"
 
 inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake', d)}
-inherit features_check lib_package binconfig
+inherit features_check lib_package binconfig pkgconfig
 
 # All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'no_gui', '', 'x11', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb
index 62d4cba..be5b601 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.13.bb
@@ -15,7 +15,7 @@
 
 RDEPENDS:${PN} = "libxcb xcb-util-keysyms"
 
-inherit cmake python3native features_check
+inherit cmake pkgconfig python3native features_check
 
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
index 057a177..e7673c5 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
@@ -9,10 +9,10 @@
 
 S = "${WORKDIR}/git"
 
-inherit features_check
+inherit autotools cmake features_check pkgconfig
+
 REQUIRED_DISTRO_FEATURES = "x11 pam"
 
-inherit autotools cmake
 B = "${S}"
 
 SRCREV = "540bfc3278e396321124d4b18a798ac2bc18b6ca"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
index ec2d106..64dd3ea 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
@@ -10,7 +10,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit features_check meson
+inherit features_check meson pkgconfig
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch
new file mode 100644
index 0000000..cb396c3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/files/0001-use-library-sonames-for-linking.patch
@@ -0,0 +1,126 @@
+From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Thu, 23 Sep 2021 19:36:43 -0400
+Subject: [PATCH] use library sonames for linking
+
+The recommended "best practices" for applications is to link to library
+sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This
+ensures that applications don't try to use libraries if an incompatible ABI
+change occurs.
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/288]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ framework/egl/egluGLContextFactory.cpp                      | 4 ++--
+ framework/egl/wrapper/eglwLibrary.cpp                       | 2 +-
+ framework/platform/android/tcuAndroidPlatform.cpp           | 2 +-
+ framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp   | 2 +-
+ .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +-
+ framework/platform/surfaceless/tcuSurfacelessPlatform.cpp   | 6 +++---
+ 6 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/framework/egl/egluGLContextFactory.cpp b/framework/egl/egluGLContextFactory.cpp
+index 8fbea2af1..8d42f19eb 100644
+--- a/framework/egl/egluGLContextFactory.cpp
++++ b/framework/egl/egluGLContextFactory.cpp
+@@ -63,7 +63,7 @@ using std::vector;
+ #	if (DE_OS == DE_OS_WIN32)
+ #		define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll"
+ #	else
+-#		define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++#		define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ #	endif
+ #endif
+ 
+@@ -75,7 +75,7 @@ using std::vector;
+ #	if (DE_OS == DE_OS_WIN32)
+ #		define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll"
+ #	else
+-#		define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++#		define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ #	endif
+ #endif
+ 
+diff --git a/framework/egl/wrapper/eglwLibrary.cpp b/framework/egl/wrapper/eglwLibrary.cpp
+index d7e07fe18..ebdf68b14 100644
+--- a/framework/egl/wrapper/eglwLibrary.cpp
++++ b/framework/egl/wrapper/eglwLibrary.cpp
+@@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void)
+ const char* DefaultLibrary::getLibraryFileName (void)
+ {
+ #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX)
+-	return "libEGL.so";
++	return "libEGL.so.1";
+ #elif (DE_OS == DE_OS_WIN32)
+ 	return "libEGL.dll";
+ #else
+diff --git a/framework/platform/android/tcuAndroidPlatform.cpp b/framework/platform/android/tcuAndroidPlatform.cpp
+index b9a4c716f..05cec0b49 100644
+--- a/framework/platform/android/tcuAndroidPlatform.cpp
++++ b/framework/platform/android/tcuAndroidPlatform.cpp
+@@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capability		WINDOW_CAPABILITIES		= (eglu::Nativ
+ class NativeDisplay : public eglu::NativeDisplay
+ {
+ public:
+-									NativeDisplay			(void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so") {}
++									NativeDisplay			(void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1") {}
+ 	virtual							~NativeDisplay			(void) {}
+ 
+ 	virtual EGLNativeDisplayType	getLegacyNative			(void)			{ return EGL_DEFAULT_DISPLAY;	}
+diff --git a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
+index 009c05e18..237c5e16f 100644
+--- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
++++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
+@@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibrary
+ {
+ public:
+ 	Library (void)
+-		: eglw::DefaultLibrary("libEGL.so")
++		: eglw::DefaultLibrary("libEGL.so.1")
+ 	{
+ 	}
+ 
+diff --git a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
+index 97bc3a0ed..3a20d63d3 100644
+--- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
++++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
+@@ -66,7 +66,7 @@ public:
+ 													 EGL_PLATFORM_WAYLAND_KHR,
+ 													 "EGL_KHR_platform_wayland")
+ 									, m_display		(waylandDisplay)
+-									, m_library		("libEGL.so") {}
++									, m_library		("libEGL.so.1") {}
+ 
+ 	~Display(void) {}
+ 	wayland::Display&			getWaylandDisplay	(void)	{ return *m_display; }
+diff --git a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
+index 9783eaeab..a1d8ac667 100644
+--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
++++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
+@@ -69,7 +69,7 @@ using std::vector;
+ 
+ // Default library names
+ #if !defined(DEQP_GLES2_LIBRARY_PATH)
+-#	define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++#	define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ #endif
+ 
+ #if !defined(DEQP_GLES3_LIBRARY_PATH)
+@@ -77,7 +77,7 @@ using std::vector;
+ #endif
+ 
+ #if !defined(DEQP_OPENGL_LIBRARY_PATH)
+-#	define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++#	define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ #endif
+ 
+ namespace tcu
+@@ -238,7 +238,7 @@ glu::RenderContext* ContextFactory::createContext(const glu::RenderConfig& confi
+ }
+ 
+ EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine)
+-	: m_egl("libEGL.so")
++	: m_egl("libEGL.so.1")
+ 	, m_contextType(config.type)
+ 	, m_eglDisplay(EGL_NO_DISPLAY)
+ 	, m_eglContext(EGL_NO_CONTEXT)
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
index f619214..1faee4d 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
+++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -18,13 +18,14 @@
 
 inherit pkgconfig cmake features_check
 
-REQUIRED_DISTRO_FEATURES += "opengl"
+ANY_OF_DISTRO_FEATURES += "opengl wayland"
 
-DEPENDS += "libpng zlib virtual/libgles2 virtual/egl"
+DEPENDS += "libpng zlib virtual/libgles2"
 
 SRC_URI += "file://0001-Workaround-for-GCC-11-uninit-variable-warnings-946.patch;patchdir=external/amber/src \
             file://0001-Include-limits-header-for-numeric_limits.patch;patchdir=external/vulkancts \
             file://0001-vulkancts.patch \
+            file://0001-use-library-sonames-for-linking.patch \
 "
 
 SRC_URI:append:libc-musl = "\
@@ -36,7 +37,30 @@
 	file://fix-clang-private-operator.patch \
 "
 
-EXTRA_OECMAKE:append = " -DDEQP_TARGET=surfaceless"
+# The best thing for the user to do is to not specify any of the following
+# PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own
+# probing and build what it thinks is appropriate.
+# However, if you want, you can specify one of the following PACKAGECONFIGs
+# to override this behaviour.
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[surfaceless] = "-DDEQP_TARGET=surfaceless,,,,,wayland x11_egl x11_glx x11_egl_glx"
+PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland,,,surfaceless x11_egl x11_glx x11_egl_glx"
+PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_glx x11_egl_glx"
+PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx"
+PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx"
+
+python __anonymous() {
+    # if the user doesn't specify any PACKAGECONFIG then the cts build system
+    # is going to probe the sysroot to try to figure out what to build
+    # in this case we try to guess whether the user is building for wayland
+    # or x11 and add the required dependencies automatically
+    distrofeatures = (d.getVar("DISTRO_FEATURES") or "")
+    if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d):
+        if "wayland" in distrofeatures:
+            d.appendVar("DEPENDS", " wayland ")
+        if "x11" in distrofeatures:
+            d.appendVar("DEPENDS", " virtual/libx11 virtual/egl ")
+}
 
 CTSDIR = "/usr/lib/${BPN}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
index 46ce671..6ede557 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_6.0.bb
@@ -8,7 +8,7 @@
 SRC_URI = "git://github.com/v1cont/yad.git"
 SRCREV = "a5b1a7a3867bc7dffbbc539f586f301687b6ec02"
 
-inherit autotools gsettings features_check
+inherit autotools gsettings features_check pkgconfig
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
index 3e98e71..591703e 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
@@ -10,7 +10,7 @@
 # mind when doing version upgrades).
 DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 libcanberra pulseaudio"
 
-inherit autotools features_check perlnative
+inherit autotools features_check perlnative pkgconfig
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
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 d2058ba..8d74eb4 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,5 +1,5 @@
 SUMMARY = "Machine specific gpsd config"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb"
 
 # empty by default
diff --git a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb
index b86bfea..98f464f 100644
--- a/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/avro/avro-c_1.10.2.bb
@@ -14,4 +14,4 @@
 
 S = "${WORKDIR}/git/lang/c"
 
-inherit cmake
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb b/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
index 0511f4a..a1076cc 100644
--- a/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
@@ -21,4 +21,4 @@
     oe_runmake 'DESTDIR=${D}' install
 }
 
-RDEPENDS:${PN} += "python3-core python3-misc python3-resource python3-shell python3-unixadmin"
+RDEPENDS:${PN} += "python3-core python3-misc python3-resource python3-shell python3-six python3-unixadmin"
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
index a91c465..193cd00 100644
--- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_27.2.bb
@@ -24,8 +24,7 @@
 DEPENDS = "ncurses"
 DEPENDS:append:class-target = " emacs-native"
 
-inherit autotools mime-xdg
-
+inherit autotools mime-xdg pkgconfig
 
 do_compile:class-native (){
     cd ${B}/lib-src
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch
deleted file mode 100644
index 6152a11..0000000
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-fix-read-out-of-bands-in-reading-tga-header-file.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8b111b2b4a4842179be66db68d84dda91a246032 Mon Sep 17 00:00:00 2001
-From: maryam ebrahimzadeh <maryam.ebr@student.sharif.edu>
-Date: Mon, 19 Jul 2021 10:07:13 +0430
-Subject: [PATCH] fix read out-of-bands in reading tga header file
-
----
- src/gd_tga.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/gd_tga.c b/src/gd_tga.c
-index cae9428..286febb 100644
---- a/src/gd_tga.c
-+++ b/src/gd_tga.c
-@@ -191,7 +191,11 @@ int read_header_tga(gdIOCtx *ctx, oTga *tga)
- 			return -1;
- 		}
- 
--		gdGetBuf(tga->ident, tga->identsize, ctx);
-+		
-+		if (gdGetBuf(tga->ident, tga->identsize, ctx) != tga->identsize) {
-+			gd_error("fail to read header ident");
-+			return -1;
-+		}
- 	}
- 
- 	return 1;
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch
deleted file mode 100644
index faf349b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd/0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-From 4ae9904a10f61ed60f4d4ee02eb1994a95664d7b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 22 Apr 2021 22:48:59 -0700
-Subject: [PATCH] replace uint32 with uint32_t and uint16 with uint16_6
-
-uint16 and uint32 are now deprecated in libtiff and suggestion is to use
-standard C99 types
-
-Upstream-Status: Submitted [https://github.com/libgd/libgd/pull/694]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/gd_tiff.c | 52 +++++++++++++++++++++++++--------------------------
- 1 file changed, 26 insertions(+), 26 deletions(-)
-
-diff --git a/src/gd_tiff.c b/src/gd_tiff.c
-index b22ee6c..699d719 100644
---- a/src/gd_tiff.c
-+++ b/src/gd_tiff.c
-@@ -237,10 +237,10 @@ void tiffWriter(gdImagePtr image, gdIOCtx *out, int bitDepth)
- 	int transparentColorR = -1;
- 	int transparentColorG = -1;
- 	int transparentColorB = -1;
--	uint16 extraSamples[1];
--	uint16 *colorMapRed = NULL;
--	uint16 *colorMapGreen = NULL;
--	uint16 *colorMapBlue = NULL;
-+	uint16_t extraSamples[1];
-+	uint16_t *colorMapRed = NULL;
-+	uint16_t *colorMapGreen = NULL;
-+	uint16_t *colorMapBlue = NULL;
- 
- 	tiff_handle *th;
- 
-@@ -292,18 +292,18 @@ void tiffWriter(gdImagePtr image, gdIOCtx *out, int bitDepth)
- 
- 	/* build the color map for 8 bit images */
- 	if(bitDepth != 24) {
--		colorMapRed   = (uint16 *) gdMalloc(3 * (1 << bitsPerSample));
-+		colorMapRed   = (uint16_t *) gdMalloc(3 * (1 << bitsPerSample));
- 		if (!colorMapRed) {
- 			gdFree(th);
- 			return;
- 		}
--		colorMapGreen = (uint16 *) gdMalloc(3 * (1 << bitsPerSample));
-+		colorMapGreen = (uint16_t *) gdMalloc(3 * (1 << bitsPerSample));
- 		if (!colorMapGreen) {
- 			gdFree(colorMapRed);
- 			gdFree(th);
- 			return;
- 		}
--		colorMapBlue  = (uint16 *) gdMalloc(3 *  (1 << bitsPerSample));
-+		colorMapBlue  = (uint16_t *) gdMalloc(3 *  (1 << bitsPerSample));
- 		if (!colorMapBlue) {
- 			gdFree(colorMapRed);
- 			gdFree(colorMapGreen);
-@@ -448,7 +448,7 @@ BGD_DECLARE(void) gdImageTiffCtx(gdImagePtr image, gdIOCtx *out)
- /* Check if we are really in 8bit mode */
- static int checkColorMap(n, r, g, b)
- int n;
--uint16 *r, *g, *b;
-+uint16_t *r, *g, *b;
- {
- 	while (n-- > 0)
- 		if (*r++ >= 256 || *g++ >= 256 || *b++ >= 256)
-@@ -460,8 +460,8 @@ uint16 *r, *g, *b;
- /* Read and convert a TIFF colormap */
- static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometric)
- {
--	uint16 *redcmap, *greencmap, *bluecmap;
--	uint16 bps;
-+	uint16_t *redcmap, *greencmap, *bluecmap;
-+	uint16_t bps;
- 	int i;
- 
- 	if (is_bw) {
-@@ -473,7 +473,7 @@ static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometri
- 			gdImageColorAllocate(im, 255,255,255);
- 		}
- 	} else {
--		uint16 min_sample_val, max_sample_val;
-+		uint16_t min_sample_val, max_sample_val;
- 
- 		if (!TIFFGetField(tif, TIFFTAG_MINSAMPLEVALUE, &min_sample_val)) {
- 			min_sample_val = 0;
-@@ -515,7 +515,7 @@ static int readTiffColorMap(gdImagePtr im, TIFF *tif, char is_bw, int photometri
- 
- static void readTiffBw (const unsigned char *src,
- 			gdImagePtr im,
--			uint16       photometric,
-+			uint16_t       photometric,
- 			int          startx,
- 			int          starty,
- 			int          width,
-@@ -547,7 +547,7 @@ static void readTiffBw (const unsigned char *src,
- 
- static void readTiff8bit (const unsigned char *src,
-                           gdImagePtr im,
--                          uint16       photometric,
-+                          uint16_t       photometric,
-                           int          startx,
-                           int          starty,
-                           int          width,
-@@ -634,10 +634,10 @@ static void readTiff8bit (const unsigned char *src,
- 	}
- }
- 
--static int createFromTiffTiles(TIFF *tif, gdImagePtr im, uint16 bps, uint16 photometric,
-+static int createFromTiffTiles(TIFF *tif, gdImagePtr im, uint16_t bps, uint16_t photometric,
-                                char has_alpha, char is_bw, int extra)
- {
--	uint16  planar;
-+	uint16_t  planar;
- 	int im_width, im_height;
- 	int tile_width, tile_height;
- 	int  x, y, height, width;
-@@ -682,11 +682,11 @@ end:
- 	return success;
- }
- 
--static int createFromTiffLines(TIFF *tif, gdImagePtr im, uint16 bps, uint16 photometric,
-+static int createFromTiffLines(TIFF *tif, gdImagePtr im, uint16_t bps, uint16_t photometric,
-                                char has_alpha, char is_bw, int extra)
- {
--	uint16  planar;
--	uint32 im_height, im_width, y;
-+	uint16_t  planar;
-+	uint32_t im_height, im_width, y;
- 
- 	unsigned char *buffer;
- 	int success = GD_SUCCESS;
-@@ -761,11 +761,11 @@ static int createFromTiffRgba(TIFF * tif, gdImagePtr im)
- 	int color;
- 	int width = im->sx;
- 	int height = im->sy;
--	uint32 *buffer;
--	uint32 rgba;
-+	uint32_t *buffer;
-+	uint32_t rgba;
- 	int success;
- 
--	buffer = (uint32 *) gdCalloc(sizeof(uint32), width * height);
-+	buffer = (uint32_t *) gdCalloc(sizeof(uint32_t), width * height);
- 	if (!buffer) {
- 		return GD_FAILURE;
- 	}
-@@ -810,11 +810,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffCtx(gdIOCtx *infile)
- 	TIFF *tif;
- 	tiff_handle *th;
- 
--	uint16 bps, spp, photometric;
--	uint16 orientation;
-+	uint16_t bps, spp, photometric;
-+	uint16_t orientation;
- 	int width, height;
--	uint16 extra, *extra_types;
--	uint16 planar;
-+	uint16_t extra, *extra_types;
-+	uint16_t planar;
- 	char	has_alpha, is_bw, is_gray;
- 	char	force_rgba = FALSE;
- 	char	save_transparent;
-@@ -867,7 +867,7 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromTiffCtx(gdIOCtx *infile)
- 	}
- 
- 	if (!TIFFGetField (tif, TIFFTAG_PHOTOMETRIC, &photometric)) {
--		uint16 compression;
-+		uint16_t compression;
- 		if (TIFFGetField(tif, TIFFTAG_COMPRESSION, &compression) &&
- 		        (compression == COMPRESSION_CCITTFAX3 ||
- 		         compression == COMPRESSION_CCITTFAX4 ||
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
rename to meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb
index 32484ce..cbd45c0 100644
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.3.3.bb
@@ -9,16 +9,14 @@
 
 SECTION = "libs"
 LICENSE = "GD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8e5bc8627b9494741c905d65238c66b7"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ace63adfdac78400fc30fa22ee9c1bb1"
 
 DEPENDS = "freetype libpng jpeg zlib tiff"
 
-SRC_URI = "git://github.com/libgd/libgd.git;branch=master \
-           file://0001-replace-uint32-with-uint32_t-and-uint16-with-uint16_.patch \
-           file://0001-fix-read-out-of-bands-in-reading-tga-header-file.patch \
+SRC_URI = "git://github.com/libgd/libgd.git;nobranch=1 \
            "
 
-SRCREV = "2e40f55bfb460fc9d8cbcd290a0c9eb908d5af7e"
+SRCREV = "b5319a41286107b53daa0e08e402aa1819764bdc"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb
index 118259e..7b8d4a3 100644
--- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.6.bb
@@ -12,7 +12,7 @@
 SRCREV = "c9864f4dd03736839f40d225da494cb1eb64e654"
 SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master"
 
-inherit gettext autotools python3native
+inherit gettext autotools pkgconfig python3native
 
 DEPENDS += " \
     libpcre2 \
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 748633d..6ac534a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
@@ -38,7 +38,10 @@
 
 PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}"
 
-RDEPENDS:${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold"
+# Inheriting setuptools3 incorrectly adds the dependency on ${PYTHON_PN}-core
+# to ${PN} instead of to ${PN}-${PYTHON_PN} where it belongs.
+RDEPENDS:${PN}:remove = "${PYTHON_PN}-core"
+RDEPENDS:${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-core ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold"
 
 FILES:${PN}-iiod = " \
     ${sbindir}/iiod \
diff --git a/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb b/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
index 25cfafa..da8ea35 100644
--- a/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
@@ -11,7 +11,7 @@
 
 DEPENDS = "gd "
 
-inherit autotools gettext
+inherit autotools gettext pkgconfig
 
 do_configure:prepend() {
 	sed -i "s#AC_PATH_PROG(GDLIB_CONFIG,gdlib-config)#AC_PATH_PROG([GDLIB_CONFIG],[gdlib-config], ,[${STAGING_BINDIR_CROSS}])#" ${S}/configure.ac
diff --git a/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb b/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
index 7c9a2cb..2450d31 100644
--- a/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=c9a1abacd0166f595a9fbe6afb1f0d5e"
 DEPENDS = "glib-2.0 ncurses libxml2 glib-2.0-native"
 
-inherit meson
+inherit meson pkgconfig
 
 # SRCREV = "0a44b1d01c41"
 # SRC_URI = "hg://keep.imfreedom.org/${BPN};module=${BPN}
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch
deleted file mode 100644
index e6b673b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 98d277655e411f56fba705c0bf2efc6562c23807 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Nov 2020 11:37:33 -0800
-Subject: [PATCH] Add support of arch riscv32
-
-Upstream-Status: Submitted [https://github.com/pocoproject/poco/pull/3138]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Foundation/include/Poco/Platform.h | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/Foundation/include/Poco/Platform.h b/Foundation/include/Poco/Platform.h
-index 799db417e..b8506a248 100644
---- a/Foundation/include/Poco/Platform.h
-+++ b/Foundation/include/Poco/Platform.h
-@@ -135,6 +135,7 @@
- #define POCO_ARCH_AARCH64 0x0f
- #define POCO_ARCH_ARM64   0x0f // same as POCO_ARCH_AARCH64
- #define POCO_ARCH_RISCV64 0x10
-+#define POCO_ARCH_RISCV32 0x11
- 
- 
- #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA)
-@@ -225,12 +226,16 @@
- #elif defined(__AARCH64EB__)
- 	#define POCO_ARCH POCO_ARCH_AARCH64
- 	#define POCO_ARCH_BIG_ENDIAN 1
--#elif defined(__riscv) && (__riscv_xlen == 64)
--	#define POCO_ARCH POCO_ARCH_RISCV64
--	#define POCO_ARCH_LITTLE_ENDIAN 1
-+#elif defined(__riscv)
-+	#if (__riscv_xlen == 64)
-+		#define POCO_ARCH POCO_ARCH_RISCV64
-+		#define POCO_ARCH_LITTLE_ENDIAN 1
-+	#elif(__riscv_xlen == 32)
-+		#define POCO_ARCH POCO_ARCH_RISCV32
-+		#define POCO_ARCH_LITTLE_ENDIAN 1
-+	#endif
- #endif
- 
--
- #if defined(__clang__)
- 	#define POCO_COMPILER_CLANG
- #elif defined(_MSC_VER)
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-missing-expat-definition.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-missing-expat-definition.patch
new file mode 100644
index 0000000..625aa31
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-fix-missing-expat-definition.patch
@@ -0,0 +1,27 @@
+From 3f288fefbd683d687bde3fc63964da64bc3c8a40 Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@siemens.com>
+Date: Wed, 11 Aug 2021 15:11:49 +0200
+Subject: [PATCH] fix missing expat definition
+
+Upstream-Status: Submitted [https://github.com/pocoproject/poco/pull/3414]
+Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
+---
+ XML/src/ParserEngine.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/XML/src/ParserEngine.cpp b/XML/src/ParserEngine.cpp
+index 82d477478..6213e555b 100644
+--- a/XML/src/ParserEngine.cpp
++++ b/XML/src/ParserEngine.cpp
+@@ -504,7 +504,7 @@ void ParserEngine::init()
+ 	XML_SetParamEntityParsing(_parser, _externalParameterEntities ? XML_PARAM_ENTITY_PARSING_ALWAYS : XML_PARAM_ENTITY_PARSING_NEVER);
+ 	XML_SetUnknownEncodingHandler(_parser, handleUnknownEncoding, this);
+
+-#if XML_MAJOR_VERSION > 2 || (XML_MAJOR_VERSION == 2 && XML_MINOR_VERSION >= 4)
++#if XML_DTD && (XML_MAJOR_VERSION > 2 || (XML_MAJOR_VERSION == 2 && XML_MINOR_VERSION >= 4))
+ 	if (_maximumAmplificationFactor > 1.0)
+ 	{
+ 		XML_SetBillionLaughsAttackProtectionMaximumAmplification(_parser, _maximumAmplificationFactor);
+--
+2.32.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.10.1.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/poco/poco_1.10.1.bb
rename to meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb
index 5db518c..5f63910 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.10.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.0.bb
@@ -9,11 +9,11 @@
 DEPENDS = "libpcre zlib"
 
 SRC_URI = " \
-    git://github.com/pocoproject/poco.git;branch=poco-${PV} \
-    file://0001-Add-support-of-arch-riscv32.patch \
+    git://github.com/pocoproject/poco.git;branch=master \
+    file://0001-fix-missing-expat-definition.patch \
     file://run-ptest \
    "
-SRCREV = "a3d827d80eb7f3329c58e73eb2906cb7ba829019"
+SRCREV = "f81a38057f1d240fe7b7a069612776f788bc88ea"
 
 UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
index c0b32e7..ac36065 100644
--- a/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
@@ -13,7 +13,7 @@
 SRCREV = "147dd722548358763a8b649b3e4b41dfffbcfbb6"
 S = "${WORKDIR}/git"
 
-inherit cmake
+inherit cmake pkgconfig
 
 PACKAGECONFIG ??= "alsa jack"
 PACKAGECONFIG[alsa] = ",,alsa-lib"
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.18.bb
index f52378b..5a915c4 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.18.bb
@@ -29,7 +29,7 @@
 SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https"
 S = "${WORKDIR}/git"
 
-inherit cmake features_check mime mime-xdg gtk-icon-cache
+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"
diff --git a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.0.bb b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.1.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.0.bb
rename to meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.1.bb
index 4cf0dee..15ba099 100644
--- a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.1.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
 
 SRC_URI += "git://github.com/martinmoene/span-lite"
-SRCREV = "2987dd8d3b8fe7c861e3c3f879234cc1c412f03f"
+SRCREV = "da49b231a25600b4431e00b564a6a20be95c1108"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch
new file mode 100644
index 0000000..951bd50
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch
@@ -0,0 +1,442 @@
+Subject: Fix build errors with linux 5.14
+
+Upstream-Status: backport
+
+svn-id: r89690
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+
+Index: a/src/VBox/Additions/linux/drm/vbox_drv.h
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_drv.h	(revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_drv.h	(revision 90498)
+@@ -227,6 +227,15 @@
+ 				sizeof(HGSMIHOSTFLAGS))
+ #define HOST_FLAGS_OFFSET GUEST_HEAP_USABLE_SIZE
+ 
++/** Field @pdev of struct drm_device was removed in 5.14. This macro
++ * transparently handles this change. Input argument is a pointer
++ * to struct drm_device. */
++#if RTLNX_VER_MIN(5,14,0)
++# define VBOX_DRM_TO_PCI_DEV(_dev) to_pci_dev(_dev->dev)
++#else
++# define VBOX_DRM_TO_PCI_DEV(_dev) _dev->pdev
++#endif
++
+ /** How frequently we refresh if the guest is not providing dirty rectangles. */
+ #define VBOX_REFRESH_PERIOD (HZ / 2)
+ 
+Index: a/src/VBox/Additions/linux/drm/vbox_main.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_main.c	(revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_main.c	(revision 90498)
+@@ -290,7 +290,7 @@
+ 	/* Take a command buffer for each screen from the end of usable VRAM. */
+ 	vbox->available_vram_size -= vbox->num_crtcs * VBVA_MIN_BUFFER_SIZE;
+ 
+-	vbox->vbva_buffers = pci_iomap_range(vbox->dev->pdev, 0,
++	vbox->vbva_buffers = pci_iomap_range(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0,
+ 					     vbox->available_vram_size,
+ 					     vbox->num_crtcs *
+ 					     VBVA_MIN_BUFFER_SIZE);
+@@ -311,7 +311,7 @@
+ 	return 0;
+ 
+ err_pci_iounmap:
+-	pci_iounmap(vbox->dev->pdev, vbox->vbva_buffers);
++	pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->vbva_buffers);
+ 	return ret;
+ }
+ 
+@@ -318,7 +318,7 @@
+ static void vbox_accel_fini(struct vbox_private *vbox)
+ {
+ 	vbox_disable_accel(vbox);
+-	pci_iounmap(vbox->dev->pdev, vbox->vbva_buffers);
++	pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->vbva_buffers);
+ }
+ 
+ /** Do we support the 4.3 plus mode hint reporting interface? */
+@@ -393,7 +393,7 @@
+ 
+ 	/* Map guest-heap at end of vram */
+ 	vbox->guest_heap =
+-	    pci_iomap_range(vbox->dev->pdev, 0, GUEST_HEAP_OFFSET(vbox),
++	    pci_iomap_range(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0, GUEST_HEAP_OFFSET(vbox),
+ 			    GUEST_HEAP_SIZE);
+ 	if (!vbox->guest_heap)
+ 		return -ENOMEM;
+@@ -442,7 +442,7 @@
+ err_destroy_guest_pool:
+ 	gen_pool_destroy(vbox->guest_pool);
+ err_unmap_guest_heap:
+-	pci_iounmap(vbox->dev->pdev, vbox->guest_heap);
++	pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->guest_heap);
+ 	return ret;
+ }
+ 
+@@ -452,7 +452,7 @@
+ 	cancel_delayed_work(&vbox->refresh_work);
+ 	vbox_accel_fini(vbox);
+ 	gen_pool_destroy(vbox->guest_pool);
+-	pci_iounmap(vbox->dev->pdev, vbox->guest_heap);
++	pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->guest_heap);
+ }
+ 
+ #if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MIN(8,3)
+@@ -567,12 +567,16 @@
+ 
+ 	size = roundup(size, PAGE_SIZE);
+ 	if (size == 0)
++	{
++		DRM_ERROR("bad size\n");
+ 		return -EINVAL;
++	}
+ 
+ 	ret = vbox_bo_create(dev, size, 0, 0, &vboxbo);
+ 	if (ret) {
+ 		if (ret != -ERESTARTSYS)
+ 			DRM_ERROR("failed to allocate GEM object\n");
++		DRM_ERROR("failed to allocate GEM (%d)\n", ret);
+ 		return ret;
+ 	}
+ 
+@@ -628,6 +632,21 @@
+ {
+ 	struct vbox_bo *vbox_bo = gem_to_vbox_bo(obj);
+ 
++#if RTLNX_VER_MIN(5,14,0)
++	/* Starting from kernel 5.14, there is a warning appears in dmesg
++	 * on attempt to desroy pinned buffer object. Make sure it is unpinned. */
++	while (vbox_bo->bo.pin_count)
++	{
++		int ret;
++		ret = vbox_bo_unpin(vbox_bo);
++		if (ret)
++		{
++			DRM_ERROR("unable to unpin buffer object\n");
++			break;
++		}
++	}
++#endif
++
+ 	ttm_bo_put(&vbox_bo->bo);
+ }
+ 
+@@ -648,7 +667,7 @@
+ 		      u32 handle, u64 *offset)
+ {
+ 	struct drm_gem_object *obj;
+-	int ret;
++	int ret = 0;
+ 	struct vbox_bo *bo;
+ 
+ 	mutex_lock(&dev->struct_mutex);
+@@ -665,8 +684,15 @@
+ 	bo = gem_to_vbox_bo(obj);
+ 	*offset = vbox_bo_mmap_offset(bo);
+ 
++#if RTLNX_VER_MIN(5,14,0)
++	ret = drm_vma_node_allow(&bo->bo.base.vma_node, file);
++	if (ret)
++	{
++		DRM_ERROR("unable to grant previladges to user");
++	}
++#endif
++
+ 	drm_gem_object_put(obj);
+-	ret = 0;
+ 
+ out_unlock:
+ 	mutex_unlock(&dev->struct_mutex);
+Index: a/src/VBox/Additions/linux/drm/vbox_mode.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_mode.c	(revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_mode.c	(revision 90498)
+@@ -245,6 +245,10 @@
+ 			vbox_bo_unpin(bo);
+ 			vbox_bo_unreserve(bo);
+ 		}
++		else
++		{
++			DRM_ERROR("unable to lock buffer object: error %d\n", ret);
++		}
+ 	}
+ 
+ 	if (&vbox->fbdev->afb == vbox_fb)
+@@ -856,7 +860,9 @@
+ 	vbox->cursor_data_size = data_size;
+ 	dst = vbox->cursor_data;
+ 
+-#if RTLNX_VER_MIN(5,12,0)
++#if RTLNX_VER_MIN(5,14,0)
++	ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.resource->num_pages, &uobj_map);
++#elif RTLNX_VER_MIN(5,12,0)
+ 	ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.mem.num_pages, &uobj_map);
+ #else
+ 	ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &uobj_map);
+Index: a/src/VBox/Additions/linux/drm/vbox_ttm.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_ttm.c	(revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_ttm.c	(revision 90498)
+@@ -41,6 +41,10 @@
+ # include <drm/ttm/ttm_page_alloc.h>
+ #endif
+ 
++#if RTLNX_VER_MIN(5,14,0)
++# include <drm/ttm/ttm_range_manager.h>
++#endif
++
+ #if RTLNX_VER_MAX(3,18,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2)
+ #define PLACEMENT_FLAGS(placement) (placement)
+ #else
+@@ -174,11 +178,13 @@
+ 	*pl = vboxbo->placement;
+ }
+ 
++#if RTLNX_VER_MAX(5,14,0)
+ static int vbox_bo_verify_access(struct ttm_buffer_object *bo,
+ 				 struct file *filp)
+ {
+ 	return 0;
+ }
++#endif
+ 
+ #if RTLNX_VER_MAX(5,10,0)
+ static int vbox_ttm_io_mem_reserve(struct ttm_bo_device *bdev,
+@@ -234,10 +240,10 @@
+ 		mem->bus.caching = ttm_write_combined;
+ # endif
+ # if RTLNX_VER_MIN(5,10,0)
+-		mem->bus.offset = (mem->start << PAGE_SHIFT) + pci_resource_start(vbox->dev->pdev, 0);
++		mem->bus.offset = (mem->start << PAGE_SHIFT) + pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0);
+ # else
+ 		mem->bus.offset = mem->start << PAGE_SHIFT;
+-		mem->start = pci_resource_start(vbox->dev->pdev, 0);
++		mem->start = pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0);
+ # endif
+ 		mem->bus.is_iomem = true;
+ 		break;
+@@ -373,7 +379,9 @@
+ 	.eviction_valuable = ttm_bo_eviction_valuable,
+ #endif
+ 	.evict_flags = vbox_bo_evict_flags,
++#if RTLNX_VER_MAX(5,14,0)
+ 	.verify_access = vbox_bo_verify_access,
++#endif
+ 	.io_mem_reserve = &vbox_ttm_io_mem_reserve,
+ 	.io_mem_free = &vbox_ttm_io_mem_free,
+ #if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5)
+@@ -451,12 +459,12 @@
+ 	}
+ 
+ #ifdef DRM_MTRR_WC
+-	vbox->fb_mtrr = drm_mtrr_add(pci_resource_start(dev->pdev, 0),
+-				     pci_resource_len(dev->pdev, 0),
++	vbox->fb_mtrr = drm_mtrr_add(pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0),
++				     pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0),
+ 				     DRM_MTRR_WC);
+ #else
+-	vbox->fb_mtrr = arch_phys_wc_add(pci_resource_start(dev->pdev, 0),
+-					 pci_resource_len(dev->pdev, 0));
++	vbox->fb_mtrr = arch_phys_wc_add(pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0),
++					 pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0));
+ #endif
+ 	return 0;
+ 
+@@ -477,8 +485,8 @@
+ {
+ #ifdef DRM_MTRR_WC
+ 	drm_mtrr_del(vbox->fb_mtrr,
+-		     pci_resource_start(vbox->dev->pdev, 0),
+-		     pci_resource_len(vbox->dev->pdev, 0), DRM_MTRR_WC);
++		     pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0),
++		     pci_resource_len(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0), DRM_MTRR_WC);
+ #else
+ 	arch_phys_wc_del(vbox->fb_mtrr);
+ #endif
+@@ -560,6 +568,9 @@
+ static const struct drm_gem_object_funcs vbox_drm_gem_object_funcs = {
+ 	.free   = vbox_gem_free_object,
+ 	.print_info = drm_gem_ttm_print_info,
++# if RTLNX_VER_MIN(5,14,0)
++	.mmap = drm_gem_ttm_mmap,
++# endif
+ };
+ #endif
+ 
+@@ -598,6 +609,17 @@
+ 				       sizeof(struct vbox_bo));
+ #endif
+ 
++#if RTLNX_VER_MIN(5,14,0)
++	/* Initialization of the following was removed from DRM stack
++	 * in 5.14, so we need to do it manually. */
++	vboxbo->bo.base.funcs = &vbox_drm_gem_object_funcs;
++	kref_init(&vboxbo->bo.base.refcount);
++	vboxbo->bo.base.size = size;
++	vboxbo->bo.base.dev = dev;
++	dma_resv_init(&vboxbo->bo.base._resv);
++	drm_vma_node_reset(&vboxbo->bo.base.vma_node);
++#endif
++
+ 	ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
+ 			  ttm_bo_type_device, &vboxbo->placement,
+ #if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
+@@ -613,7 +635,11 @@
+ 			  NULL, vbox_bo_ttm_destroy);
+ #endif
+ 	if (ret)
+-		goto err_free_vboxbo;
++	{
++		/* In case of failure, ttm_bo_init() supposed to call
++		 * vbox_bo_ttm_destroy() which in turn will free @vboxbo. */
++		goto err_exit;
++	}
+ 
+ 	*pvboxbo = vboxbo;
+ 
+@@ -621,12 +647,15 @@
+ 
+ err_free_vboxbo:
+ 	kfree(vboxbo);
++err_exit:
+ 	return ret;
+ }
+ 
+ static inline u64 vbox_bo_gpu_offset(struct vbox_bo *bo)
+ {
+-#if RTLNX_VER_MIN(5,9,0) || RTLNX_RHEL_MIN(8,4) || RTLNX_SUSE_MAJ_PREREQ(15,3)
++#if RTLNX_VER_MIN(5,14,0)
++	return bo->bo.resource->start << PAGE_SHIFT;
++#elif RTLNX_VER_MIN(5,9,0) || RTLNX_RHEL_MIN(8,4) || RTLNX_SUSE_MAJ_PREREQ(15,3)
+ 	return bo->bo.mem.start << PAGE_SHIFT;
+ #else
+ 	return bo->bo.offset;
+@@ -685,7 +714,7 @@
+ 	struct ttm_operation_ctx ctx = { false, false };
+ # endif
+ #endif
+-	int ret;
++	int ret = 0;
+ #if RTLNX_VER_MAX(5,11,0)
+ 	int i;
+ #endif
+@@ -765,6 +794,7 @@
+ {
+ 	struct drm_file *file_priv;
+ 	struct vbox_private *vbox;
++	int ret = -EINVAL;
+ 
+ 	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET))
+ 		return -EINVAL;
+@@ -772,5 +802,12 @@
+ 	file_priv = filp->private_data;
+ 	vbox = file_priv->minor->dev->dev_private;
+ 
+-	return ttm_bo_mmap(filp, vma, &vbox->ttm.bdev);
++#if RTLNX_VER_MIN(5,14,0)
++	if (drm_dev_is_unplugged(file_priv->minor->dev))
++		return -ENODEV;
++	ret = drm_gem_mmap(filp, vma);
++#else
++	ret = ttm_bo_mmap(filp, vma, &vbox->ttm.bdev);
++#endif
++	return ret;
+ }
+Index: a/src/VBox/Additions/linux/drm/vbox_fb.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_fb.c	(revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_fb.c	(revision 90498)
+@@ -301,7 +301,9 @@
+ 		return ret;
+ 	}
+ 
+-#if RTLNX_VER_MIN(5,12,0)
++#if RTLNX_VER_MIN(5,14,0)
++	ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.resource->num_pages, &bo->kmap);
++#elif RTLNX_VER_MIN(5,12,0)
+ 	ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.mem.num_pages, &bo->kmap);
+ #else
+ 	ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &bo->kmap);
+@@ -337,8 +339,8 @@
+ 	 * This seems to be done for safety checking that the framebuffer
+ 	 * is not registered twice by different drivers.
+ 	 */
+-	info->apertures->ranges[0].base = pci_resource_start(dev->pdev, 0);
+-	info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0);
++	info->apertures->ranges[0].base = pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0);
++	info->apertures->ranges[0].size = pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0);
+ 
+ #if RTLNX_VER_MIN(5,2,0) || RTLNX_RHEL_MAJ_PREREQ(8,2)
+         /*
+Index: a/src/VBox/Additions/linux/drm/vbox_drv.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_drv.c	(revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_drv.c	(revision 90498)
+@@ -43,6 +43,10 @@
+ # include <drm/drm_probe_helper.h>
+ #endif
+ 
++#if RTLNX_VER_MIN(5,14,0)
++# include <drm/drm_aperture.h>
++#endif
++
+ #include "version-generated.h"
+ #include "revision-generated.h"
+ 
+@@ -65,12 +69,23 @@
+ 	struct drm_device *dev = NULL;
+ 	int ret = 0;
+ 
++# if RTLNX_VER_MIN(5,14,0)
++	ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "vboxvideofb");
++	if (ret)
++	{
++		printk("unable to remove conflicting framebuffer devices\n");
++		return ret;
++	}
++# endif /* 5.14 */
++
+ 	dev = drm_dev_alloc(&driver, &pdev->dev);
+ 	if (IS_ERR(dev)) {
+ 		ret = PTR_ERR(dev);
+ 		goto err_drv_alloc;
+ 	}
++#if RTLNX_VER_MAX(5,14,0)
+ 	dev->pdev = pdev;
++#endif
+ 	pci_set_drvdata(pdev, dev);
+ 
+ 	ret = vbox_driver_load(dev);
+@@ -125,7 +140,7 @@
+ 
+ 	drm_kms_helper_poll_disable(dev);
+ 
+-	pci_save_state(dev->pdev);
++	pci_save_state(VBOX_DRM_TO_PCI_DEV(dev));
+ 
+ 	drm_fb_helper_set_suspend_unlocked(&vbox->fbdev->helper, true);
+ 
+@@ -147,7 +162,7 @@
+ {
+ 	int ret;
+ 
+-	if (pci_enable_device(dev->pdev))
++	if (pci_enable_device(VBOX_DRM_TO_PCI_DEV(dev)))
+ 		return -EIO;
+ 
+ 	ret = vbox_drm_thaw(dev);
+Index: a/src/VBox/Additions/linux/drm/vbox_irq.c
+===================================================================
+--- a/src/VBox/Additions/linux/drm/vbox_irq.c	(revision 89690)
++++ a/src/VBox/Additions/linux/drm/vbox_irq.c	(revision 90498)
+@@ -206,7 +206,7 @@
+ 	INIT_WORK(&vbox->hotplug_work, vbox_hotplug_worker);
+ 	vbox_update_mode_hints(vbox);
+ #if RTLNX_VER_MIN(3,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,1)
+-	return drm_irq_install(vbox->dev, vbox->dev->pdev->irq);
++	return drm_irq_install(vbox->dev, VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq);
+ #else
+ 	return drm_irq_install(vbox->dev);
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch
new file mode 100644
index 0000000..0d960fa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch
@@ -0,0 +1,118 @@
+Subject: Fix regops build errors with linux 5.14
+
+Upstream-Status: backport
+
+svn-id: r90497
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+
+Index: a/src/VBox/Additions/linux/sharedfolders/regops.c
+===================================================================
+--- a/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 88716)
++++ a/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 90497)
+@@ -2126,7 +2126,11 @@
+     int    rc       = 0;
+ 
+     Assert(iov_iter_count(iter) + pStash->cb > 0);
++# if RTLNX_VER_MIN(5,14,0)
++    if (!(iter->iter_type & ITER_KVEC)) {
++#else
+     if (!(iter->type & ITER_KVEC)) {
++#endif
+         /*
+          * Do we have a stashed page?
+          */
+@@ -2372,7 +2376,9 @@
+ static size_t vbsf_iter_max_span_of_pages(struct iov_iter *iter)
+ {
+     size_t cPages;
+-# if RTLNX_VER_MIN(3,16,0)
++#if RTLNX_VER_MIN(5,14,0)
++    if (iter_is_iovec(iter) || (iter->iter_type & ITER_KVEC)) {
++#elif RTLNX_VER_MIN(3,16,0)
+     if (iter_is_iovec(iter) || (iter->type & ITER_KVEC)) {
+ #endif
+         const struct iovec *pCurIov    = iter->iov;
+@@ -2436,7 +2442,11 @@
+     } else {
+         /* Won't bother with accurate counts for the next two types, just make
+            some rough estimates (does pipes have segments?): */
++#  if RTLNX_VER_MIN(5,14,0)
++        size_t cSegs = iter->iter_type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1;
++#  else
+         size_t cSegs = iter->type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1;
++#endif
+         cPages = (iov_iter_count(iter) + (PAGE_SIZE * 2 - 2) * cSegs) >> PAGE_SHIFT;
+     }
+ # endif
+@@ -2588,8 +2598,14 @@
+     struct vbsf_reg_info   *sf_r       = kio->ki_filp->private_data;
+     struct vbsf_super_info *pSuperInfo = VBSF_GET_SUPER_INFO(inode->i_sb);
+ 
++#if RTLNX_VER_MIN(5,14,0)
+     SFLOGFLOW(("vbsf_reg_read_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n",
++               inode, kio->ki_filp, cbToRead, kio->ki_pos, iter->iter_type));
++#else
++    SFLOGFLOW(("vbsf_reg_read_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n",
+                inode, kio->ki_filp, cbToRead, kio->ki_pos, iter->type));
++#endif
++
+     AssertReturn(S_ISREG(inode->i_mode), -EINVAL);
+ 
+     /*
+@@ -2823,9 +2839,13 @@
+     bool const              fAppend    = RT_BOOL(kio->ki_filp->f_flags & O_APPEND);
+ # endif
+ 
+-
++#if RTLNX_VER_MIN(5,14,0)
+     SFLOGFLOW(("vbsf_reg_write_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n",
++               inode, kio->ki_filp, cbToWrite, offFile, iter->iter_type));
++#else
++    SFLOGFLOW(("vbsf_reg_write_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n",
+                inode, kio->ki_filp, cbToWrite, offFile, iter->type));
++#endif
+     AssertReturn(S_ISREG(inode->i_mode), -EINVAL);
+ 
+     /*
+@@ -3737,7 +3757,27 @@
+ }
+ #endif /* KERNEL_VERSION >= 2.6.24 */
+ 
++#if RTLNX_VER_MIN(5,14,0)
++static int vbsf_write_end(struct file *file, struct address_space *mapping,
++                loff_t pos, unsigned int len, unsigned int copied,
++                struct page *page, void *fsdata)
++{
++    static uint64_t volatile s_cCalls = 0;
++    if (s_cCalls++ < 16)
++    {
++        printk("vboxsf: Unexpected call to vbsf_write_end(pos=%#llx len=%#x)! Please report.\n",
++               (unsigned long long)pos, len);
++        RTLogBackdoorPrintf("vboxsf: Unexpected call to vbsf_write_end(pos=%#llx len=%#x)!  Please report.\n",
++                            (unsigned long long)pos, len);
++# ifdef WARN_ON
++        WARN_ON(1);
++# endif
++    }
+ 
++    return -ENOTSUPP;
++}
++#endif
++
+ #if RTLNX_VER_MIN(2,4,10)
+ 
+ # ifdef VBOX_UEK
+@@ -3791,8 +3831,11 @@
+ #if RTLNX_VER_MIN(2,5,12)
+     .set_page_dirty = __set_page_dirty_buffers,
+ #endif
+-#if RTLNX_VER_MIN(2,6,24)
++#if RTLNX_VER_MIN(5,14,0)
+     .write_begin    = vbsf_write_begin,
++    .write_end      = vbsf_write_end,
++#elif RTLNX_VER_MIN(2,6,24)
++    .write_begin    = vbsf_write_begin,
+     .write_end      = simple_write_end,
+ #elif RTLNX_VER_MIN(2,5,45)
+     .prepare_write  = simple_prepare_write,
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb
index 689782b..84651ae 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb
@@ -13,13 +13,15 @@
 
 SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
     file://Makefile.utils \
+    file://r89690-5.14-fixes.patch \
+    file://r90497-regops-5.14-fix.patch \
 "
 
 SRC_URI[md5sum] = "fce04bbef244b4df1a50e53d132d3e6f"
 SRC_URI[sha256sum] = "0212602eea878d6c9fd7f4a3e0182da3e4505f31d25f5539fb8f7b1fbe366195"
 
 S ?= "${WORKDIR}/vbox_module"
-S_task-patch = "${WORKDIR}/${VBOX_NAME}"
+S:task-patch = "${WORKDIR}/${VBOX_NAME}"
 
 export BUILD_TARGET_ARCH="${ARCH}"
 export BUILD_TARGET_ARCH:x86-64="amd64"
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.1.16.bb
index 59a0dff..c1b2288 100644
--- a/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb
+++ b/meta-openembedded/meta-oe/recipes-support/zchunk/zchunk_1.1.16.bb
@@ -17,6 +17,6 @@
 DEPENDS:append:libc-musl = " argp-standalone"
 LDFLAGS:append:libc-musl = " -largp"
 
-inherit meson
+inherit meson pkgconfig
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb
index b300555..30e8345 100644
--- a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.4.1.bb
@@ -14,6 +14,12 @@
 
 S = "${WORKDIR}/git"
 
+do_configure:prepend() {
+	sed -i 's:\$BATS_ROOT/lib:\$BATS_ROOT/${baselib}:g' ${S}/libexec/bats-core/bats
+	sed -i 's:\$BATS_ROOT/lib:\$BATS_ROOT/${baselib}:g' ${S}/libexec/bats-core/bats-exec-file
+	sed -i 's:\$BATS_ROOT/lib:\$BATS_ROOT/${baselib}:g' ${S}/libexec/bats-core/bats-exec-test
+}
+
 do_install() {
 	# Just a bunch of bash scripts to install
 	${S}/install.sh ${D}${prefix} ${baselib}