subtree updates march 30 2022

meta-raspberrypi: e39a0a570c..c06ae5eacf:
  Andrei Gherzan (7):
        linux-raspberrypi: linux-raspberrypi: Bump 5.10 to 5.10.95
        linux-raspberrypi: linux-raspberrypi: Bump 5.15 revision
        raspberrypi-firmware.inc: Move to using tarballs from rpi deb repo
        rpi-base.inc: Cleanup redundant imgtyp variable
        sdcard_image-rpi.bbclass: Use processed list of device trees
        docs: Update www.raspberrypi.com documentation links
        linux-raspberrypi: Bump 5.15 recipe to 5.15.30

  Khem Raj (10):
        python3-adafruit-circuitpython-register: Define PIP_INSTALL_PACKAGE
        python3-adafruit-pureio: Fix build with wheel
        python3-rtimu: Port to using setuptools and fix build with wheel
        python3-adafruit-platformdetect: Fix build with wheel
        linux-raspberrypi_5.15.bb: Upgrade to 5.15.25
        rpi-gpio: Port to PEP-517 packaging
        linux-raspberrypi_5.15.bb: Update to 5.15.26
        linux-raspberrypi: Update to 5.15.27
        python: Unbolt wheel packaging PIP_INSTALL_PACKAGE band-aids
        linux-raspberrypi: Update to 5.15.28

  Matthias Klein (1):
        u-boot: always set fdt_addr with firmware-provided FDT address

meta-security: 6cc8dde794..da93339112:
  Akshay Bhat (1):
        meta-security-isafw: Fixes to work with oe-core master

  Armin Kuster (16):
        README.md: fix typo
        packagegroup-security-tpm:  Fix QA Error
        apparmor: update to 3.0.4
        layer.conf: enable apparmor for qemu machine
        parsec-service: Only enable TPM is layer and DISTRO_FEATURE is defined.
        python3-privacyidea: fix QA ERROR
        python3-privacyidea: update to 3.6.2
        openscap-daemon: fix wheels and License issues.
        swtpm: update to 0.7.1
        libtpm: update to 0.9.2
        ima-evm-keys: don't use lnr
        tpm-tools: Fix pod2man race
        tpm2-tss: fix user perms
        python3-fail2ban: fix SPDX license.
        python3-privacyidea: drop old package ref.
        kas-security-alt: drop rust layer

  Ashish Sharma (1):
        Subject: [PATCH] Subject: python3-fail2ban: switch to legacy setuptools3

meta-openembedded: cf0ed42391..9a52bfc4a6:
  Adrian Freihofer (6):
        networkmanager: switch to meson
        networkmanager: new configure options
        libqrtr-glib: add new recipe
        libqmi: switch to meson and git
        modemmanager: update 1.16.8 -> 1.18.6
        networkmanager: replace deprecated licenses

  Alejandro Enedino Hernandez Samaniego (1):
        meta-python: Clean up recipes and classes that were moved to oe-core

  Andreas Müller (3):
        vlc: upgrade 3.0.12 -> 3.0.17-1 to fix build with ffmpeg5
        gnome-tweaks: Fix build on latest meson
        gnome-shell-extensions: Fix build with latest meson

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

  Anu Deepthika, Nandipati (2):
        usbguard: Add inital recipe
        usbguard: package simplification

  Armin Kuster (1):
        pw-am.sh: update to new patcwork system

  Carlos Rafael Giani (1):
        libopenmpt: Upgrade to version 0.6.2

  Changqing Li (1):
        hstr: add new recipe

  Christian Eggers (3):
        libiio: update to version 0.23
        boost-sml: 1.1.4+git --> 1.1.5
        graphviz: don't clear PACKAGECONFIG for nativesdk

  Daniel Gomez (5):
        python3-flask-versioned: Fix PYPA_WHEEL name
        v4l-utils: Update 1.20.0 -> 1.22.1
        opencl-icd-loader: Update 2020.12.18 -> v2022.01.04
        opencl-headers: Update v2020.12.18 -> v2022.01.04
        opencl-clhpp: Update 2.0.15 -> 2.0.16

  Jeremy A. Puhlman (1):
        nspr-native: fix ubuntu 18.04 builds using system gcc.

  Jeremy Puhlman (1):
        nspr-native: build correclty with extended buildtools.

  Jiaqing Zhao (2):
        libesmtp: bump 1.0.6 -> 1.1.0
        esmtp: fix libesmtp dependency check

  Julian Haller (1):
        nlohmann-json: Set CVE_PRODUCT according to NVD

  Justin Bronder (17):
        python3-crc32c: add 2.2.post0
        python3-feedformatter: drop recipe
        python3-coloredlogs: fix location of coloredlogs.pth
        python3-bitarray: switch to setuptools
        python3-kivy: fix wheel build
        python3-astor: fix wheel build
        python3-crcmod: use setuptools instead of distutils
        python3-gcovr: fix wheel build
        python3-prctl: fix wheel build
        python3-ntplib: pull from PyPI
        python3-lrparsing: use setuptools instead of distutils
        python3-configshell-fb: set PIP_INSTALL_PACKAGE
        python3-pyscaffold: fix wheel build and license
        python3-pyserial-asyncio: add 0.6
        python3-pymodbus: add 2.5.3
        python3-asyncinotify: add 2.0.2
        python3-pymodbus: add asyncio to package config

  Kai Kang (9):
        cairomm: correct SRC_URI
        networkmanager: fix installed-vs-shipped error
        python3-pydot: add recipe
        python3-blivet: use setuptools_legacy
        Revert "python3-ipy: drop recipe"
        wxwidgets: fix libdir for multilib
        wxwidgets: fix install errors
        graphviz: 2.44.1 -> 2.50.0
        graphviz: add pkg_postinst script

  Kas User (1):
        netdata: added enable/disable cloud config.

  Khem Raj (131):
        python3-apt: Point PYPA_WHEEL to custom location
        python3-pycups: Inherit setuptools_build_meta
        python3-anyjson: Drop recipe
        Revert "python3-twofish: drop recipe"
        cxxtest: Define PIP_INSTALL_DIST_PATH
        sanlock: Fix build with wheels on
        guider: Set PYPA_WHEEL
        unattended-upgrades: Migrate to use wheels
        python3-scapy: Define custom PYPA_WHEEL
        python3-termcolor: Use setuptools instead of distutils
        cyrus-sasl: Fix ptest builds
        bluepy: Define custom PYPA_WHEEL
        ufw: Upgrade to 0.36.1 bugfix release
        catfish: Fix wheel build
        menulibre: Inherit distutils3
        onboard: Inherit setuptools3-base instead of setuptools3
        python3-xmodem: Move docs to /usr/share/doc
        python3-blivet: Upgrade to 3.4.3
        python3-pytest-runner: Define PIP_INSTALL_PACKAGE
        python3-setuptools-rust-native: Define PIP_INSTALL_PACKAGE
        python3-dateutil: Define PIP_INSTALL_PACKAGE
        python3-poetry-core: Define PIP_INSTALL_PACKAGE
        python3-keras-applications: Define PIP_INSTALL_PACKAGE
        python3-pymetno: Define PIP_INSTALL_PACKAGE
        python3-cson: Define PIP_INSTALL_PACKAGE
        python3-dbussy: Define PIP_INSTALL_PACKAGE
        python3-txws: Define PIP_INSTALL_PACKAGE
        python3-aws-iot-device-sdk-python: Upgrade to 1.5.0
        python3-blivetgui: Upgrade to 2.3.0
        python3-blivet: Adjust install location for binaries and systemd units
        python3-slip-dbus: Fix build with wheel packaging
        xfce4-terminal: Add missing gtk-doc dependency
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        recipes: Update LICENSE variable to use SPDX license identifiers
        unattended-upgrades: Inherit setuptools3_legacy
        menulibre: Inherit setuptools3_legacy
        libbpf: Enable builds for riscv64
        pcp: Enable check for x11 distro feature
        gfbgraph: Check for x11 distro feature
        gedit: Fix REQUIRED_DISTRO_FEATURES to not overwrite x11
        thunar-shares-plugin: Check for x11 in distro features
        tepl: Check for x11 in distro features
        geary: Check for x11 in distro features
        packagegroup-xfce-multimedia: Check for x11 distro feature
        fbida: Fix build when x11 is not enabled in distro features
        python3-crc32c: set target platform via setup.cfg
        python3-pyruvate: Fix build on riscv32
        libdc1394: Change dependency from virtual/libgl to virtual/egl
        boinc-client: Depend on virtual/egl instead of virtual/libgl
        libsdl2-ttf: Change depenendency from virtual/libgl to virtual/egl
        Revert "python3-smbus: fix wheel build"
        catfish: Do not set PYPA_WHEEL
        libcereal: Disable Werror with ptests
        ttf-vlgothic: Specify accurate BSD license type
        pcp: Upgrade to 5.3.6
        pcp: Do not search headers on build host during cross compile
        libcereal: Link libatomics on mips for ptests
        nodejs: Disable for powerpc
        gimp: Disable vector icons on ppc
        capnproto: Link in libatomic on ppc
        rocksdb: Use new atomic builtins on powerpc as well
        fwts: Upgrade to 22.01.00
        fwts: Do not use --as-needed on ppc64
        python3-poetry-core: Setting PIP_INSTALL_PACKAGE is no longer needed
        python3-grpcio, python3-grpcio-tools: Upgrade to 1.44.0
        packagegroup-meta-python: Do not exclude python3-grpcio python3-grpcio-tools for ppc64
        python3-pyrad: Change poetry bbclass inherit to match oe-core
        python3-bcrypt: Remove
        python3-psutil: Remove
        abseil: Upgrade to 20211102.0 LTS release
        python3-kiwisolver: Upgrade to 1.4.0
        python3-pyruvate: Update libc to 0.2.120
        python3-chardet: Remove
        python3-pytest-runner: Remove
        php: Fix build on rv32/musl
        recipes: Adjust for renaming flit_core -> python_flit_core
        libgphoto: Fix build with libtool 2.4.7
        monit: Fix build with libtool 2.4.7
        uim: Fix build with libtool 2.4.7
        libbpf: Enable on ppc64
        librdkafka: Use CMAKE_INSTALL_LIBDIR
        liburing: Define libdir based on environment variable
        http-parser: Define LIBDIR
        msgpack-cpp: Upgrade to 4.1.1 release
        weechat: Define LIBDIR
        json-schema-validator: Use GNUInstallDirs in cmake
        redis-plus-plus: Use GNUInstallDirs in cmake
        libiec61850: Use GNUInstallDirs in cmake
        paho-mqtt-cpp: Use CMAKE_INSTALL_LIBDIR in cmake
        sqlite-orm: Define cmake variable defaults
        duktape: Upgrade to 2.7.0
        cockpit: Package missing nonarch_libdir
        unattended-upgrades: Package nonarch_libdir for systemd files
        fsverity-utils: Define LIBDIR
        luaposix: Fix INST_LIBDIR to honor libdir var
        uml-utilities: Define LIB_DIR to be libdir relative
        libsquish: Define LIBDIR knob
        io-compress-lzma-perl,io-compress-perl: Do not mark allarch
        luajit: Upgrade to latest on v2.1 branch
        libcppkafka: Use CMAKE_INSTALL_LIBDIR instead of hardcoding lib
        lvgl,lv-lib-png,lv-drivers: Pass libdir via LIB_INSTALL_DIR to cmake
        geany-plugins: Do not overwrite OE's pkg-config env
        io-compress-lzma-perl, io-compress-perl: Rename to use debian names
        projucer: Upgrade to 6.1.6
        grpc: Enable cpp plugin for target version too
        sysdig: Upgrade to 0.28.0
        libsquish: Fix build when libdir != 'lib'
        valijson: move out of hard dep on meta-networking
        mariadb: Add missing dependency on lzo
        mariadb: Enable openSSL and use as default SSL option
        mariadb: Align atomic ops to help clang on x86
        folks: Upgrade to 0.15.5
        geary: Fix build failures with latest vala
        netdata: Fix override separator syntax
        iniparser: Update to latest tip of trunk
        ndctl: Upgrade to v73
        rocksdb: Exclude on ppc/musl
        gsl: Disable on musl/ppc
        a2jmidid: Fix build on ppc/musl
        abseil-cpp: Fix ppc/musl patch
        gperftools: Disable cpu profiles for ppc/musl
        pmdk: Fix build with newer ndctl
        duktape: Use baselib to construct LIBDIR

  Leon Anavi (10):
        python3-prettytable: Upgrade 2.4.0 -> 3.1.1
        python3-transitions: Upgrade 0.8.10 -> 0.8.11
        python3-charset-normalizer: Upgrade 2.0.10 -> 2.0.12
        python3-semantic-version: Upgrade 2.8.5 -> 2.9.0
        python3-networkx: Upgrade 2.6.3 -> 2.7
        python3-h11: Upgrade 0.12.0 -> 0.13.0
        python3-humanize: Upgrade 3.14.0 -> 4.0.0
        python3-typed-ast: Upgrade 1.4.3 -> 1.5.2
        python3-bandit: Upgrade 1.7.2 -> 1.7.4
        xbindkeys: Add recipe

  Macpaul Lin (1):
        android-tools: adb: add u3 ss descriptor support

  Markus Volk (6):
        gjs: update; customize dependencies
        gnome-disk-utility: disable build of man pages
        evolution-data-server: update to v3.43.1
        libvdpau: allow to build native and nativesdk
        crossguid: update
        blueman: update; add missing RDEPENDS

  Matthias Klein (1):
        python3-smbus: fix wheel build

  Mikko Rapeli (2):
        polkit: add patches for CVE-2021-4034 and CVE-2021-4115
        polkit: switch from mozjs to duktape javascript engine

  Mingli Yu (4):
        gosu: add new recipe
        redis: remove fuzz warning
        libcereal: add ptest support
        mariadb: Upgrade to 10.7.3

  Peter Bergin (1):
        wireplumber: backport fix for default device setting

  Peter Kjellerstedt (1):
        net-snmp: Avoid running `make clean` as it may fail

  Preeti Sachan (1):
        live555: Fix rdepends of live555-dev

  Radovan Scasny (1):
        proftpd: update to 1.3.7c

  Randy MacLeod (7):
        libyang: update from 2.0.7 to 2.0.164
        iperf3: upgrade from 3.9 to 3.11
        syslog-ng: update from 3.31.2 to 3.26.1
        mcelog: update from 175 to 180
        haveged: update from 1.9.14 to 1.9.17
        pv: update from 1.6.6 to 1.6.20
        edac-utils: update to latest git head

  Richard Hughes (1):
        fwupd: New release

  Robert Joslyn (2):
        hwdata: Update to 0.357
        stunnel: Update to 5.63

  Ross Burton (23):
        layer.conf: change layer priority to match oe-core
        ufw: port to setuptools, use setuptools_legacy
        unattended-upgrades: remove PYPA_WHEEL
        python3-blivetgui: use setuptools_legacy
        python3-meh: fix HOMEPAGE
        python3-meh: use setuptools_legacy
        python3-poetry-core: self-bootstrap
        poetry-core: clean up class
        python3-pystache: remove, unmaintained
        python3-configparser: remove, not needed for Python 3
        python3-backports-functional-lru-cache: remove, not needed for Python 3
        python3-pyzmq: clean up recipe
        python3-pycurl: fix DEPENDS
        python3-twisted: remove empty PN-src and PN-dbg
        python3-pylint: upgrade to 2.12.2
        meta-python: migrate away from setuptool3 where possible
        packagegroup-meta-python: add poetry-core and unattended-upgrade
        meta-*: remove obsolete PYPA_WHEEL and PIP_INSTALL_PACKAGE assignments
        poetry_core: update for renamed class pip_install_wheel to python_pep517
        sanlock: update patch status
        Update for setuptools_build_meta renamed to python_setuptools_build_meta
        python3-lz4: use system lz4 library
        python3-lz4: add ptest

  S. Lockwood-Childs (2):
        gyp: fix for compatibility with Python 3.10 (part 2)
        devmem2: patches have been upstreamed

  Samuli Piippo (3):
        python3-path: add recipe
        python3-antlr4-runtime: add recipe
        python3-qface: add recipe

  Scott Murray (13):
        python3-babel: Remove
        python3-certifi: Remove
        python3-ndg-httpsclient: Remove
        python3-pyasn1: Remove
        python3-pyopenssl: Remove
        python3-pysocks: Remove
        python3-requests: Remove
        python3-urllib3: Remove
        mpd: upgrade to 0.23.6
        libmpdclient: upgrade to 2.20
        mpc: upgrade to 0.34
        ncmpc: upgrade to 0.46
        polkit: Fix build with libtool 2.4.7

  Stefan Herbrechtsmeier (4):
        grpc: Remove runtime dependency between grpc and protobuf-compiler
        spdlog: remove header-only leftover
        nginx: add gunzip PACKAGECONFIG
        openldap: correct slapd systemd service support

  Theodore A. Roth (1):
        python3-marshmallow: fix wheel build

  Tim Orling (40):
        python3-setuptools-rust-native: fix wheel build
        python3-cryptography: fix wheel build
        python3-pyruvate: fix wheel build
        python3-backcall: inherit flit_core
        python3-distutils-extra; merge inc, fix wheel build
        python3-ptyprocess: inherit flit_core
        python3-pyserial: also remove /usr/bin/__pycache__
        python3-twisted: also ship Twisted-*.dist-info
        python3-pillow: fix wheel build
        python3-xlrd: fix wheel build
        python3-pykickstart: fix wheel build
        python3-twofish: drop recipe
        python3-monotonic: fix wheel build
        python3-geomet: fix wheel build
        python3-pako: remove duplicate LICENSE
        python3-configobj: backport patch for setuptools
        python3-systemd: patch to use setuptools
        python3-twofish: patch to use setuptools
        python3-sdnotify: patch to use setuptools
        python3-pynetlinux: patch to use setuptools
        python3-pyiface: upgrade to latest git
        python3-meh: patch to use setuptools
        distutils*.bbclass: move from oe-core
        python3-ipy: drop recipe
        python3-poetry-core: add v1.0.8
        python3-dnspython: inherit poetry_core
        python3-pkgconfig: inherit poetry_core
        python3-iso8601: inherit poetry_core
        python3-rsa: inherit poetry_core
        python3-isort: inherit poetry_core
        python3-pymisp: inherit poetry_core
        python3-aiofiles: inherit poetry_core
        poetry_core: add helper class
        python3-iso8601: move to oe-core
        python3-ply: move to oe-core
        python3-poetry-core: move to oe-core
        python3-pretend: move to oe-core
        python3-pytest-subtests: move to oe-core
        python3-pytz: move to oe-core
        packagegroup-meta-python: drop recipes moved to core

  Tom Hochstein (1):
        python3-pybind11: Override pip install variables

  Trevor Gamblin (9):
        python3-django: upgrade 3.2.11 -> 3.2.12
        python3-django: upgrade 4.0.1 -> 4.0.2
        python3-pytest-lazy-fixture: add recipe
        python3-prettytable: add python3-pytest-lazy-fixture to ptest RDEPENDS
        packagegroup-meta-python: add python3-pytest-lazy-fixture
        grpc: upgrade 1.41.1 -> 1.45.0
        python3-protobuf: upgrade 3.19.3 -> 3.19.4
        python3-h5py: upgrade 3.5.0 -> 3.6.0
        python3-paramiko: upgrade 2.9.2 -> 2.10.3

  Vyacheslav Yurkov (1):
        sdbus-c++: disable code generation tools

  Wang Mingyu (81):
        python3-websockets: upgrade 10.1 -> 10.2
        python3-websocket-client: upgrade 1.2.3 -> 1.3.1
        python3-xlsxwriter: upgrade 3.0.2 -> 3.0.3
        python3-socketio: upgrade 5.5.1 -> 5.5.2
        python3-sentry-sdk: upgrade 1.5.3 -> 1.5.6
        babl: upgrade 0.1.88 -> 0.1.90
        gegl: upgrade 0.4.34 -> 0.4.36
        cyrus-sasl: upgrade 2.1.27 -> 2.1.28
        networkmanager: upgrade 1.34.0 -> 1.36.0
        bats: upgrade 1.5.0 -> 1.6.0
        cukinia: upgrade 0.5.1 -> 0.6.0
        iwd: upgrade 1.24 -> 1.25
        freerdp: upgrade 2.5.0 -> 2.6.0
        openconnect: upgrade 8.10 -> 8.20
        libcereal: upgrade 1.3.1 -> 1.3.2
        poco: upgrade 1.11.0 -> 1.11.1
        poppler: upgrade 22.02.0 -> 22.03.0
        smartmontools: upgrade 7.2 -> 7.3
        python3-autobahn: upgrade 22.1.1 -> 22.2.2
        python3-cheetah: upgrade 3.2.6.post1 -> 3.2.6.post2
        python3-django: upgrade 2.2.26 -> 2.2.27
        python3-httplib2: upgrade 0.20.2- > 0.20.4
        python3-icu: upgrade 2.8 -> 2.8.1
        python3-jsonrpcserver: upgrade 5.0.3 -> 5.0.6
        python3-lxml: upgrade 4.7.1 -> 4.8.0
        python3-pyscaffold: upgrade 4.1.4 -> 4.1.5
        python3-redis: upgrade 4.1.1 -> 4.1.4
        python3-scrypt: upgrade 0.8.19 -> 0.8.20
        python3-tqdm: upgrade 4.62.3 -> 4.63.0
        python3-twisted: upgrade 22.1.0 -> 22.2.0
        python3-waitress: upgrade 2.0.0 -> 2.1.0
        python3-astroid: upgrade 2.9.3 -> 2.10.0
        python3-bitarray: upgrade 2.3.7 -> 2.4.0
        python3-aws-iot-device-sdk-python: upgrade 1.5.0-> 1.5.1
        python3-imageio: upgrade 2.16.0 -> 2.16.1
        python3-python-vlc: upgrade 3.0.12118 -> 3.0.16120
        python3-pymisp: upgrade 2.4.152 -> 2.4.155.1
        python3-networkx: upgrade 2.7 -> 2.7.1
        python3-pychromecast: upgrade 10.2.3 -> 10.3.0
        smbnetfs: upgrade 0.6.1 -> 0.6.3
        python3-astroid: upgrade 2.10.0 -> 2.11.0
        python3-bitstruct: upgrade 8.12.1 -> 8.13.0
        python3-cppy: upgrade 1.1.0 -> 1.2.0
        python3-dnspython: upgrade 2.2.0 -> 2.2.1
        libiec61850: upgrade 1.5.0 -> 1.5.1
        evince: upgrade 41.3 -> 41.4
        networkmanager-openvpn: upgrade 1.8.16 -> 1.8.18
        networkmanager: upgrade 1.36.0 -> 1.36.2
        weechat: upgrade 3.4 -> 3.4.1
        freerdp: upgrade 2.6.0 -> 2.6.1
        libvdpau: upgrade 1.4 -> 1.5
        python3-itsdangerous: upgrade 2.1.0 -> 2.1.1
        python3-jsonrpcserver: upgrade 5.0.6 -> 5.0.7
        gjs: upgrade 1.71.1 -> 1.72.0
        gvfs: upgrade 1.49.1 -> 1.50.0
        nautilus: upgrade 41.2 -> 42.0
        gnome-disk-utility: upgrade 41.0 -> 42.0
        gnome-photos: upgrade 40.0 -> 42.0
        gnome-system-monitor: upgrade 41.0 -> 42.0
        metacity: upgrade 3.42.0 -> 3.44.0
        graphene: upgrade 1.10.6 -> 1.10.8
        libpeas: upgrade 1.30.0 -> 1.32.0
        php: upgrade 8.1.3 -> 8.1.4
        iwd: upgrade 1.25 -> 1.26
        libgsf: upgrade 1.14.48 -> 1.14.49
        libjcat: upgrade 0.1.10 -> 0.1.11
        libqb: upgrade 2.0.4 -> 2.0.6
        libwacom: upgrade 2.1.0 -> 2.2.0
        stm32flash: upgrade 0.6 -> 0.7
        babl: upgrade 0.1.90 -> 0.1.92
        libxmlb: upgrade 0.3.7 -> 0.3.8
        monit: upgrade 5.31.0 -> 5.32.0
        python3-astroid: upgrade 2.11.0 -> 2.11.2
        python3-autobahn: upgrade 22.2.2 -> 22.3.2
        python3-pylint: upgrade 2.12.2 -> 2.13.2
        python3-pymisp: upgrade 2.4.155.1 -> 2.4.157
        python3-redis: upgrade 4.1.4 -> 4.2.0
        python3-robotframework: upgrade 4.1.3 -> 5.0
        python3-tqdm: upgrade 4.63.0 -> 4.63.1
        python3-watchdog: upgrade 2.1.6 -> 2.1.7
        python3-pytest-metadata: upgrade 1.11.0 -> 2.0.1

  Xu Huan (18):
        python3-lz4: upgrade 3.1.10 -> 4.0.0
        python3-mccabe: upgrade 0.6.1 -> 0.7.0
        python3-pillow: upgrade 9.0.0 -> 9.0.1
        python3-snappy upgrade 0.6.0 -> 0.6.1
        python3-twine: upgrade 3.7.1 -> 3.8.0
        python3-xxhash: upgrade 2.0.2 -> 3.0.0
        python3-txaio: upgrade 21.2.1 -> 22.2.1
        python3-regex :upgrade 2021.11.10 -> 2022.3.2
        python3-pywbemtools: upgrade 0.9.1 -> 1.0.0
        python3-pymongo: upgrade 4.0.1 -> 4.0.2
        python3-wrapt: upgrade 1.13.3 -> 1.14.0
        python3-sqlalchemy: upgrade 1.4.31 -> 1.4.32
        python3-sentry-sdk: upgrade 1.5.6 -> 1.5.7
        python3-alembic: upgrade 1.7.6 -> 1.7.7
        python3-arpeggio: upgrade 1.10.2 -> 2.0.0
        python3-cachetools: upgrade 4.2.4 -> 5.0.0
        python3-cantools: upgrade 37.0.1 -> 37.0.7
        python3-intervals: upgrade 1.10.0.post1 -> 1.10.0

  Yi Zhao (5):
        netplan: fix parallel build failure
        nftables: upgrade 1.0.1 -> 1.0.2
        postfix: upgrade 3.6.4 -> 3.6.5
        dhcp-relay: upgrade 4.4.2p1 -> 4.4.3
        apache2: upgrade 2.4.52 -> 2.4.53

  Zoltán Böszörményi (1):
        nodejs: Upgrade to 16.14.0

  wangmy (3):
        python3-waitress: upgrade 2.1.0 -> 2.1.1
        openvpn: upgrade 2.5.5 -> 2.5.6
        rrdtool: upgrade 1.7.2 -> 1.8.0

poky: 49168f5d55..5fe3689f4f:
  Ahmad Fatoum (1):
        kernel-fitimage: allow overriding FIT configuration prefix

  Alejandro Hernandez Samaniego (1):
        initramfs-framework: Add overlayroot module

  Alexander Kanavin (36):
        sstate: do not add TARGET_ARCH to pkgarch for cross recipes.
        OELAYOUT_ABI: bump, avoid tmp/ breakage by removing old cross manifests
        libsndfile1: correct upstream version check
        libarchive: correct upstream version check
        glslang/spirv: synchronize with the rest of vulkan items
        rust: update 1.58.1 -> 1.59.0
        librsvg: update 2.52.5 -> 2.52.6
        xwayland: update 21.1.4 -> 22.1.0
        apt: upgrade 2.2.4 -> 2.4.0
        kea: upgrade 2.0.1 -> 2.0.2
        python3-cython: upgrade 0.29.27 -> 0.29.28
        diffoscope: upgrade 204 -> 206
        harfbuzz: upgrade 3.4.0 -> 4.0.0
        libsecret: upgrade 0.20.4 -> 0.20.5
        vulkan: upgrade 1.3.204.0 -> 1.3.204.1
        mmc-utils: upgrade to latest revision
        webkitgtk: upgrade 2.34.5 -> 2.34.6
        openssh: update 8.8 -> 8.9
        sysklogd: nobranch in SRC_URI is no longer necessary
        libuv: fix upstream version check
        bind: all even versions now get long term maintenance windows
        dbus-test: merge into main dbus recipe
        dbus: merge dbus.inc into the recipe
        dbus: update 1.12.22 -> 1.14.0
        python3-semantic-version: fix upstream verison check
        python3-typing-extensions: fix upstream version check
        bind: update 9.16.26 -> 9.18.1
        perl-cross: update 1.3.6 -> 1.3.7
        perl: update 5.34.0 -> 5.34.1
        diffoscope: upgrade 206 -> 207
        gtk+3: upgrade 3.24.31 -> 3.24.33
        squashfs-tools: correct upstream version check
        meson: upgrade 0.61.2 -> 0.61.3
        mtools: upgrade 4.0.37 -> 4.0.38
        sqlite3: upgrade 3.38.0 -> 3.38.1
        python3-sphinx-rtd-theme: correct upstream version check

  Alexandre Belloni (1):
        scripts/patchreview: handle Inactive-Upstream status

  Andrew Jeffery (5):
        rust: Introduce arch_to_rust_arch()
        rust: Introduce RUST_BUILD_ARCH
        rust: Add snapshot checksums for powerpc64le
        ipk: Import re in manifest module
        ipk: Decode byte data to string in manifest handling

  Bill Pittman (1):
        wic: Use custom kernel path if provided

  Bruce Ashfield (19):
        linux-yocto/5.15: riscv64: drop MAXPHYSMEM_128GB
        linux-yocto/5.10: features/zram: remove CONFIG_ZRAM_DEF_COMP
        linux-yocto/5.15: update to v5.15.24
        linux-yocto/5.10: update to v5.10.101
        linux-yocto/5.10: Fix ramoops/ftrace
        linux-yocto/5.15: arm defconfig fixes
        linux-yocto/5.15: update to v5.15.26
        linux-yocto/5.10: update to v5.10.103
        linux-yocto/5.15: riscv32: drop MAXPHYSMEM_1GB
        linux-yocto: nohz_full boot arg fix
        linux-yocto/5.10: split vtpm for more granular inclusion
        linux-yocto/5.15: split vtpm for more granular inclusion
        linux-yocto/5.10: cfg/debug: add configs for kcsan
        linux-yocto/5.15: cfg/debug: add configs for kcsan
        linux-yocto/5.15: update to v5.15.27
        linux-yocto-rt/5.15: update to -rt34
        linux-yocto-rt/5.10: update to -rt61
        linux-yocto/5.15: update to v5.15.30
        linux-yocto/5.10: update to v5.10.107

  Carlos Rafael Giani (1):
        libsdl2: Add libunwind-native to the libsdl2-native DEPENDS

  Changhyeok Bae (2):
        repo: upgrade 2.21 -> 2.22
        mobile-broadband-provider-info: upgrade 20210805 -> 20220315

  Chen Qi (1):
        multilib_global.bbclass: fix setting preferred version for canadian recipes

  Christian Eggers (7):
        license: expand_wildcard_licenses: add AGPL-3.0* wildcard
        ref-manual: INCOMPATIBLE_LICENSE: use new license wildcards
        glib-2.0: upgrade 2.70.4 -> 2.72.0
        rust-common: override RUST_LIBC for crosssdk
        machine-sdk: clear ABIEXTENSION for class-crosssdk
        rust-crosssdk: use ${RUST_LIBC} in ${PN}
        librsvg: reenable nativesdk

  Claudius Heine (4):
        overlayfs: add systemd unit path prefix to FILES:${PN} array
        overlayfs-etc: add condition to package-management feature conflict
        files: overlayfs-etc: wrap long lines of preinit file
        files: overlayfs-etc: add overlay mount options to preinit

  Daniel Gomez (1):
        bitbake: contrib: Add Dockerfile for building PR service

  Daniel Wagenknecht (4):
        copy_buildsystem: allow more layer paths
        bitbake: fetch2: ssh: username and password are optional
        bitbake: fetch2: ssh: fix path handling
        bitbake: fetch2: ssh: support checkstatus

  David Reyna (4):
        bitbake: toaster: Add 'Kirkstone', 'Honister', and 'Hardknott'. Remove 'Dunfell' and 'Gatesgarth'.
        bitbake: toaster: automation to generate fixture files
        bitbake: toaster: detect when bitbake crashed
        bitbake: toaster: race condition for end-of-build

  Diego Sueiro (1):
        grub-efi: Add option to include all available modules

  Joe Slater (5):
        zip: modify when match.S is built
        weston: require wayland as a distro feature
        expect: modify fixline1 script
        weston: use same distro features for weston and westion-init
        libxml2: fix CVE-2022-23308 regression

  Jose Quaresma (18):
        icecc.bbclass: enable networking in all tasks
        buildhistory.bbclass: create the buildhistory directory when needed
        Revert "cmake.bbclass: Set CXXFLAGS and CFLAGS"
        sstate: inside the threadedpool don't write to the shared localdata
        gstreamer1.0-plugins-base: libgst is already defined on PACKAGES_DYNAMIC
        gstreamer1.0-plugins-packaging: rename variables
        gstreamer1.0-plugins-bad/ugly: use the GPL-2.0-or-later only when it is in use
        gstreamer1.0: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-plugins-base: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-plugins-good: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-plugins-bad: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-plugins-ugly: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-libav: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-omx: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-vaapi: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-rtsp-server: upgrade 1.20.0 -> 1.20.1
        gstreamer1.0-python: upgrade 1.20.0 -> 1.20.1
        gst-devtools: upgrade 1.20.0 -> 1.20.1

  Kai Kang (1):
        python3-pyparsing: rdepends on python3-html

  Kamil Dziezyk (1):
        libacpi: Build libacpi also for 'aarch64' machines

  Khem Raj (42):
        musl: Update to latest master
        libical: Pass TOOLCHAIN_OPTIONS via CFLAGS
        libical: Do not set CC explicitly for gir compiler
        insane: Accomodate llvm-objdump
        systemtap: Enable for riscv64
        packagegroup-core-tools-profile: Enable systemtap for riscv64
        kmscube: Fix build when x11 is absent in distro features
        virglrenderer: Depend on virtual/egl
        zlib: Pass ldflags to configure tests using linking
        zip: Pass ldflags to configure tests using linking
        qemu: Fix build when x11 is not in distro features
        webkitgtk: Fix build when x11 is not in distro features
        unzip: Pass LDFLAGS to configure tests
        libtool: Recognise additional linker commandline options passed by clang
        m4: Fix build on musl/ppc
        gcompat: Update to latest
        powerpc32-linux: Remove libc cached variables
        ppc/siteinfo: Fix differences between musl and glibc
        gcompat: Do not use static-pie on ppc
        linux-yocto: Ignore textrels for ppc64 kernel
        binutils: Bump to latest 2.38 release branch
        erofs-utils: Use __SANE_USERSPACE_TYPES__ on ppc64
        libstd-rs: Fix build on riscv64/musl
        qemu: Fix build on ppc64
        qemuppc64.conf: Disable huge vmalloc
        qemuppc64: Use smp = 2
        libucontext: Upgrade to 1.2 release
        python3-cryptography: Upgrade to 36.0.2
        weston-init: Use pixman on riscv64 qemu
        openssh: Default to not using sandbox when cross compiling
        qemuriscv: Use virtio-tablet-pci for mouse
        weston-init: Use pixman rendering for qemuppc64
        qemu: Fix build on systems without MAP_SYNC
        libsdl2: Depend on virtual/egl
        piglit: Remove virtual/libgl
        waffle: Use the right dependencies as needed
        webkitgtk: Depend on virtual/egl instead of virtual/libgl
        qemu: Depend on libepoxy instead of virtual/libgl
        musl: Update to latest master
        diffutils: Fix build on ppc/musl
        grep: Fix build on ppc/musl
        qemu: Disable for ppc32

  Konrad Weihmann (2):
        pip_install_wheel: improve wheel handling
        setuptools_build_meta: remove python dependency

  Lee Chee Yang (1):
        poky.conf: update tested distro

  Luca Boccassi (3):
        mount-copybind: fix shellcheck warning
        mount-copybind: add MOUNT_COPYBIND_AVOID_OVERLAYFS env var to skip OverlayFS
        volatile-binds: add recipe variable to allow disabling OverlayFS

  Mark Hatle (2):
        insane.bbclass: Update insane.bbclass to work on FIPS enabled hosts
        bitbake: utils/ply: Change md5 usages to work on FIPS enabled hosts

  Markus Volk (9):
        libxslt: update to v1.1.35
        x86-base.inc: replace intel i965 driver with crocus
        mesa: update to 22.0.0
        gtk+3: remove deprecated option
        librsvg: inherit vala
        xf86-video-intel: add dependencies; remove dri1
        mesa: align target- and native build
        libva: make buildable for native and nativesdk
        wayland: provide wayland-client-native and wayland-protocols-native

  Marta Rybczynska (3):
        bitbake: lib/bb: more verbose error message
        cve-check: add json format
        cve-check: add coverage statistics on recipes with/without CVEs

  Michael Halstead (2):
        releases: update to include 3.3.5
        releases: update to include 3.1.15

  Michael Olbrich (1):
        kernel.bbclass: avoid config changes based on the availability of pahole

  Michael Opdenacker (30):
        documentation: remove references to prelink support
        documentation/README: how to upgrade Sphinx packages
        documentation: individual release note files
        documentation: release notes for 3.4.2
        bitbake: bitbake-user-manual: further override syntax updates
        bitbake: bitbake-user-manual: add "crate" fetcher
        bitbake: bitbake-user-manual: stop mentioning the Angstrom distribution
        bitbake: bitbake-user-manual: add note about the old syntax for OVERRIDES
        bitbake: bitbake-user-manual: yet another overrides syntax update
        bitbake: bitbake-user-manual: update allowed characters in overrides
        bitbake: bitbake-user-manual: add recent release manuals
        local.conf.sample: fix reference to extended configuration sample
        local.conf.sample: https and no newline for SSTATE_MIRRORS
        conf/machine: fix QEMU x86 sound options
        bitbake: doc: bitbake-user-manual: reorder variable definitions
        docs: overview-manual: formating fixes
        docs: migration-3.5.rst: fix "distutils" typo
        docs: update examples to add branch info to git URIs
        documentation/README: correct heading styles actually used in the YP manuals
        manuals: inclusive language updates
        dev-manual: details about using firewalls and limiting fetch threads
        docs: brief-yoctoprojectqs: update video tutorial
        docs: ref-system-requirements.rst: update list of supported distros
        ref-manual: sort list of variables in generated output
        ref-manual: reorder variable definitions
        doc: migration-3.5: move the distutils changes to the class changes section
        doc: migration-3.5: variable changes for inclusive language
        bitbake: doc: bitbake-user-manual: add branch parameter to git SRC_URI examples
        bitbake: doc: bitbake-user-manual: branch parameter now mandatory in git SRC_URIs
        bitbake: bitbake: bitbake-user-manual: punctuation fixes

  Ming Liu (5):
        image.bbclass: make sure do_rootfs run from a clean workspace
        weston-init: add use-pixman PACKAGECONFIG
        kernel-fitimage.bbclass: introduce get_fit_replacement_type function
        kernel-fitimage.bbclass: change 'echo' to 'bbnote'
        kernel-fitimage.bbclass: introduce FIT_SUPPORTED_INITRAMFS_FSTYPES

  Minjae Kim (2):
        gnu-config: update SRC_URI
        virglrenderer: update SRC_URI

  Nicholas Sielicki (1):
        dev-manual: note on using journald without syslog

  Olaf Mandel (1):
        bitbake: fetch2/git: stop generated tarballs from leaking info

  Oleksandr Ocheretnyi (1):
        kernel-devsrc: do not copy Module.symvers file during install

  Peter Kjellerstedt (24):
        license.py: Correct a comment
        gma500-gfx-check: Update LICENSE to use an SPDX license identifier
        default-distrovars.inc: Remove the empty default for WHITELIST_GPL-3.0
        selftest: recipetool: Correct the URI for socat
        recipetool/create_buildsys_python: Add support for more known licenses
        recipetool: Use SPDX license identifiers
        meta, meta-selftest: Replace more non-SPDX license identifiers
        manuals: Update LICENSE vars in examples to use SPDX license identifiers
        bitbake: knotty.py: Improve the message while waiting for running tasks to finish
        bitbake: knotty.py: Correct the width of the progress bar for the real tasks
        bitbake: knotty.py: A little clean up of TerminalFilter::updateFooter()
        oe-pkgdata-util: Adapt to the new variable override syntax
        create-spdx.bbclass: Remove an unnecessary path from do_create_spdx[dirs]
        deploy.bbclass: Remove an unnecessary path from do_deploy[dirs]
        package.bbclass: Remove an unnecessary path from do_package[dirs]
        image.bbclass: Remove two unnecessary paths from do_rootfs[dirs]
        go: Remove three unnecessary paths from do_compile[dirs]
        selftest/incompatible_lic: Remove references to AVAILABLE_LICENSES
        create-spdx.bbclass: Simplify extraction of license text
        license.bbclass: Remove the available_licenses() function
        bitbake: server/process: Correct a typo in a comment
        glib-2.0: Remove a leftover comment
        libdnf: Add a dependency on util-linux
        python3: Add a dependency on ncurses

  Pgowda (1):
        binutils: Avoid Race condition in as.info

  Quentin Schulz (1):
        ref-manual: classes: provide command with ready-to-use password

  Ralph Siemsen (2):
        libxml2: move to gitlab.gnome.org
        libxml2: update to 2.9.13

  Randy MacLeod (1):
        libarchive: upgrade 3.5.3 -> 3.6.0

  Ricardo Salveti (1):
        libpam: use /run instead of /var/run in systemd tmpfiles

  Richard Neill (1):
        systemd: Update 250.3 -> 250.4

  Richard Purdie (113):
        pip_install_wheel: Use BPN instead of PN to construct PYPI_PACKAGE default
        mutlilib: Handle WHITELIST_GPL-3.0 being unset
        recipetool/devtool: Further SPDX identifier cleanups
        license/insane: Show warning for obsolete license usage
        license: Rework INCOMPATIBLE_LICENSE wildcard handling
        libsndfile: Fix missing external library support
        python3-native: Drop opt-1 and opt-2 pyc files
        cmake-native: Remove help docs from the native sysroot
        python3-native: Remove all pyc files
        python3: Drop opt1 and opt2 pyc files from target
        Revert "libsdl2: Add libunwind-native to the libsdl2-native DEPENDS"
        Revert "libical: Pass TOOLCHAIN_OPTIONS via CFLAGS"
        layer.conf: Filter docs dependencies for efficiency
        layer.conf: Add libarchive-native e2fsprogs-native exclusion from sysroot
        python3: Reduce util-linux dependency to util-linux-libuuid
        layer.conf: Allow sysroot dependencies on perlcross-native to be skipped
        bitbake: knotty: Correctly handle multiple line items
        bitbake: knotty: Improve setscene task display
        expat: Upgrade 2.4.6 -> 2.4.7
        build-appliance-image: Update to master head revision
        vim: Update to 8.2.4524 for further CVE fixes
        bitbake: server/xmlrpcserver: Add missing xmlrpcclient import
        bitbake: uievent: Fix import warning for python 3.10
        bitbake: cooker: Fix environment history printing
        bitbake: toaster: Fix IMAGE_INSTALL issues with _append vs :append
        bitbake: toaster: move gen_fixtures to the correct path
        Revert "mesa: make sure GLES3 headers are installed"
        oeqa/runtime/ping: Improve failure message to include more detail
        scripts/runqemu: Fix memory limits for qemux86-64
        shadow-native: Simplify and fix syslog disable patch
        bitbake: bitbake: Bump to version 2.0.0
        poky: Bump to 4.0 in preparation for release
        python3-psutil/python3-bcrypt: Add missing HOMEPAGE
        py3o: Rename to python_py3o
        setuptools3_rust: Rename to python_setuptools3_rust
        poetry_core: Rename to python_poetry_core
        python3-cryptography: Add missing ptest tomli dependency
        python3-cryptography-vectors: Fix reproducibility
        perf-build-test/report: Drop phantomjs and html email reports support
        create-spdx: Use function rather than AVAILABLE_LICENSES
        sstate: Allow optimisation of do_create_spdx task dependencies
        license: Drop AVAILABLE_LICENSES
        libstd-rs: Extend to nativesdk
        rust-cross: Add rust-crosssdk variant for nativesdk use
        cargo: Add missing nativesdk support
        python3-cryptography: Fix ptest result handling
        python3-docutil: Extend to nativesdk
        bitbake: data_smart: Skip commonly accessed variables from variable data context lookup
        bitbake: data_smart: Avoid multiple getVarFlag calls
        bitbake: codeparser: Avoid log bufer overhead in cache case
        python3-snowballstemmer: Add new recipe
        python3-imagesize: Add new recipe
        python3-alabaster: Add new recipe
        python3-pyasn1: Add from meta-oe/meta-python
        ptest-packagelists.inc: Add python3-pyasn1 to fast ptests list
        python3-certifi: Add from meta-oe/meta-python
        python3-chardet: Add from meta-oe/meta-python
        python3-ndg-httpsclient: Add from meta-oe/meta-python
        python3-pyopenssl: Add from meta-oe/meta-python
        python3-pysocks: Add from meta-oe/meta-python
        python3-pytest-runner: Add from meta-oe/meta-python
        python3-requests: Add from meta-oe/meta-python
        python3-urllib3: Add from meta-oe/meta-python
        python3-babel: Add recipe from meta-oe/meta-python
        python3-sphinxcontrib-qthelp: Add new recipe
        python3-sphinxcontrib-devhelp: Add new recipe
        python3-sphinxcontrib-htmlhelp: Add new recipe
        python3-sphinxcontrib-serializinghtml: Add new recipe
        python3-sphinxcontrib-jsmath: Add new recipe
        python3-sphinxcontrib-applehelp: add new recipe
        python3-sphinx-rtd-theme: Add new recipe
        python3-sphinx: Add a new recipe
        python3-sphinx: Work around reproducibility issue
        python3: Add missing HOMEPAGE entries
        maintainers.inc: Add new python recipes
        Add buildtools-docs-tarball recipe
        buildtools-docs-tarball: Add test for building documentation using sphinx
        oeqa/selftest/tinfoil: Improve tinfoil event test debugging
        toaster: Fix broken overrides usage
        poky.yaml: Drop POKYVERSION and YOCTO_POKY references
        poky.yaml: Drop unused YOCTO_DOC_VERSION_MINUS_ONE
        Makefile/set_versions: Allow poky.yaml to be autogenerated
        conf.py/set_versions/poky.yaml: Set version in conf.py from poky.yaml
        set_versions: Add support for setting POKYVERSION found in older releases
        set_versions/switchers.js: Allow switchers.js version information to be autogenerated
        set_versions: Various improvements
        set_versions: Handle dev branch in switchers correctly
        set_versions/switchers: Drop versions shown to the active releases
        pseudo: Add patch to workaround paths with crazy lengths
        libtool: Upgrade 2.4.6 -> 2.4.7
        bitbake: siggen: Improve ambiguous use of 'dependent'
        Revert "set_versions: Handle dev branch in switchers correctly"
        Revert "set_versions/switchers: Drop versions shown to the active releases"
        set_versions: Handle dev branch in switchers correctly
        set_versions: Correct devbranch comparision
        bitbake: utils: Fix lockfile path length issues
        sanity: Add warning for local hasheqiv server with remote sstate mirrors
        bitbake: tinfoil: Allow run_command not to wait on events
        bitbake: cooker/siggen: Support exit calls and use for hashserv client
        bitbake: siggen: Add missing reset handler to hashserv signature generator
        bitbake: server/process: Move threads left debug to after cooker shutdown
        bitbake: cooker: Fix inotify watches causing memory resident bitbake corruption
        perl: Add missing RDEPENDS
        oeqa/selftest/tinfoil: Fix intermittent event loss issue in test
        create-spdx: Avoid regex warning by quoting correctly
        bitbake: cooker: Fix exception handling in parsers
        bitbake: cooker: Fix main loop starvation when parsing
        bitbake: cooker: Improve exception handling in parsing process
        bitbake: cooker: Simplify parser init function handling
        bitbake: cooker/process: Fix signal handling lockups
        bitbake: cooker: Rework force parser shutdown
        bitbake: build: Add missing parameter to TaskInvalid
        poky: Drop PREMIRRORS entries for scms

  Robert Joslyn (1):
        curl: Update to 7.82.0

  Robert P. J. Day (1):
        scripts: Various typo/grammar/punctuation fixes

  Robert Yang (4):
        coreutils: Disable statx for native build
        perl: Makefile.PL: Fix _PATH_LOG for deterministic
        quilt: Disable external sendmail for deterministic build
        cups: Add --with-dbusdir to EXTRA_OECONF for deterministic build

  Ross Burton (67):
        Revert "cve-check: add lockfile to task"
        classes: add setuptools3_legacy
        asciidoc: update git repository
        bmap-tools: remove redundant python3native inherit
        setuptools3.bbclass: clean up
        pip_install_wheel: clean up
        pip_install_wheel: don't lazy assign PIPINSTALLARGS
        python3-pip: remove obsolete and confusing comment
        flit_core: clean up configure/compile
        setuptools_build_meta: clean up configure/compile
        flit_core: respect PIP_INSTALL_DIST_PATH
        flit_core: add variable to control where pyproject.toml is located
        setuptools_build_meta: respect PIP_INSTALL_DIST_PATH
        setuptools_build_meta: add variable to control where pyproject.toml is located
        python3-flit-core: improve recipe
        setuptools3: respect PIP_INSTALL_DIST_PATH
        python3-pip: clean up PYPA_WHEEL usage
        python3-setuptools3: clean up PYPA_WHEEL usage
        python3-wheel: clean up PYPA_WHEEL usage
        bmap-tools: remove redundant PYPA_WHEEL
        python3-markdown: use setuptools_build_meta
        python3-pyrsistent: use setuptools_build_meta
        python3-pyyaml: use setuptools_build_meta
        python3-scons: remove PIP_INSTALL_DIST_PATH
        pip_install_wheel: generate the wheels in directory we control outside of S
        pip_install_wheel: install wheel with a glob
        python3-scons: remove redundant FILES:${PN}-doc
        flit_core: remove redundant python3-pip-native DEPENDS
        python3-pip: remove redundant DEPENDS on python3-setuptools-native
        pip_install_wheel: add a generic do_install for bootstrapping
        seatd: upgrade to 0.6.4 (fixes CVE-2022-25643)
        setuptools3-base: improve RDEPENDS assignment
        meta: remove obsolete PIP_INSTALL_PACKAGE
        meta: rename pip_install_wheel.bbclass to python_pep517.bbclass
        python_pep517: move PEP517_SOURCE_PATH to python_pep517
        python3-setuptools-rust-native: remove obsolete PIP_*
        python3-poetry-core: remove obsolete PIP_INSTALL_PACKAGE
        poetry_core: update for renamed class pip_install_wheel to python_pep517
        python3-cryptography: mark test_create_certificate_with_extensions as expected to fail
        python3-cryptography: remove obsolete PIP_INSTALL_DIST_PATH
        python3-installer: add installer module
        python_pep517: use installer instead of pip
        devupstream: fix handling of SRC_URI
        linux-yocto: remove redundant devupstream assignments
        python3-setuptools-rust-native: use setuptools_build_meta
        openssl: upgrade to 3.0.2
        Update documentation for Python packaging changes
        python3-packaging: remove duplicate python3-setuptools-native DEPENDS
        classes/flit_core: use python_pep517_do_compile
        classes/python_pep517: implement a standard do_compile
        classes/python_poetry_core: use python_pep517_do_compile
        classes/python_pep517: add more comments
        classes/setuptools_build_meta: use python_pep517_do_compile
        classes/flit_core: rename to python_flit_core
        classes/python_pep517: consolidate stub do_configure
        lttng-modules: remove redundant devupstream assignments
        python3-cryptography: enforce identical version for -cryptography-vectors
        python3-cryptography-vectors: upgrade to 36.0.2
        classes/setuptools_build_meta: rename to python_setuptools_build_meta
        bitbake: bitbake: knotty: display active tasks when printing keepAlive() message
        bitbake: bitbake: knotty: reduce keep-alive timeout from 5000s (83 minutes) to 10 minutes
        tiff: backport CVE fixes:
        python3: ignore CVE-2022-26488
        oeqa/runtime/context: remove duplicate sys.path entries when looking for modules
        grub: ignore CVE-2021-46705
        qemu: backport fixes for CVE-2022-26353 and CVE-2022-26354
        zlib: backport the fix for CVE-2018-25032

  Sakib Sajal (1):
        perl: generate alternative link for streamzip

  Samuli Piippo (2):
        mesa: make sure GLES3 headers are installed
        binutils-cross-canadian: enable gold for mingw

  Saul Wold (4):
        base/license: Rework INCOMPATIBLE_LICENSE variable handling
        convert-variable-renames: Fix output string
        meta/scripts: Improve internal variable naming
        documentation: Update for skip_recipe rename

  Stefan Herbrechtsmeier (4):
        systemd: move systemd shared library into its own package
        classes: rootfs-postcommands: include /etc/fstab in overlayfs_qa_check
        oeqa: selftest: overlayfs: add test for image with fstab entry
        zstd: add libzstd package

  Tean Cunningham (1):
        rootfs-postcommands: amend systemd_create_users add user to group check

  Tim Orling (44):
        flit_core: inherit setuptools3-base
        flit_core: export do_configure and do_compile
        python3-tomli: inherit flit_core
        python3-flit-core: upgrade 3.6.0 to 3.7.1
        docs: update setuptools3 class
        docs: ref-manual: drop distutils from variables
        docs: ref-manual: remove distutils* from classes
        docs: migration-3.5: distutils move
        docs: migration-2.6 drop distutils labels, terms
        docs: migration-3.3 drop distutils labels, terms
        docs: add new python packaging classes
        docs: add pip install variables
        python3-jsonschema: upgrade 3.2.0 -> 4.4.0
        python3-importlib-metadata: upgrade 4.10.1 -> 4.11.2
        bitbake: toaster-requirements.txt: Django 3.2 LTS
        bitbake: toaster: Update docs links in templates
        bitbake: toaster: orm/models -- drop django.utils.six
        bitbake: toaster: set DEFAULT_AUTO_FIELD
        bitbake: toaster: migratation for models.BigAutoField
        bitbake: bitbake: buildinfohelper.py fix for Django 3.2
        bitbake: toaster: drop landing_not_managed template
        python3-setuptools-rust-native: from meta-python
        pyo3.bbclass: move from meta-python
        setuptools3_rust.bbclass: move from meta-python
        python3-cryptography: move from meta-python
        python3-pytest-subtests: move from meta-python
        python3-cryptography-vectors: from meta-python
        python3-asn1crypto: move from meta-python
        python3-cffi: move from meta-python
        python3-pytz: move from meta-python
        python3-bcrypt: move from meta-python
        python3-pretend: move from meta-python
        python3-psutil: move from meta-python
        poetry_core.bbclass: move from meta-python
        python3-poetry-core: move from meta-python
        python3-iso8601: move from meta-python
        python3-typing-extensions: move from meta-python
        python3-semantic-version: move from meta-python
        python3-pycparser: move from meta-python
        python3-ply: move from meta-python
        maintainers.inc: add python3-crypto and friends
        ptest-packagelists.inc: add python3-cryptography
        ptest-packagelists: add python3-bcrypt and -pytz
        python3-pytest: upgrade 7.0.1 -> 7.1.1

  Tony McDowell (1):
        dev-manual: add instructions for compacting WSLv2 VHDX files

  Trevor Gamblin (3):
        iptables: do not install /etc/ethertypes
        iptables: use nft backend with libnftnl PACKAGECONFIG
        python3: upgrade 3.10.2 -> 3.10.3

  Zoltán Böszörményi (1):
        mesa: Allow building Mesa's OpenCL through PACKAGECONFIG

  leimaohui (1):
        bitbake: monitordisk.py: Deleted redundant word in warning message.

  wangmy (72):
        python3-git: upgrade 3.1.26 -> 3.1.27
        ell: upgrade 0.48 -> 0.49
        libgit2: upgrade 1.4.1 -> 1.4.2
        nghttp2: upgrade 1.46.0 -> 1.47.0
        python3-dbusmock: upgrade 0.25.0 -> 0.26.1
        python3-hypothesis: upgrade 6.37.2 -> 6.39.0
        at: upgrade 3.2.4 -> 3.2.5
        dbus: upgrade 1.12.20 -> 1.12.22
        ccache: upgrade 4.5.1 -> 4.6
        libjpeg-turbo: upgrade 2.1.2 -> 2.1.3
        libsolv: upgrade 0.7.20 -> 0.7.21
        libva: upgrade 2.13.0 -> 2.14.0
        mesa: upgrade 21.3.6 -> 21.3.7
        ovmf: upgrade 202111 -> 202202
        wget: upgrade 1.21.2 -> 1.21.3
        sqlite3: upgrade 3.37.2 -> 3.38.0
        sysstat: upgrade 12.4.4 -> 12.4.5
        btrfs-tools: upgrade 5.16 -> 5.16.2
        python3-hypothesis: upgrade 6.39.0 -> 6.39.2
        cmake: upgrade 3.22.2 -> 3.22.3
        asciidoc: upgrade 10.1.3 -> 10.1.4
        go: upgrade 1.17.7 -> 1.17.8
        gpgme: upgrade 1.17.0 -> 1.17.1
        python3-pycairo: upgrade 1.20.1 -> 1.21.0
        stress-ng: upgrade 0.13.11 -> 0.13.12
        sudo: upgrade 1.9.9 -> 1.9.10
        createrepo-c: upgrade 0.18.0 -> 0.19.0
        dnf: upgrade 4.10.0 -> 4.11.1
        harfbuzz: upgrade 4.0.0 -> 4.0.1
        libdnf: upgrade 0.65.0 -> 0.66.0
        librsvg: upgrade 2.52.6 -> 2.52.7
        linux-firmware: upgrade 20220209 -> 20220310
        python3-importlib-metadata: upgrade 4.11.2 -> 4.11.3
        lttng-modules: upgrade 2.13.1 -> 2.13.2
        python3-numpy: upgrade 1.22.2 -> 1.22.3
        libcgroup: upgrade 2.0 -> 2.0.1
        libuv: upgrade 1.43.0 -> 1.44.1
        dpkg: upgrade 1.21.1 -> 1.21.2
        gobject-introspection: upgrade 1.70.0 -> 1.72.0
        libdazzle: upgrade 3.42.0 -> 3.44.0
        libsolv: upgrade 0.7.21 -> 0.7.22
        man-db: upgrade 2.10.1 -> 2.10.2
        python3-markupsafe: upgrade 2.1.0 -> 2.1.1
        vala: upgrade 0.54.7 -> 0.56.0
        adwaita-icon-theme: upgrade 41.0 -> 42.0
        bluez5: upgrade 5.63 -> 5.64
        gnutls: upgrade 3.7.3 -> 3.7.4
        gsettings-desktop-schemas: upgrade 41.0 -> 42.0
        rng-tools: enable macro JENT_CONF_ENABLE_INTERNAL_TIMER
        libjitterentropy: upgrade 3.3.1 -> 3.4.0
        apt: upgrade 2.4.0 -> 2.4.3
        atk: upgrade 2.36.0 -> 2.38.0
        cronie: upgrade 1.5.7 -> 1.6.0
        diffoscope: upgrade 207 -> 208
        dpkg: upgrade 1.21.2 -> 1.21.4
        glib-networking: upgrade 2.70.1 -> 2.72.0
        iproute2: upgrade 5.16.0 -> 5.17.0
        libevdev: upgrade 1.12.0 -> 1.12.1
        libsoup: upgrade 3.0.4 -> 3.0.5
        lttng-modules: upgrade 2.13.2 -> 2.13.3
        lttng-ust: upgrade 2.13.1 -> 2.13.2
        msmtp: upgrade 1.8.19 -> 1.8.20
        sqlite3: upgrade 3.38.1 -> 3.38.2
        python3-asn1crypto: upgrade 1.4.0 -> 1.5.1
        python3-dbusmock: upgrade 0.26.1 -> 0.27.3
        python3-hypothesis: upgrade 6.39.2 -> 6.39.5
        python3-imagesize: upgrade 1.2.0 -> 1.3.0
        python3-jinja2: upgrade 3.0.3 -> 3.1.1
        python3-pytest-runner: upgrade 5.3.1 -> 6.0.0
        python3-pytest-subtests: upgrade 0.6.0 -> 0.7.0
        python3-pytz: upgrade 2021.3 -> 2022.1
        python3-urllib3: upgrade 1.26.8 -> 1.26.9

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ib4c513b74dbc38e31b3792d8323e877294f959d9
diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake
index 5cff9f9..042c918 100755
--- a/poky/bitbake/bin/bitbake
+++ b/poky/bitbake/bin/bitbake
@@ -28,7 +28,7 @@
 if sys.getfilesystemencoding() != "utf-8":
     sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
 
-__version__ = "1.53.1"
+__version__ = "2.0.0"
 
 if __name__ == "__main__":
     if __version__ != bb.__version__:
diff --git a/poky/bitbake/contrib/prserv/Dockerfile b/poky/bitbake/contrib/prserv/Dockerfile
new file mode 100644
index 0000000..9585fe3
--- /dev/null
+++ b/poky/bitbake/contrib/prserv/Dockerfile
@@ -0,0 +1,62 @@
+# SPDX-License-Identifier: MIT
+#
+# Copyright (c) 2022 Daniel Gomez <daniel@qtec.com>
+#
+# Dockerfile to build a bitbake PR service container
+#
+# From the root of the bitbake repository, run:
+#
+#   docker build -f contrib/prserv/Dockerfile . -t prserv
+#
+# Running examples:
+#
+# 1. PR Service in RW mode, port 18585:
+#
+# docker run --detach --tty \
+# --env PORT=18585 \
+# --publish 18585:18585 \
+# --volume $PWD:/var/lib/bbprserv \
+# prserv
+#
+# 2. PR Service in RO mode, default port (8585) and custom LOGFILE:
+#
+# docker run --detach --tty \
+# --env DBMODE="--read-only" \
+# --env LOGFILE=/var/lib/bbprserv/prservro.log \
+# --publish 8585:8585 \
+# --volume $PWD:/var/lib/bbprserv \
+# prserv
+#
+
+FROM alpine:3.14.4
+
+RUN apk add --no-cache python3
+
+COPY bin/bitbake-prserv /opt/bbprserv/bin/
+COPY lib/prserv /opt/bbprserv/lib/prserv/
+COPY lib/bb /opt/bbprserv/lib/bb/
+COPY lib/codegen.py /opt/bbprserv/lib/codegen.py
+COPY lib/ply /opt/bbprserv/lib/ply/
+COPY lib/bs4 /opt/bbprserv/lib/bs4/
+
+ENV PATH=$PATH:/opt/bbprserv/bin
+
+RUN mkdir -p /var/lib/bbprserv
+
+ENV DBFILE=/var/lib/bbprserv/prserv.sqlite3 \
+    LOGFILE=/var/lib/bbprserv/prserv.log \
+    LOGLEVEL=debug \
+    HOST=0.0.0.0 \
+    PORT=8585 \
+    DBMODE=""
+
+ENTRYPOINT [ "/bin/sh", "-c", \
+"bitbake-prserv \
+--file=$DBFILE \
+--log=$LOGFILE \
+--loglevel=$LOGLEVEL \
+--start \
+--host=$HOST \
+--port=$PORT \
+$DBMODE \
+&& tail -f $LOGFILE"]
diff --git a/poky/bitbake/doc/README b/poky/bitbake/doc/README
index 16e6cdf..cdbb237 100644
--- a/poky/bitbake/doc/README
+++ b/poky/bitbake/doc/README
@@ -8,7 +8,7 @@
 
 Folders exist for individual manuals as follows:
 
-* bitbake-user-manual      - The BitBake User Manual 
+* bitbake-user-manual      --- The BitBake User Manual 
 
 Each folder is self-contained regarding content and figures.
 
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst
index 088eb81..7a22e96 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.rst
@@ -523,7 +523,7 @@
 Thus far, this section has limited discussion to the direct inputs into
 a task. Information based on direct inputs is referred to as the
 "basehash" in the code. However, there is still the question of a task's
-indirect inputs - the things that were already built and present in the
+indirect inputs --- the things that were already built and present in the
 build directory. The checksum (or signature) for a particular task needs
 to add the hashes of all the tasks on which the particular task depends.
 Choosing which dependencies to add is a policy decision. However, the
@@ -534,7 +534,7 @@
 dependent task hashes can be influenced. Within the BitBake
 configuration file, we can give BitBake some extra information to help
 it construct the basehash. The following statement effectively results
-in a list of global variable dependency excludes - variables never
+in a list of global variable dependency excludes --- variables never
 included in any checksum. This example uses variables from OpenEmbedded
 to help illustrate the concept::
 
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
index 77384cf..f9d9e61 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
@@ -405,7 +405,7 @@
      ``git@gitlab.freedesktop.org:mesa/mesa.git``, however the expected URL in
      :term:`SRC_URI` is the following::
 
-       SRC_URI = "git://git@gitlab.freedesktop.org/mesa/mesa.git;protocol=ssh;..."
+       SRC_URI = "git://git@gitlab.freedesktop.org/mesa/mesa.git;branch=main;protocol=ssh;..."
 
      Note the ``:`` character changed for a ``/`` before the path to the project.
 
@@ -432,9 +432,9 @@
    raw Git metadata is provided. This parameter implies the "nocheckout"
    parameter as well.
 
--  *"branch":* The branch(es) of the Git tree to clone. If unset, this
-   is assumed to be "master". The number of branch parameters much match
-   the number of name parameters.
+-  *"branch":* The branch(es) of the Git tree to clone. Unless
+   "nobranch" is set to "1", this is a mandatory parameter. The number of
+   branch parameters must match the number of name parameters.
 
 -  *"rev":* The revision to use for the checkout. The default is
    "master".
@@ -457,9 +457,9 @@
 
 Here are some example URLs::
 
-   SRC_URI = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
-   SRC_URI = "git://git.oe.handhelds.org/git/vip.git;protocol=http"
-   SRC_URI = "git://git@gitlab.freedesktop.org/mesa/mesa.git;protocol=ssh;..."
+   SRC_URI = "git://github.com/fronteed/icheck.git;protocol=https;branch=${PV};tag=${PV}"
+   SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
+   SRC_URI = "git://git@gitlab.freedesktop.org/mesa/mesa.git;branch=main;protocol=ssh;..."
 
 .. note::
 
@@ -688,6 +688,22 @@
 
 It can also be used when setting mirrors definitions using the :term:`PREMIRRORS` variable.
 
+Crate Fetcher (``crate://``)
+----------------------------
+
+This submodule fetches code for
+`Rust language "crates" <https://doc.rust-lang.org/reference/glossary.html?highlight=crate#crate>`__
+corresponding to Rust libraries and programs to compile. Such crates are typically shared
+on https://crates.io/ but this fetcher supports other crate registries too.
+
+The format for the :term:`SRC_URI` setting must be::
+
+   SRC_URI = "crate://REGISTRY/NAME/VERSION"
+
+Here is an example URL::
+
+   SRC_URI = "crate://crates.io/glob/0.2.11"
+
 Other Fetchers
 --------------
 
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.rst
index 1c31c1f..35ffb88 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.rst
@@ -61,10 +61,9 @@
 
 Today, BitBake is the primary basis of the
 `OpenEmbedded <https://www.openembedded.org/>`__ project, which is being
-used to build and maintain Linux distributions such as the `Angstrom
-Distribution <http://www.angstrom-distribution.org/>`__, and which is
-also being used as the build tool for Linux projects such as the `Yocto
-Project <https://www.yoctoproject.org>`__.
+used to build and maintain Linux distributions such as the `Poky
+Reference Distribution <https://www.yoctoproject.org/software-item/poky/>`__,
+developed under the umbrella of the `Yocto Project <https://www.yoctoproject.org>`__.
 
 Prior to BitBake, no other build tool adequately met the needs of an
 aspiring embedded Linux distribution. All of the build systems used by
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
index 174cac7..af4b135 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst
@@ -510,8 +510,8 @@
 
 .. note::
 
-   Overrides can only use lower-case characters. Additionally,
-   underscores are not permitted in override names as they are used to
+   Overrides can only use lower-case characters, digits and dashes.
+   In particular, colons are not permitted in override names as they are used to
    separate overrides from each other and from the variable name.
 
 -  *Selecting a Variable:* The :term:`OVERRIDES` variable is a
@@ -523,14 +523,14 @@
 
       OVERRIDES = "architecture:os:machine"
       TEST = "default"
-      TEST_os = "osspecific"
-      TEST_nooverride = "othercondvalue"
+      TEST:os = "osspecific"
+      TEST:nooverride = "othercondvalue"
 
    In this example, the :term:`OVERRIDES`
    variable lists three overrides: "architecture", "os", and "machine".
    The variable ``TEST`` by itself has a default value of "default". You
    select the os-specific version of the ``TEST`` variable by appending
-   the "os" override to the variable (i.e. ``TEST_os``).
+   the "os" override to the variable (i.e. ``TEST:os``).
 
    To better understand this, consider a practical example that assumes
    an OpenEmbedded metadata-based Linux kernel recipe file. The
@@ -567,7 +567,7 @@
 -  *Setting a Variable for a Single Task:* BitBake supports setting a
    variable just for the duration of a single task. Here is an example::
 
-      FOO_task-configure = "val 1"
+      FOO:task-configure = "val 1"
       FOO:task-compile = "val 2"
 
    In the
@@ -585,6 +585,16 @@
 
       EXTRA_OEMAKE:prepend:task-compile = "${PARALLEL_MAKE} "
 
+.. note::
+
+   Before BitBake 1.52 (Honister 3.4), the syntax for :term:`OVERRIDES`
+   used ``_`` instead of ``:``, so you will still find a lot of documentation
+   using ``_append``, ``_prepend``, and ``_remove``, for example.
+
+   For details, see the
+   :yocto_docs:`Overrides Syntax Changes </migration-guides/migration-3.4.html#override-syntax-changes>`
+   section in the Yocto Project manual migration notes.
+
 Key Expansion
 -------------
 
@@ -1648,8 +1658,8 @@
 
 .. _variants-class-extension-mechanism:
 
-Variants - Class Extension Mechanism
-====================================
+Variants --- Class Extension Mechanism
+======================================
 
 BitBake supports multiple incarnations of a recipe file via the
 :term:`BBCLASSEXTEND` variable.
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index 59a9de2..af4ff98 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -93,6 +93,13 @@
       fetcher does not attempt to use the host listed in :term:`SRC_URI` after
       a successful fetch from the :term:`PREMIRRORS` occurs.
 
+   :term:`BB_BASEHASH_IGNORE_VARS`
+      Lists variables that are excluded from checksum and dependency data.
+      Variables that are excluded can therefore change without affecting
+      the checksum mechanism. A common example would be the variable for
+      the path of the build. BitBake's output should not (and usually does
+      not) depend on the directory in which it was built.
+
    :term:`BB_CHECK_SSL_CERTS`
       Specifies if SSL certificates should be checked when fetching. The default
       value is ``1`` and certificates are not checked if the value is set to ``0``.
@@ -236,17 +243,6 @@
       based on the interval occur each time a respective interval is
       reached beyond the initial warning (i.e. 1 Gbytes and 100 Kbytes).
 
-   :term:`BB_ENV_PASSTHROUGH_ADDITIONS`
-      Specifies an additional set of variables to allow through from the
-      external environment into BitBake's datastore. This list of variables
-      are on top of the internal list set in
-      :term:`BB_ENV_PASSTHROUGH`.
-
-      .. note::
-
-         You must set this variable in the external environment in order
-         for it to work.
-
    :term:`BB_ENV_PASSTHROUGH`
       Specifies the internal list of variables to allow through from
       the external environment into BitBake's datastore. If the value of
@@ -259,6 +255,17 @@
          You must set this variable in the external environment in order
          for it to work.
 
+   :term:`BB_ENV_PASSTHROUGH_ADDITIONS`
+      Specifies an additional set of variables to allow through from the
+      external environment into BitBake's datastore. This list of variables
+      are on top of the internal list set in
+      :term:`BB_ENV_PASSTHROUGH`.
+
+      .. note::
+
+         You must set this variable in the external environment in order
+         for it to work.
+
    :term:`BB_FETCH_PREMIRRORONLY`
       When set to "1", causes BitBake's fetcher module to only search
       :term:`PREMIRRORS` for files. BitBake will not
@@ -337,13 +344,6 @@
 
       For example usage, see :term:`BB_GIT_SHALLOW`.
 
-   :term:`BB_BASEHASH_IGNORE_VARS`
-      Lists variables that are excluded from checksum and dependency data.
-      Variables that are excluded can therefore change without affecting
-      the checksum mechanism. A common example would be the variable for
-      the path of the build. BitBake's output should not (and usually does
-      not) depend on the directory in which it was built.
-
    :term:`BB_HASHCHECK_FUNCTION`
       Specifies the name of the function to call during the "setscene" part
       of the task's execution in order to validate the list of task hashes.
@@ -426,6 +426,19 @@
       If you want to force log files to take a specific name, you can set this
       variable in a configuration file.
 
+   :term:`BB_MULTI_PROVIDER_ALLOWED`
+      Allows you to suppress BitBake warnings caused when building two
+      separate recipes that provide the same output.
+
+      BitBake normally issues a warning when building two different recipes
+      where each provides the same output. This scenario is usually
+      something the user does not want. However, cases do exist where it
+      makes sense, particularly in the ``virtual/*`` namespace. You can use
+      this variable to suppress BitBake's warnings.
+
+      To use the variable, list provider names (e.g. recipe names,
+      ``virtual/kernel``, and so forth).
+
    :term:`BB_NICE_LEVEL`
       Allows BitBake to run at a specific priority (i.e. nice level).
       System permissions usually mean that BitBake can reduce its priority
@@ -490,14 +503,14 @@
       Selects the name of the scheduler to use for the scheduling of
       BitBake tasks. Three options exist:
 
-      -  *basic* - The basic framework from which everything derives. Using
+      -  *basic* --- the basic framework from which everything derives. Using
          this option causes tasks to be ordered numerically as they are
          parsed.
 
-      -  *speed* - Executes tasks first that have more tasks depending on
+      -  *speed* --- executes tasks first that have more tasks depending on
          them. The "speed" option is the default.
 
-      -  *completion* - Causes the scheduler to try to complete a given
+      -  *completion* --- causes the scheduler to try to complete a given
          recipe once its build has started.
 
    :term:`BB_SCHEDULERS`
@@ -544,10 +557,10 @@
 
       The variable can be set using one of two policies:
 
-      -  *cache* - Retains the value the system obtained previously rather
+      -  *cache* --- retains the value the system obtained previously rather
          than querying the source control system each time.
 
-      -  *clear* - Queries the source controls system every time. With this
+      -  *clear* --- queries the source controls system every time. With this
          policy, there is no cache. The "clear" policy is the default.
 
    :term:`BB_STRICT_CHECKSUM`
@@ -673,7 +686,7 @@
       This variable is useful in situations where the same recipe appears
       in more than one layer. Setting this variable allows you to
       prioritize a layer against other layers that contain the same recipe
-      - effectively letting you control the precedence for the multiple
+      --- effectively letting you control the precedence for the multiple
       layers. The precedence established through this variable stands
       regardless of a recipe's version (:term:`PV` variable).
       For example, a layer that has a recipe with a higher :term:`PV` value but
@@ -1054,19 +1067,6 @@
       upstream source, and then locations specified by :term:`MIRRORS` in that
       order.
 
-   :term:`BB_MULTI_PROVIDER_ALLOWED`
-      Allows you to suppress BitBake warnings caused when building two
-      separate recipes that provide the same output.
-
-      BitBake normally issues a warning when building two different recipes
-      where each provides the same output. This scenario is usually
-      something the user does not want. However, cases do exist where it
-      makes sense, particularly in the ``virtual/*`` namespace. You can use
-      this variable to suppress BitBake's warnings.
-
-      To use the variable, list provider names (e.g. recipe names,
-      ``virtual/kernel``, and so forth).
-
    :term:`OVERRIDES`
       BitBake uses :term:`OVERRIDES` to control what variables are overridden
       after BitBake parses recipes and configuration files.
@@ -1331,7 +1331,7 @@
       The section in which packages should be categorized.
 
    :term:`SRC_URI`
-      The list of source files - local or remote. This variable tells
+      The list of source files --- local or remote. This variable tells
       BitBake which bits to pull for the build and how to pull them. For
       example, if the recipe or append file needs to fetch a single tarball
       from the Internet, the recipe or append file uses a :term:`SRC_URI`
@@ -1347,17 +1347,17 @@
       the :ref:`bitbake-user-manual/bitbake-user-manual-fetching:fetchers`
       section.
 
-      -  ``az://`` : Fetches files from an Azure Storage account using HTTPS.
+      -  ``az://``: Fetches files from an Azure Storage account using HTTPS.
 
-      -  ``bzr://`` : Fetches files from a Bazaar revision control
+      -  ``bzr://``: Fetches files from a Bazaar revision control
          repository.
 
-      -  ``ccrc://`` - Fetches files from a ClearCase repository.
+      -  ``ccrc://``: Fetches files from a ClearCase repository.
 
-      -  ``cvs://`` : Fetches files from a CVS revision control
+      -  ``cvs://``: Fetches files from a CVS revision control
          repository.
 
-      -  ``file://`` - Fetches files, which are usually files shipped
+      -  ``file://``: Fetches files, which are usually files shipped
          with the Metadata, from the local machine.
          The path is relative to the :term:`FILESPATH`
          variable. Thus, the build system searches, in order, from the
@@ -1365,71 +1365,71 @@
          the directory in which the recipe file (``.bb``) or append file
          (``.bbappend``) resides:
 
-         -  ``${BPN}`` - The base recipe name without any special suffix
+         -  ``${BPN}``: the base recipe name without any special suffix
             or version numbers.
 
-         -  ``${BP}`` - ``${BPN}-${PV}``. The base recipe name and
+         -  ``${BP}`` - ``${BPN}-${PV}``: the base recipe name and
             version but without any special package name suffix.
 
-         -  *files -* Files within a directory, which is named ``files``
+         -  ``files``: files within a directory, which is named ``files``
             and is also alongside the recipe or append file.
 
-      -  ``ftp://`` : Fetches files from the Internet using FTP.
+      -  ``ftp://``: Fetches files from the Internet using FTP.
 
-      -  ``git://`` : Fetches files from a Git revision control
+      -  ``git://``: Fetches files from a Git revision control
          repository.
 
-      -  ``gitsm://`` : Fetches submodules from a Git revision control
+      -  ``gitsm://``: Fetches submodules from a Git revision control
          repository.
 
-      -  ``hg://`` : Fetches files from a Mercurial (``hg``) revision
+      -  ``hg://``: Fetches files from a Mercurial (``hg``) revision
          control repository.
 
-      -  ``http://`` : Fetches files from the Internet using HTTP.
+      -  ``http://``: Fetches files from the Internet using HTTP.
 
-      -  ``https://`` : Fetches files from the Internet using HTTPS.
+      -  ``https://``: Fetches files from the Internet using HTTPS.
 
-      -  ``npm://`` - Fetches JavaScript modules from a registry.
+      -  ``npm://``: Fetches JavaScript modules from a registry.
 
-      -  ``osc://`` : Fetches files from an OSC (OpenSUSE Build service)
+      -  ``osc://``: Fetches files from an OSC (OpenSUSE Build service)
          revision control repository.
 
-      -  ``p4://`` : Fetches files from a Perforce (``p4``) revision
+      -  ``p4://``: Fetches files from a Perforce (``p4``) revision
          control repository.
 
-      -  ``repo://`` : Fetches files from a repo (Git) repository.
+      -  ``repo://``: Fetches files from a repo (Git) repository.
 
-      -  ``ssh://`` : Fetches files from a secure shell.
+      -  ``ssh://``: Fetches files from a secure shell.
 
-      -  ``svn://`` : Fetches files from a Subversion (``svn``) revision
+      -  ``svn://``: Fetches files from a Subversion (``svn``) revision
          control repository.
 
       Here are some additional options worth mentioning:
 
-      -  ``downloadfilename`` : Specifies the filename used when storing
+      -  ``downloadfilename``: Specifies the filename used when storing
          the downloaded file.
 
-      -  ``name`` - Specifies a name to be used for association with
+      -  ``name``: Specifies a name to be used for association with
          :term:`SRC_URI` checksums or :term:`SRCREV` when you have more than one
          file or git repository specified in :term:`SRC_URI`. For example::
 
-            SRC_URI = "git://example.com/foo.git;name=first \
-                       git://example.com/bar.git;name=second \
+            SRC_URI = "git://example.com/foo.git;branch=main;name=first \
+                       git://example.com/bar.git;branch=main;name=second \
                        http://example.com/file.tar.gz;name=third"
 
             SRCREV_first = "f1d2d2f924e986ac86fdf7b36c94bcdf32beec15"
             SRCREV_second = "e242ed3bffccdf271b7fbaf34ed72d089537b42f"
             SRC_URI[third.sha256sum] = "13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de"
 
-      -  ``subdir`` : Places the file (or extracts its contents) into the
+      -  ``subdir``: Places the file (or extracts its contents) into the
          specified subdirectory. This option is useful for unusual tarballs
          or other archives that do not have their files already in a
          subdirectory within the archive.
 
-      -  ``subpath`` - Limits the checkout to a specific subpath of the
+      -  ``subpath``: Limits the checkout to a specific subpath of the
          tree when using the Git fetcher is used.
 
-      -  ``unpack`` : Controls whether or not to unpack the file if it is
+      -  ``unpack``: Controls whether or not to unpack the file if it is
          an archive. The default action is to unpack the file.
 
    :term:`SRCDATE`
diff --git a/poky/bitbake/doc/releases.rst b/poky/bitbake/doc/releases.rst
index d68d715..6635032 100644
--- a/poky/bitbake/doc/releases.rst
+++ b/poky/bitbake/doc/releases.rst
@@ -1,32 +1,74 @@
 .. SPDX-License-Identifier: CC-BY-2.5
 
-=========================
- Current Release Manuals
-=========================
+===========================
+ Supported Release Manuals
+===========================
+
+******************************
+Release Series 3.4 (honister)
+******************************
+
+- :yocto_docs:`3.4 BitBake User Manual </3.4/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.4.1 BitBake User Manual </3.4.1/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.4.2 BitBake User Manual </3.4.2/bitbake-user-manual/bitbake-user-manual.html>`
+
+******************************
+Release Series 3.3 (hardknott)
+******************************
+
+- :yocto_docs:`3.3 BitBake User Manual </3.3/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.3.1 BitBake User Manual </3.3.1/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.3.2 BitBake User Manual </3.3.2/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.3.3 BitBake User Manual </3.3.3/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.3.4 BitBake User Manual </3.3.4/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.3.5 BitBake User Manual </3.3.5/bitbake-user-manual/bitbake-user-manual.html>`
 
 ****************************
-3.1 'dunfell' Release Series
+Release Series 3.1 (dunfell)
 ****************************
 
 - :yocto_docs:`3.1 BitBake User Manual </3.1/bitbake-user-manual/bitbake-user-manual.html>`
 - :yocto_docs:`3.1.1 BitBake User Manual </3.1.1/bitbake-user-manual/bitbake-user-manual.html>`
 - :yocto_docs:`3.1.2 BitBake User Manual </3.1.2/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.3 BitBake User Manual </3.1.3/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.4 BitBake User Manual </3.1.4/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.5 BitBake User Manual </3.1.5/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.6 BitBake User Manual </3.1.6/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.7 BitBake User Manual </3.1.7/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.8 BitBake User Manual </3.1.8/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.9 BitBake User Manual </3.1.9/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.10 BitBake User Manual </3.1.10/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.11 BitBake User Manual </3.1.11/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.12 BitBake User Manual </3.1.12/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.13 BitBake User Manual </3.1.13/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.1.14 BitBake User Manual </3.1.14/bitbake-user-manual/bitbake-user-manual.html>`
 
 ==========================
- Previous Release Manuals
+ Outdated Release Manuals
 ==========================
 
+*******************************
+Release Series 3.2 (gatesgarth)
+*******************************
+
+- :yocto_docs:`3.2 BitBake User Manual </3.2/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.2.1 BitBake User Manual </3.2.1/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.2.2 BitBake User Manual </3.2.2/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.2.3 BitBake User Manual </3.2.3/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.2.4 BitBake User Manual </3.2.4/bitbake-user-manual/bitbake-user-manual.html>`
+
 *************************
-3.0 'zeus' Release Series
+Release Series 3.0 (zeus)
 *************************
 
 - :yocto_docs:`3.0 BitBake User Manual </3.0/bitbake-user-manual/bitbake-user-manual.html>`
 - :yocto_docs:`3.0.1 BitBake User Manual </3.0.1/bitbake-user-manual/bitbake-user-manual.html>`
 - :yocto_docs:`3.0.2 BitBake User Manual </3.0.2/bitbake-user-manual/bitbake-user-manual.html>`
 - :yocto_docs:`3.0.3 BitBake User Manual </3.0.3/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`3.0.4 BitBake User Manual </3.0.4/bitbake-user-manual/bitbake-user-manual.html>`
 
 ****************************
-2.7 'warrior' Release Series
+Release Series 2.7 (warrior)
 ****************************
 
 - :yocto_docs:`2.7 BitBake User Manual </2.7/bitbake-user-manual/bitbake-user-manual.html>`
@@ -36,7 +78,7 @@
 - :yocto_docs:`2.7.4 BitBake User Manual </2.7.4/bitbake-user-manual/bitbake-user-manual.html>`
 
 *************************
-2.6 'thud' Release Series
+Release Series 2.6 (thud)
 *************************
 
 - :yocto_docs:`2.6 BitBake User Manual </2.6/bitbake-user-manual/bitbake-user-manual.html>`
@@ -46,16 +88,16 @@
 - :yocto_docs:`2.6.4 BitBake User Manual </2.6.4/bitbake-user-manual/bitbake-user-manual.html>`
 
 *************************
-2.5 'sumo' Release Series
+Release Series 2.5 (sumo)
 *************************
 
-- :yocto_docs:`2.5 BitBake User Manual </2.5/bitbake-user-manual/bitbake-user-manual.html>`
-- :yocto_docs:`2.5.1 BitBake User Manual </2.5.1/bitbake-user-manual/bitbake-user-manual.html>`
-- :yocto_docs:`2.5.2 BitBake User Manual </2.5.2/bitbake-user-manual/bitbake-user-manual.html>`
-- :yocto_docs:`2.5.3 BitBake User Manual </2.5.3/bitbake-user-manual/bitbake-user-manual.html>`
+- :yocto_docs:`2.5 Documentation </2.5>`
+- :yocto_docs:`2.5.1 Documentation </2.5.1>`
+- :yocto_docs:`2.5.2 Documentation </2.5.2>`
+- :yocto_docs:`2.5.3 Documentation </2.5.3>`
 
 **************************
-2.4 'rocko' Release Series
+Release Series 2.4 (rocko)
 **************************
 
 - :yocto_docs:`2.4 BitBake User Manual </2.4/bitbake-user-manual/bitbake-user-manual.html>`
@@ -65,7 +107,7 @@
 - :yocto_docs:`2.4.4 BitBake User Manual </2.4.4/bitbake-user-manual/bitbake-user-manual.html>`
 
 *************************
-2.3 'pyro' Release Series
+Release Series 2.3 (pyro)
 *************************
 
 - :yocto_docs:`2.3 BitBake User Manual </2.3/bitbake-user-manual/bitbake-user-manual.html>`
@@ -75,7 +117,7 @@
 - :yocto_docs:`2.3.4 BitBake User Manual </2.3.4/bitbake-user-manual/bitbake-user-manual.html>`
 
 **************************
-2.2 'morty' Release Series
+Release Series 2.2 (morty)
 **************************
 
 - :yocto_docs:`2.2 BitBake User Manual </2.2/bitbake-user-manual/bitbake-user-manual.html>`
@@ -84,7 +126,7 @@
 - :yocto_docs:`2.2.3 BitBake User Manual </2.2.3/bitbake-user-manual/bitbake-user-manual.html>`
 
 ****************************
-2.1 'krogoth' Release Series
+Release Series 2.1 (krogoth)
 ****************************
 
 - :yocto_docs:`2.1 BitBake User Manual </2.1/bitbake-user-manual/bitbake-user-manual.html>`
@@ -93,7 +135,7 @@
 - :yocto_docs:`2.1.3 BitBake User Manual </2.1.3/bitbake-user-manual/bitbake-user-manual.html>`
 
 ***************************
-2.0 'jethro' Release Series
+Release Series 2.0 (jethro)
 ***************************
 
 - :yocto_docs:`1.9 BitBake User Manual </1.9/bitbake-user-manual/bitbake-user-manual.html>`
@@ -103,7 +145,7 @@
 - :yocto_docs:`2.0.3 BitBake User Manual </2.0.3/bitbake-user-manual/bitbake-user-manual.html>`
 
 *************************
-1.8 'fido' Release Series
+Release Series 1.8 (fido)
 *************************
 
 - :yocto_docs:`1.8 BitBake User Manual </1.8/bitbake-user-manual/bitbake-user-manual.html>`
@@ -111,7 +153,7 @@
 - :yocto_docs:`1.8.2 BitBake User Manual </1.8.2/bitbake-user-manual/bitbake-user-manual.html>`
 
 **************************
-1.7 'dizzy' Release Series
+Release Series 1.7 (dizzy)
 **************************
 
 - :yocto_docs:`1.7 BitBake User Manual </1.7/bitbake-user-manual/bitbake-user-manual.html>`
@@ -120,7 +162,7 @@
 - :yocto_docs:`1.7.3 BitBake User Manual </1.7.3/bitbake-user-manual/bitbake-user-manual.html>`
 
 **************************
-1.6 'daisy' Release Series
+Release Series 1.6 (daisy)
 **************************
 
 - :yocto_docs:`1.6 BitBake User Manual </1.6/bitbake-user-manual/bitbake-user-manual.html>`
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index 506f74d..b8333bd 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -9,7 +9,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-__version__ = "1.53.1"
+__version__ = "2.0.0"
 
 import sys
 if sys.version_info < (3, 6, 0):
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py
index 65b7fc0..af60c3d 100644
--- a/poky/bitbake/lib/bb/build.py
+++ b/poky/bitbake/lib/bb/build.py
@@ -582,7 +582,7 @@
     running it with its own local metadata, and with some useful variables set.
     """
     if not d.getVarFlag(task, 'task', False):
-        event.fire(TaskInvalid(task, d), d)
+        event.fire(TaskInvalid(task, fn, d), d)
         logger.error("No such task: %s" % task)
         return 1
 
diff --git a/poky/bitbake/lib/bb/codeparser.py b/poky/bitbake/lib/bb/codeparser.py
index 0cec452..3b3c3b4 100644
--- a/poky/bitbake/lib/bb/codeparser.py
+++ b/poky/bitbake/lib/bb/codeparser.py
@@ -195,6 +195,10 @@
                 self.target.handle(record)
         self.buffer = []
 
+class DummyLogger():
+    def flush(self):
+        return
+
 class PythonParser():
     getvars = (".getVar", ".appendVar", ".prependVar", "oe.utils.conditional")
     getvarflags = (".getVarFlag", ".appendVarFlag", ".prependVarFlag")
@@ -276,7 +280,9 @@
         self.contains = {}
         self.execs = set()
         self.references = set()
-        self.log = BufferedLogger('BitBake.Data.PythonParser', logging.DEBUG, log)
+        self._log = log
+        # Defer init as expensive
+        self.log = DummyLogger()
 
         self.unhandled_message = "in call of %s, argument '%s' is not a string literal"
         self.unhandled_message = "while parsing %s, %s" % (name, self.unhandled_message)
@@ -303,6 +309,9 @@
                 self.contains[i] = set(codeparsercache.pythoncacheextras[h].contains[i])
             return
 
+        # Need to parse so take the hit on the real log buffer
+        self.log = BufferedLogger('BitBake.Data.PythonParser', logging.DEBUG, self._log)
+
         # We can't add to the linenumbers for compile, we can pad to the correct number of blank lines though
         node = "\n" * int(lineno) + node
         code = compile(check_indent(str(node)), filename, "exec",
@@ -321,7 +330,11 @@
         self.funcdefs = set()
         self.allexecs = set()
         self.execs = set()
-        self.log = BufferedLogger('BitBake.Data.%s' % name, logging.DEBUG, log)
+        self._name = name
+        self._log = log
+        # Defer init as expensive
+        self.log = DummyLogger()
+
         self.unhandled_template = "unable to handle non-literal command '%s'"
         self.unhandled_template = "while parsing %s, %s" % (name, self.unhandled_template)
 
@@ -340,6 +353,9 @@
             self.execs = set(codeparsercache.shellcacheextras[h].execs)
             return self.execs
 
+        # Need to parse so take the hit on the real log buffer
+        self.log = BufferedLogger('BitBake.Data.%s' % self._name, logging.DEBUG, self._log)
+
         self._parse_shell(value)
         self.execs = set(cmd for cmd in self.allexecs if cmd not in self.funcdefs)
 
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 0133a32..f435b18 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -253,6 +253,11 @@
             return
         if not event.pathname in self.configwatcher.bbwatchedfiles:
             return
+        if "IN_ISDIR" in event.maskname:
+            if "IN_CREATE" in event.maskname:
+                self.add_filewatch([[event.pathname]], watcher=self.configwatcher, dirs=True)
+            elif "IN_DELETE" in event.maskname and event.pathname in self.watcher.bbseen:
+                self.configwatcher.bbseen.remove(event.pathname)
         if not event.pathname in self.inotify_modified_files:
             self.inotify_modified_files.append(event.pathname)
         self.baseconfig_valid = False
@@ -266,6 +271,11 @@
         if event.pathname.endswith("bitbake-cookerdaemon.log") \
                 or event.pathname.endswith("bitbake.lock"):
             return
+        if "IN_ISDIR" in event.maskname:
+            if "IN_CREATE" in event.maskname:
+                self.add_filewatch([[event.pathname]], dirs=True)
+            elif "IN_DELETE" in event.maskname and event.pathname in self.watcher.bbseen:
+                self.watcher.bbseen.remove(event.pathname)
         if not event.pathname in self.inotify_modified_files:
             self.inotify_modified_files.append(event.pathname)
         self.parsecache_valid = False
@@ -555,6 +565,8 @@
         if not orig_tracking:
             self.enableDataTracking()
             self.reset()
+            # reset() resets to the UI requested value so we have to redo this
+            self.enableDataTracking()
 
         def mc_base(p):
             if p.startswith('mc:'):
@@ -1601,7 +1613,7 @@
 
         if self.state in (state.shutdown, state.forceshutdown, state.error):
             if hasattr(self.parser, 'shutdown'):
-                self.parser.shutdown(clean=False, force = True)
+                self.parser.shutdown(clean=False)
                 self.parser.final_cleanup()
             raise bb.BBHandledException()
 
@@ -1715,6 +1727,7 @@
     def post_serve(self):
         self.shutdown(force=True)
         prserv.serv.auto_shutdown()
+        bb.parse.siggen.exit()
         if self.hashserv:
             self.hashserv.process.terminate()
             self.hashserv.process.join()
@@ -1728,7 +1741,7 @@
             self.state = state.shutdown
 
         if self.parser:
-            self.parser.shutdown(clean=not force, force=force)
+            self.parser.shutdown(clean=not force)
             self.parser.final_cleanup()
 
     def finishcommand(self):
@@ -1996,15 +2009,30 @@
         Exception.__init__(self, realexception, recipe)
 
 class Parser(multiprocessing.Process):
-    def __init__(self, jobs, results, quit, init, profile):
+    def __init__(self, jobs, results, quit, profile):
         self.jobs = jobs
         self.results = results
         self.quit = quit
-        self.init = init
         multiprocessing.Process.__init__(self)
         self.context = bb.utils.get_context().copy()
         self.handlers = bb.event.get_class_handlers().copy()
         self.profile = profile
+        self.queue_signals = False
+        self.signal_received = []
+        self.signal_threadlock = threading.Lock()
+
+    def catch_sig(self, signum, frame):
+        if self.queue_signals:
+            self.signal_received.append(signum)
+        else:
+            self.handle_sig(signum, frame)
+
+    def handle_sig(self, signum, frame):
+        if signum == signal.SIGTERM:
+            signal.signal(signal.SIGTERM, signal.SIG_DFL)
+            os.kill(os.getpid(), signal.SIGTERM)
+        elif signum == signal.SIGINT:
+            signal.default_int_handler(signum, frame)
 
     def run(self):
 
@@ -2024,36 +2052,48 @@
             prof.dump_stats(logfile)
 
     def realrun(self):
-        if self.init:
-            self.init()
+        # Signal handling here is hard. We must not terminate any process or thread holding the write
+        # lock for the event stream as it will not be released, ever, and things will hang.
+        # Python handles signals in the main thread/process but they can be raised from any thread and
+        # we want to defer processing of any SIGTERM/SIGINT signal until we're outside the critical section
+        # and don't hold the lock (see server/process.py). We therefore always catch the signals (so any
+        # new thread should also do so) and we defer handling but we handle with the local thread lock
+        # held (a threading lock, not a multiprocessing one) so that no other thread in the process
+        # can be in the critical section.
+        signal.signal(signal.SIGTERM, self.catch_sig)
+        signal.signal(signal.SIGHUP, signal.SIG_DFL)
+        signal.signal(signal.SIGINT, self.catch_sig)
+        bb.utils.set_process_name(multiprocessing.current_process().name)
+        multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1)
+        multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1)
 
         pending = []
-        while True:
-            try:
-                self.quit.get_nowait()
-            except queue.Empty:
-                pass
-            else:
-                self.results.close()
-                self.results.join_thread()
-                break
-
-            if pending:
-                result = pending.pop()
-            else:
+        try:
+            while True:
                 try:
-                    job = self.jobs.pop()
-                except IndexError:
-                    self.results.close()
-                    self.results.join_thread()
+                    self.quit.get_nowait()
+                except queue.Empty:
+                    pass
+                else:
                     break
-                result = self.parse(*job)
-                # Clear the siggen cache after parsing to control memory usage, its huge
-                bb.parse.siggen.postparsing_clean_cache()
-            try:
-                self.results.put(result, timeout=0.25)
-            except queue.Full:
-                pending.append(result)
+
+                if pending:
+                    result = pending.pop()
+                else:
+                    try:
+                        job = self.jobs.pop()
+                    except IndexError:
+                        break
+                    result = self.parse(*job)
+                    # Clear the siggen cache after parsing to control memory usage, its huge
+                    bb.parse.siggen.postparsing_clean_cache()
+                try:
+                    self.results.put(result, timeout=0.25)
+                except queue.Full:
+                    pending.append(result)
+        finally:
+            self.results.close()
+            self.results.join_thread()
 
     def parse(self, mc, cache, filename, appends):
         try:
@@ -2074,12 +2114,12 @@
             tb = sys.exc_info()[2]
             exc.recipe = filename
             exc.traceback = list(bb.exceptions.extract_traceback(tb, context=3))
-            return True, exc
+            return True, None, exc
         # Need to turn BaseExceptions into Exceptions here so we gracefully shutdown
         # and for example a worker thread doesn't just exit on its own in response to
         # a SystemExit event for example.
         except BaseException as exc:
-            return True, ParsingFailure(exc, filename)
+            return True, None, ParsingFailure(exc, filename)
         finally:
             bb.event.LogHandler.filter = origfilter
 
@@ -2130,13 +2170,6 @@
         self.processes = []
         if self.toparse:
             bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata)
-            def init():
-                signal.signal(signal.SIGTERM, signal.SIG_DFL)
-                signal.signal(signal.SIGHUP, signal.SIG_DFL)
-                signal.signal(signal.SIGINT, signal.SIG_IGN)
-                bb.utils.set_process_name(multiprocessing.current_process().name)
-                multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1)
-                multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1)
 
             self.parser_quit = multiprocessing.Queue(maxsize=self.num_processes)
             self.result_queue = multiprocessing.Queue()
@@ -2146,14 +2179,14 @@
             self.jobs = chunkify(list(self.willparse), self.num_processes)
 
             for i in range(0, self.num_processes):
-                parser = Parser(self.jobs[i], self.result_queue, self.parser_quit, init, self.cooker.configuration.profile)
+                parser = Parser(self.jobs[i], self.result_queue, self.parser_quit, self.cooker.configuration.profile)
                 parser.start()
                 self.process_names.append(parser.name)
                 self.processes.append(parser)
 
             self.results = itertools.chain(self.results, self.parse_generator())
 
-    def shutdown(self, clean=True, force=False):
+    def shutdown(self, clean=True):
         if not self.toparse:
             return
         if self.haveshutdown:
@@ -2168,7 +2201,7 @@
 
             bb.event.fire(event, self.cfgdata)
         else:
-            bb.error("Parsing halted due to errors")
+            bb.error("Parsing halted due to errors, see error messages above")
 
         for process in self.processes:
             self.parser_quit.put(None)
@@ -2182,11 +2215,24 @@
                 break
 
         for process in self.processes:
-            if force:
-                process.join(.1)
+            process.join(0.5)
+
+        for process in self.processes:
+            if process.exitcode is None:
+                os.kill(process.pid, signal.SIGINT)
+
+        for process in self.processes:
+            process.join(0.5)
+
+        for process in self.processes:
+            if process.exitcode is None:
                 process.terminate()
-            else:
-                process.join()
+
+        for process in self.processes:
+            process.join()
+            # Added in 3.7, cleans up zombies
+            if hasattr(process, "close"):
+                process.close()
 
         self.parser_quit.close()
         # Allow data left in the cancel queue to be discarded
@@ -2236,14 +2282,10 @@
                 result = self.result_queue.get(timeout=0.25)
             except queue.Empty:
                 empty = True
-                pass
+                yield None, None, None
             else:
                 empty = False
-                value = result[1]
-                if isinstance(value, BaseException):
-                    raise value
-                else:
-                    yield result
+                yield result
 
         if not (self.parsed >= self.toparse):
             raise bb.parse.ParseError("Not all recipes parsed, parser thread killed/died? Exiting.", None)
@@ -2254,24 +2296,31 @@
         parsed = None
         try:
             parsed, mc, result = next(self.results)
+            if isinstance(result, BaseException):
+                # Turn exceptions back into exceptions
+                raise result
+            if parsed is None:
+                # Timeout, loop back through the main loop
+                return True
+
         except StopIteration:
             self.shutdown()
             return False
         except bb.BBHandledException as exc:
             self.error += 1
             logger.debug('Failed to parse recipe: %s' % exc.recipe)
-            self.shutdown(clean=False, force=True)
+            self.shutdown(clean=False)
             return False
         except ParsingFailure as exc:
             self.error += 1
             logger.error('Unable to parse %s: %s' %
                      (exc.recipe, bb.exceptions.to_string(exc.realexception)))
-            self.shutdown(clean=False, force=True)
+            self.shutdown(clean=False)
             return False
         except bb.parse.ParseError as exc:
             self.error += 1
             logger.error(str(exc))
-            self.shutdown(clean=False, force=True)
+            self.shutdown(clean=False)
             return False
         except bb.data_smart.ExpansionError as exc:
             self.error += 1
@@ -2280,7 +2329,7 @@
             tb = list(itertools.dropwhile(lambda e: e.filename.startswith(bbdir), exc.traceback))
             logger.error('ExpansionError during parsing %s', value.recipe,
                          exc_info=(etype, value, tb))
-            self.shutdown(clean=False, force=True)
+            self.shutdown(clean=False)
             return False
         except Exception as exc:
             self.error += 1
@@ -2292,7 +2341,7 @@
                 # Most likely, an exception occurred during raising an exception
                 import traceback
                 logger.error('Exception during parse: %s' % traceback.format_exc())
-            self.shutdown(clean=False, force=True)
+            self.shutdown(clean=False)
             return False
 
         self.current += 1
diff --git a/poky/bitbake/lib/bb/data_smart.py b/poky/bitbake/lib/bb/data_smart.py
index 8d3825f..dd20ca5 100644
--- a/poky/bitbake/lib/bb/data_smart.py
+++ b/poky/bitbake/lib/bb/data_smart.py
@@ -152,6 +152,9 @@
         self['d'] = metadata
 
     def __missing__(self, key):
+        # Skip commonly accessed invalid variables
+        if key in ['bb', 'oe', 'int', 'bool', 'time', 'str', 'os']:
+            raise KeyError(key)
         value = self.metadata.getVar(key)
         if value is None or self.metadata.getVarFlag(key, 'func', False):
             raise KeyError(key)
@@ -670,10 +673,11 @@
             self.varhistory.record(**loginfo)
             self.setVar(newkey, val, ignore=True, parsing=True)
 
-        for i in (__setvar_keyword__):
-            src = self.getVarFlag(key, i, False)
-            if src is None:
+        srcflags = self.getVarFlags(key, False, True) or {}
+        for i in srcflags:
+            if i not in (__setvar_keyword__):
                 continue
+            src = srcflags[i]
 
             dest = self.getVarFlag(newkey, i, False) or []
             dest.extend(src)
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index b3c5e6d..4d06a57 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -462,7 +462,10 @@
 
             logger.info("Creating tarball of git repository")
             with create_atomic(ud.fullmirror) as tfile:
-                runfetchcmd("tar -czf %s ." % tfile, d, workdir=ud.clonedir)
+                mtime = runfetchcmd("git log --all -1 --format=%cD", d,
+                        quiet=True, workdir=ud.clonedir)
+                runfetchcmd("tar -czf %s --owner pokybuild --group users --mtime \"%s\" ."
+                        % (tfile, mtime), d, workdir=ud.clonedir)
             runfetchcmd("touch %s.done" % ud.fullmirror, d)
 
     def clone_shallow_local(self, ud, dest, d):
diff --git a/poky/bitbake/lib/bb/fetch2/ssh.py b/poky/bitbake/lib/bb/fetch2/ssh.py
index 2c8557e..4844530 100644
--- a/poky/bitbake/lib/bb/fetch2/ssh.py
+++ b/poky/bitbake/lib/bb/fetch2/ssh.py
@@ -40,9 +40,9 @@
  (                   # Optional username/password block
   (?P<user>\S+)      # username
   (:(?P<pass>\S+))?  # colon followed by the password (optional)
- )?
  (?P<cparam>(;[^;]+)*)?  # connection parameters block (optional)
  @
+ )?
  (?P<host>\S+?)          # non-greedy match of the host
  (:(?P<port>[0-9]+))?    # colon followed by the port (optional)
  /
@@ -96,6 +96,11 @@
             fr += '@%s' % host
         else:
             fr = host
+
+        if path[0] != '~':
+            path = '/%s' % path
+        path = path.replace("%3A", ":")
+
         fr += ':%s' % path
 
         cmd = 'scp -B -r %s %s %s/' % (
@@ -108,3 +113,43 @@
 
         runfetchcmd(cmd, d)
 
+    def checkstatus(self, fetch, urldata, d):
+        """
+        Check the status of the url
+        """
+        m = __pattern__.match(urldata.url)
+        path = m.group('path')
+        host = m.group('host')
+        port = m.group('port')
+        user = m.group('user')
+        password = m.group('pass')
+
+        if port:
+            portarg = '-P %s' % port
+        else:
+            portarg = ''
+
+        if user:
+            fr = user
+            if password:
+                fr += ':%s' % password
+            fr += '@%s' % host
+        else:
+            fr = host
+
+        if path[0] != '~':
+            path = '/%s' % path
+        path = path.replace("%3A", ":")
+
+        cmd = 'ssh -o BatchMode=true %s %s [ -f %s ]' % (
+            portarg,
+            fr,
+            path
+        )
+
+        check_network_access(d, cmd, urldata.url)
+
+        if runfetchcmd(cmd, d):
+            return True
+
+        return False
diff --git a/poky/bitbake/lib/bb/monitordisk.py b/poky/bitbake/lib/bb/monitordisk.py
index 8d8cfbb..a1b9100 100644
--- a/poky/bitbake/lib/bb/monitordisk.py
+++ b/poky/bitbake/lib/bb/monitordisk.py
@@ -78,7 +78,7 @@
         action = pathSpaceInodeRe.group(1)
         if action == "ABORT":
             # Emit a deprecation warning
-            logger.warnonce("The BB_DISKMON_DIRS \"ABORT\" action has been been renamed to \"HALT\", update configuration")
+            logger.warnonce("The BB_DISKMON_DIRS \"ABORT\" action has been renamed to \"HALT\", update configuration")
             action = "HALT"
 
         if action not in ("HALT", "STOPTASKS", "WARN"):
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 1636616..ce53fdc 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -20,6 +20,7 @@
 import sys
 import time
 import select
+import signal
 import socket
 import subprocess
 import errno
@@ -243,9 +244,6 @@
 
             ready = self.idle_commands(.1, fds)
 
-        if len(threading.enumerate()) != 1:
-            serverlog("More than one thread left?: " + str(threading.enumerate()))
-
         serverlog("Exiting")
         # Remove the socket file so we don't get any more connections to avoid races
         try:
@@ -263,6 +261,9 @@
 
         self.cooker.post_serve()
 
+        if len(threading.enumerate()) != 1:
+            serverlog("More than one thread left?: " + str(threading.enumerate()))
+
         # Flush logs before we release the lock
         sys.stdout.flush()
         sys.stderr.flush()
@@ -556,7 +557,7 @@
 
         server.run()
     finally:
-        # Flush any ,essages/errors to the logfile before exit
+        # Flush any messages/errors to the logfile before exit
         sys.stdout.flush()
         sys.stderr.flush()
 
@@ -737,11 +738,28 @@
         # Why bb.event needs this I have no idea
         self.event = self
 
-    def send(self, obj):
-        obj = multiprocessing.reduction.ForkingPickler.dumps(obj)
+    def _send(self, obj):
         with self.wlock:
             self.writer.send_bytes(obj)
 
+    def send(self, obj):
+        obj = multiprocessing.reduction.ForkingPickler.dumps(obj)
+        # See notes/code in CookerParser
+        # We must not terminate holding this lock else processes will hang.
+        # For SIGTERM, raising afterwards avoids this.
+        # For SIGINT, we don't want to have written partial data to the pipe.
+        # pthread_sigmask block/unblock would be nice but doesn't work, https://bugs.python.org/issue47139
+        process = multiprocessing.current_process()
+        if process and hasattr(process, "queue_signals"):
+            with process.signal_threadlock:
+                process.queue_signals = True
+                self._send(obj)
+                process.queue_signals = False
+                for sig in process.signal_received.pop():
+                    process.handle_sig(sig, None)
+        else:
+            self._send(obj)
+
     def fileno(self):
         return self.writer.fileno()
 
diff --git a/poky/bitbake/lib/bb/server/xmlrpcserver.py b/poky/bitbake/lib/bb/server/xmlrpcserver.py
index 2fa71be..01f5553 100644
--- a/poky/bitbake/lib/bb/server/xmlrpcserver.py
+++ b/poky/bitbake/lib/bb/server/xmlrpcserver.py
@@ -11,6 +11,7 @@
 import time
 import inspect
 from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
+import bb.server.xmlrpcclient
 
 import bb
 
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index ebba452..1612b4e 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -156,6 +156,9 @@
 
         return DataCacheProxy()
 
+    def exit(self):
+        return
+
 class SignatureGeneratorBasic(SignatureGenerator):
     """
     """
@@ -489,6 +492,18 @@
             self._client = hashserv.create_client(self.server)
         return self._client
 
+    def reset(self, data):
+        if getattr(self, '_client', None) is not None:
+            self._client.close()
+            self._client = None 
+        return super().reset(data)
+
+    def exit(self):
+        if getattr(self, '_client', None) is not None:
+            self._client.close()
+            self._client = None
+        return super().exit()
+
     def get_stampfile_hash(self, tid):
         if tid in self.taskhash:
             # If a unique hash is reported, use it as the stampfile hash. This
@@ -1002,7 +1017,7 @@
         if changed:
             for dep in sorted(changed):
                 if not collapsed:
-                    output.append(color_format("{color_title}Hash for dependent task %s changed{color_default} from %s to %s") % (clean_basepath(dep), a[dep], b[dep]))
+                    output.append(color_format("{color_title}Hash for task dependency %s changed{color_default} from %s to %s") % (clean_basepath(dep), a[dep], b[dep]))
                 if callable(recursecb):
                     recout = recursecb(dep, a[dep], b[dep])
                     if recout:
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index eff12b7..233ecae 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -11,6 +11,7 @@
 import tempfile
 import collections
 import os
+import tarfile
 from bb.fetch2 import URI
 from bb.fetch2 import FetchMethod
 import bb
@@ -628,6 +629,35 @@
         self.assertIn(self.mirror_tarball, dir)
 
 
+class CleanTarballTest(FetcherTest):
+    def setUp(self):
+        super(CleanTarballTest, self).setUp()
+        self.recipe_url = "git://git.openembedded.org/bitbake"
+        self.recipe_tarball = "git2_git.openembedded.org.bitbake.tar.gz"
+
+        self.d.setVar('BB_GENERATE_MIRROR_TARBALLS', '1')
+        self.d.setVar('SRCREV', '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40')
+
+    @skipIfNoNetwork()
+    def test_that_the_tarball_contents_does_not_leak_info(self):
+        fetcher = bb.fetch.Fetch([self.recipe_url], self.d)
+
+        fetcher.download()
+
+        fetcher.unpack(self.unpackdir)
+        mtime = bb.process.run('git log --all -1 --format=%ct',
+                cwd=os.path.join(self.unpackdir, 'git'))
+        self.assertEqual(len(mtime), 2)
+        mtime = int(mtime[0])
+
+        archive = tarfile.open(os.path.join(self.dldir, self.recipe_tarball))
+        self.assertNotEqual(len(archive.members), 0)
+        for member in archive.members:
+            self.assertEqual(member.uname, 'pokybuild')
+            self.assertEqual(member.gname, 'users')
+            self.assertEqual(member.mtime, mtime)
+
+
 class FetcherLocalTest(FetcherTest):
     def setUp(self):
         def touch(fn):
diff --git a/poky/bitbake/lib/bb/tinfoil.py b/poky/bitbake/lib/bb/tinfoil.py
index 02c0bab..e68a3b8 100644
--- a/poky/bitbake/lib/bb/tinfoil.py
+++ b/poky/bitbake/lib/bb/tinfoil.py
@@ -448,7 +448,7 @@
         self.run_actions(config_params)
         self.recipes_parsed = True
 
-    def run_command(self, command, *params):
+    def run_command(self, command, *params, handle_events=True):
         """
         Run a command on the server (as implemented in bb.command).
         Note that there are two types of command - synchronous and
@@ -468,7 +468,7 @@
         try:
             result = self.server_connection.connection.runCommand(commandline)
         finally:
-            while True:
+            while handle_events:
                 event = self.wait_event()
                 if not event:
                     break
diff --git a/poky/bitbake/lib/bb/ui/buildinfohelper.py b/poky/bitbake/lib/bb/ui/buildinfohelper.py
index 835e92c..0761f73 100644
--- a/poky/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/poky/bitbake/lib/bb/ui/buildinfohelper.py
@@ -227,6 +227,12 @@
         build.completed_on = timezone.now()
         build.outcome = outcome
         build.save()
+
+        # We force a sync point here to force the outcome status commit,
+        # which resolves a race condition with the build completion takedown
+        transaction.set_autocommit(True)
+        transaction.set_autocommit(False)
+
         signal_runbuilds()
 
     def update_target_set_license_manifest(self, target, license_manifest_path):
@@ -893,9 +899,6 @@
         self.task_order = 0
         self.autocommit_step = 1
         self.server = server
-        # we use manual transactions if the database doesn't autocommit on us
-        if not connection.features.autocommits_when_autocommit_is_off:
-            transaction.set_autocommit(False)
         self.orm_wrapper = ORMWrapper()
         self.has_build_history = has_build_history
         self.tmp_dir = self.server.runCommand(["getVariable", "TMPDIR"])[0]
@@ -1313,12 +1316,11 @@
                 task_information['outcome'] = Task.OUTCOME_FAILED
                 del self.internal_state['taskdata'][identifier]
 
-        if not connection.features.autocommits_when_autocommit_is_off:
-            # we force a sync point here, to get the progress bar to show
-            if self.autocommit_step % 3 == 0:
-                transaction.set_autocommit(True)
-                transaction.set_autocommit(False)
-            self.autocommit_step += 1
+        # we force a sync point here, to get the progress bar to show
+        if self.autocommit_step % 3 == 0:
+            transaction.set_autocommit(True)
+            transaction.set_autocommit(False)
+        self.autocommit_step += 1
 
         self.orm_wrapper.get_update_task_object(task_information, True) # must exist
 
@@ -1990,8 +1992,6 @@
             # Do not skip command line build events
             self.store_log_event(tempevent,False)
 
-        if not connection.features.autocommits_when_autocommit_is_off:
-            transaction.set_autocommit(True)
 
         # unset the brbe; this is to prevent subsequent command-line builds
         # being incorrectly attached to the previous Toaster-triggered build;
diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py
index 528b8a0..b2e7520 100644
--- a/poky/bitbake/lib/bb/ui/knotty.py
+++ b/poky/bitbake/lib/bb/ui/knotty.py
@@ -228,7 +228,9 @@
 
     def keepAlive(self, t):
         if not self.cuu:
-            print("Bitbake still alive (%ds)" % t)
+            print("Bitbake still alive (no events for %ds). Active tasks:" % t)
+            for t in self.helper.running_tasks:
+                print(t)
             sys.stdout.flush()
 
     def updateFooter(self):
@@ -272,29 +274,39 @@
                     tasks.append("%s (pid %s)" % (activetasks[t]["title"], activetasks[t]["pid"]))
 
         if self.main.shutdown:
-            content = "Waiting for %s running tasks to finish:" % len(activetasks)
+            content = pluralise("Waiting for %s running task to finish",
+                                "Waiting for %s running tasks to finish", len(activetasks))
+            if not self.quiet:
+                content += ':'
             print(content)
         else:
+            scene_tasks = "%s of %s" % (self.helper.setscene_current, self.helper.setscene_total)
+            cur_tasks = "%s of %s" % (self.helper.tasknumber_current, self.helper.tasknumber_total)
+
+            content = ''
+            if not self.quiet:
+                msg = "Setscene tasks: %s" % scene_tasks
+                content += msg + "\n"
+                print(msg)
+
             if self.quiet:
-                content = "Running tasks (%s of %s/%s of %s)" % (self.helper.setscene_current, self.helper.setscene_total, self.helper.tasknumber_current, self.helper.tasknumber_total)
+                msg = "Running tasks (%s, %s)" % (scene_tasks, cur_tasks)
             elif not len(activetasks):
-                content = "No currently running tasks (%s of %s/%s of %s)" % (self.helper.setscene_current, self.helper.setscene_total, self.helper.tasknumber_current, self.helper.tasknumber_total)
+                msg = "No currently running tasks (%s)" % cur_tasks
             else:
-                content = "Currently %2s running tasks (%s of %s/%s of %s)" % (len(activetasks), self.helper.setscene_current, self.helper.setscene_total, self.helper.tasknumber_current, self.helper.tasknumber_total)
+                msg = "Currently %2s running tasks (%s)" % (len(activetasks), cur_tasks)
             maxtask = self.helper.tasknumber_total
             if not self.main_progress or self.main_progress.maxval != maxtask:
                 widgets = [' ', progressbar.Percentage(), ' ', progressbar.Bar()]
                 self.main_progress = BBProgress("Running tasks", maxtask, widgets=widgets, resize_handler=self.sigwinch_handle)
                 self.main_progress.start(False)
-            self.main_progress.setmessage(content)
-            progress = self.helper.tasknumber_current - 1
-            if progress < 0:
-                progress = 0
-            content = self.main_progress.update(progress)
+            self.main_progress.setmessage(msg)
+            progress = max(0, self.helper.tasknumber_current - 1)
+            content += self.main_progress.update(progress)
             print('')
-        lines = 1 + int(len(content) / (self.columns + 1))
-        if self.quiet == 0:
-            for tasknum, task in enumerate(tasks[:(self.rows - 2)]):
+        lines = self.getlines(content)
+        if not self.quiet:
+            for tasknum, task in enumerate(tasks[:(self.rows - 1 - lines)]):
                 if isinstance(task, tuple):
                     pbar, progress, rate, start_time = task
                     if not pbar.start_time:
@@ -311,11 +323,17 @@
                 else:
                     content = "%s: %s" % (tasknum, task)
                     print(content)
-                lines = lines + 1 + int(len(content) / (self.columns + 1))
+                lines = lines + self.getlines(content)
         self.footer_present = lines
         self.lastpids = runningpids[:]
         self.lastcount = self.helper.tasknumber_current
 
+    def getlines(self, content):
+        lines = 0
+        for line in content.split("\n"):
+            lines = lines + 1 + int(len(line) / (self.columns + 1))
+        return lines
+
     def finish(self):
         if self.stdinbackup:
             fd = sys.stdin.fileno()
@@ -605,7 +623,8 @@
     warnings = 0
     taskfailures = []
 
-    printinterval = 5000
+    printintervaldelta = 10 * 60 # 10 minutes
+    printinterval = printintervaldelta
     lastprint = time.time()
 
     termfilter = tf(main, helper, console_handlers, params.options.quiet)
@@ -615,7 +634,7 @@
         try:
             if (lastprint + printinterval) <= time.time():
                 termfilter.keepAlive(printinterval)
-                printinterval += 5000
+                printinterval += printintervaldelta
             event = eventHandler.waitEvent(0)
             if event is None:
                 if main.shutdown > 1:
@@ -646,7 +665,7 @@
 
             if isinstance(event, logging.LogRecord):
                 lastprint = time.time()
-                printinterval = 5000
+                printinterval = printintervaldelta
                 if event.levelno >= bb.msg.BBLogFormatter.ERRORONCE:
                     errors = errors + 1
                     return_value = 1
diff --git a/poky/bitbake/lib/bb/ui/uievent.py b/poky/bitbake/lib/bb/ui/uievent.py
index e19c770..d595f17 100644
--- a/poky/bitbake/lib/bb/ui/uievent.py
+++ b/poky/bitbake/lib/bb/ui/uievent.py
@@ -44,7 +44,7 @@
         for count_tries in range(5):
             ret = self.BBServer.registerEventHandler(self.host, self.port)
 
-            if isinstance(ret, collections.Iterable):
+            if isinstance(ret, collections.abc.Iterable):
                 self.EventHandle, error = ret
             else:
                 self.EventHandle = ret
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index 2e82561..d11da97 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -453,13 +453,16 @@
     consider the possibility of sending a signal to the process to break
     out - at which point you want block=True rather than retry=True.
     """
-    if len(name) > 255:
-        root, ext = os.path.splitext(name)
-        name = root[:255 - len(ext)] + ext
+    basename = os.path.basename(name)
+    if len(basename) > 255:
+        root, ext = os.path.splitext(basename)
+        basename = root[:255 - len(ext)] + ext
 
     dirname = os.path.dirname(name)
     mkdirhier(dirname)
 
+    name = os.path.join(dirname, basename)
+
     if not os.access(dirname, os.W_OK):
         logger.error("Unable to acquire lock '%s', directory is not writable",
                      name)
@@ -538,7 +541,7 @@
     Return the hex string representation of the MD5 checksum of filename.
     """
     import hashlib
-    return _hasher(hashlib.md5(), filename)
+    return _hasher(hashlib.new('MD5', usedforsecurity=False), filename)
 
 def sha256_file(filename):
     """
diff --git a/poky/bitbake/lib/ply/yacc.py b/poky/bitbake/lib/ply/yacc.py
index 46e7dc9..767c4e4 100644
--- a/poky/bitbake/lib/ply/yacc.py
+++ b/poky/bitbake/lib/ply/yacc.py
@@ -2797,11 +2797,8 @@
     # Compute a signature over the grammar
     def signature(self):
         try:
-            from hashlib import md5
-        except ImportError:
-            from md5 import md5
-        try:
-            sig = md5()
+            import hashlib
+            sig = hashlib.new('MD5', usedforsecurity=False)
             if self.start:
                 sig.update(self.start.encode('latin-1'))
             if self.prec:
diff --git a/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py b/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
index 19f659e..834e32b 100644
--- a/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
+++ b/poky/bitbake/lib/toaster/bldcontrol/management/commands/runbuilds.py
@@ -180,6 +180,77 @@
         except Exception as e:
             logger.warning("runbuilds: schedule exception %s" % str(e))
 
+    # Test to see if a build pre-maturely died due to a bitbake crash
+    def check_dead_builds(self):
+        do_cleanup = False
+        try:
+            for br in BuildRequest.objects.filter(state=BuildRequest.REQ_INPROGRESS):
+                # Get the build directory
+                if br.project.builddir:
+                    builddir =  br.project.builddir
+                else:
+                    builddir = '%s-toaster-%d' % (br.environment.builddir,br.project.id)
+                # Check log to see if there is a recent traceback
+                toaster_ui_log = os.path.join(builddir, 'toaster_ui.log')
+                test_file = os.path.join(builddir, '._toaster_check.txt')
+                os.system("tail -n 50 %s > %s" % (os.path.join(builddir, 'toaster_ui.log'),test_file))
+                traceback_text = ''
+                is_traceback = False
+                with open(test_file,'r') as test_file_fd:
+                    test_file_tail = test_file_fd.readlines()
+                    for line in test_file_tail:
+                        if line.startswith('Traceback (most recent call last):'):
+                            traceback_text = line
+                            is_traceback = True
+                        elif line.startswith('NOTE: ToasterUI waiting for events'):
+                            # Ignore any traceback before new build start
+                            traceback_text = ''
+                            is_traceback = False
+                        elif line.startswith('Note: Toaster traceback auto-stop'):
+                            # Ignore any traceback before this previous traceback catch
+                            traceback_text = ''
+                            is_traceback = False
+                        elif is_traceback:
+                            traceback_text += line
+                # Test the results
+                is_stop = False
+                if is_traceback:
+                    # Found a traceback
+                    errtype = 'Bitbake crash'
+                    errmsg = 'Bitbake crash\n' + traceback_text
+                    state = BuildRequest.REQ_FAILED
+                    # Clean up bitbake files
+                    bitbake_lock = os.path.join(builddir, 'bitbake.lock')
+                    if os.path.isfile(bitbake_lock):
+                        os.remove(bitbake_lock)
+                    bitbake_sock = os.path.join(builddir, 'bitbake.sock')
+                    if os.path.isfile(bitbake_sock):
+                        os.remove(bitbake_sock)
+                    if os.path.isfile(test_file):
+                        os.remove(test_file)
+                    # Add note to ignore this traceback on next check
+                    os.system('echo "Note: Toaster traceback auto-stop" >> %s' % toaster_ui_log)
+                    is_stop = True
+                # Add more tests here
+                #elif ...
+                # Stop the build request?
+                if is_stop:
+                    brerror = BRError(
+                        req = br,
+                        errtype = errtype,
+                        errmsg = errmsg,
+                        traceback = traceback_text,
+                        )
+                    brerror.save()
+                    br.state = state
+                    br.save()
+                    do_cleanup = True
+            # Do cleanup
+            if do_cleanup:
+                self.cleanup()
+        except Exception as e:
+            logger.error("runbuilds: Error in check_dead_builds %s" % e)
+
     def handle(self, **options):
         pidfile_path = os.path.join(os.environ.get("BUILDDIR", "."),
                                     ".runbuilds.pid")
@@ -187,10 +258,18 @@
         with open(pidfile_path, 'w') as pidfile:
             pidfile.write("%s" % os.getpid())
 
+        # Clean up any stale/failed builds from previous Toaster run
         self.runbuild()
 
         signal.signal(signal.SIGUSR1, lambda sig, frame: None)
 
         while True:
-            signal.pause()
-            self.runbuild()
+            sigset = signal.sigtimedwait([signal.SIGUSR1], 5)
+            if sigset:
+                for sig in sigset:
+                    # Consume each captured pending event
+                    self.runbuild()
+            else:
+                # Check for build exceptions
+                self.check_dead_builds()
+
diff --git a/poky/bitbake/lib/toaster/bldcontrol/migrations/0008_models_bigautofield.py b/poky/bitbake/lib/toaster/bldcontrol/migrations/0008_models_bigautofield.py
new file mode 100644
index 0000000..45b477d
--- /dev/null
+++ b/poky/bitbake/lib/toaster/bldcontrol/migrations/0008_models_bigautofield.py
@@ -0,0 +1,48 @@
+# Generated by Django 3.2.12 on 2022-03-06 03:28
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('bldcontrol', '0007_brlayers_optional_gitinfo'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='brbitbake',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='brerror',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='brlayer',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='brtarget',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='brvariable',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='buildenvironment',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='buildrequest',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+    ]
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
new file mode 100755
index 0000000..0d5f453
--- /dev/null
+++ b/poky/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
@@ -0,0 +1,445 @@
+#!/usr/bin/env python3
+# ex:ts=4:sw=4:sts=4:et
+# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+#
+# Generate Toaster Fixtures for 'poky.xml' and 'oe-core.xml'
+#
+# Copyright (C) 2022      Wind River Systems
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Edit the 'current_releases' table for each new release cycle
+#
+# Usage: ./get_fixtures all
+#
+
+import os
+import sys
+import argparse
+
+verbose = False
+
+####################################
+# Releases
+#
+# https://wiki.yoctoproject.org/wiki/Releases
+#
+# NOTE: for the current releases table, it helps to keep continuing releases
+# in the same table positions since this minimizes the patch diff for review.
+# The order of the table does not matter since Toaster presents them sorted.
+#
+# Traditionally, the two most current releases are included in addition to the
+# 'master' branch and the local installation's 'HEAD'.
+# It is also policy to include all active LTS releases.
+#
+
+# [Codename, Yocto Project Version, Release Date, Current Version, Support Level, Poky Version, BitBake branch]
+current_releases = [
+    # Release slot #1
+    ['Kirkstone','3.5','April 2022','','Future - Long Term Support (until Apr. 2024)','27.0','1.54'],
+#    ['Dunfell','3.1','April 2021','3.1.5 (March 2022)','Stable - Support for 13 months (until Apr. 2022)','23.0','1.46'],
+    # Release slot #2 'local'
+    ['HEAD','HEAD','','Local Yocto Project','HEAD','','HEAD'],
+    # Release slot #3 'master'
+    ['Master','master','','Yocto Project master','master','','master'],
+    # Release slot #4
+    ['Honister','3.4','October 2021','3.4.2 (February 2022)','Support for 7 months (until May 2022)','26.0','1.52'],
+#    ['Gatesgarth','3.2','Oct 2020','3.2.4 (May 2021)','EOL','24.0','1.48'],
+    # Optional Release slot #4
+    ['Hardknott','3.3','April 2021','3.3.5 (March 2022)','Stable - Support for 13 months (until Apr. 2022)','25.0','1.50'],
+]
+
+default_poky_layers = [
+    'openembedded-core',
+    'meta-poky',
+    'meta-yocto-bsp',
+]
+
+default_oe_core_layers = [
+    'openembedded-core',
+]
+
+####################################
+# Templates
+
+prolog_template = '''\
+<?xml version="1.0" encoding="utf-8"?>
+<django-objects version="1.0">
+  <!-- Set the project default value for DISTRO -->
+  <object model="orm.toastersetting" pk="1">
+    <field type="CharField" name="name">DEFCONF_DISTRO</field>
+    <field type="CharField" name="value">{{distro}}</field>
+  </object>
+'''
+
+#<!-- Bitbake versions which correspond to the metadata release -->')
+bitbakeversion_poky_template = '''\
+  <object model="orm.bitbakeversion" pk="{{bitbake_id}}">
+    <field type="CharField" name="name">{{name}}</field>
+    <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
+    <field type="CharField" name="branch">{{branch}}</field>
+    <field type="CharField" name="dirpath">bitbake</field>
+  </object>
+'''
+bitbakeversion_oecore_template = '''\
+  <object model="orm.bitbakeversion" pk="{{bitbake_id}}">
+    <field type="CharField" name="name">{{name}}</field>
+    <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
+    <field type="CharField" name="branch">{{bitbakeversion}}</field>
+  </object>
+'''
+
+# <!-- Releases available -->
+releases_available_template = '''\
+  <object model="orm.release" pk="{{ra_count}}">
+    <field type="CharField" name="name">{{name}}</field>
+    <field type="CharField" name="description">{{description}}</field>
+    <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">{{ra_count}}</field>
+    <field type="CharField" name="branch_name">{{release}}</field>
+    <field type="TextField" name="helptext">Toaster will run your builds {{help_source}}.</field>
+  </object>
+'''
+
+# <!-- Default project layers for each release -->
+default_layers_template = '''\
+  <object model="orm.releasedefaultlayer" pk="{{rdl_count}}">
+    <field rel="ManyToOneRel" to="orm.release" name="release">{{release_id}}</field>
+    <field type="CharField" name="layer_name">{{layer}}</field>
+  </object>
+'''
+
+default_layers_preface = '''\
+  <!-- Default layers provided by poky
+       openembedded-core
+       meta-poky
+       meta-yocto-bsp
+  -->
+'''
+
+layer_poky_template = '''\
+  <object model="orm.layer" pk="{{layer_id}}">
+    <field type="CharField" name="name">{{layer}}</field>
+    <field type="CharField" name="layer_index_url"></field>
+    <field type="CharField" name="vcs_url">{{vcs_url}}</field>
+    <field type="CharField" name="vcs_web_url">{{vcs_web_url}}</field>
+    <field type="CharField" name="vcs_web_tree_base_url">{{vcs_web_tree_base_url}}</field>
+    <field type="CharField" name="vcs_web_file_base_url">{{vcs_web_file_base_url}}</field>
+  </object>
+'''
+
+layer_oe_core_template = '''\
+  <object model="orm.layer" pk="{{layer_id}}">
+    <field type="CharField" name="name">{{layer}}</field>
+    <field type="CharField" name="vcs_url">{{vcs_url}}</field>
+    <field type="CharField" name="vcs_web_url">{{vcs_web_url}}</field>
+    <field type="CharField" name="vcs_web_tree_base_url">{{vcs_web_tree_base_url}}</field>
+    <field type="CharField" name="vcs_web_file_base_url">{{vcs_web_file_base_url}}</field>
+  </object>
+'''
+
+layer_version_template = '''\
+  <object model="orm.layer_version" pk="{{lv_count}}">
+    <field rel="ManyToOneRel" to="orm.layer" name="layer">{{layer_id}}</field>
+    <field type="IntegerField" name="layer_source">0</field>
+    <field rel="ManyToOneRel" to="orm.release" name="release">{{release_id}}</field>
+    <field type="CharField" name="branch">{{branch}}</field>
+    <field type="CharField" name="dirpath">{{dirpath}}</field>
+  </object>
+'''
+
+layer_version_HEAD_template = '''\
+  <object model="orm.layer_version" pk="{{lv_count}}">
+    <field rel="ManyToOneRel" to="orm.layer" name="layer">{{layer_id}}</field>
+    <field type="IntegerField" name="layer_source">0</field>
+    <field rel="ManyToOneRel" to="orm.release" name="release">{{release_id}}</field>
+    <field type="CharField" name="branch">{{branch}}</field>
+    <field type="CharField" name="commit">{{commit}}</field>
+    <field type="CharField" name="dirpath">{{dirpath}}</field>
+  </object>
+'''
+
+layer_version_oe_core_template = '''\
+  <object model="orm.layer_version" pk="1">
+    <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
+    <field rel="ManyToOneRel" to="orm.release" name="release">2</field>
+    <field type="CharField" name="local_path">OE-CORE-LAYER-DIR</field>
+    <field type="CharField" name="branch">HEAD</field>
+    <field type="CharField" name="dirpath">meta</field>
+    <field type="IntegerField" name="layer_source">0</field>
+  </object>
+'''
+
+epilog_template = '''\
+</django-objects>
+'''
+
+#################################
+# Helper Routines
+#
+
+def print_str(str,fd):
+    # Avoid extra newline at end
+    if str and (str[-1] == '\n'):
+        str = str[0:-1]
+    print(str,file=fd)
+
+def print_template(template,params,fd):
+    for line in template.split('\n'):
+        p = line.find('{{')
+        while p > 0:
+            q = line.find('}}')
+            key = line[p+2:q]
+            if key in params:
+                line = line[0:p] + params[key] + line[q+2:]
+            else:
+                line = line[0:p] + '?' + key + '?' + line[q+2:]
+            p = line.find('{{')
+        if line:
+            print(line,file=fd)
+
+#################################
+# Generate poky.xml
+#
+
+def generate_poky():
+    fd = open('poky.xml','w')
+
+    params = {}
+    params['distro'] = 'poky'
+    print_template(prolog_template,params,fd)
+    print_str('',fd)
+
+    print_str('  <!-- Bitbake versions which correspond to the metadata release -->',fd)
+    for i,release in enumerate(current_releases):
+        params = {}
+        params['release'] = release[0]
+        params['Release'] = release[0]
+        params['release_version'] = release[1]
+        if not (params['release'] in ('HEAD')):    # 'master',
+            params['release'] = params['release'][0].lower() + params['release'][1:]
+        params['name'] = params['release']
+        params['bitbake_id'] = str(i+1)
+        params['branch'] = params['release']
+        print_template(bitbakeversion_poky_template,params,fd)
+    print_str('',fd)
+
+    print_str('',fd)
+    print_str('  <!-- Releases available -->',fd)
+    for i,release in enumerate(current_releases):
+        params = {}
+        params['release'] = release[0]
+        params['Release'] = release[0]
+        params['release_version'] = release[1]
+        if not (params['release'] in ('HEAD')): #'master',
+            params['release'] = params['release'][0].lower() + params['release'][1:]
+        params['h_release'] = '?h={{release}}'
+        params['name'] = params['release']
+        params['ra_count'] = str(i+1)
+        params['branch'] = params['release']
+
+        if 'HEAD' == params['release']:
+            params['help_source'] = 'with the version of the Yocto Project you have cloned or downloaded to your computer'
+            params['description'] = 'Local Yocto Project'
+            params['name'] = 'local'
+        else:
+            params['help_source'] = 'using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/{{h_release}}"&gt;Yocto Project {{Release}} branch&lt;/a&gt;'
+            params['description'] = 'Yocto Project {{release_version}} "{{Release}}"'
+        if 'master' == params['release']:
+            params['h_release'] = ''
+            params['description'] = 'Yocto Project master'
+
+        print_template(releases_available_template,params,fd)
+    print_str('',fd)
+
+    print_str('  <!-- Default project layers for each release -->',fd)
+    rdl_count = 1
+    for i,release in enumerate(current_releases):
+        for j,layer in enumerate(default_poky_layers):
+            params = {}
+            params['layer'] = layer
+            params['release'] = release[0]
+            params['Release'] = release[0]
+            params['release_version'] = release[1]
+            if not (params['release'] in ('master','HEAD')):
+                params['release'] = params['release'][0].lower() + params['release'][1:]
+            params['release_id'] = str(i+1)
+            params['rdl_count'] = str(rdl_count)
+            params['branch'] = params['release']
+            print_template(default_layers_template,params,fd)
+            rdl_count += 1
+    print_str('',fd)
+
+    print_str(default_layers_preface,fd)
+    lv_count = 1
+    for i,layer in enumerate(default_poky_layers):
+        params = {}
+        params['layer'] = layer
+        params['layer_id'] = str(i+1)
+        params['vcs_url'] = 'git://git.yoctoproject.org/poky'
+        params['vcs_web_url'] = 'https://git.yoctoproject.org/cgit/cgit.cgi/poky'
+        params['vcs_web_tree_base_url'] = 'https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%'
+        params['vcs_web_file_base_url'] = 'https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%'
+
+        if i:
+            print_str('',fd)
+        print_template(layer_poky_template,params,fd)
+        for j,release in enumerate(current_releases):
+            params['release'] = release[0]
+            params['Release'] = release[0]
+            params['release_version'] = release[1]
+            if not (params['release'] in ('master','HEAD')):
+                params['release'] = params['release'][0].lower() + params['release'][1:]
+            params['release_id'] = str(j+1)
+            params['lv_count'] = str(lv_count)
+            params['branch'] = params['release']
+            params['commit'] = params['release']
+
+            params['dirpath'] = params['layer']
+            if params['layer'] in ('openembedded-core'):   #'openembedded-core',
+                params['dirpath'] = 'meta'
+
+            if 'HEAD' == params['release']:
+                print_template(layer_version_HEAD_template,params,fd)
+            else:
+                print_template(layer_version_template,params,fd)
+            lv_count += 1
+
+    print_str(epilog_template,fd)
+    fd.close()
+
+#################################
+# Generate oe-core.xml
+#
+
+def generate_oe_core():
+    fd = open('oe-core.xml','w')
+
+    params = {}
+    params['distro'] = 'nodistro'
+    print_template(prolog_template,params,fd)
+    print_str('',fd)
+
+    print_str('  <!-- Bitbake versions which correspond to the metadata release -->',fd)
+    for i,release in enumerate(current_releases):
+        params = {}
+        params['release'] = release[0]
+        params['Release'] = release[0]
+        params['bitbakeversion'] = release[6]
+        params['release_version'] = release[1]
+        if not (params['release'] in ('HEAD')):    # 'master',
+            params['release'] = params['release'][0].lower() + params['release'][1:]
+        params['name'] = params['release']
+        params['bitbake_id'] = str(i+1)
+        params['branch'] = params['release']
+        print_template(bitbakeversion_oecore_template,params,fd)
+    print_str('',fd)
+
+    print_str('  <!-- Releases available -->',fd)
+    for i,release in enumerate(current_releases):
+        params = {}
+        params['release'] = release[0]
+        params['Release'] = release[0]
+        params['release_version'] = release[1]
+        if not (params['release'] in ('HEAD')): #'master',
+            params['release'] = params['release'][0].lower() + params['release'][1:]
+        params['h_release'] = '?h={{release}}'
+        params['name'] = params['release']
+        params['ra_count'] = str(i+1)
+        params['branch'] = params['release']
+
+        if 'HEAD' == params['release']:
+            params['help_source'] = 'with the version of OpenEmbedded that you have cloned or downloaded to your computer'
+            params['description'] = 'Local Openembedded'
+            params['name'] = 'local'
+        else:
+            params['help_source'] = 'using the tip of the &lt;a href=\\"https://cgit.openembedded.org/openembedded-core/log/{{h_release}}\\"&gt;OpenEmbedded {{Release}}&lt;/a&gt; branch'
+            params['description'] = 'Openembedded {{Release}}'
+        if 'master' == params['release']:
+            params['h_release'] = ''
+            params['description'] = 'OpenEmbedded core master'
+            params['Release'] = params['release']
+
+        print_template(releases_available_template,params,fd)
+    print_str('',fd)
+
+    print_str('  <!-- Default layers for each release -->',fd)
+    rdl_count = 1
+    for i,release in enumerate(current_releases):
+        for j,layer in enumerate(default_oe_core_layers):
+            params = {}
+            params['layer'] = layer
+            params['release'] = release[0]
+            params['Release'] = release[0]
+            params['release_version'] = release[1]
+            if not (params['release'] in ('master','HEAD')):
+                params['release'] = params['release'][0].lower() + params['release'][1:]
+            params['release_id'] = str(i+1)
+            params['rdl_count'] = str(rdl_count)
+            params['branch'] = params['release']
+            print_template(default_layers_template,params,fd)
+            rdl_count += 1
+    print_str('',fd)
+
+    print_str('',fd)
+    print_str('  <!-- Layer for the Local release -->',fd)
+    lv_count = 1
+    for i,layer in enumerate(default_oe_core_layers):
+        params = {}
+        params['layer'] = layer
+        params['layer_id'] = str(i+1)
+        params['vcs_url'] = 'git://git.openembedded.org/openembedded-core'
+        params['vcs_web_url'] = 'https://cgit.openembedded.org/openembedded-core'
+        params['vcs_web_tree_base_url'] = 'https://cgit.openembedded.org/openembedded-core/tree/%path%?h=%branch%'
+        params['vcs_web_file_base_url'] = 'https://cgit.openembedded.org/openembedded-core/tree/%path%?h=%branch%'
+        if i:
+            print_str('',fd)
+        print_template(layer_oe_core_template,params,fd)
+
+        print_template(layer_version_oe_core_template,params,fd)
+    print_str('',fd)
+
+    print_str(epilog_template,fd)
+    fd.close()
+
+#################################
+# Help
+#
+
+def list_releases():
+    print("Release    ReleaseVer  BitbakeVer Support Level")
+    print("========== =========== ========== ==============================================")
+    for release in current_releases:
+        print("%10s %10s %11s %s" % (release[0],release[1],release[6],release[4]))
+
+#################################
+# main
+#
+
+def main(argv):
+    global verbose
+
+    parser = argparse.ArgumentParser(description='gen_fixtures.py: table generate the fixture files')
+    parser.add_argument('--poky', '-p', action='store_const', const='poky', dest='command', help='Generate the poky.xml file')
+    parser.add_argument('--oe-core', '-o', action='store_const', const='oe_core', dest='command', help='Generate the oe-core.xml file')
+    parser.add_argument('--all', '-a', action='store_const', const='all', dest='command', help='Generate all fixture files')
+    parser.add_argument('--list', '-l', action='store_const', const='list', dest='command', help='List the release table')
+    parser.add_argument('--verbose', '-v', action='store_true', dest='verbose', help='Enable verbose debugging output')
+    args = parser.parse_args()
+
+    verbose = args.verbose
+    if 'poky' == args.command:
+        generate_poky()
+    elif 'oe_core' == args.command:
+        generate_oe_core()
+    elif 'all' == args.command:
+        generate_poky()
+        generate_oe_core()
+    elif 'all' == args.command:
+        list_releases()
+    elif 'list' == args.command:
+        list_releases()
+
+    else:
+        print("No command for 'gen_fixtures.py' selected")
+
+if __name__ == '__main__':
+    main(sys.argv[1:])
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
index b01a337..450e7a2 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml
@@ -8,9 +8,9 @@
 
   <!-- Bitbake versions which correspond to the metadata release -->
   <object model="orm.bitbakeversion" pk="1">
-    <field type="CharField" name="name">dunfell</field>
+    <field type="CharField" name="name">kirkstone</field>
     <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
-    <field type="CharField" name="branch">1.46</field>
+    <field type="CharField" name="branch">1.54</field>
   </object>
   <object model="orm.bitbakeversion" pk="2">
     <field type="CharField" name="name">HEAD</field>
@@ -23,18 +23,23 @@
     <field type="CharField" name="branch">master</field>
   </object>
   <object model="orm.bitbakeversion" pk="4">
-    <field type="CharField" name="name">gatesgarth</field>
+    <field type="CharField" name="name">honister</field>
     <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
-    <field type="CharField" name="branch">1.48</field>
+    <field type="CharField" name="branch">1.52</field>
+  </object>
+  <object model="orm.bitbakeversion" pk="5">
+    <field type="CharField" name="name">hardknott</field>
+    <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
+    <field type="CharField" name="branch">1.50</field>
   </object>
 
   <!-- Releases available -->
   <object model="orm.release" pk="1">
-    <field type="CharField" name="name">dunfell</field>
-    <field type="CharField" name="description">Openembedded Dunfell</field>
+    <field type="CharField" name="name">kirkstone</field>
+    <field type="CharField" name="description">Openembedded Kirkstone</field>
     <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
-    <field type="CharField" name="branch_name">dunfell</field>
-    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=dunfell\"&gt;OpenEmbedded Dunfell&lt;/a&gt; branch.</field>
+    <field type="CharField" name="branch_name">kirkstone</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=kirkstone\"&gt;OpenEmbedded Kirkstone&lt;/a&gt; branch.</field>
   </object>
   <object model="orm.release" pk="2">
     <field type="CharField" name="name">local</field>
@@ -51,11 +56,18 @@
     <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/\"&gt;OpenEmbedded master&lt;/a&gt; branch.</field>
   </object>
   <object model="orm.release" pk="4">
-    <field type="CharField" name="name">gatesgarth</field>
-    <field type="CharField" name="description">Openembedded Gatesgarth</field>
+    <field type="CharField" name="name">honister</field>
+    <field type="CharField" name="description">Openembedded Honister</field>
     <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
-    <field type="CharField" name="branch_name">gatesgarth</field>
-    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=gatesgarth\"&gt;OpenEmbedded Gatesgarth&lt;/a&gt; branch.</field>
+    <field type="CharField" name="branch_name">honister</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=honister\"&gt;OpenEmbedded Honister&lt;/a&gt; branch.</field>
+  </object>
+  <object model="orm.release" pk="5">
+    <field type="CharField" name="name">hardknott</field>
+    <field type="CharField" name="description">Openembedded Hardknott</field>
+    <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
+    <field type="CharField" name="branch_name">hardknott</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=hardknott\"&gt;OpenEmbedded Hardknott&lt;/a&gt; branch.</field>
   </object>
 
   <!-- Default layers for each release -->
@@ -75,6 +87,10 @@
     <field rel="ManyToOneRel" to="orm.release" name="release">4</field>
     <field type="CharField" name="layer_name">openembedded-core</field>
   </object>
+  <object model="orm.releasedefaultlayer" pk="5">
+    <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+    <field type="CharField" name="layer_name">openembedded-core</field>
+  </object>
 
 
   <!-- Layer for the Local release -->
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
index 363789d..ed86114 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml
@@ -8,9 +8,9 @@
 
   <!-- Bitbake versions which correspond to the metadata release -->
   <object model="orm.bitbakeversion" pk="1">
-    <field type="CharField" name="name">dunfell</field>
+    <field type="CharField" name="name">kirkstone</field>
     <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
-    <field type="CharField" name="branch">dunfell</field>
+    <field type="CharField" name="branch">kirkstone</field>
     <field type="CharField" name="dirpath">bitbake</field>
   </object>
   <object model="orm.bitbakeversion" pk="2">
@@ -26,20 +26,26 @@
     <field type="CharField" name="dirpath">bitbake</field>
   </object>
   <object model="orm.bitbakeversion" pk="4">
-    <field type="CharField" name="name">gatesgarth</field>
+    <field type="CharField" name="name">honister</field>
     <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
-    <field type="CharField" name="branch">gatesgarth</field>
+    <field type="CharField" name="branch">honister</field>
+    <field type="CharField" name="dirpath">bitbake</field>
+  </object>
+  <object model="orm.bitbakeversion" pk="5">
+    <field type="CharField" name="name">hardknott</field>
+    <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
+    <field type="CharField" name="branch">hardknott</field>
     <field type="CharField" name="dirpath">bitbake</field>
   </object>
 
 
   <!-- Releases available -->
   <object model="orm.release" pk="1">
-    <field type="CharField" name="name">dunfell</field>
-    <field type="CharField" name="description">Yocto Project 3.1 "Dunfell"</field>
+    <field type="CharField" name="name">kirkstone</field>
+    <field type="CharField" name="description">Yocto Project 3.5 "Kirkstone"</field>
     <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field>
-    <field type="CharField" name="branch_name">dunfell</field>
-    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=dunfell"&gt;Yocto Project Dunfell branch&lt;/a&gt;.</field>
+    <field type="CharField" name="branch_name">kirkstone</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=kirkstone"&gt;Yocto Project Kirkstone branch&lt;/a&gt;.</field>
   </object>
   <object model="orm.release" pk="2">
     <field type="CharField" name="name">local</field>
@@ -56,11 +62,18 @@
     <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/"&gt;Yocto Project Master branch&lt;/a&gt;.</field>
   </object>
   <object model="orm.release" pk="4">
-    <field type="CharField" name="name">gatesgarth</field>
-    <field type="CharField" name="description">Yocto Project 3.2 "Gatesgarth"</field>
+    <field type="CharField" name="name">honister</field>
+    <field type="CharField" name="description">Yocto Project 3.4 "Honister"</field>
     <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
-    <field type="CharField" name="branch_name">gatesgarth</field>
-    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=gatesgarth"&gt;Yocto Project Gatesgarth branch&lt;/a&gt;.</field>
+    <field type="CharField" name="branch_name">honister</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=honister"&gt;Yocto Project Honister branch&lt;/a&gt;.</field>
+  </object>
+  <object model="orm.release" pk="5">
+    <field type="CharField" name="name">hardknott</field>
+    <field type="CharField" name="description">Yocto Project 3.3 "Hardknott"</field>
+    <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
+    <field type="CharField" name="branch_name">hardknott</field>
+    <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=hardknott"&gt;Yocto Project Hardknott branch&lt;/a&gt;.</field>
   </object>
 
   <!-- Default project layers for each release -->
@@ -112,6 +125,18 @@
     <field rel="ManyToOneRel" to="orm.release" name="release">4</field>
     <field type="CharField" name="layer_name">meta-yocto-bsp</field>
   </object>
+  <object model="orm.releasedefaultlayer" pk="13">
+    <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+    <field type="CharField" name="layer_name">openembedded-core</field>
+  </object>
+  <object model="orm.releasedefaultlayer" pk="14">
+    <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+    <field type="CharField" name="layer_name">meta-poky</field>
+  </object>
+  <object model="orm.releasedefaultlayer" pk="15">
+    <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+    <field type="CharField" name="layer_name">meta-yocto-bsp</field>
+  </object>
 
   <!-- Default layers provided by poky
        openembedded-core
@@ -130,7 +155,7 @@
     <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">dunfell</field>
+    <field type="CharField" name="branch">kirkstone</field>
     <field type="CharField" name="dirpath">meta</field>
   </object>
   <object model="orm.layer_version" pk="2">
@@ -152,7 +177,14 @@
     <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">4</field>
-    <field type="CharField" name="branch">gatesgarth</field>
+    <field type="CharField" name="branch">honister</field>
+    <field type="CharField" name="dirpath">meta</field>
+  </object>
+  <object model="orm.layer_version" pk="5">
+    <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
+    <field type="IntegerField" name="layer_source">0</field>
+    <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+    <field type="CharField" name="branch">hardknott</field>
     <field type="CharField" name="dirpath">meta</field>
   </object>
 
@@ -164,14 +196,14 @@
     <field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
     <field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
   </object>
-  <object model="orm.layer_version" pk="5">
+  <object model="orm.layer_version" pk="6">
     <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">dunfell</field>
+    <field type="CharField" name="branch">kirkstone</field>
     <field type="CharField" name="dirpath">meta-poky</field>
   </object>
-  <object model="orm.layer_version" pk="6">
+  <object model="orm.layer_version" pk="7">
     <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">2</field>
@@ -179,18 +211,25 @@
     <field type="CharField" name="commit">HEAD</field>
     <field type="CharField" name="dirpath">meta-poky</field>
   </object>
-  <object model="orm.layer_version" pk="7">
+  <object model="orm.layer_version" pk="8">
     <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">3</field>
     <field type="CharField" name="branch">master</field>
     <field type="CharField" name="dirpath">meta-poky</field>
   </object>
-  <object model="orm.layer_version" pk="8">
+  <object model="orm.layer_version" pk="9">
     <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">4</field>
-    <field type="CharField" name="branch">gatesgarth</field>
+    <field type="CharField" name="branch">honister</field>
+    <field type="CharField" name="dirpath">meta-poky</field>
+  </object>
+  <object model="orm.layer_version" pk="10">
+    <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
+    <field type="IntegerField" name="layer_source">0</field>
+    <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+    <field type="CharField" name="branch">hardknott</field>
     <field type="CharField" name="dirpath">meta-poky</field>
   </object>
 
@@ -202,14 +241,14 @@
     <field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
     <field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
   </object>
-  <object model="orm.layer_version" pk="9">
+  <object model="orm.layer_version" pk="11">
     <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
-    <field type="CharField" name="branch">dunfell</field>
+    <field type="CharField" name="branch">kirkstone</field>
     <field type="CharField" name="dirpath">meta-yocto-bsp</field>
   </object>
-  <object model="orm.layer_version" pk="10">
+  <object model="orm.layer_version" pk="12">
     <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">2</field>
@@ -217,18 +256,25 @@
     <field type="CharField" name="commit">HEAD</field>
     <field type="CharField" name="dirpath">meta-yocto-bsp</field>
   </object>
-  <object model="orm.layer_version" pk="11">
+  <object model="orm.layer_version" pk="13">
     <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">3</field>
     <field type="CharField" name="branch">master</field>
     <field type="CharField" name="dirpath">meta-yocto-bsp</field>
   </object>
-  <object model="orm.layer_version" pk="12">
+  <object model="orm.layer_version" pk="14">
     <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
     <field type="IntegerField" name="layer_source">0</field>
     <field rel="ManyToOneRel" to="orm.release" name="release">4</field>
-    <field type="CharField" name="branch">gatesgarth</field>
+    <field type="CharField" name="branch">honister</field>
+    <field type="CharField" name="dirpath">meta-yocto-bsp</field>
+  </object>
+  <object model="orm.layer_version" pk="15">
+    <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
+    <field type="IntegerField" name="layer_source">0</field>
+    <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
+    <field type="CharField" name="branch">hardknott</field>
     <field type="CharField" name="dirpath">meta-yocto-bsp</field>
   </object>
 </django-objects>
diff --git a/poky/bitbake/lib/toaster/orm/fixtures/settings.xml b/poky/bitbake/lib/toaster/orm/fixtures/settings.xml
index 78c0fdc..ab3ea02 100644
--- a/poky/bitbake/lib/toaster/orm/fixtures/settings.xml
+++ b/poky/bitbake/lib/toaster/orm/fixtures/settings.xml
@@ -19,7 +19,7 @@
     <field type="CharField" name="value">${TOPDIR}/../sstate-cache</field>
   </object>
   <object model="orm.toastersetting" pk="6">
-    <field type="CharField" name="name">DEFCONF_IMAGE_INSTALL_append</field>
+    <field type="CharField" name="name">DEFCONF_IMAGE_INSTALL:append</field>
     <field type="CharField" name="value"></field>
   </object>
   <object model="orm.toastersetting" pk="7">
diff --git a/poky/bitbake/lib/toaster/orm/migrations/0020_models_bigautofield.py b/poky/bitbake/lib/toaster/orm/migrations/0020_models_bigautofield.py
new file mode 100644
index 0000000..f19b5dd
--- /dev/null
+++ b/poky/bitbake/lib/toaster/orm/migrations/0020_models_bigautofield.py
@@ -0,0 +1,173 @@
+# Generated by Django 3.2.12 on 2022-03-06 03:28
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('orm', '0019_django_2_2'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='bitbakeversion',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='build',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='distro',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='helptext',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='layer',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='layer_version',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='layerversiondependency',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='logmessage',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='machine',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='package',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='package_dependency',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='package_file',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='project',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='projectlayer',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='projecttarget',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='projectvariable',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='provides',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='recipe',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='recipe_dependency',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='release',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='releasedefaultlayer',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='target',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='target_file',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='target_image_file',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='target_installed_package',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='targetkernelfile',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='targetsdkfile',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='task',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='task_dependency',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='toastersetting',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='variable',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+        migrations.AlterField(
+            model_name='variablehistory',
+            name='id',
+            field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'),
+        ),
+    ]
diff --git a/poky/bitbake/lib/toaster/orm/models.py b/poky/bitbake/lib/toaster/orm/models.py
index 4c94b40..2cb7d7e 100644
--- a/poky/bitbake/lib/toaster/orm/models.py
+++ b/poky/bitbake/lib/toaster/orm/models.py
@@ -58,7 +58,6 @@
             return _base_insert(self, *args, **kwargs)
     QuerySet._insert = _insert
 
-    from django.utils import six
     def _create_object_from_params(self, lookup, params):
         """
         Tries to create an object using passed params.
@@ -1717,7 +1716,7 @@
 
     def generate_recipe_file_contents(self):
         """Generate the contents for the recipe file."""
-        # If we have no excluded packages we only need to _append
+        # If we have no excluded packages we only need to :append
         if self.excludes_set.count() == 0:
             packages_conf = "IMAGE_INSTALL:append = \" "
 
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/base.html b/poky/bitbake/lib/toaster/toastergui/templates/base.html
index 9e19cc3..2b30549 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/base.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/base.html
@@ -123,7 +123,7 @@
               {% endif %}
             {% endif %}
               <li id="navbar-docs">
-              <a target="_blank" href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html">
+              <a target="_blank" href="http://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual">
                 <i class="glyphicon glyphicon-book"></i>
                 Documentation
               </a>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/configvars.html b/poky/bitbake/lib/toaster/toastergui/templates/configvars.html
index 33fef93..691dace 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/configvars.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/configvars.html
@@ -66,7 +66,7 @@
         <td class="description">
             {% if variable.description %}
                 {{variable.description}}
-                <a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-{{variable.variable_name|variable_parent_name}}" target="_blank">
+                <a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-{{variable.variable_name|variable_parent_name}}" target="_blank">
                 <span class="glyphicon glyphicon-new-window get-info"></span></a>
             {% endif %}
         </td>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/landing.html b/poky/bitbake/lib/toaster/toastergui/templates/landing.html
index bfaaf6f..08b40fb 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/landing.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/landing.html
@@ -15,7 +15,7 @@
               <p>A web interface to <a href="https://www.openembedded.org">OpenEmbedded</a> and <a href="https://www.yoctoproject.org/tools-resources/projects/bitbake">BitBake</a>, the <a href="https://www.yoctoproject.org">Yocto Project</a> build system.</p>
 
 		          <p class="top-air">
-		            <a class="btn btn-info btn-lg" href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#toaster-manual-setup-and-use">
+		            <a class="btn btn-info btn-lg" href="http://docs.yoctoproject.org/toaster-manual/setup-and-use.html#setting-up-and-using-toaster">
 			            Toaster is ready to capture your command line builds
 		            </a>
 		          </p>
@@ -33,7 +33,7 @@
                   Toaster has no layer information. Without layer information, you cannot run builds. To generate layer information you can:
                   <ul>
                     <li>
-                      <a href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#layer-source">Configure a layer source</a>
+                      <a href="http://docs.yoctoproject.org/toaster-manual/reference.html#layer-source">Configure a layer source</a>
                     </li>
                     <li>
 			                <a href="{% url 'newproject' %}">Create a project</a>, then import layers
@@ -44,7 +44,7 @@
 
               <ul class="list-unstyled lead">
                 <li>
-                  <a href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html">
+                  <a href="http://docs.yoctoproject.org/toaster-manual/index.html#toaster-user-manual">
                     Read the Toaster manual
                   </a>
                 </li>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html b/poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html
deleted file mode 100644
index e7200b8..0000000
--- a/poky/bitbake/lib/toaster/toastergui/templates/landing_not_managed.html
+++ /dev/null
@@ -1,34 +0,0 @@
-{% extends "base.html" %}
-
-{% load static %}
-{% load projecttags %}
-{% load humanize %}
-
-{% block title %} Welcome to Toaster {% endblock %}
-
-{% block pagecontent %}
-
-  <div class="container">
-   <div class="row">
-    <!-- Empty - no build module -->
-    <div class="page-header top-air">
-     <h1>
-       This page only works with Toaster in 'Build' mode
-     </h1>
-    </div>
-    <div class="alert alert-info lead">
-     <p">
-     The 'Build' mode allows you to configure and run your Yocto Project builds from Toaster.
-     <ul>
-       <li><a href="https://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html#intro-modes">
-       Read about the 'Build' mode
-       </a></li>
-       <li><a href="/">
-       View your builds
-       </a></li>
-     </ul>
-     </p>
-    </div>
-   </div>
-
-{% endblock %}
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/project.html b/poky/bitbake/lib/toaster/toastergui/templates/project.html
index d8ad2c7..22239a8 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/project.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/project.html
@@ -139,7 +139,7 @@
         <ul>
           <li><a href="{% url 'projectlayers' project.id %}">Choose from the layers compatible with this project</a></li>
           <li><a href="{% url 'importlayer' project.id %}">Import a layer</a></li>
-          <li><a href="https://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
+          <li><a href="http://docs.yoctoproject.org/dev-manual/common-tasks.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
           <li>Or type a layer name below</li>
         </ul>
       </div>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/project_specific.html b/poky/bitbake/lib/toaster/toastergui/templates/project_specific.html
index 42725c0..76d45b1 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/project_specific.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/project_specific.html
@@ -137,7 +137,7 @@
         <ul>
           <li><a href="{% url 'projectlayers' project.id %}">Choose from the layers compatible with this project</a></li>
           <li><a href="{% url 'importlayer' project.id %}">Import a layer</a></li>
-          <li><a href="https://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
+	  <li><a href="http://docs.yoctoproject.org/dev-manual/common-tasks.html#understanding-and-creating-layers" target="_blank">Read about layers in the documentation</a></li>
           <li>Or type a layer name below</li>
         </ul>
       </div>
diff --git a/poky/bitbake/lib/toaster/toastergui/templates/projectconf.html b/poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
index d62691d..c306835 100644
--- a/poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
+++ b/poky/bitbake/lib/toaster/toastergui/templates/projectconf.html
@@ -73,7 +73,7 @@
 
     {% if image_install_append_defined %}
     <dt>
-    <span class="js-config-var-name js-config-var-managed-name">IMAGE_INSTALL_append</span>
+    <span class="js-config-var-name js-config-var-managed-name">IMAGE_INSTALL:append</span>
     <span class="glyphicon glyphicon-question-sign get-help" title="Specifies additional packages to install into an image. If your build creates more than one image, the packages will be installed in all of them"></span>
     </dt>
     <dd class="variable-list">
@@ -83,7 +83,7 @@
     <form id="change-image_install-form" class="form-inline" style="display:none;">
       <div class="row">
         <div class="col-md-4">
-          <span class="help-block">To set IMAGE_INSTALL_append to more than one package, type the package names separated by a space.</span>
+          <span class="help-block">To set IMAGE_INSTALL:append to more than one package, type the package names separated by a space.</span>
         </div>
       </div>
       <div class="form-group">
@@ -201,12 +201,12 @@
           <p>Toaster cannot set any variables that impact 1) the configuration of the build servers,
           or 2) where artifacts produced by the build are stored. Such variables include: </p>
           <p>
-          <code><a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-BB_DISKMON_DIRS" target="_blank">BB_DISKMON_DIRS</a></code>
-          <code><a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-BB_NUMBER_THREADS" target="_blank">BB_NUMBER_THREADS</a></code>
+          <code><a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-BB_DISKMON_DIRS" target="_blank">BB_DISKMON_DIRS</a></code>
+          <code><a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-BB_NUMBER_THREADS" target="_blank">BB_NUMBER_THREADS</a></code>
           <code>CVS_PROXY_HOST</code>
           <code>CVS_PROXY_PORT</code>
-          <code><a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PARALLEL_MAKE" target="_blank">PARALLEL_MAKE</a></code>
-          <code><a href="https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-TMPDIR" target="_blank">TMPDIR</a></code></p>
+          <code><a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-PARALLEL_MAKE" target="_blank">PARALLEL_MAKE</a></code>
+          <code><a href="http://docs.yoctoproject.org/ref-manual/variables.html#term-TMPDIR" target="_blank">TMPDIR</a></code></p>
           <p>Plus the following standard shell environment variables:</p>
           <p><code>http_proxy</code> <code>ftp_proxy</code> <code>https_proxy</code> <code>all_proxy</code></p>
         </div>
@@ -771,10 +771,10 @@
 
   {% if image_install_append_defined %}
 
-  // init IMAGE_INSTALL_append trash icon
+  // init IMAGE_INSTALL:append trash icon
   setDeleteTooltip($('#delete-image_install-icon'));
 
-  // change IMAGE_INSTALL_append variable
+  // change IMAGE_INSTALL:append variable
   $('#change-image_install-icon').click(function() {
     // preset the edit value
     var current_val = $("span#image_install").text().trim();
@@ -814,7 +814,7 @@
   $('#apply-change-image_install').click(function(){
     // insure these non-empty values have single space prefix
     var value = " " + $('#new-image_install').val().trim();
-    postEditAjaxRequest({"configvarChange" : 'IMAGE_INSTALL_append:'+value});
+    postEditAjaxRequest({"configvarChange" : 'IMAGE_INSTALL:append:'+value});
     $('#image_install').text(value);
     $('#image_install').removeClass('text-muted');
     $("#change-image_install-form").slideUp(function () {
@@ -826,10 +826,10 @@
     });
   });
 
-  // delete IMAGE_INSTALL_append variable value
+  // delete IMAGE_INSTALL:append variable value
   $('#delete-image_install-icon').click(function(){
     $(this).tooltip('hide');
-    postEditAjaxRequest({"configvarChange" : 'IMAGE_INSTALL_append:'+''});
+    postEditAjaxRequest({"configvarChange" : 'IMAGE_INSTALL:append:'+''});
     $('#image_install').parent().fadeOut(1000, function(){
       $('#image_install').addClass('text-muted');
       $('#image_install').text('Not set');
@@ -1011,7 +1011,7 @@
     $(".save").attr("disabled","disabled");
 
     // Reload page if admin-removed core managed value is manually added back in
-    if (0 <= " DISTRO DL_DIR IMAGE_FSTYPES IMAGE_INSTALL_append PACKAGE_CLASSES SSTATE_DIR ".indexOf( " "+variable+" " )) {
+    if (0 <= " DISTRO DL_DIR IMAGE_FSTYPES IMAGE_INSTALL:append PACKAGE_CLASSES SSTATE_DIR ".indexOf( " "+variable+" " )) {
       // delayed reload to avoid race condition with postEditAjaxRequest
       do_reload=true;
     }
diff --git a/poky/bitbake/lib/toaster/toastermain/settings.py b/poky/bitbake/lib/toaster/toastermain/settings.py
index a4b370c..609c85d 100644
--- a/poky/bitbake/lib/toaster/toastermain/settings.py
+++ b/poky/bitbake/lib/toaster/toastermain/settings.py
@@ -39,6 +39,9 @@
     }
 }
 
+# New in Django 3.2
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+
 # Needed when Using sqlite especially to add a longer timeout for waiting
 # for the database lock to be  released
 # https://docs.djangoproject.com/en/1.6/ref/databases/#database-is-locked-errors
diff --git a/poky/bitbake/toaster-requirements.txt b/poky/bitbake/toaster-requirements.txt
index 735b614..dedd423 100644
--- a/poky/bitbake/toaster-requirements.txt
+++ b/poky/bitbake/toaster-requirements.txt
@@ -1,3 +1,3 @@
-Django>2.2,<2.3
+Django>3.2,<3.3
 beautifulsoup4>=4.4.0
 pytz
diff --git a/poky/documentation/.gitignore b/poky/documentation/.gitignore
index 35ead8a..096b97e 100644
--- a/poky/documentation/.gitignore
+++ b/poky/documentation/.gitignore
@@ -1,5 +1,7 @@
 _build/
 Pipfile.lock
+poky.yaml
+sphinx-static/switchers.js
 .vscode/
 */svg/*.png
 */svg/*.pdf
diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile
index f04f381..bec5339 100644
--- a/poky/documentation/Makefile
+++ b/poky/documentation/Makefile
@@ -57,4 +57,5 @@
 # Catch-all target: route all unknown targets to Sphinx using the new
 # "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
 %:
+	$(SOURCEDIR)/set_versions.py
 	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/poky/documentation/README b/poky/documentation/README
index 10b46de..6f6a8ec 100644
--- a/poky/documentation/README
+++ b/poky/documentation/README
@@ -113,13 +113,18 @@
 Sphinx might be available in your Linux distro packages repositories,
 however it is not recommended to use distro packages, as they might be
 old versions, especially if you are using an LTS version of your
-distro. The recommended method to install Sphinx and all required
-dependencies is to use the Python Package Index (pip).
+distro. The recommended method to install the latest versions of Sphinx
+and of its required dependencies is to use the Python Package Index (pip).
 
 To install all required packages run:
 
  $ pip3 install sphinx sphinx_rtd_theme pyyaml
 
+To make sure you always have the latest versions of such packages, you
+should regularly run the same command with an added "--upgrade" option:
+
+ $ pip3 install --upgrade sphinx sphinx_rtd_theme pyyaml
+
 Also install the "inkscape" package from your distribution.
 Inkscape is need to convert SVG graphics to PNG (for EPUB
 export) and to PDF (for PDF export).
@@ -170,17 +175,18 @@
     Book
       Chapter
         Section
-          Section
-            Section
+          Subsection
+            Subsubsection
+              Subsubsubsection
 
-Here are the heading styles defined in Sphinx:
+Here are the heading styles that we use in the manuals:
 
-    Book              => overline ===
-      Chapter         => overline ***
-        Section       => ====
-          Section     => ----
-            Section   => ^^^^
-              Section => """" or ~~~~
+    Book                       => overline ===
+      Chapter                  => overline ***
+        Section                => ====
+          Subsection           => ----
+            Subsubsection      => ~~~~
+              Subsubsubsection => ^^^^
 
 With this proposal, we preserve the same TOCs between Sphinx and Docbook.
 
diff --git a/poky/documentation/brief-yoctoprojectqs/index.rst b/poky/documentation/brief-yoctoprojectqs/index.rst
index b01fb4d..ad5d8a9 100644
--- a/poky/documentation/brief-yoctoprojectqs/index.rst
+++ b/poky/documentation/brief-yoctoprojectqs/index.rst
@@ -424,12 +424,12 @@
    development documentation, and access to a rich Yocto Project
    Development Community into which you can tap.
 
--  **Developer Screencast:** The `Getting Started with the Yocto Project -
-   New Developer Screencast Tutorial <https://vimeo.com/36450321>`__
-   provides a 30-minute video created for users unfamiliar with the
-   Yocto Project but familiar with Linux build hosts. While this
-   screencast is somewhat dated, the introductory and fundamental
-   concepts are useful for the beginner.
+-  **Video Seminar:** The `Introduction to the Yocto Project and Bitbake, Part 1
+   <https://youtu.be/yuE7my3KOpo>`__ and
+   `Introduction to the Yocto Project and Bitbake, Part 2
+   <https://youtu.be/iZ05TTyzGHk>`__ videos offer a video seminar
+   introducing you to the most important aspects of developing a
+   custom embedded Linux distribution with the Yocto Project.
 
 -  **Yocto Project Overview and Concepts Manual:** The
    :doc:`/overview-manual/index` is a great
diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst
index ab8ed54..8ec7f29 100644
--- a/poky/documentation/bsp-guide/bsp.rst
+++ b/poky/documentation/bsp-guide/bsp.rst
@@ -1113,7 +1113,7 @@
 #. *Use the LICENSE_FLAGS Variable to Define the Recipes that Have Commercial or
    Other Types of Specially-Licensed Packages:* For each of those recipes, you can
    specify a matching license string in a ``local.conf`` variable named
-   :term:`LICENSE_FLAGS_WHITELIST`.
+   :term:`LICENSE_FLAGS_ACCEPTED`.
    Specifying the matching license string signifies that you agree to
    the license. Thus, the build system can build the corresponding
    recipe and include the component in the image. See the
@@ -1122,15 +1122,15 @@
    how to use these variables.
 
    If you build as you normally would, without specifying any recipes in
-   the :term:`LICENSE_FLAGS_WHITELIST` variable, the build stops and provides
+   the :term:`LICENSE_FLAGS_ACCEPTED` variable, the build stops and provides
    you with the list of recipes that you have tried to include in the image
-   that need entries in the :term:`LICENSE_FLAGS_WHITELIST` variable. Once you
+   that need entries in the :term:`LICENSE_FLAGS_ACCEPTED` variable. Once you
    enter the appropriate license flags into it, restart the build to continue
    where it left off. During the build, the prompt will not appear again since
    you have satisfied the requirement.
 
    Once the appropriate license flags are on the white list in the
-   :term:`LICENSE_FLAGS_WHITELIST` variable, you can build the encumbered
+   :term:`LICENSE_FLAGS_ACCEPTED` variable, you can build the encumbered
    image with no change at all to the normal build process.
 
 #. *Get a Pre-Built Version of the BSP:* You can get this type of BSP by
@@ -1143,7 +1143,7 @@
    click-through license agreements presented by the website. If you
    want to build the image yourself using the recipes contained within
    the BSP tarball, you will still need to create an appropriate
-   :term:`LICENSE_FLAGS_WHITELIST` to match the encumbered recipes in the
+   :term:`LICENSE_FLAGS_ACCEPTED` to match the encumbered recipes in the
    BSP.
 
 .. note::
diff --git a/poky/documentation/conf.py b/poky/documentation/conf.py
index 3015892..a5d7c0c 100644
--- a/poky/documentation/conf.py
+++ b/poky/documentation/conf.py
@@ -15,9 +15,27 @@
 import os
 import sys
 import datetime
+try:
+    import yaml
+except ImportError:
+    sys.stderr.write("The Yocto Project Sphinx documentation requires PyYAML.\
+    \nPlease make sure to install pyyaml python package.\n")
+    sys.exit(1)
 
-current_version = "dev"
-bitbake_version = "" # Leave empty for development branch
+# current_version = "dev"
+# bitbake_version = "" # Leave empty for development branch
+# Obtain versions from poky.yaml instead
+with open("poky.yaml") as data:
+    buff = data.read()
+    subst_vars = yaml.safe_load(buff)
+    if "DOCCONF_VERSION" not in subst_vars:
+        sys.stderr.write("Please set DOCCONF_VERSION in poky.yaml")
+        sys.exit(1)
+    current_version = subst_vars["DOCCONF_VERSION"]
+    if "BITBAKE_SERIES" not in subst_vars:
+        sys.stderr.write("Please set BITBAKE_SERIES in poky.yaml")
+        sys.exit(1)
+    bitbake_version = subst_vars["BITBAKE_SERIES"]
 
 # String used in sidebar
 version = 'Version: ' + current_version
diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index c111355..9d4aaa5 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -564,7 +564,7 @@
    SUMMARY = "X.Org X server configuration file"
    HOMEPAGE = "http://www.x.org"
    SECTION = "x11/base"
-   LICENSE = "MIT-X"
+   LICENSE = "MIT"
    LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
    PR = "r33"
 
@@ -1396,19 +1396,14 @@
 ":ref:`dev-manual/common-tasks:autotooled package`" section.
 
 Another way of specifying source is from an SCM. For Git repositories,
-you must specify :term:`SRCREV` and
-you should specify :term:`PV` to include
-the revision with :term:`SRCPV`. Here
-is an example from the recipe
-``meta/recipes-kernel/blktrace/blktrace_git.bb``::
+you must specify :term:`SRCREV` and you should specify :term:`PV` to include
+the revision with :term:`SRCPV`. Here is an example from the recipe
+``meta/recipes-core/musl/gcompat_git.bb``::
 
-   SRCREV = "d6918c8832793b4205ed3bfede78c2f915c23385"
+   SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current"
 
-   PR = "r6"
-   PV = "1.0.5+git${SRCPV}"
-
-   SRC_URI = "git://git.kernel.dk/blktrace.git \
-              file://ldflags.patch"
+   PV = "1.0.0+1.1+git${SRCPV}"
+   SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793"
 
 If your :term:`SRC_URI` statement includes URLs pointing to individual files
 fetched from a remote server other than a version control system,
@@ -1481,6 +1476,22 @@
 The build system automatically applies patches as described in the
 ":ref:`dev-manual/common-tasks:patching code`" section.
 
+Fetching Code Through Firewalls
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Some users are behind firewalls and need to fetch code through a proxy.
+See the ":doc:`/ref-manual/faq`" chapter for advice.
+
+Limiting the Number of Parallel Connections
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Some users are behind firewalls or use servers where the number of parallel
+connections is limited. In such cases, you can limit the number of fetch
+tasks being run in parallel by adding the following to your ``local.conf``
+file::
+
+   do_fetch[number_threads] = "4"
+
 Unpacking Code
 --------------
 
@@ -1543,7 +1554,7 @@
    given a piece of software licensed under the GNU General Public
    License version 2, you would set :term:`LICENSE` as follows::
 
-      LICENSE = "GPLv2"
+      LICENSE = "GPL-2.0-only"
 
    The licenses you specify within :term:`LICENSE` can have any name as long
    as you do not use spaces, since spaces are used as separators between
@@ -2338,7 +2349,7 @@
 
    SUMMARY = "GNU Helloworld application"
    SECTION = "examples"
-   LICENSE = "GPLv2+"
+   LICENSE = "GPL-2.0-or-later"
    LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
    SRC_URI = "${GNU_MIRROR}/hello/hello-${PV}.tar.gz"
@@ -2372,41 +2383,39 @@
 
    CFLAGS:prepend = "-I ${S}/include "
 
-In the following example, ``mtd-utils`` is a makefile-based package::
+In the following example, ``lz4`` is a makefile-based package::
 
-   SUMMARY = "Tools for managing memory technology devices"
-   SECTION = "base"
-   DEPENDS = "zlib lzo e2fsprogs util-linux"
-   HOMEPAGE = "http://www.linux-mtd.infradead.org/"
-   LICENSE = "GPLv2+"
-   LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
-       file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
+   SUMMARY = "Extremely Fast Compression algorithm"
+   DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems."
+   HOMEPAGE = "https://github.com/lz4/lz4"
 
-   # Use the latest version at 26 Oct, 2013
-   SRCREV = "9f107132a6a073cce37434ca9cda6917dd8d866b"
-   SRC_URI = "git://git.infradead.org/mtd-utils.git \
-       file://add-exclusion-to-mkfs-jffs2-git-2.patch \
-       "
+   LICENSE = "BSD-2-Clause | GPL-2.0-only"
+   LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
+                       file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                       file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \
+                       "
 
-   PV = "1.5.1+git${SRCPV}"
+   PE = "1"
+
+   SRCREV = "d44371841a2f1728a3f36839fd4b7e872d0927d3"
+
+   SRC_URI = "git://github.com/lz4/lz4.git;branch=release;protocol=https \
+              file://CVE-2021-3520.patch \
+              "
+   UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
 
    S = "${WORKDIR}/git"
 
-   EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"
+   # Fixed in r118, which is larger than the current version.
+   CVE_CHECK_IGNORE += "CVE-2014-4715"
 
-   do_install () {
-       oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
+   EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' CFLAGS='${CFLAGS}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no"
+
+   do_install() {
+           oe_runmake install
    }
 
-   PACKAGES =+ "mtd-utils-jffs2 mtd-utils-ubifs mtd-utils-misc"
-
-   FILES:mtd-utils-jffs2 = "${sbindir}/mkfs.jffs2 ${sbindir}/jffs2dump ${sbindir}/jffs2reader ${sbindir}/sumtool"
-   FILES:mtd-utils-ubifs = "${sbindir}/mkfs.ubifs ${sbindir}/ubi*"
-   FILES:mtd-utils-misc = "${sbindir}/nftl* ${sbindir}/ftl* ${sbindir}/rfd* ${sbindir}/doc* ${sbindir}/serve_image ${sbindir}/recv_image"
-
-   PARALLEL_MAKE = ""
-
-   BBCLASSEXTEND = "native"
+   BBCLASSEXTEND = "native nativesdk"
 
 Splitting an Application into Multiple Packages
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -2534,13 +2543,6 @@
    where you have installed them and whether those files are in
    different locations than the defaults.
 
-.. note::
-
-  If image prelinking is enabled (e.g. :ref:`image-prelink <ref-classes-image-prelink>` is in :term:`USER_CLASSES`
-  which it is by default), prelink will change the binaries in the generated images
-  and this often catches people out. Remove that class to ensure binaries are
-  preserved exactly if that is necessary.
-
 Following Recipe Style Guidelines
 ---------------------------------
 
@@ -7908,6 +7910,20 @@
 and the appropriate packages will have support for both systemd and
 SysVinit.
 
+Using systemd-journald without a traditional syslog daemon
+----------------------------------------------------------
+
+Counter-intuitively, ``systemd-journald`` is not a syslog runtime or provider,
+and the proper way to use systemd-journald as your sole logging mechanism is to
+effectively disable syslog entirely by setting these variables in your distribution
+configuration file::
+
+   VIRTUAL-RUNTIME_syslog = ""
+   VIRTUAL-RUNTIME_base-utils-syslog = ""
+
+Doing so will prevent ``rsyslog`` / ``busybox-syslog`` from being pulled in by
+default, leaving only ``journald``.
+
 Selecting a Device Manager
 ==========================
 
@@ -8273,26 +8289,39 @@
 output from this command::
 
    $ buildhistory-collect-srcrevs -a
-   # i586-poky-linux
-   SRCREV:pn-glibc = "b8079dd0d360648e4e8de48656c5c38972621072"
-   SRCREV:pn-glibc-initial = "b8079dd0d360648e4e8de48656c5c38972621072"
-   SRCREV:pn-opkg-utils = "53274f087565fd45d8452c5367997ba6a682a37a"
-   SRCREV:pn-kmod = "fd56638aed3fe147015bfa10ed4a5f7491303cb4"
-   # x86_64-linux
-   SRCREV:pn-gtk-doc-stub-native = "1dea266593edb766d6d898c79451ef193eb17cfa"
-   SRCREV:pn-dtc-native = "65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf"
-   SRCREV:pn-update-rc.d-native = "eca680ddf28d024954895f59a241a622dd575c11"
-   SRCREV_glibc:pn-cross-localedef-native = "b8079dd0d360648e4e8de48656c5c38972621072"
-   SRCREV_localedef:pn-cross-localedef-native = "c833367348d39dad7ba018990bfdaffaec8e9ed3"
-   SRCREV:pn-prelink-native = "faa069deec99bf61418d0bab831c83d7c1b797ca"
-   SRCREV:pn-opkg-utils-native = "53274f087565fd45d8452c5367997ba6a682a37a"
-   SRCREV:pn-kern-tools-native = "23345b8846fe4bd167efdf1bd8a1224b2ba9a5ff"
-   SRCREV:pn-kmod-native = "fd56638aed3fe147015bfa10ed4a5f7491303cb4"
-   # qemux86-poky-linux
-   SRCREV_machine:pn-linux-yocto = "38cd560d5022ed2dbd1ab0dca9642e47c98a0aa1"
-   SRCREV_meta:pn-linux-yocto = "a227f20eff056e511d504b2e490f3774ab260d6f"
    # all-poky-linux
-   SRCREV:pn-update-rc.d = "eca680ddf28d024954895f59a241a622dd575c11"
+   SRCREV:pn-ca-certificates = "07de54fdcc5806bde549e1edf60738c6bccf50e8"
+   SRCREV:pn-update-rc.d = "8636cf478d426b568c1be11dbd9346f67e03adac"
+   # core2-64-poky-linux
+   SRCREV:pn-binutils = "87d4632d36323091e731eb07b8aa65f90293da66"
+   SRCREV:pn-btrfs-tools = "8ad326b2f28c044cb6ed9016d7c3285e23b673c8"
+   SRCREV_bzip2-tests:pn-bzip2 = "f9061c030a25de5b6829e1abf373057309c734c0"
+   SRCREV:pn-e2fsprogs = "02540dedd3ddc52c6ae8aaa8a95ce75c3f8be1c0"
+   SRCREV:pn-file = "504206e53a89fd6eed71aeaf878aa3512418eab1"
+   SRCREV_glibc:pn-glibc = "24962427071fa532c3c48c918e9d64d719cc8a6c"
+   SRCREV:pn-gnome-desktop-testing = "e346cd4ed2e2102c9b195b614f3c642d23f5f6e7"
+   SRCREV:pn-init-system-helpers = "dbd9197569c0935029acd5c9b02b84c68fd937ee"
+   SRCREV:pn-kmod = "b6ecfc916a17eab8f93be5b09f4e4f845aabd3d1"
+   SRCREV:pn-libnsl2 = "82245c0c58add79a8e34ab0917358217a70e5100"
+   SRCREV:pn-libseccomp = "57357d2741a3b3d3e8425889a6b79a130e0fa2f3"
+   SRCREV:pn-libxcrypt = "50cf2b6dd4fdf04309445f2eec8de7051d953abf"
+   SRCREV:pn-ncurses = "51d0fd9cc3edb975f04224f29f777f8f448e8ced"
+   SRCREV:pn-procps = "19a508ea121c0c4ac6d0224575a036de745eaaf8"
+   SRCREV:pn-psmisc = "5fab6b7ab385080f1db725d6803136ec1841a15f"
+   SRCREV:pn-ptest-runner = "bcb82804daa8f725b6add259dcef2067e61a75aa"
+   SRCREV:pn-shared-mime-info = "18e558fa1c8b90b86757ade09a4ba4d6a6cf8f70"
+   SRCREV:pn-zstd = "e47e674cd09583ff0503f0f6defd6d23d8b718d3"
+   # qemux86_64-poky-linux
+   SRCREV_machine:pn-linux-yocto = "20301aeb1a64164b72bc72af58802b315e025c9c"
+   SRCREV_meta:pn-linux-yocto = "2d38a472b21ae343707c8bd64ac68a9eaca066a0"
+   # x86_64-linux
+   SRCREV:pn-binutils-cross-x86_64 = "87d4632d36323091e731eb07b8aa65f90293da66"
+   SRCREV_glibc:pn-cross-localedef-native = "24962427071fa532c3c48c918e9d64d719cc8a6c"
+   SRCREV_localedef:pn-cross-localedef-native = "794da69788cbf9bf57b59a852f9f11307663fa87"
+   SRCREV:pn-debianutils-native = "de14223e5bffe15e374a441302c528ffc1cbed57"
+   SRCREV:pn-libmodulemd-native = "ee80309bc766d781a144e6879419b29f444d94eb"
+   SRCREV:pn-virglrenderer-native = "363915595e05fb252e70d6514be2f0c0b5ca312b"
+   SRCREV:pn-zstd-native = "e47e674cd09583ff0503f0f6defd6d23d8b718d3"
 
 .. note::
 
@@ -8354,21 +8383,18 @@
 .. code-block:: none
 
    DISTRO = poky
-   DISTRO_VERSION = 1.7
-   USER_CLASSES = buildstats image-prelink
-   IMAGE_CLASSES = image_types
+   DISTRO_VERSION = 3.4+snapshot-a0245d7be08f3d24ea1875e9f8872aa6bbff93be
+   USER_CLASSES = buildstats
+   IMAGE_CLASSES = qemuboot qemuboot license_image
    IMAGE_FEATURES = debug-tweaks
    IMAGE_LINGUAS =
-   IMAGE_INSTALL = packagegroup-core-boot run-postinsts
+   IMAGE_INSTALL = packagegroup-core-boot speex speexdsp
    BAD_RECOMMENDATIONS =
    NO_RECOMMENDATIONS =
    PACKAGE_EXCLUDE =
-   ROOTFS_POSTPROCESS_COMMAND = write_package_manifest; license_create_manifest; \
-      write_image_manifest ; buildhistory_list_installed_image ; \
-      buildhistory_get_image_installed ; ssh_allow_empty_password;  \
-      postinst_enable_logging; rootfs_update_timestamp ; ssh_disable_dns_lookup ;
-   IMAGE_POSTPROCESS_COMMAND =   buildhistory_get_imageinfo ;
-   IMAGESIZE = 6900
+   ROOTFS_POSTPROCESS_COMMAND = write_package_manifest; license_create_manifest; cve_check_write_rootfs_manifest;   ssh_allow_empty_password;  ssh_allow_root_login;  postinst_enable_logging;  rootfs_update_timestamp;   write_image_test_data;   empty_var_volatile;   sort_passwd; rootfs_reproducible;
+   IMAGE_POSTPROCESS_COMMAND =  buildhistory_get_imageinfo ;
+   IMAGESIZE = 9265
 
 Other than ``IMAGESIZE``,
 which is the total size of the files in the image in Kbytes, the
@@ -11041,17 +11067,17 @@
 In order for a component restricted by a
 :term:`LICENSE_FLAGS` definition to be enabled and included in an image, it
 needs to have a matching entry in the global
-:term:`LICENSE_FLAGS_WHITELIST`
+:term:`LICENSE_FLAGS_ACCEPTED`
 variable, which is a variable typically defined in your ``local.conf``
 file. For example, to enable the
 ``poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly`` package, you
 could add either the string "commercial_gst-plugins-ugly" or the more
-general string "commercial" to :term:`LICENSE_FLAGS_WHITELIST`. See the
+general string "commercial" to :term:`LICENSE_FLAGS_ACCEPTED`. See the
 ":ref:`dev-manual/common-tasks:license flag matching`" section for a full
 explanation of how :term:`LICENSE_FLAGS` matching works. Here is the
 example::
 
-   LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly"
+   LICENSE_FLAGS_ACCEPTED = "commercial_gst-plugins-ugly"
 
 Likewise, to additionally enable the package built from the recipe
 containing ``LICENSE_FLAGS = "license_${PN}_${PV}"``, and assuming that
@@ -11059,7 +11085,7 @@
 enable that package as well as the original ``gst-plugins-ugly``
 package::
 
-   LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly license_emgd_1.10"
+   LICENSE_FLAGS_ACCEPTED = "commercial_gst-plugins-ugly license_emgd_1.10"
 
 As a convenience, you do not need to specify the
 complete license string for every package. You can use
@@ -11072,7 +11098,7 @@
 starting with "commercial" or "license".
 ::
 
-   LICENSE_FLAGS_WHITELIST = "commercial license"
+   LICENSE_FLAGS_ACCEPTED = "commercial license"
 
 License Flag Matching
 ~~~~~~~~~~~~~~~~~~~~~
@@ -11080,7 +11106,7 @@
 License flag matching allows you to control what recipes the
 OpenEmbedded build system includes in the build. Fundamentally, the
 build system attempts to match :term:`LICENSE_FLAGS` strings found in
-recipes against strings found in :term:`LICENSE_FLAGS_WHITELIST`.
+recipes against strings found in :term:`LICENSE_FLAGS_ACCEPTED`.
 A match causes the build system to include a recipe in the
 build, while failure to find a match causes the build system to exclude
 a recipe.
@@ -11089,19 +11115,19 @@
 concepts will help you correctly and effectively use matching.
 
 Before a flag defined by a particular recipe is tested against the
-entries of :term:`LICENSE_FLAGS_WHITELIST`, the expanded
+entries of :term:`LICENSE_FLAGS_ACCEPTED`, the expanded
 string ``_${PN}`` is appended to the flag. This expansion makes each
 :term:`LICENSE_FLAGS` value recipe-specific. After expansion, the
 string is then matched against the entries. Thus, specifying
 ``LICENSE_FLAGS = "commercial"`` in recipe "foo", for example, results
 in the string ``"commercial_foo"``. And, to create a match, that string
-must appear among the entries of :term:`LICENSE_FLAGS_WHITELIST`.
+must appear among the entries of :term:`LICENSE_FLAGS_ACCEPTED`.
 
 Judicious use of the :term:`LICENSE_FLAGS` strings and the contents of the
-:term:`LICENSE_FLAGS_WHITELIST` variable allows you a lot of flexibility for
+:term:`LICENSE_FLAGS_ACCEPTED` variable allows you a lot of flexibility for
 including or excluding recipes based on licensing. For example, you can
 broaden the matching capabilities by using license flags string subsets
-in :term:`LICENSE_FLAGS_WHITELIST`.
+in :term:`LICENSE_FLAGS_ACCEPTED`.
 
 .. note::
 
@@ -11110,7 +11136,7 @@
    ``usethispart_1.3``, ``usethispart_1.4``, and so forth).
 
 For example, simply specifying the string "commercial" in the
-:term:`LICENSE_FLAGS_WHITELIST` variable matches any expanded
+:term:`LICENSE_FLAGS_ACCEPTED` variable matches any expanded
 :term:`LICENSE_FLAGS` definition that starts with the string
 "commercial" such as "commercial_foo" and "commercial_bar", which
 are the strings the build system automatically generates for
@@ -11128,24 +11154,24 @@
 ``_${PN}`` appended. For example, the build system turns the license
 flag "commercial_1.2_foo" into "commercial_1.2_foo_foo" and would match
 both the general "commercial" and the specific "commercial_1.2_foo"
-strings found in the :term:`LICENSE_FLAGS_WHITELIST` variable, as expected.
+strings found in the :term:`LICENSE_FLAGS_ACCEPTED` variable, as expected.
 
 Here are some other scenarios:
 
 -  You can specify a versioned string in the recipe such as
    "commercial_foo_1.2" in a "foo" recipe. The build system expands this
    string to "commercial_foo_1.2_foo". Combine this license flag with a
-   :term:`LICENSE_FLAGS_WHITELIST` variable that has the string
+   :term:`LICENSE_FLAGS_ACCEPTED` variable that has the string
    "commercial" and you match the flag along with any other flag that
    starts with the string "commercial".
 
 -  Under the same circumstances, you can add "commercial_foo" in the
-   :term:`LICENSE_FLAGS_WHITELIST` variable and the build system not only
+   :term:`LICENSE_FLAGS_ACCEPTED` variable and the build system not only
    matches "commercial_foo_1.2" but also matches any license flag with
    the string "commercial_foo", regardless of the version.
 
 -  You can be very specific and use both the package and version parts
-   in the :term:`LICENSE_FLAGS_WHITELIST` list (e.g.
+   in the :term:`LICENSE_FLAGS_ACCEPTED` list (e.g.
    "commercial_foo_1.2") to specifically match a versioned recipe.
 
 Other Variables Related to Commercial Licenses
@@ -11167,20 +11193,20 @@
        gst-plugins-ugly-mpegaudioparse"
    COMMERCIAL_VIDEO_PLUGINS = "gst-plugins-ugly-mpeg2dec \
        gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
-   LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly commercial_gst-plugins-bad commercial_qmmp"
+   LICENSE_FLAGS_ACCEPTED = "commercial_gst-plugins-ugly commercial_gst-plugins-bad commercial_qmmp"
 
 
 Of course, you could also create a matching list for those
 components using the more general "commercial" in the
-:term:`LICENSE_FLAGS_WHITELIST` variable, but that would also enable all
+:term:`LICENSE_FLAGS_ACCEPTED` variable, but that would also enable all
 the other packages with :term:`LICENSE_FLAGS`
 containing "commercial", which you may or may not want::
 
-   LICENSE_FLAGS_WHITELIST = "commercial"
+   LICENSE_FLAGS_ACCEPTED = "commercial"
 
 Specifying audio and video plugins as part of the
 ``COMMERCIAL_AUDIO_PLUGINS`` and ``COMMERCIAL_VIDEO_PLUGINS`` statements
-(along with the enabling :term:`LICENSE_FLAGS_WHITELIST`) includes the
+(along with the enabling :term:`LICENSE_FLAGS_ACCEPTED`) includes the
 plugins or components into built images, thus adding support for media
 formats or components.
 
@@ -11544,7 +11570,7 @@
 are not.
 
 Last but not least, you can choose to ignore vulnerabilities through
-the :term:`CVE_CHECK_PN_WHITELIST` and :term:`CVE_CHECK_WHITELIST`
+the :term:`CVE_CHECK_SKIP_RECIPE` and :term:`CVE_CHECK_IGNORE`
 variables.
 
 Implementation details
@@ -11563,9 +11589,9 @@
 products defined in :term:`CVE_PRODUCT`. Then, for each found CVE:
 
  - If the package name (:term:`PN`) is part of
-   :term:`CVE_CHECK_PN_WHITELIST`, it is considered as patched.
+   :term:`CVE_CHECK_SKIP_RECIPE`, it is considered as patched.
 
- - If the CVE ID is part of :term:`CVE_CHECK_WHITELIST`, it is
+ - If the CVE ID is part of :term:`CVE_CHECK_IGNORE`, it is
    considered as patched too.
 
  - If the CVE ID is part of the patched CVE for the recipe, it is
diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst
index 9c7dde8..96fabac 100644
--- a/poky/documentation/dev-manual/start.rst
+++ b/poky/documentation/dev-manual/start.rst
@@ -502,9 +502,10 @@
    can be easily avoided by manually optimizing this file often, this
    can be done in the following way:
 
-   1. *Find the location of your VHDX file:* First you need to find the
-      distro app package directory, to achieve this open a Windows
-      Powershell as Administrator and run::
+   1. *Find the location of your VHDX file:*
+
+      First you need to find the distro app package directory, to achieve this
+      open a Windows Powershell as Administrator and run::
 
          C:\WINDOWS\system32> Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName
          PackageFamilyName
@@ -516,22 +517,40 @@
       replace the PackageFamilyName and your user on the following path
       to find your VHDX file::
 
-          ls C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\
-          Mode                 LastWriteTime         Length Name
-          -a----         3/14/2020   9:52 PM    57418973184 ext4.vhdx
+         ls C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\
+         Mode                 LastWriteTime         Length Name
+         -a----         3/14/2020   9:52 PM    57418973184 ext4.vhdx
 
       Your VHDX file path is:
       ``C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx``
 
-   2. *Optimize your VHDX file:* Open a Windows Powershell as
-      Administrator to optimize your VHDX file, shutting down WSL first::
+   2a. *Optimize your VHDX file using Windows Powershell:*
+
+       To use the ``optimize-vhd`` cmdlet below, first install the Hyper-V
+       option on Windows. Then, open a Windows Powershell as Administrator to
+       optimize your VHDX file, shutting down WSL first::
 
          C:\WINDOWS\system32> wsl --shutdown
          C:\WINDOWS\system32> optimize-vhd -Path C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx -Mode full
 
-      A progress bar should be shown while optimizing the
-      VHDX file, and storage should now be reflected correctly on the
-      Windows Explorer.
+       A progress bar should be shown while optimizing the
+       VHDX file, and storage should now be reflected correctly on the
+       Windows Explorer.
+
+   2b. *Optimize your VHDX file using DiskPart:*
+
+       The ``optimize-vhd`` cmdlet noted in step 2a above is provided by
+       Hyper-V. Not all SKUs of Windows can install Hyper-V. As an alternative,
+       use the DiskPart tool. To start, open a Windows command prompt as
+       Administrator to optimize your VHDX file, shutting down WSL first::
+
+         C:\WINDOWS\system32> wsl --shutdown
+         C:\WINDOWS\system32> diskpart
+
+         DISKPART> select vdisk file="<path_to_VHDX_file>"
+         DISKPART> attach vdisk readonly
+         DISKPART> compact vdisk
+         DISKPART> exit
 
 .. note::
 
@@ -628,9 +647,7 @@
 
 3. *Find the Tarball:* Drill down to find the associated tarball. For
    example, click on ``yocto-&DISTRO;`` to view files associated with the
-   Yocto Project &DISTRO; release (e.g.
-   ``&YOCTO_POKY;.tar.bz2``, which is the
-   released Poky tarball).
+   Yocto Project &DISTRO; release.
 
 4. *Download the Tarball:* Click the tarball to download and save a
    snapshot of the given component.
diff --git a/poky/documentation/migration-guides/migration-2.2.rst b/poky/documentation/migration-guides/migration-2.2.rst
index 3e35b2b..10aa2d0 100644
--- a/poky/documentation/migration-guides/migration-2.2.rst
+++ b/poky/documentation/migration-guides/migration-2.2.rst
@@ -26,8 +26,8 @@
 
 The way directories are staged in sysroot has been simplified and
 introduces the new :term:`SYSROOT_DIRS`,
-:term:`SYSROOT_DIRS_NATIVE`, and
-:term:`SYSROOT_DIRS_BLACKLIST`. See the
+:term:`SYSROOT_DIRS_NATIVE`, and ``SYSROOT_DIRS_BLACKLIST``
+(replaced by :term:`SYSROOT_DIRS_IGNORE` in version 3.5). See the
 :oe_lists:`v2 patch series on the OE-Core Mailing List
 </pipermail/openembedded-core/2016-May/121365.html>`
 for additional information.
diff --git a/poky/documentation/migration-guides/migration-2.6.rst b/poky/documentation/migration-guides/migration-2.6.rst
index c68414e..11e659d 100644
--- a/poky/documentation/migration-guides/migration-2.6.rst
+++ b/poky/documentation/migration-guides/migration-2.6.rst
@@ -118,8 +118,7 @@
 ---------------------------------------------------------------------------------------------------
 
 Previously, it was possible for Python recipes that inherited the
-``distutils`` and
-:ref:`distutils3 <ref-classes-distutils3>` classes to fetch code
+``distutils`` and ``distutils3`` classes to fetch code
 during the :ref:`ref-tasks-configure` task to satisfy
 dependencies mentioned in ``setup.py`` if those dependencies were not
 provided in the sysroot (i.e. recipes providing the dependencies were
diff --git a/poky/documentation/migration-guides/migration-3.0.rst b/poky/documentation/migration-guides/migration-3.0.rst
index 610298b..50d6758 100644
--- a/poky/documentation/migration-guides/migration-3.0.rst
+++ b/poky/documentation/migration-guides/migration-3.0.rst
@@ -148,7 +148,7 @@
 and makes other improvements.
 
 Additionally, the ``CVE_CHECK_CVE_WHITELIST`` variable has been replaced
-by ``CVE_CHECK_WHITELIST``.
+by ``CVE_CHECK_WHITELIST`` (replaced by :term:`CVE_CHECK_IGNORE` in version 3.5).
 
 .. _migration-3.0-bitbake-changes:
 
diff --git a/poky/documentation/migration-guides/migration-3.3.rst b/poky/documentation/migration-guides/migration-3.3.rst
index f982b1c..1eb494c 100644
--- a/poky/documentation/migration-guides/migration-3.3.rst
+++ b/poky/documentation/migration-guides/migration-3.3.rst
@@ -90,17 +90,17 @@
 
 then in ``setup.py`` it works with source code in a relative fashion, such
 as ``../../src``. This causes pseudo to fail as it isn't able to track
-the paths properly. This release introduces a new :term:`DISTUTILS_SETUP_PATH`
+the paths properly. This release introduces a new ``DISTUTILS_SETUP_PATH``
 variable so that recipes can specify it explicitly, for example::
 
    S = "${WORKDIR}/git"
    DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
 
-Recipes that inherit from :ref:`distutils3 <ref-classes-distutils3>` (or
+Recipes that inherit from ``distutils3`` (or
 :ref:`setuptools3 <ref-classes-setuptools3>` which itself inherits
-:ref:`distutils3 <ref-classes-distutils3>`) that also set :term:`S` to
+``distutils3``) that also set :term:`S` to
 point to a Python module within a subdirectory in the aforementioned
-manner should be changed to set :term:`DISTUTILS_SETUP_PATH` instead.
+manner should be changed to set ``DISTUTILS_SETUP_PATH`` instead.
 
 
 .. _migration-3.3-bitbake:
diff --git a/poky/documentation/migration-guides/migration-3.4.rst b/poky/documentation/migration-guides/migration-3.4.rst
index 40e01d4..139b2bf 100644
--- a/poky/documentation/migration-guides/migration-3.4.rst
+++ b/poky/documentation/migration-guides/migration-3.4.rst
@@ -255,7 +255,8 @@
 
 - The previously deprecated ``COMPRESS_CMD`` and
   ``CVE_CHECK_CVE_WHITELIST`` variables have been removed. Use
-  ``CONVERSION_CMD`` and :term:`CVE_CHECK_WHITELIST` respectively
+  ``CONVERSION_CMD`` and ``CVE_CHECK_WHITELIST`` (replaced by
+  :term:`CVE_CHECK_IGNORE` in version 3.5) respectively
   instead.
 
 - The obsolete ``oe_machinstall`` function previously provided in the
@@ -264,1055 +265,6 @@
   built-in override support in the fetcher or overrides in general
   instead.
 
-Release notes for 3.4 (honister)
---------------------------------
-
-New Features / Enhancements in 3.4
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
--  Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades
--  Switched override character to ':' (replacing '_') for more robust parsing and improved performance - see the above migration guide for help
--  Rust integrated into core, providing rust support for cross-compilation and SDK
--  New create-spdx class for creating SPDX SBoM documents
--  New recipes: cargo, core-image-ptest-all, core-image-ptest-fast, core-image-weston-sdk, erofs-utils, gcompat, gi-docgen, libmicrohttpd, libseccomp, libstd-rs, perlcross, python3-markdown, python3-pyyaml, python3-smartypants, python3-typogrify, rust, rust-cross, rust-cross-canadian, rust-hello-world, rust-llvm, rust-tools-cross-canadian, rustfmt, xwayland
--  Several optimisations to reduce unnecessary task dependencies for faster builds
--  seccomp integrated into core, with additional enabling for gnutls, systemd, qemu
--  New overlayfs class to help generate overlayfs mount units
--  debuginfod support now enabled by default
--  Switched several recipes over to using OpenSSL instead of GnuTLS (wpa-supplicant, curl, glib-networking) or disable GnuTLS (cups) by default
--  Improvements to LTO plugin installation and reproducibility
--  Architecture-specific enhancements:
-
-   -  glibc: Enable memory tagging for aarch64
-   -  testimage: remove aarch64 xorg exclusion
-   -  arch-arm*: add better support for gcc march extensions
-   -  tune-cortexm*: add support for all Arm Cortex-M processors
-   -  tune-cortexr*: add support for all Arm Cortex-R processors
-   -  arch-armv4: Allow -march=armv4
-   -  qemuarm*: use virtio graphics
-   -  baremetal-helloworld: Enable RISC-V 64/32 port
-   -  ldconfig-native: Add RISC-V support
-   -  qemuriscv: Enable 4 core emulation
-   -  Add ARC support in gdb, dpkg, dhcpcd
-   -  conf/machine-sdk: Add ppc64 SDK machine
-   -  libjpeg-turbo: Handle powerpc64le without Altivec
-   -  pixman: Handle PowerPC without Altivec
-   -  mesa: enable gallium Intel drivers when building for x86
-   -  mesa: enable crocus driver for older Intel graphics
-
--  Kernel-related enhancements:
-
-   -  Support zstd-compressed modules and initramfs images
-   -  Allow opt-out of split kernel modules
-   -  linux-yocto-dev: base AUTOREV on specified version
-   -  kernel-yocto: provide debug / summary information for metadata
-   -  kernel-uboot: Handle gzip and lzo compression options
-   -  linux-yocto/5.14: added devupstream support
-   -  linux-yocto: add vfat to :term:`KERNEL_FEATURES` when :term:`MACHINE_FEATURES` include vfat
-   -  linux-yocto: enable TYPEC_TCPCI in usbc fragment
-
--  Image-related enhancements:
-
-   -  New erofs, erofs-lz4 and erofs-lz4hc image types
-   -  New squashfs-zst and cpio.zst image types
-   -  New lic-pkgs :term:`IMAGE_FEATURES` item to install all license packages
-   -  Added zsync metadata conversion support
-   -  Use xargs to set file timestamps for significant (>90%) do_image speedup
-   -  Find .ko.gz and .ko.xz kernel modules as well when determining need to run depmod on an image
-   -  Show formatted error messages instead of tracebacks for systemctl errors
-   -  No longer ignore installation failures in complementary package installation
-   -  Remove ldconfig auxiliary cache when not needed
-
--  wic enhancements:
-
-   -  Added erofs filesystem support
-   -  Added --extra-space argument to leave extra space after last partition
-   -  Added --no-fstab-update part option to allow using the stock fstab
-   -  bootimg-efi: added Unified Kernel Image option
-   -  bootimg-pcbios: use label provided when formatting a DOS partition
-
--  SDK-related enhancements:
-
-   -  Enable do_populate_sdk with multilibs
-   -  New ``SDKPATHINSTALL`` variable decouples default install path from built in path to avoid rebuilding nativesdk components on e.g. :term:`DISTRO_VERSION` changes
-   -  eSDK: Error if trying to generate an eSDK from a multiconfig
-   -  eSDK: introduce :term:`TOOLCHAIN_HOST_TASK_ESDK` to be used in place of :term:`TOOLCHAIN_HOST_TASK` to add components to the host part of the eSDK
-
--  BitBake enhancements:
-
-   -  New bitbake-getvar helper command to query a variable value (with history)
-   -  bitbake-layers: layerindex-fetch: add --fetchdir parameter
-   -  bitbake-layers: show-recipes: add skip reason to output
-   -  bitbake-diffsigs: sort diff output for consistency
-   -  Allow setting upstream for local hash equivalence server
-   -  fetch2/s3: allow to use credentials and switch profile from environment variables
-   -  fetch2/s3: Add progress handler for S3 cp command
-   -  fetch2/npm: Support npm archives with missing search directory mode
-   -  fetch2/npmsw: Add support for local tarball and link sources
-   -  fetch2/svn: Allow peg-revision functionality to be disabled
-   -  fetch2/wget: verify certificates for HTTPS/FTPS by default
-   -  fetch2/wget: Enable FTPS
-   -  prserv: added read-only mode
-   -  prserv: replaced XML RPC with modern asyncrpc implementation
-   -  Numerous warning/error message improvements
-
--  New :term:`PACKAGECONFIG` options in btrfs-tools, ccache, coreutils, cups, dbus, elfutils, ffmpeg, findutils, glib-2.0, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-base, libarchive, libnotify, libpsl, man-db, mesa, ovmf, parted, prelink, qemu, rpm, shadow, systemd, tar, vim, weston
--  u-boot enhancements:
-
-   -  Make SPL suffix configurable
-   -  Make ``UBOOT_BINARYNAME`` configurable
-   -  Package ``extlinux.conf`` separately
-   -  Allow deploying the u-boot DTB
-
--  opensbi: Add support for specifying a device tree
--  busybox enhancements:
-
-   -  Added tmpdir option into mktemp applet
-   -  Support mounting swap via labels
-   -  Enable long options for enabled applets
-
--  Move tune files to architecture subdirectories
--  buildstats: log host data on failure separately to task specific file
--  buildstats: collect "at interval" and "on failure" logs in the same file
--  Ptest enhancements:
-
-   -  ptest-runner: install script to collect system data on failure
-   -  Added ptest support to python3-hypothesis, python3-jinja2, python3-markupsafe
-   -  Enhanced ptest support in lttng, util-linux, and others
-   -  New leaner ptest image recipes based upon core-image-minimal
-
--  scripts/contrib/image-manifest: add new script
--  Add beginnings of Android target support
--  devtool upgrade: rebase override-only patches as well
--  devtool: print a warning on upgrades if :term:`PREFERRED_VERSION` is set
--  systemd: set zstd as default compression option
--  init-manager-systemd: add a weak VIRTUAL-RUNTIME_dev_manager assignment
--  Add proper unpack dependency for .zst compressed archives
--  util-linux: build chfn and chsh by default
--  qemu: use 4 cores in qemu guests
--  runqemu: decouple bios and kernel options
--  qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absent
--  devupstream: Allow support of native class extensions
--  Prelinking now disabled in default configuration
--  python3: statistics module moved to its own python3-statistics package
--  pypi: allow override of PyPI archive name
--  Allow global override of golang GO_DYNLINK
--  buildhistory enhancements:
-
-   -  Add option to strip path prefix
-   -  Add output file listing package information
-   -  Label packages providing per-file dependencies in depends.dot
-
--  New gi-docgen class for GNOME library documentation
--  meson.bbclass: Make the default buildtype "debug" if :term:`DEBUG_BUILD` is 1
--  distro_features_check: expand with :term:`IMAGE_FEATURES`
--  Add extended packagedata in JSON format
--  local.conf.sample: Update sstate mirror entry with new hash equivalence setting
--  poky: Use https in default :term:`PREMIRRORS`
--  reproducible_build.bbclass: Enable -Wdate-time
--  yocto-check-layer: ensure that all layer dependencies are tested too
--  core-image-multilib-example: base on weston, and not sato
--  npm.bbclass: Allow nodedir to be overridden by ``NPM_NODEDIR``
--  cve-extra-exclusions.inc: add exclusion list for intractable CVE's
--  license_image.bbclass: Detect broken symlinks
--  sysstat: make the service start automatically
--  sanity: Add error check for '%' in build path
--  sanity: Further improve directory sanity tests
--  sanity.bbclass: mention ``CONNECTIVITY_CHECK_URIS`` in network failure message
--  tzdata: Allow controlling zoneinfo binary format
--  oe-time-dd-test.sh: add options and refactor
--  vim: add option to disable NLS support
--  zstd: Include pzstd in the build
--  mirrors.bbclass: provide additional rule for git repo fallbacks
--  own-mirrors: Add support for s3:// scheme in :term:`SOURCE_MIRROR_URL`
--  common-licenses: add missing SPDX licences
--  Add MAINTAINERS.md file to record subsystem maintainers
-
-Known Issues in 3.4
-~~~~~~~~~~~~~~~~~~~
-
-- Build failures have been reported when running on host Linux systems with FIPS enabled (such as RHEL 8.0 with the FIPS mode enabled). For more details please see :yocto_bugs:`bug #14609 </show_bug.cgi?id=14609>`.
-
-Recipe Licenses changes in 3.4
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The following corrections have been made to the LICENSE values set by recipes:
-
--  acpica: correct LICENSE to "Intel | BSD-3-Clause | GPLv2"
--  dtc: correct LICENSE to "GPLv2 | BSD-2-Clause"
--  e2fsprogs: correct LICENSE to "GPLv2 & LGPLv2 & BSD-3-Clause & MIT"
--  ffmpeg: correct LICENSE to "GPLv2+ & LGPLv2.1+ & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
--  flac: correct LICENSE to "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD-3-Clause"
--  flex: correct LICENSE to "BSD-3-Clause & LGPL-2.0+"
--  font-util: correct LICENSE to "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
--  glib-2.0: correct LICENSE to "LGPLv2.1+ & BSD-3-Clause & PD"
--  gobject-introspection: correct LICENSE to "LGPLv2+ & GPLv2+ & MIT" (add MIT license)
--  hdparm: correct LICENSE to "BSD-2-Clause & GPLv2 & hdparm"
--  iputils: correct LICENSE to "BSD-3-Clause & GPLv2+"
--  libcap: correct LICENSE to "BSD-3-Clause | GPLv2"
--  libevent: correct LICENSE to "BSD-3-Clause & MIT"
--  libjitterentropy: correct LICENSE to "GPLv2+ | BSD-3-Clause"
--  libpam: correct LICENSE to "GPLv2+ | BSD-3-Clause"
--  libwpe: correct LICENSE to "BSD-2-Clause"
--  libx11-compose-data: correct LICENSE to "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
--  libx11: correct LICENSE to "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
--  libxfont2: correct LICENSE to "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
--  libxfont: correct LICENSE to "MIT & MIT-style & BSD-3-Clause"
--  lsof: correct LICENSE to reflect that it uses a BSD-like (but not exactly BSD) license ("Spencer-94")
--  nfs-utils: correct LICENSE to "MIT & GPLv2+ & BSD-3-Clause"
--  ovmf: correct license to "BSD-2-Clause-Patent"
--  ppp: correct LICENSE to "BSD-3-Clause & BSD-3-Clause-Attribution & GPLv2+ & LGPLv2+ & PD"
--  python3-packaging: correct LICENSE to "Apache-2.0 | BSD-2-Clause"
--  python-async-test: correct LICENSE to "BSD-3-Clause"
--  quota: remove BSD license (only BSD licensed part of the code was removed in 4.05)
--  shadow: correct LICENSE to "BSD-3-Clause | Artistic-1.0"
--  shadow-sysroot: set LICENSE the same as shadow
--  sudo: correct LICENSE to "ISC & BSD-3-Clause & BSD-2-Clause & Zlib"
--  swig: correct LICENSE to "BSD-3-Clause & GPLv3"
--  valgrind: correct license to "GPLv2 & GPLv2+ & BSD-3-Clause"
--  webkitgtk: correct LICENSE to "BSD-2-Clause & LGPLv2+"
--  wpebackend-fdo: correct LICENSE to "BSD-2-Clause"
--  xinetd: correct LICENSE to reflect that it uses a unique BSD-like (but not exactly BSD) license
-
-Other license-related notes:
-
--  When creating recipes for Python software, recipetool will now treat "BSD" as "BSD-3-Clause" for the purposes of setting LICENSE, as that is the most common understanding.
--  Please be aware that an initramfs bundled with the kernel using :term:`INITRAMFS_IMAGE_BUNDLE` should only contain GPLv2-compatible software; this is now mentioned in the documentation.
-
-Security Fixes in 3.4
-~~~~~~~~~~~~~~~~~~~~~
-
--  apr: :cve:`2021-35940`
--  aspell: :cve:`2019-25051`
--  avahi: :cve:`2021-3468`, :cve:`2021-36217`
--  binutils: :cve:`2021-20197`
--  bluez: :cve:`2021-3658`
--  busybox: :cve:`2021-28831`
--  cairo: :cve:`2020-35492`
--  cpio: :cve:`2021-38185`
--  expat: :cve:`2013-0340`
--  ffmpeg: :cve:`2020-20446`, :cve:`2020-22015`, :cve:`2020-22021`, :cve:`2020-22033`, :cve:`2020-22019`, :cve:`2021-33815`, :cve:`2021-38171`, :cve:`2020-20453`
--  glibc: :cve:`2021-33574`, :cve:`2021-38604`
--  inetutils: :cve:`2021-40491`
--  libgcrypt: :cve:`2021-40528`
--  linux-yocto/5.10, 5.14: :cve:`2021-3653`, :cve:`2021-3656`
--  lz4: :cve:`2021-3520`
--  nettle: :cve:`2021-20305`
--  openssl: :cve:`2021-3711`, :cve:`2021-3712`
--  perl: :cve:`2021-36770`
--  python3: :cve:`2021-29921`
--  python3-pip: :cve:`2021-3572`
--  qemu: :cve:`2020-27821`, :cve:`2020-29443`, :cve:`2020-35517`, :cve:`2021-3392`, :cve:`2021-3409`, :cve:`2021-3416`, :cve:`2021-3527`, :cve:`2021-3544`, :cve:`2021-3545`, :cve:`2021-3546`, :cve:`2021-3682`, :cve:`2021-20181`, :cve:`2021-20221`, :cve:`2021-20257`, :cve:`2021-20263`
--  rpm: :cve:`2021-3421`, :cve:`2021-20271`
--  rsync: :cve:`2020-14387`
--  util-linux: :cve:`2021-37600`
--  vim: :cve:`2021-3770`, :cve:`2021-3778`
--  wpa-supplicant: :cve:`2021-30004`
--  xdg-utils: :cve:`2020-27748`
--  xserver-xorg: :cve:`2021-3472`
-
-Recipe Upgrades in 3.4
-~~~~~~~~~~~~~~~~~~~~~~
-
--  acl 2.2.53 -> 2.3.1
--  acpica 20210105 -> 20210730
--  alsa-lib 1.2.4 -> 1.2.5.1
--  alsa-plugins 1.2.2 -> 1.2.5
--  alsa-tools 1.2.2 -> 1.2.5
--  alsa-topology-conf 1.2.4 -> 1.2.5.1
--  alsa-ucm-conf 1.2.4 -> 1.2.5.1
--  alsa-utils 1.2.4 -> 1.2.5.1
--  alsa-utils-scripts 1.2.4 -> 1.2.5.1
--  apt 2.2.2 -> 2.2.4
--  at 3.2.1 -> 3.2.2
--  at-spi2-core 2.38.0 -> 2.40.3
--  autoconf-archive 2019.01.06 -> 2021.02.19
--  babeltrace2 2.0.3 -> 2.0.4
--  bash 5.1 -> 5.1.8
--  bind 9.16.16 -> 9.16.20
--  binutils 2.36.1 -> 2.37
--  binutils-cross 2.36.1 -> 2.37
--  binutils-cross-canadian 2.36.1 -> 2.37
--  binutils-cross-testsuite 2.36.1 -> 2.37
--  binutils-crosssdk 2.36.1 -> 2.37
--  bison 3.7.5 -> 3.7.6
--  blktrace 1.2.0+gitX -> 1.3.0+gitX
--  bluez5 5.56 -> 5.61
--  boost 1.75.0 -> 1.77.0
--  boost-build-native 4.3.0 -> 4.4.1
--  btrfs-tools 5.10.1 -> 5.13.1
--  busybox 1.33.1 -> 1.34.0
--  busybox-inittab 1.33.0 -> 1.34.0
--  ccache 4.2 -> 4.4
--  cmake 3.19.5 -> 3.21.1
--  cmake-native 3.19.5 -> 3.21.1
--  connman 1.39 -> 1.40
--  createrepo-c 0.17.0 -> 0.17.4
--  cronie 1.5.5 -> 1.5.7
--  cross-localedef-native 2.33 -> 2.34
--  cups 2.3.3 -> 2.3.3op2
--  curl 7.75.0 -> 7.78.0
--  dbus-glib 0.110 -> 0.112
--  dejagnu 1.6.2 -> 1.6.3
--  diffoscope 172 -> 181
--  diffutils 3.7 -> 3.8
--  distcc 3.3.5 -> 3.4
--  dnf 4.6.0 -> 4.8.0
--  dpkg 1.20.7.1 -> 1.20.9
--  dtc 1.6.0 -> 1.6.1
--  e2fsprogs 1.46.1 -> 1.46.4
--  elfutils 0.183 -> 0.185
--  ell 0.38 -> 0.43
--  enchant2 2.2.15 -> 2.3.1
--  epiphany 3.38.2 -> 40.3
--  ethtool 5.10 -> 5.13
--  expat 2.2.10 -> 2.4.1
--  ffmpeg 4.3.2 -> 4.4
--  file 5.39 -> 5.40
--  freetype 2.10.4 -> 2.11.0
--  gcc 10.2.0 -> 11.2.0
--  gcc-cross 10.2.0 -> 11.2.0
--  gcc-cross-canadian 10.2.0 -> 11.2.0
--  gcc-crosssdk 10.2.0 -> 11.2.0
--  gcc-runtime 10.2.0 -> 11.2.0
--  gcc-sanitizers 10.2.0 -> 11.2.0
--  gcc-source 10.2.0 -> 11.2.0
--  gcr 3.38.1 -> 3.40.0
--  gdb 10.1 -> 10.2
--  gdb-cross 10.1 -> 10.2
--  gdb-cross-canadian 10.1 -> 10.2
--  gdk-pixbuf 2.40.0 -> 2.42.6
--  ghostscript 9.53.3 -> 9.54.0
--  git 2.31.1 -> 2.33.0
--  glib-2.0 2.66.7 -> 2.68.4
--  glib-networking 2.66.0 -> 2.68.2
--  glibc 2.33 -> 2.34
--  glibc-locale 2.33 -> 2.34
--  glibc-mtrace 2.33 -> 2.34
--  glibc-scripts 2.33 -> 2.34
--  glibc-testsuite 2.33 -> 2.34
--  glslang 11.2.0 -> 11.5.0
--  gnome-desktop-testing 2018.1 -> 2021.1
--  gnu-config 20210125+gitX -> 20210722+gitX
--  gnu-efi 3.0.12 -> 3.0.14
--  gnupg 2.2.27 -> 2.3.1
--  gobject-introspection 1.66.1 -> 1.68.0
--  gpgme 1.15.1 -> 1.16.0
--  gptfdisk 1.0.7 -> 1.0.8
--  grep 3.6 -> 3.7
--  grub 2.04+2.06~rc1 -> 2.06
--  grub-efi 2.04+2.06~rc1 -> 2.06
--  gsettings-desktop-schemas 3.38.0 -> 40.0
--  gtk+3 3.24.25 -> 3.24.30
--  harfbuzz 2.7.4 -> 2.9.0
--  hdparm 9.60 -> 9.62
--  help2man 1.48.2 -> 1.48.4
--  hwlatdetect 1.10 -> 2.1
--  i2c-tools 4.2 -> 4.3
--  icu 68.2 -> 69.1
--  igt-gpu-tools 1.25+gitX -> 1.26
--  inetutils 2.0 -> 2.1
--  iproute2 5.11.0 -> 5.13.0
--  iputils s20200821 -> 20210722
--  json-glib 1.6.2 -> 1.6.4
--  kexec-tools 2.0.21 -> 2.0.22
--  kmod 28 -> 29
--  kmod-native 28 -> 29
--  less 563 -> 590
--  libassuan 2.5.4 -> 2.5.5
--  libcap 2.48 -> 2.51
--  libcgroup 0.41 -> 2.0
--  libcomps 0.1.15 -> 0.1.17
--  libconvert-asn1-perl 0.27 -> 0.31
--  libdazzle 3.38.0 -> 3.40.0
--  libdnf 0.58.0 -> 0.63.1
--  libdrm 2.4.104 -> 2.4.107
--  libedit 20210216-3.1 -> 20210714-3.1
--  libepoxy 1.5.5 -> 1.5.9
--  liberation-fonts 2.00.1 -> 2.1.4
--  libffi 3.3 -> 3.4.2
--  libfm 1.3.1 -> 1.3.2
--  libgcc 10.2.0 -> 11.2.0
--  libgcc-initial 10.2.0 -> 11.2.0
--  libgcrypt 1.9.3 -> 1.9.4
--  libgfortran 10.2.0 -> 11.2.0
--  libgit2 1.1.0 -> 1.1.1
--  libglu 9.0.1 -> 9.0.2
--  libgpg-error 1.41 -> 1.42
--  libgudev 234 -> 237
--  libhandy 1.2.0 -> 1.2.3
--  libical 3.0.9 -> 3.0.10
--  libidn2 2.3.0 -> 2.3.2
--  libinput 1.16.4 -> 1.18.1
--  libjitterentropy 3.0.1 -> 3.1.0
--  libjpeg-turbo 2.0.6 -> 2.1.1
--  libksba 1.5.0 -> 1.6.0
--  libmodulemd 2.12.0 -> 2.13.0
--  libnsl2 1.3.0 -> 2.0.0
--  libnss-mdns 0.14.1 -> 0.15.1
--  libogg 1.3.4 -> 1.3.5
--  libpcap 1.10.0 -> 1.10.1
--  libpcre 8.44 -> 8.45
--  libpcre2 10.36 -> 10.37
--  libportal 0.3 -> 0.4
--  librepo 1.13.0 -> 1.14.1
--  libsdl2 2.0.14 -> 2.0.16
--  libsolv 0.7.17 -> 0.7.19
--  libtasn1 4.16.0 -> 4.17.0
--  libtest-needs-perl 0.002006 -> 0.002009
--  libtirpc 1.3.1 -> 1.3.2
--  libubootenv 0.3.1 -> 0.3.2
--  libucontext 0.10+X -> 1.1+X
--  liburcu 0.12.2 -> 0.13.0
--  libuv 1.41.0 -> 1.42.0
--  libva 2.10.0 -> 2.12.0
--  libva-initial 2.10.0 -> 2.12.0
--  libva-utils 2.10.0 -> 2.12.0
--  libwebp 1.2.0 -> 1.2.1
--  libwpe 1.8.0 -> 1.10.1
--  libx11 1.7.0 -> 1.7.2
--  libxcrypt 4.4.18 -> 4.4.25
--  libxcrypt-compat 4.4.18 -> 4.4.25
--  libxfixes 5.0.3 -> 6.0.0
--  libxfont2 2.0.4 -> 2.0.5
--  libxft 2.3.3 -> 2.3.4
--  libxi 1.7.10 -> 1.7.99.2
--  libxkbcommon 1.0.3 -> 1.3.0
--  libxml2 2.9.10 -> 2.9.12
--  libxres 1.2.0 -> 1.2.1
--  linux-libc-headers 5.10 -> 5.14
--  linux-yocto 5.4.144+gitX, 5.10.63+gitX -> 5.10.70+gitX, 5.14.9+gitX
--  linux-yocto-dev 5.12++gitX -> 5.15++gitX
--  linux-yocto-rt 5.4.144+gitX, 5.10.63+gitX -> 5.10.70+gitX, 5.14.9+gitX
--  linux-yocto-tiny 5.4.144+gitX, 5.10.63+gitX -> 5.10.70+gitX, 5.14.9+gitX
--  llvm 11.1.0 -> 12.0.1
--  log4cplus 2.0.6 -> 2.0.7
--  logrotate 3.18.0 -> 3.18.1
--  ltp 20210121 -> 20210524
--  lttng-modules 2.12.6 -> 2.13.0
--  lttng-tools 2.12.4 -> 2.13.0
--  lttng-ust 2.12.1 -> 2.13.0
--  m4 1.4.18 -> 1.4.19
--  m4-native 1.4.18 -> 1.4.19
--  man-pages 5.10 -> 5.12
--  mc 4.8.26 -> 4.8.27
--  mesa 21.0.3 -> 21.2.1
--  mesa-gl 21.0.3 -> 21.2.1
--  meson 0.57.1 -> 0.58.1
--  mmc-utils 0.1+gitX (73d6c59af8d1...) -> 0.1+gitX (43282e80e174...)
--  mobile-broadband-provider-info 20201225 -> 20210805
--  mpg123 1.26.4 -> 1.28.2
--  mtd-utils 2.1.2 -> 2.1.3
--  mtools 4.0.26 -> 4.0.35
--  musl 1.2.2+gitX (e5d2823631bb...) -> 1.2.2+gitX (3f701faace7a...)
--  nativesdk-meson 0.57.1 -> 0.58.1
--  netbase 6.2 -> 6.3
--  nfs-utils 2.5.3 -> 2.5.4
--  ofono 1.31 -> 1.32
--  openssh 8.5p1 -> 8.7p1
--  opkg 0.4.4 -> 0.4.5
--  opkg-utils 0.4.3 -> 0.4.5
--  ovmf edk2-stable202102 -> edk2-stable202105
--  p11-kit 0.23.22 -> 0.24.0
--  pango 1.48.2 -> 1.48.9
--  patchelf 0.12 -> 0.13
--  perl 5.32.1 -> 5.34.0
--  piglit 1.0+gitrX (d4d9353b7290...) -> 1.0+gitrX (6a4be9e9946d...)
--  pkgconf 1.7.3 -> 1.8.0
--  powertop 2.13 -> 2.14
--  pseudo 1.9.0+gitX (b988b0a6b8af...) -> 1.9.0+gitX (0cda3ba5f94a...)
--  pulseaudio 14.2 -> 15.0
--  puzzles 0.0+gitX (84cb4c6701e0...) -> 0.0+gitX (8f3413c31ffd...)
--  python3 3.9.5 -> 3.9.6
--  python3-attrs 20.3.0 -> 21.2.0
--  python3-cython 0.29.22 -> 0.29.24
--  python3-dbus 1.2.16 -> 1.2.18
--  python3-dbusmock 0.22.0 -> 0.23.1
--  python3-docutils 0.16 -> 0.17.1
--  python3-git 3.1.14 -> 3.1.20
--  python3-gitdb 4.0.5 -> 4.0.7
--  python3-hypothesis 6.2.0 -> 6.15.0
--  python3-importlib-metadata 3.4.0 -> 4.6.4
--  python3-iniparse 0.4 -> 0.5
--  python3-jinja2 2.11.3 -> 3.0.1
--  python3-libarchive-c 2.9 -> 3.1
--  python3-magic 0.4.22 -> 0.4.24
--  python3-mako 1.1.4 -> 1.1.5
--  python3-markupsafe 1.1.1 -> 2.0.1
--  python3-more-itertools 8.7.0 -> 8.8.0
--  python3-numpy 1.20.1 -> 1.21.2
--  python3-packaging 20.9 -> 21.0
--  python3-pathlib2 2.3.5 -> 2.3.6
--  python3-pbr 5.4.4 -> 5.6.0
--  python3-pip 20.0.2 -> 21.2.4
--  python3-pluggy 0.13.1 -> 1.0.0
--  python3-pycairo 1.20.0 -> 1.20.1
--  python3-pygments 2.8.1 -> 2.10.0
--  python3-pygobject 3.38.0 -> 3.40.1
--  python3-pytest 6.2.2 -> 6.2.4
--  python3-scons 3.1.2 -> 4.2.0
--  python3-scons-native 3.1.2 -> 4.2.0
--  python3-setuptools 54.1.1 -> 57.4.0
--  python3-setuptools-scm 5.0.1 -> 6.0.1
--  python3-six 1.15.0 -> 1.16.0
--  python3-sortedcontainers 2.3.0 -> 2.4.0
--  python3-testtools 2.4.0 -> 2.5.0
--  python3-zipp 3.4.1 -> 3.5.0
--  qemu 5.2.0 -> 6.0.0
--  qemu-native 5.2.0 -> 6.0.0
--  qemu-system-native 5.2.0 -> 6.0.0
--  re2c 2.0.3 -> 2.2
--  rng-tools 6.11 -> 6.14
--  rpcbind 1.2.5 -> 1.2.6
--  rt-tests 1.10 -> 2.1
--  ruby 3.0.1 -> 3.0.2
--  rxvt-unicode 9.22 -> 9.26
--  shaderc 2020.5 -> 2021.1
--  shadow 4.8.1 -> 4.9
--  spirv-tools 2020.7 -> 2021.2
--  sqlite3 3.35.0 -> 3.36.0
--  squashfs-tools 4.4 -> 4.5
--  strace 5.11 -> 5.14
--  stress-ng 0.12.05 -> 0.13.00
--  sudo 1.9.6p1 -> 1.9.7p2
--  swig 3.0.12 -> 4.0.2
--  sysklogd 2.2.2 -> 2.2.3
--  systemd 247.6 -> 249.3
--  systemd-boot 247.6 -> 249.3
--  systemd-conf 247.6 -> 1.0
--  systemtap 4.4 -> 4.5
--  systemtap-native 4.4 -> 4.5
--  systemtap-uprobes 4.4 -> 4.5
--  tcf-agent 1.7.0+gitX (a022ef2f1acf...) -> 1.7.0+gitX (2735e3d6b7ec...)
--  texinfo 6.7 -> 6.8
--  tiff 4.2.0 -> 4.3.0
--  u-boot 2021.01 -> 2021.07
--  u-boot-tools 2021.01 -> 2021.07
--  usbutils 013 -> 014
--  util-linux 2.36.2 -> 2.37.2
--  util-linux-libuuid 2.36.2 -> 2.37.2
--  vala 0.50.4 -> 0.52.5
--  valgrind 3.16.1 -> 3.17.0
--  virglrenderer 0.8.2 -> 0.9.1
--  vte 0.62.2 -> 0.64.2
--  vulkan-headers 1.2.170.0 -> 1.2.182.0
--  vulkan-loader 1.2.170.0 -> 1.2.182.0
--  vulkan-samples git (55cebd9e7cc4...) -> git (d2187278cb66...)
--  vulkan-tools 1.2.170.0 -> 1.2.182.0
--  wayland-protocols 1.20 -> 1.21
--  webkitgtk 2.30.5 -> 2.32.3
--  wireless-regdb 2021.04.21 -> 2021.07.14
--  wpebackend-fdo 1.8.0 -> 1.10.0
--  x264 r3039+gitX (544c61f08219...) -> r3039+gitX (5db6aa6cab1b...)
--  xeyes 1.1.2 -> 1.2.0
--  xf86-input-libinput 0.30.0 -> 1.1.0
--  xkbcomp 1.4.4 -> 1.4.5
--  xkeyboard-config 2.32 -> 2.33
--  xorgproto 2020.1 -> 2021.4.99.2
--  xserver-xorg 1.20.10 -> 1.20.13
--  zstd 1.4.9 -> 1.5.0
-
-Contributors to 3.4
-~~~~~~~~~~~~~~~~~~~
-
-Thanks to the following people who contributed to this release:
-
--  Adam Romanek
--  Alejandro Hernandez Samaniego
--  Alexander Kanavin
--  Alexandre Belloni
--  Alexey Brodkin
--  Alex Stewart
--  Alistair Francis
--  Anatol Belski
--  Anders Wallin
--  Andrea Adami
--  Andreas Müller
--  Andrej Valek
--  Andres Beltran
--  Andrey Zhizhikin
--  Anibal Limon
--  Anthony Bagwell
--  Anton Blanchard
--  Anuj Mittal
--  Armin Kuster
--  Asfak Rahman
--  Bastian Krause
--  Bernhard Rosenkränzer
--  Bruce Ashfield
--  Carlos Rafael Giani
--  Chandana kalluri
--  Changhyeok Bae
--  Changqing Li
--  Chanho Park
--  Chen Qi
--  Chris Laplante
--  Christophe Chapuis
--  Christoph Muellner
--  Claudius Heine
--  Damian Wrobel
--  Daniel Ammann
--  Daniel Gomez
--  Daniel McGregor
--  Daniel Wagenknecht
--  Denys Dmytriyenko
--  Devendra Tewari
--  Diego Sueiro
--  Dmitry Baryshkov
--  Douglas Royds
--  Dragos-Marian Panait
--  Drew Moseley
--  Enrico Scholz
--  Fabio Berton
--  Florian Amstutz
--  Gavin Li
--  Guillaume Champagne
--  Harald Brinkmann
--  Henning Schild
--  He Zhe
--  Hongxu Jia
--  Hsia-Jun (Randy) Li
--  Jean Bouchard
--  Joe Slater
--  Jonas Höppner
--  Jon Mason
--  Jose Quaresma
--  Joshua Watt
--  Justin Bronder
--  Kai Kang
--  Kenfe-Mickael Laventure
--  Kevin Hao
--  Khairul Rohaizzat Jamaluddin
--  Khem Raj
--  Kiran Surendran
--  Konrad Weihmann
--  Kristian Klausen
--  Kyle Russell
--  Lee Chee Yang
--  Lei Maohui
--  Luca Boccassi
--  Marco Felsch
--  Marcus Comstedt
--  Marek Vasut
--  Mark Hatle
--  Markus Volk
--  Marta Rybczynska
--  Martin Jansa
--  Matthias Klein
--  Matthias Schiffer
--  Matt Madison
--  Matt Spencer
--  Max Krummenacher
--  Michael Halstead
--  Michael Ho
--  Michael Opdenacker
--  Mike Crowe
--  Mikko Rapeli
--  Ming Liu
--  Mingli Yu
--  Minjae Kim
--  Nicolas Dechesne
--  Niels Avonds
--  Nikolay Papenkov
--  Nisha Parrakat
--  Olaf Mandel
--  Oleksandr Kravchuk
--  Oleksandr Popovych
--  Oliver Kranz
--  Otavio Salvador
--  Patrick Williams
--  Paul Barker
--  Paul Eggleton
--  Paul Gortmaker
--  Paulo Cesar Zaneti
--  Peter Bergin
--  Peter Budny
--  Peter Kjellerstedt
--  Petr Vorel
--  Przemyslaw Gorszkowski
--  Purushottam Choudhary
--  Qiang Zhang
--  Quentin Schulz
--  Ralph Siemsen
--  Randy MacLeod
--  Ranjitsinh Rathod
--  Rasmus Villemoes
--  Reto Schneider
--  Richard Purdie
--  Richard Weinberger
--  Robert Joslyn
--  Robert P. J. Day
--  Robert Yang
--  Romain Naour
--  Ross Burton
--  Sakib Sajal
--  Samuli Piippo
--  Saul Wold
--  Scott Murray
--  Scott Weaver
--  Stefan Ghinea
--  Stefan Herbrechtsmeier
--  Stefano Babic
--  Stefan Wiehler
--  Steve Sakoman
--  Teoh Jay Shen
--  Thomas Perrot
--  Tim Orling
--  Tom Pollard
--  Tom Rini
--  Tony Battersby
--  Tony Tascioglu
--  Trevor Gamblin
--  Trevor Woerner
--  Ulrich Ölmann
--  Valentin Danaila
--  Vinay Kumar
--  Vineela Tummalapalli
--  Vinícius Ossanes Aquino
--  Vivien Didelot
--  Vyacheslav Yurkov
--  Wang Mingyu
--  Wes Lindauer
--  William A. Kennington III
--  Yanfei Xu
--  Yann Dirson
--  Yi Fan Yu
--  Yi Zhao
--  Zang Ruochen
--  Zheng Ruoqin
--  Zoltan Boszormenyi
-
-Repositories / Downloads for 3.4
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-poky
-
--  Repository Location: https://git.yoctoproject.org/poky/
--  Branch: :yocto_git:`honister </poky/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4 </poky/tag/?h=yocto-3.4>`
--  Git Revision: :yocto_git:`f6d1126fff213460dc6954a5d5fc168606d76b66 </poky/commit/?id=f6d1126fff213460dc6954a5d5fc168606d76b66>`
--  Release Artefact:  poky-f6d1126fff213460dc6954a5d5fc168606d76b66
--  sha: 11e8f5760f704eed1ac37a5b09b1a831b5254d66459be75b06a72128c63e0411
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/poky-f6d1126fff213460dc6954a5d5fc168606d76b66.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/poky-f6d1126fff213460dc6954a5d5fc168606d76b66.tar.bz2
-
-openembedded-core
-
--  Repository Location: :oe_git:`/openembedded-core`
--  Branch: :oe_git:`honister </openembedded-core/log/?h=honister>`
--  Tag: :oe_git:`2021-10-honister </openembedded-core/tag/?h=2021-10-honister>`
--  Git Revision: :oe_git:`bb1dea6806f084364b6017db2567f438e805aef0 </openembedded-core/commit/?id=bb1dea6806f084364b6017db2567f438e805aef0>`
--  Release Artefact: oecore-bb1dea6806f084364b6017db2567f438e805aef0
--  sha: 9a356c407c567b1c26e535cad235204b0462cb79321fefb0844324a6020b31f4
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/oecore-bb1dea6806f084364b6017db2567f438e805aef0.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/oecore-bb1dea6806f084364b6017db2567f438e805aef0.tar.bz2
-
-meta-mingw
-
--  Repository Location: https://git.yoctoproject.org/meta-mingw
--  Branch: :yocto_git:`honister </meta-mingw/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4 </meta-mingw/tag/?h=yocto-3.4>`
--  Git Revision: :yocto_git:`f5d761cbd5c957e4405c5d40b0c236d263c916a8 </meta-mingw/commit/?id=f5d761cbd5c957e4405c5d40b0c236d263c916a8>`
--  Release Artefact: meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8
--  sha: d4305d638ef80948584526c8ca386a8cf77933dffb8a3b8da98d26a5c40fcc11
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2
-
-meta-intel
-
--  Repository Location: https://git.yoctoproject.org/meta-intel
--  Branch: :yocto_git:`honister </meta-intel/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4 </meta-intel/tag/?h=yocto-3.4>`
--  Git Revision: :yocto_git:`90170cf85fe35b4e8dc00eee50053c0205276b63 </meta-intel/commit/?id=90170cf85fe35b4e8dc00eee50053c0205276b63>`
--  Release Artefact: meta-intel-90170cf85fe35b4e8dc00eee50053c0205276b63
--  sha: 2b3b43386dfcaaa880d819c1ae88b1251b55fb12c622af3d0936c3dc338491fc
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/meta-intel-90170cf85fe35b4e8dc00eee50053c0205276b63.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/meta-intel-90170cf85fe35b4e8dc00eee50053c0205276b63.tar.bz2
-
-meta-gplv2
-
--  Repository Location: https://git.yoctoproject.org/meta-gplv2
--  Branch: :yocto_git:`honister </meta-gplv2/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4 </meta-gplv2/tag/?h=yocto-3.4>`
--  Git Revision: :yocto_git:`f04e4369bf9dd3385165281b9fa2ed1043b0e400 </meta-gplv2/commit/?id=f04e4369bf9dd3385165281b9fa2ed1043b0e400>`
--  Release Artefact: meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400
--  sha: ef8e2b1ec1fb43dbee4ff6990ac736315c7bc2d8c8e79249e1d337558657d3fe
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2
-
-bitbake
-
--  Repository Location: :oe_git:`/bitbake`
--  Branch: :oe_git:`1.52 </bitbake/log/?h=1.52>`
--  Tag: :oe_git:`2021-10-honister </bitbake/tag/?h=2021-10-honister>`
--  Git Revision: :oe_git:`c78ebac71ec976fdf27ea24767057882870f5c60 </bitbake/commit/?id=c78ebac71ec976fdf27ea24767057882870f5c60>`
--  Release Artefact: bitbake-c78ebac71ec976fdf27ea24767057882870f5c60
--  sha: 8077c7e7528cd73ef488ef74de3943ec66cae361459e5b630fb3cbe89c498d3d
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/bitbake-c78ebac71ec976fdf27ea24767057882870f5c60.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/bitbake-c78ebac71ec976fdf27ea24767057882870f5c60.tar.bz2
-
-yocto-docs
-
--  Repository Location: https://git.yoctoproject.org/yocto-docs
--  Branch: :yocto_git:`honister </yocto-docs/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4 </yocto-docs/tag/?h=yocto-3.4>`
--  Git Revision: :yocto_git:`d75c5450ecf56c8ac799a633ee9ac459e88f91fc </yocto-docs/commit/?id=d75c5450ecf56c8ac799a633ee9ac459e88f91fc>`
-
-Release notes for 3.4.1 (honister)
-----------------------------------
-
-Known Issues in 3.4.1
-~~~~~~~~~~~~~~~~~~~~~
-
-- :yocto_bugs:`bsps-hw.bsps-hw.Test_Seek_bar_and_volume_control manual test case failure </show_bug.cgi?id=14622>`
-
-Security Fixes in 3.4.1
-~~~~~~~~~~~~~~~~~~~~~~~
-
--  glibc: Backport fix for :cve:`2021-43396`
--  vim: add patch number to :cve:`2021-3778` patch
--  vim: fix :cve:`2021-3796`, :cve:`2021-3872`, and :cve:`2021-3875`
--  squashfs-tools: follow-up fix for :cve:`2021-41072`
--  avahi: update CVE id fixed by local-ping.patch
--  squashfs-tools: fix :cve:`2021-41072`
--  ffmpeg: fix :cve:`2021-38114`
--  curl: fix :cve:`2021-22945`, :cve:`2021-22946` and :cve:`2021-22947`
-
-Fixes in 3.4.1
-~~~~~~~~~~~~~~
-
--  bitbake.conf: Fix corruption of GNOME mirror url
--  bitbake.conf: Use wayland distro feature for native builds
--  bitbake: Revert "parse/ast: Show errors for append/prepend/remove operators combined with +=/.="
--  bitbake: bitbake-worker: Add debug when unpickle fails
--  bitbake: cooker: Fix task-depends.dot for multiconfig targets
--  bitbake: cooker: Handle parse threads disappearing to avoid hangs
--  bitbake: cooker: Handle parsing results queue race
--  bitbake: cooker: Remove debug code, oops :(
--  bitbake: cooker: check if upstream hash equivalence server is available
--  bitbake: fetch/git: Handle github dropping git:// support
--  bitbake: fetch/wget: Add timeout for checkstatus calls (30s)
--  bitbake: fetch2/perforce: Fix typo
--  bitbake: fetch2: Fix url remap issue and add testcase
--  bitbake: fetch2: fix downloadfilename issue with premirror
--  bitbake: fetch: Handle mirror user/password replacements correctly
--  bitbake: parse/ast: Show errors for append/prepend/remove operators combined with +=/.=
--  bitbake: runqueue: Fix runall option handling
--  bitbake: runqueue: Fix runall option task deletion ordering issue
--  bitbake: test/fetch: Update urls to match upstream branch name changes
--  bitbake: tests/fetch.py: add test case to ensure downloadfilename is used for premirror
--  bitbake: tests/fetch.py: fix premirror test cases
--  bitbake: tests/fetch: Update github urls
--  bitbake: tests/fetch: Update pcre.org address after github changes
--  bitbake: tests/runqueue: Ensure hashserv exits before deleting files
--  bitbake: utils: Handle lockfile filenames that are too long for filesystems
--  bootchart2: Don't compile python modules
--  build-appliance-image: Update to honister head revision
--  buildhistory: Fix package output files for SDKs
--  busybox: 1.34.0 -> 1.34.1
--  ca-certificates: update 20210119 -> 20211016
--  classes/populate_sdk_base: Add setscene tasks
--  conf: update for release 3.4
--  convert-srcuri.py: use regex to check space in SRC_URI
--  create-spdx: Fix key errors in do_create_runtime_spdx
--  create-spdx: Protect against None from LICENSE_PATH
--  create-spdx: Set the Organization field via a variable
--  create-spdx: add create_annotation function
--  create-spdx: cross recipes are native also
--  create_spdx: ensure is_work_shared() is unique
--  cups: Fix missing installation of cups sysv init scripts
--  docs: poky.yaml: updates for 3.4
--  dpkg: Install dkpg-perl scripts to versioned perl directory
--  glibc-version.inc: remove branch= from GLIBC_GIT_URI
--  go-helloworld/glide: Fix urls
--  go.bbclass: Allow adding parameters to go ldflags
--  go: upgrade 1.16.7 -> 1.16.8
--  gst-devtools: 1.18.4 -> 1.18.5
--  gst-examples: 1.18.4 -> 1.18.5
--  gstreamer1.0-libav: 1.18.4 -> 1.18.5
--  gstreamer1.0-omx: 1.18.4 -> 1.18.5
--  gstreamer1.0-plugins-bad: 1.18.4 -> 1.18.5
--  gstreamer1.0-plugins-base: 1.18.4 -> 1.18.5
--  gstreamer1.0-plugins-good: 1.18.4 -> 1.18.5
--  gstreamer1.0-plugins-ugly: 1.18.4 -> 1.18.5
--  gstreamer1.0-python: 1.18.4 -> 1.18.5
--  gstreamer1.0-rtsp-server: 1.18.4 -> 1.18.5
--  gstreamer1.0-vaapi: 1.18.4 -> 1.18.5
--  gstreamer1.0: 1.18.4 -> 1.18.5
--  insane.bbclass: Add a check for directories that are expected to be empty
--  kernel-devsrc: Add vdso.lds and other build files for riscv64 as well
--  libnewt: Use python3targetconfig to fix reproducibility issue
--  libpcre/libpcre2: correct SRC_URI
--  libx11-compose-data: Update LICENSE to better reflect reality
--  libx11: Update LICENSE to better reflect reality
--  libxml2: Use python3targetconfig to fix reproducibility issue
--  linunistring: Add missing gperf-native dependency
--  linux-firmware: upgrade to 20211027
--  linux-yocto-dev: Ensure DEPENDS matches recent 5.14 kernel changes
--  linux-yocto-rt/5.10: update to -rt54
--  linux-yocto/5.10: update to v5.10.78
--  linux-yocto/5.14: common-pc: enable CONFIG_ATA_PIIX as built-in
--  linux-yocto/5.14: update to v5.14.17
--  linux-yocto: add libmpc-native to DEPENDS
--  lttng-tools: replace ad hoc ptest fixup with upstream fixes
--  manuals: releases.rst: move gatesgarth to outdated releases section
--  mesa: Enable svga for x86 only
--  mesa: upgrade 21.2.1 -> 21.2.4
--  meson.bblcass: Remove empty egg-info directories before running meson
--  meson: install native file in sdk
--  meson: move lang args to the right section
--  meson: set objcopy in the cross and native toolchain files
--  meta/scripts: Manual git url branch additions
--  meta: Add explict branch to git SRC_URIs
--  migration-3.4: add additional migration info
--  migration-3.4: add some extra packaging notes
--  migration-3.4: tweak overrides change section
--  migration: tweak introduction section
--  mirrors: Add kernel.org sources mirror for downloads.yoctoproject.org
--  mirrors: Add uninative mirror on kernel.org
--  nativesdk-packagegroup-sdk-host.bb: Update host tools for wayland
--  oeqa/runtime/parselogs: modified drm error in common errors list
--  oeqa/selftest/sstatetests: fix typo ware -> were
--  oeqa: Update cleanup code to wait for hashserv exit
--  opkg: Fix poor operator combination choice
--  ovmf: update 202105 -> 202108
--  patch.bbclass: when the patch fails show more info on the fatal error
--  poky.conf: bump version for 3.4.1 honister release
--  poky.yaml: add lz4 and zstd to essential host packages
--  poky.yaml: fix lz4 package name for older Ubuntu versions
--  pseudo: Add fcntl64 wrapper
--  python3-setuptools: _distutils/sysconfig fix
--  python3: update to 3.9.7
--  qemu.inc: Remove empty egg-info directories before running meson
--  recipes: Update github.com urls to use https
--  ref-manual: Update how to set a useradd password
--  ref-manual: document "reproducible_build" class and SOURCE_DATE_EPOCH
--  ref-manual: document BUILD_REPRODUCIBLE_BINARIES
--  ref-manual: document TOOLCHAIN_HOST_TASK_ESDK
--  ref-manual: remove meta class
--  ref-manual: update system requirements
--  releases.rst: fix release number for 3.3.3
--  scripts/convert-srcuri: Update SRC_URI conversion script to handle github url changes
--  scripts/lib/wic/help.py: Update Fedora Kickstart URLs
--  scripts/oe-package-browser: Fix after overrides change
--  scripts/oe-package-browser: Handle no packages being built
--  spdx.py: Add annotation to relationship
--  sstate: Account for reserved characters when shortening sstate filenames
--  sstate: another fix for touching files inside pseudo
--  sstate: fix touching files inside pseudo
--  staging: Fix autoconf-native rebuild failure
--  strace: fix build against 5.15 kernel/kernel-headers
--  strace: show test suite log on failure
--  stress-ng: convert to git, website is down
--  systemd: add missing include for musl
--  tar: filter CVEs using vendor name
--  test-manual: how to enable reproducible builds
--  testimage: fix unclosed testdata file
--  tzdata: update 2021d to 2021d
--  uninative: Add version to uninative tarball name
--  waffle: convert to git, website is down
--  wayland: Fix wayland-tools packaging
--  wireless-regdb: upgrade 2021.07.14 -> 2021.08.28
--  wpa-supplicant: Match package override to PACKAGES for pkg_postinst
-
-Contributors to 3.4.1
-~~~~~~~~~~~~~~~~~~~~~
-
--  Ahmed Hossam
--  Alexander Kanavin
--  Alexandre Belloni
--  Andrej Valek
--  Andres Beltran
--  Anuj Mittal
--  Bruce Ashfield
--  Chen Qi
--  Claus Stovgaard
--  Daiane Angolini
--  Hsia-Jun(Randy) Li
--  Jon Mason
--  Jose Quaresma
--  Joshua Watt
--  Kai Kang
--  Khem Raj
--  Kiran Surendran
--  Manuel Leonhardt
--  Michael Opdenacker
--  Oleksandr Kravchuk
--  Pablo Saavedra
--  Paul Eggleton
--  Peter Kjellerstedt
--  Quentin Schulz
--  Ralph Siemsen
--  Randy Li
--  Richard Purdie
--  Ross Burton
--  Sakib Sajal
--  Saul Wold
--  Teoh Jay Shen
--  Tim Orling
--  Tom Hochstein
--  Yureka
-
-Repositories / Downloads for 3.4.1
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-poky
-
--  Repository Location: https://git.yoctoproject.org/poky/
--  Branch: :yocto_git:`honister </poky/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4.1 </poky/tag/?h=yocto-3.4.1>`
--  Git Revision: :yocto_git:`b53230c08d9f02ecaf35b4f0b70512abbf10ae11 </poky/commit/?id=b53230c08d9f02ecaf35b4f0b70512abbf10ae11>`
--  Release Artefact: poky-b53230c08d9f02ecaf35b4f0b70512abbf10ae11
--  sha: 57d49e2afafb555baf65643acf752464f0eb7842b964713a5de7530c392de159
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.1/poky-b53230c08d9f02ecaf35b4f0b70512abbf10ae11.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.1/poky-b53230c08d9f02ecaf35b4f0b70512abbf10ae11.tar.bz2
-
-meta-mingw
-
--  Repository Location: https://git.yoctoproject.org/meta-mingw
--  Branch: :yocto_git:`honister </meta-mingw/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4.1 </meta-mingw/tag/?h=yocto-3.4.1>`
--  Git Revision: :yocto_git:`f5d761cbd5c957e4405c5d40b0c236d263c916a8 </meta-mingw/commit/?id=f5d761cbd5c957e4405c5d40b0c236d263c916a8>`
--  Release Artefact: meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8
--  sha: d4305d638ef80948584526c8ca386a8cf77933dffb8a3b8da98d26a5c40fcc11
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.1/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.1/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2
-
-meta-gplv2
-
--  Repository Location: https://git.yoctoproject.org/meta-gplv2
--  Branch: :yocto_git:`honister </meta-gplv2/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4.1 </meta-gplv2/tag/?h=yocto-3.4.1>`
--  Git Revision: :yocto_git:`f04e4369bf9dd3385165281b9fa2ed1043b0e400 </meta-gplv2/commit/?id=f04e4369bf9dd3385165281b9fa2ed1043b0e400>`
--  Release Artefact: meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400
--  sha: ef8e2b1ec1fb43dbee4ff6990ac736315c7bc2d8c8e79249e1d337558657d3fe
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2
-
-bitbake
-
--  Repository Location: :oe_git:`/bitbake`
--  Branch: :oe_git:`1.52 </bitbake/log/?h=1.52>`
--  Tag: :oe_git:`yocto-3.4.1 </bitbake/tag/?h=yocto-3.4.1>`
--  Git Revision: :oe_git:`44a83b373e1fc34c93cd4a6c6cf8b73b230c1520 </bitbake/commit/?id=44a83b373e1fc34c93cd4a6c6cf8b73b230c1520>`
--  Release Artefact: bitbake-44a83b373e1fc34c93cd4a6c6cf8b73b230c1520
--  sha: 03d50c1318d88d62eb01d359412ea5a8014ef506266629a2bd43ab3a2ef19430
--  Download Locations:
-   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.1/bitbake-44a83b373e1fc34c93cd4a6c6cf8b73b230c1520.tar.bz2,
-   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.1/bitbake-44a83b373e1fc34c93cd4a6c6cf8b73b230c1520.tar.bz2
-
-yocto-docs
-
--  Repository Location: https://git.yoctoproject.org/yocto-docs
--  Branch: :yocto_git:`honister </yocto-docs/log/?h=honister>`
--  Tag: :yocto_git:`yocto-3.4.1 </yocto-docs/tag/?h=yocto-3.4.1>`
--  Git Revision: :yocto_git:`b250eda5a0beba8acc9641c55a5b0e30594b5178 </yocto-docs/commit/?b250eda5a0beba8acc9641c55a5b0e30594b5178>`
+.. include:: release-notes-3.4.rst
+.. include:: release-notes-3.4.1.rst
+.. include:: release-notes-3.4.2.rst
diff --git a/poky/documentation/migration-guides/migration-3.5.rst b/poky/documentation/migration-guides/migration-3.5.rst
index 8c2a7d2..8ce2306 100644
--- a/poky/documentation/migration-guides/migration-3.5.rst
+++ b/poky/documentation/migration-guides/migration-3.5.rst
@@ -7,6 +7,16 @@
 Recipe changes
 --------------
 
+- To use more `inclusive language <https://inclusivenaming.org/>`__
+  in the code and documentation, some variables have been renamed or even
+  deleted. BitBake will stop with an error when renamed or removed variables
+  still exist in your recipes or configuration.
+
+  A :oe_git:`convert-variable-renames.py
+  </openembedded-core/tree/scripts/contrib/convert-variable-renames.py>`
+  script is provided to convert your recipes and configuration,
+  and also warns you about the use of problematic words.
+
 - Because of the uncertainty in future default branch names in git repositories,
   it is now required to add a branch name to all URLs described
   by ``git://`` and ``gitsm://`` :term:`SRC_URI` entries. For example::
@@ -54,3 +64,15 @@
 - :ref:`allarch <ref-classes-allarch>` packagegroups can no longer depend on packages
   which use :term:`PKG` renaming such as :ref:`ref-classes-debian`.
 
+Class changes
+-------------
+
+- The `distutils*.bbclasses` have been moved to `meta-python`. The classes and
+  `DISTUTILS*` variables have been removed from the documentation.
+
+- ``blacklist.bbclass`` is removed and the functionality moved to the
+  :ref:`base <ref-classes-base>` class with a more descriptive
+  ``varflag`` named :term:`SKIP_RECIPE` which will use the `SkipRecipe()`
+  function. The usage will remain the same::
+
+     SKIP_RECIPE[my-recipe] = "Reason for skipping recipe"
diff --git a/poky/documentation/migration-guides/release-notes-3.4.1.rst b/poky/documentation/migration-guides/release-notes-3.4.1.rst
new file mode 100644
index 0000000..b122887
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-3.4.1.rst
@@ -0,0 +1,252 @@
+Release notes for 3.4.1 (honister)
+----------------------------------
+
+Known Issues in 3.4.1
+~~~~~~~~~~~~~~~~~~~~~
+
+- :yocto_bugs:`bsps-hw.bsps-hw.Test_Seek_bar_and_volume_control manual test case failure </show_bug.cgi?id=14622>`
+
+Security Fixes in 3.4.1
+~~~~~~~~~~~~~~~~~~~~~~~
+
+-  glibc: Backport fix for :cve:`2021-43396`
+-  vim: add patch number to :cve:`2021-3778` patch
+-  vim: fix :cve:`2021-3796`, :cve:`2021-3872`, and :cve:`2021-3875`
+-  squashfs-tools: follow-up fix for :cve:`2021-41072`
+-  avahi: update CVE id fixed by local-ping.patch
+-  squashfs-tools: fix :cve:`2021-41072`
+-  ffmpeg: fix :cve:`2021-38114`
+-  curl: fix :cve:`2021-22945`, :cve:`2021-22946` and :cve:`2021-22947`
+
+Fixes in 3.4.1
+~~~~~~~~~~~~~~
+
+-  bitbake.conf: Fix corruption of GNOME mirror url
+-  bitbake.conf: Use wayland distro feature for native builds
+-  bitbake: Revert "parse/ast: Show errors for append/prepend/remove operators combined with +=/.="
+-  bitbake: bitbake-worker: Add debug when unpickle fails
+-  bitbake: cooker: Fix task-depends.dot for multiconfig targets
+-  bitbake: cooker: Handle parse threads disappearing to avoid hangs
+-  bitbake: cooker: Handle parsing results queue race
+-  bitbake: cooker: Remove debug code, oops :(
+-  bitbake: cooker: check if upstream hash equivalence server is available
+-  bitbake: fetch/git: Handle github dropping git:// support
+-  bitbake: fetch/wget: Add timeout for checkstatus calls (30s)
+-  bitbake: fetch2/perforce: Fix typo
+-  bitbake: fetch2: Fix url remap issue and add testcase
+-  bitbake: fetch2: fix downloadfilename issue with premirror
+-  bitbake: fetch: Handle mirror user/password replacements correctly
+-  bitbake: parse/ast: Show errors for append/prepend/remove operators combined with +=/.=
+-  bitbake: runqueue: Fix runall option handling
+-  bitbake: runqueue: Fix runall option task deletion ordering issue
+-  bitbake: test/fetch: Update urls to match upstream branch name changes
+-  bitbake: tests/fetch.py: add test case to ensure downloadfilename is used for premirror
+-  bitbake: tests/fetch.py: fix premirror test cases
+-  bitbake: tests/fetch: Update github urls
+-  bitbake: tests/fetch: Update pcre.org address after github changes
+-  bitbake: tests/runqueue: Ensure hashserv exits before deleting files
+-  bitbake: utils: Handle lockfile filenames that are too long for filesystems
+-  bootchart2: Don't compile python modules
+-  build-appliance-image: Update to honister head revision
+-  buildhistory: Fix package output files for SDKs
+-  busybox: 1.34.0 -> 1.34.1
+-  ca-certificates: update 20210119 -> 20211016
+-  classes/populate_sdk_base: Add setscene tasks
+-  conf: update for release 3.4
+-  convert-srcuri.py: use regex to check space in SRC_URI
+-  create-spdx: Fix key errors in do_create_runtime_spdx
+-  create-spdx: Protect against None from LICENSE_PATH
+-  create-spdx: Set the Organization field via a variable
+-  create-spdx: add create_annotation function
+-  create-spdx: cross recipes are native also
+-  create_spdx: ensure is_work_shared() is unique
+-  cups: Fix missing installation of cups sysv init scripts
+-  docs: poky.yaml: updates for 3.4
+-  dpkg: Install dkpg-perl scripts to versioned perl directory
+-  glibc-version.inc: remove branch= from GLIBC_GIT_URI
+-  go-helloworld/glide: Fix urls
+-  go.bbclass: Allow adding parameters to go ldflags
+-  go: upgrade 1.16.7 -> 1.16.8
+-  gst-devtools: 1.18.4 -> 1.18.5
+-  gst-examples: 1.18.4 -> 1.18.5
+-  gstreamer1.0-libav: 1.18.4 -> 1.18.5
+-  gstreamer1.0-omx: 1.18.4 -> 1.18.5
+-  gstreamer1.0-plugins-bad: 1.18.4 -> 1.18.5
+-  gstreamer1.0-plugins-base: 1.18.4 -> 1.18.5
+-  gstreamer1.0-plugins-good: 1.18.4 -> 1.18.5
+-  gstreamer1.0-plugins-ugly: 1.18.4 -> 1.18.5
+-  gstreamer1.0-python: 1.18.4 -> 1.18.5
+-  gstreamer1.0-rtsp-server: 1.18.4 -> 1.18.5
+-  gstreamer1.0-vaapi: 1.18.4 -> 1.18.5
+-  gstreamer1.0: 1.18.4 -> 1.18.5
+-  insane.bbclass: Add a check for directories that are expected to be empty
+-  kernel-devsrc: Add vdso.lds and other build files for riscv64 as well
+-  libnewt: Use python3targetconfig to fix reproducibility issue
+-  libpcre/libpcre2: correct SRC_URI
+-  libx11-compose-data: Update LICENSE to better reflect reality
+-  libx11: Update LICENSE to better reflect reality
+-  libxml2: Use python3targetconfig to fix reproducibility issue
+-  linunistring: Add missing gperf-native dependency
+-  linux-firmware: upgrade to 20211027
+-  linux-yocto-dev: Ensure DEPENDS matches recent 5.14 kernel changes
+-  linux-yocto-rt/5.10: update to -rt54
+-  linux-yocto/5.10: update to v5.10.78
+-  linux-yocto/5.14: common-pc: enable CONFIG_ATA_PIIX as built-in
+-  linux-yocto/5.14: update to v5.14.17
+-  linux-yocto: add libmpc-native to DEPENDS
+-  lttng-tools: replace ad hoc ptest fixup with upstream fixes
+-  manuals: releases.rst: move gatesgarth to outdated releases section
+-  mesa: Enable svga for x86 only
+-  mesa: upgrade 21.2.1 -> 21.2.4
+-  meson.bblcass: Remove empty egg-info directories before running meson
+-  meson: install native file in sdk
+-  meson: move lang args to the right section
+-  meson: set objcopy in the cross and native toolchain files
+-  meta/scripts: Manual git url branch additions
+-  meta: Add explict branch to git SRC_URIs
+-  migration-3.4: add additional migration info
+-  migration-3.4: add some extra packaging notes
+-  migration-3.4: tweak overrides change section
+-  migration: tweak introduction section
+-  mirrors: Add kernel.org sources mirror for downloads.yoctoproject.org
+-  mirrors: Add uninative mirror on kernel.org
+-  nativesdk-packagegroup-sdk-host.bb: Update host tools for wayland
+-  oeqa/runtime/parselogs: modified drm error in common errors list
+-  oeqa/selftest/sstatetests: fix typo ware -> were
+-  oeqa: Update cleanup code to wait for hashserv exit
+-  opkg: Fix poor operator combination choice
+-  ovmf: update 202105 -> 202108
+-  patch.bbclass: when the patch fails show more info on the fatal error
+-  poky.conf: bump version for 3.4.1 honister release
+-  poky.yaml: add lz4 and zstd to essential host packages
+-  poky.yaml: fix lz4 package name for older Ubuntu versions
+-  pseudo: Add fcntl64 wrapper
+-  python3-setuptools: _distutils/sysconfig fix
+-  python3: update to 3.9.7
+-  qemu.inc: Remove empty egg-info directories before running meson
+-  recipes: Update github.com urls to use https
+-  ref-manual: Update how to set a useradd password
+-  ref-manual: document "reproducible_build" class and SOURCE_DATE_EPOCH
+-  ref-manual: document BUILD_REPRODUCIBLE_BINARIES
+-  ref-manual: document TOOLCHAIN_HOST_TASK_ESDK
+-  ref-manual: remove meta class
+-  ref-manual: update system requirements
+-  releases.rst: fix release number for 3.3.3
+-  scripts/convert-srcuri: Update SRC_URI conversion script to handle github url changes
+-  scripts/lib/wic/help.py: Update Fedora Kickstart URLs
+-  scripts/oe-package-browser: Fix after overrides change
+-  scripts/oe-package-browser: Handle no packages being built
+-  spdx.py: Add annotation to relationship
+-  sstate: Account for reserved characters when shortening sstate filenames
+-  sstate: another fix for touching files inside pseudo
+-  sstate: fix touching files inside pseudo
+-  staging: Fix autoconf-native rebuild failure
+-  strace: fix build against 5.15 kernel/kernel-headers
+-  strace: show test suite log on failure
+-  stress-ng: convert to git, website is down
+-  systemd: add missing include for musl
+-  tar: filter CVEs using vendor name
+-  test-manual: how to enable reproducible builds
+-  testimage: fix unclosed testdata file
+-  tzdata: update 2021d to 2021d
+-  uninative: Add version to uninative tarball name
+-  waffle: convert to git, website is down
+-  wayland: Fix wayland-tools packaging
+-  wireless-regdb: upgrade 2021.07.14 -> 2021.08.28
+-  wpa-supplicant: Match package override to PACKAGES for pkg_postinst
+
+Contributors to 3.4.1
+~~~~~~~~~~~~~~~~~~~~~
+
+-  Ahmed Hossam
+-  Alexander Kanavin
+-  Alexandre Belloni
+-  Andrej Valek
+-  Andres Beltran
+-  Anuj Mittal
+-  Bruce Ashfield
+-  Chen Qi
+-  Claus Stovgaard
+-  Daiane Angolini
+-  Hsia-Jun(Randy) Li
+-  Jon Mason
+-  Jose Quaresma
+-  Joshua Watt
+-  Kai Kang
+-  Khem Raj
+-  Kiran Surendran
+-  Manuel Leonhardt
+-  Michael Opdenacker
+-  Oleksandr Kravchuk
+-  Pablo Saavedra
+-  Paul Eggleton
+-  Peter Kjellerstedt
+-  Quentin Schulz
+-  Ralph Siemsen
+-  Randy Li
+-  Richard Purdie
+-  Ross Burton
+-  Sakib Sajal
+-  Saul Wold
+-  Teoh Jay Shen
+-  Tim Orling
+-  Tom Hochstein
+-  Yureka
+
+Repositories / Downloads for 3.4.1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: https://git.yoctoproject.org/poky/
+-  Branch: :yocto_git:`honister </poky/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4.1 </poky/tag/?h=yocto-3.4.1>`
+-  Git Revision: :yocto_git:`b53230c08d9f02ecaf35b4f0b70512abbf10ae11 </poky/commit/?id=b53230c08d9f02ecaf35b4f0b70512abbf10ae11>`
+-  Release Artefact: poky-b53230c08d9f02ecaf35b4f0b70512abbf10ae11
+-  sha: 57d49e2afafb555baf65643acf752464f0eb7842b964713a5de7530c392de159
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.1/poky-b53230c08d9f02ecaf35b4f0b70512abbf10ae11.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.1/poky-b53230c08d9f02ecaf35b4f0b70512abbf10ae11.tar.bz2
+
+meta-mingw
+
+-  Repository Location: https://git.yoctoproject.org/meta-mingw
+-  Branch: :yocto_git:`honister </meta-mingw/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4.1 </meta-mingw/tag/?h=yocto-3.4.1>`
+-  Git Revision: :yocto_git:`f5d761cbd5c957e4405c5d40b0c236d263c916a8 </meta-mingw/commit/?id=f5d761cbd5c957e4405c5d40b0c236d263c916a8>`
+-  Release Artefact: meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8
+-  sha: d4305d638ef80948584526c8ca386a8cf77933dffb8a3b8da98d26a5c40fcc11
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.1/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.1/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2
+
+meta-gplv2
+
+-  Repository Location: https://git.yoctoproject.org/meta-gplv2
+-  Branch: :yocto_git:`honister </meta-gplv2/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4.1 </meta-gplv2/tag/?h=yocto-3.4.1>`
+-  Git Revision: :yocto_git:`f04e4369bf9dd3385165281b9fa2ed1043b0e400 </meta-gplv2/commit/?id=f04e4369bf9dd3385165281b9fa2ed1043b0e400>`
+-  Release Artefact: meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400
+-  sha: ef8e2b1ec1fb43dbee4ff6990ac736315c7bc2d8c8e79249e1d337558657d3fe
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`1.52 </bitbake/log/?h=1.52>`
+-  Tag: :oe_git:`yocto-3.4.1 </bitbake/tag/?h=yocto-3.4.1>`
+-  Git Revision: :oe_git:`44a83b373e1fc34c93cd4a6c6cf8b73b230c1520 </bitbake/commit/?id=44a83b373e1fc34c93cd4a6c6cf8b73b230c1520>`
+-  Release Artefact: bitbake-44a83b373e1fc34c93cd4a6c6cf8b73b230c1520
+-  sha: 03d50c1318d88d62eb01d359412ea5a8014ef506266629a2bd43ab3a2ef19430
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.1/bitbake-44a83b373e1fc34c93cd4a6c6cf8b73b230c1520.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.1/bitbake-44a83b373e1fc34c93cd4a6c6cf8b73b230c1520.tar.bz2
+
+yocto-docs
+
+-  Repository Location: https://git.yoctoproject.org/yocto-docs
+-  Branch: :yocto_git:`honister </yocto-docs/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4.1 </yocto-docs/tag/?h=yocto-3.4.1>`
+-  Git Revision: :yocto_git:`b250eda5a0beba8acc9641c55a5b0e30594b5178 </yocto-docs/commit/?b250eda5a0beba8acc9641c55a5b0e30594b5178>`
diff --git a/poky/documentation/migration-guides/release-notes-3.4.2.rst b/poky/documentation/migration-guides/release-notes-3.4.2.rst
new file mode 100644
index 0000000..23c4093
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-3.4.2.rst
@@ -0,0 +1,240 @@
+Release notes for 3.4.2 (honister)
+----------------------------------
+
+Security Fixes in 3.4.2
+~~~~~~~~~~~~~~~~~~~~~~~
+
+-  tiff: backport fix for :cve:`2022-22844`
+-  glibc : Fix :cve:`2021-3999`
+-  glibc : Fix :cve:`2021-3998`
+-  glibc : Fix :cve:`2022-23219`
+-  glibc : Fix :cve:`2022-23218`
+-  lighttpd: backport a fix for :cve:`2022-22707`
+-  speex: fix :cve:`2020-23903`
+-  linux-yocto/5.10: amdgpu: updates for :cve:`2021-42327`
+-  libsndfile1: fix :cve:`2021-4156`
+-  xserver-xorg: whitelist two CVEs
+-  grub2: fix :cve:`2021-3981`
+-  xserver-xorg: update CVE_PRODUCT
+-  binutils: :cve:`2021-42574`
+-  gcc: Fix :cve:`2021-42574`
+-  gcc: Fix :cve:`2021-35465`
+-  cve-extra-exclusions: add db CVEs to exclusion list
+-  gcc: Add :cve:`2021-37322` to the list of CVEs to ignore
+-  bind: fix :cve:`2021-25219`
+-  openssh: fix :cve:`2021-41617`
+-  ncurses: fix :cve:`2021-39537`
+-  vim: fix :cve:`2021-3968` and :cve:`2021-3973`
+-  vim: fix :cve:`2021-3927` and :cve:`2021-3928`
+-  gmp: fix :cve:`2021-43618`
+
+Fixes in 3.4.2
+~~~~~~~~~~~~~~
+
+-  build-appliance-image: Update to honister head revision
+-  poky.conf: bump version for 3.4.2 release
+-  libxml2: Backport python3-lxml workaround patch
+-  core-image-sato-sdk: allocate more memory when in qemu
+-  vim: upgrade to patch 4269
+-  vim: update to include latest CVE fixes
+-  expat: upgrade to 2.4.4
+-  libusb1: correct SRC_URI
+-  yocto-check-layer: add debug output for the layers that were found
+-  linux-firmware: Add CLM blob to linux-firmware-bcm4373 package
+-  linux-yocto/5.10: update to v5.10.93
+-  icu: fix make_icudata dependencies
+-  sstate: Improve failure to obtain archive message/handling
+-  insane.bbclass: Correct package_qa_check_empty_dirs()
+-  sstate: A third fix for for touching files inside pseudo
+-  kernel: introduce python3-dtschema-wrapper
+-  vim: upgrade to 8.2 patch 3752
+-  bootchart2: Add missing python3-math dependency
+-  socat: update SRC_URI
+-  pigz: fix one failure of command "unpigz -l"
+-  linux-yocto/5.14: update genericx86* machines to v5.14.21
+-  linux-yocto/5.10: update genericx86* machines to v5.10.87
+-  go: upgrade 1.16.10 -> 1.16.13
+-  linux-yocto/5.10/cfg: add kcov feature fragment
+-  linux-yocto/5.14: fix arm 32bit -rt warnings
+-  oeqa/sstate: Fix allarch samesigs test
+-  rootfs-postcommands.bbclass: Make two comments use the new variable syntax
+-  cve-check: add lockfile to task
+-  lib/oe/reproducible: correctly set .git location when recursively looking for git repos
+-  epiphany: Update 40.3 -> 40.6
+-  scripts/buildhistory-diff: drop use of distutils
+-  scripts: Update to use exec_module() instead of load_module()
+-  vulkan-loader: inherit pkgconfig
+-  webkitgtk: Add reproducibility fix
+-  openssl: Add reproducibility fix
+-  rpm: remove tmp folder created during install
+-  package_manager: ipk: Fix host manifest generation
+-  bitbake: utils: Update to use exec_module() instead of load_module()
+-  linux-yocto: add libmpc-native to DEPENDS
+-  ref-manual: fix patch documentation
+-  bitbake: tests/fetch: Drop gnu urls from wget connectivity test
+-  bitbake: fetch: npm: Use temporary file for empty user config
+-  bitbake: fetch: npm: Quote destdir in run chmod command
+-  bitbake: process: Do not mix stderr with stdout
+-  xserver-xorg: upgrade 1.20.13 -> 1.20.14
+-  python3-pyelftools: Depend on debugger, pprint
+-  linux-firmware: upgrade 20211027 -> 20211216
+-  oeqa/selftest/bbtests: Use YP sources mirror instead of GNU
+-  systemd: Fix systemd-journal-gateway user/groups
+-  license.bbclass: implement ast.NodeVisitor.visit_Constant
+-  oe/license: implement ast.NodeVisitor.visit_Constant
+-  packagedata.py: silence a DeprecationWarning
+-  uboot-sign: fix the concatenation when multiple U-BOOT configurations are specified
+-  runqemu: check the qemu PID has been set before kill()ing it
+-  selftest/devtool: Check branch in git fetch
+-  recipetool: Set master branch only as fallback
+-  kern-tools: bug fixes and kgit-gconfig
+-  linux-yocto-rt/5.10: update to -rt56
+-  linux-yocto/5.14: update to v5.14.21
+-  python3: upgrade 3.9.7 -> 3.9.9
+-  bitbake: lib/pyinotify.py: Remove deprecated module asyncore
+-  updates for recent releases
+-  libdrm: upgrade 2.4.108 -> 2.4.109
+-  patch.py: Initialize git repo before patching
+-  boost: Fix build on arches with no atomics
+-  boost: allow searching for python310
+-  recipetool: extend curl detection when creating recipes
+-  recipetool: handle GitLab URLs like we do GitHub
+-  README.OE-Core.md: update URLs
+-  libtool: change the default AR_FLAGS from "cru" to "cr"
+-  libtool: Update patchset to match those submitted upstream
+-  scripts/checklayer/common.py: Fixed a minor grammatical error
+-  oeqa/parselogs: Fix quoting
+-  oeqa/utils/dump: Fix typo
+-  systemd: update 249.6 -> 249.7
+-  glibc: Fix i586/c3 support
+-  wic: support rootdev identified by partition label
+-  buildhistory: Fix srcrevs output
+-  classes/crate-fetch: Ensure crate fetcher is available
+-  rootfs-postcommands: update systemd_create_users
+-  classes/meson: Add optional rust definitions
+-  rust-cross: Replace TARGET_ARCH with TUNE_PKGARCH
+-  maintainers.inc: fix up rust-cross entry
+-  rust-cross: Fix directory not deleted for race glibc vs. musl
+-  wic: use shutil.which
+-  bitbake: data_smart.py: Skip old override syntax checking for anonymous functions
+-  documentation: conf.py: fix version of bitbake objects.inv
+-  updates for release 3.3.4
+
+Contributors to 3.4.2
+~~~~~~~~~~~~~~~~~~~~~
+
+-  Alexander Kanavin
+-  Alexandre Belloni
+-  Anton Mikanovich
+-  Anuj Mittal
+-  Bruce Ashfield
+-  Carlos Rafael Giani
+-  Chaitanya Vadrevu
+-  Changqing Li
+-  Dhruva Gole
+-  Florian Amstutz
+-  Joshua Watt
+-  Kai Kang
+-  Khairul Rohaizzat Jamaluddin
+-  Khem Raj
+-  Konrad Weihmann
+-  Kory Maincent
+-  Li Wang
+-  Marek Vasut
+-  Markus Volk
+-  Martin Jansa
+-  Max Krummenacher
+-  Michael Opdenacker
+-  Mingli Yu
+-  Oleksiy Obitotskyy
+-  Pavel Zhukov
+-  Peter Kjellerstedt
+-  Pgowda
+-  Quentin Schulz
+-  Richard Purdie
+-  Robert Yang
+-  Ross Burton
+-  Rudolf J Streif
+-  Sakib Sajal
+-  Samuli Piippo
+-  Schmidt, Adriaan
+-  Stefan Herbrechtsmeier
+-  Steve Sakoman
+-  Sundeep KOKKONDA
+-  Teoh Jay Shen
+-  Thomas Perrot
+-  Tim Orling
+-  Vyacheslav Yurkov
+-  Yongxin Liu
+-  pgowda
+-  wangmy
+
+Repositories / Downloads for 3.4.2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: https://git.yoctoproject.org/poky/
+-  Branch: :yocto_git:`honister </poky/log/?h=honister>`
+-  Tag: `yocto-3.4.2 <https://git.yoctoproject.org/poky/tag/?h=yocto-3.4.2>`__
+-  Git Revision: :yocto_git:`e0ab08bb6a32916b457d221021e7f402ffa36b1a </poky/commit/?id=e0ab08bb6a32916b457d221021e7f402ffa36b1a>`
+-  Release Artefact: poky-e0ab08bb6a32916b457d221021e7f402ffa36b1a
+-  sha: 8580dc5067ee426fe347a0d0f7a74c29ba539120bbe8438332339a9c8bce00fd
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.2/poky-e0ab08bb6a32916b457d221021e7f402ffa36b1a.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.2/poky-e0ab08bb6a32916b457d221021e7f402ffa36b1a.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`honister </openembedded-core/log/?h=honister>`
+-  Tag: :oe_git:`yocto-3.4.2 </openembedded-core/tag/?h=yocto-3.4.2>`
+-  Git Revision: :oe_git:`418a9c4c31615a9e3e011fc2b21fb7154bc6c93a </openembedded-core/commit/?id=418a9c4c31615a9e3e011fc2b21fb7154bc6c93a>`
+-  Release Artefact: oecore-418a9c4c31615a9e3e011fc2b21fb7154bc6c93a
+-  sha: f2ca94a5a7ec669d4c208d1729930dfc1b917846dbb2393d01d6d5856fcbc6de
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.2/oecore-418a9c4c31615a9e3e011fc2b21fb7154bc6c93a.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.2/oecore-418a9c4c31615a9e3e011fc2b21fb7154bc6c93a.tar.bz2
+
+meta-mingw
+
+-  Repository Location: https://git.yoctoproject.org/meta-mingw
+-  Branch: :yocto_git:`honister </meta-mingw/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4.2 </meta-mingw/tag/?h=yocto-3.4.2>`
+-  Git Revision: :yocto_git:`f5d761cbd5c957e4405c5d40b0c236d263c916a8 </meta-mingw/commit/?id=f5d761cbd5c957e4405c5d40b0c236d263c916a8>`
+-  Release Artefact: meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8
+-  sha: d4305d638ef80948584526c8ca386a8cf77933dffb8a3b8da98d26a5c40fcc11
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.2/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.2/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2
+
+meta-gplv2
+
+-  Repository Location: https://git.yoctoproject.org/meta-gplv2
+-  Branch: :yocto_git:`honister </meta-gplv2/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4.2 </meta-gplv2/tag/?h=yocto-3.4.2>`
+-  Git Revision: :yocto_git:`f04e4369bf9dd3385165281b9fa2ed1043b0e400 </meta-gplv2/commit/?id=f04e4369bf9dd3385165281b9fa2ed1043b0e400>`
+-  Release Artefact: meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400
+-  sha: ef8e2b1ec1fb43dbee4ff6990ac736315c7bc2d8c8e79249e1d337558657d3fe
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.2/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.2/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`1.52 </bitbake/log/?h=1.52>`
+-  Tag: :oe_git:`yocto-3.4.2 </bitbake/tag/?h=yocto-3.4.2>`
+-  Git Revision: :oe_git:`c039182c79e2ccc54fff5d7f4f266340014ca6e0 </bitbake/commit/?id=c039182c79e2ccc54fff5d7f4f266340014ca6e0>`
+-  Release Artefact: bitbake-c039182c79e2ccc54fff5d7f4f266340014ca6e0
+-  sha: bd80297f8d8aa40cbcc8a3d4e23a5223454b305350adf34cd29b5fb65c1b4c52
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4.2/bitbake-c039182c79e2ccc54fff5d7f4f266340014ca6e0.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4.2/bitbake-c039182c79e2ccc54fff5d7f4f266340014ca6e0.tar.bz2
+
+yocto-docs
+
+-  Repository Location: https://git.yoctoproject.org/yocto-docs
+-  Branch: :yocto_git:`honister </yocto-docs/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4.2 </yocto-docs/tag/?h=yocto-3.4.2>`
+-  Git Revision: :yocto_git:`3061d3d62054a5c3b9e16bfce4bcd186fa7a23d2` </yocto-docs/commit/?3061d3d62054a5c3b9e16bfce4bcd186fa7a23d2>`
diff --git a/poky/documentation/migration-guides/release-notes-3.4.rst b/poky/documentation/migration-guides/release-notes-3.4.rst
new file mode 100644
index 0000000..927de6d
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-3.4.rst
@@ -0,0 +1,800 @@
+Release notes for 3.4 (honister)
+--------------------------------
+
+New Features / Enhancements in 3.4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades
+-  Switched override character to ':' (replacing '_') for more robust parsing and improved performance - see the above migration guide for help
+-  Rust integrated into core, providing rust support for cross-compilation and SDK
+-  New create-spdx class for creating SPDX SBoM documents
+-  New recipes: cargo, core-image-ptest-all, core-image-ptest-fast, core-image-weston-sdk, erofs-utils, gcompat, gi-docgen, libmicrohttpd, libseccomp, libstd-rs, perlcross, python3-markdown, python3-pyyaml, python3-smartypants, python3-typogrify, rust, rust-cross, rust-cross-canadian, rust-hello-world, rust-llvm, rust-tools-cross-canadian, rustfmt, xwayland
+-  Several optimisations to reduce unnecessary task dependencies for faster builds
+-  seccomp integrated into core, with additional enabling for gnutls, systemd, qemu
+-  New overlayfs class to help generate overlayfs mount units
+-  debuginfod support now enabled by default
+-  Switched several recipes over to using OpenSSL instead of GnuTLS (wpa-supplicant, curl, glib-networking) or disable GnuTLS (cups) by default
+-  Improvements to LTO plugin installation and reproducibility
+-  Architecture-specific enhancements:
+
+   -  glibc: Enable memory tagging for aarch64
+   -  testimage: remove aarch64 xorg exclusion
+   -  arch-arm*: add better support for gcc march extensions
+   -  tune-cortexm*: add support for all Arm Cortex-M processors
+   -  tune-cortexr*: add support for all Arm Cortex-R processors
+   -  arch-armv4: Allow -march=armv4
+   -  qemuarm*: use virtio graphics
+   -  baremetal-helloworld: Enable RISC-V 64/32 port
+   -  ldconfig-native: Add RISC-V support
+   -  qemuriscv: Enable 4 core emulation
+   -  Add ARC support in gdb, dpkg, dhcpcd
+   -  conf/machine-sdk: Add ppc64 SDK machine
+   -  libjpeg-turbo: Handle powerpc64le without Altivec
+   -  pixman: Handle PowerPC without Altivec
+   -  mesa: enable gallium Intel drivers when building for x86
+   -  mesa: enable crocus driver for older Intel graphics
+
+-  Kernel-related enhancements:
+
+   -  Support zstd-compressed modules and initramfs images
+   -  Allow opt-out of split kernel modules
+   -  linux-yocto-dev: base AUTOREV on specified version
+   -  kernel-yocto: provide debug / summary information for metadata
+   -  kernel-uboot: Handle gzip and lzo compression options
+   -  linux-yocto/5.14: added devupstream support
+   -  linux-yocto: add vfat to :term:`KERNEL_FEATURES` when :term:`MACHINE_FEATURES` include vfat
+   -  linux-yocto: enable TYPEC_TCPCI in usbc fragment
+
+-  Image-related enhancements:
+
+   -  New erofs, erofs-lz4 and erofs-lz4hc image types
+   -  New squashfs-zst and cpio.zst image types
+   -  New lic-pkgs :term:`IMAGE_FEATURES` item to install all license packages
+   -  Added zsync metadata conversion support
+   -  Use xargs to set file timestamps for significant (>90%) do_image speedup
+   -  Find .ko.gz and .ko.xz kernel modules as well when determining need to run depmod on an image
+   -  Show formatted error messages instead of tracebacks for systemctl errors
+   -  No longer ignore installation failures in complementary package installation
+   -  Remove ldconfig auxiliary cache when not needed
+
+-  wic enhancements:
+
+   -  Added erofs filesystem support
+   -  Added --extra-space argument to leave extra space after last partition
+   -  Added --no-fstab-update part option to allow using the stock fstab
+   -  bootimg-efi: added Unified Kernel Image option
+   -  bootimg-pcbios: use label provided when formatting a DOS partition
+
+-  SDK-related enhancements:
+
+   -  Enable do_populate_sdk with multilibs
+   -  New ``SDKPATHINSTALL`` variable decouples default install path from built in path to avoid rebuilding nativesdk components on e.g. :term:`DISTRO_VERSION` changes
+   -  eSDK: Error if trying to generate an eSDK from a multiconfig
+   -  eSDK: introduce :term:`TOOLCHAIN_HOST_TASK_ESDK` to be used in place of :term:`TOOLCHAIN_HOST_TASK` to add components to the host part of the eSDK
+
+-  BitBake enhancements:
+
+   -  New bitbake-getvar helper command to query a variable value (with history)
+   -  bitbake-layers: layerindex-fetch: add --fetchdir parameter
+   -  bitbake-layers: show-recipes: add skip reason to output
+   -  bitbake-diffsigs: sort diff output for consistency
+   -  Allow setting upstream for local hash equivalence server
+   -  fetch2/s3: allow to use credentials and switch profile from environment variables
+   -  fetch2/s3: Add progress handler for S3 cp command
+   -  fetch2/npm: Support npm archives with missing search directory mode
+   -  fetch2/npmsw: Add support for local tarball and link sources
+   -  fetch2/svn: Allow peg-revision functionality to be disabled
+   -  fetch2/wget: verify certificates for HTTPS/FTPS by default
+   -  fetch2/wget: Enable FTPS
+   -  prserv: added read-only mode
+   -  prserv: replaced XML RPC with modern asyncrpc implementation
+   -  Numerous warning/error message improvements
+
+-  New :term:`PACKAGECONFIG` options in btrfs-tools, ccache, coreutils, cups, dbus, elfutils, ffmpeg, findutils, glib-2.0, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-base, libarchive, libnotify, libpsl, man-db, mesa, ovmf, parted, prelink, qemu, rpm, shadow, systemd, tar, vim, weston
+-  u-boot enhancements:
+
+   -  Make SPL suffix configurable
+   -  Make ``UBOOT_BINARYNAME`` configurable
+   -  Package ``extlinux.conf`` separately
+   -  Allow deploying the u-boot DTB
+
+-  opensbi: Add support for specifying a device tree
+-  busybox enhancements:
+
+   -  Added tmpdir option into mktemp applet
+   -  Support mounting swap via labels
+   -  Enable long options for enabled applets
+
+-  Move tune files to architecture subdirectories
+-  buildstats: log host data on failure separately to task specific file
+-  buildstats: collect "at interval" and "on failure" logs in the same file
+-  Ptest enhancements:
+
+   -  ptest-runner: install script to collect system data on failure
+   -  Added ptest support to python3-hypothesis, python3-jinja2, python3-markupsafe
+   -  Enhanced ptest support in lttng, util-linux, and others
+   -  New leaner ptest image recipes based upon core-image-minimal
+
+-  scripts/contrib/image-manifest: add new script
+-  Add beginnings of Android target support
+-  devtool upgrade: rebase override-only patches as well
+-  devtool: print a warning on upgrades if :term:`PREFERRED_VERSION` is set
+-  systemd: set zstd as default compression option
+-  init-manager-systemd: add a weak VIRTUAL-RUNTIME_dev_manager assignment
+-  Add proper unpack dependency for .zst compressed archives
+-  util-linux: build chfn and chsh by default
+-  qemu: use 4 cores in qemu guests
+-  runqemu: decouple bios and kernel options
+-  qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absent
+-  devupstream: Allow support of native class extensions
+-  Prelinking now disabled in default configuration
+-  python3: statistics module moved to its own python3-statistics package
+-  pypi: allow override of PyPI archive name
+-  Allow global override of golang GO_DYNLINK
+-  buildhistory enhancements:
+
+   -  Add option to strip path prefix
+   -  Add output file listing package information
+   -  Label packages providing per-file dependencies in depends.dot
+
+-  New gi-docgen class for GNOME library documentation
+-  meson.bbclass: Make the default buildtype "debug" if :term:`DEBUG_BUILD` is 1
+-  distro_features_check: expand with :term:`IMAGE_FEATURES`
+-  Add extended packagedata in JSON format
+-  local.conf.sample: Update sstate mirror entry with new hash equivalence setting
+-  poky: Use https in default :term:`PREMIRRORS`
+-  reproducible_build.bbclass: Enable -Wdate-time
+-  yocto-check-layer: ensure that all layer dependencies are tested too
+-  core-image-multilib-example: base on weston, and not sato
+-  npm.bbclass: Allow nodedir to be overridden by ``NPM_NODEDIR``
+-  cve-extra-exclusions.inc: add exclusion list for intractable CVE's
+-  license_image.bbclass: Detect broken symlinks
+-  sysstat: make the service start automatically
+-  sanity: Add error check for '%' in build path
+-  sanity: Further improve directory sanity tests
+-  sanity.bbclass: mention ``CONNECTIVITY_CHECK_URIS`` in network failure message
+-  tzdata: Allow controlling zoneinfo binary format
+-  oe-time-dd-test.sh: add options and refactor
+-  vim: add option to disable NLS support
+-  zstd: Include pzstd in the build
+-  mirrors.bbclass: provide additional rule for git repo fallbacks
+-  own-mirrors: Add support for s3:// scheme in :term:`SOURCE_MIRROR_URL`
+-  common-licenses: add missing SPDX licences
+-  Add MAINTAINERS.md file to record subsystem maintainers
+
+Known Issues in 3.4
+~~~~~~~~~~~~~~~~~~~
+
+- Build failures have been reported when running on host Linux systems with FIPS enabled (such as RHEL 8.0 with the FIPS mode enabled). For more details please see :yocto_bugs:`bug #14609 </show_bug.cgi?id=14609>`.
+
+Recipe Licenses changes in 3.4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following corrections have been made to the LICENSE values set by recipes:
+
+-  acpica: correct LICENSE to "Intel | BSD-3-Clause | GPLv2"
+-  dtc: correct LICENSE to "GPLv2 | BSD-2-Clause"
+-  e2fsprogs: correct LICENSE to "GPLv2 & LGPLv2 & BSD-3-Clause & MIT"
+-  ffmpeg: correct LICENSE to "GPLv2+ & LGPLv2.1+ & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
+-  flac: correct LICENSE to "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD-3-Clause"
+-  flex: correct LICENSE to "BSD-3-Clause & LGPL-2.0+"
+-  font-util: correct LICENSE to "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
+-  glib-2.0: correct LICENSE to "LGPLv2.1+ & BSD-3-Clause & PD"
+-  gobject-introspection: correct LICENSE to "LGPLv2+ & GPLv2+ & MIT" (add MIT license)
+-  hdparm: correct LICENSE to "BSD-2-Clause & GPLv2 & hdparm"
+-  iputils: correct LICENSE to "BSD-3-Clause & GPLv2+"
+-  libcap: correct LICENSE to "BSD-3-Clause | GPLv2"
+-  libevent: correct LICENSE to "BSD-3-Clause & MIT"
+-  libjitterentropy: correct LICENSE to "GPLv2+ | BSD-3-Clause"
+-  libpam: correct LICENSE to "GPLv2+ | BSD-3-Clause"
+-  libwpe: correct LICENSE to "BSD-2-Clause"
+-  libx11-compose-data: correct LICENSE to "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
+-  libx11: correct LICENSE to "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
+-  libxfont2: correct LICENSE to "MIT & MIT-style & BSD-4-Clause & BSD-2-Clause"
+-  libxfont: correct LICENSE to "MIT & MIT-style & BSD-3-Clause"
+-  lsof: correct LICENSE to reflect that it uses a BSD-like (but not exactly BSD) license ("Spencer-94")
+-  nfs-utils: correct LICENSE to "MIT & GPLv2+ & BSD-3-Clause"
+-  ovmf: correct license to "BSD-2-Clause-Patent"
+-  ppp: correct LICENSE to "BSD-3-Clause & BSD-3-Clause-Attribution & GPLv2+ & LGPLv2+ & PD"
+-  python3-packaging: correct LICENSE to "Apache-2.0 | BSD-2-Clause"
+-  python-async-test: correct LICENSE to "BSD-3-Clause"
+-  quota: remove BSD license (only BSD licensed part of the code was removed in 4.05)
+-  shadow: correct LICENSE to "BSD-3-Clause | Artistic-1.0"
+-  shadow-sysroot: set LICENSE the same as shadow
+-  sudo: correct LICENSE to "ISC & BSD-3-Clause & BSD-2-Clause & Zlib"
+-  swig: correct LICENSE to "BSD-3-Clause & GPLv3"
+-  valgrind: correct license to "GPLv2 & GPLv2+ & BSD-3-Clause"
+-  webkitgtk: correct LICENSE to "BSD-2-Clause & LGPLv2+"
+-  wpebackend-fdo: correct LICENSE to "BSD-2-Clause"
+-  xinetd: correct LICENSE to reflect that it uses a unique BSD-like (but not exactly BSD) license
+
+Other license-related notes:
+
+-  When creating recipes for Python software, recipetool will now treat "BSD" as "BSD-3-Clause" for the purposes of setting LICENSE, as that is the most common understanding.
+-  Please be aware that an initramfs bundled with the kernel using :term:`INITRAMFS_IMAGE_BUNDLE` should only contain GPLv2-compatible software; this is now mentioned in the documentation.
+
+Security Fixes in 3.4
+~~~~~~~~~~~~~~~~~~~~~
+
+-  apr: :cve:`2021-35940`
+-  aspell: :cve:`2019-25051`
+-  avahi: :cve:`2021-3468`, :cve:`2021-36217`
+-  binutils: :cve:`2021-20197`
+-  bluez: :cve:`2021-3658`
+-  busybox: :cve:`2021-28831`
+-  cairo: :cve:`2020-35492`
+-  cpio: :cve:`2021-38185`
+-  expat: :cve:`2013-0340`
+-  ffmpeg: :cve:`2020-20446`, :cve:`2020-22015`, :cve:`2020-22021`, :cve:`2020-22033`, :cve:`2020-22019`, :cve:`2021-33815`, :cve:`2021-38171`, :cve:`2020-20453`
+-  glibc: :cve:`2021-33574`, :cve:`2021-38604`
+-  inetutils: :cve:`2021-40491`
+-  libgcrypt: :cve:`2021-40528`
+-  linux-yocto/5.10, 5.14: :cve:`2021-3653`, :cve:`2021-3656`
+-  lz4: :cve:`2021-3520`
+-  nettle: :cve:`2021-20305`
+-  openssl: :cve:`2021-3711`, :cve:`2021-3712`
+-  perl: :cve:`2021-36770`
+-  python3: :cve:`2021-29921`
+-  python3-pip: :cve:`2021-3572`
+-  qemu: :cve:`2020-27821`, :cve:`2020-29443`, :cve:`2020-35517`, :cve:`2021-3392`, :cve:`2021-3409`, :cve:`2021-3416`, :cve:`2021-3527`, :cve:`2021-3544`, :cve:`2021-3545`, :cve:`2021-3546`, :cve:`2021-3682`, :cve:`2021-20181`, :cve:`2021-20221`, :cve:`2021-20257`, :cve:`2021-20263`
+-  rpm: :cve:`2021-3421`, :cve:`2021-20271`
+-  rsync: :cve:`2020-14387`
+-  util-linux: :cve:`2021-37600`
+-  vim: :cve:`2021-3770`, :cve:`2021-3778`
+-  wpa-supplicant: :cve:`2021-30004`
+-  xdg-utils: :cve:`2020-27748`
+-  xserver-xorg: :cve:`2021-3472`
+
+Recipe Upgrades in 3.4
+~~~~~~~~~~~~~~~~~~~~~~
+
+-  acl 2.2.53 -> 2.3.1
+-  acpica 20210105 -> 20210730
+-  alsa-lib 1.2.4 -> 1.2.5.1
+-  alsa-plugins 1.2.2 -> 1.2.5
+-  alsa-tools 1.2.2 -> 1.2.5
+-  alsa-topology-conf 1.2.4 -> 1.2.5.1
+-  alsa-ucm-conf 1.2.4 -> 1.2.5.1
+-  alsa-utils 1.2.4 -> 1.2.5.1
+-  alsa-utils-scripts 1.2.4 -> 1.2.5.1
+-  apt 2.2.2 -> 2.2.4
+-  at 3.2.1 -> 3.2.2
+-  at-spi2-core 2.38.0 -> 2.40.3
+-  autoconf-archive 2019.01.06 -> 2021.02.19
+-  babeltrace2 2.0.3 -> 2.0.4
+-  bash 5.1 -> 5.1.8
+-  bind 9.16.16 -> 9.16.20
+-  binutils 2.36.1 -> 2.37
+-  binutils-cross 2.36.1 -> 2.37
+-  binutils-cross-canadian 2.36.1 -> 2.37
+-  binutils-cross-testsuite 2.36.1 -> 2.37
+-  binutils-crosssdk 2.36.1 -> 2.37
+-  bison 3.7.5 -> 3.7.6
+-  blktrace 1.2.0+gitX -> 1.3.0+gitX
+-  bluez5 5.56 -> 5.61
+-  boost 1.75.0 -> 1.77.0
+-  boost-build-native 4.3.0 -> 4.4.1
+-  btrfs-tools 5.10.1 -> 5.13.1
+-  busybox 1.33.1 -> 1.34.0
+-  busybox-inittab 1.33.0 -> 1.34.0
+-  ccache 4.2 -> 4.4
+-  cmake 3.19.5 -> 3.21.1
+-  cmake-native 3.19.5 -> 3.21.1
+-  connman 1.39 -> 1.40
+-  createrepo-c 0.17.0 -> 0.17.4
+-  cronie 1.5.5 -> 1.5.7
+-  cross-localedef-native 2.33 -> 2.34
+-  cups 2.3.3 -> 2.3.3op2
+-  curl 7.75.0 -> 7.78.0
+-  dbus-glib 0.110 -> 0.112
+-  dejagnu 1.6.2 -> 1.6.3
+-  diffoscope 172 -> 181
+-  diffutils 3.7 -> 3.8
+-  distcc 3.3.5 -> 3.4
+-  dnf 4.6.0 -> 4.8.0
+-  dpkg 1.20.7.1 -> 1.20.9
+-  dtc 1.6.0 -> 1.6.1
+-  e2fsprogs 1.46.1 -> 1.46.4
+-  elfutils 0.183 -> 0.185
+-  ell 0.38 -> 0.43
+-  enchant2 2.2.15 -> 2.3.1
+-  epiphany 3.38.2 -> 40.3
+-  ethtool 5.10 -> 5.13
+-  expat 2.2.10 -> 2.4.1
+-  ffmpeg 4.3.2 -> 4.4
+-  file 5.39 -> 5.40
+-  freetype 2.10.4 -> 2.11.0
+-  gcc 10.2.0 -> 11.2.0
+-  gcc-cross 10.2.0 -> 11.2.0
+-  gcc-cross-canadian 10.2.0 -> 11.2.0
+-  gcc-crosssdk 10.2.0 -> 11.2.0
+-  gcc-runtime 10.2.0 -> 11.2.0
+-  gcc-sanitizers 10.2.0 -> 11.2.0
+-  gcc-source 10.2.0 -> 11.2.0
+-  gcr 3.38.1 -> 3.40.0
+-  gdb 10.1 -> 10.2
+-  gdb-cross 10.1 -> 10.2
+-  gdb-cross-canadian 10.1 -> 10.2
+-  gdk-pixbuf 2.40.0 -> 2.42.6
+-  ghostscript 9.53.3 -> 9.54.0
+-  git 2.31.1 -> 2.33.0
+-  glib-2.0 2.66.7 -> 2.68.4
+-  glib-networking 2.66.0 -> 2.68.2
+-  glibc 2.33 -> 2.34
+-  glibc-locale 2.33 -> 2.34
+-  glibc-mtrace 2.33 -> 2.34
+-  glibc-scripts 2.33 -> 2.34
+-  glibc-testsuite 2.33 -> 2.34
+-  glslang 11.2.0 -> 11.5.0
+-  gnome-desktop-testing 2018.1 -> 2021.1
+-  gnu-config 20210125+gitX -> 20210722+gitX
+-  gnu-efi 3.0.12 -> 3.0.14
+-  gnupg 2.2.27 -> 2.3.1
+-  gobject-introspection 1.66.1 -> 1.68.0
+-  gpgme 1.15.1 -> 1.16.0
+-  gptfdisk 1.0.7 -> 1.0.8
+-  grep 3.6 -> 3.7
+-  grub 2.04+2.06~rc1 -> 2.06
+-  grub-efi 2.04+2.06~rc1 -> 2.06
+-  gsettings-desktop-schemas 3.38.0 -> 40.0
+-  gtk+3 3.24.25 -> 3.24.30
+-  harfbuzz 2.7.4 -> 2.9.0
+-  hdparm 9.60 -> 9.62
+-  help2man 1.48.2 -> 1.48.4
+-  hwlatdetect 1.10 -> 2.1
+-  i2c-tools 4.2 -> 4.3
+-  icu 68.2 -> 69.1
+-  igt-gpu-tools 1.25+gitX -> 1.26
+-  inetutils 2.0 -> 2.1
+-  iproute2 5.11.0 -> 5.13.0
+-  iputils s20200821 -> 20210722
+-  json-glib 1.6.2 -> 1.6.4
+-  kexec-tools 2.0.21 -> 2.0.22
+-  kmod 28 -> 29
+-  kmod-native 28 -> 29
+-  less 563 -> 590
+-  libassuan 2.5.4 -> 2.5.5
+-  libcap 2.48 -> 2.51
+-  libcgroup 0.41 -> 2.0
+-  libcomps 0.1.15 -> 0.1.17
+-  libconvert-asn1-perl 0.27 -> 0.31
+-  libdazzle 3.38.0 -> 3.40.0
+-  libdnf 0.58.0 -> 0.63.1
+-  libdrm 2.4.104 -> 2.4.107
+-  libedit 20210216-3.1 -> 20210714-3.1
+-  libepoxy 1.5.5 -> 1.5.9
+-  liberation-fonts 2.00.1 -> 2.1.4
+-  libffi 3.3 -> 3.4.2
+-  libfm 1.3.1 -> 1.3.2
+-  libgcc 10.2.0 -> 11.2.0
+-  libgcc-initial 10.2.0 -> 11.2.0
+-  libgcrypt 1.9.3 -> 1.9.4
+-  libgfortran 10.2.0 -> 11.2.0
+-  libgit2 1.1.0 -> 1.1.1
+-  libglu 9.0.1 -> 9.0.2
+-  libgpg-error 1.41 -> 1.42
+-  libgudev 234 -> 237
+-  libhandy 1.2.0 -> 1.2.3
+-  libical 3.0.9 -> 3.0.10
+-  libidn2 2.3.0 -> 2.3.2
+-  libinput 1.16.4 -> 1.18.1
+-  libjitterentropy 3.0.1 -> 3.1.0
+-  libjpeg-turbo 2.0.6 -> 2.1.1
+-  libksba 1.5.0 -> 1.6.0
+-  libmodulemd 2.12.0 -> 2.13.0
+-  libnsl2 1.3.0 -> 2.0.0
+-  libnss-mdns 0.14.1 -> 0.15.1
+-  libogg 1.3.4 -> 1.3.5
+-  libpcap 1.10.0 -> 1.10.1
+-  libpcre 8.44 -> 8.45
+-  libpcre2 10.36 -> 10.37
+-  libportal 0.3 -> 0.4
+-  librepo 1.13.0 -> 1.14.1
+-  libsdl2 2.0.14 -> 2.0.16
+-  libsolv 0.7.17 -> 0.7.19
+-  libtasn1 4.16.0 -> 4.17.0
+-  libtest-needs-perl 0.002006 -> 0.002009
+-  libtirpc 1.3.1 -> 1.3.2
+-  libubootenv 0.3.1 -> 0.3.2
+-  libucontext 0.10+X -> 1.1+X
+-  liburcu 0.12.2 -> 0.13.0
+-  libuv 1.41.0 -> 1.42.0
+-  libva 2.10.0 -> 2.12.0
+-  libva-initial 2.10.0 -> 2.12.0
+-  libva-utils 2.10.0 -> 2.12.0
+-  libwebp 1.2.0 -> 1.2.1
+-  libwpe 1.8.0 -> 1.10.1
+-  libx11 1.7.0 -> 1.7.2
+-  libxcrypt 4.4.18 -> 4.4.25
+-  libxcrypt-compat 4.4.18 -> 4.4.25
+-  libxfixes 5.0.3 -> 6.0.0
+-  libxfont2 2.0.4 -> 2.0.5
+-  libxft 2.3.3 -> 2.3.4
+-  libxi 1.7.10 -> 1.7.99.2
+-  libxkbcommon 1.0.3 -> 1.3.0
+-  libxml2 2.9.10 -> 2.9.12
+-  libxres 1.2.0 -> 1.2.1
+-  linux-libc-headers 5.10 -> 5.14
+-  linux-yocto 5.4.144+gitX, 5.10.63+gitX -> 5.10.70+gitX, 5.14.9+gitX
+-  linux-yocto-dev 5.12++gitX -> 5.15++gitX
+-  linux-yocto-rt 5.4.144+gitX, 5.10.63+gitX -> 5.10.70+gitX, 5.14.9+gitX
+-  linux-yocto-tiny 5.4.144+gitX, 5.10.63+gitX -> 5.10.70+gitX, 5.14.9+gitX
+-  llvm 11.1.0 -> 12.0.1
+-  log4cplus 2.0.6 -> 2.0.7
+-  logrotate 3.18.0 -> 3.18.1
+-  ltp 20210121 -> 20210524
+-  lttng-modules 2.12.6 -> 2.13.0
+-  lttng-tools 2.12.4 -> 2.13.0
+-  lttng-ust 2.12.1 -> 2.13.0
+-  m4 1.4.18 -> 1.4.19
+-  m4-native 1.4.18 -> 1.4.19
+-  man-pages 5.10 -> 5.12
+-  mc 4.8.26 -> 4.8.27
+-  mesa 21.0.3 -> 21.2.1
+-  mesa-gl 21.0.3 -> 21.2.1
+-  meson 0.57.1 -> 0.58.1
+-  mmc-utils 0.1+gitX (73d6c59af8d1...) -> 0.1+gitX (43282e80e174...)
+-  mobile-broadband-provider-info 20201225 -> 20210805
+-  mpg123 1.26.4 -> 1.28.2
+-  mtd-utils 2.1.2 -> 2.1.3
+-  mtools 4.0.26 -> 4.0.35
+-  musl 1.2.2+gitX (e5d2823631bb...) -> 1.2.2+gitX (3f701faace7a...)
+-  nativesdk-meson 0.57.1 -> 0.58.1
+-  netbase 6.2 -> 6.3
+-  nfs-utils 2.5.3 -> 2.5.4
+-  ofono 1.31 -> 1.32
+-  openssh 8.5p1 -> 8.7p1
+-  opkg 0.4.4 -> 0.4.5
+-  opkg-utils 0.4.3 -> 0.4.5
+-  ovmf edk2-stable202102 -> edk2-stable202105
+-  p11-kit 0.23.22 -> 0.24.0
+-  pango 1.48.2 -> 1.48.9
+-  patchelf 0.12 -> 0.13
+-  perl 5.32.1 -> 5.34.0
+-  piglit 1.0+gitrX (d4d9353b7290...) -> 1.0+gitrX (6a4be9e9946d...)
+-  pkgconf 1.7.3 -> 1.8.0
+-  powertop 2.13 -> 2.14
+-  pseudo 1.9.0+gitX (b988b0a6b8af...) -> 1.9.0+gitX (0cda3ba5f94a...)
+-  pulseaudio 14.2 -> 15.0
+-  puzzles 0.0+gitX (84cb4c6701e0...) -> 0.0+gitX (8f3413c31ffd...)
+-  python3 3.9.5 -> 3.9.6
+-  python3-attrs 20.3.0 -> 21.2.0
+-  python3-cython 0.29.22 -> 0.29.24
+-  python3-dbus 1.2.16 -> 1.2.18
+-  python3-dbusmock 0.22.0 -> 0.23.1
+-  python3-docutils 0.16 -> 0.17.1
+-  python3-git 3.1.14 -> 3.1.20
+-  python3-gitdb 4.0.5 -> 4.0.7
+-  python3-hypothesis 6.2.0 -> 6.15.0
+-  python3-importlib-metadata 3.4.0 -> 4.6.4
+-  python3-iniparse 0.4 -> 0.5
+-  python3-jinja2 2.11.3 -> 3.0.1
+-  python3-libarchive-c 2.9 -> 3.1
+-  python3-magic 0.4.22 -> 0.4.24
+-  python3-mako 1.1.4 -> 1.1.5
+-  python3-markupsafe 1.1.1 -> 2.0.1
+-  python3-more-itertools 8.7.0 -> 8.8.0
+-  python3-numpy 1.20.1 -> 1.21.2
+-  python3-packaging 20.9 -> 21.0
+-  python3-pathlib2 2.3.5 -> 2.3.6
+-  python3-pbr 5.4.4 -> 5.6.0
+-  python3-pip 20.0.2 -> 21.2.4
+-  python3-pluggy 0.13.1 -> 1.0.0
+-  python3-pycairo 1.20.0 -> 1.20.1
+-  python3-pygments 2.8.1 -> 2.10.0
+-  python3-pygobject 3.38.0 -> 3.40.1
+-  python3-pytest 6.2.2 -> 6.2.4
+-  python3-scons 3.1.2 -> 4.2.0
+-  python3-scons-native 3.1.2 -> 4.2.0
+-  python3-setuptools 54.1.1 -> 57.4.0
+-  python3-setuptools-scm 5.0.1 -> 6.0.1
+-  python3-six 1.15.0 -> 1.16.0
+-  python3-sortedcontainers 2.3.0 -> 2.4.0
+-  python3-testtools 2.4.0 -> 2.5.0
+-  python3-zipp 3.4.1 -> 3.5.0
+-  qemu 5.2.0 -> 6.0.0
+-  qemu-native 5.2.0 -> 6.0.0
+-  qemu-system-native 5.2.0 -> 6.0.0
+-  re2c 2.0.3 -> 2.2
+-  rng-tools 6.11 -> 6.14
+-  rpcbind 1.2.5 -> 1.2.6
+-  rt-tests 1.10 -> 2.1
+-  ruby 3.0.1 -> 3.0.2
+-  rxvt-unicode 9.22 -> 9.26
+-  shaderc 2020.5 -> 2021.1
+-  shadow 4.8.1 -> 4.9
+-  spirv-tools 2020.7 -> 2021.2
+-  sqlite3 3.35.0 -> 3.36.0
+-  squashfs-tools 4.4 -> 4.5
+-  strace 5.11 -> 5.14
+-  stress-ng 0.12.05 -> 0.13.00
+-  sudo 1.9.6p1 -> 1.9.7p2
+-  swig 3.0.12 -> 4.0.2
+-  sysklogd 2.2.2 -> 2.2.3
+-  systemd 247.6 -> 249.3
+-  systemd-boot 247.6 -> 249.3
+-  systemd-conf 247.6 -> 1.0
+-  systemtap 4.4 -> 4.5
+-  systemtap-native 4.4 -> 4.5
+-  systemtap-uprobes 4.4 -> 4.5
+-  tcf-agent 1.7.0+gitX (a022ef2f1acf...) -> 1.7.0+gitX (2735e3d6b7ec...)
+-  texinfo 6.7 -> 6.8
+-  tiff 4.2.0 -> 4.3.0
+-  u-boot 2021.01 -> 2021.07
+-  u-boot-tools 2021.01 -> 2021.07
+-  usbutils 013 -> 014
+-  util-linux 2.36.2 -> 2.37.2
+-  util-linux-libuuid 2.36.2 -> 2.37.2
+-  vala 0.50.4 -> 0.52.5
+-  valgrind 3.16.1 -> 3.17.0
+-  virglrenderer 0.8.2 -> 0.9.1
+-  vte 0.62.2 -> 0.64.2
+-  vulkan-headers 1.2.170.0 -> 1.2.182.0
+-  vulkan-loader 1.2.170.0 -> 1.2.182.0
+-  vulkan-samples git (55cebd9e7cc4...) -> git (d2187278cb66...)
+-  vulkan-tools 1.2.170.0 -> 1.2.182.0
+-  wayland-protocols 1.20 -> 1.21
+-  webkitgtk 2.30.5 -> 2.32.3
+-  wireless-regdb 2021.04.21 -> 2021.07.14
+-  wpebackend-fdo 1.8.0 -> 1.10.0
+-  x264 r3039+gitX (544c61f08219...) -> r3039+gitX (5db6aa6cab1b...)
+-  xeyes 1.1.2 -> 1.2.0
+-  xf86-input-libinput 0.30.0 -> 1.1.0
+-  xkbcomp 1.4.4 -> 1.4.5
+-  xkeyboard-config 2.32 -> 2.33
+-  xorgproto 2020.1 -> 2021.4.99.2
+-  xserver-xorg 1.20.10 -> 1.20.13
+-  zstd 1.4.9 -> 1.5.0
+
+Contributors to 3.4
+~~~~~~~~~~~~~~~~~~~
+
+Thanks to the following people who contributed to this release:
+
+-  Adam Romanek
+-  Alejandro Hernandez Samaniego
+-  Alexander Kanavin
+-  Alexandre Belloni
+-  Alexey Brodkin
+-  Alex Stewart
+-  Alistair Francis
+-  Anatol Belski
+-  Anders Wallin
+-  Andrea Adami
+-  Andreas Müller
+-  Andrej Valek
+-  Andres Beltran
+-  Andrey Zhizhikin
+-  Anibal Limon
+-  Anthony Bagwell
+-  Anton Blanchard
+-  Anuj Mittal
+-  Armin Kuster
+-  Asfak Rahman
+-  Bastian Krause
+-  Bernhard Rosenkränzer
+-  Bruce Ashfield
+-  Carlos Rafael Giani
+-  Chandana kalluri
+-  Changhyeok Bae
+-  Changqing Li
+-  Chanho Park
+-  Chen Qi
+-  Chris Laplante
+-  Christophe Chapuis
+-  Christoph Muellner
+-  Claudius Heine
+-  Damian Wrobel
+-  Daniel Ammann
+-  Daniel Gomez
+-  Daniel McGregor
+-  Daniel Wagenknecht
+-  Denys Dmytriyenko
+-  Devendra Tewari
+-  Diego Sueiro
+-  Dmitry Baryshkov
+-  Douglas Royds
+-  Dragos-Marian Panait
+-  Drew Moseley
+-  Enrico Scholz
+-  Fabio Berton
+-  Florian Amstutz
+-  Gavin Li
+-  Guillaume Champagne
+-  Harald Brinkmann
+-  Henning Schild
+-  He Zhe
+-  Hongxu Jia
+-  Hsia-Jun (Randy) Li
+-  Jean Bouchard
+-  Joe Slater
+-  Jonas Höppner
+-  Jon Mason
+-  Jose Quaresma
+-  Joshua Watt
+-  Justin Bronder
+-  Kai Kang
+-  Kenfe-Mickael Laventure
+-  Kevin Hao
+-  Khairul Rohaizzat Jamaluddin
+-  Khem Raj
+-  Kiran Surendran
+-  Konrad Weihmann
+-  Kristian Klausen
+-  Kyle Russell
+-  Lee Chee Yang
+-  Lei Maohui
+-  Luca Boccassi
+-  Marco Felsch
+-  Marcus Comstedt
+-  Marek Vasut
+-  Mark Hatle
+-  Markus Volk
+-  Marta Rybczynska
+-  Martin Jansa
+-  Matthias Klein
+-  Matthias Schiffer
+-  Matt Madison
+-  Matt Spencer
+-  Max Krummenacher
+-  Michael Halstead
+-  Michael Ho
+-  Michael Opdenacker
+-  Mike Crowe
+-  Mikko Rapeli
+-  Ming Liu
+-  Mingli Yu
+-  Minjae Kim
+-  Nicolas Dechesne
+-  Niels Avonds
+-  Nikolay Papenkov
+-  Nisha Parrakat
+-  Olaf Mandel
+-  Oleksandr Kravchuk
+-  Oleksandr Popovych
+-  Oliver Kranz
+-  Otavio Salvador
+-  Patrick Williams
+-  Paul Barker
+-  Paul Eggleton
+-  Paul Gortmaker
+-  Paulo Cesar Zaneti
+-  Peter Bergin
+-  Peter Budny
+-  Peter Kjellerstedt
+-  Petr Vorel
+-  Przemyslaw Gorszkowski
+-  Purushottam Choudhary
+-  Qiang Zhang
+-  Quentin Schulz
+-  Ralph Siemsen
+-  Randy MacLeod
+-  Ranjitsinh Rathod
+-  Rasmus Villemoes
+-  Reto Schneider
+-  Richard Purdie
+-  Richard Weinberger
+-  Robert Joslyn
+-  Robert P. J. Day
+-  Robert Yang
+-  Romain Naour
+-  Ross Burton
+-  Sakib Sajal
+-  Samuli Piippo
+-  Saul Wold
+-  Scott Murray
+-  Scott Weaver
+-  Stefan Ghinea
+-  Stefan Herbrechtsmeier
+-  Stefano Babic
+-  Stefan Wiehler
+-  Steve Sakoman
+-  Teoh Jay Shen
+-  Thomas Perrot
+-  Tim Orling
+-  Tom Pollard
+-  Tom Rini
+-  Tony Battersby
+-  Tony Tascioglu
+-  Trevor Gamblin
+-  Trevor Woerner
+-  Ulrich Ölmann
+-  Valentin Danaila
+-  Vinay Kumar
+-  Vineela Tummalapalli
+-  Vinícius Ossanes Aquino
+-  Vivien Didelot
+-  Vyacheslav Yurkov
+-  Wang Mingyu
+-  Wes Lindauer
+-  William A. Kennington III
+-  Yanfei Xu
+-  Yann Dirson
+-  Yi Fan Yu
+-  Yi Zhao
+-  Zang Ruochen
+-  Zheng Ruoqin
+-  Zoltan Boszormenyi
+
+Repositories / Downloads for 3.4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: https://git.yoctoproject.org/poky/
+-  Branch: :yocto_git:`honister </poky/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4 </poky/tag/?h=yocto-3.4>`
+-  Git Revision: :yocto_git:`f6d1126fff213460dc6954a5d5fc168606d76b66 </poky/commit/?id=f6d1126fff213460dc6954a5d5fc168606d76b66>`
+-  Release Artefact:  poky-f6d1126fff213460dc6954a5d5fc168606d76b66
+-  sha: 11e8f5760f704eed1ac37a5b09b1a831b5254d66459be75b06a72128c63e0411
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/poky-f6d1126fff213460dc6954a5d5fc168606d76b66.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/poky-f6d1126fff213460dc6954a5d5fc168606d76b66.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`honister </openembedded-core/log/?h=honister>`
+-  Tag: :oe_git:`2021-10-honister </openembedded-core/tag/?h=2021-10-honister>`
+-  Git Revision: :oe_git:`bb1dea6806f084364b6017db2567f438e805aef0 </openembedded-core/commit/?id=bb1dea6806f084364b6017db2567f438e805aef0>`
+-  Release Artefact: oecore-bb1dea6806f084364b6017db2567f438e805aef0
+-  sha: 9a356c407c567b1c26e535cad235204b0462cb79321fefb0844324a6020b31f4
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/oecore-bb1dea6806f084364b6017db2567f438e805aef0.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/oecore-bb1dea6806f084364b6017db2567f438e805aef0.tar.bz2
+
+meta-mingw
+
+-  Repository Location: https://git.yoctoproject.org/meta-mingw
+-  Branch: :yocto_git:`honister </meta-mingw/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4 </meta-mingw/tag/?h=yocto-3.4>`
+-  Git Revision: :yocto_git:`f5d761cbd5c957e4405c5d40b0c236d263c916a8 </meta-mingw/commit/?id=f5d761cbd5c957e4405c5d40b0c236d263c916a8>`
+-  Release Artefact: meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8
+-  sha: d4305d638ef80948584526c8ca386a8cf77933dffb8a3b8da98d26a5c40fcc11
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/meta-mingw-f5d761cbd5c957e4405c5d40b0c236d263c916a8.tar.bz2
+
+meta-intel
+
+-  Repository Location: https://git.yoctoproject.org/meta-intel
+-  Branch: :yocto_git:`honister </meta-intel/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4 </meta-intel/tag/?h=yocto-3.4>`
+-  Git Revision: :yocto_git:`90170cf85fe35b4e8dc00eee50053c0205276b63 </meta-intel/commit/?id=90170cf85fe35b4e8dc00eee50053c0205276b63>`
+-  Release Artefact: meta-intel-90170cf85fe35b4e8dc00eee50053c0205276b63
+-  sha: 2b3b43386dfcaaa880d819c1ae88b1251b55fb12c622af3d0936c3dc338491fc
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/meta-intel-90170cf85fe35b4e8dc00eee50053c0205276b63.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/meta-intel-90170cf85fe35b4e8dc00eee50053c0205276b63.tar.bz2
+
+meta-gplv2
+
+-  Repository Location: https://git.yoctoproject.org/meta-gplv2
+-  Branch: :yocto_git:`honister </meta-gplv2/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4 </meta-gplv2/tag/?h=yocto-3.4>`
+-  Git Revision: :yocto_git:`f04e4369bf9dd3385165281b9fa2ed1043b0e400 </meta-gplv2/commit/?id=f04e4369bf9dd3385165281b9fa2ed1043b0e400>`
+-  Release Artefact: meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400
+-  sha: ef8e2b1ec1fb43dbee4ff6990ac736315c7bc2d8c8e79249e1d337558657d3fe
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/meta-gplv2-f04e4369bf9dd3385165281b9fa2ed1043b0e400.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`1.52 </bitbake/log/?h=1.52>`
+-  Tag: :oe_git:`2021-10-honister </bitbake/tag/?h=2021-10-honister>`
+-  Git Revision: :oe_git:`c78ebac71ec976fdf27ea24767057882870f5c60 </bitbake/commit/?id=c78ebac71ec976fdf27ea24767057882870f5c60>`
+-  Release Artefact: bitbake-c78ebac71ec976fdf27ea24767057882870f5c60
+-  sha: 8077c7e7528cd73ef488ef74de3943ec66cae361459e5b630fb3cbe89c498d3d
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-3.4/bitbake-c78ebac71ec976fdf27ea24767057882870f5c60.tar.bz2,
+   http://mirrors.kernel.org/yocto/yocto/yocto-3.4/bitbake-c78ebac71ec976fdf27ea24767057882870f5c60.tar.bz2
+
+yocto-docs
+
+-  Repository Location: https://git.yoctoproject.org/yocto-docs
+-  Branch: :yocto_git:`honister </yocto-docs/log/?h=honister>`
+-  Tag: :yocto_git:`yocto-3.4 </yocto-docs/tag/?h=yocto-3.4>`
+-  Git Revision: :yocto_git:`d75c5450ecf56c8ac799a633ee9ac459e88f91fc </yocto-docs/commit/?id=d75c5450ecf56c8ac799a633ee9ac459e88f91fc>`
+
diff --git a/poky/documentation/overview-manual/concepts.rst b/poky/documentation/overview-manual/concepts.rst
index 5c63641..065d958 100644
--- a/poky/documentation/overview-manual/concepts.rst
+++ b/poky/documentation/overview-manual/concepts.rst
@@ -300,13 +300,8 @@
 
 .. note::
 
-   Configurations set in the
-   conf/local.conf
-   file can also be set in the
-   conf/site.conf
-   and
-   conf/auto.conf
-   configuration files.
+   Configurations set in the ``conf/local.conf`` file can also be set
+   in the ``conf/site.conf`` and ``conf/auto.conf`` configuration files.
 
 The ``bblayers.conf`` file tells BitBake what layers you want considered
 during the build. By default, the layers listed in this file include
@@ -1036,12 +1031,10 @@
 :term:`IMAGE_MANIFEST`
 variable for additional information.
 
-Optimizing processes that are run across the image include ``mklibs``,
-``prelink``, and any other post-processing commands as defined by the
+Optimizing processes that are run across the image include ``mklibs``
+and any other post-processing commands as defined by the
 :term:`ROOTFS_POSTPROCESS_COMMAND`
-variable. The ``mklibs`` process optimizes the size of the libraries,
-while the ``prelink`` process optimizes the dynamic linking of shared
-libraries to reduce start up time of executables.
+variable. The ``mklibs`` process optimizes the size of the libraries.
 
 After the root filesystem is built, processing begins on the image
 through the :ref:`ref-tasks-image`
@@ -1379,15 +1372,15 @@
    Specifies whether or not the toolchain is included when building the
    extensible SDK.
 
--  :term:`SDK_LOCAL_CONF_WHITELIST`:
+-  :term:`ESDK_LOCALCONF_ALLOW`:
    A list of variables allowed through from the build system
    configuration into the extensible SDK configuration.
 
--  :term:`SDK_LOCAL_CONF_BLACKLIST`:
+-  :term:`ESDK_LOCALCONF_REMOVE`:
    A list of variables not allowed through from the build system
    configuration into the extensible SDK configuration.
 
--  :term:`SDK_INHERIT_BLACKLIST`:
+-  :term:`ESDK_CLASS_INHERIT_DISABLE`:
    A list of classes to remove from the
    :term:`INHERIT` value globally
    within the extensible SDK configuration.
@@ -1729,7 +1722,7 @@
 in a list of global variable dependency excludes (i.e. variables never
 included in any checksum)::
 
-   BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \\
+   BB_BASEHASH_IGNORE_VARS ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \\
        SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \\
        USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \\
        PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \\
diff --git a/poky/documentation/overview-manual/development-environment.rst b/poky/documentation/overview-manual/development-environment.rst
index fc193f3..9c9c8e8 100644
--- a/poky/documentation/overview-manual/development-environment.rst
+++ b/poky/documentation/overview-manual/development-environment.rst
@@ -461,7 +461,7 @@
 
 Some key tags for the ``poky`` repository are ``jethro-14.0.3``,
 ``morty-16.0.1``, ``pyro-17.0.0``, and
-``&DISTRO_NAME_NO_CAP;-&POKYVERSION;``. These tags represent Yocto Project
+``&DISTRO_NAME_NO_CAP;-&DISTRO;``. These tags represent Yocto Project
 releases.
 
 When you create a local copy of the Git repository, you also have access
diff --git a/poky/documentation/overview-manual/yp-intro.rst b/poky/documentation/overview-manual/yp-intro.rst
index ce2aed5..a863a7d 100644
--- a/poky/documentation/overview-manual/yp-intro.rst
+++ b/poky/documentation/overview-manual/yp-intro.rst
@@ -387,39 +387,6 @@
    You can learn more about the AutoBuilder used by the Yocto Project
    Autobuilder :doc:`here </test-manual/understand-autobuilder>`.
 
--  *Cross-Prelink:* Prelinking is the process of pre-computing the load
-   addresses and link tables generated by the dynamic linker as compared
-   to doing this at runtime. Doing this ahead of time results in
-   performance improvements when the application is launched and reduced
-   memory usage for libraries shared by many applications.
-
-   Historically, cross-prelink is a variant of prelink, which was
-   conceived by `Jakub
-   Jelínek <https://people.redhat.com/jakub/prelink.pdf>`__ a number of
-   years ago. Both prelink and cross-prelink are maintained in the same
-   repository albeit on separate branches. By providing an emulated
-   runtime dynamic linker (i.e. ``glibc``-derived ``ld.so`` emulation),
-   the cross-prelink project extends the prelink software's ability to
-   prelink a sysroot environment. Additionally, the cross-prelink
-   software enables the ability to work in sysroot style environments.
-
-   The dynamic linker determines standard load address calculations
-   based on a variety of factors such as mapping addresses, library
-   usage, and library function conflicts. The prelink tool uses this
-   information, from the dynamic linker, to determine unique load
-   addresses for executable and linkable format (ELF) binaries that are
-   shared libraries and dynamically linked. The prelink tool modifies
-   these ELF binaries with the pre-computed information. The result is
-   faster loading and often lower memory consumption because more of the
-   library code can be re-used from shared Copy-On-Write (COW) pages.
-
-   The original upstream prelink project only supports running prelink
-   on the end target device due to the reliance on the target device's
-   dynamic linker. This restriction causes issues when developing a
-   cross-compiled system. The cross-prelink adds a synthesized dynamic
-   loader that runs on the host, thus permitting cross-prelinking
-   without ever having to run on a read-write target filesystem.
-
 -  *Pseudo:* Pseudo is the Yocto Project implementation of
    `fakeroot <http://man.he.net/man1/fakeroot>`__, which is used to run
    commands in an environment that seemingly has root privileges.
diff --git a/poky/documentation/poky.yaml b/poky/documentation/poky.yaml.in
similarity index 95%
rename from poky/documentation/poky.yaml
rename to poky/documentation/poky.yaml.in
index 0935e28..a346b76 100644
--- a/poky/documentation/poky.yaml
+++ b/poky/documentation/poky.yaml.in
@@ -4,10 +4,9 @@
 DISTRO_NAME_NO_CAP_MINUS_ONE : "hardknott"
 DISTRO_NAME_NO_CAP_LTS : "dunfell"
 YOCTO_DOC_VERSION : "3.4.2"
-YOCTO_DOC_VERSION_MINUS_ONE : "3.3.4"
 DISTRO_REL_TAG : "yocto-3.4.2"
-POKYVERSION : "26.0.2"
-YOCTO_POKY : "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;"
+DOCCONF_VERSION : "dev"
+BITBAKE_SERIES : ""
 YOCTO_DL_URL : "https://downloads.yoctoproject.org"
 YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"
 YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index 949217b..4dd0901 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -170,8 +170,7 @@
    are extracted into the subdirectory expected by the default value of
    :term:`S`::
 
-           SRC_URI = "git://example.com/downloads/somepackage.rpm;subpath=${BP}"
-
+      SRC_URI = "git://example.com/downloads/somepackage.rpm;branch=main;subpath=${BP}"
 
    See the ":ref:`bitbake-user-manual/bitbake-user-manual-fetching:fetchers`" section in the BitBake User Manual for
    more information on supported BitBake Fetchers.
@@ -208,23 +207,6 @@
 :term:`BINCONFIG` variable within the recipe inheriting
 the class.
 
-.. _ref-classes-blacklist:
-
-``blacklist.bbclass``
-=====================
-
-The ``blacklist`` class prevents the OpenEmbedded build system from
-building specific recipes. To use this class, inherit
-the class globally and set :term:`PNBLACKLIST` for
-each recipe you wish to ignore. Specify the :term:`PN`
-value as a variable flag (varflag) and provide a reason, which is
-reported, if the package is requested to be built as the value. For
-example, if you want to ignore a recipe called "exoticware", you
-add the following to your ``local.conf`` or distribution configuration::
-
-   INHERIT += "blacklist"
-   PNBLACKLIST[exoticware] = "Not supported by our organization."
-
 .. _ref-classes-buildhistory:
 
 ``buildhistory.bbclass``
@@ -477,7 +459,7 @@
 tarball. Following is an example::
 
    BBCLASSEXTEND = "devupstream:target"
-   SRC_URI:class-devupstream = "git://git.example.com/example"
+   SRC_URI:class-devupstream = "git://git.example.com/example;branch=main"
    SRCREV:class-devupstream = "abcd1234"
 
 Adding the above statements to your recipe creates a variant that has
@@ -503,35 +485,6 @@
 due to BitBake's automatic fetch dependencies (e.g.
 ``subversion-native``).
 
-.. _ref-classes-distutils3:
-
-``distutils3*.bbclass``
-=======================
-
-The ``distutils3*`` classes support recipes for Python version 3.x
-extensions, which are simple. These recipes usually only need to point
-to the source's archive and then inherit the proper class. Building is
-split into three methods depending on which method the module authors
-used.
-
--  Extensions that use an Autotools-based build system require Autotools
-   and ``distutils``-based classes in their recipes.
-
--  Extensions that use ``distutils``-based build systems require the
-   ``distutils`` class in their recipes.
-
-   .. note::
-
-      ``distutils`` has been deprecated in Python 3.10 and will be removed
-      in Python 3.12. For this reason the ``distutils3*`` classes are now
-      deprecated and will be removed from core in the near future. Instead,
-      use the ``setuptools3*`` classes.
-
-
--  Extensions that use build systems based on ``setuptools3`` require
-   the :ref:`setuptools3 <ref-classes-setuptools3>` class in their
-   recipes.
-
 .. _ref-classes-externalsrc:
 
 ``externalsrc.bbclass``
@@ -603,12 +556,11 @@
        "
 
 Here is an example that adds two users named "tester-jim" and "tester-sue" and assigns
-passwords. First on host, create the password hash::
+passwords. First on host, create the (escaped) password hash::
 
-   mkpasswd -m sha256crypt tester01
+   printf "%q" $(mkpasswd -m sha256crypt tester01)
 
-The resulting hash is set to a variable and used in ``useradd`` command parameters.
-Remember to escape the character ``$``::
+The resulting hash is set to a variable and used in ``useradd`` command parameters::
 
    inherit extrausers
    PASSWD = "\$X\$ABC123\$A-Long-Hash"
@@ -650,6 +602,22 @@
 build system attempts to build the recipe then an error will be
 triggered.
 
+.. _ref-classes-flit_core:
+
+``flit_core.bbclass``
+=====================
+
+The ``flit_core`` class enables building Python modules which declare
+the  `PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant
+``flit_core.buildapi`` ``build-backend`` in the ``[build-system]``
+section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__).
+
+Python modules built with ``flit_core.buildapi`` are pure Python (no
+``C`` or ``Rust`` extensions).
+
+The resulting ``wheel`` (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__)
+is installed with the :ref:`python_pep517 <ref-classes-python_pep517>` class.
+
 .. _ref-classes-fontcache:
 
 ``fontcache.bbclass``
@@ -860,13 +828,13 @@
 If you do not want the Icecream distributed compile support to apply to
 specific recipes or classes, you can ask them to be ignored by Icecream
 by listing the recipes and classes using the
-:term:`ICECC_USER_PACKAGE_BL` and
-:term:`ICECC_USER_CLASS_BL` variables,
+:term:`ICECC_RECIPE_DISABLE` and
+:term:`ICECC_CLASS_DISABLE` variables,
 respectively, in your ``local.conf`` file. Doing so causes the
 OpenEmbedded build system to handle these compilations locally.
 
 Additionally, you can list recipes using the
-:term:`ICECC_USER_PACKAGE_WL` variable in
+:term:`ICECC_RECIPE_ENABLE` variable in
 your ``local.conf`` file to force ``icecc`` to be enabled for recipes
 using an empty :term:`PARALLEL_MAKE` variable.
 
@@ -967,21 +935,6 @@
 Normally, you do not use this class directly. Instead, you add "live" to
 :term:`IMAGE_FSTYPES`.
 
-.. _ref-classes-image-prelink:
-
-``image-prelink.bbclass``
-=========================
-
-The ``image-prelink`` class enables the use of the ``prelink`` utility
-during the :ref:`ref-tasks-rootfs` task, which optimizes
-the dynamic linking of shared libraries to reduce executable startup
-time.
-
-By default, the class is enabled in the ``local.conf.template`` using
-the :term:`USER_CLASSES` variable as follows::
-
-   USER_CLASSES ?= "buildstats image-prelink"
-
 .. _ref-classes-insane:
 
 ``insane.bbclass``
@@ -2025,6 +1978,21 @@
 native version of Perl built by the build system rather than using the
 version provided by the build host.
 
+.. _ref-classes-python_pep517:
+
+``python_pep517.bbclass``
+=============================
+
+The ``python_pep517`` class installs a Python ``wheel`` binary archive (see
+`PEP-517 <https://peps.python.org/pep-0517/>`__).
+
+The Python ``wheel`` can be built with several classes, including :ref:`flit_core <ref-classes-flit_core>`,
+:ref:`setuptools_build_meta <ref-classes-setuptools_build_meta>`, and :ref:`setuptools3 <ref-classes-setuptools3>`.
+
+The path to the wheel to be installed is defined by :term:`PEP517_WHEEL_PATH`.
+This defaults to ``${D}/dist`` and should be respected by the builder class
+(such as :ref:`flit_core <ref-classes-flit_core>`).
+
 .. _ref-classes-pixbufcache:
 
 ``pixbufcache.bbclass``
@@ -2380,14 +2348,65 @@
 The ``sdl`` class supports recipes that need to build software that uses
 the Simple DirectMedia Layer (SDL) library.
 
+.. _ref-classes-setuptools_build_meta:
+
+``setuptools_build_meta.bbclass``
+=================================
+
+The ``setuptools_build_meta`` class enables building Python modules which
+declare the
+`PEP-517 <https://www.python.org/dev/peps/pep-0517/>`__ compliant
+``setuptools.build_meta`` ``build-backend`` in the ``[build-system]``
+section of ``pyproject.toml`` (See `PEP-518 <https://www.python.org/dev/peps/pep-0518/>`__).
+
+Python modules built with ``setuptools.build_meta`` can be pure Python or
+include ``C`` or ``Rust`` extensions).
+
+The resulting ``wheel`` (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__)
+is installed with the :ref:`python_pep517 <ref-classes-python_pep517>` class.
+
 .. _ref-classes-setuptools3:
 
 ``setuptools3.bbclass``
 =======================
 
 The ``setuptools3`` class supports Python version 3.x extensions that
-use build systems based on ``setuptools``. If your recipe uses these
-build systems, the recipe needs to inherit the ``setuptools3`` class.
+use build systems based on ``setuptools`` (e.g. only have a ``setup.py`` and
+have not migrated to the official ``pyproject.toml`` format). If your recipe
+uses these build systems, the recipe needs to inherit the ``setuptools3`` class.
+
+   .. note::
+
+      The ``setuptools3`` class ``do_compile()`` task now calls
+      ``setup.py bdist_wheel`` to build the ``wheel`` binary archive format
+      (See `PEP-427 <https://www.python.org/dev/peps/pep-0427/>`__).
+
+      A consequence of this is that legacy software still using deprecated
+      ``distutils`` from the Python standard library cannot be packaged as
+      ``wheels``. A common solution is the replace
+      ``from distutils.core import setup`` with ``from setuptools import setup``.
+
+   .. note::
+
+     The ``setuptools3`` class ``do_install()`` task now installs the ``wheel``
+     binary archive. In current versions of ``setuptools`` the legacy ``setup.py
+     install`` method is deprecated. If the ``setup.py`` cannot be used with
+     wheels, for example it creates files outside of the Python module or
+     standard entry points, then :ref:`setuptools3_legacy
+     <ref-classes-setuptools3_legacy>` should be used.
+
+.. _ref-classes-setuptools3_legacy:
+
+``setuptools3_legacy.bbclass``
+==============================
+
+The ``setuptools3_legacy`` class supports Python version 3.x extensions that use
+build systems based on ``setuptools`` (e.g. only have a ``setup.py`` and have
+not migrated to the official ``pyproject.toml`` format). Unlike
+``setuptools3.bbclass``, this uses the traditional ``setup.py`` ``build`` and
+``install`` commands and not wheels. This use of ``setuptools`` like this is
+`deprecated <https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v5830>`_
+but still relatively common.
 
 .. _ref-classes-setuptools3-base:
 
@@ -2489,7 +2508,7 @@
    subset of files is controlled by the
    :term:`SYSROOT_DIRS`,
    :term:`SYSROOT_DIRS_NATIVE`, and
-   :term:`SYSROOT_DIRS_BLACKLIST`
+   :term:`SYSROOT_DIRS_IGNORE`
    variables.
 
    .. note::
diff --git a/poky/documentation/ref-manual/faq.rst b/poky/documentation/ref-manual/faq.rst
index e06dfd9..e06b5e6 100644
--- a/poky/documentation/ref-manual/faq.rst
+++ b/poky/documentation/ref-manual/faq.rst
@@ -455,7 +455,4 @@
 **A:** The first most obvious change is the system stripping debug symbols from
 it. Setting :term:`INHIBIT_PACKAGE_STRIP` to stop debug symbols being stripped and/or
 :term:`INHIBIT_PACKAGE_DEBUG_SPLIT` to stop debug symbols being split into a separate
-file will ensure the binary is unchanged. The other less obvious thing that can
-happen is prelinking of the image. This is set by default in local.conf via
-:term:`USER_CLASSES` which can contain 'image-prelink'. If you remove that, the
-image will not be prelinked meaning the binaries would be unchanged.
+file will ensure the binary is unchanged.
diff --git a/poky/documentation/ref-manual/images.rst b/poky/documentation/ref-manual/images.rst
index 0e3351b..31fb567 100644
--- a/poky/documentation/ref-manual/images.rst
+++ b/poky/documentation/ref-manual/images.rst
@@ -21,7 +21,7 @@
    image::
 
            1. Comment out the EXTRA_IMAGE_FEATURES line
-           2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
+           2. Set INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0* AGPL-3.0*"
 
 
 From within the ``poky`` Git repository, you can use the following
diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst
index 30294cb..04f9efa 100644
--- a/poky/documentation/ref-manual/system-requirements.rst
+++ b/poky/documentation/ref-manual/system-requirements.rst
@@ -41,15 +41,15 @@
 
 -  Ubuntu 20.04 (LTS)
 
--  Fedora 33
-
 -  Fedora 34
 
+-  Fedora 35
+
 -  CentOS 7.x
 
 -  CentOS 8.x
 
--  Debian GNU/Linux 8.x (Jessie)
+-  AlmaLinux 8.5
 
 -  Debian GNU/Linux 9.x (Stretch)
 
@@ -57,9 +57,7 @@
 
 -  Debian GNU/Linux 11.x (Bullseye)
 
--  OpenSUSE Leap 15.1
-
--  OpenSUSE Leap 15.2
+-  OpenSUSE Leap 15.3
 
 .. note::
 
diff --git a/poky/documentation/ref-manual/terms.rst b/poky/documentation/ref-manual/terms.rst
index 3f18d34..cba514c 100644
--- a/poky/documentation/ref-manual/terms.rst
+++ b/poky/documentation/ref-manual/terms.rst
@@ -88,11 +88,11 @@
          -  Provide a directory path and specifically name the Build
             Directory. Any intermediate folders in the pathname must exist.
             This next example creates a Build Directory named
-            ``YP-&POKYVERSION;`` within the existing directory ``mybuilds``:
+            ``YP-&DISTRO;`` within the existing directory ``mybuilds``:
 
             .. code-block:: shell
 
-               $ source poky/oe-init-build-env mybuilds/YP-&POKYVERSION;
+               $ source poky/oe-init-build-env mybuilds/YP-&DISTRO;
 
       .. note::
 
@@ -357,13 +357,13 @@
      repository results in a local Git repository whose top-level folder
      is also named "poky".
 
-     While it is not recommended that you use tarball expansion to set up
+     While it is not recommended that you use tarball extraction to set up
      the Source Directory, if you do, the top-level directory name of the
      Source Directory is derived from the Yocto Project release tarball.
-     For example, downloading and unpacking
-     :yocto_dl:`/releases/yocto/&DISTRO_REL_TAG;/&YOCTO_POKY;.tar.bz2`
-     results in a Source Directory whose root folder is named
-     ``&YOCTO_POKY;``.
+     For example, downloading and unpacking poky tarballs from
+     :yocto_dl:`/releases/yocto/&DISTRO_REL_TAG;/`
+     results in a Source Directory whose root folder is named poky.
+
 
      It is important to understand the differences between the Source
      Directory created by unpacking a released tarball as compared to
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index ecb2b60..634f19a 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -17,6 +17,7 @@
 :term:`W <WARN_QA>` :term:`X <XSERVER>`
 
 .. glossary::
+   :sorted:
 
    :term:`ABIEXTENSION`
       Extension to the Application Binary Interface (ABI) field of the GNU
@@ -206,11 +207,6 @@
       The default value is "${PACKAGES}", which causes the debian class to
       act on all packages that are explicitly generated by the recipe.
 
-   :term:`AUTO_SYSLINUXMENU`
-      Enables creating an automatic menu for the syslinux bootloader. You
-      must set this variable in your recipe. The
-      :ref:`syslinux <ref-classes-syslinux>` class checks this variable.
-
    :term:`AUTOREV`
       When :term:`SRCREV` is set to the value of this variable, it specifies to
       use the latest source revision in the repository. Here is an example::
@@ -230,6 +226,11 @@
       ":ref:`dev-manual/common-tasks:automatically incrementing a package version number`"
       section in the Yocto Project Development Tasks Manual.
 
+   :term:`AUTO_SYSLINUXMENU`
+      Enables creating an automatic menu for the syslinux bootloader. You
+      must set this variable in your recipe. The
+      :ref:`syslinux <ref-classes-syslinux>` class checks this variable.
+
    :term:`AVAILABLE_LICENSES`
       List of licenses found in the directories specified by
       :term:`COMMON_LICENSE_DIR` and
@@ -1306,6 +1307,40 @@
       the recipe will be skipped, and if the build system attempts to build
       the recipe then an error will be triggered.
 
+   :term:`COPY_LIC_DIRS`
+      If set to "1" along with the
+      :term:`COPY_LIC_MANIFEST` variable, the
+      OpenEmbedded build system copies into the image the license files,
+      which are located in ``/usr/share/common-licenses``, for each
+      package. The license files are placed in directories within the image
+      itself during build time.
+
+      .. note::
+
+         The :term:`COPY_LIC_DIRS` does not offer a path for adding licenses for
+         newly installed packages to an image, which might be most suitable for
+         read-only filesystems that cannot be upgraded. See the
+         :term:`LICENSE_CREATE_PACKAGE` variable for additional information.
+         You can also reference the ":ref:`dev-manual/common-tasks:providing license text`"
+         section in the Yocto Project Development Tasks Manual for
+         information on providing license text.
+
+   :term:`COPY_LIC_MANIFEST`
+      If set to "1", the OpenEmbedded build system copies the license
+      manifest for the image to
+      ``/usr/share/common-licenses/license.manifest`` within the image
+      itself during build time.
+
+      .. note::
+
+         The :term:`COPY_LIC_MANIFEST` does not offer a path for adding licenses for
+         newly installed packages to an image, which might be most suitable for
+         read-only filesystems that cannot be upgraded. See the
+         :term:`LICENSE_CREATE_PACKAGE` variable for additional information.
+         You can also reference the ":ref:`dev-manual/common-tasks:providing license text`"
+         section in the Yocto Project Development Tasks Manual for
+         information on providing license text.
+
    :term:`COPYLEFT_LICENSE_EXCLUDE`
       A space-separated list of licenses to exclude from the source
       archived by the :ref:`archiver <ref-classes-archiver>` class. In
@@ -1374,40 +1409,6 @@
       is set by the :ref:`copyleft_filter <ref-classes-copyleft_filter>`
       class, which is inherited by the :ref:`archiver <ref-classes-archiver>` class.
 
-   :term:`COPY_LIC_DIRS`
-      If set to "1" along with the
-      :term:`COPY_LIC_MANIFEST` variable, the
-      OpenEmbedded build system copies into the image the license files,
-      which are located in ``/usr/share/common-licenses``, for each
-      package. The license files are placed in directories within the image
-      itself during build time.
-
-      .. note::
-
-         The :term:`COPY_LIC_DIRS` does not offer a path for adding licenses for
-         newly installed packages to an image, which might be most suitable for
-         read-only filesystems that cannot be upgraded. See the
-         :term:`LICENSE_CREATE_PACKAGE` variable for additional information.
-         You can also reference the ":ref:`dev-manual/common-tasks:providing license text`"
-         section in the Yocto Project Development Tasks Manual for
-         information on providing license text.
-
-   :term:`COPY_LIC_MANIFEST`
-      If set to "1", the OpenEmbedded build system copies the license
-      manifest for the image to
-      ``/usr/share/common-licenses/license.manifest`` within the image
-      itself during build time.
-
-      .. note::
-
-         The :term:`COPY_LIC_MANIFEST` does not offer a path for adding licenses for
-         newly installed packages to an image, which might be most suitable for
-         read-only filesystems that cannot be upgraded. See the
-         :term:`LICENSE_CREATE_PACKAGE` variable for additional information.
-         You can also reference the ":ref:`dev-manual/common-tasks:providing license text`"
-         section in the Yocto Project Development Tasks Manual for
-         information on providing license text.
-
    :term:`CORE_IMAGE_EXTRA_INSTALL`
       Specifies the list of packages to be added to the image. You should
       only set this variable in the ``local.conf`` configuration file found
@@ -1472,16 +1473,16 @@
          variable only in certain contexts (e.g. when building for kernel
          and kernel module recipes).
 
-   :term:`CVE_CHECK_PN_WHITELIST`
-      The list of package names (:term:`PN`) for which
-      CVEs (Common Vulnerabilities and Exposures) are ignored.
-
-   :term:`CVE_CHECK_WHITELIST`
+   :term:`CVE_CHECK_IGNORE`
       The list of CVE IDs which are ignored. Here is
       an example from the :oe_layerindex:`Python3 recipe</layerindex/recipe/23823>`::
 
          # This is windows only issue.
-         CVE_CHECK_WHITELIST += "CVE-2020-15523"
+         CVE_CHECK_IGNORE += "CVE-2020-15523"
+
+   :term:`CVE_CHECK_SKIP_RECIPE`
+      The list of package names (:term:`PN`) for which
+      CVEs (Common Vulnerabilities and Exposures) are ignored.
 
    :term:`CVE_PRODUCT`
       In a recipe, defines the name used to match the recipe name
@@ -1568,21 +1569,6 @@
       compiling a system for debugging. This variable defaults to "-O
       -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe".
 
-   :term:`DEFAULT_PREFERENCE`
-      Specifies a weak bias for recipe selection priority.
-
-      The most common usage of this is variable is to set it to "-1" within
-      a recipe for a development version of a piece of software. Using the
-      variable in this way causes the stable version of the recipe to build
-      by default in the absence of :term:`PREFERRED_VERSION` being used to
-      build the development version.
-
-      .. note::
-
-         The bias provided by :term:`DEFAULT_PREFERENCE` is weak and is overridden
-         by :term:`BBFILE_PRIORITY` if that variable is different between two
-         layers that contain different versions of the same recipe.
-
    :term:`DEBUG_PREFIX_MAP`
       Allows to set C compiler options, such as ``-fdebug-prefix-map``,
       ``-fmacro-prefix-map``, and ``-ffile-prefix-map``, which allow to
@@ -1600,6 +1586,21 @@
       This variable is set in the ``meta/conf/bitbake.conf`` file. It is
       not intended to be user-configurable.
 
+   :term:`DEFAULT_PREFERENCE`
+      Specifies a weak bias for recipe selection priority.
+
+      The most common usage of this is variable is to set it to "-1" within
+      a recipe for a development version of a piece of software. Using the
+      variable in this way causes the stable version of the recipe to build
+      by default in the absence of :term:`PREFERRED_VERSION` being used to
+      build the development version.
+
+      .. note::
+
+         The bias provided by :term:`DEFAULT_PREFERENCE` is weak and is overridden
+         by :term:`BBFILE_PRIORITY` if that variable is different between two
+         layers that contain different versions of the same recipe.
+
    :term:`DEFAULTTUNE`
       The default CPU and Application Binary Interface (ABI) tunings (i.e.
       the "tune") used by the OpenEmbedded build system. The
@@ -1982,25 +1983,6 @@
       is included in the default value of
       :term:`OVERRIDES`.
 
-   :term:`DISTUTILS_SETUP_PATH`
-      When used by recipes that inherit the
-      :ref:`distutils3 <ref-classes-distutils3>` class, this variable should
-      be used to specify the directory in which the ``setup.py`` file is
-      located if it is not at the root of the source tree (as specified by
-      :term:`S`). For example, in a recipe where the sources are fetched from
-      a Git repository and ``setup.py`` is in a ``python/pythonmodule``
-      subdirectory, you would have this::
-
-         S = "${WORKDIR}/git"
-         DISTUTILS_SETUP_PATH = "${S}/python/pythonmodule"
-
-      .. note::
-
-         ``distutils`` has been deprecated in Python 3.10 and will be removed
-         in Python 3.12. For this reason, the use of :ref:`distutils3 <ref-classes-distutils3>`
-         is deprecated. Instead use :ref:`setuptools3 <ref-classes-setuptools3>` and the
-         :term:`SETUPTOOLS_SETUP_PATH` variable.
-
    :term:`DL_DIR`
       The central download directory used by the build process to store
       downloads. By default, :term:`DL_DIR` gets files suitable for mirroring
@@ -2086,6 +2068,68 @@
       can control with this variable, see the
       ":ref:`ref-classes-insane`" section.
 
+   :term:`ESDK_CLASS_INHERIT_DISABLE`
+      A list of classes to remove from the :term:`INHERIT`
+      value globally within the extensible SDK configuration. The
+      :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class sets the
+      default value::
+
+         ESDK_CLASS_INHERIT_DISABLE ?= "buildhistory icecc"
+
+      Some classes are not generally applicable within the extensible SDK
+      context. You can use this variable to disable those classes.
+
+      For additional information on how to customize the extensible SDK's
+      configuration, see the
+      ":ref:`sdk-manual/appendix-customizing:configuring the extensible sdk`"
+      section in the Yocto Project Application Development and the
+      Extensible Software Development Kit (eSDK) manual.
+
+   :term:`ESDK_LOCALCONF_ALLOW`
+      A list of variables allowed through from the OpenEmbedded build
+      system configuration into the extensible SDK configuration. By
+      default, the list of variables is empty and is set in the
+      :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class.
+
+      This list overrides the variables specified using the
+      :term:`ESDK_LOCALCONF_REMOVE` variable as well as
+      other variables automatically added due to the "/" character
+      being found at the start of the
+      value, which is usually indicative of being a path and thus might not
+      be valid on the system where the SDK is installed.
+
+      For additional information on how to customize the extensible SDK's
+      configuration, see the
+      ":ref:`sdk-manual/appendix-customizing:configuring the extensible sdk`"
+      section in the Yocto Project Application Development and the
+      Extensible Software Development Kit (eSDK) manual.
+
+   :term:`ESDK_LOCALCONF_REMOVE`
+      A list of variables not allowed through from the OpenEmbedded build
+      system configuration into the extensible SDK configuration. Usually,
+      these are variables that are specific to the machine on which the
+      build system is running and thus would be potentially problematic
+      within the extensible SDK.
+
+      By default, :term:`ESDK_LOCALCONF_REMOVE` is set in the
+      :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class and
+      excludes the following variables:
+
+      - :term:`CONF_VERSION`
+      - :term:`BB_NUMBER_THREADS`
+      - :term:`BB_NUMBER_PARSE_THREADS`
+      - :term:`PARALLEL_MAKE`
+      - :term:`PRSERV_HOST`
+      - :term:`SSTATE_MIRRORS` :term:`DL_DIR`
+      - :term:`SSTATE_DIR` :term:`TMPDIR`
+      - :term:`BB_SERVER_TIMEOUT`
+
+      For additional information on how to customize the extensible SDK's
+      configuration, see the
+      ":ref:`sdk-manual/appendix-customizing:configuring the extensible sdk`"
+      section in the Yocto Project Application Development and the
+      Extensible Software Development Kit (eSDK) manual.
+
    :term:`EXCLUDE_FROM_SHLIBS`
       Triggers the OpenEmbedded build system's shared libraries resolver to
       exclude an entire package when scanning for shared libraries.
@@ -2253,16 +2297,6 @@
          To add packages to the root filesystem, see the various
          :term:`RDEPENDS` and :term:`RRECOMMENDS` variables.
 
-   :term:`EXTRANATIVEPATH`
-      A list of subdirectories of
-      ``${``\ :term:`STAGING_BINDIR_NATIVE`\ ``}``
-      added to the beginning of the environment variable ``PATH``. As an
-      example, the following prepends
-      "${STAGING_BINDIR_NATIVE}/foo:${STAGING_BINDIR_NATIVE}/bar:" to
-      ``PATH``::
-
-         EXTRANATIVEPATH = "foo bar"
-
    :term:`EXTRA_OECMAKE`
       Additional `CMake <https://cmake.org/overview/>`__ options. See the
       :ref:`cmake <ref-classes-cmake>` class for additional information.
@@ -2319,6 +2353,16 @@
          At present, ``passwd-expire`` may only work for remote logins when
          using OpenSSH and not dropbear as an SSH server.
 
+   :term:`EXTRANATIVEPATH`
+      A list of subdirectories of
+      ``${``\ :term:`STAGING_BINDIR_NATIVE`\ ``}``
+      added to the beginning of the environment variable ``PATH``. As an
+      example, the following prepends
+      "${STAGING_BINDIR_NATIVE}/foo:${STAGING_BINDIR_NATIVE}/bar:" to
+      ``PATH``::
+
+         EXTRANATIVEPATH = "foo bar"
+
    :term:`FEATURE_PACKAGES`
       Defines one or more packages to include in an image when a specific
       item is included in :term:`IMAGE_FEATURES`.
@@ -2612,10 +2656,6 @@
       Specifies the signature algorithm used in creating the FIT Image.
       For e.g. rsa2048.
 
-   :term:`FIT_SIGN_NUMBITS`
-      Size of private key in number of bits used in fitImage. The default
-      value is "2048".
-
    :term:`FIT_SIGN_INDIVIDUAL`
       If set to "1", then the :ref:`kernel-fitimage <ref-classes-kernel-fitimage>`
       class will sign the kernel, dtb and ramdisk images individually in addition
@@ -2623,6 +2663,10 @@
       intending to verify signatures in another context than booting via
       U-Boot.
 
+   :term:`FIT_SIGN_NUMBITS`
+      Size of private key in number of bits used in fitImage. The default
+      value is "2048".
+
    :term:`FONT_EXTRA_RDEPENDS`
       When inheriting the :ref:`fontcache <ref-classes-fontcache>` class,
       this variable specifies the runtime dependencies for font packages.
@@ -2819,6 +2863,10 @@
       -  Given a recipe being built for a little-endian MIPS target running
          Linux, the value might be "mipsel-linux".
 
+   :term:`HOST_VENDOR`
+      Specifies the name of the vendor. :term:`HOST_VENDOR` is normally the
+      same as :term:`TARGET_VENDOR`.
+
    :term:`HOSTTOOLS`
       A space-separated list (filter) of tools on the build host that
       should be allowed to be called from within build tasks. Using this
@@ -2839,9 +2887,15 @@
       :term:`HOSTTOOLS_NONFATAL` is not found on the build host. Thus, you can
       use :term:`HOSTTOOLS_NONFATAL` to filter optional host tools.
 
-   :term:`HOST_VENDOR`
-      Specifies the name of the vendor. :term:`HOST_VENDOR` is normally the
-      same as :term:`TARGET_VENDOR`.
+   :term:`ICECC_CLASS_DISABLE`
+      Identifies user classes that you do not want the Icecream distributed
+      compile support to consider. This variable is used by the
+      :ref:`icecc <ref-classes-icecc>` class. You set this variable in
+      your ``local.conf`` file.
+
+      When you list classes using this variable, the recipes inheriting
+      those classes will not benefit from distributed compilation across
+      remote hosts. Instead they will be built locally.
 
    :term:`ICECC_DISABLED`
       Disables or enables the ``icecc`` (Icecream) function. For more
@@ -2898,17 +2952,7 @@
       this variable, the :ref:`icecc <ref-classes-icecc>` class attempts
       to define it by locating ``icecc`` using ``which``.
 
-   :term:`ICECC_USER_CLASS_BL`
-      Identifies user classes that you do not want the Icecream distributed
-      compile support to consider. This variable is used by the
-      :ref:`icecc <ref-classes-icecc>` class. You set this variable in
-      your ``local.conf`` file.
-
-      When you list classes using this variable, the recipes inheriting
-      those classes will not benefit from distributed compilation across
-      remote hosts. Instead they will be built locally.
-
-   :term:`ICECC_USER_PACKAGE_BL`
+   :term:`ICECC_RECIPE_DISABLE`
       Identifies user recipes that you do not want the Icecream distributed
       compile support to consider. This variable is used by the
       :ref:`icecc <ref-classes-icecc>` class. You set this variable in
@@ -2918,7 +2962,7 @@
       from distributed compilation across remote hosts. Instead they will
       be built locally.
 
-   :term:`ICECC_USER_PACKAGE_WL`
+   :term:`ICECC_RECIPE_ENABLE`
       Identifies user recipes that use an empty
       :term:`PARALLEL_MAKE` variable that you want to
       force remote distributed compilation on using the Icecream
@@ -2930,40 +2974,6 @@
       The base name of image output files. This variable defaults to the
       recipe name (``${``\ :term:`PN`\ ``}``).
 
-   :term:`IMAGE_EFI_BOOT_FILES`
-      A space-separated list of files installed into the boot partition
-      when preparing an image using the Wic tool with the
-      ``bootimg-efi`` source plugin. By default,
-      the files are
-      installed under the same name as the source files. To change the
-      installed name, separate it from the original name with a semi-colon
-      (;). Source files need to be located in
-      :term:`DEPLOY_DIR_IMAGE`. Here are two
-      examples::
-
-         IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE};bz2"
-         IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE} microcode.cpio"
- 
-      Alternatively, source files can be picked up using a glob pattern. In
-      this case, the destination file must have the same name as the base
-      name of the source file path. To install files into a directory
-      within the target location, pass its name after a semi-colon (;).
-      Here are two examples::
-
-         IMAGE_EFI_BOOT_FILES = "boot/loader/*"
-         IMAGE_EFI_BOOT_FILES = "boot/loader/*;boot/"
-
-      The first example
-      installs all files from ``${DEPLOY_DIR_IMAGE}/boot/loader/``
-      into the root of the target partition. The second example installs
-      the same files into a ``boot`` directory within the target partition.
-
-      You can find information on how to use the Wic tool in the
-      ":ref:`dev-manual/common-tasks:creating partitioned images using wic`"
-      section of the Yocto Project Development Tasks Manual. Reference
-      material for Wic is located in the
-      ":doc:`/ref-manual/kickstart`" chapter.
-
    :term:`IMAGE_BOOT_FILES`
       A space-separated list of files installed into the boot partition
       when preparing an image using the Wic tool with the
@@ -3036,6 +3046,40 @@
       device table files, see ``meta/files/device_table-minimal.txt`` as an
       example.
 
+   :term:`IMAGE_EFI_BOOT_FILES`
+      A space-separated list of files installed into the boot partition
+      when preparing an image using the Wic tool with the
+      ``bootimg-efi`` source plugin. By default,
+      the files are
+      installed under the same name as the source files. To change the
+      installed name, separate it from the original name with a semi-colon
+      (;). Source files need to be located in
+      :term:`DEPLOY_DIR_IMAGE`. Here are two
+      examples::
+
+         IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE};bz2"
+         IMAGE_EFI_BOOT_FILES = "${KERNEL_IMAGETYPE} microcode.cpio"
+
+      Alternatively, source files can be picked up using a glob pattern. In
+      this case, the destination file must have the same name as the base
+      name of the source file path. To install files into a directory
+      within the target location, pass its name after a semi-colon (;).
+      Here are two examples::
+
+         IMAGE_EFI_BOOT_FILES = "boot/loader/*"
+         IMAGE_EFI_BOOT_FILES = "boot/loader/*;boot/"
+
+      The first example
+      installs all files from ``${DEPLOY_DIR_IMAGE}/boot/loader/``
+      into the root of the target partition. The second example installs
+      the same files into a ``boot`` directory within the target partition.
+
+      You can find information on how to use the Wic tool in the
+      ":ref:`dev-manual/common-tasks:creating partitioned images using wic`"
+      section of the Yocto Project Development Tasks Manual. Reference
+      material for Wic is located in the
+      ":doc:`/ref-manual/kickstart`" chapter.
+
    :term:`IMAGE_FEATURES`
       The primary list of features to include in an image. Typically, you
       configure this variable in an image recipe. Although you can use this
@@ -3457,7 +3501,7 @@
          This functionality is only regularly tested using the following
          setting::
 
-                 INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
+                 INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0* AGPL-3.0*"
 
 
          Although you can use other settings, you might be required to
@@ -4348,9 +4392,9 @@
 
       Here are some examples::
 
-         LICENSE = "LGPLv2.1 | GPLv3"
-         LICENSE = "MPL-1 & LGPLv2.1"
-         LICENSE = "GPLv2+"
+         LICENSE = "LGPL-2.1-only | GPL-3.0-only"
+         LICENSE = "MPL-1.0 & LGPL-2.1-only"
+         LICENSE = "GPL-2.0-or-later"
 
       The first example is from the
       recipes for Qt, which the user may choose to distribute under either
@@ -4365,8 +4409,8 @@
       but has accompanying documentation licensed under the GNU Free
       Documentation License 1.2 could be specified as follows::
 
-         LICENSE = "GFDL-1.2 & GPLv2"
-         LICENSE:${PN} = "GPLv2"
+         LICENSE = "GFDL-1.2 & GPL-2.0-only"
+         LICENSE:${PN} = "GPL-2.0.only"
          LICENSE:${PN}-doc = "GFDL-1.2"
 
    :term:`LICENSE_CREATE_PACKAGE`
@@ -4394,7 +4438,7 @@
 
    :term:`LICENSE_FLAGS`
       Specifies additional flags for a recipe you must allow through
-      :term:`LICENSE_FLAGS_WHITELIST` in
+      :term:`LICENSE_FLAGS_ACCEPTED` in
       order for the recipe to be built. When providing multiple flags,
       separate them with spaces.
 
@@ -4405,7 +4449,7 @@
       ":ref:`dev-manual/common-tasks:enabling commercially licensed recipes`"
       section in the Yocto Project Development Tasks Manual.
 
-   :term:`LICENSE_FLAGS_WHITELIST`
+   :term:`LICENSE_FLAGS_ACCEPTED`
       Lists license flags that when specified in
       :term:`LICENSE_FLAGS` within a recipe should not
       prevent that recipe from being built.  For more information, see the
@@ -5156,18 +5200,6 @@
       ":ref:`dev-manual/common-tasks:debugging with the gnu project debugger (gdb) remotely`" section
       in the Yocto Project Development Tasks Manual.
 
-   :term:`PACKAGE_EXCLUDE_COMPLEMENTARY`
-      Prevents specific packages from being installed when you are
-      installing complementary packages.
-
-      You might find that you want to prevent installing certain packages
-      when you are installing complementary packages. For example, if you
-      are using :term:`IMAGE_FEATURES` to install
-      ``dev-pkgs``, you might not want to install all packages from a
-      particular multilib. If you find yourself in this situation, you can
-      use the :term:`PACKAGE_EXCLUDE_COMPLEMENTARY` variable to specify regular
-      expressions to match the packages you want to exclude.
-
    :term:`PACKAGE_EXCLUDE`
       Lists packages that should not be installed into an image. For
       example::
@@ -5195,6 +5227,18 @@
       :term:`BAD_RECOMMENDATIONS` variables for
       related information.
 
+   :term:`PACKAGE_EXCLUDE_COMPLEMENTARY`
+      Prevents specific packages from being installed when you are
+      installing complementary packages.
+
+      You might find that you want to prevent installing certain packages
+      when you are installing complementary packages. For example, if you
+      are using :term:`IMAGE_FEATURES` to install
+      ``dev-pkgs``, you might not want to install all packages from a
+      particular multilib. If you find yourself in this situation, you can
+      use the :term:`PACKAGE_EXCLUDE_COMPLEMENTARY` variable to specify regular
+      expressions to match the packages you want to exclude.
+
    :term:`PACKAGE_EXTRA_ARCHS`
       Specifies the list of architectures compatible with the device CPU.
       This variable is useful when you build for several different devices
@@ -5588,12 +5632,24 @@
 
       :term:`PE` is the default value of the :term:`PKGE` variable.
 
+   :term:`PEP517_WHEEL_PATH`
+      When used by recipes that inherit the
+      :ref:`python_pep517 <ref-classes-python_pep517>` class,
+      denotes the path to ``dist/`` (short for distribution) where the
+      binary archive ``wheel`` is built.
+
    :term:`PF`
       Specifies the recipe or package name and includes all version and
       revision numbers (i.e. ``glibc-2.13-r20+svnr15508/`` and
       ``bash-4.2-r1/``). This variable is comprised of the following:
       ${:term:`PN`}-${:term:`EXTENDPE`}${:term:`PV`}-${:term:`PR`}
 
+   :term:`PIP_INSTALL_ARGS`
+      When used by recipes that inherit the
+      :ref:`python_pep517 <ref-classes-python_pep517>` class,
+      denotes the arguments passed to ``pip install`` to adjust the
+      behavior of how the ``wheel`` is installed.
+
    :term:`PIXBUF_PACKAGES`
       When inheriting the :ref:`pixbufcache <ref-classes-pixbufcache>`
       class, this variable identifies packages that contain the pixbuf
@@ -5700,18 +5756,6 @@
       packages for the target and for Multilib, :term:`PN` would be ``bash``
       and ``lib64-bash``, respectively.
 
-   :term:`PNBLACKLIST`
-      Lists recipes you do not want the OpenEmbedded build system to build.
-      This variable works in conjunction with the
-      :ref:`blacklist <ref-classes-blacklist>` class, which is inherited
-      globally.
-
-      To prevent a recipe from being built, use the :term:`PNBLACKLIST`
-      variable in your ``local.conf`` file. Here is an example that
-      prevents ``myrecipe`` from being built::
-
-         PNBLACKLIST[myrecipe] = "Not supported by our organization."
-
    :term:`POPULATE_SDK_POST_HOST_COMMAND`
       Specifies a list of functions to call once the OpenEmbedded build
       system has created the host part of the SDK. You can specify
@@ -6023,8 +6067,7 @@
 
    :term:`PYTHON_ABI`
       When used by recipes that inherit the
-      :ref:`distutils3 <ref-classes-distutils3>`,
-      :ref:`setuptools3 <ref-classes-setuptools3>` classes, denotes the
+      :ref:`setuptools3 <ref-classes-setuptools3>` class, denotes the
       Application Binary Interface (ABI) currently in use for Python. By
       default, the ABI is "m". You do not have to set this variable as the
       OpenEmbedded build system sets it for you.
@@ -6033,14 +6076,9 @@
       names used when installing the Python headers and libraries in
       sysroot (e.g. ``.../python3.3m/...``).
 
-      Recipes that inherit the :ref:`distutils3 <ref-classes-distutils3>` class during cross-builds also
-      use this variable to locate the headers and libraries of the
-      appropriate Python that the extension is targeting.
-
    :term:`PYTHON_PN`
       When used by recipes that inherit the
-      `distutils3 <ref-classes-distutils3>`,
-      :ref:`setuptools3 <ref-classes-setuptools3>` classes, specifies the
+      :ref:`setuptools3 <ref-classes-setuptools3>` classe, specifies the
       major Python version being built. For Python 3.x, :term:`PYTHON_PN` would
       be "python3". You do not have to set this variable as the
       OpenEmbedded build system automatically sets it for you.
@@ -6454,7 +6492,7 @@
       from the default value of :term:`S`, you must set it specifically so the
       source can be located::
 
-         SRC_URI = "git://path/to/repo.git"
+         SRC_URI = "git://path/to/repo.git;branch=main"
          S = "${WORKDIR}/git"
 
    :term:`SANITY_REQUIRED_UTILITIES`
@@ -6559,68 +6597,6 @@
       :term:`SDK_EXT_TYPE` is set to "minimal", and defaults to "1" if
       :term:`SDK_EXT_TYPE` is set to "full".
 
-   :term:`SDK_INHERIT_BLACKLIST`
-      A list of classes to remove from the :term:`INHERIT`
-      value globally within the extensible SDK configuration. The
-      :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class sets the
-      default value::
-
-         SDK_INHERIT_BLACKLIST ?= "buildhistory icecc"
-
-      Some classes are not generally applicable within the extensible SDK
-      context. You can use this variable to disable those classes.
-
-      For additional information on how to customize the extensible SDK's
-      configuration, see the
-      ":ref:`sdk-manual/appendix-customizing:configuring the extensible sdk`"
-      section in the Yocto Project Application Development and the
-      Extensible Software Development Kit (eSDK) manual.
-
-   :term:`SDK_LOCAL_CONF_BLACKLIST`
-      A list of variables not allowed through from the OpenEmbedded build
-      system configuration into the extensible SDK configuration. Usually,
-      these are variables that are specific to the machine on which the
-      build system is running and thus would be potentially problematic
-      within the extensible SDK.
-
-      By default, :term:`SDK_LOCAL_CONF_BLACKLIST` is set in the
-      :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class and
-      excludes the following variables:
-
-      - :term:`CONF_VERSION`
-      - :term:`BB_NUMBER_THREADS`
-      - :term:`BB_NUMBER_PARSE_THREADS`
-      - :term:`PARALLEL_MAKE`
-      - :term:`PRSERV_HOST`
-      - :term:`SSTATE_MIRRORS` :term:`DL_DIR`
-      - :term:`SSTATE_DIR` :term:`TMPDIR`
-      - :term:`BB_SERVER_TIMEOUT`
-
-      For additional information on how to customize the extensible SDK's
-      configuration, see the
-      ":ref:`sdk-manual/appendix-customizing:configuring the extensible sdk`"
-      section in the Yocto Project Application Development and the
-      Extensible Software Development Kit (eSDK) manual.
-
-   :term:`SDK_LOCAL_CONF_WHITELIST`
-      A list of variables allowed through from the OpenEmbedded build
-      system configuration into the extensible SDK configuration. By
-      default, the list of variables is empty and is set in the
-      :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class.
-
-      This list overrides the variables specified using the
-      :term:`SDK_LOCAL_CONF_BLACKLIST` variable as well as
-      other variables automatically added due to the "/" character
-      being found at the start of the
-      value, which is usually indicative of being a path and thus might not
-      be valid on the system where the SDK is installed.
-
-      For additional information on how to customize the extensible SDK's
-      configuration, see the
-      ":ref:`sdk-manual/appendix-customizing:configuring the extensible sdk`"
-      section in the Yocto Project Application Development and the
-      Extensible Software Development Kit (eSDK) manual.
-
    :term:`SDK_NAME`
       The base name for SDK output files. The name is derived from the
       :term:`DISTRO`, :term:`TCLIBC`,
@@ -6946,6 +6922,18 @@
 
          SKIP_FILEDEPS = "1"
 
+   :term:`SKIP_RECIPE`
+      Used to prevent the OpenEmbedded build system from building a given
+      recipe. Specify the :term:`PN` value as a variable flag (``varflag``)
+      and provide a reason, which will be reported when attempting to
+      build the recipe.
+
+      To prevent a recipe from being built, use the :term:`SKIP_RECIPE`
+      variable in your ``local.conf`` file or distribution configuration.
+      Here is an example which prevents ``myrecipe`` from being built::
+
+         SKIP_RECIPE[myrecipe] = "Not supported by our organization."
+
    :term:`SOC_FAMILY`
       Groups together machines based upon the same family of SOC (System On
       Chip). You typically set this variable in a common ``.inc`` file that
@@ -7505,14 +7493,14 @@
              /sysroot-only \
              "
 
-   :term:`SYSROOT_DIRS_BLACKLIST`
+   :term:`SYSROOT_DIRS_IGNORE`
       Directories that are not staged into the sysroot by the
       :ref:`ref-tasks-populate_sysroot` task. You
       can use this variable to exclude certain subdirectories of
       directories listed in :term:`SYSROOT_DIRS` from
       staging. By default, the following directories are not staged::
 
-         SYSROOT_DIRS_BLACKLIST = " \
+         SYSROOT_DIRS_IGNORE = " \
              ${mandir} \
              ${docdir} \
              ${infodir} \
@@ -8425,7 +8413,7 @@
       passes and uses "all" for the target during the U-Boot building
       process.
 
-   :term:`UNKNOWN_CONFIGURE_WHITELIST`
+   :term:`UNKNOWN_CONFIGURE_OPT_IGNORE`
       Specifies a list of options that, if reported by the configure script
       as being invalid, should not generate a warning during the
       :ref:`ref-tasks-configure` task. Normally, invalid
@@ -8435,10 +8423,10 @@
       However, there are common options that are passed to all
       configure scripts at a class level, but might not be valid for some
       configure scripts. Therefore warnings about these options are useless.
-      For these cases, the options are added to :term:`UNKNOWN_CONFIGURE_WHITELIST`.
+      For these cases, the options are added to :term:`UNKNOWN_CONFIGURE_OPT_IGNORE`.
 
       The configure arguments check that uses
-      :term:`UNKNOWN_CONFIGURE_WHITELIST` is part of the
+      :term:`UNKNOWN_CONFIGURE_OPT_IGNORE` is part of the
       :ref:`insane <ref-classes-insane>` class and is only enabled if the
       recipe inherits the :ref:`autotools <ref-classes-autotools>` class.
 
@@ -8536,12 +8524,11 @@
 
    :term:`USER_CLASSES`
       A list of classes to globally inherit. These classes are used by the
-      OpenEmbedded build system to enable extra features (e.g.
-      ``buildstats``, ``image-prelink``, and so forth).
+      OpenEmbedded build system to enable extra features.
 
       The default list is set in your ``local.conf`` file::
 
-         USER_CLASSES ?= "buildstats image-prelink"
+         USER_CLASSES ?= "buildstats"
 
       For more information, see
       ``meta-poky/conf/local.conf.sample`` in the :term:`Source Directory`.
diff --git a/poky/documentation/releases.rst b/poky/documentation/releases.rst
index a8c6d2c..247481f 100644
--- a/poky/documentation/releases.rst
+++ b/poky/documentation/releases.rst
@@ -28,6 +28,7 @@
 - :yocto_docs:`3.3.2 Documentation </3.3.2>`
 - :yocto_docs:`3.3.3 Documentation </3.3.3>`
 - :yocto_docs:`3.3.4 Documentation </3.3.4>`
+- :yocto_docs:`3.3.5 Documentation </3.3.5>`
 
 ****************************
 Release Series 3.1 (dunfell)
@@ -48,6 +49,7 @@
 - :yocto_docs:`3.1.12 Documentation </3.1.12>`
 - :yocto_docs:`3.1.13 Documentation </3.1.13>`
 - :yocto_docs:`3.1.14 Documentation </3.1.14>`
+- :yocto_docs:`3.1.15 Documentation </3.1.15>`
 
 ==========================
  Outdated Release Manuals
diff --git a/poky/documentation/sdk-manual/appendix-customizing.rst b/poky/documentation/sdk-manual/appendix-customizing.rst
index f8e5647..9a76cc5 100644
--- a/poky/documentation/sdk-manual/appendix-customizing.rst
+++ b/poky/documentation/sdk-manual/appendix-customizing.rst
@@ -21,7 +21,7 @@
    specific to the :term:`Build Host`.
 
 -  Variables listed in
-   :term:`SDK_LOCAL_CONF_BLACKLIST`
+   :term:`ESDK_LOCALCONF_REMOVE`
    are excluded. These variables are not allowed through from the
    OpenEmbedded build system configuration into the extensible SDK
    configuration. Typically, these variables are specific to the machine
@@ -29,19 +29,19 @@
    of the extensible SDK configuration.
 
    For a list of the variables excluded by default, see the
-   :term:`SDK_LOCAL_CONF_BLACKLIST`
+   :term:`ESDK_LOCALCONF_REMOVE`
    in the glossary of the Yocto Project Reference Manual.
 
 -  Variables listed in
-   :term:`SDK_LOCAL_CONF_WHITELIST`
+   :term:`ESDK_LOCALCONF_ALLOW`
    are included. Including a variable in the value of
-   :term:`SDK_LOCAL_CONF_WHITELIST` overrides either of the previous two
+   :term:`ESDK_LOCALCONF_ALLOW` overrides either of the previous two
    filters. The default value is blank.
 
 -  Classes inherited globally with
    :term:`INHERIT` that are listed in
-   :term:`SDK_INHERIT_BLACKLIST`
-   are disabled. Using :term:`SDK_INHERIT_BLACKLIST` to disable these
+   :term:`ESDK_CLASS_INHERIT_DISABLE`
+   are disabled. Using :term:`ESDK_CLASS_INHERIT_DISABLE` to disable these
    classes is the typical method to disable classes that are problematic
    or unnecessary in the SDK context. The default value disables the
    :ref:`buildhistory <ref-classes-buildhistory>`
@@ -63,13 +63,13 @@
 -  If your SDK configuration inherits additional classes using the
    :term:`INHERIT` variable and you
    do not need or want those classes enabled in the SDK, you can
-   disable them by adding them to the :term:`SDK_INHERIT_BLACKLIST`
+   disable them by adding them to the :term:`ESDK_CLASS_INHERIT_DISABLE`
    variable as described in the previous section.
 
    .. note::
 
       The default value of
-      SDK_INHERIT_BLACKLIST
+      ESDK_CLASS_INHERIT_DISABLE
       is set using the "?=" operator. Consequently, you will need to
       either define the entire list by using the "=" operator, or you
       will need to append a value using either ":append" or the "+="
@@ -92,7 +92,7 @@
 
    -  Disable the tasks if they are added by a class and you do not need
       the functionality the class provides in the extensible SDK. To
-      disable the tasks, add the class to the :term:`SDK_INHERIT_BLACKLIST`
+      disable the tasks, add the class to the :term:`ESDK_CLASS_INHERIT_DISABLE`
       variable as described in the previous section.
 
 -  Generally, you want to have a shared state mirror set up so users of
@@ -277,7 +277,7 @@
       configuration file. You can then pass the variable to the SDK by
       adding the following::
 
-         SDK_LOCAL_CONF_WHITELIST = "SSTATE_MIRRORS"
+         ESDK_LOCALCONF_ALLOW = "SSTATE_MIRRORS"
 
    -  Alternatively, if you just want to set the :term:`SSTATE_MIRRORS`
       variable's value for the SDK alone, create a
diff --git a/poky/documentation/set_versions.py b/poky/documentation/set_versions.py
new file mode 100755
index 0000000..1ab946f
--- /dev/null
+++ b/poky/documentation/set_versions.py
@@ -0,0 +1,229 @@
+#!/usr/bin/env python3
+#
+# Add version information to poky.yaml based upon current git branch/tags
+#
+# Copyright Linux Foundation
+# Author: Richard Purdie <richard.purdie@linuxfoundation.org>
+#
+# SPDX-License-Identifier: MIT
+#
+
+
+import subprocess
+import collections
+import sys
+import os
+import itertools
+
+ourversion = None
+if len(sys.argv) == 2:
+    ourversion = sys.argv[1]
+
+ourversion = None
+if len(sys.argv) == 2:
+    ourversion = sys.argv[1]
+
+activereleases = ["honister", "hardknott", "gatesgarth", "dunfell", "zeus", "warrior"]
+#devbranch = "langdale"
+devbranch = "kirkstone"
+ltsseries = ["kirkstone", "dunfell"]
+
+release_series = collections.OrderedDict()
+#release_series["langdale"] = "4.1"
+release_series["kirkstone"] = "4.0"
+release_series["honister"] = "3.4"
+release_series["hardknott"] = "3.3"
+release_series["gatesgarth"] = "3.2"
+release_series["dunfell"] = "3.1"
+release_series["zeus"] = "3.0"
+release_series["warrior"] = "2.7"
+release_series["thud"] = "2.6"
+release_series["sumo"] = "2.5"
+release_series["rocko"] = "2.4"
+release_series["pyro"] = "2.3"
+release_series["morty"] = "2.2"
+release_series["krogoth"] = "2.1"
+release_series["jethro"] = "2.0"
+release_series["jethro-pre"] = "1.9"
+release_series["fido"] = "1.8"
+release_series["dizzy"] = "1.7"
+release_series["daisy"] = "1.6"
+release_series["dora"] = "1.5"
+release_series["dylan"] = "1.4"
+release_series["danny"] = "1.3"
+release_series["denzil"] = "1.2"
+release_series["edison"] = "1.1"
+release_series["bernard"] = "1.0"
+release_series["laverne"] = "0.9"
+
+
+#    "langdale" : "2.2",
+bitbake_mapping = {
+    "kirkstone" : "2.0",
+    "honister" : "1.52",
+    "hardknott" : "1.50",
+    "gatesgarth" : "1.48",
+    "dunfell" : "1.46",
+}
+
+# 3.4 onwards doesn't have poky version
+# Early 3.4 release docs do reference it though
+poky_mapping = {
+    "3.4" : "26.0",
+    "3.3" : "25.0",
+    "3.2" : "24.0",
+    "3.1" : "23.0",
+}
+
+ourseries = None
+ourbranch = None
+bitbakeversion = None
+docconfver = None
+
+# Test tags exist and inform the user to fetch if not
+try:
+    subprocess.run(["git", "show", "yocto-3.4.2"], capture_output=True, check=True)
+except subprocess.CalledProcessError:
+    sys.exit("Please run 'git fetch --tags' before building the documentation")
+
+# Try and figure out what we are
+tags = subprocess.run(["git", "tag", "--points-at", "HEAD"], capture_output=True, text=True).stdout
+for t in tags.split():
+    if t.startswith("yocto-"):
+        ourversion = t[6:]
+
+if ourversion:
+    # We're a tagged release
+    components = ourversion.split(".")
+    baseversion = components[0] + "." + components[1]
+    docconfver = ourversion
+    for i in release_series:
+        if release_series[i] == baseversion:
+            ourseries = i
+            ourbranch = i
+            if i in bitbake_mapping:
+                bitbakeversion = bitbake_mapping[i]
+else:
+    # We're floating on a branch
+    branch = subprocess.run(["git", "branch", "--show-current"], capture_output=True, text=True).stdout.strip()
+    ourbranch = branch
+    if branch != "master" and branch not in release_series:
+        # We're not on a known release branch so we have to guess. Compare the numbers of commits
+        # from each release branch and assume the smallest number of commits is the one we're based off
+        possible_branch = None
+        branch_count = 0
+        for b in itertools.chain(release_series.keys(), ["master"]):
+            result = subprocess.run(["git", "log", "--format=oneline",  "HEAD..origin/" + b], capture_output=True, text=True)
+            if result.returncode == 0:
+                count = result.stdout.count('\n')
+                if not possible_branch or count < branch_count:
+                    print("Branch %s has count %s" % (b, count))
+                    possible_branch = b
+                    branch_count = count
+        if possible_branch:
+            branch = possible_branch
+        else:
+            branch = "master"
+        print("Nearest release branch estimated to be %s" % branch)
+    if branch == "master":
+        ourseries = devbranch
+        docconfver = "dev"
+        bitbakeversion = ""
+    elif branch in release_series:
+        ourseries = branch
+        if branch in bitbake_mapping:
+            bitbakeversion = bitbake_mapping[branch]
+    else:
+        sys.exit("Unknown series for branch %s" % branch)
+
+    previoustags = subprocess.run(["git", "tag", "--merged", "HEAD"], capture_output=True, text=True).stdout
+    previoustags = [t[6:] for t in previoustags.split() if t.startswith("yocto-" + release_series[ourseries])]
+    futuretags = subprocess.run(["git", "tag", "--merged", ourbranch], capture_output=True, text=True).stdout
+    futuretags = [t[6:] for t in futuretags.split() if t.startswith("yocto-" + release_series[ourseries])]
+
+    # Append .999 against the last known version
+    if len(previoustags) != len(futuretags):
+        ourversion = previoustags[-1] + ".999"
+    else:
+        ourversion = release_series[ourseries] + ".999"
+    if not docconfver:
+        docconfver = ourversion
+
+series = [k for k in release_series]
+previousseries = series[series.index(ourseries)+1:] or [""]
+lastlts = [k for k in previousseries if k in ltsseries] or "dunfell"
+
+print("Version calculated to be %s" % ourversion)
+print("Release series calculated to be %s" % ourseries)
+
+replacements = {
+    "DISTRO" : ourversion,
+    "DISTRO_NAME_NO_CAP" : ourseries,
+    "DISTRO_NAME" : ourseries.capitalize(),
+    "DISTRO_NAME_NO_CAP_MINUS_ONE" : previousseries[0],
+    "DISTRO_NAME_NO_CAP_LTS" : lastlts[0],
+    "YOCTO_DOC_VERSION" : ourversion,
+    "DISTRO_REL_TAG" : "yocto-" + ourversion,
+    "DOCCONF_VERSION" : docconfver,
+    "BITBAKE_SERIES" : bitbakeversion,
+}
+
+if release_series[ourseries] in poky_mapping:
+    pokyversion = poky_mapping[release_series[ourseries]]
+    if ourversion != release_series[ourseries]:
+        pokyversion = pokyversion + "." + ourversion.rsplit(".", 1)[1]
+    else:
+        pokyversion = pokyversion + ".0"
+    replacements["POKYVERSION"] = pokyversion
+
+if os.path.exists("poky.yaml.in"):
+    with open("poky.yaml.in", "r") as r, open("poky.yaml", "w") as w:
+        lines = r.readlines()
+        for line in lines:
+            data = line.split(":")
+            k = data[0].strip()
+            if k in replacements:
+                w.write("%s : \"%s\"\n" % (k, replacements[k]))
+            else:
+                w.write(line)
+
+    print("poky.yaml generated from poky.yaml.in")
+
+
+# In the switcher list of versions we display:
+#  - latest dev
+#  - latest stable release
+#  - latest LTS
+#  - latest for each releases listed as active
+#  - latest doc version in current series
+#  - current doc version
+# (with duplicates removed)
+
+if ourseries not in activereleases:
+    activereleases.append(ourseries)
+
+versions = []
+with open("sphinx-static/switchers.js.in", "r") as r, open("sphinx-static/switchers.js", "w") as w:
+    lines = r.readlines()
+    for line in lines:
+        if "VERSIONS_PLACEHOLDER" in line:
+            w.write("    'dev': 'dev (%s)',\n" % release_series[devbranch])
+            for branch in activereleases:
+                if branch == devbranch:
+                    continue
+                versions = subprocess.run('git tag --list yocto-%s*' % (release_series[branch]), shell=True, capture_output=True, text=True).stdout.split()
+                versions = sorted([v.replace("yocto-" +  release_series[branch] + ".", "").replace("yocto-" +  release_series[branch], "0") for v in versions], key=int)
+                if not versions:
+                    continue
+                version = release_series[branch]
+                if versions[-1] != "0":
+                    version = version + "." + versions[-1]
+                versions.append(version)
+                w.write("    '%s': '%s',\n" % (version, version))
+            if ourversion not in versions and ourseries != devbranch:
+                w.write("    '%s': '%s',\n" % (ourversion, ourversion))
+        else:
+            w.write(line)
+
+print("switchers.js generated from switchers.js.in")
+
diff --git a/poky/documentation/sphinx-static/switchers.js b/poky/documentation/sphinx-static/switchers.js.in
similarity index 97%
rename from poky/documentation/sphinx-static/switchers.js
rename to poky/documentation/sphinx-static/switchers.js.in
index c4c3bd6..5d3a4d7 100644
--- a/poky/documentation/sphinx-static/switchers.js
+++ b/poky/documentation/sphinx-static/switchers.js.in
@@ -10,13 +10,7 @@
   'use strict';
 
   var all_versions = {
-    'dev': 'dev (3.5)',
-    '3.4.2': '3.4.2',
-    '3.3.4': '3.3.4',
-    '3.2.4': '3.2.4',
-    '3.1.14': '3.1.14',
-    '3.0.4': '3.0.4',
-    '2.7.4': '2.7.4',
+    VERSIONS_PLACEHOLDER
   };
 
   var all_doctypes = {
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index 47ef9fa..179329f 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -1,7 +1,8 @@
 DISTRO = "poky"
 DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
-DISTRO_VERSION = "3.4+snapshot-${METADATA_REVISION}"
-DISTRO_CODENAME = "master"
+#DISTRO_VERSION = "3.4+snapshot-${METADATA_REVISION}"
+DISTRO_VERSION = "4.0"
+DISTRO_CODENAME = "kirkstone"
 SDK_VENDOR = "-pokysdk"
 SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
 SDK_VERSION[vardepvalue] = "${SDK_VERSION}"
@@ -30,30 +31,22 @@
 
 TCLIBCAPPEND = ""
 
-PREMIRRORS ??= "\
-bzr://.*/.*   https://downloads.yoctoproject.org/mirror/sources/ \
-cvs://.*/.*   https://downloads.yoctoproject.org/mirror/sources/ \
-git://.*/.*   https://downloads.yoctoproject.org/mirror/sources/ \
-gitsm://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \
-hg://.*/.*    https://downloads.yoctoproject.org/mirror/sources/ \
-osc://.*/.*   https://downloads.yoctoproject.org/mirror/sources/ \
-p4://.*/.*    https://downloads.yoctoproject.org/mirror/sources/ \
-svn://.*/.*   https://downloads.yoctoproject.org/mirror/sources/"
-
 SANITY_TESTED_DISTROS ?= " \
             poky-3.3 \n \
             poky-3.4 \n \
             ubuntu-16.04 \n \
             ubuntu-18.04 \n \
             ubuntu-20.04 \n \
-            fedora-33 \n \
+            ubuntu-21.10 \n \
             fedora-34 \n \
+            fedora-35 \n \
             centos-7 \n \
             centos-8 \n \
             debian-9 \n \
             debian-10 \n \
             debian-11 \n \
-            opensuseleap-15.2 \n \
+            opensuseleap-15.3 \n \
+            almalinux-8.5 \n \
             "
 # add poky sanity bbclass
 INHERIT += "poky-sanity"
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample
index 55e90e0..17cbf3a 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/local.conf.sample
@@ -2,9 +2,10 @@
 # This file is your local configuration file and is where all local user settings
 # are placed. The comments in this file give some guide to the options a new user
 # to the system might want to change but pretty much any configuration option can
-# be set in this file. More adventurous users can look at local.conf.extended
-# which contains other examples of configuration which can be placed in this file
-# but new users likely won't need any of them initially.
+# be set in this file. More adventurous users can look at
+# local.conf.sample.extended which contains other examples of configuration which
+# can be placed in this file but new users likely won't need any of them
+# initially.
 #
 # Lines starting with the '#' character are commented out and in some cases the
 # default values are provided as comments to show people example syntax. Enabling
@@ -206,7 +207,7 @@
 # used to accelerate build time. This variable can be used to configure the system
 # to search other mirror locations for these objects before it builds the data itself.
 #
-# This can be a filesystem directory, or a remote url such as http or ftp. These
+# This can be a filesystem directory, or a remote url such as https or ftp. These
 # would contain the sstate-cache results from previous builds (possibly from other
 # machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
 # cache locations to check for the shared objects.
@@ -214,7 +215,7 @@
 # at the end as shown in the examples below. This will be substituted with the
 # correct path within the directory structure.
 #SSTATE_MIRRORS ?= "\
-#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \
+#file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \
 #file://.* file:///some/local/dir/sstate/PATH"
 
 #
diff --git a/poky/meta-selftest/recipes-test/base-files/base-files_%.bbappend b/poky/meta-selftest/recipes-test/base-files/base-files_%.bbappend
new file mode 100644
index 0000000..2057209
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/base-files/base-files_%.bbappend
@@ -0,0 +1,2 @@
+# This bbappend is used to alter the recipe using the test_recipe.inc file created by tests.
+include test_recipe.inc
diff --git a/poky/meta-selftest/recipes-test/license/incompatible-licenses.bb b/poky/meta-selftest/recipes-test/license/incompatible-licenses.bb
index ab3b58d..9709892 100644
--- a/poky/meta-selftest/recipes-test/license/incompatible-licenses.bb
+++ b/poky/meta-selftest/recipes-test/license/incompatible-licenses.bb
@@ -1,3 +1,3 @@
 SUMMARY = "Recipe with multiple SPDX licenses"
 DESCRIPTION = "Is licensed with multiple SPDX licenses to be used for testing"
-LICENSE = "GPL-2.0-only & GPL-3.0 & LGPL-3.0-only"
+LICENSE = "GPL-2.0-only & GPL-3.0-only & LGPL-3.0-only"
diff --git a/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb b/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
index 4a9b94e..c5037a4 100644
--- a/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
+++ b/poky/meta-selftest/recipes-test/selftest-ed/selftest-ed_0.5.bb
@@ -1,4 +1,4 @@
-SUMMARY = "Line-oriented text editor -- selftest GPLv2 version"
+SUMMARY = "Line-oriented text editor -- selftest GPL-2.0-or-later version"
 HOMEPAGE = "http://www.gnu.org/software/ed/"
 SECTION = "base"
 LICENSE = "GPL-2.0-or-later"
diff --git a/poky/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb b/poky/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
index 1fe1212..6726f68 100644
--- a/poky/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
+++ b/poky/meta-yocto-bsp/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
@@ -1,6 +1,6 @@
 SUMMARY = "Intel gma500_gfx fix for certain hardware"
 DESCRIPTION = "Avoid inserting gma500_gfx module for certain hardware devices."
-LICENSE="GPLv2"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
 
 SRC_URI = "file://gma500-gfx-check.conf \
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index 27c1d61..cc81461 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -329,9 +329,9 @@
         source_mirror_fetch = d.getVar('SOURCE_MIRROR_FETCH', False)
         if not source_mirror_fetch:
             provs = (d.getVar("PROVIDES") or "").split()
-            multiwhitelist = (d.getVar("BB_MULTI_PROVIDER_ALLOWED") or "").split()
+            multiprovidersallowed = (d.getVar("BB_MULTI_PROVIDER_ALLOWED") or "").split()
             for p in provs:
-                if p.startswith("virtual/") and p not in multiwhitelist:
+                if p.startswith("virtual/") and p not in multiprovidersallowed:
                     profprov = d.getVar("PREFERRED_PROVIDER_" + p)
                     if profprov and pn != profprov:
                         raise bb.parse.SkipRecipe("PREFERRED_PROVIDER_%s set to %s, not %s" % (p, profprov, pn))
@@ -595,46 +595,41 @@
         if check_license and bad_licenses:
             bad_licenses = expand_wildcard_licenses(d, bad_licenses)
 
-            whitelist = []
-            for lic in bad_licenses:
-                spdx_license = return_spdx(d, lic)
-                whitelist.extend((d.getVar("WHITELIST_" + lic) or "").split())
-                if spdx_license:
-                    whitelist.extend((d.getVar("WHITELIST_" + spdx_license) or "").split())
+            exceptions = (d.getVar("INCOMPATIBLE_LICENSE_EXCEPTIONS") or "").split()
 
-            if pn in whitelist:
-                '''
-                We need to track what we are whitelisting and why. If pn is
-                incompatible we need to be able to note that the image that
-                is created may infact contain incompatible licenses despite
-                INCOMPATIBLE_LICENSE being set.
-                '''
-                bb.note("Including %s as buildable despite it having an incompatible license because it has been whitelisted" % pn)
-            else:
-                pkgs = d.getVar('PACKAGES').split()
-                skipped_pkgs = {}
-                unskipped_pkgs = []
-                for pkg in pkgs:
-                    incompatible_lic = incompatible_license(d, bad_licenses, pkg)
-                    if incompatible_lic:
-                        skipped_pkgs[pkg] = incompatible_lic
-                    else:
-                        unskipped_pkgs.append(pkg)
-                if unskipped_pkgs:
-                    for pkg in skipped_pkgs:
-                        bb.debug(1, "Skipping the package %s at do_rootfs because of incompatible license(s): %s" % (pkg, ' '.join(skipped_pkgs[pkg])))
-                        d.setVar('_exclude_incompatible-' + pkg, ' '.join(skipped_pkgs[pkg]))
-                    for pkg in unskipped_pkgs:
-                        bb.debug(1, "Including the package %s" % pkg)
+            for lic_exception in exceptions:
+                if ":" in lic_exception:
+                    lic_exception.split(":")[0]
+                if lic_exception in oe.license.obsolete_license_list():
+                    bb.fatal("Invalid license %s used in INCOMPATIBLE_LICENSE_EXCEPTIONS" % lic_exception)
+
+            pkgs = d.getVar('PACKAGES').split()
+            skipped_pkgs = {}
+            unskipped_pkgs = []
+            for pkg in pkgs:
+                remaining_bad_licenses = oe.license.apply_pkg_license_exception(pkg, bad_licenses, exceptions)
+
+                incompatible_lic = incompatible_license(d, remaining_bad_licenses, pkg)
+                if incompatible_lic:
+                    skipped_pkgs[pkg] = incompatible_lic
                 else:
-                    incompatible_lic = incompatible_license(d, bad_licenses)
-                    for pkg in skipped_pkgs:
-                        incompatible_lic += skipped_pkgs[pkg]
-                    incompatible_lic = sorted(list(set(incompatible_lic)))
+                    unskipped_pkgs.append(pkg)
 
-                    if incompatible_lic:
-                        bb.debug(1, "Skipping recipe %s because of incompatible license(s): %s" % (pn, ' '.join(incompatible_lic)))
-                        raise bb.parse.SkipRecipe("it has incompatible license(s): %s" % ' '.join(incompatible_lic))
+            if unskipped_pkgs:
+                for pkg in skipped_pkgs:
+                    bb.debug(1, "Skipping the package %s at do_rootfs because of incompatible license(s): %s" % (pkg, ' '.join(skipped_pkgs[pkg])))
+                    d.setVar('_exclude_incompatible-' + pkg, ' '.join(skipped_pkgs[pkg]))
+                for pkg in unskipped_pkgs:
+                    bb.debug(1, "Including the package %s" % pkg)
+            else:
+                incompatible_lic = incompatible_license(d, bad_licenses)
+                for pkg in skipped_pkgs:
+                    incompatible_lic += skipped_pkgs[pkg]
+                incompatible_lic = sorted(list(set(incompatible_lic)))
+
+                if incompatible_lic:
+                    bb.debug(1, "Skipping recipe %s because of incompatible license(s): %s" % (pn, ' '.join(incompatible_lic)))
+                    raise bb.parse.SkipRecipe("it has incompatible license(s): %s" % ' '.join(incompatible_lic))
 
     needsrcrev = False
     srcuri = d.getVar('SRC_URI')
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 49797a6..8db79a4 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -896,6 +896,7 @@
                 if os.path.isdir(olddir):
                     shutil.rmtree(olddir)
                 rootdir = e.data.getVar("BUILDHISTORY_DIR")
+                bb.utils.mkdirhier(rootdir)
                 entries = [ x for x in os.listdir(rootdir) if not x.startswith('.') ]
                 bb.utils.mkdirhier(olddir)
                 for entry in entries:
diff --git a/poky/meta/classes/cargo.bbclass b/poky/meta/classes/cargo.bbclass
index 0ca3814..4a780a5 100644
--- a/poky/meta/classes/cargo.bbclass
+++ b/poky/meta/classes/cargo.bbclass
@@ -13,6 +13,7 @@
 
 # Ensure we get the right rust variant
 DEPENDS:append:class-target = " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
+DEPENDS:append:class-nativesdk = " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
 DEPENDS:append:class-native = " rust-native"
 
 # Enable build separation
diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass
index fac7bbc..d9bcddb 100644
--- a/poky/meta/classes/cmake.bbclass
+++ b/poky/meta/classes/cmake.bbclass
@@ -31,8 +31,6 @@
 OECMAKE_CXX_FLAGS_RELEASE ?= "-DNDEBUG"
 OECMAKE_C_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS} ${LDFLAGS}"
 OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LDFLAGS}"
-CXXFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
-CFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}"
 
 def oecmake_map_compiler(compiler, d):
     args = d.getVar(compiler).split()
diff --git a/poky/meta/classes/create-spdx.bbclass b/poky/meta/classes/create-spdx.bbclass
index 5375ef3..137db81 100644
--- a/poky/meta/classes/create-spdx.bbclass
+++ b/poky/meta/classes/create-spdx.bbclass
@@ -40,7 +40,7 @@
 def extract_licenses(filename):
     import re
 
-    lic_regex = re.compile(b'^\W*SPDX-License-Identifier:\s*([ \w\d.()+-]+?)(?:\s+\W*)?$', re.MULTILINE)
+    lic_regex = re.compile(rb'^\W*SPDX-License-Identifier:\s*([ \w\d.()+-]+?)(?:\s+\W*)?$', re.MULTILINE)
 
     try:
         with open(filename, 'rb') as f:
@@ -94,7 +94,6 @@
     from pathlib import Path
     import oe.spdx
 
-    available_licenses = d.getVar("AVAILABLE_LICENSES").split()
     license_data = d.getVar("SPDX_LICENSE_DATA")
     extracted = {}
 
@@ -112,8 +111,8 @@
         if name == "PD":
             # Special-case this.
             extracted_info.extractedText = "Software released to the public domain"
-        elif name in available_licenses:
-            # This license can be found in COMMON_LICENSE_DIR or LICENSE_PATH
+        else:
+            # Seach for the license in COMMON_LICENSE_DIR and LICENSE_PATH
             for directory in [d.getVar('COMMON_LICENSE_DIR')] + (d.getVar('LICENSE_PATH') or '').split():
                 try:
                     with (Path(directory) / name).open(errors="replace") as f:
@@ -122,18 +121,14 @@
                 except FileNotFoundError:
                     pass
             if extracted_info.extractedText is None:
-                # Error out, as the license was in available_licenses so should
-                # be on disk somewhere.
-                bb.error("Cannot find text for license %s" % name)
-        else:
-            # If it's not SPDX, or PD, or in available licenses, then NO_GENERIC_LICENSE must be set
-            filename = d.getVarFlag('NO_GENERIC_LICENSE', name)
-            if filename:
-                filename = d.expand("${S}/" + filename)
-                with open(filename, errors="replace") as f:
-                    extracted_info.extractedText = f.read()
-            else:
-                bb.error("Cannot find any text for license %s" % name)
+                # If it's not SPDX or PD, then NO_GENERIC_LICENSE must be set
+                filename = d.getVarFlag('NO_GENERIC_LICENSE', name)
+                if filename:
+                    filename = d.expand("${S}/" + filename)
+                    with open(filename, errors="replace") as f:
+                        extracted_info.extractedText = f.read()
+                else:
+                    bb.error("Cannot find any text for license %s" % name)
 
         extracted[name] = extracted_info
         document.hasExtractedLicensingInfos.append(extracted_info)
@@ -600,7 +595,7 @@
 }
 addtask do_create_spdx_setscene
 
-do_create_spdx[dirs] = "${SPDXDEPLOY} ${SPDXWORK}"
+do_create_spdx[dirs] = "${SPDXWORK}"
 do_create_spdx[cleandirs] = "${SPDXDEPLOY} ${SPDXWORK}"
 do_create_spdx[depends] += "${PATCHDEPENDENCY}"
 do_create_spdx[deptask] = "do_create_spdx"
diff --git a/poky/meta/classes/cross-canadian.bbclass b/poky/meta/classes/cross-canadian.bbclass
index ac82e86..a0e9d23 100644
--- a/poky/meta/classes/cross-canadian.bbclass
+++ b/poky/meta/classes/cross-canadian.bbclass
@@ -36,7 +36,7 @@
         return
 
     tos = d.getVar("TARGET_OS")
-    whitelist = ["mingw32"]
+    tos_known = ["mingw32"]
     extralibcs = [""]
     if "musl" in d.getVar("BASECANADIANEXTRAOS"):
         extralibcs.append("musl")
@@ -51,8 +51,8 @@
                 entry = entry + "-gnu" + variant
             elif libc:
                 entry = entry + "-" + libc
-            whitelist.append(entry)
-    if tos not in whitelist:
+            tos_known.append(entry)
+    if tos not in tos_known:
         bb.fatal("Building cross-candian for an unknown TARGET_SYS (%s), please update cross-canadian.bbclass" % d.getVar("TARGET_SYS"))
 
     for n in ["PROVIDES", "DEPENDS"]:
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index d715fbf..78516d0 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -34,20 +34,36 @@
 CVE_CHECK_SUMMARY_DIR ?= "${LOG_DIR}/cve"
 CVE_CHECK_SUMMARY_FILE_NAME ?= "cve-summary"
 CVE_CHECK_SUMMARY_FILE ?= "${CVE_CHECK_SUMMARY_DIR}/${CVE_CHECK_SUMMARY_FILE_NAME}"
+CVE_CHECK_SUMMARY_FILE_NAME_JSON = "cve-summary.json"
+CVE_CHECK_SUMMARY_INDEX_PATH = "${CVE_CHECK_SUMMARY_DIR}/cve-summary-index.txt"
+
+CVE_CHECK_LOG_JSON ?= "${T}/cve.json"
 
 CVE_CHECK_DIR ??= "${DEPLOY_DIR}/cve"
 CVE_CHECK_RECIPE_FILE ?= "${CVE_CHECK_DIR}/${PN}"
+CVE_CHECK_RECIPE_FILE_JSON ?= "${CVE_CHECK_DIR}/${PN}_cve.json"
 CVE_CHECK_MANIFEST ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cve"
+CVE_CHECK_MANIFEST_JSON ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.json"
 CVE_CHECK_COPY_FILES ??= "1"
 CVE_CHECK_CREATE_MANIFEST ??= "1"
 
 CVE_CHECK_REPORT_PATCHED ??= "1"
 
-# Whitelist for packages (PN)
+# Provide text output
+CVE_CHECK_FORMAT_TEXT ??= "1"
+
+# Provide JSON output
+CVE_CHECK_FORMAT_JSON ??= "1"
+
+# Check for packages without CVEs (no issues or missing product name)
+CVE_CHECK_COVERAGE ??= "1"
+
+# Skip CVE Check for packages (PN)
 CVE_CHECK_SKIP_RECIPE ?= ""
 
-# Whitelist for CVE. If a CVE is found, then it is considered patched.
-# The value is a string containing space separated CVE values:
+# Ingore the check for a given list of CVEs. If a CVE is found,
+# then it is considered patched. The value is a string containing
+# space separated CVE values:
 #
 # CVE_CHECK_IGNORE = 'CVE-2014-2524 CVE-2018-1234'
 #
@@ -101,17 +117,16 @@
             patched_cves = get_patched_cves(d)
         except FileNotFoundError:
             bb.fatal("Failure in searching patches")
-        whitelisted, patched, unpatched = check_cves(d, patched_cves)
-        if patched or unpatched:
+        ignored, patched, unpatched, status = check_cves(d, patched_cves)
+        if patched or unpatched or (d.getVar("CVE_CHECK_COVERAGE") == "1" and status):
             cve_data = get_cve_info(d, patched + unpatched)
-            cve_write_data(d, patched, unpatched, whitelisted, cve_data)
+            cve_write_data(d, patched, unpatched, ignored, cve_data, status)
     else:
         bb.note("No CVE database found, skipping CVE check")
 
 }
 
 addtask cve_check before do_build after do_fetch
-do_cve_check[lockfiles] += "${CVE_CHECK_DB_FILE_LOCK}"
 do_cve_check[depends] = "cve-update-db-native:do_fetch"
 do_cve_check[nostamp] = "1"
 
@@ -120,6 +135,7 @@
     Delete the file used to gather all the CVE information.
     """
     bb.utils.remove(e.data.getVar("CVE_CHECK_TMP_FILE"))
+    bb.utils.remove(e.data.getVar("CVE_CHECK_SUMMARY_INDEX_PATH"))
 }
 
 addhandler cve_check_cleanup
@@ -131,11 +147,15 @@
     """
 
     import shutil
+    from oe.cve_check import cve_check_merge_jsons
 
     if d.getVar("CVE_CHECK_COPY_FILES") == "1":
         deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE")
         if os.path.exists(deploy_file):
             bb.utils.remove(deploy_file)
+        deploy_file_json = d.getVar("CVE_CHECK_RECIPE_FILE_JSON")
+        if os.path.exists(deploy_file_json):
+            bb.utils.remove(deploy_file_json)
 
     if os.path.exists(d.getVar("CVE_CHECK_TMP_FILE")):
         bb.note("Writing rootfs CVE manifest")
@@ -154,6 +174,26 @@
                 os.remove(manifest_link)
             os.symlink(os.path.basename(manifest_name), manifest_link)
             bb.plain("Image CVE report stored in: %s" % manifest_name)
+
+    if os.path.exists(d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")):
+        import json
+        bb.note("Generating JSON CVE manifest")
+        deploy_dir = d.getVar("DEPLOY_DIR_IMAGE")
+        link_name = d.getVar("IMAGE_LINK_NAME")
+        manifest_name = d.getVar("CVE_CHECK_MANIFEST_JSON")
+        index_file = d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")
+        manifest = {"version":"1", "package": []}
+        with open(index_file) as f:
+            filename = f.readline()
+            while filename:
+                with open(filename.rstrip()) as j:
+                    data = json.load(j)
+                    cve_check_merge_jsons(manifest, data)
+                filename = f.readline()
+
+        with open(manifest_name, "w") as f:
+            json.dump(manifest, f, indent=2)
+        bb.plain("Image CVE report stored in: %s" % manifest_name)
 }
 
 ROOTFS_POSTPROCESS_COMMAND:prepend = "${@'cve_check_write_rootfs_manifest; ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
@@ -170,19 +210,21 @@
     suffix = d.getVar("CVE_VERSION_SUFFIX")
 
     cves_unpatched = []
+    cves_status = []
+    cves_in_recipe = False
     # CVE_PRODUCT can contain more than one product (eg. curl/libcurl)
     products = d.getVar("CVE_PRODUCT").split()
     # If this has been unset then we're not scanning for CVEs here (for example, image recipes)
     if not products:
-        return ([], [], [])
+        return ([], [], [], {})
     pv = d.getVar("CVE_VERSION").split("+git")[0]
 
-    # If the recipe has been whitelisted we return empty lists
+    # If the recipe has been skipped/ignored we return empty lists
     if pn in d.getVar("CVE_CHECK_SKIP_RECIPE").split():
-        bb.note("Recipe has been whitelisted, skipping check")
-        return ([], [], [])
+        bb.note("Recipe has been skipped by cve-check")
+        return ([], [], [], [])
 
-    cve_whitelist = d.getVar("CVE_CHECK_IGNORE").split()
+    cve_ignore = d.getVar("CVE_CHECK_IGNORE").split()
 
     import sqlite3
     db_file = d.expand("file:${CVE_CHECK_DB_FILE}?mode=ro")
@@ -190,6 +232,7 @@
 
     # For each of the known product names (e.g. curl has CPEs using curl and libcurl)...
     for product in products:
+        cves_in_product = False
         if ":" in product:
             vendor, product = product.split(":", 1)
         else:
@@ -199,14 +242,19 @@
         for cverow in conn.execute("SELECT DISTINCT ID FROM PRODUCTS WHERE PRODUCT IS ? AND VENDOR LIKE ?", (product, vendor)):
             cve = cverow[0]
 
-            if cve in cve_whitelist:
-                bb.note("%s-%s has been whitelisted for %s" % (product, pv, cve))
-                # TODO: this should be in the report as 'whitelisted'
+            if cve in cve_ignore:
+                bb.note("%s-%s has been ignored for %s" % (product, pv, cve))
+                # TODO: this should be in the report as 'ignored'
                 patched_cves.add(cve)
                 continue
             elif cve in patched_cves:
                 bb.note("%s has been patched" % (cve))
                 continue
+            # Write status once only for each product
+            if not cves_in_product:
+                cves_status.append([product, True])
+                cves_in_product = True
+                cves_in_recipe = True
 
             vulnerable = False
             for row in conn.execute("SELECT * FROM PRODUCTS WHERE ID IS ? AND PRODUCT IS ? AND VENDOR LIKE ?", (cve, product, vendor)):
@@ -253,9 +301,16 @@
                 # TODO: not patched but not vulnerable
                 patched_cves.add(cve)
 
+        if not cves_in_product:
+            bb.note("No CVE records found for product %s, pn %s" % (product, pn))
+            cves_status.append([product, False])
+
     conn.close()
 
-    return (list(cve_whitelist), list(patched_cves), cves_unpatched)
+    if not cves_in_recipe:
+        bb.note("No CVE records for products in recipe %s" % (pn))
+
+    return (list(cve_ignore), list(patched_cves), cves_unpatched, cves_status)
 
 def get_cve_info(d, cves):
     """
@@ -280,13 +335,12 @@
     conn.close()
     return cve_data
 
-def cve_write_data(d, patched, unpatched, whitelisted, cve_data):
+def cve_write_data_text(d, patched, unpatched, ignored, cve_data):
     """
     Write CVE information in WORKDIR; and to CVE_CHECK_DIR, and
     CVE manifest if enabled.
     """
 
-
     cve_file = d.getVar("CVE_CHECK_LOG")
     fdir_name  = d.getVar("FILE_DIRNAME")
     layer = fdir_name.split("/")[-3]
@@ -300,6 +354,10 @@
     if include_layers and layer not in include_layers:
         return
 
+    # Early exit, the text format does not report packages without CVEs
+    if not patched+unpatched:
+        return
+
     nvd_link = "https://nvd.nist.gov/vuln/detail/"
     write_string = ""
     unpatched_cves = []
@@ -313,8 +371,8 @@
         write_string += "PACKAGE NAME: %s\n" % d.getVar("PN")
         write_string += "PACKAGE VERSION: %s%s\n" % (d.getVar("EXTENDPE"), d.getVar("PV"))
         write_string += "CVE: %s\n" % cve
-        if cve in whitelisted:
-            write_string += "CVE STATUS: Whitelisted\n"
+        if cve in ignored:
+            write_string += "CVE STATUS: Ignored\n"
         elif is_patched:
             write_string += "CVE STATUS: Patched\n"
         else:
@@ -346,3 +404,116 @@
 
             with open(d.getVar("CVE_CHECK_TMP_FILE"), "a") as f:
                 f.write("%s" % write_string)
+
+def cve_check_write_json_output(d, output, direct_file, deploy_file, manifest_file):
+    """
+    Write CVE information in the JSON format: to WORKDIR; and to
+    CVE_CHECK_DIR, if CVE manifest if enabled, write fragment
+    files that will be assembled at the end in cve_check_write_rootfs_manifest.
+    """
+
+    import json
+
+    write_string = json.dumps(output, indent=2)
+    with open(direct_file, "w") as f:
+        bb.note("Writing file %s with CVE information" % direct_file)
+        f.write(write_string)
+
+    if d.getVar("CVE_CHECK_COPY_FILES") == "1":
+        bb.utils.mkdirhier(os.path.dirname(deploy_file))
+        with open(deploy_file, "w") as f:
+            f.write(write_string)
+
+    if d.getVar("CVE_CHECK_CREATE_MANIFEST") == "1":
+        cvelogpath = d.getVar("CVE_CHECK_SUMMARY_DIR")
+        index_path = d.getVar("CVE_CHECK_SUMMARY_INDEX_PATH")
+        bb.utils.mkdirhier(cvelogpath)
+        fragment_file = os.path.basename(deploy_file)
+        fragment_path = os.path.join(cvelogpath, fragment_file)
+        with open(fragment_path, "w") as f:
+            f.write(write_string)
+        with open(index_path, "a+") as f:
+            f.write("%s\n" % fragment_path)
+
+def cve_write_data_json(d, patched, unpatched, ignored, cve_data, cve_status):
+    """
+    Prepare CVE data for the JSON format, then write it.
+    """
+
+    output = {"version":"1", "package": []}
+    nvd_link = "https://nvd.nist.gov/vuln/detail/"
+
+    fdir_name  = d.getVar("FILE_DIRNAME")
+    layer = fdir_name.split("/")[-3]
+
+    include_layers = d.getVar("CVE_CHECK_LAYER_INCLUDELIST").split()
+    exclude_layers = d.getVar("CVE_CHECK_LAYER_EXCLUDELIST").split()
+
+    if exclude_layers and layer in exclude_layers:
+        return
+
+    if include_layers and layer not in include_layers:
+        return
+
+    unpatched_cves = []
+
+    product_data = []
+    for s in cve_status:
+        p = {"product": s[0], "cvesInRecord": "Yes"}
+        if s[1] == False:
+            p["cvesInRecord"] = "No"
+        product_data.append(p)
+
+    package_version = "%s%s" % (d.getVar("EXTENDPE"), d.getVar("PV"))
+    package_data = {
+        "name" : d.getVar("PN"),
+        "layer" : layer,
+        "version" : package_version,
+        "products": product_data
+    }
+    cve_list = []
+
+    for cve in sorted(cve_data):
+        is_patched = cve in patched
+        status = "Unpatched"
+        if is_patched and (d.getVar("CVE_CHECK_REPORT_PATCHED") != "1"):
+            continue
+        if cve in ignored:
+            status = "Ignored"
+        elif is_patched:
+            status = "Patched"
+        else:
+            # default value of status is Unpatched
+            unpatched_cves.append(cve)
+
+        issue_link = "%s%s" % (nvd_link, cve)
+
+        cve_item = {
+            "id" : cve,
+            "summary" : cve_data[cve]["summary"],
+            "scorev2" : cve_data[cve]["scorev2"],
+            "scorev3" : cve_data[cve]["scorev3"],
+            "vector" : cve_data[cve]["vector"],
+            "status" : status,
+            "link": issue_link
+        }
+        cve_list.append(cve_item)
+
+    package_data["issue"] = cve_list
+    output["package"].append(package_data)
+
+    direct_file = d.getVar("CVE_CHECK_LOG_JSON")
+    deploy_file = d.getVar("CVE_CHECK_RECIPE_FILE_JSON")
+    manifest_file = d.getVar("CVE_CHECK_SUMMARY_FILE_NAME_JSON")
+
+    cve_check_write_json_output(d, output, direct_file, deploy_file, manifest_file)
+
+def cve_write_data(d, patched, unpatched, ignored, cve_data, status):
+    """
+    Write CVE data in each enabled format.
+    """
+
+    if d.getVar("CVE_CHECK_FORMAT_TEXT") == "1":
+        cve_write_data_text(d, patched, unpatched, ignored, cve_data)
+    if d.getVar("CVE_CHECK_FORMAT_JSON") == "1":
+        cve_write_data_json(d, patched, unpatched, ignored, cve_data, status)
diff --git a/poky/meta/classes/deploy.bbclass b/poky/meta/classes/deploy.bbclass
index 737c261..7fbffe9 100644
--- a/poky/meta/classes/deploy.bbclass
+++ b/poky/meta/classes/deploy.bbclass
@@ -7,6 +7,6 @@
     sstate_setscene(d)
 }
 addtask do_deploy_setscene
-do_deploy[dirs] = "${DEPLOYDIR} ${B}"
+do_deploy[dirs] = "${B}"
 do_deploy[cleandirs] = "${DEPLOYDIR}"
 do_deploy[stamp-extra-info] = "${MACHINE_ARCH}"
diff --git a/poky/meta/classes/devicetree.bbclass b/poky/meta/classes/devicetree.bbclass
index 7f3b808..2a62ae7 100644
--- a/poky/meta/classes/devicetree.bbclass
+++ b/poky/meta/classes/devicetree.bbclass
@@ -15,8 +15,8 @@
 SECTION ?= "bsp"
 
 # The default inclusion of kernel device tree includes and headers means that
-# device trees built with them are at least GPLv2 (and in some cases dual
-# licensed). Default to GPLv2 if the recipe does not specify a license.
+# device trees built with them are at least GPL-2.0-only (and in some cases dual
+# licensed). Default to GPL-2.0-only if the recipe does not specify a license.
 LICENSE ?= "GPL-2.0-only"
 LIC_FILES_CHKSUM ?= "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
 
diff --git a/poky/meta/classes/devupstream.bbclass b/poky/meta/classes/devupstream.bbclass
index facc46f..ba6dc41 100644
--- a/poky/meta/classes/devupstream.bbclass
+++ b/poky/meta/classes/devupstream.bbclass
@@ -30,10 +30,11 @@
     # Develpment releases are never preferred by default
     d.setVar("DEFAULT_PREFERENCE", "-1")
 
-    uri = bb.fetch2.URI(d.getVar("SRC_URI").split()[0])
+    src_uri = d.getVar("SRC_URI:class-devupstream") or d.getVar("SRC_URI")
+    uri = bb.fetch2.URI(src_uri.split()[0])
 
     if uri.scheme == "git" and not d.getVar("S:class-devupstream"):
-        d.setVar("S:class-devupstream", "${WORKDIR}/git")
+        d.setVar("S", "${WORKDIR}/git")
 
     # Modify the PV if the recipe hasn't already overridden it
     pv = d.getVar("PV")
diff --git a/poky/meta/classes/flit_core.bbclass b/poky/meta/classes/flit_core.bbclass
deleted file mode 100644
index 0f2eec8..0000000
--- a/poky/meta/classes/flit_core.bbclass
+++ /dev/null
@@ -1,16 +0,0 @@
-inherit pip_install_wheel python3native python3-dir
-
-DEPENDS += "python3 python3-flit-core-native python3-pip-native"
-
-do_configure () {
-    mkdir -p ${S}/dist
-    cat > ${S}/build-it.py << EOF
-from flit_core import buildapi
-buildapi.build_wheel('./dist')
-EOF
-}
-
-do_compile () {
-    ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} ${S}/build-it.py
-}
-
diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass
index a550b6a..9b912a3 100644
--- a/poky/meta/classes/icecc.bbclass
+++ b/poky/meta/classes/icecc.bbclass
@@ -423,18 +423,22 @@
     bbnote "Using icecc tarball: $ICECC_VERSION"
 }
 
+do_configure[network] = "1"
 do_configure:prepend() {
     set_icecc_env
 }
 
+do_compile[network] = "1"
 do_compile:prepend() {
     set_icecc_env
 }
 
+do_compile_kernelmodules[network] = "1"
 do_compile_kernelmodules:prepend() {
     set_icecc_env
 }
 
+do_install[network] = "1"
 do_install:prepend() {
     set_icecc_env
 }
diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass
index 2b0ce4a..7f1f6f8 100644
--- a/poky/meta/classes/image.bbclass
+++ b/poky/meta/classes/image.bbclass
@@ -253,7 +253,7 @@
     progress_reporter.finish()
 }
 do_rootfs[dirs] = "${TOPDIR}"
-do_rootfs[cleandirs] += "${S} ${IMGDEPLOYDIR}"
+do_rootfs[cleandirs] += "${IMAGE_ROOTFS} ${IMGDEPLOYDIR} ${S}"
 do_rootfs[file-checksums] += "${POSTINST_INTERCEPT_CHECKSUMS}"
 addtask rootfs after do_prepare_recipe_sysroot
 
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index 890e865..0deebdb 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -27,7 +27,7 @@
             mime mime-xdg unlisted-pkg-lics unhandled-features-check \
             missing-update-alternatives native-last missing-ptest \
             license-exists license-no-generic license-syntax license-format \
-            license-incompatible license-file-missing \
+            license-incompatible license-file-missing obsolete-license \
             "
 ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
             perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
@@ -429,7 +429,7 @@
     for line in phdrs.split("\n"):
         if "SYMTAB" in line:
             has_syms = True
-        if "GNU_HASH" in line or "DT_MIPS_XHASH" in line:
+        if "GNU_HASH" in line or "MIPS_XHASH" in line:
             sane = True
         if ("[mips32]" in line or "[mips64]" in line) and d.getVar('TCLIBC') == "musl":
             sane = True
@@ -441,7 +441,8 @@
 QAPATHTEST[buildpaths] = "package_qa_check_buildpaths"
 def package_qa_check_buildpaths(path, name, d, elf, messages):
     """
-    Check for build paths inside target files and error if not found in the whitelist
+    Check for build paths inside target files and error if paths are not
+    explicitly ignored.
     """
     # Ignore .debug files, not interesting
     if path.find(".debug") != -1:
@@ -549,7 +550,7 @@
                 import hashlib
                 lineno = 0
                 license = []
-                m = hashlib.md5()
+                m = hashlib.new('MD5', usedforsecurity=False)
                 for line in f:
                     lineno += 1
                     if (lineno >= beginline):
@@ -909,14 +910,19 @@
         return True
 
     recipe_lics_set = oe.license.list_licenses(d.getVar('LICENSE'))
-    unlisted = oe.license.list_licenses(pkg_lics) - recipe_lics_set
-    if not unlisted:
-        return True
-
-    oe.qa.add_message(messages, "unlisted-pkg-lics",
-                           "LICENSE:%s includes licenses (%s) that are not "
-                           "listed in LICENSE" % (package, ' '.join(unlisted)))
-    return False
+    package_lics = oe.license.list_licenses(pkg_lics)
+    unlisted = package_lics - recipe_lics_set
+    if unlisted:
+        oe.qa.add_message(messages, "unlisted-pkg-lics",
+                               "LICENSE:%s includes licenses (%s) that are not "
+                               "listed in LICENSE" % (package, ' '.join(unlisted)))
+        return False
+    obsolete = set(oe.license.obsolete_license_list()) & package_lics - recipe_lics_set
+    if obsolete:
+        oe.qa.add_message(messages, "obsolete-license",
+                               "LICENSE:%s includes obsolete licenses %s" % (package, ' '.join(obsolete)))
+        return False
+    return True
 
 QAPKGTEST[empty-dirs] = "package_qa_check_empty_dirs"
 def package_qa_check_empty_dirs(pkg, d, messages):
@@ -1012,6 +1018,14 @@
 
     bb.note("DO PACKAGE QA")
 
+    main_lic = d.getVar('LICENSE')
+
+    # Check for obsolete license references in main LICENSE (packages are checked below for any changes)
+    main_licenses = oe.license.list_licenses(d.getVar('LICENSE'))
+    obsolete = set(oe.license.obsolete_license_list()) & main_licenses
+    if obsolete:
+        oe.qa.handle_error("obsolete-license", "Recipe LICENSE includes obsolete licenses %s" % ' '.join(obsolete), d)
+
     bb.build.exec_func("read_subpackage_metadata", d)
 
     # Check non UTF-8 characters on recipe's metadata
@@ -1270,8 +1284,8 @@
             options = set()
             for line in output.splitlines():
                 options |= set(line.partition(flag)[2].split())
-            whitelist = set(d.getVar("UNKNOWN_CONFIGURE_OPT_IGNORE").split())
-            options -= whitelist
+            ignore_opts = set(d.getVar("UNKNOWN_CONFIGURE_OPT_IGNORE").split())
+            options -= ignore_opts
             if options:
                 pn = d.getVar('PN')
                 error_msg = pn + ": configure was passed unrecognised options: " + " ".join(options)
diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass
index c16977c..7e09b07 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes/kernel-fitimage.bbclass
@@ -1,14 +1,9 @@
 inherit kernel-uboot kernel-artifact-names uboot-sign
 
-KERNEL_IMAGETYPE_REPLACEMENT = ""
-
-python __anonymous () {
+def get_fit_replacement_type(d):
     kerneltypes = d.getVar('KERNEL_IMAGETYPES') or ""
+    replacementtype = ""
     if 'fitImage' in kerneltypes.split():
-        depends = d.getVar("DEPENDS")
-        depends = "%s u-boot-tools-native dtc-native" % depends
-        d.setVar("DEPENDS", depends)
-
         uarch = d.getVar("UBOOT_ARCH")
         if uarch == "arm64":
             replacementtype = "Image"
@@ -22,15 +17,18 @@
             replacementtype = "linux.bin"
         else:
             replacementtype = "zImage"
+    return replacementtype
 
-        d.setVar("KERNEL_IMAGETYPE_REPLACEMENT", replacementtype)
+KERNEL_IMAGETYPE_REPLACEMENT ?= "${@get_fit_replacement_type(d)}"
+DEPENDS:append = " ${@'u-boot-tools-native dtc-native' if 'fitImage' in (d.getVar('KERNEL_IMAGETYPES') or '').split() else ''}"
 
+python __anonymous () {
         # Override KERNEL_IMAGETYPE_FOR_MAKE variable, which is internal
         # to kernel.bbclass . We have to override it, since we pack zImage
         # (at least for now) into the fitImage .
         typeformake = d.getVar("KERNEL_IMAGETYPE_FOR_MAKE") or ""
         if 'fitImage' in typeformake.split():
-            d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake.replace('fitImage', replacementtype))
+            d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake.replace('fitImage', d.getVar('KERNEL_IMAGETYPE_REPLACEMENT')))
 
         image = d.getVar('INITRAMFS_IMAGE')
         if image:
@@ -64,6 +62,11 @@
 # Sign individual images as well
 FIT_SIGN_INDIVIDUAL ?= "0"
 
+FIT_CONF_PREFIX ?= "conf-"
+FIT_CONF_PREFIX[doc] = "Prefix to use for FIT configuration node name"
+
+FIT_SUPPORTED_INITRAMFS_FSTYPES ?= "cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst cpio.gz ext2.gz cpio"
+
 # Keys used to sign individually image nodes.
 # The keys to sign image nodes must be different from those used to sign
 # configuration nodes, otherwise the "required" property, from
@@ -358,7 +361,7 @@
 	# Test if we have any DTBs at all
 	sep=""
 	conf_desc=""
-	conf_node="conf-"
+	conf_node="${FIT_CONF_PREFIX}"
 	kernel_line=""
 	fdt_line=""
 	ramdisk_line=""
@@ -407,9 +410,9 @@
 		# default node is selected based on dtb ID if it is present,
 		# otherwise its selected based on kernel ID
 		if [ -n "$dtb_image" ]; then
-			default_line="default = \"conf-$dtb_image\";"
+			default_line="default = \"${FIT_CONF_PREFIX}$dtb_image\";"
 		else
-			default_line="default = \"conf-$kernel_id\";"
+			default_line="default = \"${FIT_CONF_PREFIX}$kernel_id\";"
 		fi
 	fi
 
@@ -565,17 +568,22 @@
 	#
 	if [ "x${ramdiskcount}" = "x1" ] && [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then
 		# Find and use the first initramfs image archive type we find
-		for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst cpio.gz ext2.gz cpio; do
+		found=
+		for img in ${FIT_SUPPORTED_INITRAMFS_FSTYPES}; do
 			initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img"
-			echo -n "Searching for $initramfs_path..."
 			if [ -e "$initramfs_path" ]; then
-				echo "found"
+				bbnote "Found initramfs image: $initramfs_path"
+				found=true
 				fitimage_emit_section_ramdisk $1 "$ramdiskcount" "$initramfs_path"
 				break
 			else
-				echo "not found"
+				bbnote "Did not find initramfs image: $initramfs_path"
 			fi
 		done
+
+		if [ -z "$found" ]; then
+			bbfatal "Could not find a valid initramfs type for ${INITRAMFS_IMAGE_NAME}, the supported types are: ${FIT_SUPPORTED_INITRAMFS_FSTYPES}"
+		fi
 	fi
 
 	fitimage_emit_section_maint $1 sectend
@@ -685,12 +693,12 @@
 			# make directory if it does not already exist
 			mkdir -p "${UBOOT_SIGN_KEYDIR}"
 
-			echo "Generating RSA private key for signing fitImage"
+			bbnote "Generating RSA private key for signing fitImage"
 			openssl genrsa ${FIT_KEY_GENRSA_ARGS} -out \
 				"${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \
 			"${FIT_SIGN_NUMBITS}"
 
-			echo "Generating certificate for signing fitImage"
+			bbnote "Generating certificate for signing fitImage"
 			openssl req ${FIT_KEY_REQ_ARGS} "${FIT_KEY_SIGN_PKCS}" \
 				-key "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".key \
 				-out "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_KEYNAME}".crt
@@ -703,12 +711,12 @@
 			# make directory if it does not already exist
 			mkdir -p "${UBOOT_SIGN_KEYDIR}"
 
-			echo "Generating RSA private key for signing fitImage"
+			bbnote "Generating RSA private key for signing fitImage"
 			openssl genrsa ${FIT_KEY_GENRSA_ARGS} -out \
 				"${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_IMG_KEYNAME}".key \
 			"${FIT_SIGN_NUMBITS}"
 
-			echo "Generating certificate for signing fitImage"
+			bbnote "Generating certificate for signing fitImage"
 			openssl req ${FIT_KEY_REQ_ARGS} "${FIT_KEY_SIGN_PKCS}" \
 				-key "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_IMG_KEYNAME}".key \
 				-out "${UBOOT_SIGN_KEYDIR}/${UBOOT_SIGN_IMG_KEYNAME}".crt
@@ -724,13 +732,13 @@
 	if echo ${KERNEL_IMAGETYPES} | grep -wq "fitImage"; then
 
 		if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then
-			echo "Copying fit-image.its source file..."
+			bbnote "Copying fit-image.its source file..."
 			install -m 0644 ${B}/fit-image.its "$deployDir/fitImage-its-${KERNEL_FIT_NAME}.its"
 			if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then
 				ln -snf fitImage-its-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${KERNEL_FIT_LINK_NAME}"
 			fi
 
-			echo "Copying linux.bin file..."
+			bbnote "Copying linux.bin file..."
 			install -m 0644 ${B}/linux.bin $deployDir/fitImage-linux.bin-${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT}
 			if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then
 				ln -snf fitImage-linux.bin-${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT} "$deployDir/fitImage-linux.bin-${KERNEL_FIT_LINK_NAME}"
@@ -738,14 +746,14 @@
 		fi
 
 		if [ -n "${INITRAMFS_IMAGE}" ]; then
-			echo "Copying fit-image-${INITRAMFS_IMAGE}.its source file..."
+			bbnote "Copying fit-image-${INITRAMFS_IMAGE}.its source file..."
 			install -m 0644 ${B}/fit-image-${INITRAMFS_IMAGE}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its"
 			if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then
 				ln -snf fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}.its "$deployDir/fitImage-its-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}"
 			fi
 
 			if [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then
-				echo "Copying fitImage-${INITRAMFS_IMAGE} file..."
+				bbnote "Copying fitImage-${INITRAMFS_IMAGE} file..."
 				install -m 0644 ${B}/arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT}"
 				if [ -n "${KERNEL_FIT_LINK_NAME}" ] ; then
 					ln -snf fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_NAME}${KERNEL_FIT_BIN_EXT} "$deployDir/fitImage-${INITRAMFS_IMAGE_NAME}-${KERNEL_FIT_LINK_NAME}"
@@ -764,9 +772,9 @@
 		# If we're also creating and/or signing the uboot fit, now we need to
 		# deploy it, it's its file, as well as u-boot-spl.dtb
 		install -m 0644 ${B}/u-boot-spl-${MACHINE}*.dtb "$deployDir/"
-		echo "Copying u-boot-fitImage file..."
+		bbnote "Copying u-boot-fitImage file..."
 		install -m 0644 ${B}/u-boot-fitImage-* "$deployDir/"
-		echo "Copying u-boot-its file..."
+		bbnote "Copying u-boot-its file..."
 		install -m 0644 ${B}/u-boot-its-* "$deployDir/"
 	fi
 }
diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass
index 4f304eb..b3bbd3b 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -234,7 +234,7 @@
 KERNEL_EXTRA_ARGS ?= ""
 
 EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
-EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}""
+EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX}" HOSTCXXFLAGS="${BUILD_CXXFLAGS}" PAHOLE=false"
 
 KERNEL_ALT_IMAGETYPE ??= ""
 
@@ -639,7 +639,7 @@
 
 inherit cml1
 
-KCONFIG_CONFIG_COMMAND:append = " LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'"
+KCONFIG_CONFIG_COMMAND:append = " PAHOLE=false LD='${KERNEL_LD}' HOSTLDFLAGS='${BUILD_LDFLAGS}'"
 
 EXPORT_FUNCTIONS do_compile do_transform_kernel do_transform_bundled_initramfs do_install do_configure
 
diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass
index dec9867..0c637e9 100644
--- a/poky/meta/classes/license.bbclass
+++ b/poky/meta/classes/license.bbclass
@@ -193,7 +193,7 @@
                                     os.path.join(srcdir, non_generic_lic), None, None))
             non_generic_lics[non_generic_lic] = license_type
         else:
-            # Add explicity avoid of CLOSED license because this isn't generic
+            # Explicitly avoid the CLOSED license because this isn't generic
             if license_type != 'CLOSED':
                 # And here is where we warn people that their licenses are lousy
                 oe.qa.handle_error("license-exists",
@@ -252,52 +252,34 @@
 def canonical_license(d, license):
     """
     Return the canonical (SPDX) form of the license if available (so GPLv3
-    becomes GPL-3.0) or the passed license if there is no canonical form.
+    becomes GPL-3.0-only) or the passed license if there is no canonical form.
     """
     return d.getVarFlag('SPDXLICENSEMAP', license) or license
 
-def available_licenses(d):
-    """
-    Return the available licenses by searching the directories specified by
-    COMMON_LICENSE_DIR and LICENSE_PATH.
-    """
-    lic_dirs = ((d.getVar('COMMON_LICENSE_DIR') or '') + ' ' +
-                (d.getVar('LICENSE_PATH') or '')).split()
-
-    licenses = []
-    for lic_dir in lic_dirs:
-        licenses += os.listdir(lic_dir)
-
-    licenses = sorted(licenses)
-    return licenses
-
-# Only determine the list of all available licenses once. This assumes that any
-# additions to LICENSE_PATH have been done before this file is parsed.
-AVAILABLE_LICENSES := "${@' '.join(available_licenses(d))}"
-
 def expand_wildcard_licenses(d, wildcard_licenses):
     """
-    Return actual spdx format license names if wildcards are used. We expand
-    wildcards from SPDXLICENSEMAP flags and AVAILABLE_LICENSES.
+    There are some common wildcard values users may want to use. Support them
+    here.
     """
-    import fnmatch
+    licenses = set(wildcard_licenses)
+    mapping = {
+        "AGPL-3.0*" : ["AGPL-3.0-only", "AGPL-3.0-or-later"],
+        "GPL-3.0*" : ["GPL-3.0-only", "GPL-3.0-or-later"],
+        "LGPL-3.0*" : ["LGPL-3.0-only", "LGPL-3.0-or-later"],
+    }
+    for k in mapping:
+        if k in wildcard_licenses:
+            licenses.remove(k)
+            for item in mapping[k]:
+                licenses.add(item)
 
-    licenses = wildcard_licenses[:]
-    spdxmapkeys = d.getVarFlags('SPDXLICENSEMAP').keys()
-    for wld_lic in wildcard_licenses:
-        spdxflags = fnmatch.filter(spdxmapkeys, wld_lic)
-        licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags]
-        # Assume if we're passed "GPLv3" or "*GPLv3" it means -or-later as well
-        if not wld_lic.endswith(("-or-later", "-only", "*", "+")):
-            spdxflags = fnmatch.filter(spdxmapkeys, wld_lic + "+")
-            licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags]
+    for l in licenses:
+        if l in oe.license.obsolete_license_list():
+            bb.fatal("Error, %s is an obsolete license, please use an SPDX reference in INCOMPATIBLE_LICENSE" % l)
+        if "*" in l:
+            bb.fatal("Error, %s is an invalid license wildcard entry" % l)
 
-    spdx_lics = d.getVar('AVAILABLE_LICENSES').split()
-    for wld_lic in wildcard_licenses:
-        licenses += fnmatch.filter(spdx_lics, wld_lic)
-
-    licenses = list(set(licenses))
-    return licenses
+    return list(licenses)
 
 def incompatible_license_contains(license, truevalue, falsevalue, d):
     license = canonical_license(d, license)
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass
index bf70bee..0a5ea0a 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes/license_image.bbclass
@@ -54,28 +54,23 @@
     bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split()
     bad_licenses = expand_wildcard_licenses(d, bad_licenses)
 
-    whitelist = []
-    for lic in bad_licenses:
-        whitelist.extend((d.getVar("WHITELIST_" + lic) or "").split())
-
+    exceptions = (d.getVar("INCOMPATIBLE_LICENSE_EXCEPTIONS") or "").split()
     with open(license_manifest, "w") as license_file:
         for pkg in sorted(pkg_dic):
-            if bad_licenses and pkg not in whitelist:
-                try:
-                    licenses = incompatible_pkg_license(d, bad_licenses, pkg_dic[pkg]["LICENSE"])
-                    if licenses:
-                        bb.fatal("Package %s cannot be installed into the image because it has incompatible license(s): %s" %(pkg, ' '.join(licenses)))
-                    (pkg_dic[pkg]["LICENSE"], pkg_dic[pkg]["LICENSES"]) = \
-                        oe.license.manifest_licenses(pkg_dic[pkg]["LICENSE"],
-                        bad_licenses, canonical_license, d)
-                except oe.license.LicenseError as exc:
-                    bb.fatal('%s: %s' % (d.getVar('P'), exc))
+            remaining_bad_licenses = oe.license.apply_pkg_license_exception(pkg, bad_licenses, exceptions)
+            incompatible_licenses = incompatible_pkg_license(d, remaining_bad_licenses, pkg_dic[pkg]["LICENSE"])
+            if incompatible_licenses:
+                bb.fatal("Package %s cannot be installed into the image because it has incompatible license(s): %s" %(pkg, ' '.join(incompatible_licenses)))
             else:
-                pkg_dic[pkg]["LICENSES"] = re.sub(r'[|&()*]', ' ', pkg_dic[pkg]["LICENSE"])
-                pkg_dic[pkg]["LICENSES"] = re.sub(r'  *', ' ', pkg_dic[pkg]["LICENSES"])
-                pkg_dic[pkg]["LICENSES"] = pkg_dic[pkg]["LICENSES"].split()
-                if pkg in whitelist:
-                    oe.qa.handle_error('license-incompatible', "Including %s with an incompatible license %s into the image, because it has been whitelisted." %(pkg, pkg_dic[pkg]["LICENSE"]), d)
+                incompatible_licenses = incompatible_pkg_license(d, bad_licenses, pkg_dic[pkg]["LICENSE"])
+                if incompatible_licenses:
+                    oe.qa.handle_error('license-incompatible', "Including %s with incompatible license(s) %s into the image, because it has been allowed by exception list." %(pkg, ' '.join(incompatible_licenses)), d)
+            try:
+                (pkg_dic[pkg]["LICENSE"], pkg_dic[pkg]["LICENSES"]) = \
+                    oe.license.manifest_licenses(pkg_dic[pkg]["LICENSE"],
+                    remaining_bad_licenses, canonical_license, d)
+            except oe.license.LicenseError as exc:
+                bb.fatal('%s: %s' % (d.getVar('P'), exc))
 
             if not "IMAGE_MANIFEST" in pkg_dic[pkg]:
                 # Rootfs manifest
diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass
index ec20131..5859ca8 100644
--- a/poky/meta/classes/multilib.bbclass
+++ b/poky/meta/classes/multilib.bbclass
@@ -75,11 +75,12 @@
     e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
     e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)
 
-    # Expand WHITELIST_GPL-3.0 with multilib prefix
-    pkgs = e.data.getVar("WHITELIST_GPL-3.0")
-    for pkg in pkgs.split():
-        pkgs += " " + variant + "-" + pkg
-    e.data.setVar("WHITELIST_GPL-3.0", pkgs)
+    # Expand INCOMPATIBLE_LICENSE_EXCEPTIONS with multilib prefix
+    pkgs = e.data.getVar("INCOMPATIBLE_LICENSE_EXCEPTIONS")
+    if pkgs:
+        for pkg in pkgs.split():
+            pkgs += " " + variant + "-" + pkg
+        e.data.setVar("INCOMPATIBLE_LICENSE_EXCEPTIONS", pkgs)
 
     # DEFAULTTUNE can change TARGET_ARCH override so expand this now before update_data
     newtune = e.data.getVar("DEFAULTTUNE:" + "virtclass-multilib-" + variant, False)
diff --git a/poky/meta/classes/multilib_global.bbclass b/poky/meta/classes/multilib_global.bbclass
index ab8ca0e..e06307d 100644
--- a/poky/meta/classes/multilib_global.bbclass
+++ b/poky/meta/classes/multilib_global.bbclass
@@ -39,6 +39,9 @@
                     override = ":virtclass-multilib-" + p
                     localdata.setVar("OVERRIDES", localdata.getVar("OVERRIDES", False) + override)
                     if "-canadian-" in pkg:
+                        newtune = localdata.getVar("DEFAULTTUNE:" + "virtclass-multilib-" + p, False)
+                        if newtune:
+                            localdata.setVar("DEFAULTTUNE", newtune)
                         newname = localdata.expand(v)
                     else:
                         newname = localdata.expand(v).replace(version_str, version_str + p + '-')
diff --git a/poky/meta/classes/overlayfs-etc.bbclass b/poky/meta/classes/overlayfs-etc.bbclass
index 4ced07b..91afee6 100644
--- a/poky/meta/classes/overlayfs-etc.bbclass
+++ b/poky/meta/classes/overlayfs-etc.bbclass
@@ -26,7 +26,7 @@
 # overlay is out of scope of this class
 
 ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "overlayfs-etc", "create_overlayfs_etc_preinit;", "", d)}'
-IMAGE_FEATURES_CONFLICTS_overlayfs-etc = "package-management"
+IMAGE_FEATURES_CONFLICTS_overlayfs-etc = "${@ 'package-management' if bb.utils.to_boolean(d.getVar('OVERLAYFS_ETC_USE_ORIG_INIT_NAME'), True) else ''}"
 
 OVERLAYFS_ETC_MOUNT_POINT ??= ""
 OVERLAYFS_ETC_FSTYPE ??= ""
diff --git a/poky/meta/classes/overlayfs.bbclass b/poky/meta/classes/overlayfs.bbclass
index 4a860f7..29fced2 100644
--- a/poky/meta/classes/overlayfs.bbclass
+++ b/poky/meta/classes/overlayfs.bbclass
@@ -103,7 +103,8 @@
     unitList = unitFileList(d)
     for unit in unitList:
         d.appendVar('SYSTEMD_SERVICE:' + d.getVar('PN'), ' ' + unit)
-        d.appendVar('FILES:' + d.getVar('PN'), ' ' + strForBash(unit))
+        d.appendVar('FILES:' + d.getVar('PN'), ' ' +
+                d.getVar('systemd_system_unitdir') + '/' + strForBash(unit))
 
     d.setVar('OVERLAYFS_UNIT_LIST', ' '.join([strForBash(s) for s in unitList]))
 }
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index f822258..e71daaf 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -2464,7 +2464,7 @@
     oe.qa.exit_if_errors(d)
 }
 
-do_package[dirs] = "${SHLIBSWORKDIR} ${PKGDESTWORK} ${D}"
+do_package[dirs] = "${SHLIBSWORKDIR} ${D}"
 do_package[vardeps] += "${PACKAGEBUILDPKGD} ${PACKAGESPLITFUNCS} ${PACKAGEFUNCS} ${@gen_packagevar(d)}"
 addtask package after do_install
 
diff --git a/poky/meta/classes/pip_install_wheel.bbclass b/poky/meta/classes/pip_install_wheel.bbclass
deleted file mode 100644
index 9f9feda..0000000
--- a/poky/meta/classes/pip_install_wheel.bbclass
+++ /dev/null
@@ -1,48 +0,0 @@
-DEPENDS:append = " python3-pip-native"
-
-def guess_pip_install_package_name(d):
-    '''https://www.python.org/dev/peps/pep-0491/#escaping-and-unicode'''
-    return (d.getVar('PYPI_PACKAGE') or d.getVar('PN')).replace('-', '_')
-
-PIP_INSTALL_PACKAGE ?= "${@guess_pip_install_package_name(d)}"
-PIP_INSTALL_DIST_PATH ?= "${B}/dist"
-PYPA_WHEEL ??= "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-${PV}-*.whl"
-
-PIP_INSTALL_ARGS ?= "\
-    -vvvv \
-    --ignore-installed \
-    --no-cache \
-    --no-deps \
-    --no-index \
-    --root=${D} \
-    --prefix=${prefix} \
-"
-
-pip_install_wheel_do_install:prepend () {
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-}
-
-export PYPA_WHEEL
-
-PIP_INSTALL_PYTHON = "python3"
-PIP_INSTALL_PYTHON:class-native = "nativepython3"
-
-pip_install_wheel_do_install () {
-    nativepython3 -m pip install ${PIP_INSTALL_ARGS} ${PYPA_WHEEL} ||
-    bbfatal_log "Failed to pip install wheel. Check the logs."
-
-    for i in ${D}${bindir}/* ${D}${sbindir}/*; do
-        if [ -f "$i" ]; then
-            sed -i -e "1s,#!.*nativepython3,#!${USRBINPATH}/env ${PIP_INSTALL_PYTHON}," $i
-            sed -i -e "s:${PYTHON}:${USRBINPATH}/env\ ${PIP_INSTALL_PYTHON}:g" $i
-            sed -i -e "s:${STAGING_BINDIR_NATIVE}:${bindir}:g" $i
-            # Recompile after modifying it
-            cd ${D}
-            file=`echo $i | sed 's:^${D}/::'`
-            ${STAGING_BINDIR_NATIVE}/python3-native/python3 -c "from py_compile import compile; compile('$file')"
-            cd -
-        fi
-    done
-}
-
-EXPORT_FUNCTIONS do_install
diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass
index 9c9561c..e2019f9 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes/populate_sdk_ext.bbclass
@@ -282,8 +282,8 @@
         bb.utils.mkdirhier(uninative_outdir)
         shutil.copy(uninative_file, uninative_outdir)
 
-    env_whitelist = (d.getVar('BB_ENV_PASSTHROUGH_ADDITIONS') or '').split()
-    env_whitelist_values = {}
+    env_passthrough = (d.getVar('BB_ENV_PASSTHROUGH_ADDITIONS') or '').split()
+    env_passthrough_values = {}
 
     # Create local.conf
     builddir = d.getVar('TOPDIR')
@@ -294,15 +294,15 @@
     if derivative:
         shutil.copyfile(builddir + '/conf/local.conf', baseoutpath + '/conf/local.conf')
     else:
-        local_conf_whitelist = (d.getVar('ESDK_LOCALCONF_ALLOW') or '').split()
-        local_conf_blacklist = (d.getVar('ESDK_LOCALCONF_REMOVE') or '').split()
+        local_conf_allowed = (d.getVar('ESDK_LOCALCONF_ALLOW') or '').split()
+        local_conf_remove = (d.getVar('ESDK_LOCALCONF_REMOVE') or '').split()
         def handle_var(varname, origvalue, op, newlines):
-            if varname in local_conf_blacklist or (origvalue.strip().startswith('/') and not varname in local_conf_whitelist):
+            if varname in local_conf_remove or (origvalue.strip().startswith('/') and not varname in local_conf_allowed):
                 newlines.append('# Removed original setting of %s\n' % varname)
                 return None, op, 0, True
             else:
-                if varname in env_whitelist:
-                    env_whitelist_values[varname] = origvalue
+                if varname in env_passthrough:
+                    env_passthrough_values[varname] = origvalue
                 return origvalue, op, 0, True
         varlist = ['[^#=+ ]*']
         oldlines = []
@@ -356,7 +356,7 @@
             # We want to be able to set this without a full reparse
             f.write('BB_HASHCONFIG_IGNORE_VARS:append = " SIGGEN_UNLOCKED_RECIPES"\n\n')
 
-            # Set up whitelist for run on install
+            # Set up which tasks are ignored for run on install
             f.write('BB_SETSCENE_ENFORCE_IGNORE_TASKS = "%:* *:do_shared_workdir *:do_rm_work wic-tools:* *:do_addto_recipe_sysroot"\n\n')
 
             # Hide the config information from bitbake output (since it's fixed within the SDK)
@@ -438,7 +438,7 @@
     # Ensure any variables set from the external environment (by way of
     # BB_ENV_PASSTHROUGH_ADDITIONS) are set in the SDK's configuration
     extralines = []
-    for name, value in env_whitelist_values.items():
+    for name, value in env_passthrough_values.items():
         actualvalue = d.getVar(name) or ''
         if value != actualvalue:
             extralines.append('%s = "%s"\n' % (name, actualvalue))
diff --git a/poky/meta/classes/python_flit_core.bbclass b/poky/meta/classes/python_flit_core.bbclass
new file mode 100644
index 0000000..96652aa
--- /dev/null
+++ b/poky/meta/classes/python_flit_core.bbclass
@@ -0,0 +1,5 @@
+inherit python_pep517 python3native python3-dir setuptools3-base
+
+DEPENDS += "python3 python3-flit-core-native"
+
+PEP517_BUILD_API = "flit_core.buildapi"
diff --git a/poky/meta/classes/python_pep517.bbclass b/poky/meta/classes/python_pep517.bbclass
new file mode 100644
index 0000000..34ffdc9c
--- /dev/null
+++ b/poky/meta/classes/python_pep517.bbclass
@@ -0,0 +1,56 @@
+# Common infrastructure for Python packages that use PEP-517 compliant packaging.
+# https://www.python.org/dev/peps/pep-0517/
+#
+# This class will build a wheel in do_compile, and use pypa/installer to install
+# it in do_install.
+
+DEPENDS:append = " python3-installer-native"
+
+# Where to execute the build process from
+PEP517_SOURCE_PATH ?= "${S}"
+
+# The PEP517 build API entry point
+PEP517_BUILD_API ?= "unset"
+
+# The directory where wheels will be written
+PEP517_WHEEL_PATH ?= "${WORKDIR}/dist"
+
+# The interpreter to use for installed scripts
+PEP517_INSTALL_PYTHON = "python3"
+PEP517_INSTALL_PYTHON:class-native = "nativepython3"
+
+# pypa/installer option to control the bytecode compilation
+INSTALL_WHEEL_COMPILE_BYTECODE ?= "--compile-bytecode=0"
+
+# PEP517 doesn't have a specific configure step, so set an empty do_configure to avoid
+# running base_do_configure.
+python_pep517_do_configure () {
+    :
+}
+
+# When we have Python 3.11 we can parse pyproject.toml to determine the build
+# API entry point directly
+python_pep517_do_compile () {
+    cd ${PEP517_SOURCE_PATH}
+    nativepython3 -c "import ${PEP517_BUILD_API} as api; api.build_wheel('${PEP517_WHEEL_PATH}')"
+}
+do_compile[cleandirs] += "${PEP517_WHEEL_PATH}"
+
+python_pep517_do_install () {
+    COUNT=$(find ${PEP517_WHEEL_PATH} -name '*.whl' | wc -l)
+    if test $COUNT -eq 0; then
+        bbfatal No wheels found in ${PEP517_WHEEL_PATH}
+    elif test $COUNT -gt 1; then
+        bbfatal More than one wheel found in ${PEP517_WHEEL_PATH}, this should not happen
+    fi
+
+    nativepython3 -m installer ${INSTALL_WHEEL_COMPILE_BYTECODE} --interpreter "${USRBINPATH}/env ${PEP517_INSTALL_PYTHON}" --destdir=${D} ${PEP517_WHEEL_PATH}/*.whl
+}
+
+# A manual do_install that just uses unzip for bootstrapping purposes. Callers should DEPEND on unzip-native.
+python_pep517_do_bootstrap_install () {
+    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
+    unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PEP517_WHEEL_PATH}/*.whl
+}
+
+EXPORT_FUNCTIONS do_configure do_compile do_install
diff --git a/poky/meta/classes/python_poetry_core.bbclass b/poky/meta/classes/python_poetry_core.bbclass
new file mode 100644
index 0000000..577663b
--- /dev/null
+++ b/poky/meta/classes/python_poetry_core.bbclass
@@ -0,0 +1,5 @@
+inherit python_pep517 python3native setuptools3-base
+
+DEPENDS += "python3-poetry-core-native"
+
+PEP517_BUILD_API = "poetry.core.masonry.api"
diff --git a/poky/meta/classes/python_pyo3.bbclass b/poky/meta/classes/python_pyo3.bbclass
new file mode 100644
index 0000000..10cc3a0
--- /dev/null
+++ b/poky/meta/classes/python_pyo3.bbclass
@@ -0,0 +1,30 @@
+#
+# This class helps make sure that Python extensions built with PyO3
+# and setuptools_rust properly set up the environment for cross compilation
+#
+
+inherit cargo python3-dir siteinfo
+
+export PYO3_CROSS="1"
+export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}"
+export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}"
+export CARGO_BUILD_TARGET="${HOST_SYS}"
+export RUSTFLAGS
+export PYO3_PYTHON="${PYTHON}"
+export PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config"
+
+python_pyo3_do_configure () {
+    cat > ${WORKDIR}/pyo3.config << EOF
+implementation=CPython
+version=${PYTHON_BASEVERSION}
+shared=true
+abi3=false
+lib_name=${PYTHON_DIR}
+lib_dir=${STAGING_LIBDIR}
+pointer_width=${SITEINFO_BITS}
+build_flags=WITH_THREAD
+suppress_build_script_link_lines=false
+EOF
+}
+
+EXPORT_FUNCTIONS do_configure
diff --git a/poky/meta/classes/python_setuptools3_rust.bbclass b/poky/meta/classes/python_setuptools3_rust.bbclass
new file mode 100644
index 0000000..f12e5d0
--- /dev/null
+++ b/poky/meta/classes/python_setuptools3_rust.bbclass
@@ -0,0 +1,11 @@
+inherit python_pyo3 setuptools3
+
+DEPENDS += "python3-setuptools-rust-native"
+
+python_setuptools3_rust_do_configure() {
+    python_pyo3_do_configure
+    cargo_common_do_configure
+    setuptools3_do_configure
+}
+
+EXPORT_FUNCTIONS do_configure
diff --git a/poky/meta/classes/python_setuptools_build_meta.bbclass b/poky/meta/classes/python_setuptools_build_meta.bbclass
new file mode 100644
index 0000000..b2bba35
--- /dev/null
+++ b/poky/meta/classes/python_setuptools_build_meta.bbclass
@@ -0,0 +1,5 @@
+inherit setuptools3-base python_pep517
+
+DEPENDS += "python3-setuptools-native python3-wheel-native"
+
+PEP517_BUILD_API = "setuptools.build_meta"
diff --git a/poky/meta/classes/qemuboot.bbclass b/poky/meta/classes/qemuboot.bbclass
index 755d49a..ad84899 100644
--- a/poky/meta/classes/qemuboot.bbclass
+++ b/poky/meta/classes/qemuboot.bbclass
@@ -29,7 +29,7 @@
 #
 # QB_AUDIO_DRV: qemu audio driver, e.g., "alsa", set it when support audio
 #
-# QB_AUDIO_OPT: qemu audio option, e.g., "-soundhw ac97,es1370", used
+# QB_AUDIO_OPT: qemu audio option, e.g., "-device AC97", used
 #               when QB_AUDIO_DRV is set.
 #
 # QB_RNG: Pass-through for host random number generator, it can speedup boot
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass
index cd8986d..7b92df6 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -78,12 +78,8 @@
 			eval groupadd --root ${IMAGE_ROOTFS} $groupadd_params || true
 		elif [ "$type" = "m" ]; then
 			group=$id
-			if [ ! `grep -q "^${group}:" ${IMAGE_ROOTFS}${sysconfdir}/group` ]; then
-				eval groupadd --root ${IMAGE_ROOTFS} --system $group
-			fi
-			if [ ! `grep -q "^${name}:" ${IMAGE_ROOTFS}${sysconfdir}/passwd` ]; then
-				eval useradd --root ${IMAGE_ROOTFS} --shell /sbin/nologin --system $name
-			fi
+			eval groupadd --root ${IMAGE_ROOTFS} --system $group || true
+			eval useradd --root ${IMAGE_ROOTFS} --shell /sbin/nologin --system $name --no-user-group || true
 			eval usermod --root ${IMAGE_ROOTFS} -a -G $group $name
 		fi
 		done
@@ -376,25 +372,45 @@
 	fi
 }
 
+# Perform a dumb check for unit existence, not its validity
 python overlayfs_qa_check() {
     from oe.overlayfs import mountUnitName
 
-    # this is a dumb check for unit existence, not its validity
     overlayMountPoints = d.getVarFlags("OVERLAYFS_MOUNT_POINT") or {}
     imagepath = d.getVar("IMAGE_ROOTFS")
-    searchpaths = [oe.path.join(imagepath, d.getVar("sysconfdir"), "systemd", "system"),
+    sysconfdir = d.getVar("sysconfdir")
+    searchpaths = [oe.path.join(imagepath, sysconfdir, "systemd", "system"),
                    oe.path.join(imagepath, d.getVar("systemd_system_unitdir"))]
+    fstabpath = oe.path.join(imagepath, sysconfdir, "fstab")
+
+    if not any(os.path.exists(path) for path in [*searchpaths, fstabpath]):
+        return
+
+    fstabDevices = []
+    if os.path.isfile(fstabpath):
+        with open(fstabpath, 'r') as f:
+            for line in f:
+                if line[0] == '#':
+                    continue
+                path = line.split(maxsplit=2)
+                if len(path) > 2:
+                    fstabDevices.append(path[1])
 
     allUnitExist = True;
     for mountPoint in overlayMountPoints:
-        path = d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint)
-        unit = mountUnitName(path)
+        mountPath = d.getVarFlag('OVERLAYFS_MOUNT_POINT', mountPoint)
+        if mountPath in fstabDevices:
+            continue
 
-        if not any(os.path.isfile(oe.path.join(dirpath, unit))
-                   for dirpath in searchpaths):
-            bb.warn('Unit name %s not found in systemd unit directories' % unit)
-            allUnitExist = False;
+        mountUnit = mountUnitName(mountPath)
+        if any(os.path.isfile(oe.path.join(dirpath, mountUnit))
+               for dirpath in searchpaths):
+            continue
+
+        bb.warn('Mount path %s not found in fstat and unit %s not found '
+                'in systemd unit directories' % (mountPath, mountUnit))
+        allUnitExist = False;
 
     if not allUnitExist:
-        bb.fatal('Not all mount units are installed by the BSP')
+        bb.fatal('Not all mount paths and units are installed in the image')
 }
diff --git a/poky/meta/classes/rust-common.bbclass b/poky/meta/classes/rust-common.bbclass
index 65ad677..02a5382 100644
--- a/poky/meta/classes/rust-common.bbclass
+++ b/poky/meta/classes/rust-common.bbclass
@@ -16,6 +16,7 @@
 # Native builds are not effected by TCLIBC. Without this, rust-native
 # thinks it's "target" (i.e. x86_64-linux) is a musl target.
 RUST_LIBC = "${TCLIBC}"
+RUST_LIBC:class-crosssdk = "glibc"
 RUST_LIBC:class-native = "glibc"
 
 def determine_libc(d, thing):
diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass
index 773902e..be956fb 100644
--- a/poky/meta/classes/sanity.bbclass
+++ b/poky/meta/classes/sanity.bbclass
@@ -559,6 +559,24 @@
                 bb.fatal(str(e))
             d.setVar("BB_INVALIDCONF", True)
 
+def drop_v14_cross_builds(d):
+    import glob
+    indexes = glob.glob(d.expand("${SSTATE_MANIFESTS}/index-${BUILD_ARCH}_*"))
+    for i in indexes:
+        with open(i, "r") as f:
+            lines = f.readlines()
+            for l in reversed(lines):
+                try:
+                    (stamp, manifest, workdir) = l.split()
+                except ValueError:
+                    bb.fatal("Invalid line '%s' in sstate manifest '%s'" % (l, i))
+                for m in glob.glob(manifest + ".*"):
+                    if m.endswith(".postrm"):
+                        continue
+                    sstate_clean_manifest(m, d)
+                bb.utils.remove(stamp + "*")
+                bb.utils.remove(workdir, recurse = True)
+
 def sanity_handle_abichanges(status, d):
     #
     # Check the 'ABI' of TMPDIR
@@ -577,7 +595,10 @@
             status.addresult("The layout of TMPDIR changed for Recipe Specific Sysroots.\nConversion doesn't make sense and this change will rebuild everything so please delete TMPDIR (%s).\n" % d.getVar("TMPDIR"))
         elif int(abi) <= 13 and current_abi == "14":
             status.addresult("TMPDIR changed to include path filtering from the pseudo database.\nIt is recommended to use a clean TMPDIR with the new pseudo path filtering so TMPDIR (%s) would need to be removed to continue.\n" % d.getVar("TMPDIR"))
-
+        elif int(abi) == 14 and current_abi == "15":
+            drop_v14_cross_builds(d)
+            with open(abifile, "w") as f:
+                f.write(current_abi)
         elif (abi != current_abi):
             # Code to convert from one ABI to another could go here if possible.
             status.addresult("Error, TMPDIR has changed its layout version number (%s to %s) and you need to either rebuild, revert or adjust it at your own risk.\n" % (abi, current_abi))
@@ -893,6 +914,11 @@
                     mirror_base = urllib.parse.urlparse(mirror[:-1*len('/PATH')]).path
                     check_symlink(mirror_base, d)
 
+    # Check sstate mirrors aren't being used with a local hash server and no remote
+    hashserv = d.getVar("BB_HASHSERVE")
+    if d.getVar("SSTATE_MIRRORS") and hashserv and hashserv.startswith("unix://") and not d.getVar("BB_HASHSERVE_UPSTREAM"):
+        bb.warn("You are using a local hash equivalence server but have configured an sstate mirror. This will likely mean no sstate will match from the mirror. You may wish to disable the hash equivalence use (BB_HASHSERVE), or use a hash equivalence server alongside the sstate mirror.")
+
     # Check that TMPDIR hasn't changed location since the last time we were run
     tmpdir = d.getVar('TMPDIR')
     checkfile = os.path.join(tmpdir, "saved_tmpdir")
diff --git a/poky/meta/classes/setuptools3-base.bbclass b/poky/meta/classes/setuptools3-base.bbclass
index 5098ae9..15abe1d 100644
--- a/poky/meta/classes/setuptools3-base.bbclass
+++ b/poky/meta/classes/setuptools3-base.bbclass
@@ -1,6 +1,6 @@
 DEPENDS:append:class-target = " ${PYTHON_PN}-native ${PYTHON_PN}"
 DEPENDS:append:class-nativesdk = " ${PYTHON_PN}-native ${PYTHON_PN}"
-RDEPENDS:${PN} += "${@['', '${PYTHON_PN}-core']['${CLASSOVERRIDE}' == 'class-target']}"
+RDEPENDS:${PN}:append:class-target = " ${PYTHON_PN}-core"
 
 export STAGING_INCDIR
 export STAGING_LIBDIR
diff --git a/poky/meta/classes/setuptools3.bbclass b/poky/meta/classes/setuptools3.bbclass
index 1256134..556bc80 100644
--- a/poky/meta/classes/setuptools3.bbclass
+++ b/poky/meta/classes/setuptools3.bbclass
@@ -1,16 +1,9 @@
-inherit setuptools3-base pip_install_wheel
+inherit setuptools3-base python_pep517
 
 # bdist_wheel builds in ./dist
 #B = "${WORKDIR}/build"
 
 SETUPTOOLS_BUILD_ARGS ?= ""
-SETUPTOOLS_INSTALL_ARGS ?= "--root=${D} \
-    --prefix=${prefix} \
-    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
-    --install-data=${datadir}"
-
-SETUPTOOLS_PYTHON = "python3"
-SETUPTOOLS_PYTHON:class-native = "nativepython3"
 
 SETUPTOOLS_SETUP_PATH ?= "${S}"
 
@@ -24,41 +17,17 @@
         STAGING_INCDIR=${STAGING_INCDIR} \
         STAGING_LIBDIR=${STAGING_LIBDIR} \
         ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \
-        bdist_wheel ${SETUPTOOLS_BUILD_ARGS} || \
+        bdist_wheel --verbose --dist-dir ${PEP517_WHEEL_PATH} ${SETUPTOOLS_BUILD_ARGS} || \
         bbfatal_log "'${PYTHON_PN} setup.py bdist_wheel ${SETUPTOOLS_BUILD_ARGS}' execution failed."
 }
 setuptools3_do_compile[vardepsexclude] = "MACHINE"
+do_compile[cleandirs] += "${PEP517_WHEEL_PATH}"
 
 setuptools3_do_install() {
-        cd ${SETUPTOOLS_SETUP_PATH}
-
-        pip_install_wheel_do_install
-
-        # support filenames with *spaces*
-        find ${D} -name "*.py" -exec grep -q ${D} {} \; \
-                               -exec sed -i -e s:${D}::g {} \;
-
-        for i in ${D}${bindir}/* ${D}${sbindir}/*; do
-            if [ -f "$i" ]; then
-                sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${SETUPTOOLS_PYTHON}:g $i
-                sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
-            fi
-        done
-
-        rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth
-
-        #
-        # FIXME: Bandaid against wrong datadir computation
-        #
-        if [ -e ${D}${datadir}/share ]; then
-            mv -f ${D}${datadir}/share/* ${D}${datadir}/
-            rmdir ${D}${datadir}/share
-        fi
+        python_pep517_do_install
 }
-setuptools3_do_install[vardepsexclude] = "MACHINE"
 
 EXPORT_FUNCTIONS do_configure do_compile do_install
 
 export LDSHARED="${CCLD} -shared"
 DEPENDS += "python3-setuptools-native python3-wheel-native"
-
diff --git a/poky/meta/classes/setuptools3_legacy.bbclass b/poky/meta/classes/setuptools3_legacy.bbclass
new file mode 100644
index 0000000..5a99daa
--- /dev/null
+++ b/poky/meta/classes/setuptools3_legacy.bbclass
@@ -0,0 +1,78 @@
+# This class is for packages which use the deprecated setuptools behaviour,
+# specifically custom install tasks which don't work correctly with bdist_wheel.
+# This behaviour is deprecated in setuptools[1] and won't work in the future, so
+# all users of this should consider their options: pure Python modules can use a
+# modern Python tool such as build[2], or packages which are doing more (such as
+# installing init scripts) should use a fully-featured build system such as Meson.
+#
+# [1] https://setuptools.pypa.io/en/latest/history.html#id142
+# [2] https://pypi.org/project/build/
+
+inherit setuptools3-base
+
+B = "${WORKDIR}/build"
+
+SETUPTOOLS_BUILD_ARGS ?= ""
+SETUPTOOLS_INSTALL_ARGS ?= "--root=${D} \
+    --prefix=${prefix} \
+    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
+    --install-data=${datadir}"
+
+SETUPTOOLS_PYTHON = "python3"
+SETUPTOOLS_PYTHON:class-native = "nativepython3"
+
+SETUPTOOLS_SETUP_PATH ?= "${S}"
+
+setuptools3_legacy_do_configure() {
+    :
+}
+
+setuptools3_legacy_do_compile() {
+        cd ${SETUPTOOLS_SETUP_PATH}
+        NO_FETCH_BUILD=1 \
+        STAGING_INCDIR=${STAGING_INCDIR} \
+        STAGING_LIBDIR=${STAGING_LIBDIR} \
+        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \
+        build --build-base=${B} ${SETUPTOOLS_BUILD_ARGS} || \
+        bbfatal_log "'${PYTHON_PN} setup.py build ${SETUPTOOLS_BUILD_ARGS}' execution failed."
+}
+setuptools3_legacy_do_compile[vardepsexclude] = "MACHINE"
+
+setuptools3_legacy_do_install() {
+        cd ${SETUPTOOLS_SETUP_PATH}
+        install -d ${D}${PYTHON_SITEPACKAGES_DIR}
+        STAGING_INCDIR=${STAGING_INCDIR} \
+        STAGING_LIBDIR=${STAGING_LIBDIR} \
+        PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
+        ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \
+        build --build-base=${B} install --skip-build ${SETUPTOOLS_INSTALL_ARGS} || \
+        bbfatal_log "'${PYTHON_PN} setup.py install ${SETUPTOOLS_INSTALL_ARGS}' execution failed."
+
+        # support filenames with *spaces*
+        find ${D} -name "*.py" -exec grep -q ${D} {} \; \
+                               -exec sed -i -e s:${D}::g {} \;
+
+        for i in ${D}${bindir}/* ${D}${sbindir}/*; do
+            if [ -f "$i" ]; then
+                sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${SETUPTOOLS_PYTHON}:g $i
+                sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
+            fi
+        done
+
+        rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth
+
+        #
+        # FIXME: Bandaid against wrong datadir computation
+        #
+        if [ -e ${D}${datadir}/share ]; then
+            mv -f ${D}${datadir}/share/* ${D}${datadir}/
+            rmdir ${D}${datadir}/share
+        fi
+}
+setuptools3_legacy_do_install[vardepsexclude] = "MACHINE"
+
+EXPORT_FUNCTIONS do_configure do_compile do_install
+
+export LDSHARED="${CCLD} -shared"
+DEPENDS += "python3-setuptools-native"
+
diff --git a/poky/meta/classes/setuptools_build_meta.bbclass b/poky/meta/classes/setuptools_build_meta.bbclass
deleted file mode 100644
index b1441e6..0000000
--- a/poky/meta/classes/setuptools_build_meta.bbclass
+++ /dev/null
@@ -1,18 +0,0 @@
-inherit pip_install_wheel setuptools3-base
-
-DEPENDS += "python3 python3-setuptools-native python3-wheel-native"
-
-setuptools_build_meta_do_configure () {
-    mkdir -p ${S}/dist
-    cat > ${S}/build-it.py << EOF
-from setuptools import build_meta
-wheel = build_meta.build_wheel('./dist')
-print(wheel)
-EOF
-}
-
-setuptools_build_meta_do_compile () {
-    nativepython3 ${S}/build-it.py
-}
-
-EXPORT_FUNCTIONS do_configure do_compile
diff --git a/poky/meta/classes/siteinfo.bbclass b/poky/meta/classes/siteinfo.bbclass
index c5f4dfd..3555d5a 100644
--- a/poky/meta/classes/siteinfo.bbclass
+++ b/poky/meta/classes/siteinfo.bbclass
@@ -101,18 +101,18 @@
         "mips64el-linux-gnun32": "mipsel-linux bit-32",
         "mipsisa64r6-linux-gnun32": "mipsisa32r6-linux bit-32",
         "mipsisa64r6el-linux-gnun32": "mipsisa32r6el-linux bit-32",
-        "powerpc-linux": "powerpc32-linux",
-        "powerpc-linux-musl": "powerpc-linux powerpc32-linux",
-        "powerpcle-linux": "powerpc32-linux",
-        "powerpcle-linux-musl": "powerpc-linux powerpc32-linux",
-        "powerpc-linux-gnuspe": "powerpc-linux powerpc32-linux",
-        "powerpc-linux-muslspe": "powerpc-linux powerpc32-linux",
-        "powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux",
-        "powerpc64-linux-muslspe": "powerpc-linux powerpc64-linux",
-        "powerpc64-linux": "powerpc-linux powerpc64-linux",
-        "powerpc64-linux-musl": "powerpc-linux powerpc64-linux",
-        "powerpc64le-linux": "powerpc-linux powerpc64-linux",
-        "powerpc64le-linux-musl": "powerpc-linux powerpc64-linux",
+        "powerpc-linux": "powerpc32-linux powerpc32-linux-glibc",
+        "powerpc-linux-musl": "powerpc-linux powerpc32-linux powerpc32-linux-musl",
+        "powerpcle-linux": "powerpc32-linux powerpc32-linux-glibc",
+        "powerpcle-linux-musl": "powerpc-linux powerpc32-linux powerpc32-linux-musl",
+        "powerpc-linux-gnuspe": "powerpc-linux powerpc32-linux powerpc32-linux-glibc",
+        "powerpc-linux-muslspe": "powerpc-linux powerpc32-linux powerpc32-linux-musl",
+        "powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux powerpc64-linux-glibc",
+        "powerpc64-linux-muslspe": "powerpc-linux powerpc64-linux powerpc64-linux-musl",
+        "powerpc64-linux": "powerpc-linux powerpc64-linux powerpc64-linux-glibc",
+        "powerpc64-linux-musl": "powerpc-linux powerpc64-linux powerpc64-linux-musl",
+        "powerpc64le-linux": "powerpc-linux powerpc64-linux powerpc64-linux-glibc",
+        "powerpc64le-linux-musl": "powerpc-linux powerpc64-linux powerpc64-linux-musl",
         "riscv32-linux": "riscv32-linux",
         "riscv32-linux-musl": "riscv32-linux",
         "riscv64-linux": "riscv64-linux",
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass
index 787172b..1c0cae4 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -83,7 +83,6 @@
     ${BUILD_ARCH} \
     ${BUILD_ARCH}_${ORIGNATIVELSBSTRING} \
     ${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS} \
-    ${BUILD_ARCH}_${TARGET_ARCH} \
     ${SDK_ARCH}_${SDK_OS} \
     ${SDK_ARCH}_${PACKAGE_ARCH} \
     allarch \
@@ -138,7 +137,7 @@
     elif bb.data.inherits_class('crosssdk', d):
         d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
     elif bb.data.inherits_class('cross', d):
-        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${TARGET_ARCH}"))
+        d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}"))
     elif bb.data.inherits_class('nativesdk', d):
         d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}_${SDK_OS}"))
     elif bb.data.inherits_class('cross-canadian', d):
@@ -260,13 +259,13 @@
                 shareddirs.append(dstdir)
 
     # Check the file list for conflicts against files which already exist
-    whitelist = (d.getVar("SSTATE_ALLOW_OVERLAP_FILES") or "").split()
+    overlap_allowed = (d.getVar("SSTATE_ALLOW_OVERLAP_FILES") or "").split()
     match = []
     for f in sharedfiles:
         if os.path.exists(f) and not os.path.islink(f):
             f = os.path.normpath(f)
             realmatch = True
-            for w in whitelist:
+            for w in overlap_allowed:
                 w = os.path.normpath(w)
                 if f.startswith(w):
                     realmatch = False
@@ -989,7 +988,7 @@
 
             localdata2 = bb.data.createCopy(localdata)
             srcuri = "file://" + sstatefile
-            localdata.setVar('SRC_URI', srcuri)
+            localdata2.setVar('SRC_URI', srcuri)
             bb.debug(2, "SState: Attempting to fetch %s" % srcuri)
 
             import traceback
@@ -1085,7 +1084,7 @@
 
     logit("Considering setscene task: %s" % (str(taskdependees[task])), log)
 
-    directtasks = ["do_populate_lic", "do_deploy_source_date_epoch", "do_shared_workdir", "do_stash_locale", "do_gcc_stash_builddir"]
+    directtasks = ["do_populate_lic", "do_deploy_source_date_epoch", "do_shared_workdir", "do_stash_locale", "do_gcc_stash_builddir", "do_create_spdx"]
 
     def isNativeCross(x):
         return x.endswith("-native") or "-cross-" in x or "-crosssdk" in x or x.endswith("-cross")
diff --git a/poky/meta/classes/toaster.bbclass b/poky/meta/classes/toaster.bbclass
index dd5c7f2..f365c09 100644
--- a/poky/meta/classes/toaster.bbclass
+++ b/poky/meta/classes/toaster.bbclass
@@ -101,11 +101,11 @@
         for line in fin:
             try:
                 kn, kv = line.strip().split(": ", 1)
-                m = re.match(r"^PKG_([^A-Z:]*)", kn)
+                m = re.match(r"^PKG:([^A-Z:]*)", kn)
                 if m:
                     pkgdata['OPKGN'] = m.group(1)
-                kn = "_".join([x for x in kn.split("_") if x.isupper()])
-                pkgdata[kn] = kv.strip()
+                kn = kn.split(":")[0]
+                pkgdata[kn] = kv
                 if kn.startswith('FILES_INFO'):
                     pkgdata[kn] = json.loads(kv)
 
diff --git a/poky/meta/conf/abi_version.conf b/poky/meta/conf/abi_version.conf
index 66df69b..2a08b12 100644
--- a/poky/meta/conf/abi_version.conf
+++ b/poky/meta/conf/abi_version.conf
@@ -4,7 +4,7 @@
 # that breaks the format and have been previously discussed on the mailing list 
 # with general agreement from the core team.
 #
-OELAYOUT_ABI = "14"
+OELAYOUT_ABI = "15"
 
 #
 # HASHEQUIV_HASH_VERSION is injected into the output hash calculation used by
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 6fb7bfe..7705415 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -110,6 +110,17 @@
 BB_RENAMED_VARIABLES[TUNEABI_WHITELIST] = "is a deprecated variable and support has been removed"
 BB_RENAMED_VARIABLES[LICENSE_FLAGS_WHITELIST] = "LICENSE_FLAGS_ACCEPTED"
 
+BB_RENAMED_VARIABLES[WHITELIST_GPL-3.0-only] = "INCOMPATIBLE_LICENSE_EXCEPTIONS"
+BB_RENAMED_VARIABLES[WHITELIST_GPL-3.0-or-later] = "INCOMPATIBLE_LICENSE_EXCEPTIONS"
+BB_RENAMED_VARIABLES[WHITELIST_LGPL-3.0-only] = "INCOMPATIBLE_LICENSE_EXCEPTIONS"
+BB_RENAMED_VARIABLES[WHITELIST_LGPL-3.0-or-later] = "INCOMPATIBLE_LICENSE_EXCEPTIONS"
+
+# These are deprecated version and should be updated to approved names
+BB_RENAMED_VARIABLES[WHITELIST_GPL-3.0] = "is deprecated, convert to INCOMPATIBLE_LICENSE_EXCEPTIONS = '<pkg>:GPL-3.0-only'"
+BB_RENAMED_VARIABLES[WHITELIST_GPL-3.0+] = "is deprecated, convert to INCOMPATIBLE_LICENSE_EXCEPTIONS = '<pkg>:GPL-3.0-or-later'"
+BB_RENAMED_VARIABLES[WHITELIST_LGPL-3.0] = "is deprecated, convert to INCOMPATIBLE_LICENSE_EXCEPTIONS = '<pkg>:LGPL-3.0-only'"
+BB_RENAMED_VARIABLES[WHITELIST_LGPL-3.0+] = "is deprecated, convert to INCOMPATIBLE_LICENSE_EXCEPTIONS = '<pkg>:LGPL-3.0-or-later'"
+
 ##################################################################
 # Architecture-dependent build variables.
 ##################################################################
diff --git a/poky/meta/conf/distro/include/cve-extra-exclusions.inc b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
index 85b4020..6c19cd2 100644
--- a/poky/meta/conf/distro/include/cve-extra-exclusions.inc
+++ b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
@@ -26,7 +26,7 @@
 # There has been much discussion amongst the epiphany and webkit developers and
 # whilst there are improvements about how domains are handled and displayed to the user
 # there is unlikely ever to be a single fix to webkit or epiphany which addresses this
-# problem. Whitelisted as there isn't any mitigation or fix or way to progress this further
+# problem. Ignore this CVE as there isn't any mitigation or fix or way to progress this further
 # we can seem to take.
 CVE_CHECK_IGNORE += "CVE-2005-0238"
 
diff --git a/poky/meta/conf/distro/include/default-distrovars.inc b/poky/meta/conf/distro/include/default-distrovars.inc
index 3bba651..3edba1b 100644
--- a/poky/meta/conf/distro/include/default-distrovars.inc
+++ b/poky/meta/conf/distro/include/default-distrovars.inc
@@ -20,8 +20,6 @@
 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT}"
 IMAGE_FEATURES ?= ""
 
-WHITELIST_GPL-3.0 ?= ""
-
 COMMERCIAL_AUDIO_PLUGINS ?= ""
 # COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad gst-plugins-ugly-mpegaudioparse"
 COMMERCIAL_VIDEO_PLUGINS ?= ""
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 3fceb67..2c5e730 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -83,6 +83,7 @@
 RECIPE_MAINTAINER:pn-builder = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-buildtools-extended-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-buildtools-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
+RECIPE_MAINTAINER:pn-buildtools-docs-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-busybox = "Andrej Valek <andrej.valek@siemens.com>"
 RECIPE_MAINTAINER:pn-busybox-inittab = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
@@ -134,7 +135,6 @@
 RECIPE_MAINTAINER:pn-db = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-dbus = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER:pn-dbus-glib = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER:pn-dbus-test = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER:pn-dbus-wait = "Chen Qi <Qi.Chen@windriver.com>"
 RECIPE_MAINTAINER:pn-debianutils = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER:pn-dejagnu = "Nathan Rossi <nathan@nathanrossi.com>"
@@ -586,9 +586,18 @@
 RECIPE_MAINTAINER:pn-pulseaudio-client-conf-sato = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-python3 = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-alabaster = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-async = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-asn1crypto = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-atomicwrites = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-attrs = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-babel = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-bcrypt = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-certifi = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-cffi = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-chardet = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-cryptography = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-cryptography-vectors = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-cython = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER:pn-python3-dbus = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
 RECIPE_MAINTAINER:pn-python3-dbusmock = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
@@ -604,9 +613,12 @@
 RECIPE_MAINTAINER:pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER:pn-python3-hypothesis = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-idna = "Bruce Ashfield <bruce.ashfield@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-imagesize = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-importlib-metadata = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-iniconfig = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-iso8601 = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-installer = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-python3-jsonpointer = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-jsonschema = "Bruce Ashfield <bruce.ashfield@gmail.com>"
@@ -616,37 +628,63 @@
 RECIPE_MAINTAINER:pn-python3-markdown = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-ndg-httpsclient = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pathlib2 = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pbr = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
 RECIPE_MAINTAINER:pn-python3-pip = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
 RECIPE_MAINTAINER:pn-python3-pluggy = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-ply = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-poetry-core = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-pretend = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-psutil = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-py = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-pyyaml = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-pyasn1 = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pycairo = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-pycparser = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pyelftools = "Joshua Watt <JPEWhacker@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-pygments = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER:pn-python3-pygobject = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
+RECIPE_MAINTAINER:pn-python3-pyopenssl = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pyparsing = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-pysocks = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pytest = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-pytest-runner = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-pytest-subtests = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-pytz = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-pyyaml = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-requests = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-rfc3339-validator = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-rfc3986-validator = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-rfc3987 = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-ruamel-yaml = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-scons = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-semantic-version = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-setuptools-rust-native = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-setuptools-scm = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-six = "Zang Ruochen <zangrc.fnst@fujitsu.com>"
 RECIPE_MAINTAINER:pn-python3-smartypants = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-smmap = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER:pn-python3-snowballstemmer = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-sortedcontainers = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinx = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-qthelp = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-devhelp = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-htmlhelp = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-serializinghtml = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-jsmath = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinxcontrib-applehelp = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-sphinx-rtd-theme = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-strict-rfc3339 = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-subunit = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER:pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
 RECIPE_MAINTAINER:pn-python3-toml = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-tomli = "Tim Orling <tim.orling@konsulko.com>"
+RECIPE_MAINTAINER:pn-python3-typing-extensions = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-typogrify = "Alexander Kanavin <alex.kanavin@gmail.com>"
+RECIPE_MAINTAINER:pn-python3-urllib3 = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-vcversioner = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-wcwidth = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-webcolors = "Bruce Ashfield <bruce.ashfield@gmail.com>"
@@ -675,6 +713,7 @@
 RECIPE_MAINTAINER:pn-run-postinsts = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-rust = "Randy MacLeod <Randy.MacLeod@windriver.com>"
 RECIPE_MAINTAINER:pn-rust-cross-${TUNE_PKGARCH}-${TCLIBC} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-rust-crosssdk-${SDK_ARCH}-glibc = "Randy MacLeod <Randy.MacLeod@windriver.com>"
 RECIPE_MAINTAINER:pn-rust-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
 RECIPE_MAINTAINER:pn-rust-hello-world = "Randy MacLeod <Randy.MacLeod@windriver.com>"
 RECIPE_MAINTAINER:pn-rust-llvm = "Randy MacLeod <Randy.MacLeod@windriver.com>"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index c503a6a..ac3295d 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -49,12 +49,15 @@
     pango-ptest \
     parted-ptest \
     python3-atomicwrites-ptest \
+    python3-bcrypt-ptest \
     python3-hypothesis-ptest \
     python3-jinja2-ptest \
     python3-jsonpointer-ptest \
     python3-markupsafe-ptest \
     python3-more-itertools-ptest \
     python3-pluggy-ptest \
+    python3-pyasn1-ptest \
+    python3-pytz-ptest \
     python3-wcwidth-ptest \
     python3-webcolors-ptest \
     qemu-ptest \
@@ -76,7 +79,7 @@
     babeltrace2-ptest \
     busybox-ptest \
     coreutils-ptest \
-    dbus-test-ptest \
+    dbus-ptest \
     e2fsprogs-ptest \
     findutils-ptest \
     glib-2.0-ptest \
@@ -86,6 +89,7 @@
     openssh-ptest \
     openssl-ptest \
     perl-ptest \
+    python3-cryptography-ptest \
     python3-ptest \
     strace-ptest \
     tcl-ptest \
diff --git a/poky/meta/conf/distro/include/security_flags.inc b/poky/meta/conf/distro/include/security_flags.inc
index e469ead..8374cb8 100644
--- a/poky/meta/conf/distro/include/security_flags.inc
+++ b/poky/meta/conf/distro/include/security_flags.inc
@@ -1,6 +1,6 @@
 # Setup extra CFLAGS and LDFLAGS which have 'security' benefits. These
 # don't work universally, there are recipes which can't use one, the other
-# or both so a blacklist is maintained here. The idea would be over
+# or both so an override is maintained here. The idea would be over
 # time to reduce this list to nothing.
 # From a Yocto Project perspective, this file is included and tested
 # in the DISTRO="poky" configuration.
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index f311e73..d362bd7 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -27,7 +27,7 @@
 # This can not use wildcards like 8.0.% since it is also used in mesa to denote
 # llvm version being used, so always bump it with llvm recipe version bump
 LLVMVERSION ?= "13.0.1"
-RUSTVERSION ?= "1.58%"
+RUSTVERSION ?= "1.59%"
 
 PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
 PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
diff --git a/poky/meta/conf/documentation.conf b/poky/meta/conf/documentation.conf
index 1789da0..ab2addb 100644
--- a/poky/meta/conf/documentation.conf
+++ b/poky/meta/conf/documentation.conf
@@ -72,7 +72,6 @@
 AUTHOR[doc] = "Email address used to contact the original author(s) in order to send patches and forward bugs."
 AUTO_SYSLINUXMENU[doc] = "Enables creating an automatic menu for the syslinux bootloader."
 AUTOREV[doc] = "When SRCREV is set to the value of this variable, it specifies to use the latest source revision in the repository."
-AVAILABLE_LICENSES[doc] = "List of licenses found in the directories specified by COMMON_LICENSE_DIR and LICENSE_PATH."
 
 #B
 
@@ -226,7 +225,7 @@
 IMAGE_ROOTFS_SIZE[doc] = "Defines the size in Kbytes for the generated image."
 IMAGE_TYPES[doc] = "Specifies the complete list of supported image types by default."
 INC_PR[doc] = "Helps define the recipe revision for recipes that share a common include file."
-INCOMPATIBLE_LICENSE[doc] = "Specifies a space-separated list of license names (as they would appear in LICENSE) that should be excluded from the build. Wildcard is supported, such as '*GPLv3'"
+INCOMPATIBLE_LICENSE[doc] = "Specifies a space-separated list of license names (as they would appear in LICENSE) that should be excluded from the build. Wildcard is supported, such as '*GPL-3.0*'"
 INHIBIT_DEFAULT_DEPS[doc] = "Prevents the default dependencies, namely the C compiler and standard C library (libc), from being added to DEPENDS."
 INHIBIT_PACKAGE_STRIP[doc] = "If set to "1", causes the build to not strip binaries in resulting packages."
 INHERIT[doc] = "Causes the named class to be inherited at this point during parsing. The variable is only valid in configuration files."
diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf
index bdeb8a4..ea57123 100644
--- a/poky/meta/conf/layer.conf
+++ b/poky/meta/conf/layer.conf
@@ -91,6 +91,7 @@
 # (e.g. X -> Y -> binutils-cross -> bison-native) no longer meet the
 # dependency incidentally. This improves determinism and avoids build
 # failures when people switch to external toolchains.
+# libarchive only needs e2fsprogs headers at buildtime
 SSTATE_EXCLUDEDEPS_SYSROOT += "\
     .*->autoconf-native \
     .*->automake-native \
@@ -100,6 +101,12 @@
     .*->patch-native \
     .*->pkgconfig-native \
     .*->quilt-native \
+    ^(?!gtk-doc-native).*->xmlto-native \
+    .*->gperf-native \
+    .*->gtk-doc-native \
+    .*->texinfo-native \
+    .*->perlcross-native \
+    libarchive-native->e2fsprogs-native \
 "
 # Nothing needs to depend on libc-initial
 # base-passwd/shadow-sysroot don't need their dependencies
diff --git a/poky/meta/conf/machine-sdk/x86_64.conf b/poky/meta/conf/machine-sdk/x86_64.conf
index 8d494b2..2ab607e 100644
--- a/poky/meta/conf/machine-sdk/x86_64.conf
+++ b/poky/meta/conf/machine-sdk/x86_64.conf
@@ -1,2 +1,3 @@
 SDK_ARCH = "x86_64"
+ABIEXTENSION:class-crosssdk = ""
 ABIEXTENSION:class-nativesdk = ""
diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
index 14eaf5d..1d32b4a 100644
--- a/poky/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -36,4 +36,4 @@
 QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
 QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
 QB_GRAPHICS = "-device bochs-display"
-QB_OPT_APPEND = "-device virtio-mouse-pci -device virtio-keyboard-pci"
+QB_OPT_APPEND = "-device virtio-tablet-pci -device virtio-keyboard-pci"
diff --git a/poky/meta/conf/machine/include/x86/qemuboot-x86.inc b/poky/meta/conf/machine/include/x86/qemuboot-x86.inc
index d3b9107..b7b6428 100644
--- a/poky/meta/conf/machine/include/x86/qemuboot-x86.inc
+++ b/poky/meta/conf/machine/include/x86/qemuboot-x86.inc
@@ -8,7 +8,7 @@
 QB_CPU_KVM:x86-64 = "-cpu IvyBridge -machine q35"
 
 QB_AUDIO_DRV = "alsa"
-QB_AUDIO_OPT = "-soundhw ac97,es1370"
+QB_AUDIO_OPT = "-device AC97"
 QB_KERNEL_CMDLINE_APPEND = "oprofile.timer=1 tsc=reliable no_timer_check rcupdate.rcu_expedited=1"
 QB_OPT_APPEND = "-usb -device usb-tablet"
 
diff --git a/poky/meta/conf/machine/include/x86/x86-base.inc b/poky/meta/conf/machine/include/x86/x86-base.inc
index e76251e..b70924f 100644
--- a/poky/meta/conf/machine/include/x86/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86/x86-base.inc
@@ -36,7 +36,7 @@
            "
 
 XSERVER_X86_I965 = "xf86-video-intel \
-           ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-i965', '', d)} \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-crocus', '', d)} \
            "
 
 XSERVER_X86_VESA = "xf86-video-vesa"
diff --git a/poky/meta/conf/machine/qemuppc64.conf b/poky/meta/conf/machine/qemuppc64.conf
index a35c40b..304f06a 100644
--- a/poky/meta/conf/machine/qemuppc64.conf
+++ b/poky/meta/conf/machine/qemuppc64.conf
@@ -13,7 +13,9 @@
 QB_SYSTEM_NAME = "qemu-system-ppc64"
 QB_MACHINE = "-machine pseries"
 QB_CPU = "-cpu POWER9"
-QB_KERNEL_CMDLINE_APPEND = "console=hvc0"
+QB_SMP = "-smp 2"
+
+QB_KERNEL_CMDLINE_APPEND = "console=hvc0 nohugevmalloc"
 #QB_OPT_APPEND += "-device qemu-xhci -device usb-tablet -device usb-kbd"
 QB_OPT_APPEND = "-usb -device usb-tablet"
 
diff --git a/poky/meta/files/overlayfs-etc-preinit.sh.in b/poky/meta/files/overlayfs-etc-preinit.sh.in
index 2ebb6c9..43c9b04 100644
--- a/poky/meta/files/overlayfs-etc-preinit.sh.in
+++ b/poky/meta/files/overlayfs-etc-preinit.sh.in
@@ -16,11 +16,19 @@
 [ -z "$CONSOLE" ] && CONSOLE="/dev/console"
 
 mkdir -p {OVERLAYFS_ETC_MOUNT_POINT}
-if mount -n -t {OVERLAYFS_ETC_FSTYPE} -o {OVERLAYFS_ETC_MOUNT_OPTIONS} {OVERLAYFS_ETC_DEVICE} {OVERLAYFS_ETC_MOUNT_POINT}
+if mount -n -t {OVERLAYFS_ETC_FSTYPE} \
+    -o {OVERLAYFS_ETC_MOUNT_OPTIONS} \
+    {OVERLAYFS_ETC_DEVICE} {OVERLAYFS_ETC_MOUNT_POINT}
 then
     mkdir -p {OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/upper
     mkdir -p {OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/work
-    mount -n -t overlay -o upperdir={OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/upper,lowerdir=/etc,workdir={OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/work {OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/upper /etc || echo "PREINIT: Mounting etc-overlay failed!"
+    mount -n -t overlay \
+        -o upperdir={OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/upper \
+        -o lowerdir=/etc \
+        -o workdir={OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/work \
+        -o index=off,xino=off,redirect_dir=off,metacopy=off \
+        {OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc/upper /etc || \
+            echo "PREINIT: Mounting etc-overlay failed!"
 else
     echo "PREINIT: Mounting </data> failed!"
 fi
diff --git a/poky/meta/lib/oe/copy_buildsystem.py b/poky/meta/lib/oe/copy_buildsystem.py
index d97bf9d..79642fd 100644
--- a/poky/meta/lib/oe/copy_buildsystem.py
+++ b/poky/meta/lib/oe/copy_buildsystem.py
@@ -45,9 +45,6 @@
 
         corebase = os.path.abspath(self.d.getVar('COREBASE'))
         layers.append(corebase)
-        # Get relationship between TOPDIR and COREBASE
-        # Layers should respect it
-        corebase_relative = os.path.dirname(os.path.relpath(os.path.abspath(self.d.getVar('TOPDIR')), corebase))
         # The bitbake build system uses the meta-skeleton layer as a layout
         # for common recipies, e.g: the recipetool script to create kernel recipies
         # Add the meta-skeleton layer to be included as part of the eSDK installation
@@ -100,11 +97,10 @@
             layerdestpath = destdir
             if corebase == os.path.dirname(layer):
                 layerdestpath += '/' + os.path.basename(corebase)
-            else:
-                layer_relative = os.path.relpath(layer, corebase)
-                if os.path.dirname(layer_relative) == corebase_relative:
-                    layer_relative = os.path.dirname(corebase_relative) + '/' + layernewname
-                layer_relative = os.path.basename(corebase) + '/' + layer_relative
+            # If the layer is located somewhere under the same parent directory
+            # as corebase we keep the layer structure.
+            elif os.path.commonpath([layer, corebase]) == os.path.dirname(corebase):
+                layer_relative = os.path.relpath(layer, os.path.dirname(corebase))
                 if os.path.dirname(layer_relative) != layernewname:
                     layerdestpath += '/' + os.path.dirname(layer_relative)
 
diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py
index 0302bee..e445b7a 100644
--- a/poky/meta/lib/oe/cve_check.py
+++ b/poky/meta/lib/oe/cve_check.py
@@ -146,3 +146,19 @@
         cpe_ids.append(cpe_id)
 
     return cpe_ids
+
+def cve_check_merge_jsons(output, data):
+    """
+    Merge the data in the "package" property to the main data file
+    output
+    """
+    if output["version"] != data["version"]:
+        bb.error("Version mismatch when merging JSON outputs")
+        return
+
+    for product in output["package"]:
+        if product["name"] == data["package"][0]["name"]:
+            bb.error("Error adding the same package twice")
+            return
+
+    output["package"].append(data["package"][0])
diff --git a/poky/meta/lib/oe/license.py b/poky/meta/lib/oe/license.py
index 79800c2..99cfa5f 100644
--- a/poky/meta/lib/oe/license.py
+++ b/poky/meta/lib/oe/license.py
@@ -14,6 +14,16 @@
             return False
     return True
 
+def obsolete_license_list():
+    return ["AGPL-3", "AGPL-3+", "AGPLv3", "AGPLv3+", "AGPLv3.0", "AGPLv3.0+", "AGPL-3.0", "AGPL-3.0+", "BSD-0-Clause",
+            "GPL-1", "GPL-1+", "GPLv1", "GPLv1+", "GPLv1.0", "GPLv1.0+", "GPL-1.0", "GPL-1.0+", "GPL-2", "GPL-2+", "GPLv2",
+            "GPLv2+", "GPLv2.0", "GPLv2.0+", "GPL-2.0", "GPL-2.0+", "GPL-3", "GPL-3+", "GPLv3", "GPLv3+", "GPLv3.0", "GPLv3.0+",
+            "GPL-3.0", "GPL-3.0+", "LGPLv2", "LGPLv2+", "LGPLv2.0", "LGPLv2.0+", "LGPL-2.0", "LGPL-2.0+", "LGPL2.1", "LGPL2.1+",
+            "LGPLv2.1", "LGPLv2.1+", "LGPL-2.1", "LGPL-2.1+", "LGPLv3", "LGPLv3+", "LGPL-3.0", "LGPL-3.0+", "MPL-1", "MPLv1",
+            "MPLv1.1", "MPLv2", "MIT-X", "MIT-style", "openssl", "PSF", "PSFv2", "Python-2", "Apachev2", "Apache-2", "Artisticv1",
+            "Artistic-1", "AFL-2", "AFL-1", "AFLv2", "AFLv1", "CDDLv1", "CDDL-1", "EPLv1.0", "FreeType", "Nauman",
+            "tcl", "vim", "SGIv1"]
+
 class LicenseError(Exception):
     pass
 
@@ -100,16 +110,13 @@
     return flatten.licenses
 
 def is_included(licensestr, include_licenses=None, exclude_licenses=None):
-    """Given a license a list of list to include and a list of
-        licenses to exclude, determine if the license string
-        matches the an include list and does not match the 
-        exclude list.
+    """Given a license string, a list of licenses to include and a list of
+    licenses to exclude, determine if the license string matches the include
+    list and does not match the exclude list.
 
-        Returns a tuple holding the boolean state and a list of
-        the applicable licenses that were excluded if state is
-        False, or the licenses that were included if the state
-        is True.
-    """
+    Returns a tuple holding the boolean state and a list of the applicable
+    licenses that were excluded if state is False, or the licenses that were
+    included if the state is True."""
 
     def include_license(license):
         return any(fnmatch(license, pattern) for pattern in include_licenses)
@@ -245,3 +252,8 @@
     except SyntaxError as exc:
         raise LicenseSyntaxError(licensestr, exc)
     return visitor.licenses
+
+def apply_pkg_license_exception(pkg, bad_licenses, exceptions):
+    """Return remaining bad licenses after removing any package exceptions"""
+
+    return [lic for lic in bad_licenses if pkg + ':' + lic not in exceptions]
diff --git a/poky/meta/lib/oe/package_manager/ipk/manifest.py b/poky/meta/lib/oe/package_manager/ipk/manifest.py
index ee4b57b..ae451c5 100644
--- a/poky/meta/lib/oe/package_manager/ipk/manifest.py
+++ b/poky/meta/lib/oe/package_manager/ipk/manifest.py
@@ -3,6 +3,7 @@
 #
 
 from oe.manifest import Manifest
+import re
 
 class PkgManifest(Manifest):
     """
@@ -61,7 +62,7 @@
         if len(pkgs_to_install) == 0:
             return
 
-        output = pm.dummy_install(pkgs_to_install)
+        output = pm.dummy_install(pkgs_to_install).decode('utf-8')
 
         with open(self.full_manifest, 'w+') as manifest:
             pkg_re = re.compile('^Installing ([^ ]+) [^ ].*')
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index b0dd625..98cf3f2 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -190,10 +190,6 @@
         post_process_cmds = self.d.getVar("ROOTFS_POSTPROCESS_COMMAND")
         rootfs_post_install_cmds = self.d.getVar('ROOTFS_POSTINSTALL_COMMAND')
 
-        bb.utils.mkdirhier(self.image_rootfs)
-
-        bb.utils.mkdirhier(self.deploydir)
-
         execute_pre_post_process(self.d, pre_process_cmds)
 
         if self.progress_reporter:
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index abcd962..2cf858e 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -443,7 +443,7 @@
     elif "-cross-canadian" in taskdata:
         pkgarchs = ["${SDK_ARCH}_${SDK_ARCH}-${SDKPKGSUFFIX}"]
     elif "-cross-" in taskdata:
-        pkgarchs = ["${BUILD_ARCH}_${TARGET_ARCH}"]
+        pkgarchs = ["${BUILD_ARCH}"]
     elif "-crosssdk" in taskdata:
         pkgarchs = ["${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"]
     else:
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index 84790b7..46fc76c 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -221,12 +221,12 @@
     PN-dbg PN-doc PN-locale-eb-gb removed.
     """
     pn = d.getVar('PN')
-    blacklist = [pn + suffix for suffix in ('', '-dbg', '-dev', '-doc', '-locale', '-staticdev', '-src')]
+    pkgfilter = [pn + suffix for suffix in ('', '-dbg', '-dev', '-doc', '-locale', '-staticdev', '-src')]
     localepkg = pn + "-locale-"
     pkgs = []
 
     for pkg in d.getVar('PACKAGES').split():
-        if pkg not in blacklist and localepkg not in pkg:
+        if pkg not in pkgfilter and localepkg not in pkg:
             pkgs.append(pkg)
     return pkgs
 
diff --git a/poky/meta/lib/oeqa/manual/bsp-hw.json b/poky/meta/lib/oeqa/manual/bsp-hw.json
index ca91987..308a080 100644
--- a/poky/meta/lib/oeqa/manual/bsp-hw.json
+++ b/poky/meta/lib/oeqa/manual/bsp-hw.json
@@ -26,7 +26,7 @@
                     "expected_results": ""
                 },
                 "5": {
-                    "action": "Remove USB, and reboot into new installed system. \nNote:   If installation was successfully completed and received this message \"\"(sdx): Volume was not properly unmounted...Please run fsck.\"\" ignore it because this was whitelisted according to bug 9652.",
+                    "action": "Remove USB, and reboot into new installed system. \nNote:   If installation was successfully completed and received this message \"\"(sdx): Volume was not properly unmounted...Please run fsck.\"\" ignore it because this was allowed according to bug 9652.",
                     "expected_results": ""
                 }
             },
diff --git a/poky/meta/lib/oeqa/runtime/cases/ping.py b/poky/meta/lib/oeqa/runtime/cases/ping.py
index f6603f7..498f80d 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ping.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ping.py
@@ -6,6 +6,7 @@
 
 from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.oetimeout import OETimeout
+from oeqa.core.exception import OEQATimeoutError
 
 class PingTest(OERuntimeTestCase):
 
@@ -13,14 +14,17 @@
     def test_ping(self):
         output = ''
         count = 0
-        while count < 5:
-            cmd = 'ping -c 1 %s' % self.target.ip
-            proc = Popen(cmd, shell=True, stdout=PIPE)
-            output += proc.communicate()[0].decode('utf-8')
-            if proc.poll() == 0:
-                count += 1
-            else:
-                count = 0
+        try:
+            while count < 5:
+                cmd = 'ping -c 1 %s' % self.target.ip
+                proc = Popen(cmd, shell=True, stdout=PIPE)
+                output += proc.communicate()[0].decode('utf-8')
+                if proc.poll() == 0:
+                    count += 1
+                else:
+                    count = 0
+        except OEQATimeoutError:
+            self.fail("Ping timeout error for address %s, count %s, output: %s" % (self.target.ip, count, output))
         msg = ('Expected 5 consecutive, got %d.\n'
                'ping output is:\n%s' % (count,output))
         self.assertEqual(count, 5, msg = msg)
diff --git a/poky/meta/lib/oeqa/runtime/context.py b/poky/meta/lib/oeqa/runtime/context.py
index d707ab2..8092dd0 100644
--- a/poky/meta/lib/oeqa/runtime/context.py
+++ b/poky/meta/lib/oeqa/runtime/context.py
@@ -153,7 +153,11 @@
                 else:
                     raise RuntimeError("Duplicate controller module found for %s. Layers should create unique controller module names" % module)
 
-        for p in sys.path:
+        # sys.path can contain duplicate paths, but because of the login in
+        # add_controller_list this doesn't work and causes testimage to abort.
+        # Remove duplicates using an intermediate dictionary to ensure this
+        # doesn't happen.
+        for p in list(dict.fromkeys(sys.path)):
             controllerpath = os.path.join(p, 'oeqa', 'controllers')
             if os.path.exists(controllerpath):
                 add_controller_list(controllerpath)
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/README b/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/README
new file mode 100644
index 0000000..f8edbc7
--- /dev/null
+++ b/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/README
@@ -0,0 +1,2 @@
+These test cases are used by build-docs-tarball, and are not used by the testsdk
+class.
diff --git a/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py b/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py
new file mode 100644
index 0000000..5b0eca0
--- /dev/null
+++ b/poky/meta/lib/oeqa/sdk/buildtools-docs-cases/build.py
@@ -0,0 +1,17 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+import tempfile
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
+class BuildTests(OESDKTestCase):
+    """
+    Verify that our docs can build using our docs tools tarball.
+    """
+    def test_docs_build(self):
+        with tempfile.TemporaryDirectory(prefix='docs-tarball-build-', dir=self.tc.sdk_dir) as testdir:
+            self._run('git clone git://git.yoctoproject.org/yocto-docs %s' % testdir)
+            self._run('cd %s/documentation && make html' % testdir)
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index 35ad9f3..cfac7af 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -224,7 +224,7 @@
         self.assertLess(errorpos,continuepos, msg = "bitbake didn't pass do_fail_task. bitbake output: %s" % result.output)
 
     def test_non_gplv3(self):
-        self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"')
+        self.write_config('INCOMPATIBLE_LICENSE = "GPL-3.0-or-later"')
         result = bitbake('selftest-ed', ignore_status=True)
         self.assertEqual(result.status, 0, "Bitbake failed, exit code %s, output %s" % (result.status, result.output))
         lic_dir = get_bb_var('LICENSE_DIRECTORY')
diff --git a/poky/meta/lib/oeqa/selftest/cases/containerimage.py b/poky/meta/lib/oeqa/selftest/cases/containerimage.py
index 3068c9b..e0aea1a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/containerimage.py
+++ b/poky/meta/lib/oeqa/selftest/cases/containerimage.py
@@ -13,7 +13,7 @@
 # The only package added to the image is container_image_testpkg, which
 # contains one file. However, due to some other things not cleaning up during
 # rootfs creation, there is some cruft. Ideally bugs will be filed and the
-# cruft removed, but for now we whitelist some known set.
+# cruft removed, but for now we ignore some known set.
 #
 # Also for performance reasons we're only checking the cruft when using ipk.
 # When using deb, and rpm it is a bit different and we could test all
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 23d5590..e910672 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -343,7 +343,7 @@
         self.assertIn(srcdir, result.output)
         self.assertIn(recipefile, result.output)
         checkvars = {}
-        checkvars['LICENSE'] = 'GPLv2'
+        checkvars['LICENSE'] = 'GPL-2.0-only'
         checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'
         checkvars['S'] = '${WORKDIR}/git'
         checkvars['PV'] = '0.1+git${SRCPV}'
diff --git a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
index fd3b3f4..6279d74 100644
--- a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py
@@ -1,6 +1,59 @@
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake
 
+class IncompatibleLicenseTestObsolete(OESelftestTestCase):
+
+    def lic_test(self, pn, pn_lic, lic, error_msg=None):
+        if not error_msg:
+            error_msg = 'ERROR: Nothing PROVIDES \'%s\'\n%s was skipped: it has incompatible license(s): %s' % (pn, pn, pn_lic)
+
+        self.write_config("INCOMPATIBLE_LICENSE += \"%s\"" % (lic))
+
+        result = bitbake('%s --dry-run' % (pn), ignore_status=True)
+        if error_msg not in result.output:
+            raise AssertionError(result.output)
+
+    # Verify that a package with an SPDX license cannot be built when
+    # INCOMPATIBLE_LICENSE contains an alias (in SPDXLICENSEMAP) of this SPDX
+    # license
+    def test_incompatible_alias_spdx_license(self):
+        self.lic_test('incompatible-license', 'GPL-3.0-only', 'GPLv3', "is an obsolete license, please use an SPDX reference in INCOMPATIBLE_LICENSE")
+
+    # Verify that a package with an SPDX license cannot be built when
+    # INCOMPATIBLE_LICENSE contains a wildcarded alias license matching this
+    # SPDX license
+    def test_incompatible_alias_spdx_license_wildcard(self):
+        self.lic_test('incompatible-license', 'GPL-3.0-only', '*GPLv3', "*GPLv3 is an invalid license wildcard entry")
+
+    # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
+    # license cannot be built when INCOMPATIBLE_LICENSE contains this alias
+    def test_incompatible_alias_spdx_license_alias(self):
+        self.lic_test('incompatible-license-alias', 'GPL-3.0-only', 'GPLv3', "is an obsolete license, please use an SPDX reference in INCOMPATIBLE_LICENSE")
+
+    # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
+    # license cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded
+    # license matching this SPDX license
+    def test_incompatible_spdx_license_alias_wildcard(self):
+        self.lic_test('incompatible-license-alias', 'GPL-3.0-only', '*GPL-3.0', "*GPL-3.0 is an invalid license wildcard entry")
+
+    # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
+    # license cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded
+    # alias license matching the SPDX license
+    def test_incompatible_alias_spdx_license_alias_wildcard(self):
+        self.lic_test('incompatible-license-alias', 'GPL-3.0-only', '*GPLv3', "*GPLv3 is an invalid license wildcard entry")
+
+
+    # Verify that a package with multiple SPDX licenses cannot be built when
+    # INCOMPATIBLE_LICENSE contains a wildcard to some of them
+    def test_incompatible_spdx_licenses_wildcard(self):
+        self.lic_test('incompatible-licenses', 'GPL-3.0-only LGPL-3.0-only', '*GPL-3.0-only', "*GPL-3.0-only is an invalid license wildcard entry")
+
+
+    # Verify that a package with multiple SPDX licenses cannot be built when
+    # INCOMPATIBLE_LICENSE contains a wildcard matching all licenses
+    def test_incompatible_all_licenses_wildcard(self):
+        self.lic_test('incompatible-licenses', 'GPL-2.0-only GPL-3.0-only LGPL-3.0-only', '*', "* is an invalid license wildcard entry")
+
 class IncompatibleLicenseTests(OESelftestTestCase):
 
     def lic_test(self, pn, pn_lic, lic):
@@ -12,28 +65,16 @@
         if error_msg not in result.output:
             raise AssertionError(result.output)
 
-    # Verify that a package with an SPDX license (from AVAILABLE_LICENSES)
-    # cannot be built when INCOMPATIBLE_LICENSE contains this SPDX license
+    # Verify that a package with an SPDX license cannot be built when
+    # INCOMPATIBLE_LICENSE contains this SPDX license
     def test_incompatible_spdx_license(self):
         self.lic_test('incompatible-license', 'GPL-3.0-only', 'GPL-3.0-only')
 
-    # Verify that a package with an SPDX license (from AVAILABLE_LICENSES)
-    # cannot be built when INCOMPATIBLE_LICENSE contains an alias (in
-    # SPDXLICENSEMAP) of this SPDX license
-    def test_incompatible_alias_spdx_license(self):
-        self.lic_test('incompatible-license', 'GPL-3.0-only', 'GPLv3')
-
-    # Verify that a package with an SPDX license (from AVAILABLE_LICENSES)
-    # cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded license
-    # matching this SPDX license
+    # Verify that a package with an SPDX license cannot be built when
+    # INCOMPATIBLE_LICENSE contains a wildcarded license matching this SPDX
+    # license
     def test_incompatible_spdx_license_wildcard(self):
-        self.lic_test('incompatible-license', 'GPL-3.0-only', '*GPL-3.0-only')
-
-    # Verify that a package with an SPDX license (from AVAILABLE_LICENSES)
-    # cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded alias
-    # license matching this SPDX license
-    def test_incompatible_alias_spdx_license_wildcard(self):
-        self.lic_test('incompatible-license', 'GPL-3.0-only', '*GPLv3')
+        self.lic_test('incompatible-license', 'GPL-3.0-only', 'GPL-3.0*')
 
     # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
     # license cannot be built when INCOMPATIBLE_LICENSE contains this SPDX
@@ -41,43 +82,12 @@
     def test_incompatible_spdx_license_alias(self):
         self.lic_test('incompatible-license-alias', 'GPL-3.0-only', 'GPL-3.0-only')
 
-    # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
-    # license cannot be built when INCOMPATIBLE_LICENSE contains this alias
-    def test_incompatible_alias_spdx_license_alias(self):
-        self.lic_test('incompatible-license-alias', 'GPL-3.0-only', 'GPLv3')
-
-    # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
-    # license cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded
-    # license matching this SPDX license
-    def test_incompatible_spdx_license_alias_wildcard(self):
-        self.lic_test('incompatible-license-alias', 'GPL-3.0-only', '*GPL-3.0')
-
-    # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX
-    # license cannot be built when INCOMPATIBLE_LICENSE contains a wildcarded
-    # alias license matching the SPDX license
-    def test_incompatible_alias_spdx_license_alias_wildcard(self):
-        self.lic_test('incompatible-license-alias', 'GPL-3.0-only', '*GPLv3')
-
-    # Verify that a package with multiple SPDX licenses (from
-    # AVAILABLE_LICENSES) cannot be built when INCOMPATIBLE_LICENSE contains
-    # some of them
+    # Verify that a package with multiple SPDX licenses cannot be built when
+    # INCOMPATIBLE_LICENSE contains some of them
     def test_incompatible_spdx_licenses(self):
         self.lic_test('incompatible-licenses', 'GPL-3.0-only LGPL-3.0-only', 'GPL-3.0-only LGPL-3.0-only')
 
-    # Verify that a package with multiple SPDX licenses (from
-    # AVAILABLE_LICENSES) cannot be built when INCOMPATIBLE_LICENSE contains a
-    # wildcard to some of them
-    def test_incompatible_spdx_licenses_wildcard(self):
-        self.lic_test('incompatible-licenses', 'GPL-3.0-only LGPL-3.0-only', '*GPL-3.0-only')
-
-    # Verify that a package with multiple SPDX licenses (from
-    # AVAILABLE_LICENSES) cannot be built when INCOMPATIBLE_LICENSE contains a
-    # wildcard matching all licenses
-    def test_incompatible_all_licenses_wildcard(self):
-        self.lic_test('incompatible-licenses', 'GPL-2.0-only GPL-3.0-only LGPL-3.0-only', '*')
-
-    # Verify that a package with a non-SPDX license (neither in
-    # AVAILABLE_LICENSES nor in SPDXLICENSEMAP) cannot be built when
+    # Verify that a package with a non-SPDX license cannot be built when
     # INCOMPATIBLE_LICENSE contains this license
     def test_incompatible_nonspdx_license(self):
         self.lic_test('incompatible-nonspdx-license', 'FooLicense', 'FooLicense')
@@ -86,7 +96,7 @@
     def default_config(self):
         return """
 IMAGE_INSTALL:append = " bash"
-INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
+INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0* LGPL-3.0*"
 """
 
     def test_bash_default(self):
@@ -110,23 +120,23 @@
 
         bitbake('core-image-minimal')
 
-    def test_bash_whitelist(self):
-        self.write_config(self.default_config() + '\nWHITELIST_GPL-3.0:pn-core-image-minimal = "bash"')
+    def test_bash_license_exceptions(self):
+        self.write_config(self.default_config() + '\nINCOMPATIBLE_LICENSE_EXCEPTIONS:pn-core-image-minimal = "bash:GPL-3.0-or-later"')
 
         bitbake('core-image-minimal')
 
 class NoGPL3InImagesTests(OESelftestTestCase):
     def test_core_image_minimal(self):
         self.write_config("""
-INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0 LGPL-3.0"
+INCOMPATIBLE_LICENSE:pn-core-image-minimal = "GPL-3.0* LGPL-3.0*"
 """)
         bitbake('core-image-minimal')
 
     def test_core_image_full_cmdline_weston(self):
         self.write_config("""
 INHERIT += "testimage"
-INCOMPATIBLE_LICENSE:pn-core-image-full-cmdline = "GPL-3.0 LGPL-3.0"
-INCOMPATIBLE_LICENSE:pn-core-image-weston = "GPL-3.0 LGPL-3.0"
+INCOMPATIBLE_LICENSE:pn-core-image-full-cmdline = "GPL-3.0* LGPL-3.0*"
+INCOMPATIBLE_LICENSE:pn-core-image-weston = "GPL-3.0* LGPL-3.0*"
 # Settings for full-cmdline
 RDEPENDS:packagegroup-core-full-cmdline-utils:remove = "bash bc coreutils cpio ed findutils gawk grep mc mc-fish mc-helpers mc-helpers-perl sed tar time"
 RDEPENDS:packagegroup-core-full-cmdline-dev-utils:remove = "diffutils m4 make patch"
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
index 6ebbee5..3b35939 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
@@ -15,11 +15,11 @@
 
 class TestSingleLicense(TestCase):
     licenses = [
-        "GPLv2",
-        "LGPL-2.0",
-        "Artistic",
+        "GPL-2.0-only",
+        "LGPL-2.0-only",
+        "Artistic-1.0",
         "MIT",
-        "GPLv3+",
+        "GPL-3.0-or-later",
         "FOO_BAR",
     ]
     invalid_licenses = ["GPL/BSD"]
@@ -67,9 +67,9 @@
         "FOO & (BAR | BAZ)&MOO": ["FOO", "BAR", "MOO"],
         "(ALPHA|(BETA&THETA)|OMEGA)&DELTA": ["OMEGA", "DELTA"],
         "((ALPHA|BETA)&FOO)|BAZ": ["BETA", "FOO"],
-        "(GPL-2.0|Proprietary)&BSD-4-clause&MIT": ["GPL-2.0", "BSD-4-clause", "MIT"],
+        "(GPL-2.0-only|Proprietary)&BSD-4-clause&MIT": ["GPL-2.0-only", "BSD-4-clause", "MIT"],
     }
-    preferred = ["BAR", "OMEGA", "BETA", "GPL-2.0"]
+    preferred = ["BAR", "OMEGA", "BETA", "GPL-2.0-only"]
 
 class TestIsIncluded(TestCase):
     tests = {
@@ -87,12 +87,12 @@
             [True, ["BAR", "FOOBAR"]],
         ("(FOO | BAR) & FOOBAR | BAZ & MOO & BARFOO", None, "FOO"):
             [True, ["BAZ", "MOO", "BARFOO"]],
-        ("GPL-3.0 & GPL-2.0 & LGPL-2.1 | Proprietary", None, None):
-            [True, ["GPL-3.0", "GPL-2.0", "LGPL-2.1"]],
-        ("GPL-3.0 & GPL-2.0 & LGPL-2.1 | Proprietary", None, "GPL-3.0"):
+        ("GPL-3.0-or-later & GPL-2.0-only & LGPL-2.1-only | Proprietary", None, None):
+            [True, ["GPL-3.0-or-later", "GPL-2.0-only", "LGPL-2.1-only"]],
+        ("GPL-3.0-or-later & GPL-2.0-only & LGPL-2.1-only | Proprietary", None, "GPL-3.0-or-later"):
             [True, ["Proprietary"]],
-        ("GPL-3.0 & GPL-2.0 & LGPL-2.1 | Proprietary", None, "GPL-3.0 Proprietary"):
-            [False, ["GPL-3.0"]]
+        ("GPL-3.0-or-later & GPL-2.0-only & LGPL-2.1-only | Proprietary", None, "GPL-3.0-or-later Proprietary"):
+            [False, ["GPL-3.0-or-later"]]
     }
 
     def test_tests(self):
diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
index 82007fa..56ae48c 100644
--- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -61,9 +61,9 @@
         self.add_overlay_conf_to_machine()
 
         res = bitbake('core-image-minimal', ignore_status=True)
-        line = getline(res, "Unit name mnt-overlay.mount not found in systemd unit directories")
+        line = getline(res, " Mount path /mnt/overlay not found in fstat and unit mnt-overlay.mount not found in systemd unit directories")
         self.assertTrue(line and line.startswith("WARNING:"), msg=res.output)
-        line = getline(res, "Not all mount units are installed by the BSP")
+        line = getline(res, "Not all mount paths and units are installed in the image")
         self.assertTrue(line and line.startswith("ERROR:"), msg=res.output)
 
     def test_mount_unit_not_set(self):
@@ -107,7 +107,7 @@
         line = getline(res, "Missing required mount point for OVERLAYFS_MOUNT_POINT[mnt-overlay] in your MACHINE configuration")
         self.assertTrue(line and line.startswith("Parsing recipes...ERROR:"), msg=res.output)
 
-    def test_correct_image(self):
+    def _test_correct_image(self, recipe, data):
         """
         Summary:   Check that we can create an image when all parameters are
                    set correctly
@@ -126,31 +126,6 @@
 KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
 """
 
-        systemd_machine_unit_append = """
-SYSTEMD_SERVICE:${PN} += " \
-    mnt-overlay.mount \
-"
-
-do_install:append() {
-    install -d ${D}${systemd_system_unitdir}
-    cat <<EOT > ${D}${systemd_system_unitdir}/mnt-overlay.mount
-[Unit]
-Description=Tmpfs directory
-DefaultDependencies=no
-
-[Mount]
-What=tmpfs
-Where=/mnt/overlay
-Type=tmpfs
-Options=mode=1777,strictatime,nosuid,nodev
-
-[Install]
-WantedBy=multi-user.target
-EOT
-}
-
-"""
-
         overlayfs_recipe_append = """
 OVERLAYFS_WRITABLE_PATHS[mnt-overlay] += "/usr/share/another-overlay-mount"
 
@@ -179,7 +154,7 @@
 
         self.write_config(config)
         self.add_overlay_conf_to_machine()
-        self.write_recipeinc('systemd-machine-units', systemd_machine_unit_append)
+        self.write_recipeinc(recipe, data)
         self.write_recipeinc('overlayfs-user', overlayfs_recipe_append)
 
         bitbake('core-image-minimal')
@@ -210,6 +185,59 @@
             line = getline_qemu(output, "upperdir=/mnt/overlay/upper/usr/share/another-overlay-mount")
             self.assertTrue(line and line.startswith("overlay"), msg=output)
 
+    def test_correct_image_fstab(self):
+        """
+        Summary:   Check that we can create an image when all parameters are
+                   set correctly via fstab
+        Expected:  Image is created successfully
+        Author:    Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
+        """
+
+        base_files_append = """
+do_install:append() {
+    cat <<EOT >> ${D}${sysconfdir}/fstab
+tmpfs                /mnt/overlay         tmpfs      mode=1777,strictatime,nosuid,nodev  0  0
+EOT
+}
+"""
+
+        self._test_correct_image('base-files', base_files_append)
+
+    def test_correct_image_unit(self):
+        """
+        Summary:   Check that we can create an image when all parameters are
+                   set correctly via mount unit
+        Expected:  Image is created successfully
+        Author:    Vyacheslav Yurkov <uvv.mail@gmail.com>
+        """
+
+        systemd_machine_unit_append = """
+SYSTEMD_SERVICE:${PN} += " \
+    mnt-overlay.mount \
+"
+
+do_install:append() {
+    install -d ${D}${systemd_system_unitdir}
+    cat <<EOT > ${D}${systemd_system_unitdir}/mnt-overlay.mount
+[Unit]
+Description=Tmpfs directory
+DefaultDependencies=no
+
+[Mount]
+What=tmpfs
+Where=/mnt/overlay
+Type=tmpfs
+Options=mode=1777,strictatime,nosuid,nodev
+
+[Install]
+WantedBy=multi-user.target
+EOT
+}
+
+"""
+
+        self._test_correct_image('systemd-machine-units', systemd_machine_unit_append)
+
 class OverlayFSEtcRunTimeTests(OESelftestTestCase):
     """overlayfs-etc class tests"""
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index 09448ba..510dae6 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -343,7 +343,7 @@
         result = runCmd('recipetool create -o %s %s -x %s' % (recipefile, srcuri, tempsrc))
         self.assertTrue(os.path.isfile(recipefile))
         checkvars = {}
-        checkvars['LICENSE'] = 'GPLv2'
+        checkvars['LICENSE'] = 'GPL-2.0-only'
         checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'
         checkvars['SRC_URI'] = 'https://github.com/logrotate/logrotate/releases/download/${PV}/logrotate-${PV}.tar.xz'
         checkvars['SRC_URI[md5sum]'] = 'a560c57fac87c45b2fc17406cdf79288'
@@ -363,7 +363,7 @@
         result = runCmd(['recipetool', 'create', '-o', recipefile, srcuri + ";rev=9f7cf8895ae2d39c465c04cc78e918c157420269", '-x', tempsrc])
         self.assertTrue(os.path.isfile(recipefile), 'recipetool did not create recipe file; output:\n%s' % result.output)
         checkvars = {}
-        checkvars['LICENSE'] = 'LGPLv2.1'
+        checkvars['LICENSE'] = 'LGPL-2.1-only'
         checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34'
         checkvars['S'] = '${WORKDIR}/git'
         checkvars['PV'] = '1.11+git${SRCPV}'
@@ -377,7 +377,7 @@
         temprecipe = os.path.join(self.tempdir, 'recipe')
         os.makedirs(temprecipe)
         pv = '1.7.4.1'
-        srcuri = 'http://www.dest-unreach.org/socat/download/socat-%s.tar.bz2' % pv
+        srcuri = 'http://www.dest-unreach.org/socat/download/Archive/socat-%s.tar.bz2' % pv
         result = runCmd('recipetool create %s -o %s' % (srcuri, temprecipe))
         dirlist = os.listdir(temprecipe)
         if len(dirlist) > 1:
@@ -386,7 +386,7 @@
             self.fail('recipetool did not create recipe file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist)))
         self.assertEqual(dirlist[0], 'socat_%s.bb' % pv, 'Recipe file incorrectly named')
         checkvars = {}
-        checkvars['LICENSE'] = set(['Unknown', 'GPLv2'])
+        checkvars['LICENSE'] = set(['Unknown', 'GPL-2.0-only'])
         checkvars['LIC_FILES_CHKSUM'] = set(['file://COPYING.OpenSSL;md5=5c9bccc77f67a8328ef4ebaf468116f4', 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'])
         # We don't check DEPENDS since they are variable for this recipe depending on what's in the sysroot
         checkvars['S'] = None
@@ -402,7 +402,7 @@
         result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
         self.assertTrue(os.path.isfile(recipefile))
         checkvars = {}
-        checkvars['LICENSE'] = set(['LGPLv2.1', 'MPL-1.1'])
+        checkvars['LICENSE'] = set(['LGPL-2.1-only', 'MPL-1.1-only'])
         checkvars['SRC_URI'] = 'http://taglib.github.io/releases/taglib-${PV}.tar.gz'
         checkvars['SRC_URI[md5sum]'] = 'cee7be0ccfc892fa433d6c837df9522a'
         checkvars['SRC_URI[sha256sum]'] = 'b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b'
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 5637a02..642f0eb 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -217,7 +217,7 @@
         if distro and distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'ubuntu-16.04', 'ubuntu-18.04', 'almalinux-8.5']:
             self.skipTest('virgl headless cannot be tested with %s' %(distro))
 
-        render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one sutable for mesa llvmpipe sofware renderer."""
+        render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one suitable for mesa llvmpipe software renderer."""
         try:
             content = os.listdir("/dev/dri")
             if len([i for i in content if i.startswith('render')]) == 0:
diff --git a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
index 8fd48bb..6f26af2 100644
--- a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -87,14 +87,14 @@
         with bb.tinfoil.Tinfoil() as tinfoil:
             tinfoil.prepare(config_only=True)
 
-            tinfoil.set_event_mask(['bb.event.FilesMatchingFound', 'bb.command.CommandCompleted'])
+            tinfoil.set_event_mask(['bb.event.FilesMatchingFound', 'bb.command.CommandCompleted', 'bb.command.CommandFailed', 'bb.command.CommandExit'])
 
             # Need to drain events otherwise events that were masked may still be in the queue
             while tinfoil.wait_event():
                 pass
 
             pattern = 'conf'
-            res = tinfoil.run_command('testCookerCommandEvent', pattern)
+            res = tinfoil.run_command('testCookerCommandEvent', pattern, handle_events=False)
             self.assertTrue(res)
 
             eventreceived = False
@@ -118,7 +118,7 @@
                     else:
                         self.fail('Unexpected event: %s' % event)
 
-            self.assertTrue(commandcomplete, 'Timed out waiting for CommandCompleted event from bitbake server')
+            self.assertTrue(commandcomplete, 'Timed out waiting for CommandCompleted event from bitbake server (Matching event received: %s)' % str(eventreceived))
             self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server')
 
     def test_setvariable_clean(self):
diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb
index df5f23e..9857e8e 100644
--- a/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb
+++ b/poky/meta/recipes-bsp/grub/grub-efi_2.06.bb
@@ -46,11 +46,21 @@
 
 do_mkimage() {
 	cd ${B}
+
+	GRUB_MKIMAGE_MODULES="${GRUB_BUILDIN}"
+
+	# If 'all' is included in GRUB_BUILDIN we will include all available grub2 modules
+	if [ "${@ bb.utils.contains('GRUB_BUILDIN', 'all', 'True', 'False', d)}" = "True" ]; then
+		bbdebug 1 "Including all available modules"
+		# Get the list of all .mod files in grub-core build directory
+		GRUB_MKIMAGE_MODULES=$(find ${B}/grub-core/ -type f -name "*.mod" -exec basename {} .mod \;)
+	fi
+
 	# Search for the grub.cfg on the local boot media by using the
 	# built in cfg file provided via this recipe
-	grub-mkimage -c ../cfg -p ${EFIDIR} -d ./grub-core/ \
+	grub-mkimage -v -c ../cfg -p ${EFIDIR} -d ./grub-core/ \
 	               -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \
-	               ${GRUB_BUILDIN}
+	               ${GRUB_MKIMAGE_MODULES}
 }
 
 addtask mkimage before do_install after do_compile
@@ -70,6 +80,7 @@
     install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}${EFI_FILES_PATH}/${GRUB_IMAGE}
 }
 
+# To include all available modules, add 'all' to GRUB_BUILDIN
 GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \
                  efi_gop iso9660 configfile search loadenv test"
 
diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc
index ba0596c..45852ab 100644
--- a/poky/meta/recipes-bsp/grub/grub2.inc
+++ b/poky/meta/recipes-bsp/grub/grub2.inc
@@ -28,6 +28,8 @@
 
 # Applies only to RHEL
 CVE_CHECK_IGNORE += "CVE-2019-14865"
+# Applies only to SUSE
+CVE_CHECK_IGNORE += "CVE-2021-46705"
 
 DEPENDS = "flex-native bison-native gettext-native"
 
diff --git a/poky/meta/recipes-bsp/libacpi/libacpi_0.2.bb b/poky/meta/recipes-bsp/libacpi/libacpi_0.2.bb
index fa9e3d4..6d4be76 100644
--- a/poky/meta/recipes-bsp/libacpi/libacpi_0.2.bb
+++ b/poky/meta/recipes-bsp/libacpi/libacpi_0.2.bb
@@ -22,7 +22,7 @@
 
 inherit lib_package
 
-COMPATIBLE_HOST = '(x86_64|i.86).*-(linux|freebsd.*)'
+COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-(linux|freebsd.*)'
 
 CFLAGS += "-fPIC"
 EXTRA_OEMAKE = '-e MAKEFLAGS= STRIP="echo"'
diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_014.bb b/poky/meta/recipes-bsp/usbutils/usbutils_014.bb
index 828eb4d..e728f1a 100644
--- a/poky/meta/recipes-bsp/usbutils/usbutils_014.bb
+++ b/poky/meta/recipes-bsp/usbutils/usbutils_014.bb
@@ -20,7 +20,8 @@
 ALTERNATIVE:${PN} = "lsusb"
 ALTERNATIVE_PRIORITY = "100"
 
-# The binaries are mostly GPLv2+ apart from lsusb.py which is GPLv2 or v3.
+# The binaries are mostly GPL-2.0-or-later apart from lsusb.py which is
+# GPL-2.0-only or GPL-3.0-only.
 LICENSE:${PN} = "GPL-2.0-or-later"
 LICENSE:${PN}-python = "GPL-2.0-only | GPL-3.0-only"
 
diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 3e020e6..9bb5e58 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -10,8 +10,8 @@
 BUGTRACKER = "https://github.com/lathiat/avahi/issues"
 SECTION = "network"
 
-# major part is under LGPLv2.1+, but several .dtd, .xsl, initscripts and
-# python scripts are under GPLv2+
+# major part is under LGPL-2.1-or-later, but several .dtd, .xsl, initscripts and
+# python scripts are under GPL-2.0-or-later
 LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
                     file://avahi-common/address.h;endline=25;md5=b1d1d2cda1c07eb848ea7d6215712d9d \
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.16.26/0001-named-lwresd-V-and-start-log-hide-build-options.patch
deleted file mode 100644
index 4dc6a5a..0000000
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.26/0001-named-lwresd-V-and-start-log-hide-build-options.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From f5761bbaf743d291f3e7e859e69ebe61a1718cbf Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 27 Aug 2018 21:24:20 +0800
-Subject: [PATCH] `named/lwresd -V' and start log hide build options
-
-The build options expose build path directories, so hide them.
-[snip]
-$ named -V
-|built by make with *** (options are hidden)
-[snip]
-
-Upstream-Status: Inappropriate [oe-core specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Refreshed for 9.16.0
-Signed-off-by: Armin Kuster <akuster@mvista.com>
----
- bin/named/include/named/globals.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/bin/named/include/named/globals.h b/bin/named/include/named/globals.h
-index 0572154..3147e04 100644
---- a/bin/named/include/named/globals.h
-+++ b/bin/named/include/named/globals.h
-@@ -69,7 +69,7 @@ EXTERN const char *named_g_version	  INIT(VERSION);
- EXTERN const char *named_g_product	  INIT(PRODUCT);
- EXTERN const char *named_g_description	  INIT(DESCRIPTION);
- EXTERN const char *named_g_srcid	  INIT(SRCID);
--EXTERN const char *named_g_configargs	  INIT(CONFIGARGS);
-+EXTERN const char *named_g_configargs	  INIT("*** (options are hidden)");
- EXTERN const char *named_g_builder	  INIT(BUILDER);
- EXTERN in_port_t named_g_port		  INIT(0);
- EXTERN isc_dscp_t named_g_dscp		  INIT(-1);
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/0001-avoid-start-failure-with-bind-user.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.1/0001-avoid-start-failure-with-bind-user.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.26/0001-avoid-start-failure-with-bind-user.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.1/0001-avoid-start-failure-with-bind-user.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.18.1/0001-named-lwresd-V-and-start-log-hide-build-options.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.1/0001-named-lwresd-V-and-start-log-hide-build-options.patch
new file mode 100644
index 0000000..4c10f33
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.1/0001-named-lwresd-V-and-start-log-hide-build-options.patch
@@ -0,0 +1,35 @@
+From 4e83392e840fa7b05e778710b8c202d102477a13 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 27 Aug 2018 21:24:20 +0800
+Subject: [PATCH] `named/lwresd -V' and start log hide build options
+
+The build options expose build path directories, so hide them.
+[snip]
+$ named -V
+|built by make with *** (options are hidden)
+[snip]
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Refreshed for 9.16.0
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index bf20690..c5d330f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -35,7 +35,7 @@ AC_DEFINE([PACKAGE_VERSION_EXTRA], ["][bind_VERSION_EXTRA]["], [BIND 9 Extra par
+ AC_DEFINE([PACKAGE_DESCRIPTION], [m4_ifnblank(bind_DESCRIPTION, [" ]bind_DESCRIPTION["], [])], [An extra string to print after PACKAGE_STRING])
+ AC_DEFINE([PACKAGE_SRCID], ["][bind_SRCID]["], [A short hash from git])
+ 
+-bind_CONFIGARGS="${ac_configure_args:-default}"
++bind_CONFIGARGS="(removed for reproducibility)"
+ AC_DEFINE_UNQUOTED([PACKAGE_CONFIGARGS], ["$bind_CONFIGARGS"], [Either 'defaults' or used ./configure options])
+ 
+ AC_DEFINE([PACKAGE_BUILDER], ["make"], [make or Visual Studio])
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/bind-ensure-searching-for-json-headers-searches-sysr.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.1/bind-ensure-searching-for-json-headers-searches-sysr.patch
similarity index 73%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.26/bind-ensure-searching-for-json-headers-searches-sysr.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.1/bind-ensure-searching-for-json-headers-searches-sysr.patch
index f9cdc7c..f1abd17 100644
--- a/poky/meta/recipes-connectivity/bind/bind-9.16.26/bind-ensure-searching-for-json-headers-searches-sysr.patch
+++ b/poky/meta/recipes-connectivity/bind/bind-9.18.1/bind-ensure-searching-for-json-headers-searches-sysr.patch
@@ -1,4 +1,4 @@
-From edda20fb5a6e88548f85e39d34d6c074306e15bc Mon Sep 17 00:00:00 2001
+From 246087f89e9434b726c7884e4c0964f71084f091 Mon Sep 17 00:00:00 2001
 From: Paul Gortmaker <paul.gortmaker@windriver.com>
 Date: Tue, 9 Jun 2015 11:22:00 -0400
 Subject: [PATCH] bind: ensure searching for json headers searches sysroot
@@ -32,16 +32,16 @@
  configure.ac | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: bind-9.16.4/configure.ac
-===================================================================
---- bind-9.16.4.orig/configure.ac
-+++ bind-9.16.4/configure.ac
-@@ -1232,7 +1232,7 @@ case "$use_lmdb" in
- 		LMDB_LIBS=""
- 		;;
- 	auto|yes)
--		for d in /usr /usr/local /opt/local
-+		for d in "${STAGING_INCDIR}"
- 		do
- 			if test -f "${d}/include/lmdb.h"
- 			then
+diff --git a/configure.ac b/configure.ac
+index 10e8bf6..bf20690 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -814,7 +814,7 @@ AS_CASE([$with_lmdb],
+ 	[no],[],
+ 	[auto|yes], [PKG_CHECK_MODULES([LMDB], [lmdb],
+ 				       [ac_lib_lmdb_found=yes],
+-				       [for ac_lib_lmdb_path in /usr /usr/local /opt /opt/local; do
++				       [for ac_lib_lmdb_path in "${STAGING_INCDIR}"; do
+ 						AX_LIB_LMDB([$ac_lib_lmdb_path],
+ 							    [ac_lib_lmdb_found=yes
+ 							     break])
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/bind9 b/poky/meta/recipes-connectivity/bind/bind-9.18.1/bind9
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.26/bind9
rename to poky/meta/recipes-connectivity/bind/bind-9.18.1/bind9
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/conf.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.1/conf.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.26/conf.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.1/conf.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/generate-rndc-key.sh b/poky/meta/recipes-connectivity/bind/bind-9.18.1/generate-rndc-key.sh
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.26/generate-rndc-key.sh
rename to poky/meta/recipes-connectivity/bind/bind-9.18.1/generate-rndc-key.sh
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/init.d-add-support-for-read-only-rootfs.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.1/init.d-add-support-for-read-only-rootfs.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.26/init.d-add-support-for-read-only-rootfs.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.1/init.d-add-support-for-read-only-rootfs.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/make-etc-initd-bind-stop-work.patch b/poky/meta/recipes-connectivity/bind/bind-9.18.1/make-etc-initd-bind-stop-work.patch
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.26/make-etc-initd-bind-stop-work.patch
rename to poky/meta/recipes-connectivity/bind/bind-9.18.1/make-etc-initd-bind-stop-work.patch
diff --git a/poky/meta/recipes-connectivity/bind/bind-9.16.26/named.service b/poky/meta/recipes-connectivity/bind/bind-9.18.1/named.service
similarity index 100%
rename from poky/meta/recipes-connectivity/bind/bind-9.16.26/named.service
rename to poky/meta/recipes-connectivity/bind/bind-9.18.1/named.service
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.16.26.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.1.bb
similarity index 86%
rename from poky/meta/recipes-connectivity/bind/bind_9.16.26.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.18.1.bb
index 877d0a2..6aa832f 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.16.26.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.18.1.bb
@@ -4,7 +4,7 @@
 SECTION = "console/network"
 
 LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4e7b3c52170a348459a4ff3f5ce95e37"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9a4a897f202c0710e07f2f2836bc2b62"
 
 DEPENDS = "openssl libcap zlib libuv"
 
@@ -20,11 +20,11 @@
            file://0001-avoid-start-failure-with-bind-user.patch \
            "
 
-SRC_URI[sha256sum] = "70b39a5eb71650358ec9ba41da3050d32aeac0aeb4a466684b23f35affa7fb45"
+SRC_URI[sha256sum] = "57c7afd871694d615cb4defb1c1bd6ed023350943d7458414db8d493ef560427"
 
 UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
-# stay at 9.16 follow the ESV versions divisible by 4
-UPSTREAM_CHECK_REGEX = "(?P<pver>9.(16|20|24|28)(\.\d+)+(-P\d+)*)/"
+# follow the ESV versions divisible by 2
+UPSTREAM_CHECK_REGEX = "(?P<pver>9.(\d*[02468])+(\.\d+)+(-P\d+)*)/"
 
 # Issue only affects dhcpd with recent bind versions. We don't ship dhcpd anymore
 # so the issue doesn't affect us.
@@ -35,11 +35,11 @@
 # PACKAGECONFIGs readline and libedit should NOT be set at same time
 PACKAGECONFIG ?= "readline"
 PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--without-libxml2,libxml2"
-PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
-PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
-PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
+PACKAGECONFIG[readline] = "--with-readline=readline,,readline"
+PACKAGECONFIG[libedit] = "--with-readline=libedit,,libedit"
+PACKAGECONFIG[dns-over-http] = "--enable-doh,--disable-doh,nghttp2"
 
-EXTRA_OECONF = " --with-libtool --disable-devpoll --disable-auto-validation --enable-epoll \
+EXTRA_OECONF = " --disable-devpoll --disable-auto-validation --enable-epoll \
                  --with-gssapi=no --with-lmdb=no --with-zlib \
                  --sysconfdir=${sysconfdir}/bind \
                  --with-openssl=${STAGING_DIR_HOST}${prefix} \
@@ -90,8 +90,6 @@
 		install -d ${D}${sysconfdir}/tmpfiles.d
 		echo "d /run/named 0755 bind bind - -" > ${D}${sysconfdir}/tmpfiles.d/bind.conf
 	fi
-
-    oe_multilib_header isc/platform.h
 }
 
 CONFFILES:${PN} = " \
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.63.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.64.bb
similarity index 94%
rename from poky/meta/recipes-connectivity/bluez5/bluez5_5.63.bb
rename to poky/meta/recipes-connectivity/bluez5/bluez5_5.64.bb
index a9ee291..4319f9a 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.63.bb
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.64.bb
@@ -1,6 +1,6 @@
 require bluez5.inc
 
-SRC_URI[sha256sum] = "9349e11e8160bb3d720835d271250d8a7424d3690f5289e6db6fe07cc66c6d76"
+SRC_URI[sha256sum] = "ae437e65b6b3070c198bc5b0109fe9cdeb9eaa387380e2072f9de65fe8a1de34"
 
 # These issues have kernel fixes rather than bluez fixes so exclude here
 CVE_CHECK_IGNORE += "CVE-2020-12352 CVE-2020-24490"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-lib-fix-ax25.h-include-for-musl.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/0001-lib-fix-ax25.h-include-for-musl.patch
deleted file mode 100644
index e4c0cf4..0000000
--- a/poky/meta/recipes-connectivity/iproute2/iproute2/0001-lib-fix-ax25.h-include-for-musl.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 8bced38a941a181f1468fa39541e872e51b6022f Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Thu, 13 Jan 2022 08:14:13 +0000
-Subject: [PATCH] lib: fix ax25.h include for musl
-
-ax25.h isn't guaranteed to be avilable in netax25/*;
-it's dependent on our choice of libc (it's not available
-on musl at least) [0].
-
-Let's use the version from linux-headers.
-
-[0] https://sourceware.org/glibc/wiki/Synchronizing_Headers
-Bug: https://bugs.gentoo.org/831102
-
-Signed-off-by: Sam James <sam@gentoo.org>
-Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=8bced38a941a181f1468fa39541e872e51b6022f]
----
- lib/ax25_ntop.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/ax25_ntop.c b/lib/ax25_ntop.c
-index cfd0e04b..3a72a43e 100644
---- a/lib/ax25_ntop.c
-+++ b/lib/ax25_ntop.c
-@@ -2,7 +2,7 @@
-
- #include <errno.h>
- #include <sys/socket.h>
--#include <netax25/ax25.h>
-+#include <linux/ax25.h>
-
- #include "utils.h"
-
---
-2.32.0 (Apple Git-132)
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.16.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb
similarity index 64%
rename from poky/meta/recipes-connectivity/iproute2/iproute2_5.16.0.bb
rename to poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb
index 871f8d8..becbaa9 100644
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.16.0.bb
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.17.0.bb
@@ -2,10 +2,9 @@
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
            file://0001-libc-compat.h-add-musl-workaround.patch \
-           file://0001-lib-fix-ax25.h-include-for-musl.patch \
            "
 
-SRC_URI[sha256sum] = "c064b66f6b001c2a35aa5224b5b1ac8aa4bee104d7dce30d6f10a84cb8b01e2f"
+SRC_URI[sha256sum] = "6e384f1b42c75e1a9daac57866da37dcff909090ba86eb25a6e764da7893660e"
 
 # CFLAGS are computed in Makefile and reference CCOPTS
 #
diff --git a/poky/meta/recipes-connectivity/kea/kea_2.0.1.bb b/poky/meta/recipes-connectivity/kea/kea_2.0.2.bb
similarity index 94%
rename from poky/meta/recipes-connectivity/kea/kea_2.0.1.bb
rename to poky/meta/recipes-connectivity/kea/kea_2.0.2.bb
index 900ceb6..13da1f8 100644
--- a/poky/meta/recipes-connectivity/kea/kea_2.0.1.bb
+++ b/poky/meta/recipes-connectivity/kea/kea_2.0.2.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "http://kea.isc.org"
 SECTION = "connectivity"
 LICENSE = "MPL-2.0 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=07b7477a1d815a4aacab73b1531f577a"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b4ecee995eeb6780a17dd7e539e97abc"
 
 DEPENDS = "boost log4cplus openssl"
 
@@ -18,7 +18,7 @@
            file://fix_pid_keactrl.patch \
            file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
            "
-SRC_URI[sha256sum] = "f50bb9a954e314316b4033a175dc807496bb9c1754110bd92a21c165a9e84c57"
+SRC_URI[sha256sum] = "8d28213bdc8e2bb870a383b30ac1e53d54e1eba43d2f86e5151b08b66aa6cf32"
 
 inherit autotools systemd update-rc.d upstream-version-is-even
 
diff --git a/poky/meta/recipes-connectivity/libuv/libuv_1.43.0.bb b/poky/meta/recipes-connectivity/libuv/libuv_1.44.1.bb
similarity index 77%
rename from poky/meta/recipes-connectivity/libuv/libuv_1.43.0.bb
rename to poky/meta/recipes-connectivity/libuv/libuv_1.44.1.bb
index 1b536de..4c96d80 100644
--- a/poky/meta/recipes-connectivity/libuv/libuv_1.43.0.bb
+++ b/poky/meta/recipes-connectivity/libuv/libuv_1.44.1.bb
@@ -3,10 +3,11 @@
 DESCRIPTION = "libuv is a multi-platform support library with a focus on asynchronous I/O. It was primarily developed for use by Node.js, but it's also used by Luvit, Julia, pyuv, and others."
 BUGTRACKER = "https://github.com/libuv/libuv/issues"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d"
 
-SRCREV = "988f2bfc4defb9a85a536a3e645834c161143ee0"
+SRCREV = "e8b7eb6908a847ffbe6ab2eec7428e43a0aa53a2"
 SRC_URI = "git://github.com/libuv/libuv;branch=v1.x;protocol=https"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
index 4246f4d..781b921 100644
--- a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
+++ b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
@@ -4,11 +4,12 @@
 SECTION = "network"
 LICENSE = "PD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04"
-SRCREV = "11f2247eccd3c161b8fd9b41143862e9fb81193c"
-PV = "20210805"
+
+SRCREV = "4cbb44a9fe26aa6f0b28beb79f9488b37c097b5e"
+PV = "20220315"
 PE = "1"
 
-SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=master"
+SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https;branch=main"
 S = "${WORKDIR}/git"
 
 inherit autotools
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0001-Default-to-not-using-sandbox-when-cross-compiling.patch b/poky/meta/recipes-connectivity/openssh/openssh/0001-Default-to-not-using-sandbox-when-cross-compiling.patch
new file mode 100644
index 0000000..0241c29
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh/0001-Default-to-not-using-sandbox-when-cross-compiling.patch
@@ -0,0 +1,33 @@
+From 56194e9a6043873b0ec84f9d15c6e4caca2580c8 Mon Sep 17 00:00:00 2001
+From: Darren Tucker <dtucker@dtucker.net>
+Date: Tue, 8 Mar 2022 20:04:06 +1100
+Subject: [PATCH] Default to not using sandbox when cross compiling.
+
+On most systems poll(2) does not work when the number of FDs is reduced
+with setrlimit, so assume it doesn't when cross compiling and we can't
+run the test.  bz#3398.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://anongit.mindrot.org/openssh.git/patch/?id=8cf5275452a950869cb90eeac7d220b01f77b12e]
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 17fb1e6..a165d08 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3574,8 +3574,8 @@ AC_RUN_IFELSE(
+ 	 select_works_with_rlimit=yes],
+ 	[AC_MSG_RESULT([no])
+ 	 select_works_with_rlimit=no],
+-	[AC_MSG_WARN([cross compiling: assuming yes])
+-	 select_works_with_rlimit=yes]
++	[AC_MSG_WARN([cross compiling: assuming no])
++	 select_works_with_rlimit=no]
+ )
+ 
+ AC_CHECK_MEMBERS([struct pollfd.fd], [], [], [[
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/f107467179428a0e3ea9e4aa9738ac12ff02822d.patch b/poky/meta/recipes-connectivity/openssh/openssh/f107467179428a0e3ea9e4aa9738ac12ff02822d.patch
new file mode 100644
index 0000000..847c0a1
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh/f107467179428a0e3ea9e4aa9738ac12ff02822d.patch
@@ -0,0 +1,35 @@
+From f107467179428a0e3ea9e4aa9738ac12ff02822d Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@debian.org>
+Date: Thu, 24 Feb 2022 16:04:18 +0000
+Subject: [PATCH] Improve detection of -fzero-call-used-regs=all support
+
+GCC doesn't tell us whether this option is supported unless it runs into
+the situation where it would need to emit corresponding code.
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ m4/openssh.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/m4/openssh.m4 b/m4/openssh.m4
+index 4f9c3792dc1..8c33c701b8b 100644
+--- a/m4/openssh.m4
++++ b/m4/openssh.m4
+@@ -14,6 +14,8 @@ AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{
+ 	AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+ #include <stdlib.h>
+ #include <stdio.h>
++/* Trivial function to help test for -fzero-call-used-regs */
++void f(int n) {}
+ int main(int argc, char **argv) {
+ 	(void)argv;
+ 	/* Some math to catch -ftrapv problems in the toolchain */
+@@ -21,6 +23,7 @@ int main(int argc, char **argv) {
+ 	float l = i * 2.1;
+ 	double m = l / 0.5;
+ 	long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
++	f(0);
+ 	printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
+ 	/*
+ 	 * Test fallthrough behaviour.  clang 10's -Wimplicit-fallthrough does
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/run-ptest b/poky/meta/recipes-connectivity/openssh/openssh/run-ptest
index ae03e92..8a9b770 100755
--- a/poky/meta/recipes-connectivity/openssh/openssh/run-ptest
+++ b/poky/meta/recipes-connectivity/openssh/openssh/run-ptest
@@ -5,7 +5,7 @@
 
 cd regress
 sed -i "/\t\tagent-ptrace /d" Makefile
-make -k .OBJDIR=`pwd` .CURDIR=`pwd` SUDO="sudo" tests \
+make -k BUILDDIR=`pwd`/.. .OBJDIR=`pwd` .CURDIR=`pwd` SUDO="sudo" tests \
         | sed -u -e 's/^skipped/SKIP: /g' -e 's/^ok /PASS: /g' -e 's/^failed/FAIL: /g'
 
 SSHAGENT=`which ssh-agent`
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.8p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.9p1.bb
similarity index 93%
rename from poky/meta/recipes-connectivity/openssh/openssh_8.8p1.bb
rename to poky/meta/recipes-connectivity/openssh/openssh_8.9p1.bb
index 953c29d..f306b12 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_8.8p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_8.9p1.bb
@@ -5,8 +5,8 @@
 and for executing commands on a remote machine."
 HOMEPAGE = "http://www.openssh.com/"
 SECTION = "console/network"
-LICENSE = "BSD-2-Clause & BSD-3-Clause & BSD-4-Clause & ISC & MIT"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=d9d2753bdef9f19466dc7bc959114b11"
+LICENSE = "BSD-2-Clause & BSD-3-Clause & ISC & MIT"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=8baf365614c9bdd63705f298c9afbfb9"
 
 DEPENDS = "zlib openssl virtual/crypt"
 DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
@@ -24,8 +24,10 @@
            file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
            file://sshd_check_keys \
            file://add-test-support-for-busybox.patch \
+           file://f107467179428a0e3ea9e4aa9738ac12ff02822d.patch \
+           file://0001-Default-to-not-using-sandbox-when-cross-compiling.patch \
            "
-SRC_URI[sha256sum] = "4590890ea9bb9ace4f71ae331785a3a5823232435161960ed5fc86588f331fe9"
+SRC_URI[sha256sum] = "fd497654b7ab1686dac672fb83dfb4ba4096e8b5ffcdaccd262380ae58bec5e7"
 
 # This CVE is specific to OpenSSH with the pam opie which we don't build/use here
 CVE_CHECK_IGNORE += "CVE-2007-2768"
@@ -94,10 +96,7 @@
 }
 
 do_compile_ptest() {
-        # skip regress/unittests/ binaries: this will silently skip
-        # unittests in run-ptests which is good because they are so slow.
-        oe_runmake regress/modpipe regress/setuid-allowed regress/netcat \
-                   regress/check-perm regress/mkdtemp
+	oe_runmake regress-binaries regress-unit-binaries
 }
 
 do_install:append () {
@@ -145,6 +144,7 @@
 do_install_ptest () {
 	sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libexecdir}/sftp-server|" regress/test-exec.sh
 	cp -r regress ${D}${PTEST_PATH}
+	cp config.h ${D}${PTEST_PATH}
 }
 
 ALLOW_EMPTY:${PN} = "1"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl/reproducibility.patch b/poky/meta/recipes-connectivity/openssl/openssl/reproducibility.patch
deleted file mode 100644
index 8accbc9..0000000
--- a/poky/meta/recipes-connectivity/openssl/openssl/reproducibility.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Using localtime() means the output can depend on the timezone of the build machine.
-Using gmtime() is safer. For complete reproducibility use SOURCE_DATE_EPOCH if set.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Pending [should be suitable]
-
-Index: openssl-3.0.1/apps/progs.pl
-===================================================================
---- openssl-3.0.1.orig/apps/progs.pl
-+++ openssl-3.0.1/apps/progs.pl
-@@ -21,7 +21,10 @@ die "Unrecognised option, must be -C or
- my %commands     = ();
- my $cmdre        = qr/^\s*int\s+([a-z_][a-z0-9_]*)_main\(\s*int\s+argc\s*,/;
- my $apps_openssl = shift @ARGV;
--my $YEAR         = [localtime()]->[5] + 1900;
-+my $YEAR         = [gmtime()]->[5] + 1900;
-+if (defined($ENV{SOURCE_DATE_EPOCH}) && $ENV{SOURCE_DATE_EPOCH} !~ /\D/) {
-+    $YEAR = [gmtime($ENV{SOURCE_DATE_EPOCH})]->[5] + 1900;
-+}
- 
- # because the program apps/openssl has object files as sources, and
- # they then have the corresponding C files as source, we need to chain
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.0.1.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
similarity index 98%
rename from poky/meta/recipes-connectivity/openssl/openssl_3.0.1.bb
rename to poky/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
index 1128f6a..ff2a22c 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_3.0.1.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
@@ -12,14 +12,13 @@
            file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
            file://afalg.patch \
            file://0001-Configure-do-not-tweak-mips-cflags.patch \
-           file://reproducibility.patch \
            "
 
 SRC_URI:append:class-nativesdk = " \
            file://environment.d-openssl.sh \
            "
 
-SRC_URI[sha256sum] = "c311ad853353bce796edad01a862c50a8a587f62e7e2100ef465ab53ec9b06d1"
+SRC_URI[sha256sum] = "98e91ccead4d4756ae3c9cde5e09191a8e586d9f4d50838e7ec09d6411dfdb63"
 
 inherit lib_package multilib_header multilib_script ptest perlnative
 MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
diff --git a/poky/meta/recipes-core/coreutils/coreutils_9.0.bb b/poky/meta/recipes-core/coreutils/coreutils_9.0.bb
index e463394..e4a948c 100644
--- a/poky/meta/recipes-core/coreutils/coreutils_9.0.bb
+++ b/poky/meta/recipes-core/coreutils/coreutils_9.0.bb
@@ -151,6 +151,13 @@
 ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
 ALTERNATIVE_LINK_NAME[stat.1] = "${mandir}/man1/stat.1"
 
+# The statx() requires glibc >= 2.28 and linux kernel >= 4.11, it doesn't work
+# when glibc >= 2.28 ((Ubuntu 20.04 in docker) and kernel < 4.11 (Host OS
+# CentOS 7), we can check kernel version and disable it, but that would cause
+# two different signatures for coreutils-native, so disable it unconditionally
+# for deterministic build.
+EXTRA_OECONF:append:class-native = " ac_cv_func_statx=0"
+
 python __anonymous() {
     for prog in d.getVar('base_bindir_progs').split():
         d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.20.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.20.bb
deleted file mode 100644
index ae70301..0000000
--- a/poky/meta/recipes-core/dbus/dbus-test_1.12.20.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "D-Bus test package (for D-bus functionality testing only)"
-HOMEPAGE = "http://dbus.freedesktop.org"
-SECTION = "base"
-
-require dbus.inc
-
-SRC_URI += "file://run-ptest \
-            file://python-config.patch \
-	    "
-
-DEPENDS = "dbus glib-2.0"
-
-RDEPENDS:${PN}-dev = ""
-
-S="${WORKDIR}/dbus-${PV}"
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:"
-
-inherit ptest
-
-EXTRA_OECONF += "--enable-tests \
-                --enable-modular-tests \
-                --enable-installed-tests \
-                --enable-checks \
-                --enable-asserts \
-                --with-dbus-test-dir=${PTEST_PATH} \
-                --enable-embedded-tests \
-             "
-
-do_install() {
-    :
-}
-
-do_install_ptest() {
-	install -d ${D}${PTEST_PATH}/test
-	l="shell printf refs syslog marshal syntax corrupt dbus-daemon dbus-daemon-eavesdrop loopback relay \
-	   variant uid-permissions syntax spawn sd-activation names monitor message fdpass service shell-service"
-	for i in $l; do install ${B}/test/.libs/test-$i ${D}${PTEST_PATH}/test; done
-
-	l="bus bus-system bus-launch-helper"
-	for i in $l; do install ${B}/bus/.libs/test-$i ${D}${PTEST_PATH}/test; done
-
-	install -d ${D}${PTEST_PATH}/bus
-	install ${B}/bus/.libs/dbus-daemon-launch-helper-test ${D}${PTEST_PATH}/bus
-
-	install ${B}/test/test-segfault ${D}${PTEST_PATH}/test
-
-	cp -r ${B}/test/data ${D}${PTEST_PATH}/test
-	install ${B}/dbus/.libs/test-dbus ${D}${PTEST_PATH}/test
-
-	install -d ${D}${PTEST_PATH}/test/.libs
-	cp -a ${B}/dbus/.libs/*.so* ${D}${PTEST_PATH}/test/.libs
-
-	# Remove build host references...
-	find "${D}${PTEST_PATH}/test/data" \( -name *.service -o -name *.conf -o -name "*.aaprofile" \) -type f -exec \
-		sed -i \
-		 -e 's:${B}:${PTEST_PATH}:g' \
-		 {} +
-        sed -i -e 's;@PTEST_PATH@;${PTEST_PATH};g'  ${D}${PTEST_PATH}/run-ptest
-}
-
-RDEPENDS:${PN}-ptest += "bash make dbus"
-RDEPENDS:${PN}-ptest:remove = "${PN}"
-
-PRIVATE_LIBS:${PN}-ptest = "libdbus-1.so.3"
diff --git a/poky/meta/recipes-core/dbus/dbus.inc b/poky/meta/recipes-core/dbus/dbus.inc
deleted file mode 100644
index a43bf65..0000000
--- a/poky/meta/recipes-core/dbus/dbus.inc
+++ /dev/null
@@ -1,35 +0,0 @@
-inherit autotools pkgconfig gettext upstream-version-is-even
-
-LICENSE = "AFL-2.1 | GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
-                    file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c"
-
-SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \
-           file://tmpdir.patch \
-           file://dbus-1.init \
-           file://clear-guid_from_server-if-send_negotiate_unix_f.patch \
-           file://stop_using_selinux_set_mapping.patch \
-"
-
-SRC_URI[md5sum] = "dfe8a71f412e0b53be26ed4fbfdc91c4"
-SRC_URI[sha256sum] = "f77620140ecb4cdc67f37fb444f8a6bea70b5b6461f12f1cbe2cec60fa7de5fe"
-
-EXTRA_OECONF = "--disable-xml-docs \
-                --disable-doxygen-docs \
-                --enable-largefile \
-                --with-system-socket=/run/dbus/system_bus_socket \
-                "
-EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
-                   user-session \
-                  "
-PACKAGECONFIG:class-native = ""
-PACKAGECONFIG:class-nativesdk = ""
-
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
-PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
-PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
-PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,,"
-PACKAGECONFIG[audit] = "--enable-libaudit,--disable-libaudit,audit"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
diff --git a/poky/meta/recipes-core/dbus/dbus/clear-guid_from_server-if-send_negotiate_unix_f.patch b/poky/meta/recipes-core/dbus/dbus/clear-guid_from_server-if-send_negotiate_unix_f.patch
deleted file mode 100644
index 6bb6d9c..0000000
--- a/poky/meta/recipes-core/dbus/dbus/clear-guid_from_server-if-send_negotiate_unix_f.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From b8f84bd39485d3977625c9a8b8e8cff5d23be56f Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Thu, 27 Feb 2014 09:05:02 +0800
-Subject: [PATCH] dbus: clear guid_from_server if send_negotiate_unix_fd
- failed
-
-Upstream-Status: Submitted
-
-bus-test dispatch test failed with below information:
-    ./bus/bus-test: Running message dispatch test
-    Activating service name='org.freedesktop.DBus.TestSuiteEchoService'
-    Successfully activated service 'org.freedesktop.DBus.TestSuiteEchoService'
-    6363: assertion failed "_dbus_string_get_length (& DBUS_AUTH_CLIENT (auth)->guid_from_server) == 0" file "dbus-auth.c" line 1545 function process_ok
-      ./bus/bus-test(_dbus_print_backtrace+0x29) [0x80cb969]
-      ./bus/bus-test(_dbus_abort+0x14) [0x80cfb44]
-      ./bus/bus-test(_dbus_real_assert+0x53) [0x80b52c3]
-      ./bus/bus-test() [0x80e24da]
-      ./bus/bus-test(_dbus_auth_do_work+0x388) [0x80e3848]
-      ./bus/bus-test() [0x80aea49]
-      ./bus/bus-test() [0x80affde]
-      ./bus/bus-test(_dbus_transport_handle_watch+0xb1) [0x80ad841]
-      ./bus/bus-test(_dbus_connection_handle_watch+0x104) [0x8089174]
-      ./bus/bus-test(dbus_watch_handle+0xd8) [0x80b15e8]
-      ./bus/bus-test(_dbus_loop_iterate+0x4a9) [0x80d1509]
-      ./bus/bus-test(bus_test_run_clients_loop+0x5d) [0x808129d]
-      ./bus/bus-test() [0x806cab0]
-      ./bus/bus-test() [0x806e0ca]
-      ./bus/bus-test() [0x806da6f]
-      ./bus/bus-test(_dbus_test_oom_handling+0x18c) [0x80b5c8c]
-      ./bus/bus-test() [0x806f723]
-      ./bus/bus-test(bus_dispatch_test+0x3c) [0x8071aac]
-      ./bus/bus-test(main+0x1b7) [0x805acc7]
-      /lib/libc.so.6(__libc_start_main+0xf3) [0x45f919b3]
-      ./bus/bus-test() [0x805ae39]
-
-The stack is below:
-    #0  0xffffe425 in __kernel_vsyscall ()
-    #1  0x45fa62d6 in raise () from /lib/libc.so.6
-    #2  0x45fa9653 in abort () from /lib/libc.so.6
-    #3  0x080cfb65 in _dbus_abort () at dbus-sysdeps.c:94
-    #4  0x080b52c3 in _dbus_real_assert (condition=0,
-        condition_text=condition_text@entry=0x8117a38 "_dbus_string_get_length (& DBUS_AUTH_CLIENT (auth)->guid_from_server) == 0",
-        file=file@entry=0x8117273 "dbus-auth.c", line=line@entry=1545,
-        func=func@entry=0x8117f8e <__FUNCTION__.3492> "process_ok")
-        data=0x8157290) at dbus-connection.c:1515
-    #0  0x00000033fee353e9 in raise () from /lib64/libc.so.6
-    #1  0x00000033fee38508 in abort () from /lib64/libc.so.6
-    #2  0x000000000047d585 in _dbus_abort () at dbus-sysdeps.c:94
-    #3  0x0000000000466486 in _dbus_real_assert (condition=<optimized out>,
-        condition_text=condition_text@entry=0x4c2988 "_dbus_string_get_length (& DBUS_AUTH_CLIENT (auth)->guid_from_server) == 0",
-        file=file@entry=0x4c21a5 "dbus-auth.c", line=line@entry=1546,
-        func=func@entry=0x4c2fce <__FUNCTION__.3845> "process_ok")
-        at dbus-internals.c:931
-    #4  0x000000000048d424 in process_ok (args_from_ok=0x7fffffffe480,
-        auth=0x6ff340) at dbus-auth.c:1546
-    #5  handle_client_state_waiting_for_data (auth=0x6ff340,
-        command=<optimized out>, args=0x7fffffffe480) at dbus-auth.c:1996
-    #6  0x000000000048e789 in process_command (auth=0x6ff340) at dbus-auth.c:2208
-    #7  _dbus_auth_do_work (auth=0x6ff340) at dbus-auth.c:2458
-    #8  0x000000000046091d in do_authentication (
-        transport=transport@entry=0x6ffaa0, do_reading=do_reading@entry=1,
-        do_writing=do_writing@entry=0,
-        auth_completed=auth_completed@entry=0x7fffffffe55c)
-        at dbus-transport-socket.c:442
-    #9  0x0000000000461d08 in socket_handle_watch (transport=0x6ffaa0,
-        watch=0x6f4190, flags=1) at dbus-transport-socket.c:921
-    #10 0x000000000045fa3a in _dbus_transport_handle_watch (transport=0x6ffaa0,
-
-Once send_negotiate_unix_fd failed, this failure will happen, since
-auth->guid_from_server has been set to some value before
-send_negotiate_unix_fd. send_negotiate_unix_fd failure will lead to
-this auth be handled by process_ok again, but this auth->guid_from_server
-is not zero.
-
-So we should clear auth->guid_from_server if send_negotiate_unix_fd failed
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- dbus/dbus-auth.c |    9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/dbus/dbus-auth.c b/dbus/dbus-auth.c
-index d2c37a7..37b45c6 100644
---- a/dbus/dbus-auth.c
-+++ b/dbus/dbus-auth.c
-@@ -1571,8 +1571,13 @@ process_ok(DBusAuth *auth,
-   _dbus_verbose ("Got GUID '%s' from the server\n",
-                  _dbus_string_get_const_data (& DBUS_AUTH_CLIENT (auth)->guid_from_server));
- 
--  if (auth->unix_fd_possible)
--    return send_negotiate_unix_fd(auth);
-+  if (auth->unix_fd_possible) {
-+     if (!send_negotiate_unix_fd(auth)) {
-+         _dbus_string_set_length (& DBUS_AUTH_CLIENT (auth)->guid_from_server, 0);
-+         return FALSE;
-+     }
-+     return TRUE;
-+  }
- 
-   _dbus_verbose("Not negotiating unix fd passing, since not possible\n");
-   return send_begin (auth);
--- 
-1.7.10.4
-
diff --git a/poky/meta/recipes-core/dbus/dbus/python-config.patch b/poky/meta/recipes-core/dbus/dbus/python-config.patch
deleted file mode 100644
index da2f10c..0000000
--- a/poky/meta/recipes-core/dbus/dbus/python-config.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-When building the dbus-ptest package, we have to enable python.  However
-checking if the host-system python has the necessary library isn't useful.
-
-Disable the python module check for cross compiling.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-
----
- configure.ac | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 80d27b4..becc1cc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -279,13 +279,6 @@ if test "x$enable_tests" = xyes; then
-   # full test coverage is required, Python is a hard dependency
-   AC_MSG_NOTICE([Full test coverage (--enable-tests=yes) requires Python, dbus-python, pygi])
-   AM_PATH_PYTHON([2.6])
--  AC_MSG_CHECKING([for Python modules for full test coverage])
--  if "$PYTHON" -c "import dbus, gi.repository.GObject, dbus.mainloop.glib"; then
--    AC_MSG_RESULT([yes])
--  else
--    AC_MSG_RESULT([no])
--    AC_MSG_ERROR([cannot import dbus, gi.repository.GObject, dbus.mainloop.glib Python modules])
--  fi
- else
-   # --enable-tests not given: do not abort if Python is missing
-   AM_PATH_PYTHON([2.6], [], [:])
--- 
-1.9.1
-
diff --git a/poky/meta/recipes-core/dbus/dbus/run-ptest b/poky/meta/recipes-core/dbus/dbus/run-ptest
index d3eec08..54f43e1 100755
--- a/poky/meta/recipes-core/dbus/dbus/run-ptest
+++ b/poky/meta/recipes-core/dbus/dbus/run-ptest
@@ -1,35 +1,3 @@
 #!/bin/sh
-
-output() {
-  retcode=$?
-  if [ $retcode -eq 0 ]
-    then echo "PASS: $i"
-  elif [ $retcode -eq 77 ]
-    then echo "SKIP: $i"
-  else echo "FAIL: $i"
-  fi
-}
-
-export DBUS_TEST_HOMEDIR=./test
-export XDG_RUNTIME_DIR=./test
-export LD_LIBRARY_PATH=@PTEST_PATH@/test/.libs
-
-files=`ls test/test-*`
-
-for i in $files
-do
-     #these programs are used by testcase test-bus, don't run here
-     #additionally, test-names needs to be run under X
-     if [ $i = "test/test-service" ] \
-        || [ $i = "test/test-shell-service" ] \
-        || [ $i = "test/test-segfault" ] \
-        || [ $i = "test/test-bus" ] \
-        || [ $i = "test/test-names" ]
-     then
-         continue
-     fi
-
-     ./$i ./test/data >/dev/null 2>&1
-     output
-done 
+gnome-desktop-testing-runner dbus
 
diff --git a/poky/meta/recipes-core/dbus/dbus/stop_using_selinux_set_mapping.patch b/poky/meta/recipes-core/dbus/dbus/stop_using_selinux_set_mapping.patch
deleted file mode 100644
index 7035098..0000000
--- a/poky/meta/recipes-core/dbus/dbus/stop_using_selinux_set_mapping.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 6072f8b24153d844a3033108a17bcd0c1a967816 Mon Sep 17 00:00:00 2001
-From: Laurent Bigonville <bigon@bigon.be>
-Date: Sat, 3 Mar 2018 11:15:23 +0100
-Subject: [PATCH] Stop using selinux_set_mapping() function
-
-Currently, if the "dbus" security class or the associated AV doesn't
-exist, dbus-daemon fails to initialize and exits immediately. Also the
-security classes or access vector cannot be reordered in the policy.
-This can be a problem for people developing their own policy or trying
-to access a machine where, for some reasons, there is not policy defined
-at all.
-
-The code here copy the behaviour of the selinux_check_access() function.
-We cannot use this function here as it doesn't allow us to define the
-AVC entry reference.
-
-See the discussion at https://marc.info/?l=selinux&m=152163374332372&w=2
-
-Resolves: https://gitlab.freedesktop.org/dbus/dbus/issues/198
----
- bus/selinux.c | 75 ++++++++++++++++++++++++++++-----------------------
- 1 file changed, 42 insertions(+), 33 deletions(-)
-
-
-Upstream-Status: Backport
-Signed-off-by: Nisha.Parrakat <Nisha.Parrakat@kpit.com>
-diff --git a/bus/selinux.c b/bus/selinux.c
-
---- a/bus/selinux.c	2021-08-11 14:45:59.048513026 +0000
-+++ b/bus/selinux.c	2021-08-11 14:57:47.144846966 +0000
-@@ -311,24 +311,6 @@
- #endif
- }
- 
--/*
-- * Private Flask definitions; the order of these constants must
-- * exactly match that of the structure array below!
-- */
--/* security dbus class constants */
--#define SECCLASS_DBUS       1
--
--/* dbus's per access vector constants */
--#define DBUS__ACQUIRE_SVC   1
--#define DBUS__SEND_MSG      2
--
--#ifdef HAVE_SELINUX
--static struct security_class_mapping dbus_map[] = {
--  { "dbus", { "acquire_svc", "send_msg", NULL } },
--  { NULL }
--};
--#endif /* HAVE_SELINUX */
--
- /**
-  * Establish dynamic object class and permission mapping and
-  * initialize the user space access vector cache (AVC) for D-Bus and set up
-@@ -350,13 +332,6 @@
- 
-   _dbus_verbose ("SELinux is enabled in this kernel.\n");
- 
--  if (selinux_set_mapping (dbus_map) < 0)
--    {
--      _dbus_warn ("Failed to set up security class mapping (selinux_set_mapping():%s).",
--                   strerror (errno));
--      return FALSE; 
--    }
--
-   avc_entry_ref_init (&aeref);
-   if (avc_init ("avc", &mem_cb, &log_cb, &thread_cb, &lock_cb) < 0)
-     {
-@@ -421,19 +396,53 @@
- static dbus_bool_t
- bus_selinux_check (BusSELinuxID        *sender_sid,
-                    BusSELinuxID        *override_sid,
--                   security_class_t     target_class,
--                   access_vector_t      requested,
-+                   const char          *target_class,
-+                   const char          *requested,
- 		   DBusString          *auxdata)
- {
-+  int saved_errno;
-+  security_class_t security_class;
-+  access_vector_t requested_access;
-+
-   if (!selinux_enabled)
-     return TRUE;
- 
-+  security_class = string_to_security_class (target_class);
-+  if (security_class == 0)
-+    {
-+      saved_errno = errno;
-+      log_callback (SELINUX_ERROR, "Unknown class %s", target_class);
-+      if (security_deny_unknown () == 0)
-+        {
-+          return TRUE;
-+	}
-+
-+      _dbus_verbose ("Unknown class %s\n", target_class);
-+      errno = saved_errno;
-+      return FALSE;
-+    }
-+
-+  requested_access = string_to_av_perm (security_class, requested);
-+  if (requested_access == 0)
-+    {
-+      saved_errno = errno;
-+      log_callback (SELINUX_ERROR, "Unknown permission %s for class %s", requested, target_class);
-+      if (security_deny_unknown () == 0)
-+        {
-+          return TRUE;
-+	}
-+
-+      _dbus_verbose ("Unknown permission %s for class %s\n", requested, target_class);
-+      errno = saved_errno;
-+      return FALSE;
-+    }
-+
-   /* Make the security check.  AVC checks enforcing mode here as well. */
-   if (avc_has_perm (SELINUX_SID_FROM_BUS (sender_sid),
-                     override_sid ?
-                     SELINUX_SID_FROM_BUS (override_sid) :
-                     bus_sid,
--                    target_class, requested, &aeref, auxdata) < 0)
-+                    security_class, requested_access, &aeref, auxdata) < 0)
-     {
-     switch (errno)
-       {
-@@ -500,8 +509,8 @@
-   
-   ret = bus_selinux_check (connection_sid,
- 			   service_sid,
--			   SECCLASS_DBUS,
--			   DBUS__ACQUIRE_SVC,
-+			   "dbus",
-+			   "acquire_svc",
- 			   &auxdata);
- 
-   _dbus_string_free (&auxdata);
-@@ -629,8 +638,8 @@
- 
-   ret = bus_selinux_check (sender_sid, 
- 			   recipient_sid,
--			   SECCLASS_DBUS, 
--			   DBUS__SEND_MSG,
-+			   "dbus", 
-+			   "send_msg",
- 			   &auxdata);
- 
-   _dbus_string_free (&auxdata);
diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.20.bb b/poky/meta/recipes-core/dbus/dbus_1.14.0.bb
similarity index 74%
rename from poky/meta/recipes-core/dbus/dbus_1.12.20.bb
rename to poky/meta/recipes-core/dbus/dbus_1.14.0.bb
index 4894720..7598c45 100644
--- a/poky/meta/recipes-core/dbus/dbus_1.12.20.bb
+++ b/poky/meta/recipes-core/dbus/dbus_1.14.0.bb
@@ -3,12 +3,44 @@
 HOMEPAGE = "https://dbus.freedesktop.org"
 SECTION = "base"
 
-require dbus.inc
+inherit autotools pkgconfig gettext upstream-version-is-even ptest-gnome
 
-DEPENDS = "expat virtual/libintl autoconf-archive"
-PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
-ALLOW_EMPTY:dbus-ptest = "1"
-RDEPENDS:dbus-ptest:class-target = "dbus-test-ptest"
+LICENSE = "AFL-2.1 | GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
+                    file://dbus/dbus.h;beginline=6;endline=20;md5=866739837ccd835350af94dccd6457d8"
+
+SRC_URI = "https://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.xz \
+           file://run-ptest \
+           file://tmpdir.patch \
+           file://dbus-1.init \
+"
+
+SRC_URI[sha256sum] = "ccd7cce37596e0a19558fd6648d1272ab43f011d80c8635aea8fd0bad58aebd4"
+
+EXTRA_OECONF = "--disable-xml-docs \
+                --disable-doxygen-docs \
+                --enable-largefile \
+                --with-system-socket=/run/dbus/system_bus_socket \
+                --enable-tests \
+                --enable-checks \
+                --enable-asserts \
+                "
+EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
+                   user-session \
+                  "
+PACKAGECONFIG:class-native = ""
+PACKAGECONFIG:class-nativesdk = ""
+
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
+PACKAGECONFIG[x11] = "--enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
+PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
+PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,,"
+PACKAGECONFIG[audit] = "--enable-libaudit,--disable-libaudit,audit"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
+
+DEPENDS = "expat virtual/libintl autoconf-archive glib-2.0"
 RDEPENDS:${PN} += "${PN}-common ${PN}-tools"
 RDEPENDS:${PN}:class-native = ""
 
@@ -73,6 +105,8 @@
 RRECOMMENDS:${PN}-lib = "${PN}"
 FILES:${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
 
+RDEPENDS:${PN}-ptest += "bash make dbus"
+
 PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
 pkg_postinst:dbus() {
 	# If both systemd and sysvinit are enabled, mask the dbus-1 init script
@@ -89,8 +123,6 @@
 }
 
 
-EXTRA_OECONF += "--disable-tests"
-
 do_install() {
 	autotools_do_install
 
@@ -149,5 +181,3 @@
 	rm -rf ${D}${localstatedir}/run
 }
 BBCLASSEXTEND = "native nativesdk"
-
-INSANE_SKIP:${PN}-ptest += "build-deps"
diff --git a/poky/meta/recipes-core/ell/ell_0.48.bb b/poky/meta/recipes-core/ell/ell_0.49.bb
similarity index 89%
rename from poky/meta/recipes-core/ell/ell_0.48.bb
rename to poky/meta/recipes-core/ell/ell_0.49.bb
index 6c5d315..9edd6fc 100644
--- a/poky/meta/recipes-core/ell/ell_0.48.bb
+++ b/poky/meta/recipes-core/ell/ell_0.49.bb
@@ -16,7 +16,7 @@
 
 SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz \
            "
-SRC_URI[sha256sum] = "9894943042a5d6165d3e5cc354f92274fb1304004d02b4bee682ab6067cdbbd5"
+SRC_URI[sha256sum] = "a7ff8ecbc76b187d942dd22b61cb489711400897c790319ffb7e944791687c3f"
 
 do_configure:prepend () {
     mkdir -p ${S}/build-aux
diff --git a/poky/meta/recipes-core/expat/expat_2.4.6.bb b/poky/meta/recipes-core/expat/expat_2.4.7.bb
similarity index 91%
rename from poky/meta/recipes-core/expat/expat_2.4.6.bb
rename to poky/meta/recipes-core/expat/expat_2.4.7.bb
index ef24524..bf1ca8d 100644
--- a/poky/meta/recipes-core/expat/expat_2.4.6.bb
+++ b/poky/meta/recipes-core/expat/expat_2.4.7.bb
@@ -14,7 +14,7 @@
 
 UPSTREAM_CHECK_URI = "https://github.com/libexpat/libexpat/releases/"
 
-SRC_URI[sha256sum] = "ce317706b07cae150f90cddd4253f5b4fba929607488af5ac47bf2bc08e31f09"
+SRC_URI[sha256sum] = "e149bdd8b90254c62b3d195da53a09bd531a4d63a963b0d8a5268d48dd2f6a65"
 
 EXTRA_OECMAKE:class-native += "-DEXPAT_BUILD_DOCS=OFF"
 
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
index 8a6d46d..59de3fa 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -1,11 +1,10 @@
-From 333809ded70ad4e3470b7134e3fac1a42ff48e61 Mon Sep 17 00:00:00 2001
+From 4f327be49fd6ac5a77da6e48459b37f37a601977 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Wed, 13 Feb 2019 15:32:05 +0100
 Subject: [PATCH] Set host_machine correctly when building with mingw32
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  gio/tests/meson.build  | 8 ++++----
  glib/tests/meson.build | 2 +-
@@ -14,10 +13,10 @@
  4 files changed, 9 insertions(+), 6 deletions(-)
 
 diff --git a/gio/tests/meson.build b/gio/tests/meson.build
-index 3a19c82..b762835 100644
+index abe676767c60..34b347815308 100644
 --- a/gio/tests/meson.build
 +++ b/gio/tests/meson.build
-@@ -27,7 +27,7 @@ test_c_args = [
+@@ -27,7 +27,7 @@ if build_machine.system() == 'linux'
    endif # libutil.length() > 0
  endif # build_machine.system() == 'linux'
  
@@ -26,7 +25,7 @@
    common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
  endif
  
-@@ -148,7 +148,7 @@ else
+@@ -176,7 +176,7 @@ else
  endif
  
  #  Test programs buildable on UNIX only
@@ -35,7 +34,7 @@
    gio_tests += {
      'file' : {},
      'gdbus-peer' : {
-@@ -402,7 +402,7 @@ if host_machine.system() != 'windows'
+@@ -434,7 +434,7 @@ if host_machine.system() != 'windows'
  endif # unix
  
  #  Test programs buildable on Windows only
@@ -44,7 +43,7 @@
    gio_tests += {'win32-streams' : {}}
  endif
  
-@@ -472,7 +472,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl'
+@@ -504,7 +504,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl'
    }
  endif
  
@@ -54,10 +53,10 @@
      'gdbus-example-unix-fd-client' : {
        'install' : false,
 diff --git a/glib/tests/meson.build b/glib/tests/meson.build
-index 6eb23e8..36eb919 100644
+index a0c64afe6ae9..48407f99569c 100644
 --- a/glib/tests/meson.build
 +++ b/glib/tests/meson.build
-@@ -142,7 +142,7 @@ if glib_conf.has('HAVE_EVENTFD')
+@@ -151,7 +151,7 @@ if glib_conf.has('HAVE_EVENTFD')
    }
  endif
  
@@ -67,10 +66,10 @@
      glib_tests += {
        'gpoll' : {
 diff --git a/meson.build b/meson.build
-index 47f3a5c..7ea7ad1 100644
+index e0b14319fb58..f6756a3c7dfb 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -32,6 +32,9 @@ else
+@@ -54,6 +54,9 @@ else
  endif
  
  host_system = host_machine.system()
@@ -81,15 +80,18 @@
  if host_system == 'darwin'
    ios_test_code = '''#include <TargetConditionals.h>
 diff --git a/tests/meson.build b/tests/meson.build
-index 6741f8f..12fdc90 100644
+index 5ff99a4a8258..8a4dad0ccae7 100644
 --- a/tests/meson.build
 +++ b/tests/meson.build
-@@ -73,7 +73,7 @@ test_extra_programs = {
-   'unicode-collate' : {},
+@@ -53,7 +53,7 @@ test_extra_programs = {
+   'assert-msg-test' : {},
  }
  
 -if host_machine.system() != 'windows'
 +if host_system != 'windows'
    tests += {
      'timeloop' : {},
-     'iochannel-test' : {},
+   }
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch
deleted file mode 100644
index 7690bb3..0000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b833254bcc9fcf4cdc2572027b1154d799535ca4 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Sun, 20 Dec 2020 22:01:43 +0100
-Subject: [PATCH] gio/tests/codegen.py: bump timeout to 100 seconds
-
-This may be necessary on overloaded CI systems.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2348]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- gio/tests/codegen.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gio/tests/codegen.py b/gio/tests/codegen.py
-index 51de0ed..ca98c9d 100644
---- a/gio/tests/codegen.py
-+++ b/gio/tests/codegen.py
-@@ -55,7 +55,7 @@ class TestCodegen(unittest.TestCase):
-     cwd = ""
- 
-     def setUp(self):
--        self.timeout_seconds = 10  # seconds per test
-+        self.timeout_seconds = 100  # seconds per test
-         self.tmpdir = tempfile.TemporaryDirectory()
-         self.cwd = os.getcwd()
-         os.chdir(self.tmpdir.name)
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
index 9bbb33ff..6147bda 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 73b1c416674d285b021e218da1a3ddb884e606da Mon Sep 17 00:00:00 2001
+From d2d7af496b4f4a13779179dbcbb98de56b09783f Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Mon, 9 Nov 2015 11:07:27 +0200
 Subject: [PATCH] Enable more tests while cross-compiling
@@ -9,16 +9,15 @@
 
 Upstream-Status: Inappropriate [OE specific]
 Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-
 ---
  gio/tests/meson.build | 24 ++++++++++++------------
  1 file changed, 12 insertions(+), 12 deletions(-)
 
 diff --git a/gio/tests/meson.build b/gio/tests/meson.build
-index 5dbfb8e..3fd7998 100644
+index e8d10a0f11f2..abe676767c60 100644
 --- a/gio/tests/meson.build
 +++ b/gio/tests/meson.build
-@@ -221,7 +221,7 @@ if host_machine.system() != 'windows'
+@@ -250,7 +250,7 @@ if host_machine.system() != 'windows'
  
    #  Test programs that need to bring up a session bus (requires dbus-daemon)
    have_dbus_daemon = find_program('dbus-daemon', required : false).found()
@@ -27,76 +26,78 @@
      annotate_args = [
        '--annotate', 'org.project.Bar', 'Key1', 'Value1',
        '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2',
-@@ -570,12 +570,12 @@ if installed_tests_enabled
+@@ -601,14 +601,14 @@ if installed_tests_enabled
    endforeach
  endif
  
 -if not meson.is_cross_build() or meson.has_exe_wrapper()
 +if meson.is_cross_build()
  
+   compiler_type = '--compiler=@0@'.format(cc.get_id())
+ 
    plugin_resources_c = custom_target('plugin-resources.c',
      input : 'test4.gresource.xml',
      output : 'plugin-resources.c',
 -    command : [glib_compile_resources,
 +    command : ['glib-compile-resources',
+                compiler_type,
                 '--target=@OUTPUT@',
                 '--sourcedir=' + meson.current_source_dir(),
-                '--generate-source',
-@@ -599,7 +599,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -634,7 +634,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
    test_gresource = custom_target('test.gresource',
      input : 'test.gresource.xml',
      output : 'test.gresource',
 -    command : [glib_compile_resources,
 +    command : ['glib-compile-resources',
+                compiler_type,
                 '--target=@OUTPUT@',
                 '--sourcedir=' + meson.current_source_dir(),
-                '--sourcedir=' + meson.current_build_dir(),
-@@ -610,7 +610,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -647,7 +647,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
    test_resources2_c = custom_target('test_resources2.c',
      input : 'test3.gresource.xml',
      output : 'test_resources2.c',
 -    command : [glib_compile_resources,
 +    command : ['glib-compile-resources',
+                compiler_type,
                 '--target=@OUTPUT@',
                 '--sourcedir=' + meson.current_source_dir(),
-                '--generate',
-@@ -621,7 +621,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -660,7 +660,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
    test_resources2_h = custom_target('test_resources2.h',
      input : 'test3.gresource.xml',
      output : 'test_resources2.h',
 -    command : [glib_compile_resources,
 +    command : ['glib-compile-resources',
+                compiler_type,
                 '--target=@OUTPUT@',
                 '--sourcedir=' + meson.current_source_dir(),
-                '--generate',
-@@ -633,7 +633,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -674,7 +674,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
      input : 'test2.gresource.xml',
      depends : big_test_resource,
      output : 'test_resources.c',
 -    command : [glib_compile_resources,
 +    command : ['glib-compile-resources',
+                compiler_type,
                 '--target=@OUTPUT@',
                 '--sourcedir=' + meson.current_source_dir(),
-                '--sourcedir=' + meson.current_build_dir(),
-@@ -644,7 +644,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -687,7 +687,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
    digit_test_resources_c = custom_target('digit_test_resources.c',
      input : '111_digit_test.gresource.xml',
      output : 'digit_test_resources.c',
 -    command : [glib_compile_resources,
 +    command : ['glib-compile-resources',
+                compiler_type,
                 '--target=@OUTPUT@',
                 '--sourcedir=' + meson.current_source_dir(),
-                '--sourcedir=' + meson.current_build_dir(),
-@@ -655,7 +655,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -700,7 +700,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
    digit_test_resources_h = custom_target('digit_test_resources.h',
      input : '111_digit_test.gresource.xml',
      output : 'digit_test_resources.h',
 -    command : [glib_compile_resources,
 +    command : ['glib-compile-resources',
+                compiler_type,
                 '--target=@OUTPUT@',
                 '--sourcedir=' + meson.current_source_dir(),
-                '--generate',
-@@ -688,11 +688,11 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -742,11 +742,11 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
  
    ld = find_program('ld', required : false)
  
@@ -107,15 +108,18 @@
        output : 'test5.gresource',
 -      command : [glib_compile_resources,
 +      command : ['glib-compile-resources',
+                  compiler_type,
                   '--target=@OUTPUT@',
                   '--sourcedir=' + meson.current_source_dir(),
-                  '--sourcedir=' + meson.current_build_dir(),
-@@ -704,7 +704,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
+@@ -760,7 +760,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper()
      test_resources_binary_c = custom_target('test_resources_binary.c',
        input : 'test5.gresource.xml',
        output : 'test_resources_binary.c',
 -      command : [glib_compile_resources,
 +      command : ['glib-compile-resources',
+                  compiler_type,
                   '--target=@OUTPUT@',
                   '--sourcedir=' + meson.current_source_dir(),
-                  '--sourcedir=' + meson.current_build_dir(),
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.70.4.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.0.bb
similarity index 92%
rename from poky/meta/recipes-core/glib-2.0/glib-2.0_2.70.4.bb
rename to poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.0.bb
index 704d428..8b7016e 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.70.4.bb
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.72.0.bb
@@ -16,11 +16,10 @@
            file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
            file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
            file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
-           file://0001-gio-tests-codegen.py-bump-timeout-to-100-seconds.patch \
            "
 SRC_URI:append:class-native = " file://relocate-modules.patch"
 
-SRC_URI[sha256sum] = "ab3d176f3115dcc4e5d02db795984e04e4f4b48d836252e23e8c468e9d423c33"
+SRC_URI[sha256sum] = "d7bef0d4c4e7a62e08efb8e5f252a01357007b9588a87ff2b463a3857011f79d"
 
 # Find any meson cross files in FILESPATH that are relevant for the current
 # build (using siteinfo) and add them to EXTRA_OEMESON.
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index 268e48a..ffddefe 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -38,12 +38,11 @@
 
 PACKAGECONFIG ??= "libmount \
                    ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
-# To use the system pcre it must be configured with --enable-unicode-properties
 PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux"
 PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
 # libelf is auto-detected without a configuration option
 PACKAGECONFIG[libelf] = ",,elfutils"
-PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus"
+PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,"
 PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux"
 
 EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.70.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.72.0.bb
similarity index 93%
rename from poky/meta/recipes-core/glib-networking/glib-networking_2.70.1.bb
rename to poky/meta/recipes-core/glib-networking/glib-networking_2.72.0.bb
index 44bc08f..d578f17 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.70.1.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.72.0.bb
@@ -9,7 +9,7 @@
 SECTION = "libs"
 DEPENDS = "glib-2.0"
 
-SRC_URI[archive.sha256sum] = "2a16bfc2d271ccd3266e3fb462bc8a4103c02e81bbb339aa92d6fb060592d7bc"
+SRC_URI[archive.sha256sum] = "100aaebb369285041de52da422b6b716789d5e4d7549a3a71ba587b932e0823b"
 
 PACKAGECONFIG ??= "openssl ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
 
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index b713544..73fdd5c 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -24,7 +24,7 @@
 
 inherit core-image setuptools3
 
-SRCREV ?= "9f8e74668730e6eb3eb44df187a40d0a0f8c7b0a"
+SRCREV ?= "0d518533e2794586234e69c80b65ca453b1b33b9"
 SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
            file://Yocto_Build_Appliance.vmx \
            file://Yocto_Build_Appliance.vmxf \
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot b/poky/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot
new file mode 100644
index 0000000..d40342d
--- /dev/null
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# SPDX-License-Identifier: MIT
+#
+# Copyright 2022 (C), Microsoft Corporation
+
+# Simple initramfs module intended to mount a read-write (RW)
+# overlayfs on top of /, keeping the original root filesystem
+# as read-only (RO), free from modifications by the user.
+#
+# NOTE: The read-only IMAGE_FEATURE is not required for this to work
+#
+# This script is based on the overlay-etc.bbclass, which sets up
+# an overlay on top of the /etc directory, but in this case allows
+# accessing the original, unmodified rootfs at /rofs after boot.
+#
+# It relies on the initramfs-module-rootfs to mount the original
+# root filesystem, and requires 'rootrw=<foo>' to be passed as a
+# kernel parameter, specifying the device/partition intended to
+# use as RW.
+#
+# This module needs to be executed after the initramfs-module-rootfs
+# since it relies on it to mount the filesystem at initramfs startup
+# but before the finish module which normally switches root.
+# After overlayroot is executed the usual boot flow continues from
+# the real init process.
+#
+# If something goes wrong while running this module, the rootfs
+# is still mounted RO (with no overlay) and the finish module is
+# executed to continue booting normally.
+#
+# It also has a dependency on overlayfs being enabled in the
+# running kernel via KERNEL_FEATURES (kmeta) or any other means.
+
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# We get OLDROOT from the rootfs module
+OLDROOT="/rootfs"
+
+NEWROOT="${RWMOUNT}/root"
+RWMOUNT="/overlay"
+ROMOUNT="${RWMOUNT}/rofs"
+UPPER_DIR="${RWMOUNT}/upper"
+WORK_DIR="${RWMOUNT}/work"
+
+MODULES_DIR=/init.d
+
+# Something went wrong, make sure / is mounted as read only anyway.
+exit_gracefully() {
+    echo $1 >/dev/console
+    echo >/dev/console
+    echo "OverlayRoot mounting failed, starting system as read-only" >/dev/console
+    echo >/dev/console
+
+    # The following is borrowed from rootfs-postcommands.bbclass
+    # This basically looks at the real rootfs mounting options and
+    # replaces them with "ro"
+
+    # Tweak the mount option and fs_passno for rootfs in fstab
+    if [ -f ${OLDROOT}/etc/fstab ]; then
+        sed -i -e '/^[#[:space:]]*\/dev\/root/{s/defaults/ro/;s/\([[:space:]]*[[:digit:]]\)\([[:space:]]*\)[[:digit:]]$/\1\20/}' ${OLDROOT}/etc/fstab
+    fi
+
+    # Tweak the "mount -o remount,rw /" command in busybox-inittab inittab
+    if [ -f ${OLDROOT}/etc/inittab ]; then
+        sed -i 's|/bin/mount -o remount,rw /|/bin/mount -o remount,ro /|' ${OLDROOT}/etc/inittab
+    fi
+
+    # Continue as if the overlayroot module didn't exist to continue booting
+    . $MODULES_DIR/99-finish
+    eval "finish_run"
+}
+
+
+if [ -z "$bootparam_rootrw" ]; then
+    exit_gracefully "rootrw= kernel parameter doesn't exist and its required to mount the overlayfs"
+fi
+
+mkdir -p ${RWMOUNT}
+
+# Mount RW device
+if mount -n -t ${bootparam_rootfstype:-ext4} -o ${bootparam_rootflags:-defaults} ${bootparam_rootrw} ${RWMOUNT}
+then
+    # Set up overlay directories
+    mkdir -p ${UPPER_DIR}
+    mkdir -p ${WORK_DIR}
+    mkdir -p ${NEWROOT}
+    mkdir -p ${ROMOUNT}
+
+    # Remount OLDROOT as read-only
+    mount -o bind ${OLDROOT} ${ROMOUNT}
+    mount -o remount,ro ${ROMOUNT}
+
+    # Mount RW overlay
+    mount -t overlay overlay -o lowerdir=${ROMOUNT},upperdir=${UPPER_DIR},workdir=${WORK_DIR} ${NEWROOT} || exit_gracefully "initramfs-overlayroot: Mounting overlay failed"
+else
+    exit_gracefully "initramfs-overlayroot: Mounting RW device failed"
+fi
+
+# Set up filesystems on overlay
+mkdir -p ${NEWROOT}/proc
+mkdir -p ${NEWROOT}/dev
+mkdir -p ${NEWROOT}/sys
+mkdir -p ${NEWROOT}/rofs
+
+mount -n --move ${ROMOUNT} ${NEWROOT}/rofs
+mount -n --move /proc ${NEWROOT}/proc
+mount -n --move /sys ${NEWROOT}/sys
+mount -n --move /dev ${NEWROOT}/dev
+
+exec chroot ${NEWROOT}/ ${bootparam_init:-/sbin/init} || exit_gracefully "Couldn't chroot into overlay"
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
index 9e8c1dc..4e76e20 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
@@ -18,6 +18,7 @@
            file://e2fs \
            file://debug \
            file://lvm \
+           file://overlayroot \
           "
 
 S = "${WORKDIR}"
@@ -49,6 +50,9 @@
     # lvm
     install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm
 
+    # overlayroot needs to run after rootfs module but before finish
+    install -m 0755 ${WORKDIR}/overlayroot ${D}/init.d/91-overlayroot
+
     # Create device nodes expected by some kernels in initramfs
     # before even executing /init.
     install -d ${D}/dev
@@ -64,6 +68,7 @@
             initramfs-module-rootfs \
             initramfs-module-debug \
             initramfs-module-lvm \
+            initramfs-module-overlayroot \
            "
 
 FILES:${PN}-base = "/init /init.d/99-finish /dev"
@@ -107,3 +112,7 @@
 SUMMARY:initramfs-module-lvm = "initramfs lvm rootfs support"
 RDEPENDS:initramfs-module-lvm = "${PN}-base"
 FILES:initramfs-module-lvm = "/init.d/09-lvm"
+
+SUMMARY:initramfs-module-overlayroot = "initramfs support for mounting a RW overlay on top of a RO root filesystem"
+RDEPENDS:initramfs-module-overlayroot = "${PN}-base initramfs-module-rootfs"
+FILES:initramfs-module-overlayroot = "/init.d/91-overlayroot"
diff --git a/poky/meta/recipes-core/kbd/kbd_2.4.0.bb b/poky/meta/recipes-core/kbd/kbd_2.4.0.bb
index 5328e5e..8a68d64 100644
--- a/poky/meta/recipes-core/kbd/kbd_2.4.0.bb
+++ b/poky/meta/recipes-core/kbd/kbd_2.4.0.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Keytable files and keyboard utilities"
 HOMEPAGE = "http://www.kbd-project.org/"
 DESCRIPTION = "The kbd project contains tools for managing Linux console (Linux console, virtual terminals, keyboard, etc.) – mainly, what they do is loading console fonts and keyboard maps."
-# everything minus console-fonts is GPLv2+
+# everything minus console-fonts is GPL-2.0-or-later
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
 
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup/module.patch b/poky/meta/recipes-core/libcgroup/libcgroup/module.patch
deleted file mode 100644
index d8ff9b1..0000000
--- a/poky/meta/recipes-core/libcgroup/libcgroup/module.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 76f0879056ce7e3f0123c277f2303954d0b6cead Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tomasz=20K=C5=82oczko?= <kloczek@github.com>
-Date: Wed, 12 May 2021 20:36:02 +0000
-Subject: [PATCH 2/2] automake: build PAM module as unversioned DSO
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-PAM modules should be build as unversioned DSO.
-Add -avoid-version to pam_cgroup_la_LDFLAGS
-
-Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
-Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
----
- src/pam/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/pam/Makefile.am b/src/pam/Makefile.am
-index bd5a91d..4b0b2a9 100644
---- a/src/pam/Makefile.am
-+++ b/src/pam/Makefile.am
-@@ -4,7 +4,7 @@ if WITH_PAM
- 
- pamlib_LTLIBRARIES = pam_cgroup.la
- pam_cgroup_la_SOURCES = pam_cgroup.c
--pam_cgroup_la_LDFLAGS = -module
-+pam_cgroup_la_LDFLAGS = -module -avoid-version
- pam_cgroup_la_LIBADD = $(top_builddir)/src/libcgroup.la -lpam
- 
- endif
--- 
-2.32.0
-
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup/musl-decls-compat.patch b/poky/meta/recipes-core/libcgroup/libcgroup/musl-decls-compat.patch
deleted file mode 100644
index 531a562..0000000
--- a/poky/meta/recipes-core/libcgroup/libcgroup/musl-decls-compat.patch
+++ /dev/null
@@ -1,284 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From 26f2889113789c176273bd24fcd1592a8064c346 Mon Sep 17 00:00:00 2001
-From: "Anthony G. Basile" <blueness@gentoo.org>
-Date: Tue, 6 Jul 2021 07:54:47 -0600
-Subject: [PATCH 1/2] Replace __BEGIN_DECLS and __END_DECLS with extern "C".
-
-The macros __BEGIN_DECLS and __END_DECLS are a GNU-ism found in
-glibc and uClibc, but not musl.  We replace them by the more general
-extern "C" { ... } block exposed only if we have __cplusplus.
-
-Forward ported from a patch by Anthony G. Basile <blueness@gentoo.org>.
-
-Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
-Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
----
- include/libcgroup/config.h    | 8 ++++++--
- include/libcgroup/error.h     | 8 ++++++--
- include/libcgroup/groups.h    | 8 ++++++--
- include/libcgroup/init.h      | 8 ++++++--
- include/libcgroup/iterators.h | 8 ++++++--
- include/libcgroup/log.h       | 8 ++++++--
- include/libcgroup/tasks.h     | 8 ++++++--
- src/bindings/libcgroup.p      | 8 --------
- src/daemon/cgrulesengd.h      | 8 ++++++--
- src/libcgroup-internal.h      | 8 ++++++--
- src/tools/tools-common.h      | 8 ++++++--
- 11 files changed, 60 insertions(+), 28 deletions(-)
-
-diff --git a/include/libcgroup/config.h b/include/libcgroup/config.h
-index 9aaa390..f835009 100644
---- a/include/libcgroup/config.h
-+++ b/include/libcgroup/config.h
-@@ -9,7 +9,9 @@
- #include <features.h>
- #endif
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- /**
-  * @defgroup group_config 5. Configuration
-@@ -128,6 +130,8 @@ int cgroup_config_create_template_group(
-  * @}
-  * @}
-  */
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /*_LIBCGROUP_CONFIG_H*/
-diff --git a/include/libcgroup/error.h b/include/libcgroup/error.h
-index 1dfdde9..14a6e16 100644
---- a/include/libcgroup/error.h
-+++ b/include/libcgroup/error.h
-@@ -9,7 +9,9 @@
- #include <features.h>
- #endif
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- /**
-  * @defgroup group_errors 6. Error handling
-@@ -99,6 +101,8 @@ int cgroup_get_last_errno(void);
-  * @}
-  * @}
-  */
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /* _LIBCGROUP_INIT_H */
-diff --git a/include/libcgroup/groups.h b/include/libcgroup/groups.h
-index 201558f..39ec3cd 100644
---- a/include/libcgroup/groups.h
-+++ b/include/libcgroup/groups.h
-@@ -11,7 +11,9 @@
- #include <stdbool.h>
- #endif
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- /**
-  * Flags for cgroup_delete_cgroup_ext().
-@@ -587,6 +589,8 @@ char *cgroup_get_cgroup_name(struct cgroup *cgroup);
-  */
- 
- 
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /* _LIBCGROUP_GROUPS_H */
-diff --git a/include/libcgroup/init.h b/include/libcgroup/init.h
-index 5150f2f..ea2dcc9 100644
---- a/include/libcgroup/init.h
-+++ b/include/libcgroup/init.h
-@@ -9,7 +9,9 @@
- #include <features.h>
- #endif
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- /**
-  * @defgroup group_init 1. Initialization
-@@ -58,6 +60,8 @@ int cgroup_get_subsys_mount_point(const char *controller, char **mount_point);
-  * @}
-  * @}
-  */
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /* _LIBCGROUP_INIT_H */
-diff --git a/include/libcgroup/iterators.h b/include/libcgroup/iterators.h
-index c6d453d..b3ba3af 100644
---- a/include/libcgroup/iterators.h
-+++ b/include/libcgroup/iterators.h
-@@ -11,7 +11,9 @@
- #include <features.h>
- #endif
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- /**
-  * @defgroup group_iterators 3. Iterators
-@@ -423,6 +425,8 @@ int cgroup_get_subsys_mount_point_end(void **handle);
-  * @}
-  */
- 
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /* _LIBCGROUP_ITERATORS_H */
-diff --git a/include/libcgroup/log.h b/include/libcgroup/log.h
-index 0dd03b4..f693473 100644
---- a/include/libcgroup/log.h
-+++ b/include/libcgroup/log.h
-@@ -11,7 +11,9 @@
- 
- #include <stdarg.h>
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- /**
-  * @defgroup group_log 7. Logging
-@@ -142,6 +144,8 @@ extern int cgroup_parse_log_level_str(const char *levelstr);
-  * @}
-  * @}
-  */
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /* _LIBCGROUP_LOG_H */
-diff --git a/include/libcgroup/tasks.h b/include/libcgroup/tasks.h
-index aad438a..8553c30 100644
---- a/include/libcgroup/tasks.h
-+++ b/include/libcgroup/tasks.h
-@@ -12,7 +12,9 @@
- #include <stdbool.h>
- #endif
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- /** Flags for cgroup_change_cgroup_uid_gid(). */
- enum cgflags {
-@@ -204,6 +206,8 @@ int cgroup_register_unchanged_process(pid_t pid, int flags);
-  * @}
-  * @}
-  */
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /* _LIBCGROUP_TASKS_H */
-diff --git a/src/daemon/cgrulesengd.h b/src/daemon/cgrulesengd.h
-index e273b4b..0b12076 100644
---- a/src/daemon/cgrulesengd.h
-+++ b/src/daemon/cgrulesengd.h
-@@ -17,7 +17,9 @@
- 
- #include <features.h>
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- #include "config.h"
- #include "libcgroup.h"
-@@ -119,7 +121,9 @@ void cgre_flash_templates(int signum);
-  */
- void cgre_catch_term(int signum);
- 
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /* _CGRULESENGD_H */
- 
-diff --git a/src/libcgroup-internal.h b/src/libcgroup-internal.h
-index 1dfc92b..edc5abb 100644
---- a/src/libcgroup-internal.h
-+++ b/src/libcgroup-internal.h
-@@ -16,7 +16,9 @@
- 
- #define __LIBCG_INTERNAL
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- 
- #include "config.h"
- #include <dirent.h>
-@@ -407,6 +409,8 @@ int cgroupv2_controller_enabled(const char * const cg_name,
- 
- #endif /* UNIT_TEST */
- 
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif
-diff --git a/src/tools/tools-common.h b/src/tools/tools-common.h
-index 292c408..e3541b1 100644
---- a/src/tools/tools-common.h
-+++ b/src/tools/tools-common.h
-@@ -18,7 +18,9 @@
- 
- #define __TOOLS_COMMON
- 
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
- #include "config.h"
- #include <libcgroup.h>
- #include "../libcgroup-internal.h"
-@@ -136,6 +138,8 @@ int parse_r_flag(const char * const program_name,
- 
- #endif /* UNIT_TEST */
- 
--__END_DECLS
-+#ifdef __cplusplus
-+} /* extern "C" */
-+#endif
- 
- #endif /* TOOLS_COMMON */
--- 
-2.32.0
-
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb b/poky/meta/recipes-core/libcgroup/libcgroup_2.0.1.bb
similarity index 86%
rename from poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb
rename to poky/meta/recipes-core/libcgroup/libcgroup_2.0.1.bb
index cb0156d..857a4e8 100644
--- a/poky/meta/recipes-core/libcgroup/libcgroup_2.0.bb
+++ b/poky/meta/recipes-core/libcgroup/libcgroup_2.0.1.bb
@@ -11,11 +11,9 @@
 
 DEPENDS = "bison-native flex-native"
 
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \
-           file://musl-decls-compat.patch \
-           file://module.patch"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
 
-SRC_URI[sha256sum] = "11a2fbf0e42f46089f406b8b0dca7fef04aec2f21600b70e402c5db3661305d7"
+SRC_URI[sha256sum] = "2dd9c566a90a053e7a5f47607e225648ba7aa9bb7763514dd4778e2ed530fe90"
 UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/releases/"
 
 DEPENDS:append:libc-musl = " fts "
diff --git a/poky/meta/recipes-core/libxml/libxml2/0002-Work-around-lxml-API-abuse.patch b/poky/meta/recipes-core/libxml/libxml2/0002-Work-around-lxml-API-abuse.patch
deleted file mode 100644
index f09ce97..0000000
--- a/poky/meta/recipes-core/libxml/libxml2/0002-Work-around-lxml-API-abuse.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From 85b1792e37b131e7a51af98a37f92472e8de5f3f Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Tue, 18 May 2021 20:08:28 +0200
-Subject: [PATCH] Work around lxml API abuse
-
-Make xmlNodeDumpOutput and htmlNodeDumpFormatOutput work with corrupted
-parent pointers. This used to work with the old recursive code but the
-non-recursive rewrite required parent pointers to be set correctly.
-
-Unfortunately, lxml relies on the old behavior and passes subtrees with
-a corrupted structure. Fall back to a recursive function call if an
-invalid parent pointer is detected.
-
-Fixes #255.
-
-Upstream-Status: Backport [85b1792e37b131e7a51af98a37f92472e8de5f3f]
----
- HTMLtree.c | 46 ++++++++++++++++++++++++++++------------------
- xmlsave.c  | 31 +++++++++++++++++++++----------
- 2 files changed, 49 insertions(+), 28 deletions(-)
-
-diff --git a/HTMLtree.c b/HTMLtree.c
-index 24434d45..bdd639c7 100644
---- a/HTMLtree.c
-+++ b/HTMLtree.c
-@@ -744,7 +744,7 @@ void
- htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
- 	                 xmlNodePtr cur, const char *encoding ATTRIBUTE_UNUSED,
-                          int format) {
--    xmlNodePtr root;
-+    xmlNodePtr root, parent;
-     xmlAttrPtr attr;
-     const htmlElemDesc * info;
- 
-@@ -755,6 +755,7 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
-     }
- 
-     root = cur;
-+    parent = cur->parent;
-     while (1) {
-         switch (cur->type) {
-         case XML_HTML_DOCUMENT_NODE:
-@@ -762,13 +763,25 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
-             if (((xmlDocPtr) cur)->intSubset != NULL) {
-                 htmlDtdDumpOutput(buf, (xmlDocPtr) cur, NULL);
-             }
--            if (cur->children != NULL) {
-+            /* Always validate cur->parent when descending. */
-+            if ((cur->parent == parent) && (cur->children != NULL)) {
-+                parent = cur;
-                 cur = cur->children;
-                 continue;
-             }
-             break;
- 
-         case XML_ELEMENT_NODE:
-+            /*
-+             * Some users like lxml are known to pass nodes with a corrupted
-+             * tree structure. Fall back to a recursive call to handle this
-+             * case.
-+             */
-+            if ((cur->parent != parent) && (cur->children != NULL)) {
-+                htmlNodeDumpFormatOutput(buf, doc, cur, encoding, format);
-+                break;
-+            }
-+
-             /*
-              * Get specific HTML info for that node.
-              */
-@@ -817,6 +830,7 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
-                     (cur->name != NULL) &&
-                     (cur->name[0] != 'p')) /* p, pre, param */
-                     xmlOutputBufferWriteString(buf, "\n");
-+                parent = cur;
-                 cur = cur->children;
-                 continue;
-             }
-@@ -825,9 +839,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
-                 (info != NULL) && (!info->isinline)) {
-                 if ((cur->next->type != HTML_TEXT_NODE) &&
-                     (cur->next->type != HTML_ENTITY_REF_NODE) &&
--                    (cur->parent != NULL) &&
--                    (cur->parent->name != NULL) &&
--                    (cur->parent->name[0] != 'p')) /* p, pre, param */
-+                    (parent != NULL) &&
-+                    (parent->name != NULL) &&
-+                    (parent->name[0] != 'p')) /* p, pre, param */
-                     xmlOutputBufferWriteString(buf, "\n");
-             }
- 
-@@ -842,9 +856,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
-                 break;
-             if (((cur->name == (const xmlChar *)xmlStringText) ||
-                  (cur->name != (const xmlChar *)xmlStringTextNoenc)) &&
--                ((cur->parent == NULL) ||
--                 ((xmlStrcasecmp(cur->parent->name, BAD_CAST "script")) &&
--                  (xmlStrcasecmp(cur->parent->name, BAD_CAST "style"))))) {
-+                ((parent == NULL) ||
-+                 ((xmlStrcasecmp(parent->name, BAD_CAST "script")) &&
-+                  (xmlStrcasecmp(parent->name, BAD_CAST "style"))))) {
-                 xmlChar *buffer;
- 
-                 buffer = xmlEncodeEntitiesReentrant(doc, cur->content);
-@@ -902,13 +916,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
-                 break;
-             }
- 
--            /*
--             * The parent should never be NULL here but we want to handle
--             * corrupted documents gracefully.
--             */
--            if (cur->parent == NULL)
--                return;
--            cur = cur->parent;
-+            cur = parent;
-+            /* cur->parent was validated when descending. */
-+            parent = cur->parent;
- 
-             if ((cur->type == XML_HTML_DOCUMENT_NODE) ||
-                 (cur->type == XML_DOCUMENT_NODE)) {
-@@ -939,9 +949,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
-                     (cur->next != NULL)) {
-                     if ((cur->next->type != HTML_TEXT_NODE) &&
-                         (cur->next->type != HTML_ENTITY_REF_NODE) &&
--                        (cur->parent != NULL) &&
--                        (cur->parent->name != NULL) &&
--                        (cur->parent->name[0] != 'p')) /* p, pre, param */
-+                        (parent != NULL) &&
-+                        (parent->name != NULL) &&
-+                        (parent->name[0] != 'p')) /* p, pre, param */
-                         xmlOutputBufferWriteString(buf, "\n");
-                 }
-             }
-diff --git a/xmlsave.c b/xmlsave.c
-index 61a40459..aedbd5e7 100644
---- a/xmlsave.c
-+++ b/xmlsave.c
-@@ -847,7 +847,7 @@ htmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
- static void
- xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
-     int format = ctxt->format;
--    xmlNodePtr tmp, root, unformattedNode = NULL;
-+    xmlNodePtr tmp, root, unformattedNode = NULL, parent;
-     xmlAttrPtr attr;
-     xmlChar *start, *end;
-     xmlOutputBufferPtr buf;
-@@ -856,6 +856,7 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
-     buf = ctxt->buf;
- 
-     root = cur;
-+    parent = cur->parent;
-     while (1) {
-         switch (cur->type) {
-         case XML_DOCUMENT_NODE:
-@@ -868,7 +869,9 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
-             break;
- 
-         case XML_DOCUMENT_FRAG_NODE:
--            if (cur->children != NULL) {
-+            /* Always validate cur->parent when descending. */
-+            if ((cur->parent == parent) && (cur->children != NULL)) {
-+                parent = cur;
-                 cur = cur->children;
-                 continue;
-             }
-@@ -887,7 +890,18 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
-             break;
- 
-         case XML_ELEMENT_NODE:
--	    if ((cur != root) && (ctxt->format == 1) && (xmlIndentTreeOutput))
-+            /*
-+             * Some users like lxml are known to pass nodes with a corrupted
-+             * tree structure. Fall back to a recursive call to handle this
-+             * case.
-+             */
-+            if ((cur->parent != parent) && (cur->children != NULL)) {
-+                xmlNodeDumpOutputInternal(ctxt, cur);
-+                break;
-+            }
-+
-+	    if ((ctxt->level > 0) && (ctxt->format == 1) &&
-+                (xmlIndentTreeOutput))
- 		xmlOutputBufferWrite(buf, ctxt->indent_size *
- 				     (ctxt->level > ctxt->indent_nr ?
- 				      ctxt->indent_nr : ctxt->level),
-@@ -942,6 +956,7 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
-                 xmlOutputBufferWrite(buf, 1, ">");
-                 if (ctxt->format == 1) xmlOutputBufferWrite(buf, 1, "\n");
-                 if (ctxt->level >= 0) ctxt->level++;
-+                parent = cur;
-                 cur = cur->children;
-                 continue;
-             }
-@@ -1058,13 +1073,9 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
-                 break;
-             }
- 
--            /*
--             * The parent should never be NULL here but we want to handle
--             * corrupted documents gracefully.
--             */
--            if (cur->parent == NULL)
--                return;
--            cur = cur->parent;
-+            cur = parent;
-+            /* cur->parent was validated when descending. */
-+            parent = cur->parent;
- 
-             if (cur->type == XML_ELEMENT_NODE) {
-                 if (ctxt->level > 0) ctxt->level--;
--- 
-2.32.0
-
diff --git a/poky/meta/recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch b/poky/meta/recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch
new file mode 100644
index 0000000..e188914
--- /dev/null
+++ b/poky/meta/recipes-core/libxml/libxml2/CVE-2022-23308-fix-regression.patch
@@ -0,0 +1,99 @@
+From 646fe48d1c8a74310c409ddf81fe7df6700052af Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Tue, 22 Feb 2022 11:51:08 +0100
+Subject: [PATCH] Fix --without-valid build
+
+Regressed in commit 652dd12a.
+---
+ valid.c | 58 ++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 29 insertions(+), 29 deletions(-)
+---
+
+From https://github.com/GNOME/libxml2.git
+ commit 646fe48d1c8a74310c409ddf81fe7df6700052af
+
+CVE: CVE-2022-23308
+Upstream-Status: Backport
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+
+diff --git a/valid.c b/valid.c
+index 8e596f1d..9684683a 100644
+--- a/valid.c
++++ b/valid.c
+@@ -479,35 +479,6 @@ nodeVPop(xmlValidCtxtPtr ctxt)
+     return (ret);
+ }
+ 
+-/**
+- * xmlValidNormalizeString:
+- * @str: a string
+- *
+- * Normalize a string in-place.
+- */
+-static void
+-xmlValidNormalizeString(xmlChar *str) {
+-    xmlChar *dst;
+-    const xmlChar *src;
+-
+-    if (str == NULL)
+-        return;
+-    src = str;
+-    dst = str;
+-
+-    while (*src == 0x20) src++;
+-    while (*src != 0) {
+-	if (*src == 0x20) {
+-	    while (*src == 0x20) src++;
+-	    if (*src != 0)
+-		*dst++ = 0x20;
+-	} else {
+-	    *dst++ = *src++;
+-	}
+-    }
+-    *dst = 0;
+-}
+-
+ #ifdef DEBUG_VALID_ALGO
+ static void
+ xmlValidPrintNode(xmlNodePtr cur) {
+@@ -2636,6 +2607,35 @@ xmlDumpNotationTable(xmlBufferPtr buf, xmlNotationTablePtr table) {
+ 	    (xmlDictOwns(dict, (const xmlChar *)(str)) == 0)))	\
+ 	    xmlFree((char *)(str));
+ 
++/**
++ * xmlValidNormalizeString:
++ * @str: a string
++ *
++ * Normalize a string in-place.
++ */
++static void
++xmlValidNormalizeString(xmlChar *str) {
++    xmlChar *dst;
++    const xmlChar *src;
++
++    if (str == NULL)
++        return;
++    src = str;
++    dst = str;
++
++    while (*src == 0x20) src++;
++    while (*src != 0) {
++	if (*src == 0x20) {
++	    while (*src == 0x20) src++;
++	    if (*src != 0)
++		*dst++ = 0x20;
++	} else {
++	    *dst++ = *src++;
++	}
++    }
++    *dst = 0;
++}
++
+ static int
+ xmlIsStreaming(xmlValidCtxtPtr ctxt) {
+     xmlParserCtxtPtr pctxt;
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch b/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
index a5c112d..d211f65 100644
--- a/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
+++ b/poky/meta/recipes-core/libxml/libxml2/libxml-m4-use-pkgconfig.patch
@@ -22,11 +22,11 @@
  libxml.m4 | 190 ++----------------------------------------------------
  1 file changed, 5 insertions(+), 185 deletions(-)
 
-diff --git a/libxml.m4 b/libxml.m4
-index 09de9fe2..1c535853 100644
---- a/libxml.m4
-+++ b/libxml.m4
-@@ -1,192 +1,12 @@
+Index: libxml2-2.9.13/libxml.m4
+===================================================================
+--- libxml2-2.9.13.orig/libxml.m4
++++ libxml2-2.9.13/libxml.m4
+@@ -1,191 +1,12 @@
 -# Configure paths for LIBXML2
 -# Simon Josefsson 2020-02-12
 -# Fix autoconf 2.70+ warnings
@@ -151,9 +151,8 @@
 -      {
 -        printf("\n*** An old version of libxml (%d.%d.%d) was found.\n",
 -               xml_major_version, xml_minor_version, xml_micro_version);
--        printf("*** You need a version of libxml newer than %d.%d.%d. The latest version of\n",
+-        printf("*** You need a version of libxml newer than %d.%d.%d.\n",
 -           major, minor, micro);
--        printf("*** libxml is always available from ftp://ftp.xmlsoft.org.\n");
 -        printf("***\n");
 -        printf("*** If you have already installed a sufficiently new version, this error\n");
 -        printf("*** probably means that the wrong copy of the xml2-config shell script is\n");
@@ -224,6 +223,3 @@
 -  AC_SUBST(XML_LIBS)
 -  rm -f conf.xmltest
  ])
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb b/poky/meta/recipes-core/libxml/libxml2_2.9.13.bb
similarity index 92%
rename from poky/meta/recipes-core/libxml/libxml2_2.9.12.bb
rename to poky/meta/recipes-core/libxml/libxml2_2.9.13.bb
index a7939c9..e361b53 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.9.12.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.9.13.bb
@@ -1,6 +1,6 @@
 SUMMARY = "XML C Parser Library and Toolkit"
 DESCRIPTION = "The XML Parser Library allows for manipulation of XML files.  Libxml2 exports Push and Pull type parser interfaces for both XML and HTML.  It can do DTD validation at parse time, on a parsed document instance or with an arbitrary DTD.  Libxml2 includes complete XPath, XPointer and Xinclude implementations.  It also has a SAX like interface, which is designed to be compatible with Expat."
-HOMEPAGE = "http://www.xmlsoft.org/"
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/libxml2"
 BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml2"
 SECTION = "libs"
 LICENSE = "MIT"
@@ -11,20 +11,23 @@
 
 DEPENDS = "zlib virtual/libiconv"
 
-SRC_URI = "http://www.xmlsoft.org/sources/libxml2-${PV}.tar.gz;name=libtar \
-           http://www.w3.org/XML/Test/xmlts20080827.tar.gz;subdir=${BP};name=testtar \
+inherit gnomebase
+
+SRC_URI += "http://www.w3.org/XML/Test/xmlts20080827.tar.gz;subdir=${BP};name=testtar \
            file://libxml-64bit.patch \
            file://runtest.patch \
            file://run-ptest \
            file://python-sitepackages-dir.patch \
-           file://libxml-m4-use-pkgconfig.patch \
            file://0001-Make-ptest-run-the-python-tests-if-python-is-enabled.patch \
            file://fix-execution-of-ptests.patch \
            file://remove-fuzz-from-ptests.patch \
-           file://0002-Work-around-lxml-API-abuse.patch \
+           file://libxml-m4-use-pkgconfig.patch \
            "
+# will be in v2.9.14
+#
+SRC_URI += "file://CVE-2022-23308-fix-regression.patch"
 
-SRC_URI[libtar.sha256sum] = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92"
+SRC_URI[archive.sha256sum] = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e"
 SRC_URI[testtar.sha256sum] = "96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7"
 
 BINCONFIG = "${bindir}/xml2-config"
diff --git a/poky/meta/recipes-core/meta/buildtools-docs-tarball.bb b/poky/meta/recipes-core/meta/buildtools-docs-tarball.bb
new file mode 100644
index 0000000..72648e3
--- /dev/null
+++ b/poky/meta/recipes-core/meta/buildtools-docs-tarball.bb
@@ -0,0 +1,18 @@
+require recipes-core/meta/buildtools-tarball.bb
+
+DESCRIPTION = "SDK type target for building a standalone tarball containing the tools needed to build the project docs."
+SUMMARY = "SDK type target for building a standalone tarball containing the tools needed to build the project docs."
+LICENSE = "MIT"
+
+# Add nativesdk equivalent of build-essentials
+TOOLCHAIN_HOST_TASK += "\
+    nativesdk-python3-sphinx \
+    nativesdk-python3-sphinx-rtd-theme \
+    nativesdk-python3-pyyaml \
+    "
+
+TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-docs-nativesdk-standalone-${DISTRO_VERSION}"
+
+SDK_TITLE = "Docs Build tools tarball"
+
+TESTSDK_CASES = "buildtools-docs-cases"
diff --git a/poky/meta/recipes-core/meta/buildtools-tarball.bb b/poky/meta/recipes-core/meta/buildtools-tarball.bb
index 60f6aac..fac91cf 100644
--- a/poky/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/poky/meta/recipes-core/meta/buildtools-tarball.bb
@@ -99,11 +99,14 @@
 # The recipe doesn't need any default deps
 INHIBIT_DEFAULT_DEPS = "1"
 
+# Directory in testsdk that contains testcases
+TESTSDK_CASES = "buildtools-cases"
+
 python do_testsdk() {
     import oeqa.sdk.testsdk
     testsdk = oeqa.sdk.testsdk.TestSDK()
 
-    cases_path = os.path.join(os.path.abspath(os.path.dirname(oeqa.sdk.testsdk.__file__)), "buildtools-cases")
+    cases_path = os.path.join(os.path.abspath(os.path.dirname(oeqa.sdk.testsdk.__file__)), d.getVar("TESTSDK_CASES"))
     testsdk.context_executor_class.default_cases = cases_path
 
     testsdk.run(d)
diff --git a/poky/meta/recipes-core/musl/gcompat/0001-make-Static-PIE-does-not-work-on-musl-ppc.patch b/poky/meta/recipes-core/musl/gcompat/0001-make-Static-PIE-does-not-work-on-musl-ppc.patch
new file mode 100644
index 0000000..1d73116
--- /dev/null
+++ b/poky/meta/recipes-core/musl/gcompat/0001-make-Static-PIE-does-not-work-on-musl-ppc.patch
@@ -0,0 +1,30 @@
+From 01180e78fe9568e7fb2673ba61801c42f0f70115 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 11 Mar 2022 10:37:51 -0800
+Subject: [PATCH] make: Static PIE does not work on musl/ppc
+
+Fixes linker error e.g.
+"read-only segment has dynamic relocations"
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index cbb7634..69ee228 100644
+--- a/Makefile
++++ b/Makefile
+@@ -76,7 +76,7 @@ ${LIBGCOMPAT_NAME}: ${LIBGCOMPAT_OBJ}
+ ${LIBGCOMPAT_OBJ}: ${LIBGCOMPAT_INCLUDE}
+ 
+ ${LOADER_NAME}: ${LOADER_OBJ}
+-	${CC} ${CFLAGS} ${LDFLAGS} -static-pie -o ${LOADER_NAME} ${LOADER_OBJ}
++	${CC} ${CFLAGS} ${LDFLAGS} -static -o ${LOADER_NAME} ${LOADER_OBJ}
+ 
+ .c.o:
+ 	${CC} ${CPPFLAGS} ${CFLAGS} -c -D_BSD_SOURCE \
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-core/musl/gcompat_git.bb b/poky/meta/recipes-core/musl/gcompat_git.bb
index 955cc3c..962bcd8 100644
--- a/poky/meta/recipes-core/musl/gcompat_git.bb
+++ b/poky/meta/recipes-core/musl/gcompat_git.bb
@@ -7,10 +7,13 @@
 LICENSE = "NCSA"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=eb33ef4af05a9c7602843afb7adfe792"
 
-SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current"
-
+SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current \
+          "
+SRC_URI:append:powerpc = "\
+           file://0001-make-Static-PIE-does-not-work-on-musl-ppc.patch \
+           "
 PV = "1.0.0+1.1+git${SRCPV}"
-SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793"
+SRCREV = "4d6a5156a6eb7f56b30d93853a872e36dadde81b"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch b/poky/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch
deleted file mode 100644
index 1fdc9f7..0000000
--- a/poky/meta/recipes-core/musl/libucontext/0001-meson-Add-option-to-pass-cpu.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From a530eed9e7e6872e10fe92efaf1e9739471c30ca Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 30 May 2021 08:30:28 -0700
-Subject: [PATCH] meson: Add option to pass cpu
-
-This helps with cross compile setups, where host_cpu != target_cpu
-therefore detecting it on the fly will end up with wrong cpu to build
-for
-
-Upstream-Status: Submitted [https://github.com/kaniini/libucontext/pull/28]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- meson.build       | 6 +++++-
- meson_options.txt | 4 +++-
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index e863780..2b4bdbd 100644
---- a/meson.build
-+++ b/meson.build
-@@ -6,7 +6,11 @@ project(
-   version : run_command('head', files('VERSION')).stdout()
- )
- 
--cpu = host_machine.cpu_family()
-+cpu = get_option('cpu')
-+if cpu == ''
-+  cpu = host_machine.cpu_family()
-+endif
-+
- if cpu == 'sh4'
-   cpu = 'sh'
- endif
-diff --git a/meson_options.txt b/meson_options.txt
-index d4201d1..864d83c 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,4 +1,6 @@
- option('freestanding', type : 'boolean', value : false,
-        description: 'Do not use system headers')
- option('export_unprefixed', type : 'boolean', value : true,
--       description: 'Export POSIX 2004 ucontext names as alises')
-\ No newline at end of file
-+       description: 'Export POSIX 2004 ucontext names as alises')
-+option('cpu', type : 'string', value : '',
-+       description: 'Target CPU architecture for cross compile')
--- 
-2.31.1
-
diff --git a/poky/meta/recipes-core/musl/libucontext_git.bb b/poky/meta/recipes-core/musl/libucontext_1.2.bb
similarity index 89%
rename from poky/meta/recipes-core/musl/libucontext_git.bb
rename to poky/meta/recipes-core/musl/libucontext_1.2.bb
index 9061cf0..4e34df1 100644
--- a/poky/meta/recipes-core/musl/libucontext_git.bb
+++ b/poky/meta/recipes-core/musl/libucontext_1.2.bb
@@ -4,14 +4,12 @@
 SUMMARY = "ucontext implementation featuring glibc-compatible ABI"
 HOMEPAGE = "https://github.com/kaniini/libucontext"
 LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6eed01fa0e673c76f5a5715438f65b1d"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ebea527af0602d509b7f4c49533fb1bd"
 SECTION = "libs"
 DEPENDS = ""
 
-PV = "1.1+${SRCPV}"
-SRCREV = "335ee864ef6f4a5d4b525453fd9dbfb3507cfecc"
+SRCREV = "4dde3417b4bb4b1b1545bd913be337680b5e28c3"
 SRC_URI = "git://github.com/kaniini/libucontext;branch=master;protocol=https \
-           file://0001-meson-Add-option-to-pass-cpu.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 1e33ad5..d290971 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,7 +4,7 @@
 require musl.inc
 inherit linuxloader
 
-SRCREV = "c4d4028dde90562f631edf559fbc42d8ec1b29de"
+SRCREV = "6d8a515796270eb6cec8a278cb353a078a10f09a"
 
 BASEVER = "1.2.2"
 
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch
deleted file mode 100644
index d658123..0000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0001-Fix-VLA-parameter-warning.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 498627ebda6271b59920f43a0b9b6187edeb7b09 Mon Sep 17 00:00:00 2001
-From: Adrian Herrera <adr.her.arc.95@gmail.com>
-Date: Mon, 22 Mar 2021 21:06:47 +0000
-Subject: [PATCH] Fix VLA parameter warning
-
-Make VLA buffer types consistent in declarations and definitions.
-Resolves build crash when using -Werror due to "vla-parameter" warning.
-
-Upstream-Status: Submitted [https://github.com/google/brotli/pull/893]
-Signed-off-by: Adrian Herrera <adr.her.arc.95@gmail.com>
----
- c/dec/decode.c | 6 ++++--
- c/enc/encode.c | 5 +++--
- 2 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
-index 114c505..bb6f1ab 100644
---- a/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
-+++ b/BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c
-@@ -2030,8 +2030,10 @@ static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands(
- }
- 
- BrotliDecoderResult BrotliDecoderDecompress(
--    size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size,
--    uint8_t* decoded_buffer) {
-+    size_t encoded_size,
-+    const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)],
-+    size_t* decoded_size,
-+    uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]) {
-   BrotliDecoderState s;
-   BrotliDecoderResult result;
-   size_t total_out = 0;
-diff --git a/c/enc/encode.c b/c/enc/encode.c
-index 68548ef..ab0a490 100644
---- a/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
-+++ c/BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c
-@@ -1470,8 +1470,9 @@ static size_t MakeUncompressedStream(
- 
- BROTLI_BOOL BrotliEncoderCompress(
-     int quality, int lgwin, BrotliEncoderMode mode, size_t input_size,
--    const uint8_t* input_buffer, size_t* encoded_size,
--    uint8_t* encoded_buffer) {
-+    const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)],
-+    size_t* encoded_size,
-+    uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]) {
-   BrotliEncoderState* s;
-   size_t out_size = *encoded_size;
-   const uint8_t* input_start = input_buffer;
--- 
-2.31.1
-
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 9db1514..b15d40e 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -21,11 +21,10 @@
            file://0003-ovmf-Update-to-latest.patch \
            file://0005-debug-prefix-map.patch \
            file://0006-reproducible.patch \
-           file://0001-Fix-VLA-parameter-warning.patch \
            "
 
-PV = "edk2-stable202111"
-SRCREV = "bb1bba3d776733c41dbfa2d1dc0fe234819a79f2"
+PV = "edk2-stable202202"
+SRCREV = "b24306f15daa2ff8510b06702114724b33895d3c"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)"
 
 inherit deploy
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
index 84eb46b..6330200 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-profile.bb
@@ -35,7 +35,6 @@
 SYSTEMTAP = "systemtap"
 SYSTEMTAP:libc-musl = ""
 SYSTEMTAP:nios2 = ""
-SYSTEMTAP:riscv64 = ""
 SYSTEMTAP:riscv32 = ""
 
 LTTNGTOOLS = "lttng-tools"
diff --git a/poky/meta/recipes-core/readline/readline.inc b/poky/meta/recipes-core/readline/readline.inc
index 24a3301..7f2f1a0 100644
--- a/poky/meta/recipes-core/readline/readline.inc
+++ b/poky/meta/recipes-core/readline/readline.inc
@@ -6,7 +6,7 @@
 SECTION = "libs"
 HOMEPAGE = "https://tiswww.case.edu/php/chet/readline/rltop.html"
 
-# GPLv2+ (< 6.0), GPLv3+ (>= 6.0)
+# GPL-2.0-or-later (< 6.0), GPL-3.0-or-later (>= 6.0)
 LICENSE = "GPL-3.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
diff --git a/poky/meta/recipes-core/seatd/seatd_0.6.3.bb b/poky/meta/recipes-core/seatd/seatd_0.6.4.bb
similarity index 88%
rename from poky/meta/recipes-core/seatd/seatd_0.6.3.bb
rename to poky/meta/recipes-core/seatd/seatd_0.6.4.bb
index abc8583..a38f8c2 100644
--- a/poky/meta/recipes-core/seatd/seatd_0.6.3.bb
+++ b/poky/meta/recipes-core/seatd/seatd_0.6.4.bb
@@ -6,9 +6,9 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a"
 
-SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \
+SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;nobranch=1 \
            file://init"
-SRCREV = "88db55f6068c1c01d85b61aa6adff0a6b2a8dce8"
+SRCREV = "df13d03f9cfd0dc0c2b3298cd0e5eb4e4a10835e"
 S = "${WORKDIR}/git"
 
 inherit meson pkgconfig update-rc.d
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_250.3.bb b/poky/meta/recipes-core/systemd/systemd-boot_250.4.bb
similarity index 100%
rename from poky/meta/recipes-core/systemd/systemd-boot_250.3.bb
rename to poky/meta/recipes-core/systemd/systemd-boot_250.4.bb
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index e69738a..ac454b8 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,10 +14,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
                     file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
 
-SRCREV = "1b003bbc806198dbdd57b405d968f30565495e70"
+SRCREV = "c3aead556847dd2694d559620123b65ff16afe8c"
 SRCBRANCH = "v250-stable"
-SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
-           file://0001-src-fundamental-list-fundamental_source_paths-using-.patch \
-           "
+SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH}"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-mkdir-allow-to-create-directory-whose-path-contains-.patch b/poky/meta/recipes-core/systemd/systemd/0001-mkdir-allow-to-create-directory-whose-path-contains-.patch
deleted file mode 100644
index 003db43..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-mkdir-allow-to-create-directory-whose-path-contains-.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From b060c53503339c45808efeb4294a03105a2999a5 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Wed, 2 Feb 2022 14:05:45 +0900
-Subject: [PATCH] mkdir: allow to create directory whose path contains symlink
-Cc: pavel@zhukoff.net
-
-Upstream-Status: Backport
-Upstream-Url: https://github.com/systemd/systemd/pull/22359
-
-Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com>
-
-
-core/mount: fail early if directory cannot be created
-
-Prompted by #22334.
-
-mkdir: CHASE_NONEXISTENT cannot used in chase_symlinks_and_stat()
-
-mkdir: allow to create directory whose path contains symlink
-
-Fixes a regression caused by 3008a6f21c1c42efe852d69798a2fdd63fe657ec.
-
-Before the commit, when `mkdir_parents_internal()` is called from `mkdir_p()`,
-it uses `_mkdir()` as `flag` is zero. But after the commit, `mkdir_safe_internal()`
-is always used. Hence, if the path contains a symlink, it fails with -ENOTDIR.
-
-To fix the issue, this makes `mkdir_p()` calls `mkdir_parents_internal()` with
-MKDIR_FOLLOW_SYMLINK flag.
-
-Fixes #22334.
-
-test: add a test for mkdir_p()
----
- src/basic/mkdir.c     |  4 ++--
- src/core/mount.c      |  4 +++-
- src/test/meson.build  |  2 ++
- src/test/test-mkdir.c | 30 ++++++++++++++++++++++++++++++
- 4 files changed, 37 insertions(+), 3 deletions(-)
- create mode 100644 src/test/test-mkdir.c
-
-diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
-index 6e2b94d024..51a0d74e87 100644
---- a/src/basic/mkdir.c
-+++ b/src/basic/mkdir.c
-@@ -42,7 +42,7 @@ int mkdir_safe_internal(
-         if ((flags & MKDIR_FOLLOW_SYMLINK) && S_ISLNK(st.st_mode)) {
-                 _cleanup_free_ char *p = NULL;
- 
--                r = chase_symlinks_and_stat(path, NULL, CHASE_NONEXISTENT, &p, &st, NULL);
-+                r = chase_symlinks_and_stat(path, NULL, 0, &p, &st, NULL);
-                 if (r < 0)
-                         return r;
-                 if (r == 0)
-@@ -162,7 +162,7 @@ int mkdir_p_internal(const char *prefix, const char *path, mode_t mode, uid_t ui
- 
-         assert(_mkdirat != mkdirat);
- 
--        r = mkdir_parents_internal(prefix, path, mode, uid, gid, flags, _mkdirat);
-+        r = mkdir_parents_internal(prefix, path, mode, uid, gid, flags | MKDIR_FOLLOW_SYMLINK, _mkdirat);
-         if (r < 0)
-                 return r;
- 
-diff --git a/src/core/mount.c b/src/core/mount.c
-index 0170406351..c650b5abe2 100644
---- a/src/core/mount.c
-+++ b/src/core/mount.c
-@@ -1027,8 +1027,10 @@ static void mount_enter_mounting(Mount *m) {
-                 r = mkdir_p_label(p->what, m->directory_mode);
-                 /* mkdir_p_label() can return -EEXIST if the target path exists and is not a directory - which is
-                  * totally OK, in case the user wants us to overmount a non-directory inode. */
--                if (r < 0 && r != -EEXIST)
-+                if (r < 0 && r != -EEXIST) {
-                         log_unit_error_errno(UNIT(m), r, "Failed to make bind mount source '%s': %m", p->what);
-+                        goto fail;
-+                }
-         }
- 
-         if (p) {
-diff --git a/src/test/meson.build b/src/test/meson.build
-index 9a1c481f22..7aa1d9c6ea 100644
---- a/src/test/meson.build
-+++ b/src/test/meson.build
-@@ -193,6 +193,8 @@ tests += [
- 
-         [['src/test/test-macro.c']],
- 
-+        [['src/test/test-mkdir.c']],
-+
-         [['src/test/test-json.c']],
- 
-         [['src/test/test-modhex.c']],
-diff --git a/src/test/test-mkdir.c b/src/test/test-mkdir.c
-new file mode 100644
-index 0000000000..c715d5f096
---- /dev/null
-+++ b/src/test/test-mkdir.c
-@@ -0,0 +1,30 @@
-+/* SPDX-License-Identifier: LGPL-2.1-or-later */
-+
-+#include <unistd.h>
-+
-+#include "mkdir.h"
-+#include "path-util.h"
-+#include "rm-rf.h"
-+#include "tests.h"
-+#include "tmpfile-util.h"
-+
-+TEST(mkdir_p) {
-+        _cleanup_(rm_rf_physical_and_freep) char *tmp = NULL;
-+        _cleanup_free_ char *p = NULL;
-+
-+        assert_se(mkdtemp_malloc("/tmp/test-mkdir-XXXXXX", &tmp) >= 0);
-+
-+        assert_se(p = path_join(tmp, "run"));
-+        assert_se(mkdir_p(p, 0755) >= 0);
-+
-+        p = mfree(p);
-+        assert_se(p = path_join(tmp, "var/run"));
-+        assert_se(mkdir_parents(p, 0755) >= 0);
-+        assert_se(symlink("../run", p) >= 0);
-+
-+        p = mfree(p);
-+        assert_se(p = path_join(tmp, "var/run/hoge/foo/baz"));
-+        assert_se(mkdir_p(p, 0755) >= 0);
-+}
-+
-+DEFINE_TEST_MAIN(LOG_DEBUG);
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-src-fundamental-list-fundamental_source_paths-using-.patch b/poky/meta/recipes-core/systemd/systemd/0001-src-fundamental-list-fundamental_source_paths-using-.patch
deleted file mode 100644
index 1d08874..0000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-src-fundamental-list-fundamental_source_paths-using-.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8e882df78ede98c15a3f2567fabebfde1d774b02 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Fri, 7 Jan 2022 21:20:15 +0100
-Subject: [PATCH] src/fundamental: list fundamental_source_paths using relative
- paths
-
-Otherwise, the compiler takes the full path to the source file
-and writes it into the binary output, breaking reproducibility.
-
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/22047]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/fundamental/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/fundamental/meson.build b/src/fundamental/meson.build
-index 287f0fe36a..954bdf150b 100644
---- a/src/fundamental/meson.build
-+++ b/src/fundamental/meson.build
-@@ -20,7 +20,7 @@ sources = '''
- # for sd-boot
- fundamental_source_paths = []
- foreach source : sources
--        fundamental_source_paths += meson.current_source_dir() / source
-+        fundamental_source_paths += '../../fundamental/' + source
- endforeach
- 
- # for libbasic
diff --git a/poky/meta/recipes-core/systemd/systemd_250.3.bb b/poky/meta/recipes-core/systemd/systemd_250.4.bb
similarity index 99%
rename from poky/meta/recipes-core/systemd/systemd_250.3.bb
rename to poky/meta/recipes-core/systemd/systemd_250.4.bb
index 9121333..2b34611 100644
--- a/poky/meta/recipes-core/systemd/systemd_250.3.bb
+++ b/poky/meta/recipes-core/systemd/systemd_250.4.bb
@@ -25,7 +25,6 @@
            file://0003-implment-systemd-sysv-install-for-OE.patch \
            file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
            file://0001-test-parse-argument-Include-signal.h.patch \
-           file://0001-mkdir-allow-to-create-directory-whose-path-contains-.patch \
            file://0029-network-enable-KeepConfiguration-when-running-on-net.patch \
            "
 
@@ -371,6 +370,7 @@
     ${PN}-journal-remote \
     ${PN}-extra-utils \
     ${PN}-udev-rules \
+    libsystemd-shared \
     udev \
     udev-hwdb \
 "
@@ -387,6 +387,8 @@
 SUMMARY:${PN}-journal-remote = "Receive journal messages over the network"
 DESCRIPTION:${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
 
+SUMMARY:libsystemd-shared = "Systemd shared library"
+
 SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
                     ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
@@ -653,6 +655,9 @@
 INSANE_SKIP:${PN} += "dev-so libdir"
 INSANE_SKIP:${PN}-dbg += "libdir"
 INSANE_SKIP:${PN}-doc += " libdir"
+INSANE_SKIP:libsystemd-shared += "libdir"
+
+FILES:libsystemd-shared = "${rootlibexecdir}/systemd/libsystemd-shared*.so"
 
 RPROVIDES:udev = "hotplug"
 
diff --git a/poky/meta/recipes-core/volatile-binds/files/mount-copybind b/poky/meta/recipes-core/volatile-binds/files/mount-copybind
index aad022c..ddc4357 100755
--- a/poky/meta/recipes-core/volatile-binds/files/mount-copybind
+++ b/poky/meta/recipes-core/volatile-binds/files/mount-copybind
@@ -2,6 +2,9 @@
 #
 # Perform a bind mount, copying existing files as we do so to ensure the
 # overlaid path has the necessary content.
+# If the target is a directory and overlayfs is available (and the environment
+# variable MOUNT_COPYBIND_AVOID_OVERLAYFS=1 is not set), then an overlay mount
+# will be attempted first.
 
 if [ $# -lt 2 ]; then
     echo >&2 "Usage: $0 spec mountpoint [OPTIONS]"
@@ -48,10 +51,10 @@
     # If that fails, fall back to slower copy.
     if command -v selinuxenabled > /dev/null 2>&1; then
         if selinuxenabled; then
-            mountcontext=",rootcontext=$(matchpathcon -n $mountpoint)"
+            mountcontext=",rootcontext=$(matchpathcon -n "$mountpoint")"
         fi
     fi
-    if ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir""$mountcontext" "$mountpoint" > /dev/null 2>&1; then
+    if [ "$MOUNT_COPYBIND_AVOID_OVERLAYFS" = 1 ] || ! mount -t overlay overlay -olowerdir="$mountpoint",upperdir="$spec",workdir="$overlay_workdir""$mountcontext" "$mountpoint" > /dev/null 2>&1; then
 
         if [ "$specdir_existed" != "yes" ]; then
             cp -aPR "$mountpoint"/. "$spec/"
diff --git a/poky/meta/recipes-core/volatile-binds/files/volatile-binds.service.in b/poky/meta/recipes-core/volatile-binds/files/volatile-binds.service.in
index e2ad39f..6612d2a 100644
--- a/poky/meta/recipes-core/volatile-binds/files/volatile-binds.service.in
+++ b/poky/meta/recipes-core/volatile-binds/files/volatile-binds.service.in
@@ -11,6 +11,7 @@
 Type=oneshot
 RemainAfterExit=Yes
 TimeoutSec=0
+Environment=MOUNT_COPYBIND_AVOID_OVERLAYFS=@avoid_overlayfs@
 ExecStart=/sbin/mount-copybind @what@ @where@
 ExecStop=/bin/umount @where@
 
diff --git a/poky/meta/recipes-core/volatile-binds/volatile-binds.bb b/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
index d5c5538..3fefa9a 100644
--- a/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
+++ b/poky/meta/recipes-core/volatile-binds/volatile-binds.bb
@@ -37,6 +37,9 @@
 
 FILES:${PN} += "${systemd_system_unitdir}/*.service ${servicedir}"
 
+# Set to 1 to forcibly skip OverlayFS, and default to copy+bind
+AVOID_OVERLAYFS = "0"
+
 do_compile () {
     while read spec mountpoint; do
         if [ -z "$spec" ]; then
@@ -47,6 +50,7 @@
         servicefile="$(echo "$servicefile" | tr / -).service"
         sed -e "s#@what@#$spec#g; s#@where@#$mountpoint#g" \
             -e "s#@whatparent@#${spec%/*}#g; s#@whereparent@#${mountpoint%/*}#g" \
+            -e "s#@avoid_overlayfs@#${@d.getVar('AVOID_OVERLAYFS')}#g" \
             volatile-binds.service.in >$servicefile
     done <<END
 ${@d.getVar('VOLATILE_BINDS').replace("\\n", "\n")}
diff --git a/poky/meta/recipes-core/zlib/zlib/0001-configure-Pass-LDFLAGS-to-link-tests.patch b/poky/meta/recipes-core/zlib/zlib/0001-configure-Pass-LDFLAGS-to-link-tests.patch
new file mode 100644
index 0000000..91a1b4a
--- /dev/null
+++ b/poky/meta/recipes-core/zlib/zlib/0001-configure-Pass-LDFLAGS-to-link-tests.patch
@@ -0,0 +1,79 @@
+From 001971eef84485562f912d8edd4fc7688acfad91 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Mar 2022 22:38:47 -0800
+Subject: [PATCH] configure: Pass LDFLAGS to link tests
+
+LDFLAGS can contain critical flags without which linking wont succeed
+therefore ensure that all configure tests involving link time checks are
+using LDFLAGS on compiler commandline along with CFLAGS to ensure the
+tests perform correctly. Without this some tests may fail resulting in
+wrong confgure result, ending in miscompiling the package
+
+Upstream-Status: Submitted [https://github.com/madler/zlib/pull/599]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/configure b/configure
+index e974d1f..69dfa3f 100755
+--- a/configure
++++ b/configure
+@@ -410,7 +410,7 @@ if test $shared -eq 1; then
+   echo Checking for shared library support... | tee -a configure.log
+   # we must test in two steps (cc then ld), required at least on SunOS 4.x
+   if try $CC -w -c $SFLAGS $test.c &&
+-     try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then
++     try $LDSHARED $SFLAGS $LDFLAGS -o $test$shared_ext $test.o; then
+     echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
+   elif test -z "$old_cc" -a -z "$old_cflags"; then
+     echo No shared library support. | tee -a configure.log
+@@ -492,7 +492,7 @@ int main(void) {
+ }
+ EOF
+   fi
+-  if try $CC $CFLAGS -o $test $test.c; then
++  if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+     sizet=`./$test`
+     echo "Checking for a pointer-size integer type..." $sizet"." | tee -a configure.log
+   else
+@@ -530,7 +530,7 @@ int main(void) {
+   return 0;
+ }
+ EOF
+-  if try $CC $CFLAGS -o $test $test.c; then
++  if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+     echo "Checking for fseeko... Yes." | tee -a configure.log
+   else
+     CFLAGS="${CFLAGS} -DNO_FSEEKO"
+@@ -547,7 +547,7 @@ cat > $test.c <<EOF
+ #include <errno.h>
+ int main() { return strlen(strerror(errno)); }
+ EOF
+-if try $CC $CFLAGS -o $test $test.c; then
++if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+   echo "Checking for strerror... Yes." | tee -a configure.log
+ else
+   CFLAGS="${CFLAGS} -DNO_STRERROR"
+@@ -654,7 +654,7 @@ int main()
+   return (mytest("Hello%d\n", 1));
+ }
+ EOF
+-  if try $CC $CFLAGS -o $test $test.c; then
++  if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+     echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log
+ 
+     echo >> configure.log
+@@ -744,7 +744,7 @@ int main()
+ }
+ EOF
+ 
+-  if try $CC $CFLAGS -o $test $test.c; then
++  if try $CC $CFLAGS $LDFLAGS -o $test $test.c; then
+     echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log
+ 
+     echo >> configure.log
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-core/zlib/zlib/CVE-2018-25032.patch b/poky/meta/recipes-core/zlib/zlib/CVE-2018-25032.patch
new file mode 100644
index 0000000..5cb6183
--- /dev/null
+++ b/poky/meta/recipes-core/zlib/zlib/CVE-2018-25032.patch
@@ -0,0 +1,347 @@
+CVE: CVE-2018-25032
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 5c44459c3b28a9bd3283aaceab7c615f8020c531 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Tue, 17 Apr 2018 22:09:22 -0700
+Subject: [PATCH] Fix a bug that can crash deflate on some input when using
+ Z_FIXED.
+
+This bug was reported by Danilo Ramos of Eideticom, Inc. It has
+lain in wait 13 years before being found! The bug was introduced
+in zlib 1.2.2.2, with the addition of the Z_FIXED option. That
+option forces the use of fixed Huffman codes. For rare inputs with
+a large number of distant matches, the pending buffer into which
+the compressed data is written can overwrite the distance symbol
+table which it overlays. That results in corrupted output due to
+invalid distances, and can result in out-of-bound accesses,
+crashing the application.
+
+The fix here combines the distance buffer and literal/length
+buffers into a single symbol buffer. Now three bytes of pending
+buffer space are opened up for each literal or length/distance
+pair consumed, instead of the previous two bytes. This assures
+that the pending buffer cannot overwrite the symbol table, since
+the maximum fixed code compressed length/distance is 31 bits, and
+since there are four bytes of pending space for every three bytes
+of symbol space.
+---
+ deflate.c | 74 ++++++++++++++++++++++++++++++++++++++++---------------
+ deflate.h | 25 +++++++++----------
+ trees.c   | 50 +++++++++++--------------------------
+ 3 files changed, 79 insertions(+), 70 deletions(-)
+
+diff --git a/deflate.c b/deflate.c
+index 425babc00..19cba873a 100644
+--- a/deflate.c
++++ b/deflate.c
+@@ -255,11 +255,6 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
+     int wrap = 1;
+     static const char my_version[] = ZLIB_VERSION;
+ 
+-    ushf *overlay;
+-    /* We overlay pending_buf and d_buf+l_buf. This works since the average
+-     * output size for (length,distance) codes is <= 24 bits.
+-     */
+-
+     if (version == Z_NULL || version[0] != my_version[0] ||
+         stream_size != sizeof(z_stream)) {
+         return Z_VERSION_ERROR;
+@@ -329,9 +324,47 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
+ 
+     s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */
+ 
+-    overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);
+-    s->pending_buf = (uchf *) overlay;
+-    s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L);
++    /* We overlay pending_buf and sym_buf. This works since the average size
++     * for length/distance pairs over any compressed block is assured to be 31
++     * bits or less.
++     *
++     * Analysis: The longest fixed codes are a length code of 8 bits plus 5
++     * extra bits, for lengths 131 to 257. The longest fixed distance codes are
++     * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest
++     * possible fixed-codes length/distance pair is then 31 bits total.
++     *
++     * sym_buf starts one-fourth of the way into pending_buf. So there are
++     * three bytes in sym_buf for every four bytes in pending_buf. Each symbol
++     * in sym_buf is three bytes -- two for the distance and one for the
++     * literal/length. As each symbol is consumed, the pointer to the next
++     * sym_buf value to read moves forward three bytes. From that symbol, up to
++     * 31 bits are written to pending_buf. The closest the written pending_buf
++     * bits gets to the next sym_buf symbol to read is just before the last
++     * code is written. At that time, 31*(n-2) bits have been written, just
++     * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at
++     * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1
++     * symbols are written.) The closest the writing gets to what is unread is
++     * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and
++     * can range from 128 to 32768.
++     *
++     * Therefore, at a minimum, there are 142 bits of space between what is
++     * written and what is read in the overlain buffers, so the symbols cannot
++     * be overwritten by the compressed data. That space is actually 139 bits,
++     * due to the three-bit fixed-code block header.
++     *
++     * That covers the case where either Z_FIXED is specified, forcing fixed
++     * codes, or when the use of fixed codes is chosen, because that choice
++     * results in a smaller compressed block than dynamic codes. That latter
++     * condition then assures that the above analysis also covers all dynamic
++     * blocks. A dynamic-code block will only be chosen to be emitted if it has
++     * fewer bits than a fixed-code block would for the same set of symbols.
++     * Therefore its average symbol length is assured to be less than 31. So
++     * the compressed data for a dynamic block also cannot overwrite the
++     * symbols from which it is being constructed.
++     */
++
++    s->pending_buf = (uchf *) ZALLOC(strm, s->lit_bufsize, 4);
++    s->pending_buf_size = (ulg)s->lit_bufsize * 4;
+ 
+     if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL ||
+         s->pending_buf == Z_NULL) {
+@@ -340,8 +373,12 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
+         deflateEnd (strm);
+         return Z_MEM_ERROR;
+     }
+-    s->d_buf = overlay + s->lit_bufsize/sizeof(ush);
+-    s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;
++    s->sym_buf = s->pending_buf + s->lit_bufsize;
++    s->sym_end = (s->lit_bufsize - 1) * 3;
++    /* We avoid equality with lit_bufsize*3 because of wraparound at 64K
++     * on 16 bit machines and because stored blocks are restricted to
++     * 64K-1 bytes.
++     */
+ 
+     s->level = level;
+     s->strategy = strategy;
+@@ -552,7 +589,7 @@ int ZEXPORT deflatePrime (strm, bits, value)
+ 
+     if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
+     s = strm->state;
+-    if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3))
++    if (s->sym_buf < s->pending_out + ((Buf_size + 7) >> 3))
+         return Z_BUF_ERROR;
+     do {
+         put = Buf_size - s->bi_valid;
+@@ -1113,7 +1150,6 @@ int ZEXPORT deflateCopy (dest, source)
+ #else
+     deflate_state *ds;
+     deflate_state *ss;
+-    ushf *overlay;
+ 
+ 
+     if (deflateStateCheck(source) || dest == Z_NULL) {
+@@ -1133,8 +1169,7 @@ int ZEXPORT deflateCopy (dest, source)
+     ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
+     ds->prev   = (Posf *)  ZALLOC(dest, ds->w_size, sizeof(Pos));
+     ds->head   = (Posf *)  ZALLOC(dest, ds->hash_size, sizeof(Pos));
+-    overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2);
+-    ds->pending_buf = (uchf *) overlay;
++    ds->pending_buf = (uchf *) ZALLOC(dest, ds->lit_bufsize, 4);
+ 
+     if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL ||
+         ds->pending_buf == Z_NULL) {
+@@ -1148,8 +1183,7 @@ int ZEXPORT deflateCopy (dest, source)
+     zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
+ 
+     ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
+-    ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush);
+-    ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize;
++    ds->sym_buf = ds->pending_buf + ds->lit_bufsize;
+ 
+     ds->l_desc.dyn_tree = ds->dyn_ltree;
+     ds->d_desc.dyn_tree = ds->dyn_dtree;
+@@ -1925,7 +1959,7 @@ local block_state deflate_fast(s, flush)
+         FLUSH_BLOCK(s, 1);
+         return finish_done;
+     }
+-    if (s->last_lit)
++    if (s->sym_next)
+         FLUSH_BLOCK(s, 0);
+     return block_done;
+ }
+@@ -2056,7 +2090,7 @@ local block_state deflate_slow(s, flush)
+         FLUSH_BLOCK(s, 1);
+         return finish_done;
+     }
+-    if (s->last_lit)
++    if (s->sym_next)
+         FLUSH_BLOCK(s, 0);
+     return block_done;
+ }
+@@ -2131,7 +2165,7 @@ local block_state deflate_rle(s, flush)
+         FLUSH_BLOCK(s, 1);
+         return finish_done;
+     }
+-    if (s->last_lit)
++    if (s->sym_next)
+         FLUSH_BLOCK(s, 0);
+     return block_done;
+ }
+@@ -2170,7 +2204,7 @@ local block_state deflate_huff(s, flush)
+         FLUSH_BLOCK(s, 1);
+         return finish_done;
+     }
+-    if (s->last_lit)
++    if (s->sym_next)
+         FLUSH_BLOCK(s, 0);
+     return block_done;
+ }
+diff --git a/deflate.h b/deflate.h
+index 23ecdd312..d4cf1a98b 100644
+--- a/deflate.h
++++ b/deflate.h
+@@ -217,7 +217,7 @@ typedef struct internal_state {
+     /* Depth of each subtree used as tie breaker for trees of equal frequency
+      */
+ 
+-    uchf *l_buf;          /* buffer for literals or lengths */
++    uchf *sym_buf;        /* buffer for distances and literals/lengths */
+ 
+     uInt  lit_bufsize;
+     /* Size of match buffer for literals/lengths.  There are 4 reasons for
+@@ -239,13 +239,8 @@ typedef struct internal_state {
+      *   - I can't count above 4
+      */
+ 
+-    uInt last_lit;      /* running index in l_buf */
+-
+-    ushf *d_buf;
+-    /* Buffer for distances. To simplify the code, d_buf and l_buf have
+-     * the same number of elements. To use different lengths, an extra flag
+-     * array would be necessary.
+-     */
++    uInt sym_next;      /* running index in sym_buf */
++    uInt sym_end;       /* symbol table full when sym_next reaches this */
+ 
+     ulg opt_len;        /* bit length of current block with optimal trees */
+     ulg static_len;     /* bit length of current block with static trees */
+@@ -325,20 +320,22 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
+ 
+ # define _tr_tally_lit(s, c, flush) \
+   { uch cc = (c); \
+-    s->d_buf[s->last_lit] = 0; \
+-    s->l_buf[s->last_lit++] = cc; \
++    s->sym_buf[s->sym_next++] = 0; \
++    s->sym_buf[s->sym_next++] = 0; \
++    s->sym_buf[s->sym_next++] = cc; \
+     s->dyn_ltree[cc].Freq++; \
+-    flush = (s->last_lit == s->lit_bufsize-1); \
++    flush = (s->sym_next == s->sym_end); \
+    }
+ # define _tr_tally_dist(s, distance, length, flush) \
+   { uch len = (uch)(length); \
+     ush dist = (ush)(distance); \
+-    s->d_buf[s->last_lit] = dist; \
+-    s->l_buf[s->last_lit++] = len; \
++    s->sym_buf[s->sym_next++] = dist; \
++    s->sym_buf[s->sym_next++] = dist >> 8; \
++    s->sym_buf[s->sym_next++] = len; \
+     dist--; \
+     s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
+     s->dyn_dtree[d_code(dist)].Freq++; \
+-    flush = (s->last_lit == s->lit_bufsize-1); \
++    flush = (s->sym_next == s->sym_end); \
+   }
+ #else
+ # define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c)
+diff --git a/trees.c b/trees.c
+index 4f4a65011..decaeb7c3 100644
+--- a/trees.c
++++ b/trees.c
+@@ -416,7 +416,7 @@ local void init_block(s)
+ 
+     s->dyn_ltree[END_BLOCK].Freq = 1;
+     s->opt_len = s->static_len = 0L;
+-    s->last_lit = s->matches = 0;
++    s->sym_next = s->matches = 0;
+ }
+ 
+ #define SMALLEST 1
+@@ -948,7 +948,7 @@ void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last)
+ 
+         Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ",
+                 opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,
+-                s->last_lit));
++                s->sym_next / 3));
+ 
+         if (static_lenb <= opt_lenb) opt_lenb = static_lenb;
+ 
+@@ -1017,8 +1017,9 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc)
+     unsigned dist;  /* distance of matched string */
+     unsigned lc;    /* match length-MIN_MATCH or unmatched char (if dist==0) */
+ {
+-    s->d_buf[s->last_lit] = (ush)dist;
+-    s->l_buf[s->last_lit++] = (uch)lc;
++    s->sym_buf[s->sym_next++] = dist;
++    s->sym_buf[s->sym_next++] = dist >> 8;
++    s->sym_buf[s->sym_next++] = lc;
+     if (dist == 0) {
+         /* lc is the unmatched char */
+         s->dyn_ltree[lc].Freq++;
+@@ -1033,30 +1034,7 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc)
+         s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++;
+         s->dyn_dtree[d_code(dist)].Freq++;
+     }
+-
+-#ifdef TRUNCATE_BLOCK
+-    /* Try to guess if it is profitable to stop the current block here */
+-    if ((s->last_lit & 0x1fff) == 0 && s->level > 2) {
+-        /* Compute an upper bound for the compressed length */
+-        ulg out_length = (ulg)s->last_lit*8L;
+-        ulg in_length = (ulg)((long)s->strstart - s->block_start);
+-        int dcode;
+-        for (dcode = 0; dcode < D_CODES; dcode++) {
+-            out_length += (ulg)s->dyn_dtree[dcode].Freq *
+-                (5L+extra_dbits[dcode]);
+-        }
+-        out_length >>= 3;
+-        Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ",
+-               s->last_lit, in_length, out_length,
+-               100L - out_length*100L/in_length));
+-        if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1;
+-    }
+-#endif
+-    return (s->last_lit == s->lit_bufsize-1);
+-    /* We avoid equality with lit_bufsize because of wraparound at 64K
+-     * on 16 bit machines and because stored blocks are restricted to
+-     * 64K-1 bytes.
+-     */
++    return (s->sym_next == s->sym_end);
+ }
+ 
+ /* ===========================================================================
+@@ -1069,13 +1047,14 @@ local void compress_block(s, ltree, dtree)
+ {
+     unsigned dist;      /* distance of matched string */
+     int lc;             /* match length or unmatched char (if dist == 0) */
+-    unsigned lx = 0;    /* running index in l_buf */
++    unsigned sx = 0;    /* running index in sym_buf */
+     unsigned code;      /* the code to send */
+     int extra;          /* number of extra bits to send */
+ 
+-    if (s->last_lit != 0) do {
+-        dist = s->d_buf[lx];
+-        lc = s->l_buf[lx++];
++    if (s->sym_next != 0) do {
++        dist = s->sym_buf[sx++] & 0xff;
++        dist += (unsigned)(s->sym_buf[sx++] & 0xff) << 8;
++        lc = s->sym_buf[sx++];
+         if (dist == 0) {
+             send_code(s, lc, ltree); /* send a literal byte */
+             Tracecv(isgraph(lc), (stderr," '%c' ", lc));
+@@ -1100,11 +1079,10 @@ local void compress_block(s, ltree, dtree)
+             }
+         } /* literal or match pair ? */
+ 
+-        /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */
+-        Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,
+-               "pendingBuf overflow");
++        /* Check that the overlay between pending_buf and sym_buf is ok: */
++        Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow");
+ 
+-    } while (lx < s->last_lit);
++    } while (sx < s->sym_next);
+ 
+     send_code(s, END_BLOCK, ltree);
+ }
diff --git a/poky/meta/recipes-core/zlib/zlib_1.2.11.bb b/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
index 1c06aa0..f8bcc0a 100644
--- a/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
+++ b/poky/meta/recipes-core/zlib/zlib_1.2.11.bb
@@ -8,6 +8,8 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/${BPN}/${PV}/${BPN}-${PV}.tar.xz \
            file://ldflags-tests.patch \
+           file://0001-configure-Pass-LDFLAGS-to-link-tests.patch \
+           file://CVE-2018-25032.patch \
            file://run-ptest \
            "
 UPSTREAM_CHECK_URI = "http://zlib.net/"
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
index 72713c3..59b9cd1 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -1,4 +1,4 @@
-From c7a79e753e50f1a5f248ba5812c61616f2f524f0 Mon Sep 17 00:00:00 2001
+From 11ba49594ae9d11f0070198c146b5e437fa83022 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 10 May 2019 16:47:38 +0200
 Subject: [PATCH] Do not init tables from dpkg configuration
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
index 1517b47..593ed7d 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
@@ -1,4 +1,4 @@
-From 393ac20efc66bfc000a2457e093e369b934c5a50 Mon Sep 17 00:00:00 2001
+From 47c2b42af60ceefd8ed52b32a3a365facf0e05b8 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 21 May 2020 20:13:25 +0000
 Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our
@@ -20,10 +20,10 @@
  1 file changed, 2 insertions(+), 7 deletions(-)
 
 diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
-index 46a6dee..8617a9e 100644
+index 93effa9..4375781 100644
 --- a/apt-pkg/deb/dpkgpm.cc
 +++ b/apt-pkg/deb/dpkgpm.cc
-@@ -1211,12 +1211,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
+@@ -1199,12 +1199,6 @@ void pkgDPkgPM::BuildPackagesProgressMap()
  	 }
        }
     }
@@ -36,7 +36,7 @@
  }
                                                                          /*}}}*/
  void pkgDPkgPM::StartPtyMagic()						/*{{{*/
-@@ -1710,7 +1704,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
+@@ -1741,7 +1735,8 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
  
        // support subpressing of triggers processing for special
        // cases like d-i that runs the triggers handling manually
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch b/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
index cfee50c..2c1e617 100644
--- a/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
+++ b/poky/meta/recipes-devtools/apt/apt/0001-aptwebserver.cc-Include-array.patch
@@ -1,4 +1,4 @@
-From f999aeb5ceb77b81c36e6a55300a521aaa2da882 Mon Sep 17 00:00:00 2001
+From 5985f366750a73c81c7d86893a2b959b4af062a5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 26 May 2021 22:12:46 -0700
 Subject: [PATCH] aptwebserver.cc: Include <array>
@@ -11,22 +11,20 @@
 
 Upstream-Status: Submitted [https://github.com/Debian/apt/pull/133]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  test/interactive-helper/aptwebserver.cc | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc
-index 58ba54f84..0e030c7e9 100644
+index f4f8d95..361c7a9 100644
 --- a/test/interactive-helper/aptwebserver.cc
 +++ b/test/interactive-helper/aptwebserver.cc
-@@ -22,6 +22,7 @@
- #include <unistd.h>
+@@ -23,6 +23,7 @@
  
+ #include <array>
  #include <algorithm>
 +#include <array>
  #include <fstream>
  #include <iostream>
  #include <list>
--- 
-2.31.1
-
diff --git a/poky/meta/recipes-devtools/apt/apt/0001-srvrec-Keep-support-for-older-resolver.patch b/poky/meta/recipes-devtools/apt/apt/0001-srvrec-Keep-support-for-older-resolver.patch
deleted file mode 100644
index 94d67a8..0000000
--- a/poky/meta/recipes-devtools/apt/apt/0001-srvrec-Keep-support-for-older-resolver.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From f98c12b9f04ef3a9daec822c210044095b41a0ac Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 20 Mar 2021 12:33:34 -0700
-Subject: [PATCH] srvrec: Keep support for older resolver
-
-Some C libraries e.g. musl do not implement the new res_n* APIs
-therefore keep the old implementation as fallback and check __RES
-version macro to determine the API level
-
-Upstream-Status: Submitted [https://github.com/Debian/apt/pull/129]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Julian Andres Klode <julian.klode@canonical.com>
----
- apt-pkg/contrib/srvrec.cc | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/apt-pkg/contrib/srvrec.cc b/apt-pkg/contrib/srvrec.cc
-index 4ca208273..3eb5f1d4c 100644
---- a/apt-pkg/contrib/srvrec.cc
-+++ b/apt-pkg/contrib/srvrec.cc
-@@ -62,6 +62,7 @@ bool GetSrvRecords(std::string name, std::vector<SrvRec> &Result)
-    unsigned char answer[PACKETSZ];
-    int answer_len, compressed_name_len;
-    int answer_count;
-+#if __RES >= 19991006
-    struct __res_state res;
- 
-    if (res_ninit(&res) != 0)
-@@ -71,6 +72,12 @@ bool GetSrvRecords(std::string name, std::vector<SrvRec> &Result)
-    std::shared_ptr<void> guard(&res, res_nclose);
- 
-    answer_len = res_nquery(&res, name.c_str(), C_IN, T_SRV, answer, sizeof(answer));
-+#else
-+   if (res_init() != 0)
-+      return _error->Errno("res_init", "Failed to init resolver");
-+
-+   answer_len = res_query(name.c_str(), C_IN, T_SRV, answer, sizeof(answer));
-+#endif //__RES >= 19991006
-    if (answer_len == -1)
-       return false;
-    if (answer_len < (int)sizeof(HEADER))
--- 
-2.31.0
-
diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.4.bb b/poky/meta/recipes-devtools/apt/apt_2.4.3.bb
similarity index 95%
rename from poky/meta/recipes-devtools/apt/apt_2.2.4.bb
rename to poky/meta/recipes-devtools/apt/apt_2.4.3.bb
index aef3098..27e4557 100644
--- a/poky/meta/recipes-devtools/apt/apt_2.2.4.bb
+++ b/poky/meta/recipes-devtools/apt/apt_2.4.3.bb
@@ -10,7 +10,6 @@
            file://0001-Disable-documentation-directory-altogether.patch \
            file://0001-Fix-musl-build.patch \
            file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
-           file://0001-srvrec-Keep-support-for-older-resolver.patch \
            file://0001-cmake-Do-not-build-po-files.patch \
            file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \
            file://0001-aptwebserver.cc-Include-array.patch \
@@ -26,7 +25,7 @@
            file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
            "
 
-SRC_URI[sha256sum] = "6eecd04a4979bd2040b22a14571c15d342c4e1802b2023acb5aa19649b1f64ea"
+SRC_URI[sha256sum] = "5a7215ca924302da0b2205862cd2d651326eea222a589184ec6ce663885729f7"
 LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 # the package is taken from snapshots.debian.org; that source is static and goes stale
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.38.inc b/poky/meta/recipes-devtools/binutils/binutils-2.38.inc
index 6d44150..3544c0c 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.38.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.38.inc
@@ -18,7 +18,7 @@
 
 UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
 
-SRCREV ?= "a96f7ba94b69b588bf524624ff2410b31420c957"
+SRCREV ?= "6938a3aca19044aeb9bc4b9564e04f9092a701ed"
 BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=git"
 SRC_URI = "\
      ${BINUTILS_GIT_URI} \
@@ -31,5 +31,6 @@
      file://0010-Fix-rpath-in-libtool-when-sysroot-is-enabled.patch \
      file://0011-sync-with-OE-libtool-changes.patch \
      file://0012-Check-for-clang-before-checking-gcc-version.patch \
+     file://0013-Avoid-as-info-race-condition.patch \
 "
 S  = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
index f44f466..b3d591e 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-canadian.inc
@@ -13,8 +13,6 @@
 # e.g. we switch between different machines with different tunes.
 EXTRA_OECONF[vardepsexclude] = "TUNE_PKGARCH"
 
-LDGOLD:sdkmingw32 = ""
-
 do_install () {
 	autotools_do_install
 
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0013-Avoid-as-info-race-condition.patch b/poky/meta/recipes-devtools/binutils/binutils/0013-Avoid-as-info-race-condition.patch
new file mode 100644
index 0000000..3b3d0bb
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/0013-Avoid-as-info-race-condition.patch
@@ -0,0 +1,75 @@
+From 9a84a44d5df4618dd616137fa755bd71b7eacc5f Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 23 Jan 2022 12:44:24 -0500
+Subject: [PATCH] gas: drop old cygnus install hack
+
+This was needed when gas was using the automake cygnus option, but
+this was removed years ago by Simon in d0ac1c44885daf68f631befa37e
+("Bump to autoconf 2.69 and automake 1.15.1").  So delete it here.
+The info pages are already & still installed by default w/out it.
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=9a84a44d5df4618dd616137fa755bd71b7eacc5f]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gas/Makefile.in  | 14 +++++---------
+ gas/doc/local.mk |  4 ----
+ 2 files changed, 5 insertions(+), 13 deletions(-)
+
+diff --git a/gas/Makefile.in b/gas/Makefile.in
+index 8f0a56fd8d6..67dac53f68c 100644
+--- a/gas/Makefile.in
++++ b/gas/Makefile.in
+@@ -1854,7 +1854,7 @@ info: info-recursive
+ 
+ info-am: $(INFO_DEPS) info-local
+ 
+-install-data-am: install-data-local install-info-am install-man
++install-data-am: install-info-am install-man
+ 
+ install-dvi: install-dvi-recursive
+ 
+@@ -2008,10 +2008,10 @@ uninstall-man: uninstall-man1
+ 	distclean-DEJAGNU distclean-compile distclean-generic \
+ 	distclean-hdr distclean-libtool distclean-tags dvi dvi-am html \
+ 	html-am html-local info info-am info-local install install-am \
+-	install-data install-data-am install-data-local install-dvi \
+-	install-dvi-am install-exec install-exec-am install-exec-local \
+-	install-html install-html-am install-info install-info-am \
+-	install-man install-man1 install-pdf install-pdf-am install-ps \
++	install-data install-data-am install-dvi install-dvi-am \
++	install-exec install-exec-am install-exec-local install-html \
++	install-html-am install-info install-info-am install-man \
++	install-man1 install-pdf install-pdf-am install-ps \
+ 	install-ps-am install-strip installcheck installcheck-am \
+ 	installdirs installdirs-am maintainer-clean \
+ 	maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
+@@ -2211,10 +2211,6 @@ doc/asconfig.texi: doc/$(CONFIG).texi doc/$(am__dirstamp)
+ 	$(AM_V_GEN)cp $(srcdir)/doc/$(CONFIG).texi doc/asconfig.texi
+ 	$(AM_V_at)chmod u+w doc/asconfig.texi
+ 
+-# We want install to imply install-info as per GNU standards, despite the
+-# cygnus option.
+-install-data-local: install-info
+-
+ # Maintenance
+ 
+ # We need it for the taz target in ../Makefile.in.
+diff --git a/gas/doc/local.mk b/gas/doc/local.mk
+index c2de441257c..ac205cf08a2 100644
+--- a/gas/doc/local.mk
++++ b/gas/doc/local.mk
+@@ -101,10 +101,6 @@ CPU_DOCS = \
+ 	%D%/c-z80.texi \
+ 	%D%/c-z8k.texi
+ 
+-# We want install to imply install-info as per GNU standards, despite the
+-# cygnus option.
+-install-data-local: install-info
+-
+ # This one isn't ready for prime time yet.  Not even a little bit.
+ 
+ noinst_TEXINFOS = %D%/internals.texi
+-- 
+2.27.0
+
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kerncompat-add-local-definition-for-alig.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kerncompat-add-local-definition-for-alig.patch
deleted file mode 100644
index b0fe679..0000000
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-btrfs-progs-kerncompat-add-local-definition-for-alig.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58 Mon Sep 17 00:00:00 2001
-From: David Sterba <dsterba@suse.com>
-Date: Thu, 13 Jan 2022 14:47:08 +0100
-Subject: [PATCH] btrfs-progs: kerncompat: add local definition for alignment
- macros
-
-There's still problem left with compilation on musl and kernel < 5.11,
-because __ALIGN_KERNEL is not defined anymore:
-
-../bin/ld: kernel-shared/volumes.o: in function `create_chunk':
-volumes.c:(.text+0x17f8): undefined reference to `__ALIGN_KERNEL'
-
-Due to the entangled includes and unconditional definition of
-__ALIGN_KERNEL, we can't use #ifdef in kerncompat.h to define it
-eventually (as kerncompat.h is the first include). Instead add local
-definitions of the macros and rename them to avoid name clashes.
-
-Pull-request: #433
-
-Upstream-Status: Backport [https://github.com/kdave/btrfs-progs/commit/b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58]
-
-Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
----
- kerncompat.h | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/kerncompat.h b/kerncompat.h
-index 6ca1526e2..f0a6e196e 100644
---- a/kerncompat.h
-+++ b/kerncompat.h
-@@ -359,7 +359,14 @@ do {					\
- 
- /* Alignment check */
- #define IS_ALIGNED(x, a)                (((x) & ((typeof(x))(a) - 1)) == 0)
--#define ALIGN(x, a)		__ALIGN_KERNEL((x), (a))
-+
-+/*
-+ * Alignment, copied and renamed from /usr/include/linux/const.h to work around
-+ * issues caused by moving the definition in 5.12
-+ */
-+#define __ALIGN_KERNEL__(x, a)		__ALIGN_KERNEL_MASK__(x, (typeof(x))(a) - 1)
-+#define __ALIGN_KERNEL_MASK__(x, mask)	(((x) + (mask)) & ~(mask))
-+#define ALIGN(x, a)		__ALIGN_KERNEL__((x), (a))
- 
- static inline int is_power_of_2(unsigned long n)
- {
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb
similarity index 94%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb
index e5b2057..4ab486c 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.16.2.bb
@@ -17,9 +17,8 @@
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
-           file://0001-btrfs-progs-kerncompat-add-local-definition-for-alig.patch \
            "
-SRCREV = "8ad326b2f28c044cb6ed9016d7c3285e23b673c8"
+SRCREV = "31458c9c81935abbed010221261897273a98d2c1"
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG ??= " \
diff --git a/poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.58.1.bb b/poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.59.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.58.1.bb
rename to poky/meta/recipes-devtools/cargo/cargo-cross-canadian_1.59.0.bb
diff --git a/poky/meta/recipes-devtools/cargo/cargo_1.58.1.bb b/poky/meta/recipes-devtools/cargo/cargo_1.59.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cargo/cargo_1.58.1.bb
rename to poky/meta/recipes-devtools/cargo/cargo_1.59.0.bb
diff --git a/poky/meta/recipes-devtools/ccache/ccache_4.5.1.bb b/poky/meta/recipes-devtools/ccache/ccache_4.6.bb
similarity index 82%
rename from poky/meta/recipes-devtools/ccache/ccache_4.5.1.bb
rename to poky/meta/recipes-devtools/ccache/ccache_4.6.bb
index 11d939c..f019679 100644
--- a/poky/meta/recipes-devtools/ccache/ccache_4.5.1.bb
+++ b/poky/meta/recipes-devtools/ccache/ccache_4.6.bb
@@ -7,12 +7,12 @@
 SECTION = "devel"
 
 LICENSE = "GPL-3.0-or-later"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=8fe0fdfdc7a892516526b86c28d06a16"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=ff5327dc93e2b286c931dda3d6079da9"
 
 DEPENDS = "zstd"
 
 SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "f0d3cff5d555d6868f14a7d05696f0370074e475304fd5aa152b98f892364981"
+SRC_URI[sha256sum] = "73a1767ac6b7c0404a1a55f761a746d338e702883c7137fbf587023062258625"
 
 UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/"
 
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.22.2.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.22.3.bb
similarity index 93%
rename from poky/meta/recipes-devtools/cmake/cmake-native_3.22.2.bb
rename to poky/meta/recipes-devtools/cmake/cmake-native_3.22.3.bb
index 335097d..8293fe5 100644
--- a/poky/meta/recipes-devtools/cmake/cmake-native_3.22.2.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.22.3.bb
@@ -46,6 +46,9 @@
 	install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/
 	mkdir -p ${D}${base_prefix}/environment-setup.d
 	install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh
+
+	# Help docs create tons of files in the native sysroot and aren't needed there
+	rm -rf ${D}${datadir}/cmake-*/Help
 }
 
 do_compile[progress] = "percent"
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index a8bd431..d500321 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -21,7 +21,7 @@
            file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
 "
 
-SRC_URI[sha256sum] = "3c1c478b9650b107d452c5bd545c72e2fad4e37c09b89a1984b9a2f46df6aced"
+SRC_URI[sha256sum] = "9f8469166f94553b6978a16ee29227ec49a2eb5ceb608275dec40d8ae0d1b5a0"
 
 UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
index 9609f5f..9a2287f 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
@@ -1,4 +1,4 @@
-From e75f76b00cc9c1cfc231c5e731e975552f5dd13e Mon Sep 17 00:00:00 2001
+From 89f6c846f02ad6d30b9ebb7eaaaa4fb6f9cec054 Mon Sep 17 00:00:00 2001
 From: Cody P Schafer <dev@codyps.com>
 Date: Thu, 27 Apr 2017 11:35:05 -0400
 Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
@@ -25,10 +25,10 @@
  1 file changed, 7 insertions(+)
 
 diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
-index bae270de..5bb6bc0d 100644
+index 8c7af067..ade2b189 100644
 --- a/Modules/CMakeDetermineSystem.cmake
 +++ b/Modules/CMakeDetermineSystem.cmake
-@@ -111,6 +111,13 @@ else()
+@@ -112,6 +112,13 @@ else()
    endif()
  endif()
  
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.22.2.bb b/poky/meta/recipes-devtools/cmake/cmake_3.22.3.bb
similarity index 100%
rename from poky/meta/recipes-devtools/cmake/cmake_3.22.2.bb
rename to poky/meta/recipes-devtools/cmake/cmake_3.22.3.bb
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.18.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.19.0.bb
similarity index 96%
rename from poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.18.0.bb
rename to poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.19.0.bb
index 1122114..8235125 100644
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.18.0.bb
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.19.0.bb
@@ -8,7 +8,7 @@
            file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
            "
 
-SRCREV = "09ea861c8ef11927de5a276116ecb83ab8e93462"
+SRCREV = "a531ee881a8f1d9273b4383fb9fa604c56fff138"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/dnf/dnf_4.10.0.bb b/poky/meta/recipes-devtools/dnf/dnf_4.11.1.bb
similarity index 98%
rename from poky/meta/recipes-devtools/dnf/dnf_4.10.0.bb
rename to poky/meta/recipes-devtools/dnf/dnf_4.11.1.bb
index f16e716..00eed0c 100644
--- a/poky/meta/recipes-devtools/dnf/dnf_4.10.0.bb
+++ b/poky/meta/recipes-devtools/dnf/dnf_4.11.1.bb
@@ -18,7 +18,7 @@
            file://0001-dnf-write-the-log-lock-to-root.patch \
            "
 
-SRCREV = "bd691b784f2158e633072d368579898d740e4347"
+SRCREV = "fba1e2ec93f3d045a874567fd7ecafd606346509"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
index 4d3f238..dc0d9bf 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
@@ -1,4 +1,4 @@
-From cb47e9cd6735fcafd231748dab8884ae991b669c Mon Sep 17 00:00:00 2001
+From 839f228556c00739f72534e8635195935eb3752f Mon Sep 17 00:00:00 2001
 From: Paul Eggleton <paul.eggleton@linux.microsoft.com>
 Date: Tue, 16 Jun 2020 03:57:25 +0000
 Subject: [PATCH] build.c: ignore return of 1 from tar -cf
@@ -25,13 +25,13 @@
 Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
 
 ---
- dpkg-deb/build.c | 5 ++++-
+ src/deb/build.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)
 
-diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
-index 76613adec..7c216d1a9 100644
---- a/dpkg-deb/build.c
-+++ b/dpkg-deb/build.c
+diff --git a/src/deb/build.c b/src/deb/build.c
+index 76613ad..7c216d1 100644
+--- a/src/deb/build.c
++++ b/src/deb/build.c
 @@ -482,6 +482,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
  {
    int pipe_filenames[2], pipe_tarball[2];
@@ -51,3 +51,6 @@
  }
  
  static intmax_t
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
index 9ca7262..75ae848 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
@@ -12,14 +12,14 @@
 ALIMON 2017/02/21
 KKang 2019/02/20
 ---
- src/script.c | 53 +++-------------------------------------------------
- 1 file changed, 3 insertions(+), 50 deletions(-)
+ src/main/script.c | 54 +++--------------------------------------------
+ 1 file changed, 3 insertions(+), 51 deletions(-)
 
-diff --git a/src/script.c b/src/script.c
-index abe65b6f7..621ff9b27 100644
---- a/src/script.c
-+++ b/src/script.c
-@@ -96,58 +96,11 @@ setexecute(const char *path, struct stat *stab)
+diff --git a/src/main/script.c b/src/main/script.c
+index abe65b6..0edb8f1 100644
+--- a/src/main/script.c
++++ b/src/main/script.c
+@@ -96,58 +96,10 @@ setexecute(const char *path, struct stat *stab)
  static const char *
  maintscript_pre_exec(struct command *cmd)
  {
@@ -49,9 +49,7 @@
 -			         "using --force-script-chrootless?"));
 -		else if (rc)
 -			ohshite(_("failed to chroot to '%.250s'"), instdir);
-+	if (*instdir) {
-+		setenv("D", instdir, 1);
- 	}
+-	}
 -	/* Switch to a known good directory to give the maintainer script
 -	 * a saner environment, also needed after the chroot(). */
 -	if (chdir(changedir))
@@ -68,19 +66,21 @@
 -		debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename,
 -		      args.buf);
 -		varbuf_destroy(&args);
--	}
++        if (*instdir) {
++                setenv("D", instdir, 1);
+ 	}
 -	if (instdirlen == 0 || in_force(FORCE_SCRIPT_CHROOTLESS))
 -		return cmd->filename;
 -
 -	if (strlen(cmd->filename) < instdirlen)
 -		internerr("maintscript name '%s' length < instdir length %zd",
 -		          cmd->filename, instdirlen);
- 
+-
 -	return cmd->filename + instdirlen;
 +	return cmd->filename;
  }
  
  /**
 -- 
-2.17.1
+2.25.1
 
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
index 56c85c7..bbd5aba 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch
@@ -8,14 +8,14 @@
 
 Upstream-Status: Inappropriate [embedded specific]
 ---
- src/archives.c | 3 ++-
+ src/main/archives.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-diff --git a/src/archives.c b/src/archives.c
-index bff5f14..b711013 100644
---- a/src/archives.c
-+++ b/src/archives.c
-@@ -449,8 +449,9 @@ tarobject_set_mtime(struct tar_entry *te, const char *path)
+diff --git a/src/main/archives.c b/src/main/archives.c
+index 92340b9..7a55c27 100644
+--- a/src/main/archives.c
++++ b/src/main/archives.c
+@@ -490,8 +490,9 @@ tarobject_set_mtime(struct tar_entry *te, const char *path)
  
    if (te->type == TAR_FILETYPE_SYMLINK) {
  #ifdef HAVE_LUTIMES
@@ -27,5 +27,5 @@
    } else {
      if (utimes(path, tv))
 -- 
-2.1.4
+2.25.1
 
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
index 4f79a40..117f923 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch
@@ -2,9 +2,6 @@
 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
 Date: Tue, 21 Feb 2017 11:23:27 -0600
 Subject: [PATCH] dpkg-deb/build.c: Remove usage of --clamp-mtime in tar
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
 
 Recently dpkg added --clamp-mtime to tar to create reproducible
 build tarballs [1].
@@ -23,14 +20,14 @@
 
 Signed-off-by: Kai Kang <kai.kang@windriver.com>
 ---
- dpkg-deb/build.c | 2 +-
+ src/deb/build.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
-index 68d1875..053fcb7 100644
---- a/dpkg-deb/build.c
-+++ b/dpkg-deb/build.c
-@@ -457,7 +457,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+diff --git a/src/deb/build.c b/src/deb/build.c
+index 5c74ff3..76613ad 100644
+--- a/src/deb/build.c
++++ b/src/deb/build.c
+@@ -505,7 +505,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
  
      command_init(&cmd, TAR, "tar -cf");
      command_add_args(&cmd, "tar", "-cf", "-", "--format=gnu",
@@ -40,4 +37,5 @@
      if (options->mode)
        command_add_args(&cmd, "--mode", options->mode, NULL);
 -- 
-2.11.0
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/noman.patch b/poky/meta/recipes-devtools/dpkg/dpkg/noman.patch
index a7f3cb8..6900716 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/noman.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/noman.patch
@@ -1,22 +1,21 @@
 Upstream-Status: Inappropriate [disable feature]
 
 ---
- Makefile.am | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 0da52cb16..a1f79e0a2 100644
+index d963a10..7cef7f5 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -13,8 +13,7 @@ SUBDIRS = \
+@@ -11,7 +11,6 @@ SUBDIRS = \
  	$(MAYBE_DSELECT) \
  	scripts \
- 	t-func \
--	po \
--	man
-+	po
+ 	po \
+-	man \
+ 	# EOL
  
  ACLOCAL_AMFLAGS = -I m4
- 
 -- 
-2.11.0
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch b/poky/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch
index 4f408ff..ebf838f 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/remove-tar-no-timestamp.patch
@@ -3,11 +3,15 @@
 Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
 
 Upstream-Status: Inappropriate [configuration]
-Index: dpkg-1.17.1/dpkg-deb/extract.c
-===================================================================
---- dpkg-1.17.1.orig/dpkg-deb/extract.c
-+++ dpkg-1.17.1/dpkg-deb/extract.c
-@@ -318,7 +318,6 @@ extracthalf(const char *debar, const cha
+---
+ src/deb/extract.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/deb/extract.c b/src/deb/extract.c
+index a1b2dc0..95e2372 100644
+--- a/src/deb/extract.c
++++ b/src/deb/extract.c
+@@ -333,7 +333,6 @@ extracthalf(const char *debar, const char *dir,
  
        command_add_arg(&cmd, "-f");
        command_add_arg(&cmd, "-");
@@ -15,3 +19,6 @@
  
        m_dup2(p2[0],0);
        close(p2[0]);
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.1.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.4.bb
similarity index 94%
rename from poky/meta/recipes-devtools/dpkg/dpkg_1.21.1.bb
rename to poky/meta/recipes-devtools/dpkg/dpkg_1.21.4.bb
index ccb4f06..681909f 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.1.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.21.4.bb
@@ -18,6 +18,6 @@
 
 SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
 
-SRCREV = "9b52f8fa74571049d868cb2af0643ee7f89a6151"
+SRCREV = "5563bdb608b3413639b69f1c76567cb66ff1a961"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.186.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.186.bb
index f2f098e..46ee40c 100644
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.186.bb
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.186.bb
@@ -102,8 +102,8 @@
 # Package utilities separately
 PACKAGES =+ "${PN}-binutils libelf libasm libdw libdebuginfod"
 
-# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+
-# according to NEWS file:
+# Shared libraries are licensed GPL-2.0-only or GPL-3.0-or-later, binaries
+# GPL-3.0-or-later. According to NEWS file:
 # "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone
 # programs. There is now also a formal CONTRIBUTING document describing how to
 # submit patches."
diff --git a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.4.bb b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.4.bb
index 16014d5..e5e19e7 100644
--- a/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.4.bb
+++ b/poky/meta/recipes-devtools/erofs-utils/erofs-utils_1.4.bb
@@ -22,4 +22,6 @@
 
 EXTRA_OECONF = "${PACKAGECONFIG_CONFARGS} --disable-fuse"
 
+CFLAGS:append:powerpc64le = " -D__SANE_USERSPACE_TYPES__"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/expect/expect/0001-fixline1-fix-line-1.patch b/poky/meta/recipes-devtools/expect/expect/0001-fixline1-fix-line-1.patch
new file mode 100644
index 0000000..9c73d3e
--- /dev/null
+++ b/poky/meta/recipes-devtools/expect/expect/0001-fixline1-fix-line-1.patch
@@ -0,0 +1,31 @@
+From eef7c44c10de32ba399ab162cb5799fafdce3fa5 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Tue, 15 Mar 2022 22:00:04 +0000
+Subject: [PATCH] fixline1: fix line 1
+
+Ironically, fixline1 needs its first line modified by
+fixline1.  We do that, manually.
+
+Upstream-Status: Inappropriate [OE specific cross build setup]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ fixline1 | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/fixline1 b/fixline1
+index 113e9bb..8a38e96 100755
+--- a/fixline1
++++ b/fixline1
+@@ -1,4 +1,7 @@
+-#!expect --
++#!/bin/sh
++# expect won't see the exec \
++exec expect -- "$0" ${1+"$@"}
++
+ # Synopsis: fixline1 newpath < input > output
+ # Author: Don Libes
+ 
+-- 
+2.32.0
+
diff --git a/poky/meta/recipes-devtools/expect/expect_5.45.4.bb b/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
index 4214ab0..e22fa14 100644
--- a/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
+++ b/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
@@ -25,6 +25,7 @@
            file://0001-Resolve-string-formatting-issues.patch \
            file://0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch \
            file://0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch \
+           file://0001-fixline1-fix-line-1.patch \
           "
 SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2"
 SRC_URI[sha256sum] = "49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
index c39a0ca..e9f2cf1 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -2,7 +2,7 @@
 
 SUMMARY = "Runtime libraries from GCC"
 
-# Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPLv3"
+# Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPL-3.0-only"
 # All gcc-runtime packages are now covered by the runtime exception.
 LICENSE = "GPL-3.0-with-GCC-exception"
 
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 6b025fc..83c18a1 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -12,7 +12,7 @@
 SRCREV = "191bcb948f7191c36eefe634336f5fc5c0c4c2be"
 PV = "20211108+git${SRCPV}"
 
-SRC_URI = "git://git.savannah.gnu.org/config.git;branch=master \
+SRC_URI = "git://git.savannah.gnu.org/git/config.git;protocol=https;branch=master \
            file://gnu-configize.in"
 S = "${WORKDIR}/git"
 UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-devtools/go/go-1.17.7.inc b/poky/meta/recipes-devtools/go/go-1.17.8.inc
similarity index 87%
rename from poky/meta/recipes-devtools/go/go-1.17.7.inc
rename to poky/meta/recipes-devtools/go/go-1.17.8.inc
index 3832b65..649c09e 100644
--- a/poky/meta/recipes-devtools/go/go-1.17.7.inc
+++ b/poky/meta/recipes-devtools/go/go-1.17.8.inc
@@ -1,6 +1,6 @@
 require go-common.inc
 
-FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-1.17:"
+FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-1.18:"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
 
@@ -17,7 +17,7 @@
     file://0001-exec.go-do-not-write-linker-flags-into-buildids.patch \
     file://0001-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
 "
-SRC_URI[main.sha256sum] = "c108cd33b73b1911a02b697741df3dea43e01a5c4e08e409e8b3a0e3745d2b4d"
+SRC_URI[main.sha256sum] = "2effcd898140da79a061f3784ca4f8d8b13d811fb2abe9dad2404442dabbdf7a"
 
 # Upstream don't believe it is a signifiant real world issue and will only
 # fix in 1.17 onwards where we can drop this.
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0001-allow-CC-and-CXX-to-have-multiple-words.patch b/poky/meta/recipes-devtools/go/go-1.18/0001-allow-CC-and-CXX-to-have-multiple-words.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0001-allow-CC-and-CXX-to-have-multiple-words.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0001-allow-CC-and-CXX-to-have-multiple-words.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0001-exec.go-do-not-write-linker-flags-into-buildids.patch b/poky/meta/recipes-devtools/go/go-1.18/0001-exec.go-do-not-write-linker-flags-into-buildids.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0001-exec.go-do-not-write-linker-flags-into-buildids.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0001-exec.go-do-not-write-linker-flags-into-buildids.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0001-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch b/poky/meta/recipes-devtools/go/go-1.18/0001-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0001-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0001-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go-1.18/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch b/poky/meta/recipes-devtools/go/go-1.18/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0004-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go-1.18/0004-ld-add-soname-to-shareable-objects.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0004-ld-add-soname-to-shareable-objects.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0004-ld-add-soname-to-shareable-objects.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go-1.18/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.18/0006-cmd-dist-separate-host-and-target-builds.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0006-cmd-dist-separate-host-and-target-builds.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0006-cmd-dist-separate-host-and-target-builds.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0007-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.18/0007-cmd-go-make-GOROOT-precious-by-default.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0007-cmd-go-make-GOROOT-precious-by-default.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0007-cmd-go-make-GOROOT-precious-by-default.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0008-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.18/0008-use-GOBUILDMODE-to-set-buildmode.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0008-use-GOBUILDMODE-to-set-buildmode.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0008-use-GOBUILDMODE-to-set-buildmode.patch
diff --git a/poky/meta/recipes-devtools/go/go-1.17/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch b/poky/meta/recipes-devtools/go/go-1.18/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-1.17/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch
rename to poky/meta/recipes-devtools/go/go-1.18/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch
diff --git a/poky/meta/recipes-devtools/go/go-binary-native_1.17.7.bb b/poky/meta/recipes-devtools/go/go-binary-native_1.17.8.bb
similarity index 83%
rename from poky/meta/recipes-devtools/go/go-binary-native_1.17.7.bb
rename to poky/meta/recipes-devtools/go/go-binary-native_1.17.8.bb
index c78c28f..1b85cd5 100644
--- a/poky/meta/recipes-devtools/go/go-binary-native_1.17.7.bb
+++ b/poky/meta/recipes-devtools/go/go-binary-native_1.17.8.bb
@@ -8,8 +8,8 @@
 PROVIDES = "go-native"
 
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "02b111284bedbfa35a7e5b74a06082d18632eff824fd144312f6063943d49259"
-SRC_URI[go_linux_arm64.sha256sum] = "a5aa1ed17d45ee1d58b4a4099b12f8942acbd1dd09b2e9a6abb1c4898043c5f5"
+SRC_URI[go_linux_amd64.sha256sum] = "980e65a863377e69fd9b67df9d8395fd8e93858e7a24c9f55803421e453f4f99"
+SRC_URI[go_linux_arm64.sha256sum] = "57a9171682e297df1a5bd287be056ed0280195ad079af90af16dcad4f64710cb"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian.inc b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
index d49250a..c1aa987 100644
--- a/poky/meta/recipes-devtools/go/go-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/go/go-cross-canadian.inc
@@ -27,7 +27,6 @@
 	./make.bash --host-only --no-banner
 	cd ${B}
 }
-do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin ${B}/pkg"
 do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
 
 
diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.17.7.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.17.8.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross-canadian_1.17.7.bb
rename to poky/meta/recipes-devtools/go/go-cross-canadian_1.17.8.bb
diff --git a/poky/meta/recipes-devtools/go/go-cross.inc b/poky/meta/recipes-devtools/go/go-cross.inc
index 3d5803b..a0fbdbe 100644
--- a/poky/meta/recipes-devtools/go/go-cross.inc
+++ b/poky/meta/recipes-devtools/go/go-cross.inc
@@ -17,7 +17,6 @@
 	./make.bash --host-only --no-banner
 	cd ${B}
 }
-do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin ${B}/pkg"
 do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
 
 make_wrapper() {
diff --git a/poky/meta/recipes-devtools/go/go-cross_1.17.7.bb b/poky/meta/recipes-devtools/go/go-cross_1.17.8.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-cross_1.17.7.bb
rename to poky/meta/recipes-devtools/go/go-cross_1.17.8.bb
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk.inc b/poky/meta/recipes-devtools/go/go-crosssdk.inc
index f0bec79..cd23cca 100644
--- a/poky/meta/recipes-devtools/go/go-crosssdk.inc
+++ b/poky/meta/recipes-devtools/go/go-crosssdk.inc
@@ -13,7 +13,6 @@
 	./make.bash --host-only --no-banner
 	cd ${B}
 }
-do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin ${B}/pkg"
 do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
 
 make_wrapper() {
diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.17.7.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.17.8.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-crosssdk_1.17.7.bb
rename to poky/meta/recipes-devtools/go/go-crosssdk_1.17.8.bb
diff --git a/poky/meta/recipes-devtools/go/go-native_1.17.7.bb b/poky/meta/recipes-devtools/go/go-native_1.17.8.bb
similarity index 96%
rename from poky/meta/recipes-devtools/go/go-native_1.17.7.bb
rename to poky/meta/recipes-devtools/go/go-native_1.17.8.bb
index ffe4ef3..76c0ab7 100644
--- a/poky/meta/recipes-devtools/go/go-native_1.17.7.bb
+++ b/poky/meta/recipes-devtools/go/go-native_1.17.8.bb
@@ -27,7 +27,6 @@
 	./make.bash ${GOMAKEARGS}
 	cd ${B}
 }
-do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin"
 do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin"
 
 make_wrapper() {
diff --git a/poky/meta/recipes-devtools/go/go-runtime.inc b/poky/meta/recipes-devtools/go/go-runtime.inc
index ccb86d4..e18339c 100644
--- a/poky/meta/recipes-devtools/go/go-runtime.inc
+++ b/poky/meta/recipes-devtools/go/go-runtime.inc
@@ -38,7 +38,6 @@
 	fi
 	cd ${B}
 }
-do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin ${B}/pkg"
 do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
 
 do_install() {
diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.17.7.bb b/poky/meta/recipes-devtools/go/go-runtime_1.17.8.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go-runtime_1.17.7.bb
rename to poky/meta/recipes-devtools/go/go-runtime_1.17.8.bb
diff --git a/poky/meta/recipes-devtools/go/go-target.inc b/poky/meta/recipes-devtools/go/go-target.inc
index b0d487a..d085643 100644
--- a/poky/meta/recipes-devtools/go/go-target.inc
+++ b/poky/meta/recipes-devtools/go/go-target.inc
@@ -29,7 +29,6 @@
 	./make.bash --target-only --no-banner
 	cd ${B}
 }
-do_compile[dirs] =+ "${GOTMPDIR} ${B}/bin ${B}/pkg"
 do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
 
 do_install() {
diff --git a/poky/meta/recipes-devtools/go/go_1.17.7.bb b/poky/meta/recipes-devtools/go/go_1.17.8.bb
similarity index 100%
rename from poky/meta/recipes-devtools/go/go_1.17.7.bb
rename to poky/meta/recipes-devtools/go/go_1.17.8.bb
diff --git a/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb b/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
index ea95588..b716b02 100644
--- a/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
+++ b/poky/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "This is a version of the icecc-create-env script that has \
 been modified in order to make it work with OE."
 SECTION = "base"
-# source file has just a "GPL" word, but upstream is GPLv2+.
+# source file has just a "GPL" word, but upstream is GPL-2.0-or-later.
 # most probably just GPL would be a mistake
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://icecc-create-env;beginline=2;endline=5;md5=ae1df3d6a058bfda40b66094c5f6065f"
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
deleted file mode 100644
index 607995a..0000000
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Add-WITH_TESTS-option.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 7d60d62b5c5374156703ca7262fb2f85ec5db119 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 6 Nov 2018 13:54:43 +0100
-Subject: [PATCH] Add WITH_TESTS option
-
-This makes a dependency on cppunit optional.
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/1382]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- CMakeLists.txt               | 3 +++
- python/hawkey/CMakeLists.txt | 2 ++
- 2 files changed, 5 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9c6e1b2f..8599c540 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -33,6 +33,7 @@ option(WITH_MAN "Enables hawkey man page generation" ON)
- option(WITH_ZCHUNK "Build with zchunk support" ON)
- option(ENABLE_RHSM_SUPPORT "Build with Red Hat Subscription Manager support?" OFF)
- option(ENABLE_SOLV_URPMREORDER "Build with support for URPM-like solution reordering?" OFF)
-+option(WITH_TESTS "Enables unit tests" ON)
- 
- 
- # build options - debugging
-@@ -179,8 +180,10 @@ endif()
- 
- 
- # build tests
-+IF (WITH_TESTS)
- enable_testing()
- add_subdirectory(tests)
-+ENDIF()
- if(WITH_BINDINGS)
-     add_subdirectory(python/hawkey)
- endif()
-diff --git a/python/hawkey/CMakeLists.txt b/python/hawkey/CMakeLists.txt
-index d9645346..84d17204 100644
---- a/python/hawkey/CMakeLists.txt
-+++ b/python/hawkey/CMakeLists.txt
-@@ -50,4 +50,6 @@ target_link_libraries(_hawkeymodule ${PYTHON_LIBRARY})
- install(FILES __init__.py DESTINATION ${PYTHON_INSTALL_DIR}/hawkey)
- install(TARGETS _hawkeymodule LIBRARY DESTINATION ${PYTHON_INSTALL_DIR}/hawkey)
- 
-+IF (WITH_TESTS)
- add_subdirectory(tests)
-+ENDIF()
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
index 10450de..c7b2af8 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch
@@ -16,12 +16,12 @@
 index b722d4fb..ce88b9e3 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -45,7 +45,7 @@ endif()
+@@ -52,7 +52,7 @@ endif()
  
  # build dependencies
  find_package(Gpgme REQUIRED)
 -PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv)
 +PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv libsolvext)
  set(LIBSOLV_LIBRARY ${LIBSOLV_LIBRARIES})
- find_package(OpenSSL REQUIRED)
+
  
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch
deleted file mode 100644
index 2d8213c..0000000
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From b570c7f8bd089deec7da2b108aa789a27025a473 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 19 Nov 2019 13:46:09 +0100
-Subject: [PATCH] Look fo sphinx only if documentation is actually enabled
-
-Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/1383]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- docs/hawkey/CMakeLists.txt | 20 +++++++++++---------
- 1 file changed, 11 insertions(+), 9 deletions(-)
-
-diff --git a/docs/hawkey/CMakeLists.txt b/docs/hawkey/CMakeLists.txt
-index 52cc35c6..63c7672f 100644
---- a/docs/hawkey/CMakeLists.txt
-+++ b/docs/hawkey/CMakeLists.txt
-@@ -2,15 +2,17 @@
- # tell sphinx-build to do them both in one go:
- 
- 
--find_program(SPHINX_PROGRAM NAMES "sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
--if(NOT EXISTS ${SPHINX_PROGRAM})
--    find_program(SPHINX_PROGRAM NAMES sphinx-build-${PYTHON_VERSION_MAJOR})
--endif()
--if(NOT EXISTS ${SPHINX_PROGRAM})
--    find_program(SPHINX_PROGRAM NAMES sphinx-build)
--endif()
--if(NOT EXISTS ${SPHINX_PROGRAM})
--    message(FATAL_ERROR "Sphinx program not found." )
-+if (WITH_HTML OR WITH_MAN)
-+    find_program(SPHINX_PROGRAM NAMES "sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
-+    if(NOT EXISTS ${SPHINX_PROGRAM})
-+        find_program(SPHINX_PROGRAM NAMES sphinx-build-${PYTHON_VERSION_MAJOR})
-+    endif()
-+    if(NOT EXISTS ${SPHINX_PROGRAM})
-+        find_program(SPHINX_PROGRAM NAMES sphinx-build)
-+    endif()
-+    if(NOT EXISTS ${SPHINX_PROGRAM})
-+        message(FATAL_ERROR "Sphinx program not found." )
-+    endif()
- endif()
- 
- if(WITH_HTML)
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
index 475c8f1..9adb345 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
+++ b/poky/meta/recipes-devtools/libdnf/libdnf/0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch
@@ -7,22 +7,24 @@
 
 Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/312]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
 ---
  CMakeLists.txt | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 16b63308..b722d4fb 100644
+index fd6e3f0..5383744 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -45,7 +45,8 @@ endif()
+@@ -52,7 +52,8 @@ endif()
  
  # build dependencies
  find_package(Gpgme REQUIRED)
 -find_package(LibSolv 0.6.30 REQUIRED COMPONENTS ext)
 +PKG_CHECK_MODULES (LIBSOLV REQUIRED libsolv)
 +set(LIBSOLV_LIBRARY ${LIBSOLV_LIBRARIES})
- find_package(OpenSSL REQUIRED)
  
  
+ # build dependencies via pkg-config
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/libdnf/libdnf_0.65.0.bb b/poky/meta/recipes-devtools/libdnf/libdnf_0.66.0.bb
similarity index 89%
rename from poky/meta/recipes-devtools/libdnf/libdnf_0.65.0.bb
rename to poky/meta/recipes-devtools/libdnf/libdnf_0.66.0.bb
index 03c56e9..2558f96 100644
--- a/poky/meta/recipes-devtools/libdnf/libdnf_0.65.0.bb
+++ b/poky/meta/recipes-devtools/libdnf/libdnf_0.66.0.bb
@@ -8,19 +8,17 @@
            file://0001-FindGtkDoc.cmake-drop-the-requirement-for-GTKDOC_SCA.patch \
            file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
            file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
-           file://0001-Add-WITH_TESTS-option.patch \
-           file://0001-Look-fo-sphinx-only-if-documentation-is-actually-ena.patch \
            file://enable_test_data_dir_set.patch \
            file://0001-drop-FindPythonInstDir.cmake.patch \
            file://0001-libdnf-dnf-context.cpp-do-not-try-to-access-BDB-data.patch \
            "
 
-SRCREV = "cee3e1c59f849d9be1bb8d7db3090cea5c59f4b6"
+SRCREV = "add5d5418b140a86d08667dd2b14793093984875"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
 
-DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native"
+DEPENDS = "glib-2.0 libsolv libcheck librepo rpm gtk-doc libmodulemd json-c swig-native util-linux"
 
 inherit gtk-doc gobject-introspection cmake pkgconfig setuptools3-base
 
diff --git a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc
similarity index 87%
rename from poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
rename to poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc
index 2b5fd8f..a07df72 100644
--- a/poky/meta/recipes-devtools/libtool/libtool-2.4.6.inc
+++ b/poky/meta/recipes-devtools/libtool/libtool-2.4.7.inc
@@ -17,19 +17,16 @@
            file://dont-depend-on-help2man.patch \
            file://0006-libtool.m4-Handle-as-a-sysroot-correctly.patch \
            file://nohardcodepaths.patch \
-           file://unwind-opt-parsing.patch \
            file://0007-libtool-Fix-support-for-NIOS2-processor.patch \
            file://0008-libtool-Check-for-static-libs-for-internal-compiler-.patch \
            file://0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \
            file://0010-Makefile.am-make-sure-autoheader-run-before-automake.patch \
            file://0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch \
            file://0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch \
-           file://libool.m4-add-ARFLAGS-variable.patch \
-           file://ARFLAGS-use-cr-instead-of-cru-by-default.patch \
+           file://0001-ltmain.in-Parse-additional-clang-options.patch \
           "
 
-SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e"
-SRC_URI[sha256sum] = "e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3"
+SRC_URI[sha256sum] = "04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8"
 
 do_compile:prepend () {
 	# Sometimes this file doesn't get rebuilt, force the issue
diff --git a/poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb b/poky/meta/recipes-devtools/libtool/libtool-cross_2.4.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/libtool/libtool-cross_2.4.6.bb
rename to poky/meta/recipes-devtools/libtool/libtool-cross_2.4.7.bb
diff --git a/poky/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb b/poky/meta/recipes-devtools/libtool/libtool-native_2.4.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/libtool/libtool-native_2.4.6.bb
rename to poky/meta/recipes-devtools/libtool/libtool-native_2.4.7.bb
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch b/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch
index eeb5ebf..4c4d054 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Handle-trailing-slashes-on-install-command.patch
@@ -15,9 +15,10 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00010.html]
 
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
+index 96b37003..3d5dcd0a 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -2356,8 +2356,14 @@ func_mode_install ()
+@@ -2378,8 +2378,14 @@ func_mode_install ()
  	func_append dir "$objdir"
  
  	if test -n "$relink_command"; then
@@ -33,3 +34,6 @@
  
  	  # Don't allow the user to place us outside of our expected
  	  # location b/c this prevents finding dependent libraries that
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch b/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch
new file mode 100644
index 0000000..0285c14
--- /dev/null
+++ b/poky/meta/recipes-devtools/libtool/libtool/0001-ltmain.in-Parse-additional-clang-options.patch
@@ -0,0 +1,28 @@
+From: Khem Raj <raj.khem@gmail.com>
+Subject: [PATCH] ltmain.in: Parse additional clang options
+
+clang uses -rtlib and --unwindlib to select proper compiler runtime in
+some cases. There fore pass these options to linker when found in
+ldflags
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: libtool-2.4.7/build-aux/ltmain.in
+===================================================================
+--- libtool-2.4.7.orig/build-aux/ltmain.in
++++ libtool-2.4.7/build-aux/ltmain.in
+@@ -5420,10 +5420,12 @@ func_mode_link ()
+       # -fsanitize=*         Clang/GCC memory and address sanitizer
+       # -fuse-ld=*           Linker select flags for GCC
+       # -f*-prefix-map*      needed for lto linking
++      # -rtlib=*             select c runtime lib with clang
++      # --unwindlib=*        select unwinder library with clang
+       # -Wa,*                Pass flags directly to the assembler
+       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
++      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-rtlib=*|--unwindlib=*| \
+       -specs=*|-fsanitize=*|-fuse-ld=*|-f*-prefix-map*|-Wa,*)
+         func_quote_arg pretty "$arg"
+ 	arg=$func_quote_arg_result
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch b/poky/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch
index 6da2839..1920e2e 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0002-libtool.m4-Rename-the-with-sysroot-option-to-avoid-c.patch
@@ -13,13 +13,14 @@
 
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00014.html]
 
-diff --git a/m4/libtool.m4 b/m4/libtool.m4
---- a/m4/libtool.m4
-+++ b/m4/libtool.m4
-@@ -1215,28 +1215,28 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
- # ----------------
+Index: libtool-2.4.7/m4/libtool.m4
+===================================================================
+--- libtool-2.4.7.orig/m4/libtool.m4
++++ libtool-2.4.7/m4/libtool.m4
+@@ -1244,28 +1244,28 @@ _LT_DECL([], [ECHO], [1], [An echo progr
  AC_DEFUN([_LT_WITH_SYSROOT],
- [AC_MSG_CHECKING([for sysroot])
+ [m4_require([_LT_DECL_SED])dnl
+ AC_MSG_CHECKING([for sysroot])
 -AC_ARG_WITH([sysroot],
 -[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
 +AC_ARG_WITH([libtool-sysroot],
@@ -40,8 +41,8 @@
     fi
     ;; #(
   /*)
--   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-+   lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+-   lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
++   lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"`
     ;; #(
   no|'')
     ;; #(
@@ -51,10 +52,11 @@
     AC_MSG_ERROR([The sysroot must be an absolute path.])
     ;;
  esac
-diff --git a/tests/sysroot.at b/tests/sysroot.at
---- a/tests/sysroot.at
-+++ b/tests/sysroot.at
-@@ -64,7 +64,7 @@ while read file; do
+Index: libtool-2.4.7/tests/sysroot.at
+===================================================================
+--- libtool-2.4.7.orig/tests/sysroot.at
++++ libtool-2.4.7/tests/sysroot.at
+@@ -65,7 +65,7 @@ while read file; do
  done])
  
  LDFLAGS="$LDFLAGS --sysroot=$sysroot -no-undefined"
@@ -63,7 +65,7 @@
  
  #???
  if test PATH = "$shlibpath_var"; then
-@@ -114,7 +114,7 @@ AM_INIT_AUTOMAKE([foreign])
+@@ -115,7 +115,7 @@ AM_INIT_AUTOMAKE([foreign])
  AC_PROG_CC
  AC_CONFIG_SRCDIR([lib2.c])
  LT_INIT
@@ -72,7 +74,7 @@
  AC_SUBST([sysroot])
  AC_OUTPUT(Makefile)
  ]])
-@@ -155,7 +155,7 @@ AM_INIT_AUTOMAKE([foreign])
+@@ -156,7 +156,7 @@ AM_INIT_AUTOMAKE([foreign])
  AC_PROG_CC
  AC_CONFIG_SRCDIR([prog.c])
  LT_INIT
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch b/poky/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch
index 0103a00..07c7f91 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0003-ltmain.in-Add-missing-sysroot-to-library-path.patch
@@ -11,9 +11,10 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00017.html]
 
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
+index 3d5dcd0a..2c994612 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -6421,7 +6421,7 @@ func_mode_link ()
+@@ -6475,7 +6475,7 @@ func_mode_link ()
  	      fi
  	    else
  	      # We cannot seem to hardcode it, guess we'll fake it.
@@ -22,3 +23,6 @@
  	      # Try looking first in the location we're being installed to.
  	      if test -n "$inst_prefix_dir"; then
  		case $libdir in
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch b/poky/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch
index 21b3dfe..4fcf456 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0004-ltmain.sh-Fix-sysroot-paths-being-encoded-into-RPATH.patch
@@ -10,23 +10,24 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00009.html]
 
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
+index 2c994612..96238350 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -7569,9 +7569,11 @@ EOF
+@@ -7654,9 +7654,11 @@ EOF
  	  test relink = "$opt_mode" || rpath=$compile_rpath$rpath
  	  for libdir in $rpath; do
  	    if test -n "$hardcode_libdir_flag_spec"; then
-+		  func_replace_sysroot "$libdir"
-+		  libdir=$func_replace_sysroot_result
-+		  func_stripname '=' '' "$libdir"
-+		  libdir=$func_stripname_result
++	      func_replace_sysroot "$libdir"
++	      libdir=$func_replace_sysroot_result
++	      func_stripname '=' '' "$libdir"
++	      libdir=$func_stripname_result
  	      if test -n "$hardcode_libdir_separator"; then
 -		func_replace_sysroot "$libdir"
 -		libdir=$func_replace_sysroot_result
  		if test -z "$hardcode_libdirs"; then
  		  hardcode_libdirs=$libdir
  		else
-@@ -8301,6 +8303,10 @@ EOF
+@@ -8386,6 +8388,10 @@ EOF
        hardcode_libdirs=
        for libdir in $compile_rpath $finalize_rpath; do
  	if test -n "$hardcode_libdir_flag_spec"; then
@@ -37,7 +38,7 @@
  	  if test -n "$hardcode_libdir_separator"; then
  	    if test -z "$hardcode_libdirs"; then
  	      hardcode_libdirs=$libdir
-@@ -8352,6 +8358,10 @@ EOF
+@@ -8437,6 +8443,10 @@ EOF
        hardcode_libdirs=
        for libdir in $finalize_rpath; do
  	if test -n "$hardcode_libdir_flag_spec"; then
@@ -48,3 +49,6 @@
  	  if test -n "$hardcode_libdir_separator"; then
  	    if test -z "$hardcode_libdirs"; then
  	      hardcode_libdirs=$libdir
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch b/poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch
index 50d47d9..589a33e 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0005-ltmain.in-Don-t-encode-RATHS-which-match-default-lin.patch
@@ -12,10 +12,11 @@
 
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00013.html]
 
-diff -u b/build-aux/ltmain.in b/build-aux/ltmain.in
---- b/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in	2012-08-22 11:01:34.191345989 -0700
-@@ -7286,8 +7286,16 @@
+diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
+index 96238350..6fb58ed2 100644
+--- a/build-aux/ltmain.in
++++ b/build-aux/ltmain.in
+@@ -7672,8 +7672,16 @@ EOF
  		  esac
  		fi
  	      else
@@ -34,7 +35,7 @@
  	      fi
  	    elif test -n "$runpath_var"; then
  	      case "$perm_rpath " in
-@@ -8019,8 +8027,16 @@
+@@ -8406,8 +8414,16 @@ EOF
  	      esac
  	    fi
  	  else
@@ -53,7 +54,7 @@
  	  fi
  	elif test -n "$runpath_var"; then
  	  case "$perm_rpath " in
-@@ -8070,8 +8086,14 @@
+@@ -8461,8 +8477,14 @@ EOF
  	      esac
  	    fi
  	  else
@@ -70,3 +71,6 @@
  	  fi
  	elif test -n "$runpath_var"; then
  	  case "$finalize_perm_rpath " in
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch b/poky/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch
index 9999712..a221dab 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0006-libtool.m4-Handle-as-a-sysroot-correctly.patch
@@ -13,11 +13,11 @@
 
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00018.html]
 
----
-diff --git a/m4/libtool.m4 b/m4/libtool.m4
---- a/m4/libtool.m4
-+++ b/m4/libtool.m4
-@@ -1225,16 +1225,21 @@ dnl lt_sysroot will always be passed unquoted.  We quote it here
+Index: libtool-2.4.7/m4/libtool.m4
+===================================================================
+--- libtool-2.4.7.orig/m4/libtool.m4
++++ libtool-2.4.7/m4/libtool.m4
+@@ -1254,16 +1254,20 @@ dnl lt_sysroot will always be passed unq
  dnl in case the user passed a directory name.
  lt_sysroot=
  case $with_libtool_sysroot in #(
@@ -25,8 +25,7 @@
 + no)
     if test yes = "$GCC"; then
       lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-+     # Treat "/" the same a an unset sysroot. It seems to be more
-+     # compatible across host platforms that way!?
++     # Treat "/" the same a an unset sysroot.
 +     if test "$lt_sysroot" = /; then
 +       lt_sysroot=
 +     fi
@@ -35,7 +34,7 @@
 + yes|''|/)
 +   ;; #(
   /*)
-    lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
+    lt_sysroot=`echo "$with_libtool_sysroot" | $SED -e "$sed_quote_subst"`
     ;; #(
 - no|'')
 -   ;; #(
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch b/poky/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch
index 395464e..277afe0 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0007-libtool-Fix-support-for-NIOS2-processor.patch
@@ -15,15 +15,11 @@
 
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00021.html]
 
----
- build-aux/ltmain.in | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index d5cf07a..4164284 100644
+index 6fb58ed2..606f17be 100644
 --- a/build-aux/ltmain.in
 +++ b/build-aux/ltmain.in
-@@ -504,6 +504,12 @@ libtool_validate_options ()
+@@ -519,6 +519,12 @@ libtool_validate_options ()
      test : = "$debug_cmd" || func_append preserve_args " --debug"
  
      case $host in
@@ -36,7 +32,7 @@
        # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
        # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
        *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
-@@ -6220,6 +6226,15 @@ func_mode_link ()
+@@ -6246,6 +6252,15 @@ func_mode_link ()
  	if test -n "$library_names" &&
  	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
  	  case $host in
@@ -52,7 +48,7 @@
  	  *cygwin* | *mingw* | *cegcc* | *os2*)
  	      # No point in relinking DLLs because paths are not encoded
  	      func_append notinst_deplibs " $lib"
-@@ -6290,6 +6305,11 @@ func_mode_link ()
+@@ -6316,6 +6331,11 @@ func_mode_link ()
  	    elif test -n "$soname_spec"; then
  	      # bleh windows
  	      case $host in
@@ -65,5 +61,5 @@
  	        func_arith $current - $age
  		major=$func_arith_result
 -- 
-2.5.1
+2.25.1
 
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch b/poky/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch
index afffdb9..83c7437 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0008-libtool-Check-for-static-libs-for-internal-compiler-.patch
@@ -1,6 +1,4 @@
-From b9993338080325a6e2b2ec94ca0ece80e7fa3fb6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 26 Jan 2019 12:54:26 -0800
 Subject: [PATCH 08/12] libtool: Check for static libs for internal compiler libraries
 
 Libtool checks only for libraries linked as -l* when trying to
@@ -16,15 +14,12 @@
 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27866
 
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00016.html]
----
- m4/libtool.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index d0389a0..9619c57 100644
+index 180dd9d1..022c1292 100644
 --- a/m4/libtool.m4
 +++ b/m4/libtool.m4
-@@ -7536,7 +7536,7 @@ if AC_TRY_EVAL(ac_compile); then
+@@ -7560,7 +7560,7 @@ if AC_TRY_EVAL(ac_compile); then
    for p in `eval "$output_verbose_link_cmd"`; do
      case $prev$p in
  
@@ -34,5 +29,5 @@
         # Remove the space.
         if test x-L = "$p" ||
 -- 
-2.20.1
+2.25.1
 
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch b/poky/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch
index 348cd3c..437c09f 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0009-Makefile.am-make-sure-autoheader-run-before-autoconf.patch
@@ -13,15 +13,11 @@
 
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00015.html]
 
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
 diff --git a/Makefile.am b/Makefile.am
-index 4142c90..fe1a9fc 100644
+index 6b546092..84795d87 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -365,7 +365,7 @@ lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
+@@ -370,7 +370,7 @@ lt_configure_deps = $(lt_aclocal_m4) $(lt_aclocal_m4_deps)
  $(lt_aclocal_m4): $(lt_aclocal_m4_deps)
  	$(AM_V_GEN)cd '$(srcdir)/$(ltdl_dir)' && $(ACLOCAL) -I ../m4
  
@@ -31,5 +27,5 @@
  
  $(lt_config_h_in): $(lt_configure_deps)
 -- 
-2.29.2
+2.25.1
 
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch b/poky/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch
index cd963ef..a92e229 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0010-Makefile.am-make-sure-autoheader-run-before-automake.patch
@@ -14,15 +14,12 @@
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00020.html]
 
 Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index 2752ecc..29950db 100644
+index 84795d87..8c9949ed 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -328,7 +328,7 @@ EXTRA_DIST     += $(lt_aclocal_m4) \
+@@ -333,7 +333,7 @@ EXTRA_DIST     += $(lt_aclocal_m4) \
  		  $(lt_obsolete_m4) \
  		  $(stamp_mk)
  
@@ -32,5 +29,5 @@
  
  # Don't let unused scripts leak into the libltdl Makefile
 -- 
-2.29.2
+2.25.1
 
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch b/poky/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch
index b121a3c..4945533 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0011-ltmain.in-Handle-prefix-map-compiler-options-correct.patch
@@ -8,19 +8,21 @@
 
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html]
 
-Index: libtool-2.4.6/build-aux/ltmain.in
+Index: libtool-2.4.7/build-aux/ltmain.in
 ===================================================================
---- libtool-2.4.6.orig/build-aux/ltmain.in
-+++ libtool-2.4.6/build-aux/ltmain.in
-@@ -5424,9 +5424,10 @@ func_mode_link ()
-       # --sysroot=*          for sysroot support
-       # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+--- libtool-2.4.7.orig/build-aux/ltmain.in
++++ libtool-2.4.7/build-aux/ltmain.in
+@@ -5419,11 +5419,12 @@ func_mode_link ()
        # -stdlib=*            select c++ std lib with clang
+       # -fsanitize=*         Clang/GCC memory and address sanitizer
+       # -fuse-ld=*           Linker select flags for GCC
 +      # -f*-prefix-map*      needed for lto linking
+       # -Wa,*                Pass flags directly to the assembler
        -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
        -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
--      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
-+      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-f*-prefix-map*)
-         func_quote_for_eval "$arg"
- 	arg=$func_quote_for_eval_result
+       -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+-      -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
++      -specs=*|-fsanitize=*|-fuse-ld=*|-f*-prefix-map*|-Wa,*)
+         func_quote_arg pretty "$arg"
+ 	arg=$func_quote_arg_result
          func_append compile_command " $arg"
diff --git a/poky/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch b/poky/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch
index 64f911d..c750303 100644
--- a/poky/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch
+++ b/poky/meta/recipes-devtools/libtool/libtool/0012-libtool.m4-For-reproducibility-stop-encoding-hostnam.patch
@@ -12,11 +12,10 @@
 
 Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00011.html]
 
----
-Index: libtool-2.4.6/m4/libtool.m4
-===================================================================
---- libtool-2.4.6.orig/m4/libtool.m4
-+++ libtool-2.4.6/m4/libtool.m4
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index 022c1292..1a8a2998 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
 @@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([
      cat <<_LT_EOF >> "$cfgfile"
  #! $SHELL
@@ -25,3 +24,6 @@
  # NOTE: Changes made to this file will be lost: look at ltmain.sh.
  
  # Provide generalized library-building support services.
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/libtool/libtool/ARFLAGS-use-cr-instead-of-cru-by-default.patch b/poky/meta/recipes-devtools/libtool/libtool/ARFLAGS-use-cr-instead-of-cru-by-default.patch
deleted file mode 100644
index 447640c..0000000
--- a/poky/meta/recipes-devtools/libtool/libtool/ARFLAGS-use-cr-instead-of-cru-by-default.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 418129bc63afc312701e84cb8afa5ca413df1ab5 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Fri, 17 Apr 2015 16:54:58 +0200
-Subject: ARFLAGS: use 'cr' instead of 'cru' by default
-
-In some GNU/Linux distributions people started to compile 'ar'
-binary with --enable-deterministic-archives (binutils project).
-That, however, in combination with our previous long time working
-default AR_FLAGS=cru causes warnings on such installations:
-ar: `u' modifier ignored since `D' is the default (see `U')
-
-The 'u' option (at least with GNU binutils) did small optimization
-during repeated builds because it instructed 'ar' to not
-open/close unchanged *.o files and to rather read their contents
-from old archive file.  However, its removal should not cause a
-big performance hit for usual workflows.
-
-Distributions started using --enable-deterministic-archives
-knowing that it would disable the 'u', just to rather have a bit
-more deterministic builds.
-
-Also, to justify this change a bit more, keeping 'u' in ARFLAGS
-could only result in many per-project changes to override
-Libtool's ARFLAGS default, just to silent such warnings.
-
-Fixes bug#19967.  Reported by Eric Blake.
-
-* m4/libtool.m4 (_LT_PROG_AR): Default AR_FLAGS to 'cr'.
-(_LT_REQUIRED_DARWIN_CHECKS): Use $AR_FLAGS instead 'cru' string.
-* doc/libtool.texi: Do 's/ar cru/ar cr/' in whole documentation.
-* NEWS: Document.
-
-Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=418129bc63afc312701e84cb8afa5ca413df1ab5]
-
-Signed-off-by: Li Wang <li.wang@windriver.com>
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- NEWS             |  4 ++++
- doc/libtool.texi | 10 +++++-----
- m4/libtool.m4    |  6 +++---
- 3 files changed, 12 insertions(+), 8 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 71a932d..1518f09 100644
---- a/NEWS
-+++ b/NEWS
-@@ -13,6 +13,10 @@ NEWS - list of user-visible changes between releases of GNU Libtool
-     variable, which obsoletes AR_FLAGS.  This is due to naming conventions
-     among other *FLAGS and to be consistent with Automake's ARFLAGS.
- 
-+** Important incompatible changes:
-+
-+  - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.
-+
- ** Bug fixes:
- 
-   - Fix a race condition in ltdl dryrun test that would cause spurious
-diff --git a/doc/libtool.texi b/doc/libtool.texi
-index 0298627..4c664bb 100644
---- a/doc/libtool.texi
-+++ b/doc/libtool.texi
-@@ -602,7 +602,7 @@ Without libtool, the programmer would invoke the @command{ar} command to
- create a static library:
- 
- @example
--burger$ @kbd{ar cru libhello.a hello.o foo.o}
-+burger$ @kbd{ar cr libhello.a hello.o foo.o}
- burger$
- @end example
- 
-@@ -632,7 +632,7 @@ libtool are the same ones you would use to produce an executable named
- a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o}
- *** Warning: Linking the shared library libhello.la against the
- *** non-libtool objects foo.o hello.o is not portable!
--ar cru .libs/libhello.a
-+ar cr .libs/libhello.a
- ranlib .libs/libhello.a
- creating libhello.la
- (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la)
-@@ -662,7 +662,7 @@ archive, not a shared library (@pxref{Static libraries}).}:
- @example
- a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \
-                 -rpath /usr/local/lib -lm}
--ar cru @value{objdir}/libhello.a foo.o hello.o
-+ar cr @value{objdir}/libhello.a foo.o hello.o
- ranlib @value{objdir}/libhello.a
- creating libhello.la
- (cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la)
-@@ -676,7 +676,7 @@ burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \
-                 -rpath /usr/local/lib -lm}
- rm -fr  @value{objdir}/libhello.a @value{objdir}/libhello.la
- ld -Bshareable -o @value{objdir}/libhello.so.0.0 @value{objdir}/foo.o @value{objdir}/hello.o -lm
--ar cru @value{objdir}/libhello.a foo.o hello.o
-+ar cr @value{objdir}/libhello.a foo.o hello.o
- ranlib @value{objdir}/libhello.a
- creating libhello.la
- (cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la)
-@@ -6001,7 +6001,7 @@ in cases where it is necessary.
- @subsection Archivers
- 
- On all known systems, building a static library can be accomplished by
--running @kbd{ar cru lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}},
-+running @kbd{ar cr lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}},
- where the @file{.a} file is the output library, and each @file{.o} file is an
- object file.
- 
-diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index 6514196..add06ee 100644
---- a/m4/libtool.m4
-+++ b/m4/libtool.m4
-@@ -1041,8 +1041,8 @@ int forced_loaded() { return 2;}
- _LT_EOF
-       echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
-       $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
--      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
--      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
-+      echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
-+      $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
-       echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
-       $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
-       cat > conftest.c << _LT_EOF
-@@ -1505,7 +1505,7 @@ _LT_DECL([], [AR], [1], [The archiver])
- # ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
- # variable obsoleted/removed.
- 
--test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cru}
-+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
- lt_ar_flags=$AR_FLAGS
- _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
- 
--- 
-2.23.0
-
diff --git a/poky/meta/recipes-devtools/libtool/libtool/libool.m4-add-ARFLAGS-variable.patch b/poky/meta/recipes-devtools/libtool/libtool/libool.m4-add-ARFLAGS-variable.patch
deleted file mode 100644
index bb11887..0000000
--- a/poky/meta/recipes-devtools/libtool/libtool/libool.m4-add-ARFLAGS-variable.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 4335de1dfb7d2ec728427e07a54136b94a2d40f6 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Fri, 17 Apr 2015 15:05:42 +0200
-Subject: libool.m4: add ARFLAGS variable
-
-Libtool has used $AR_FLAGS since 2000-05-29 commit
-8300de4c54e6f04f0d, Automake ARFLAGS since 2003-04-06 commit
-a71b3490639831ca.  Even though ARFLAGS is younger, it sounds like
-better name according GNU Coding Standards.
-
-Related to bug#20082.
-
-* m4/libtool.m4 (_LT_PROG_AR): Copy ARFLAGS value into AR_FLAGS
-variable if AR_FLAGS is not set.  Add new _LT_DECL'ed variable
-'lt_ar_flags' to keep the configure-time value of AR_FLAGS.  The
-new 'lt_ar_flags' is to be used as the default value for AR_FLAGS
-at libtool-runtime.
-* NEWS: Document.
-
-Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=4335de1dfb7d2ec728427e07a54136b94a2d40f6]
-
-Signed-off-by: Li Wang <li.wang@windriver.com>
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- NEWS          |  6 ++++++
- m4/libtool.m4 | 17 +++++++++++++++--
- 2 files changed, 21 insertions(+), 2 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index d7ca434..71a932d 100644
---- a/NEWS
-+++ b/NEWS
-@@ -7,6 +7,12 @@ NEWS - list of user-visible changes between releases of GNU Libtool
-   - LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time
-     and persists correctly in the generated libtool script.
- 
-+** New features:
-+
-+  - Libtool script now supports (configure-time and runtime) ARFLAGS
-+    variable, which obsoletes AR_FLAGS.  This is due to naming conventions
-+    among other *FLAGS and to be consistent with Automake's ARFLAGS.
-+
- ** Bug fixes:
- 
-   - Fix a race condition in ltdl dryrun test that would cause spurious
-diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index 63acd09..6514196 100644
---- a/m4/libtool.m4
-+++ b/m4/libtool.m4
-@@ -1497,9 +1497,22 @@ need_locks=$enable_libtool_lock
- m4_defun([_LT_PROG_AR],
- [AC_CHECK_TOOLS(AR, [ar], false)
- : ${AR=ar}
--: ${AR_FLAGS=cru}
- _LT_DECL([], [AR], [1], [The archiver])
--_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-+
-+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
-+# Automake.  If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
-+# higher priority because thats what people were doing historically (setting
-+# ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
-+# variable obsoleted/removed.
-+
-+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cru}
-+lt_ar_flags=$AR_FLAGS
-+_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
-+
-+# Make AR_FLAGS overridable by 'make ARFLAGS='.  Don't try to run-time override
-+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
-+_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
-+         [Flags to create an archive])
- 
- AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
-   [lt_cv_ar_at_file=no
--- 
-2.23.0
-
diff --git a/poky/meta/recipes-devtools/libtool/libtool/unwind-opt-parsing.patch b/poky/meta/recipes-devtools/libtool/libtool/unwind-opt-parsing.patch
deleted file mode 100644
index b633bc4..0000000
--- a/poky/meta/recipes-devtools/libtool/libtool/unwind-opt-parsing.patch
+++ /dev/null
@@ -1,179 +0,0 @@
-Cut and paste the pieces of build-aux/options-parser inline into the main
-ltmain.sh code. This removes a performance degradation caused by the 
-repeated calls to func_quote_for_eval, the mechanism funclib uses
-to construct the functions used for option parsing.
-
-Upstream-Status: Submitted [Being discussed on mailing list Feb 2015]
-
-diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index d5cf07a..0f54303 100644
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -342,11 +342,15 @@ _LT_EOF
- # libtool_options_prep [ARG]...
- # -----------------------------
- # Preparation for options parsed by libtool.
--libtool_options_prep ()
--{
-+#libtool_options_prep ()
-+#{
-     $debug_mode
- 
-     # Option defaults:
-+    opt_verbose=false
-+    opt_warning_types=
-+
-+    # Option defaults:
-     opt_config=false
-     opt_dlopen=
-     opt_dry_run=false
-@@ -382,19 +386,14 @@ libtool_options_prep ()
-       shift; set dummy --mode uninstall ${1+"$@"}; shift
-       ;;
-     esac
--
--    # Pass back the list of options.
--    func_quote_for_eval ${1+"$@"}
--    libtool_options_prep_result=$func_quote_for_eval_result
--}
--func_add_hook func_options_prep libtool_options_prep
-+#}
- 
- 
- # libtool_parse_options [ARG]...
- # ---------------------------------
- # Provide handling for libtool specific options.
--libtool_parse_options ()
--{
-+#libtool_parse_options ()
-+#{
-     $debug_cmd
- 
-     # Perform our own loop to consume as many options as possible in
-@@ -474,29 +473,90 @@ libtool_parse_options ()
-                         func_append preserve_args " $_G_opt"
-                         ;;
- 
--	# An option not handled by this hook function:
--        *)		set dummy "$_G_opt" ${1+"$@"};	shift; break  ;;
--      esac
--    done
-+        --debug|-x)   debug_cmd='set -x'
-+                      func_echo "enabling shell trace mode"
-+                      $debug_cmd
-+                      ;;
- 
-+        --no-warnings|--no-warning|--no-warn)
-+                      set dummy --warnings none ${1+"$@"}
-+                      shift
-+		      ;;
- 
--    # save modified positional parameters for caller
--    func_quote_for_eval ${1+"$@"}
--    libtool_parse_options_result=$func_quote_for_eval_result
--}
--func_add_hook func_parse_options libtool_parse_options
-+        --warnings|--warning|-W)
-+                      test $# = 0 && func_missing_arg $_G_opt && break
-+                      case " $warning_categories $1" in
-+                        *" $1 "*)
-+                          # trailing space prevents matching last $1 above
-+                          func_append_uniq opt_warning_types " $1"
-+                          ;;
-+                        *all)
-+                          opt_warning_types=$warning_categories
-+                          ;;
-+                        *none)
-+                          opt_warning_types=none
-+                          warning_func=:
-+                          ;;
-+                        *error)
-+                          opt_warning_types=$warning_categories
-+                          warning_func=func_fatal_error
-+                          ;;
-+                        *)
-+                          func_fatal_error \
-+                             "unsupported warning category: '$1'"
-+                          ;;
-+                      esac
-+                      shift
-+                      ;;
-+
-+        --verbose|-v) opt_verbose=: ;;
-+        --version)    func_version ;;
-+        -\?|-h)       func_usage ;;
-+        --help)       func_help ;;
-+
-+	# Separate optargs to long options (plugins may need this):
-+	--*=*)        func_split_equals "$_G_opt"
-+	              set dummy "$func_split_equals_lhs" \
-+                          "$func_split_equals_rhs" ${1+"$@"}
-+                      shift
-+                      ;;
-+
-+       # Separate optargs to short options:
-+        -W*)
-+                      func_split_short_opt "$_G_opt"
-+                      set dummy "$func_split_short_opt_name" \
-+                          "$func_split_short_opt_arg" ${1+"$@"}
-+                      shift
-+                      ;;
-+
-+        # Separate non-argument short options:
-+        -\?*|-h*|-v*|-x*)
-+                      func_split_short_opt "$_G_opt"
-+                      set dummy "$func_split_short_opt_name" \
-+                          "-$func_split_short_opt_arg" ${1+"$@"}
-+                      shift
-+                      ;;
-+
-+        --)           break ;;
-+        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
-+        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
-+      esac
-+    done
-+#}
- 
-+# Display all warnings if -W was not given.
-+test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
- 
- 
- # libtool_validate_options [ARG]...
- # ---------------------------------
- # Perform any sanity checks on option settings and/or unconsumed
- # arguments.
--libtool_validate_options ()
--{
-+#libtool_validate_options ()
-+#{
-     # save first non-option argument
-     if test 0 -lt $#; then
--      nonopt=$1
-+      nonopt=$_G_opt
-       shift
-     fi
- 
-@@ -537,20 +597,10 @@ libtool_validate_options ()
-       generic_help=$help
-       help="Try '$progname --help --mode=$opt_mode' for more information."
-     }
-+#}
- 
--    # Pass back the unparsed argument list
--    func_quote_for_eval ${1+"$@"}
--    libtool_validate_options_result=$func_quote_for_eval_result
--}
--func_add_hook func_validate_options libtool_validate_options
--
--
--# Process options as early as possible so that --help and --version
--# can return quickly.
--func_options ${1+"$@"}
--eval set dummy "$func_options_result"; shift
--
--
-+# Bail if the options were screwed!
-+$exit_cmd $EXIT_FAILURE
- 
- ## ----------- ##
- ##    Main.    ##
diff --git a/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb b/poky/meta/recipes-devtools/libtool/libtool_2.4.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb
rename to poky/meta/recipes-devtools/libtool/libtool_2.4.7.bb
diff --git a/poky/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb b/poky/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bb
similarity index 100%
rename from poky/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.6.bb
rename to poky/meta/recipes-devtools/libtool/nativesdk-libtool_2.4.7.bb
diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.19.inc b/poky/meta/recipes-devtools/m4/m4-1.4.19.inc
index 2785a3d..2adf4de 100644
--- a/poky/meta/recipes-devtools/m4/m4-1.4.19.inc
+++ b/poky/meta/recipes-devtools/m4/m4-1.4.19.inc
@@ -8,6 +8,7 @@
 
 SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
            file://ac_config_links.patch \
+           file://0001-sigsegv-Fix-build-on-ppc-musl.patch \
            "
 SRC_URI:append:class-target = " file://run-ptest \
                                 file://serial-tests-config.patch \
diff --git a/poky/meta/recipes-devtools/m4/m4/0001-sigsegv-Fix-build-on-ppc-musl.patch b/poky/meta/recipes-devtools/m4/m4/0001-sigsegv-Fix-build-on-ppc-musl.patch
new file mode 100644
index 0000000..04320de
--- /dev/null
+++ b/poky/meta/recipes-devtools/m4/m4/0001-sigsegv-Fix-build-on-ppc-musl.patch
@@ -0,0 +1,37 @@
+From 36d5e26f606e070553eb0fff1f738e61970be5d7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Mar 2022 20:22:20 -0800
+Subject: [PATCH] sigsegv: Fix build on ppc/musl
+
+mcontext is not a standard layout so glibc and musl differ sadly.
+
+Fixes
+../../m4-1.4.19/lib/sigsegv.c: In function 'sigsegv_handler':                                                                                                                               ../../m4-1.4.19/lib/sigsegv.c:223:75: error: 'mcontext_t' has no member named 'uc_regs'; did you mean 'gregs'?                                                                                223 | #    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1]                                                                                               |                                                                           ^~~~~~~
+
+Upstream-Status: Submitted [https://lists.gnu.org/archive/html/m4-patches/2022-03/msg00000.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/sigsegv.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lib/sigsegv.c b/lib/sigsegv.c
+index 696a152..fa0c465 100644
+--- a/lib/sigsegv.c
++++ b/lib/sigsegv.c
+@@ -217,10 +217,10 @@ int libsigsegv_version = LIBSIGSEGV_VERSION;
+ #   define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.gp_regs[1]
+ #  else /* 32-bit */
+ /* both should be equivalent */
+-#   if 0
+-#    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1]
++#   if ! defined __GLIBC__
++#      define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_regs->gregs[1]
+ #   else
+-#    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1]
++#      define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1]
+ #   endif
+ #  endif
+ 
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-devtools/meson/meson_0.61.2.bb b/poky/meta/recipes-devtools/meson/meson_0.61.3.bb
similarity index 96%
rename from poky/meta/recipes-devtools/meson/meson_0.61.2.bb
rename to poky/meta/recipes-devtools/meson/meson_0.61.3.bb
index a51db1e..92f99a9 100644
--- a/poky/meta/recipes-devtools/meson/meson_0.61.2.bb
+++ b/poky/meta/recipes-devtools/meson/meson_0.61.3.bb
@@ -16,14 +16,12 @@
            file://0002-Support-building-allarch-recipes-again.patch \
            file://0001-is_debianlike-always-return-False.patch \
            "
-SRC_URI[sha256sum] = "0233a7f8d959079318f6052b0939c27f68a5de86ba601f25c9ee6869fb5f5889"
+SRC_URI[sha256sum] = "9c884434469471f3fe0cbbceb9b9ea0c8047f19e792940e1df6595741aae251b"
 
 UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
 UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar"
 
-inherit setuptools_build_meta
-
-PIP_INSTALL_PACKAGE = "meson"
+inherit python_setuptools_build_meta
 
 RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources"
 
diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
index e4faa99..addefe9 100644
--- a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
+++ b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d"
 
 SRCBRANCH ?= "master"
-SRCREV = "4637a7c0df49ba349f9f0e4ab0828133fc06cc81"
+SRCREV = "4303889c8bd9a2357587eb6ebacecb70098a264d"
 
 PV = "0.1+git${SRCPV}"
 
diff --git a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
index 6185f4d..25ee2b7 100644
--- a/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
+++ b/poky/meta/recipes-devtools/mtools/mtools/disable-hardcoded-configs.patch
@@ -1,4 +1,4 @@
-From a5076415ed2c226ca7115d27e0ce51a8a0302090 Mon Sep 17 00:00:00 2001
+From 142f40b80ea908831ef7a4d694cec6a5985a0724 Mon Sep 17 00:00:00 2001
 From: Ed Bartosh <ed.bartosh@linux.intel.com>
 Date: Tue, 13 Jun 2017 14:55:52 +0300
 Subject: [PATCH] Disabled reading host configs.
diff --git a/poky/meta/recipes-devtools/mtools/mtools_4.0.37.bb b/poky/meta/recipes-devtools/mtools/mtools_4.0.38.bb
similarity index 93%
rename from poky/meta/recipes-devtools/mtools/mtools_4.0.37.bb
rename to poky/meta/recipes-devtools/mtools/mtools_4.0.38.bb
index 3e072b0..dc2b9f8 100644
--- a/poky/meta/recipes-devtools/mtools/mtools_4.0.37.bb
+++ b/poky/meta/recipes-devtools/mtools/mtools_4.0.38.bb
@@ -24,7 +24,7 @@
 	glibc-gconv-ibm866 \
 	glibc-gconv-ibm869 \
 	"
-SRC_URI[sha256sum] = "799b197e23e47b61259628810b27790efb7a1fe36037ef1da8a27b0ae4fa8342"
+SRC_URI[sha256sum] = "7b94485f486e7df08cca68b00a164a13cd38f4c63cb8684d188759ee7bc5e729"
 
 SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
            file://mtools-makeinfo.patch \
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch
deleted file mode 100644
index 744e4e0..0000000
--- a/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From d22f2bb5afcd278b68999f5ce0362328fc8c7723 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 3 Jun 2021 18:50:56 +0200
-Subject: [PATCH] cnf/configure_func_sel.sh: disable thread_safe_nl_langinfo_l
-
-Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/115]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- cnf/configure_func_sel.sh | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/cnf/configure_func_sel.sh b/cnf/configure_func_sel.sh
-index f48294f..90d350d 100644
---- a/cnf/configure_func_sel.sh
-+++ b/cnf/configure_func_sel.sh
-@@ -97,5 +97,9 @@ else
- 	result "irrelevant"
- fi
- 
--# Assume nl_langinfo_l is threadsafe if available
--define d_thread_safe_nl_langinfo_l "$d_nl_langinfo_l"
-+# thread_safe_nl_langinfo_l is not enabled by default
-+# by upstream, and causes t/Langinfo.t to fail when it is
-+# (starting from 5.34.0). This means the configuration is
-+# either not well tested, or not at all tested, so we should
-+# pick a safer option.
-+define d_thread_safe_nl_langinfo_l "undef"
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch
deleted file mode 100644
index 386ea3f..0000000
--- a/poky/meta/recipes-devtools/perl-cross/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 19c1987b455998d2959a5fdf3d1ed911d35e70f2 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 2 Jan 2019 17:55:35 +0100
-Subject: [PATCH] configure_path.sh: do not hardcode $prefix/lib as library
- path
-
-Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/123]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- cnf/configure_args.sh |  2 +-
- cnf/configure_path.sh | 11 ++++++-----
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/cnf/configure_args.sh b/cnf/configure_args.sh
-index 29ca4f5..3297fb3 100644
---- a/cnf/configure_args.sh
-+++ b/cnf/configure_args.sh
-@@ -155,7 +155,7 @@ while [ $i -le $# -o -n "$n" ]; do
- 		help) mode="help" ;;
- 		regen|regenerate) mode="regen" ;;
- 		keeplog) defuser "$a" 1 ;;
--		prefix|html[13]dir|libsdir)	defuser $a "$v" ;;
-+		prefix|html[13]dir|libsdir|libdir)	defuser $a "$v" ;;
- 		man[13]dir|otherlibsdir)	defuser $a "$v" ;;
- 		siteprefix|sitehtml[13]dir)	defuser $a "$v" ;;
- 		siteman[13]dir|vendorman[13]dir)defuser $a "$v" ;;
-diff --git a/cnf/configure_path.sh b/cnf/configure_path.sh
-index fe7eac7..bcba8b8 100644
---- a/cnf/configure_path.sh
-+++ b/cnf/configure_path.sh
-@@ -30,6 +30,7 @@ definst() {
- 	define "$1" "$installpath$v"
- }
- 
-+define libdir "$prefix/lib"
- define sharedir "$prefix/share"
- define html1dir "$sharedir/doc/$perlname/html"
- define html3dir "$sharedir/doc/$perlname/html"
-@@ -38,16 +39,16 @@ define man1ext "1"
- define man3dir "$sharedir/man/man3"
- define man3ext "3"
- define bin "$prefix/bin"
--define lib "$prefix/lib"
-+define lib "$libdir"
- define scriptdir "$prefix/bin"
- define libsdirs ' '
--defrel privlib "$prefix/lib/$package/$version"
--defrel archlib "$prefix/lib/$package/$version/$archname"
-+defrel privlib "$libdir/$package/$version"
-+defrel archlib "$libdir/$package/$version/$archname"
- define perlpath "$prefix/bin/$perlname"
- define d_archlib 'define'
- 
- define sitebin	"$prefix/bin"
--defrel sitelib_stem "$prefix/lib/$package/site_perl"
-+defrel sitelib_stem "$libdir/$package/site_perl"
- define sitelib "$sitelib_stem/$version"
- define sitearch "$sitelib_stem/$version/$archname"
- define siteprefix "$prefix"
-@@ -145,7 +146,7 @@ vendortest() {
- }
- 
- vendorpath vendorbin "$vendorprefix/bin"
--vendorpath vendorlib_stem "$vendorprefix/lib/$package/vendor_perl"
-+vendorpath vendorlib_stem "$libdir/$package/vendor_perl"
- vendorpath vendorlib "$vendorlib_stem/$version"
- vendorpath vendorarch "$vendorlib_stem/$version/$archname"
- vendorpath vendorscript "$vendorprefix/bin"
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch
deleted file mode 100644
index 1d90b0f..0000000
--- a/poky/meta/recipes-devtools/perl-cross/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a66811c487ecf8ba8724879c253bb10dfa82aeb5 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 1 Jun 2018 19:57:32 +0300
-Subject: [PATCH] configure_tool.sh: do not quote the argument to 'command'
-
-As it seems to break things if the argument has spaces and arguments in it.
-
-Upstream-Status: Backport [443f7bd08b19e71a2e838dcb6cde176998cd350f]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- cnf/configure_tool.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cnf/configure_tool.sh b/cnf/configure_tool.sh
-index 32201c0..461bc68 100644
---- a/cnf/configure_tool.sh
-+++ b/cnf/configure_tool.sh
-@@ -2,7 +2,7 @@
- 
- tryprog() {
- 	log "trying $1=$2"
--	if command -v "$2" 1>/dev/null 2>/dev/null; then
-+	if command -v $2 1>/dev/null 2>/dev/null; then
- 		define "$1" "$2"
- 		result "$2"
- 		return 0
--- 
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb b/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb
similarity index 77%
rename from poky/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
rename to poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb
index 75d5ea6..99a9ca1 100644
--- a/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.6.bb
+++ b/poky/meta/recipes-devtools/perl-cross/perlcross_1.3.7.bb
@@ -12,16 +12,13 @@
 
 SRC_URI = "https://github.com/arsv/perl-cross/releases/download/${PV}/perl-cross-${PV}.tar.gz;name=perl-cross \
            file://README.md \
-           file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \
            file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
-           file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \
            file://determinism.patch \
-           file://0001-cnf-configure_func_sel.sh-disable-thread_safe_nl_lan.patch \
            file://0001-Makefile-check-the-file-if-patched-or-not.patch \
            "
 UPSTREAM_CHECK_URI = "https://github.com/arsv/perl-cross/releases/"
 
-SRC_URI[perl-cross.sha256sum] = "4010f41870d64e3957b4b8ce70ebba10a7c4a3e86c5551acb4099c3fcbb37ce5"
+SRC_URI[perl-cross.sha256sum] = "77f13ca84a63025053852331b72d4046c1f90ded98bd45ccedea738621907335"
 
 S = "${WORKDIR}/perl-cross-${PV}"
 
diff --git a/poky/meta/recipes-devtools/perl/files/0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch b/poky/meta/recipes-devtools/perl/files/0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch
new file mode 100644
index 0000000..63815d4
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl/files/0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch
@@ -0,0 +1,36 @@
+From a73fff1fcf0def4ce93964f1b63fe3ad0967259d Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Fri, 18 Feb 2022 09:44:26 +0000
+Subject: [PATCH] cpan/Sys-Syslog/Makefile.PL: Fix _PATH_LOG for deterministic
+
+It checks host's path such as /dev/log and uses it, this doesn't make sense for
+cross build, and it causes undeterministic, for example, the contianer os
+usually doesn't have /dev/log which leads to a different build result since
+other host usually has /dev/log, so make it always use the default value to fix
+the issue.
+
+Submitted a ticket to upstream: https://rt.cpan.org/Ticket/Display.html?id=141612
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ cpan/Sys-Syslog/Makefile.PL | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/cpan/Sys-Syslog/Makefile.PL b/cpan/Sys-Syslog/Makefile.PL
+index d09ba69..d44e58c 100644
+--- a/cpan/Sys-Syslog/Makefile.PL
++++ b/cpan/Sys-Syslog/Makefile.PL
+@@ -130,6 +130,8 @@ else {
+     $_PATH_LOG = "";
+ }
+ 
++# OE specific
++$_PATH_LOG = "";
+ 
+ # if possible, generate the code that handles the constants with 
+ # ExtUtils::Constant, otherwise use cached copy in fallback/
+-- 
+2.31.1
+
diff --git a/poky/meta/recipes-devtools/perl/files/5bc1e5fdd87aa205011512cd1e6cc655bcf677fd.patch b/poky/meta/recipes-devtools/perl/files/5bc1e5fdd87aa205011512cd1e6cc655bcf677fd.patch
deleted file mode 100644
index 1cb65d9..0000000
--- a/poky/meta/recipes-devtools/perl/files/5bc1e5fdd87aa205011512cd1e6cc655bcf677fd.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5bc1e5fdd87aa205011512cd1e6cc655bcf677fd Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org>
-Date: Wed, 23 Jun 2021 15:31:42 +0300
-Subject: [PATCH] Fix definition of ITEM_NOT_FOUND for pre-1.13 versions.
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- ext/GDBM_File/GDBM_File.xs | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/ext/GDBM_File/GDBM_File.xs b/ext/GDBM_File/GDBM_File.xs
-index 494c2889ca89..0125b5dcac4d 100644
---- a/ext/GDBM_File/GDBM_File.xs
-+++ b/ext/GDBM_File/GDBM_File.xs
-@@ -145,10 +145,11 @@ output_datum(pTHX_ SV *arg, char *str, int size)
- #define gdbm_setopt(db,optflag,optval,optlen) not_here("gdbm_setopt")
- #endif
- 
--#if GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR < 13        
--/* Prior to 1.13, gdbm_fetch family functions set gdbm_errno to GDBM_NO_ERROR
--   if the requested key did not exist */
--# define ITEM_NOT_FOUND()  (gdbm_errno == GDBM_NO_ERROR)
-+#if GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR < 13
-+/* Prior to 1.13, only gdbm_fetch set GDBM_ITEM_NOT_FOUND if the requested
-+   key did not exist.  Other similar function wouls set GDBM_NO_ERROR instead.
-+   The GDBM_ITEM_NOT_FOUND existeds as early as in 1.7.3 */
-+# define ITEM_NOT_FOUND()  (gdbm_errno == GDBM_NO_ERROR || gdbm_errno == GDBM_ITEM_NOT_FOUND)
- #else
- # define ITEM_NOT_FOUND()  (gdbm_errno == GDBM_ITEM_NOT_FOUND)
- #endif
diff --git a/poky/meta/recipes-devtools/perl/files/CVE-2021-36770.patch b/poky/meta/recipes-devtools/perl/files/CVE-2021-36770.patch
deleted file mode 100644
index 1ef548b..0000000
--- a/poky/meta/recipes-devtools/perl/files/CVE-2021-36770.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Backport patch to fix CVE-2021-36770. And drop the section of code which
-updates version.
-
-Upstream-Status: Backport [https://github.com/Perl/perl5/commit/c1a937f]
-CVE: CVE-2021-36770
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From c1a937fef07c061600a0078f4cb53fe9c2136bb9 Mon Sep 17 00:00:00 2001
-From: Ricardo Signes <rjbs@semiotic.systems>
-Date: Mon, 9 Aug 2021 08:14:05 -0400
-Subject: [PATCH] Encode.pm: apply a local patch for CVE-2021-36770
-
-I expect Encode to see a new release today.
-
-Without this fix, Encode::ConfigLocal can be loaded from a path relative
-to the current directory, because the || operator will evaluate @INC in
-scalar context, putting an integer as the only value in @INC.
----
- cpan/Encode/Encode.pm | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/cpan/Encode/Encode.pm b/cpan/Encode/Encode.pm
-index a56a99947f..b96a850416 100644
---- a/cpan/Encode/Encode.pm
-+++ b/cpan/Encode/Encode.pm
-@@ -65,8 +66,8 @@ require Encode::Config;
- eval {
-     local $SIG{__DIE__};
-     local $SIG{__WARN__};
--    local @INC = @INC || ();
--    pop @INC if $INC[-1] eq '.';
-+    local @INC = @INC;
-+    pop @INC if @INC && $INC[-1] eq '.';
-     require Encode::ConfigLocal;
- };
- 
--- 
-2.33.0
-
diff --git a/poky/meta/recipes-devtools/perl/files/aacd2398e766500cb5d83c4d76b642fcf31d997a.patch b/poky/meta/recipes-devtools/perl/files/aacd2398e766500cb5d83c4d76b642fcf31d997a.patch
deleted file mode 100644
index 628903f..0000000
--- a/poky/meta/recipes-devtools/perl/files/aacd2398e766500cb5d83c4d76b642fcf31d997a.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From aacd2398e766500cb5d83c4d76b642fcf31d997a Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org>
-Date: Wed, 23 Jun 2021 10:26:50 +0300
-Subject: [PATCH] Fix GDBM_File to compile with version 1.20 and earlier
-
-* ext/GDBM_File/GDBM_File.xs (ITEM_NOT_FOUND): Define conditionally,
-depending on the GDBM_VERSION_MAJOR and GDBM_VERSION_MINOR.
-Don't assume GDBM_ITEM_NOT_FOUND is a define (it isn't since
-gdbm commit d3e27957).
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- ext/GDBM_File/GDBM_File.xs | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/ext/GDBM_File/GDBM_File.xs b/ext/GDBM_File/GDBM_File.xs
-index cd0bb6f26ffa..494c2889ca89 100644
---- a/ext/GDBM_File/GDBM_File.xs
-+++ b/ext/GDBM_File/GDBM_File.xs
-@@ -145,14 +145,13 @@ output_datum(pTHX_ SV *arg, char *str, int size)
- #define gdbm_setopt(db,optflag,optval,optlen) not_here("gdbm_setopt")
- #endif
- 
--#ifndef GDBM_ITEM_NOT_FOUND
--# define GDBM_ITEM_NOT_FOUND GDBM_NO_ERROR
--#endif
--
-+#if GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR < 13        
- /* Prior to 1.13, gdbm_fetch family functions set gdbm_errno to GDBM_NO_ERROR
-    if the requested key did not exist */
--#define ITEM_NOT_FOUND()                                                \
--    (gdbm_errno == GDBM_ITEM_NOT_FOUND || gdbm_errno == GDBM_NO_ERROR)
-+# define ITEM_NOT_FOUND()  (gdbm_errno == GDBM_NO_ERROR)
-+#else
-+# define ITEM_NOT_FOUND()  (gdbm_errno == GDBM_ITEM_NOT_FOUND)
-+#endif
- 
- #define CHECKDB(db) do {                        \
-     if (!db->dbp) {                             \
diff --git a/poky/meta/recipes-devtools/perl/files/ea57297a58b8f10ab885c19eec48ea076116cc1f.patch b/poky/meta/recipes-devtools/perl/files/ea57297a58b8f10ab885c19eec48ea076116cc1f.patch
deleted file mode 100644
index 3864f1a..0000000
--- a/poky/meta/recipes-devtools/perl/files/ea57297a58b8f10ab885c19eec48ea076116cc1f.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From ea57297a58b8f10ab885c19eec48ea076116cc1f Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org>
-Date: Wed, 23 Jun 2021 14:24:47 +0300
-Subject: [PATCH] Raise version number in ext/GDBM_File/GDBM_File.pm
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- ext/GDBM_File/GDBM_File.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ext/GDBM_File/GDBM_File.pm b/ext/GDBM_File/GDBM_File.pm
-index d837536f804c..cb08d091b829 100644
---- a/ext/GDBM_File/GDBM_File.pm
-+++ b/ext/GDBM_File/GDBM_File.pm
-@@ -363,7 +363,7 @@ require XSLoader;
- );
- 
- # This module isn't dual life, so no need for dev version numbers.
--$VERSION = '1.19';
-+$VERSION = '1.20';
- 
- XSLoader::load();
- 
diff --git a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
index 80ce4a6..15189a0 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
+++ b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
@@ -1,4 +1,4 @@
-From 5120acaa2be5787d9657f6b91bc8ee3c2d664fbe Mon Sep 17 00:00:00 2001
+From 1f7cc5db2ca549c37c6a7923368e1a0104f31b99 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Sun, 27 May 2007 21:04:11 +0000
 Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE)
@@ -20,7 +20,7 @@
  1 file changed, 16 insertions(+), 2 deletions(-)
 
 diff --git a/configpm b/configpm
-index c8de8bf..204613c 100755
+index 94a4778..99b20c9 100755
 --- a/configpm
 +++ b/configpm
 @@ -687,7 +687,7 @@ sub FETCH {
diff --git a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
index 3415f32..74c24c3 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
+++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt
@@ -1,7 +1,11 @@
 
 # Some additional dependencies that the above doesn't manage to figure out
 RDEPENDS:perl-module-file-spec += "perl-module-file-spec-unix"
+RDEPENDS:perl-module-scalar-util += "perl-module-list-util"
+RDEPENDS:perl-module-file-temp += "perl-module-scalar-util"
+RDEPENDS:perl-module-file-temp += "perl-module-file-spec"
 RDEPENDS:perl-module-io-file += "perl-module-symbol"
+RDEPENDS:perl-module-io-file += "perl-module-carp"
 RDEPENDS:perl-module-math-bigint += "perl-module-math-bigint-calc"
 RDEPENDS:perl-module-test-builder += "perl-module-list-util"
 RDEPENDS:perl-module-test-builder += "perl-module-scalar-util"
diff --git a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb b/poky/meta/recipes-devtools/perl/perl_5.34.1.bb
similarity index 96%
rename from poky/meta/recipes-devtools/perl/perl_5.34.0.bb
rename to poky/meta/recipes-devtools/perl/perl_5.34.1.bb
index a97da87..0e9d0c0 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.34.0.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.34.1.bb
@@ -16,10 +16,7 @@
            file://perl-dynloader.patch \
            file://0002-Constant-Fix-up-shebang.patch \
            file://determinism.patch \
-           file://CVE-2021-36770.patch \
-           file://aacd2398e766500cb5d83c4d76b642fcf31d997a.patch \
-           file://ea57297a58b8f10ab885c19eec48ea076116cc1f.patch \
-           file://5bc1e5fdd87aa205011512cd1e6cc655bcf677fd.patch \
+           file://0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch \
            "
 SRC_URI:append:class-native = " \
            file://perl-configpm-switch.patch \
@@ -28,7 +25,7 @@
            file://encodefix.patch \
 "
 
-SRC_URI[perl.sha256sum] = "551efc818b968b05216024fb0b727ef2ad4c100f8cb6b43fab615fa78ae5be9a"
+SRC_URI[perl.sha256sum] = "357951a491b0ba1ce3611263922feec78ccd581dddc24a446b033e25acf242a1"
 
 S = "${WORKDIR}/perl-${PV}"
 
@@ -56,6 +53,7 @@
     -Dusethreads \
     -Dsoname=libperl.so.5 \
     -Dvendorprefix=${prefix} \
+    -Dvendorlibdir=${libdir} \
     -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \
     -Dlibpth='${libdir} ${base_libdir}' \
     -Dglibpth='${libdir} ${base_libdir}' \
@@ -219,7 +217,7 @@
 
 ALTERNATIVE:${PN}-misc = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \
                      piconv pl2pm pod2html pod2man pod2text pod2usage podchecker \
-                     prove ptar ptardiff ptargrep shasum splain xsubpp zipdetails"
+                     prove ptar ptardiff ptargrep shasum splain streamzip xsubpp zipdetails"
 ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist"
 ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan"
 ALTERNATIVE_LINK_NAME[enc2xs] = "${bindir}/enc2xs"
@@ -242,6 +240,7 @@
 ALTERNATIVE_LINK_NAME[ptargrep] = "${bindir}/ptargrep"
 ALTERNATIVE_LINK_NAME[shasum] = "${bindir}/shasum"
 ALTERNATIVE_LINK_NAME[splain] = "${bindir}/splain"
+ALTERNATIVE_LINK_NAME[streamzip] = "${bindir}/streamzip"
 ALTERNATIVE_LINK_NAME[xsubpp] = "${bindir}/xsubpp"
 ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails"
 
@@ -356,7 +355,11 @@
 
 # Some additional dependencies that the above doesn't manage to figure out
 RDEPENDS:${PN}-module-file-spec += "${PN}-module-file-spec-unix"
+RDEPENDS:${PN}-module-scalar-util += "${PN}-module-list-util"
+RDEPENDS:${PN}-module-file-temp += "${PN}-module-scalar-util"
+RDEPENDS:${PN}-module-file-temp += "${PN}-module-file-spec"
 RDEPENDS:${PN}-module-io-file += "${PN}-module-symbol"
+RDEPENDS:${PN}-module-io-file += "${PN}-module-carp"
 RDEPENDS:${PN}-module-math-bigint += "${PN}-module-math-bigint-calc"
 RDEPENDS:${PN}-module-test-builder += "${PN}-module-list-util"
 RDEPENDS:${PN}-module-test-builder += "${PN}-module-scalar-util"
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index f9e3b46..d20136a 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -13,7 +13,7 @@
     file://older-glibc-symbols.patch"
 SRC_URI[prebuilt.sha256sum] = "ed9f456856e9d86359f169f46a70ad7be4190d6040282b84c8d97b99072485aa"
 
-SRCREV = "d34f2f6cedccf8488730001bcbde6bb7499f8814"
+SRCREV = "df1d1321fb093283485c387e3c933d2d264e509c"
 S = "${WORKDIR}/git"
 PV = "1.9.0+git${SRCPV}"
 
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index aeff3e7..5050dfd 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -9,7 +9,7 @@
 PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[sha256sum] = "c6a442504db906dfc13a480e96850cced994ecdc076bcf492c43515b78f70da2"
+SRC_URI[sha256sum] = "d6fac2342802c30e51426828fe084ff4deb1b3387367cf98976bb2e64b6f8e45"
 UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python-pyasn1.inc b/poky/meta/recipes-devtools/python/python-pyasn1.inc
new file mode 100644
index 0000000..6cbed0f
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python-pyasn1.inc
@@ -0,0 +1,31 @@
+SUMMARY = "Python library implementing ASN.1 types."
+HOMEPAGE = "http://pyasn1.sourceforge.net/"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=a14482d15c2249de3b6f0e8a47e021fd"
+
+SRC_URI[md5sum] = "dffae4ff9f997a83324b3f33fe62be54"
+SRC_URI[sha256sum] = "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba"
+
+RDEPENDS:${PN}:class-target += " \
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-math \
+    ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit ptest
+
+SRC_URI += " \
+	file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+	${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+	install -d ${D}${PTEST_PATH}/tests
+	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
diff --git a/poky/meta/recipes-devtools/python/python3-alabaster_0.7.12.bb b/poky/meta/recipes-devtools/python/python3-alabaster_0.7.12.bb
new file mode 100644
index 0000000..3381ce9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-alabaster_0.7.12.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Alabaster is a visually (c)lean, responsive, configurable theme for the Sphinx documentation system. It is Python 2+3 compatible."
+HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=da053683d66d543813a727e8a30c96ca"
+
+SRC_URI[sha256sum] = "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
+
+inherit setuptools3 pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb b/poky/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb
new file mode 100644
index 0000000..5fa2ed9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "A fast, pure Python library for parsing and serializing ASN.1 structures"
+HOMEPAGE = "https://github.com/wbond/asn1crypto"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b5cda97fbd7959ad47a952651a87051a"
+
+PYPI_PACKAGE = "asn1crypto"
+
+SRC_URI[sha256sum] = "13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN}:class-target += " \
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-crypt \
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-attrs_21.4.0.bb b/poky/meta/recipes-devtools/python/python3-attrs_21.4.0.bb
index 20e4541..1839ce6 100644
--- a/poky/meta/recipes-devtools/python/python3-attrs_21.4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-attrs_21.4.0.bb
@@ -5,7 +5,7 @@
 
 SRC_URI[sha256sum] = "626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"
 
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
 
 RDEPENDS:${PN}:class-target += " \
     ${PYTHON_PN}-crypt \
diff --git a/poky/meta/recipes-devtools/python/python3-babel_2.9.1.bb b/poky/meta/recipes-devtools/python/python3-babel_2.9.1.bb
new file mode 100644
index 0000000..11c8d60
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-babel_2.9.1.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "A collection of tools for internationalizing Python applications"
+HOMEPAGE = "http://babel.edgewall.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=05fb707293a85504aa67afc8ea34d747"
+
+SRC_URI[sha256sum] = "bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0"
+
+PYPI_PACKAGE = "Babel"
+
+inherit pypi setuptools3
+
+CLEANBROKEN = "1"
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-codecs \
+    ${PYTHON_PN}-difflib \
+    ${PYTHON_PN}-distutils \
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-pytz \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest b/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-bcrypt/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-bcrypt_3.2.0.bb b/poky/meta/recipes-devtools/python/python3-bcrypt_3.2.0.bb
new file mode 100644
index 0000000..6a4d1ae
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-bcrypt_3.2.0.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Modern password hashing for your software and your servers."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8f7bb094c7232b058c7e9f2e431f389c"
+HOMEPAGE = "https://pypi.org/project/bcrypt/"
+
+DEPENDS += "${PYTHON_PN}-cffi-native"
+
+SRC_URI[md5sum] = "fe31390dab603728f756cd3d6830c80a"
+SRC_URI[sha256sum] = "5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29"
+
+inherit pypi python_setuptools_build_meta ptest
+
+SRC_URI += " \
+	file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+	${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+	install -d ${D}${PTEST_PATH}/tests
+	cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+}
+
+RDEPENDS:${PN}:class-target += "\
+    ${PYTHON_PN}-cffi \
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-six \
+"
diff --git a/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb b/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb
new file mode 100644
index 0000000..4c376da
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-certifi_2021.10.8.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Python package for providing Mozilla's CA Bundle."
+DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \
+Python code. This is useful for verifying HTTP requests, for example.  This is the same CA Bundle \
+which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set."
+HOMEPAGE = " http://certifi.io/"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=67da0714c3f9471067b729eca6c9fbe8"
+
+SRC_URI[sha256sum] = "78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-cffi_1.15.0.bb b/poky/meta/recipes-devtools/python/python3-cffi_1.15.0.bb
new file mode 100644
index 0000000..c36f23b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cffi_1.15.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Foreign Function Interface for Python calling C code"
+HOMEPAGE = "http://cffi.readthedocs.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5677e2fdbf7cdda61d6dd2b57df547bf"
+DEPENDS += "libffi ${PYTHON_PN}-pycparser"
+
+SRC_URI[sha256sum] = "920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN}:class-target = " \
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-pycparser \
+    ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-chardet_4.0.0.bb b/poky/meta/recipes-devtools/python/python3-chardet_4.0.0.bb
new file mode 100644
index 0000000..f53bdc9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-chardet_4.0.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Universal encoding detector for Python 2 and 3"
+HOMEPAGE = "https://pypi.org/project/chardet/"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI[sha256sum] = "0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"
+
+# setup.py of chardet needs this.
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
+inherit pypi setuptools3
+
+PACKAGES =+ "${PN}-cli"
+FILES:${PN}-cli += " \
+    ${PYTHON_SITEPACKAGES_DIR}/chardet/cli \
+"
+
+RDEPENDS:${PN}-cli = "${PN} "
+
+RDEPENDS:${PN}:class-target += " \
+    ${PYTHON_PN}-logging \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography-vectors_36.0.2.bb b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_36.0.2.bb
new file mode 100644
index 0000000..be0eda0
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cryptography-vectors_36.0.2.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Test vectors for the cryptography package."
+HOMEPAGE = "https://cryptography.io/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0 | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \
+                    file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \
+                    file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b"
+
+# NOTE: Make sure to keep this recipe at the same version as python3-cryptography
+#       Upgrade both recipes at the same time
+
+SRC_URI[sha256sum] = "2a7924449a03025faf7f8754a6f4200001cab210734a6ce6ac1f6bdacd3a68e4"
+
+PYPI_PACKAGE = "cryptography_vectors"
+
+inherit pypi setuptools3
+
+DEPENDS += " \
+    ${PYTHON_PN}-cryptography \
+"
+
+do_install:append () {
+	# Remove the sha256 checksum lines for pycache files
+	sed ${D}${PYTHON_SITEPACKAGES_DIR}/cryptography_vectors-${PV}.dist-info/RECORD -e '/__pycache__/d' -i
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = ""
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch b/poky/meta/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch
new file mode 100644
index 0000000..d7ab757
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch
@@ -0,0 +1,31 @@
+From ec8d3f3c61280c8140b34ed1479baef5e706f064 Mon Sep 17 00:00:00 2001
+From: Tim Orling <tim.orling@konsulko.com>
+Date: Fri, 14 Jan 2022 22:02:25 -0800
+Subject: [PATCH] Cargo.toml: specify pem version
+
+pem = "1.0" is not resolving, specify the current
+pem = { version: "1.0.2"}
+
+Upstream-Status: Pending
+
+Signed-off-by: Tim Orling <tim.orling@konsulko.com>
+---
+ src/rust/Cargo.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml
+index 617167d0..174eaa80 100644
+--- a/src/rust/Cargo.toml
++++ b/src/rust/Cargo.toml
+@@ -9,7 +9,7 @@ publish = false
+ lazy_static = "1"
+ pyo3 = { version = "0.15.1" }
+ asn1 = { version = "0.8.7", default-features = false, features = ["derive"] }
+-pem = "1.0"
++pem = { version = "1.0.2" }
+ chrono = { version = "0.4", default-features = false, features = ["alloc", "clock"] }
+ ouroboros = "0.13"
+ 
+-- 
+2.30.2
+
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch b/poky/meta/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch
new file mode 100644
index 0000000..366e3a4
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch
@@ -0,0 +1,28 @@
+From 4b73298b214a5b69ea6edf3c2e21dd82b2b29708 Mon Sep 17 00:00:00 2001
+From: Tim Orling <tim.orling@konsulko.com>
+Date: Fri, 14 Jan 2022 22:34:59 -0800
+Subject: [PATCH 2/2] Cargo.toml: edition 2018 -> 2021
+
+Upstream-Status: Pending
+
+Signed-off-by: Tim Orling <tim.orling@konsulko.com>
+---
+ src/rust/Cargo.toml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml
+index 174eaa80..7ad053d9 100644
+--- a/src/rust/Cargo.toml
++++ b/src/rust/Cargo.toml
+@@ -2,7 +2,7 @@
+ name = "cryptography-rust"
+ version = "0.1.0"
+ authors = ["The cryptography developers <cryptography-dev@python.org>"]
+-edition = "2018"
++edition = "2021"
+ publish = false
+ 
+ [dependencies]
+-- 
+2.30.2
+
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py b/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py
new file mode 100755
index 0000000..c111a90
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cryptography/check-memfree.py
@@ -0,0 +1,10 @@
+#!/usr/bin/env python3
+# https://stackoverflow.com/questions/22102999/get-total-physical-memory-in-python/28161352
+import sys
+meminfo = dict((i.split()[0].rstrip(':'),int(i.split()[1])) for i in open('/proc/meminfo').readlines())
+mem_free = meminfo['MemTotal']/1024./1024.
+if mem_free < 2.:
+    raise RuntimeError("Insufficient free memory({:.3f}): requires > 2 GB".format(mem_free))
+    sys.exit(1)
+else:
+    print("Free memory: {:.3f} GB".format(mem_free))
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest b/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest
new file mode 100644
index 0000000..3089df8
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cryptography/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+if ./check-memfree.py; then
+    pytest -vvvv tests/ -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
+fi
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography/skip-leaky-test.patch b/poky/meta/recipes-devtools/python/python3-cryptography/skip-leaky-test.patch
new file mode 100644
index 0000000..64248d5
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cryptography/skip-leaky-test.patch
@@ -0,0 +1,19 @@
+Mark as test as expected-failure, OpenSSL is leaking memory.
+
+xfail not skip so we can remove this when OpenSSL doesn't leak anymore.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/tests/hazmat/backends/test_openssl_memleak.py b/tests/hazmat/backends/test_openssl_memleak.py
+index 835c9256..639f6ba2 100644
+--- a/tests/hazmat/backends/test_openssl_memleak.py
++++ b/tests/hazmat/backends/test_openssl_memleak.py
+@@ -466,6 +466,7 @@ class TestOpenSSLMemoryLeaks:
+             )
+         )
+ 
++    @pytest.mark.xfail(reason="has memory leaks")
+     def test_create_certificate_with_extensions(self):
+         assert_no_memory_leaks(
+             textwrap.dedent(
diff --git a/poky/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb b/poky/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb
new file mode 100644
index 0000000..cb3acdf
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb
@@ -0,0 +1,123 @@
+SUMMARY = "Provides cryptographic recipes and primitives to python developers"
+HOMEPAGE = "https://cryptography.io/"
+SECTION = "devel/python"
+LICENSE = "( Apache-2.0 | BSD-3-Clause ) & PSF-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba \
+                    file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \
+                    file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b \
+                    file://LICENSE.PSF;md5=43c37d21e1dbad10cddcd150ba2c0595 \
+                   "
+LDSHARED += "-pthread"
+
+SRC_URI[sha256sum] = "70f8f4f7bb2ac9f340655cbac89d68c527af5bb4387522a8413e841e3e6628c9"
+
+SRC_URI += " \
+    file://run-ptest \
+    file://check-memfree.py \
+    file://0001-Cargo.toml-specify-pem-version.patch \
+    file://0002-Cargo.toml-edition-2018-2021.patch \
+    file://skip-leaky-test.patch \
+"
+
+inherit pypi python_setuptools3_rust
+
+DEPENDS += " \
+    ${PYTHON_PN}-asn1crypto-native \
+    ${PYTHON_PN}-cffi-native \
+    ${PYTHON_PN}-setuptools-rust-native \
+    ${PYTHON_PN}-six-native \
+"
+
+SRC_URI += " \
+    crate://crates.io/Inflector/0.11.4 \
+    crate://crates.io/aliasable/0.1.3 \
+    crate://crates.io/asn1/0.8.7 \
+    crate://crates.io/asn1_derive/0.8.7 \
+    crate://crates.io/autocfg/1.0.1 \
+    crate://crates.io/base64/0.13.0 \
+    crate://crates.io/bitflags/1.3.2 \
+    crate://crates.io/cfg-if/1.0.0 \
+    crate://crates.io/chrono/0.4.19 \
+    crate://crates.io/indoc-impl/0.3.6 \
+    crate://crates.io/indoc/0.3.6 \
+    crate://crates.io/instant/0.1.12 \
+    crate://crates.io/lazy_static/1.4.0 \
+    crate://crates.io/libc/0.2.120 \
+    crate://crates.io/lock_api/0.4.5 \
+    crate://crates.io/num-integer/0.1.44 \
+    crate://crates.io/num-traits/0.2.14 \
+    crate://crates.io/once_cell/1.9.0 \
+    crate://crates.io/ouroboros/0.13.0 \
+    crate://crates.io/ouroboros_macro/0.13.0 \
+    crate://crates.io/parking_lot/0.11.2 \
+    crate://crates.io/parking_lot_core/0.8.5 \
+    crate://crates.io/paste-impl/0.1.18 \
+    crate://crates.io/paste/0.1.18 \
+    crate://crates.io/pem/1.0.2 \
+    crate://crates.io/proc-macro-error-attr/1.0.4 \
+    crate://crates.io/proc-macro-error/1.0.4 \
+    crate://crates.io/proc-macro-hack/0.5.19 \
+    crate://crates.io/proc-macro2/1.0.36 \
+    crate://crates.io/pyo3-build-config/0.15.1 \
+    crate://crates.io/pyo3-macros-backend/0.15.1 \
+    crate://crates.io/pyo3-macros/0.15.1 \
+    crate://crates.io/pyo3/0.15.1 \
+    crate://crates.io/quote/1.0.14 \
+    crate://crates.io/redox_syscall/0.2.10 \
+    crate://crates.io/scopeguard/1.1.0 \
+    crate://crates.io/smallvec/1.7.0 \
+    crate://crates.io/stable_deref_trait/1.2.0 \
+    crate://crates.io/syn/1.0.85 \
+    crate://crates.io/unicode-xid/0.2.2 \
+    crate://crates.io/unindent/0.1.7 \
+    crate://crates.io/version_check/0.9.4 \
+    crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi/0.3.9 \
+"
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-asn1crypto \
+    ${PYTHON_PN}-cffi \
+    ${PYTHON_PN}-idna \
+    ${PYTHON_PN}-setuptools \
+    ${PYTHON_PN}-six \
+"
+
+RDEPENDS:${PN}:append:class-target = " \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-threading \
+"
+
+RDEPENDS:${PN}-ptest += " \
+    ${PYTHON_PN}-bcrypt \
+    ${PYTHON_PN}-cryptography-vectors (= ${PV}) \
+    ${PYTHON_PN}-hypothesis \
+    ${PYTHON_PN}-iso8601 \
+    ${PYTHON_PN}-pretend \
+    ${PYTHON_PN}-psutil \
+    ${PYTHON_PN}-pytest \
+    ${PYTHON_PN}-pytest-subtests \
+    ${PYTHON_PN}-pytz \
+    ${PYTHON_PN}-tomli \
+"
+
+inherit ptest
+
+do_install_ptest() {
+    install -D ${WORKDIR}/check-memfree.py ${D}${PTEST_PATH}/
+    install -d ${D}${PTEST_PATH}/tests
+    cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+    install -d ${D}${PTEST_PATH}/tests/hazmat
+    cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/
+    cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/
+}
+
+FILES:${PN}-ptest += " \
+    ${PTEST_PATH}/check-memfree.py \
+"
+FILES:${PN}-dbg += " \
+    ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/hazmat/bindings/.debug \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.27.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb
similarity index 100%
rename from poky/meta/recipes-devtools/python/python3-cython_0.29.27.bb
rename to poky/meta/recipes-devtools/python/python3-cython_0.29.28.bb
diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.25.0.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.27.3.bb
similarity index 77%
rename from poky/meta/recipes-devtools/python/python3-dbusmock_0.25.0.bb
rename to poky/meta/recipes-devtools/python/python3-dbusmock_0.27.3.bb
index 3a9cdda..5febdae 100644
--- a/poky/meta/recipes-devtools/python/python3-dbusmock_0.25.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-dbusmock_0.27.3.bb
@@ -4,10 +4,9 @@
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
 
-SRC_URI[sha256sum] = "6f4ce7650ecbb022684dc158df720e199635f3a3df75f7020f4fe8f6ff0394db"
+SRC_URI[sha256sum] = "24feaa524e0631854a7f0529ef757c1e4c542adef89cf04e1d4248bc512a006f"
 
 PYPI_PACKAGE = "python-dbusmock"
-PIP_INSTALL_PACKAGE = "python_dbusmock"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-docutils_0.18.1.bb b/poky/meta/recipes-devtools/python/python3-docutils_0.18.1.bb
index 4f60b05..e4ddd01 100644
--- a/poky/meta/recipes-devtools/python/python3-docutils_0.18.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-docutils_0.18.1.bb
@@ -8,4 +8,4 @@
 
 inherit pypi setuptools3
 
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-flit-core_3.6.0.bb b/poky/meta/recipes-devtools/python/python3-flit-core_3.6.0.bb
deleted file mode 100644
index a00ea18..0000000
--- a/poky/meta/recipes-devtools/python/python3-flit-core_3.6.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "This provides a PEP 517 build backend for packages using Flit."
-DESCRIPTION = "This provides a PEP 517 build backend for packages using \
-Flit. The only public interface is the API specified by PEP 517, at \
-flit_core.buildapi."
-HOMEPAGE = "https://github.com/pypa/flit"
-BUGTRACKER = "https://github.com/pypa/flit/issues"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=41eb78fa8a872983a882c694a8305f08"
-
-SRC_URI[sha256sum] = "b1464e006df4df4c8eeb37671c0e0ce66e1d04e4a36d91b702f180a25fde3c11"
-
-inherit pip_install_wheel python3native python3-dir pypi setuptools3-base
-
-DEPENDS:remove:class-native = " python3-pip-native"
-DEPENDS:append:class-native = " unzip-native"
-
-# We need the full flit tarball
-PYPI_PACKAGE = "flit"
-
-PIP_INSTALL_PACKAGE = "flit_core"
-PIP_INSTALL_DIST_PATH = "${S}/flit_core/dist"
-
-do_compile () {
-    nativepython3 flit_core/build_dists.py
-}
-
-do_install:class-native () {
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-    unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ./flit_core/dist/flit_core-${PV}-py3-none-any.whl
-}
-
-FILES:${PN} += "\
-    ${PYTHON_SITEPACKAGES_DIR}/flit_core/* \
-    ${PYTHON_SITEPACKAGES_DIR}/flit_core-${PV}.dist-info/* \
-"
-
-PACKAGES =+ "${PN}-tests"
-
-FILES:${PN}-tests += "\
-    ${PYTHON_SITEPACKAGES_DIR}/flit_core/tests/* \
-"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb b/poky/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
new file mode 100644
index 0000000..8d10738
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-flit-core_3.7.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "This provides a PEP 517 build backend for packages using Flit."
+DESCRIPTION = "This provides a PEP 517 build backend for packages using \
+Flit. The only public interface is the API specified by PEP 517, at \
+flit_core.buildapi."
+HOMEPAGE = "https://github.com/pypa/flit"
+BUGTRACKER = "https://github.com/pypa/flit/issues"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=41eb78fa8a872983a882c694a8305f08"
+
+SRC_URI[sha256sum] = "3c9bd9c140515bfe62dd938c6610d10d6efb9e35cc647fc614fe5fb3a5036682"
+
+inherit pypi python_flit_core
+
+# Need to install by hand as there's a dependency loop
+DEPENDS:remove:class-native = " python3-installer-native"
+DEPENDS:append:class-native = " unzip-native"
+
+# We need the full flit tarball
+PYPI_PACKAGE = "flit"
+PEP517_SOURCE_PATH = "${S}/flit_core"
+
+do_install:class-native () {
+    python_pep517_do_bootstrap_install
+}
+
+PACKAGES =+ "${PN}-tests"
+
+FILES:${PN}-tests += "\
+    ${PYTHON_SITEPACKAGES_DIR}/flit_core/tests/* \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.26.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.27.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-git_3.1.26.bb
rename to poky/meta/recipes-devtools/python/python3-git_3.1.27.bb
index 8f4b13c..fb1bae8 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.26.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.27.bb
@@ -10,9 +10,9 @@
 
 PYPI_PACKAGE = "GitPython"
 
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "fc8868f63a2e6d268fb25f481995ba185a85a66fcad126f039323ff6635669ee"
+SRC_URI[sha256sum] = "1c885ce809e8ba2d88a29befeb385fcea06338d3640712b59ca623c220bb5704"
 
 DEPENDS += " ${PYTHON_PN}-gitdb"
 
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.37.2.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.39.5.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.37.2.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.39.5.bb
index 4deed1e..03ec94c 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.37.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.39.5.bb
@@ -13,7 +13,7 @@
     file://test_rle.py \
     "
 
-SRC_URI[sha256sum] = "79321035b9174ffa506d724ca5e8af375d7bf532c80e4f602bd433792c527e6c"
+SRC_URI[sha256sum] = "2972edc54c90c70049facfc31db19f1997f9c5e89d2a05f6eeea1107600350f0"
 
 RDEPENDS:${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-imagesize_1.3.0.bb b/poky/meta/recipes-devtools/python/python3-imagesize_1.3.0.bb
new file mode 100644
index 0000000..7d8eb80
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-imagesize_1.3.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Parses image files’ header and return image size."
+HOMEPAGE = "https://github.com/shibukawa/imagesize_py"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0c128f0f7e8a02e1b83884c0b5a41cda"
+
+SRC_URI[sha256sum] = "cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d"
+
+inherit setuptools3 pypi
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN} = "python3-xml"
diff --git a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.10.1.bb b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb
similarity index 82%
rename from poky/meta/recipes-devtools/python/python3-importlib-metadata_4.10.1.bb
rename to poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb
index ff40def..d8e56cc 100644
--- a/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.10.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-importlib-metadata_4.11.3.bb
@@ -3,12 +3,12 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e"
 
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 PYPI_PACKAGE = "importlib_metadata"
 UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P<pver>(\d+[\.\-_]*)+)/"
 
-SRC_URI[sha256sum] = "951f0d8a5b7260e9db5e41d429285b5f451e928479f19d80818878527d36e95e"
+SRC_URI[sha256sum] = "ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"
 
 S = "${WORKDIR}/importlib_metadata-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb
index 5338980..4643437 100644
--- a/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-iniconfig_1.1.1.bb
@@ -9,4 +9,4 @@
 
 DEPENDS += "python3-setuptools-scm-native"
 
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
diff --git a/poky/meta/recipes-devtools/python/python3-installer/interpreter.patch b/poky/meta/recipes-devtools/python/python3-installer/interpreter.patch
new file mode 100644
index 0000000..ef10ef1
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-installer/interpreter.patch
@@ -0,0 +1,61 @@
+Let us override the hashbang directly (possibly upstreamable), and don't
+play games with hashbangs: for now assume that even hashbangs with spaces
+are simple (assume the spaces are only used to separate arguments) and
+we don't have long hashbangs.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/src/installer/__main__.py b/src/installer/__main__.py
+index 3357ec5..d2fd8d2 100644
+--- a/src/installer/__main__.py
++++ b/src/installer/__main__.py
+@@ -23,6 +23,13 @@ def _get_main_parser() -> argparse.ArgumentParser:
+         type=str,
+         help="destination directory (prefix to prepend to each file)",
+     )
++    parser.add_argument(
++        "--interpreter",
++        "-i",
++        type=str,
++        default=sys.executable,
++        help=f"interpreter (defaults to {sys.executable})",
++    )
+     parser.add_argument(
+         "--compile-bytecode",
+         action="append",
+@@ -73,7 +80,7 @@ def _main(cli_args: Sequence[str], program: Optional[str] = None) -> None:
+     with WheelFile.open(args.wheel) as source:
+         destination = SchemeDictionaryDestination(
+             scheme_dict=_get_scheme_dict(source.distribution),
+-            interpreter=sys.executable,
++            interpreter=args.interpreter,
+             script_kind=get_launcher_kind(),
+             bytecode_optimization_levels=bytecode_levels,
+             destdir=args.destdir,
+diff --git a/src/installer/scripts.py b/src/installer/scripts.py
+index 7e3c8fc..ba6ed5a 100644
+--- a/src/installer/scripts.py
++++ b/src/installer/scripts.py
+@@ -59,20 +59,7 @@ def _build_shebang(executable: str, forlauncher: bool) -> bytes:
+     https://bitbucket.org/pypa/distlib/src/58cd5c6/distlib/scripts.py#lines-124
+     """
+     executable_bytes = executable.encode("utf-8")
+-    if forlauncher:  # The launcher can just use the command as-is.
+-        return b"#!" + executable_bytes
+-    if _is_executable_simple(executable_bytes):
+-        return b"#!" + executable_bytes
+-
+-    # Shebang support for an executable with a space in it is under-specified
+-    # and platform-dependent, so we use a clever hack to generate a script to
+-    # run in ``/bin/sh`` that should work on all reasonably modern platforms.
+-    # Read the following message to understand how the hack works:
+-    # https://github.com/pradyunsg/installer/pull/4#issuecomment-623668717
+-
+-    quoted = shlex.quote(executable).encode("utf-8")
+-    # I don't understand a lick what this is trying to do.
+-    return b"#!/bin/sh\n'''exec' " + quoted + b' "$0" "$@"\n' + b"' '''"
++    return b"#!" + executable_bytes
+
+
+ class InvalidScript(ValueError):
diff --git a/poky/meta/recipes-devtools/python/python3-installer_0.5.1.bb b/poky/meta/recipes-devtools/python/python3-installer_0.5.1.bb
new file mode 100644
index 0000000..f4f9e1b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-installer_0.5.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Library and tool for installing Python wheels"
+DESCRIPTION = "A low-level library for installing a Python package from a wheel distribution."
+HOMEPAGE = "https://installer.readthedocs.io/"
+BUGTRACKER = "https://github.com/pypa/installer/issues"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5038641aec7a77451e31da828ebfae00"
+
+SRC_URI += "file://interpreter.patch"
+
+SRC_URI[sha256sum] = "f970995ec2bb815e2fdaf7977b26b2091e1e386f0f42eafd5ac811953dc5d445"
+
+inherit pypi python_flit_core
+
+DEPENDS:remove:class-native = "python3-installer-native"
+DEPENDS:append:class-native = " unzip-native"
+
+do_install:class-native () {
+    python_pep517_do_bootstrap_install
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-iso8601_1.0.2.bb b/poky/meta/recipes-devtools/python/python3-iso8601_1.0.2.bb
new file mode 100644
index 0000000..93af233
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-iso8601_1.0.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Simple module to parse ISO 8601 dates"
+HOMEPAGE = "http://pyiso8601.readthedocs.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b05625f2336fa024e8d57e65c6595844"
+
+SRC_URI[sha256sum] = "27f503220e6845d9db954fb212b95b0362d8b7e6c1b2326a87061c3de93594b1"
+
+inherit pypi python_poetry_core
+
+RDEPENDS:${PN} += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-numbers \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-jinja2_3.0.3.bb b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.1.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-jinja2_3.0.3.bb
rename to poky/meta/recipes-devtools/python/python3-jinja2_3.1.1.bb
index c416acb..0a2bcd7 100644
--- a/poky/meta/recipes-devtools/python/python3-jinja2_3.0.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-jinja2_3.1.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=5dc88300786f1c214c1e9827a5229462"
 
-SRC_URI[sha256sum] = "611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"
+SRC_URI[sha256sum] = "640bed4bb501cbd17194b3cace1dc2126f5b619cf068a726b98192a0fde74ae9"
 
 PYPI_PACKAGE = "Jinja2"
 
diff --git a/poky/meta/recipes-devtools/python/python3-jsonschema_3.2.0.bb b/poky/meta/recipes-devtools/python/python3-jsonschema_4.4.0.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-jsonschema_3.2.0.bb
rename to poky/meta/recipes-devtools/python/python3-jsonschema_4.4.0.bb
index c7efe33..10b39e7 100644
--- a/poky/meta/recipes-devtools/python/python3-jsonschema_3.2.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-jsonschema_4.4.0.bb
@@ -3,13 +3,13 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
                     file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af"
+
+SRC_URI[sha256sum] = "636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83"
+
+inherit pypi python_setuptools_build_meta
+
 DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native"
 
-SRC_URI[md5sum] = "f1a0b5011f05a02a8dee1070cd10a26d"
-SRC_URI[sha256sum] = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"
-
-inherit pypi setuptools3
-
 PACKAGECONFIG ??= "format"
 PACKAGECONFIG[format] = ",,,\
     ${PYTHON_PN}-idna \
diff --git a/poky/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb b/poky/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb
index 9983784..3c6bc1e 100644
--- a/poky/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-libarchive-c_4.0.bb
@@ -9,8 +9,6 @@
 
 inherit pypi setuptools3
 
-PIP_INSTALL_PACKAGE = "libarchive_c"
-
 SRC_URI[sha256sum] = "a5b41ade94ba58b198d778e68000f6b7de41da768de7140c984f71d7fa8416e5"
 
 RDEPENDS:${PN} += "\
diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb
index bd46b29..efc8b6d 100644
--- a/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb
+++ b/poky/meta/recipes-devtools/python/python3-magic_0.4.25.bb
@@ -8,7 +8,6 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3"
 
 PYPI_PACKAGE = "python-magic"
-PIP_INSTALL_PACKAGE = "python_magic"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.1.6.bb b/poky/meta/recipes-devtools/python/python3-mako_1.1.6.bb
index 23e13cf..71e5d96 100644
--- a/poky/meta/recipes-devtools/python/python3-mako_1.1.6.bb
+++ b/poky/meta/recipes-devtools/python/python3-mako_1.1.6.bb
@@ -6,7 +6,7 @@
 
 PYPI_PACKAGE = "Mako"
 
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
 
 SRC_URI[sha256sum] = "4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2"
 
diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.3.6.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.3.6.bb
index 7b64da6..5ce9fef 100644
--- a/poky/meta/recipes-devtools/python/python3-markdown_3.3.6.bb
+++ b/poky/meta/recipes-devtools/python/python3-markdown_3.3.6.bb
@@ -3,7 +3,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=745aaad0c69c60039e638bff9ffc59ed"
 
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 PYPI_PACKAGE = "Markdown"
 SRC_URI[sha256sum] = "76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006"
diff --git a/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.0.bb b/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.1.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-markupsafe_2.1.0.bb
rename to poky/meta/recipes-devtools/python/python3-markupsafe_2.1.1.bb
index 953ea01..0544dd1 100644
--- a/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-markupsafe_2.1.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
 
-SRC_URI[sha256sum] = "80beaf63ddfbc64a0452b841d8036ca0611e049650e20afcb882f5d3c266d65f"
+SRC_URI[sha256sum] = "7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"
 
 PYPI_PACKAGE = "MarkupSafe"
 inherit pypi setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb
index 5788af3..c1e34b2 100644
--- a/poky/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools_8.12.0.bb
@@ -7,8 +7,6 @@
 
 inherit pypi setuptools3 ptest
 
-PIP_INSTALL_PACKAGE = "more_itertools"
-
 SRC_URI += " \
 	file://run-ptest \
 "
diff --git a/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb b/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
new file mode 100644
index 0000000..6f3c096
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
+HOMEPAGE = "https://github.com/cedadev/ndg_httpsclient/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0"
+
+SRC_URI[md5sum] = "b0fc8ea38f87d2c1ab1ed79a95c078f9"
+SRC_URI[sha256sum] = "d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210"
+
+inherit pypi setuptools3 update-alternatives
+
+PYPI_PACKAGE = "ndg_httpsclient"
+
+DEPENDS += " \
+    ${PYTHON_PN}-pyopenssl \
+    ${PYTHON_PN}-pyasn1 \
+"
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-pyopenssl \
+    ${PYTHON_PN}-pyasn1 \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = ""
+
+ALTERNATIVE:${PN} = "ndg_httpclient"
+ALTERNATIVE_LINK_NAME[ndg_httpclient] = "${bindir}/ndg_httpclient"
+ALTERNATIVE_PRIORITY = "30"
diff --git a/poky/meta/recipes-devtools/python/python3-numpy_1.22.2.bb b/poky/meta/recipes-devtools/python/python3-numpy_1.22.3.bb
similarity index 95%
rename from poky/meta/recipes-devtools/python/python3-numpy_1.22.2.bb
rename to poky/meta/recipes-devtools/python/python3-numpy_1.22.3.bb
index 43e7427..b5b1c4e 100644
--- a/poky/meta/recipes-devtools/python/python3-numpy_1.22.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-numpy_1.22.3.bb
@@ -12,7 +12,7 @@
            file://0001-numpy-core-Define-RISCV-32-support.patch \
            file://run-ptest \
            "
-SRC_URI[sha256sum] = "093d513a460fd94f94c16193c3ef29b2d69a33e482071e3d6d6e561a700587a6"
+SRC_URI[sha256sum] = "a906c0b4301a3d62ccf66d058fe779a65c1c34f6719ef2058f96e1856f48bca5"
 
 UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
@@ -20,7 +20,6 @@
 DEPENDS += "python3-cython-native"
 
 inherit ptest setuptools3
-PIP_INSTALL_PACKAGE = "numpy"
 
 S = "${WORKDIR}/numpy-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-packaging_21.3.bb b/poky/meta/recipes-devtools/python/python3-packaging_21.3.bb
index c7d0cb7..e3b9a44 100644
--- a/poky/meta/recipes-devtools/python/python3-packaging_21.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-packaging_21.3.bb
@@ -5,9 +5,8 @@
 
 SRC_URI[sha256sum] = "dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"
 
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
 
 BBCLASSEXTEND = "native nativesdk"
 
-DEPENDS += "${PYTHON_PN}-setuptools-native"
 RDEPENDS:${PN} += "${PYTHON_PN}-pyparsing"
diff --git a/poky/meta/recipes-devtools/python/python3-pip_22.0.3.bb b/poky/meta/recipes-devtools/python/python3-pip_22.0.3.bb
index 7eb9fb6..ee3e578 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_22.0.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_22.0.3.bb
@@ -4,13 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=63ec52baf95163b597008bb46db68030"
 
-inherit pypi setuptools_build_meta
-
-DEPENDS += "python3 python3-setuptools-native"
-
-# To avoid a dependency loop; we bootstrap -native
-DEPENDS:remove:class-native = "python3-pip-native"
-DEPENDS:append:class-native = " unzip-native"
+inherit pypi python_setuptools_build_meta
 
 SRC_URI += "file://0001-change-shebang-to-python3.patch"
 SRC_URI += "file://no_shebang_mangling.patch"
@@ -18,37 +12,8 @@
 
 SRC_URI[sha256sum] = "f29d589df8c8ab99c060e68ad294c4a9ed896624f6368c5349d70aa581b333d0"
 
-PYPA_WHEEL ?= "${B}/dist/${PYPI_PACKAGE}-${PV}-*.whl"
-
-do_install:class-native() {
-    # Bootstrap to prevent dependency loop in python3-pip-native
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-    unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PYPA_WHEEL} || \
-    bbfatal_log "Failed to unzip wheel: ${PYPA_WHEEL}. Check the logs."
-
-    # pip install would normally generate [console_scripts] in ${bindir}
-    install -d ${D}/${bindir}
-    # We will skip the ${bindir}/pip variant as we would just remove it in the do_install:append
-    cat << EOF >> ${D}/${bindir}/pip3 | tee ${D}/${bindir}/pip${PYTHON_BASEVERSION}
-#!/bin/sh
-'''exec' ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} "\$0" "\$@"
-' '''
-# -*- coding: utf-8 -*-
-import re
-import sys
-from pip._internal.cli.main import main
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
-    sys.exit(main())
-EOF
-    chmod 0755 ${D}${bindir}/pip3 ${D}${bindir}/pip${PYTHON_BASEVERSION}
-}
-
 do_install:append() {
-    # Install as pip3 and leave pip2 as default
-    if [ -e ${D}/${bindir}/pip ]; then
-        rm ${D}/${bindir}/pip
-    fi
+    rm -f ${D}/${bindir}/pip
 }
 
 RDEPENDS:${PN} = "\
@@ -65,3 +30,7 @@
 "
 
 BBCLASSEXTEND = "native nativesdk"
+
+# This used to use the bootstrap install which didn't compile. Until we bump the
+# tmpdir version we can't compile the native otherwise the sysroot unpack fails
+INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode"
diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb
index 73bbcb0..3f2895a 100644
--- a/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pluggy_1.0.0.bb
@@ -10,7 +10,7 @@
                    ${PYTHON_PN}-more-itertools \
 "
 
-inherit pypi ptest setuptools_build_meta
+inherit pypi ptest python_setuptools_build_meta
 
 SRC_URI += " \
 	file://run-ptest \
diff --git a/poky/meta/recipes-devtools/python/python3-ply_3.11.bb b/poky/meta/recipes-devtools/python/python3-ply_3.11.bb
new file mode 100644
index 0000000..99c037b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-ply_3.11.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Python Lex and Yacc"
+DESCRIPTION = "Python ply: PLY is yet another implementation of lex and yacc for Python"
+HOMEPAGE = "https://pypi.python.org/pypi/ply"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://README.md;beginline=5;endline=32;md5=f5ee5c355c0e6719c787a71b8f0fa96c"
+
+SRC_URI[md5sum] = "6465f602e656455affcd7c5734c638f8"
+SRC_URI[sha256sum] = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN}:class-target += "\
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-poetry-core_1.0.8.bb b/poky/meta/recipes-devtools/python/python3-poetry-core_1.0.8.bb
new file mode 100644
index 0000000..f3e9b05
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-poetry-core_1.0.8.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Poetry PEP 517 Build Backend"
+DESCRIPTION = "Poetry PEP 517 Build Backend"
+HOMEPAGE = "https://github.com/python-poetry/poetry-core"
+BUGTRACKER = "https://github.com/python-poetry/poetry-core"
+CHANGELOG = "https://github.com/python-poetry/poetry-core/blob/master/CHANGELOG.md"
+
+LICENSE = "Apache-2.0 & BSD-2-Clause & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=104d5c3c653aeededf4076773aa4c236 \
+                    file://poetry/core/_vendor/attrs.LICENSE;md5=75bb9823a2778b5a2bd9b793fac93ea2 \
+                    file://poetry/core/_vendor/jsonschema/COPYING;md5=6554d3a51d7cb0b611891317f3c69057 \
+                    file://poetry/core/_vendor/jsonschema/LICENSE;md5=2ecb81765361195731a6f72a89e449fd \
+                    file://poetry/core/_vendor/lark-parser.LICENSE;md5=b37b83a9cf129d92ee65aaa71c01ce72 \
+                    file://poetry/core/_vendor/packaging/LICENSE;md5=7a6e56c9d54ecd731ab31c52de7942f0 \
+                    file://poetry/core/_vendor/packaging/LICENSE.APACHE;md5=29256199be2a609aac596980ffc11996 \
+                    file://poetry/core/_vendor/packaging/LICENSE.BSD;md5=f405810d173a1618433827928768bcd2 \
+                    file://poetry/core/_vendor/pyparsing.LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a \
+                    file://poetry/core/_vendor/pyrsistent/LICENSE.mit;md5=1211a1ac6eac40020d0f99c39b4e4270 \
+                    file://poetry/core/_vendor/six.LICENSE;md5=6a574656da93d9ef05431b45907e35b6 \
+                    file://poetry/core/_vendor/tomlkit/LICENSE;md5=be329e5ef9c9fe86738c9afe6ef3c11c \
+                    "
+
+SRC_URI[sha256sum] = "951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118"
+
+inherit python_poetry_core pypi
+
+RDEPENDS:${PN}:append:class-target = "\
+    python3-compression \
+    python3-core \
+    python3-crypt \
+    python3-io \
+    python3-json \
+    python3-logging \
+    python3-netclient \
+    python3-pathlib2 \
+    python3-pprint \
+    python3-shell \
+"
+
+RDEPENDS:${PN} += "\
+    python3-pip \
+    python3-six \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pretend_1.0.9.bb b/poky/meta/recipes-devtools/python/python3-pretend_1.0.9.bb
new file mode 100644
index 0000000..21d14a0
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pretend_1.0.9.bb
@@ -0,0 +1,11 @@
+SUMMARY = "A library for stubbing in Python"
+HOMEPAGE = "https://github.com/alex/pretend"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=411780c0b7fa756753e94affeee5bc99"
+
+SRC_URI[md5sum] = "ad53883ede48aeac7ae584f0de0240e8"
+SRC_URI[sha256sum] = "c90eb810cde8ebb06dafcb8796f9a95228ce796531bc806e794c2f4649aa1b10"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch b/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch
new file mode 100644
index 0000000..34ea03b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-psutil/0001-fix-failure-test-cases.patch
@@ -0,0 +1,197 @@
+From 8b4e38958ff8bdbb3ece4796bfa2d3b6f7536f71 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 23 Feb 2022 11:54:40 +0800
+Subject: [PATCH] fix failure test cases
+
+The test cases is not robust enough. skip some cases that is
+not suitable for all conditions.
+
+* test_io_counters failed when kernel config CONFIG_TASKSTATS
+  and CONFIG_TASK_IO_ACCOUNTING are not enable in OE 
+* test_setup_script failed since oe don't install setup.py
+* test_used failed since oe use git source for free, so the version
+  is 3.3.17-dirty
+* test_weird_environ failed since gcc not installed
+* test_debug failed since it is designed to run when PSUTIL_DEBUG is set
+* test_against_findmnt/test_comparisons/test_disk_partitions_mocked/
+  test_disk_partitions is not suitable for Linux nfs boot
+
+Upstream-Status: Pending
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ psutil/tests/test_contracts.py | 1 +
+ psutil/tests/test_linux.py     | 8 ++++++--
+ psutil/tests/test_misc.py      | 4 ++++
+ psutil/tests/test_process.py   | 5 +++++
+ psutil/tests/test_system.py    | 1 +
+ psutil/tests/test_unicode.py   | 4 +++-
+ 6 files changed, 20 insertions(+), 3 deletions(-)
+
+diff --git a/psutil/tests/test_contracts.py b/psutil/tests/test_contracts.py
+index 7401cc1..bf0fca0 100755
+--- a/psutil/tests/test_contracts.py
++++ b/psutil/tests/test_contracts.py
+@@ -172,6 +172,7 @@ class TestAvailProcessAPIs(PsutilTestCase):
+     def test_rlimit(self):
+         self.assertEqual(hasattr(psutil.Process, "rlimit"), LINUX or FREEBSD)
+ 
++    @unittest.skip("broken on OE since kernel config maye not be enabled")
+     def test_io_counters(self):
+         hasit = hasattr(psutil.Process, "io_counters")
+         self.assertEqual(hasit, False if MACOS or SUNOS else True)
+diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py
+index 20e28d2..66b6dda 100755
+--- a/psutil/tests/test_linux.py
++++ b/psutil/tests/test_linux.py
+@@ -196,8 +196,9 @@ def get_free_version_info():
+     out = sh(["free", "-V"]).strip()
+     if 'UNKNOWN' in out:
+         raise unittest.SkipTest("can't determine free version")
+-    return tuple(map(int, out.split()[-1].split('.')))
+-
++    vlist = out.split()[-1].split('.')
++    vlist[:] = [n.split('-')[0] for n in vlist]
++    return tuple(map(int, vlist))
+ 
+ @contextlib.contextmanager
+ def mock_open_content(for_path, content):
+@@ -1289,6 +1290,7 @@ class TestRootFsDeviceFinder(PsutilTestCase):
+         finder.ask_sys_class_block()
+ 
+     @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS")
++    @unittest.skip("Broken for oe")
+     def test_comparisons(self):
+         finder = RootFsDeviceFinder()
+         self.assertIsNotNone(finder.find())
+@@ -1311,11 +1313,13 @@ class TestRootFsDeviceFinder(PsutilTestCase):
+ 
+     @unittest.skipIf(not which("findmnt"), "findmnt utility not available")
+     @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS")
++    @unittest.skip("Broken for oe")
+     def test_against_findmnt(self):
+         psutil_value = RootFsDeviceFinder().find()
+         findmnt_value = sh("findmnt -o SOURCE -rn /")
+         self.assertEqual(psutil_value, findmnt_value)
+ 
++    @unittest.skip("Broken for oe")
+     def test_disk_partitions_mocked(self):
+         with mock.patch(
+                 'psutil._pslinux.cext.disk_partitions',
+diff --git a/psutil/tests/test_misc.py b/psutil/tests/test_misc.py
+index d946eb6..121004a 100755
+--- a/psutil/tests/test_misc.py
++++ b/psutil/tests/test_misc.py
+@@ -54,6 +54,8 @@ from psutil.tests import unittest
+ # ===================================================================
+ 
+ 
++PSUTIL_DEBUG = bool(os.getenv('PSUTIL_DEBUG', 0))
++
+ class TestMisc(PsutilTestCase):
+ 
+     def test_process__repr__(self, func=repr):
+@@ -368,6 +370,7 @@ class TestMisc(PsutilTestCase):
+ 
+     # XXX: https://github.com/pypa/setuptools/pull/2896
+     @unittest.skipIf(APPVEYOR, "temporarily disabled due to setuptools bug")
++    @unittest.skip("OE run this test outof source tree")
+     def test_setup_script(self):
+         setup_py = os.path.join(ROOT_DIR, 'setup.py')
+         if CI_TESTING and not os.path.exists(setup_py):
+@@ -401,6 +404,7 @@ class TestMisc(PsutilTestCase):
+                 reload_module(psutil)
+             self.assertIn("version conflict", str(cm.exception).lower())
+ 
++    @unittest.skipIf(not PSUTIL_DEBUG, "env PSUTIL_DEBUG not set")
+     def test_debug(self):
+         if PY3:
+             from io import StringIO
+diff --git a/psutil/tests/test_process.py b/psutil/tests/test_process.py
+index c9059e3..a34ba3d 100755
+--- a/psutil/tests/test_process.py
++++ b/psutil/tests/test_process.py
+@@ -36,6 +36,7 @@ from psutil._compat import PY3
+ from psutil._compat import FileNotFoundError
+ from psutil._compat import long
+ from psutil._compat import super
++from psutil._compat import which
+ from psutil.tests import APPVEYOR
+ from psutil.tests import CI_TESTING
+ from psutil.tests import GITHUB_ACTIONS
+@@ -726,6 +727,7 @@ class TestProcess(PsutilTestCase):
+             self.assertEqual(' '.join(p.cmdline()), ' '.join(cmdline))
+ 
+     @unittest.skipIf(PYPY, "broken on PYPY")
++    @unittest.skipIf(not which("gcc"), "gcc not installed")
+     def test_long_cmdline(self):
+         testfn = self.get_testfn()
+         create_exe(testfn)
+@@ -740,6 +742,7 @@ class TestProcess(PsutilTestCase):
+         assert pyexe.startswith(name), (pyexe, name)
+ 
+     @unittest.skipIf(PYPY, "unreliable on PYPY")
++    @unittest.skipIf(not which("gcc"), "gcc not installed")
+     def test_long_name(self):
+         testfn = self.get_testfn(suffix="0123456789" * 2)
+         create_exe(testfn)
+@@ -750,6 +753,7 @@ class TestProcess(PsutilTestCase):
+     @unittest.skipIf(SUNOS, "broken on SUNOS")
+     @unittest.skipIf(AIX, "broken on AIX")
+     @unittest.skipIf(PYPY, "broken on PYPY")
++    @unittest.skipIf(not which("gcc"), "gcc not installed")
+     def test_prog_w_funky_name(self):
+         # Test that name(), exe() and cmdline() correctly handle programs
+         # with funky chars such as spaces and ")", see:
+@@ -1408,6 +1412,7 @@ class TestProcess(PsutilTestCase):
+ 
+     @unittest.skipIf(not HAS_ENVIRON, "not supported")
+     @unittest.skipIf(not POSIX, "POSIX only")
++    @unittest.skipIf(not which("gcc"), "gcc not installed")
+     def test_weird_environ(self):
+         # environment variables can contain values without an equals sign
+         code = textwrap.dedent("""
+diff --git a/psutil/tests/test_system.py b/psutil/tests/test_system.py
+index db2cb34..5ee519f 100755
+--- a/psutil/tests/test_system.py
++++ b/psutil/tests/test_system.py
+@@ -580,6 +580,7 @@ class TestDiskAPIs(PsutilTestCase):
+     def test_disk_usage_bytes(self):
+         psutil.disk_usage(b'.')
+ 
++    @unittest.skip("Broken for oe")
+     def test_disk_partitions(self):
+         def check_ntuple(nt):
+             self.assertIsInstance(nt.device, str)
+diff --git a/psutil/tests/test_unicode.py b/psutil/tests/test_unicode.py
+index e635726..7ba5b0f 100755
+--- a/psutil/tests/test_unicode.py
++++ b/psutil/tests/test_unicode.py
+@@ -86,6 +86,7 @@ from psutil import POSIX
+ from psutil import WINDOWS
+ from psutil._compat import PY3
+ from psutil._compat import u
++from psutil._compat import which
+ from psutil.tests import APPVEYOR
+ from psutil.tests import ASCII_FS
+ from psutil.tests import CI_TESTING
+@@ -156,7 +157,7 @@ def try_unicode(suffix):
+ # FS APIs
+ # ===================================================================
+ 
+-
++@unittest.skipIf(not which("gcc"), "gcc not installed")
+ class BaseUnicodeTest(PsutilTestCase):
+     funky_suffix = None
+ 
+@@ -169,6 +170,7 @@ class BaseUnicodeTest(PsutilTestCase):
+ @serialrun
+ @unittest.skipIf(ASCII_FS, "ASCII fs")
+ @unittest.skipIf(PYPY and not PY3, "too much trouble on PYPY2")
++@unittest.skipIf(not which("gcc"), "gcc not installed")
+ class TestFSAPIs(BaseUnicodeTest):
+     """Test FS APIs with a funky, valid, UTF8 path name."""
+ 
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb b/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb
new file mode 100644
index 0000000..df304f0
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-psutil_5.9.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "A cross-platform process and system utilities module for Python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e35fd9f271d19d5f742f20a9d1f8bb8b"
+HOMEPAGE = "https://pypi.org/project/psutil/"
+
+SRC_URI[sha256sum] = "869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25"
+
+inherit pypi setuptools3
+
+SRC_URI += "file://0001-fix-failure-test-cases.patch"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES:${PN}-tests += " \
+    ${PYTHON_SITEPACKAGES_DIR}/psutil/test* \
+    ${PYTHON_SITEPACKAGES_DIR}/psutil/__pycache__/test* \
+"
+
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-shell \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-xml \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-ctypes \
+    ${PYTHON_PN}-resource \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-py_1.11.0.bb b/poky/meta/recipes-devtools/python/python3-py_1.11.0.bb
index 0202724..a2bd2d8 100644
--- a/poky/meta/recipes-devtools/python/python3-py_1.11.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-py_1.11.0.bb
@@ -7,7 +7,7 @@
 
 DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
 
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest b/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pyasn1/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-pyasn1_0.4.8.bb b/poky/meta/recipes-devtools/python/python3-pyasn1_0.4.8.bb
new file mode 100644
index 0000000..a5e2a71
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pyasn1_0.4.8.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pyasn1.inc
diff --git a/poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb b/poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb
rename to poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb
index 5c236d4..29452c7 100644
--- a/poky/meta/recipes-devtools/python/python3-pycairo_1.20.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pycairo_1.21.0.bb
@@ -13,8 +13,7 @@
 SRC_URI = "https://github.com/pygobject/pycairo/releases/download/v${PV}/pycairo-${PV}.tar.gz"
 UPSTREAM_CHECK_URI = "https://github.com/pygobject/pycairo/releases/"
 
-SRC_URI[md5sum] = "fa88a28cadbfb34192fe743d32c0ee33"
-SRC_URI[sha256sum] = "1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b"
+SRC_URI[sha256sum] = "251907f18a552df938aa3386657ff4b5a4937dde70e11aa042bc297957f4b74b"
 
 S = "${WORKDIR}/pycairo-${PV}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pycparser_2.21.bb b/poky/meta/recipes-devtools/python/python3-pycparser_2.21.bb
new file mode 100644
index 0000000..53b7367
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pycparser_2.21.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Parser of the C language, written in pure Python"
+HOMEPAGE = "https://github.com/eliben/pycparser"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c28cdeabcb88f5843d934381b4b4fea"
+
+SRC_URI[sha256sum] = "e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS:${PN}:class-target += "\
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-ply \
+    ${PYTHON_PN}-pprint \
+    "
+
+RSUGGESTS:${PN}:class-target += "\
+    cpp \
+    cpp-symlinks \
+    "
diff --git a/poky/meta/recipes-devtools/python/python3-pyopenssl_22.0.0.bb b/poky/meta/recipes-devtools/python/python3-pyopenssl_22.0.0.bb
new file mode 100644
index 0000000..db0e809
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pyopenssl_22.0.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Simple Python wrapper around the OpenSSL library"
+HOMEPAGE = "https://pyopenssl.org/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS += "openssl ${PYTHON_PN}-cryptography"
+
+SRC_URI[sha256sum] = "660b1b1425aac4a1bea1d94168a85d99f0b3144c869dd4390d27629d0087f1bf"
+
+PYPI_PACKAGE = "pyOpenSSL"
+inherit pypi setuptools3
+
+PACKAGES =+ "${PN}-tests"
+FILES:${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test"
+
+RDEPENDS:${PN}:class-target = " \
+    ${PYTHON_PN}-cryptography \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-threading \
+"
+RDEPENDS:${PN}-tests = "${PN}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pyparsing_3.0.7.bb b/poky/meta/recipes-devtools/python/python3-pyparsing_3.0.7.bb
index 14faea6..9c38969 100644
--- a/poky/meta/recipes-devtools/python/python3-pyparsing_3.0.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyparsing_3.0.7.bb
@@ -19,6 +19,7 @@
 RDEPENDS:${PN} += " \
     ${PYTHON_PN}-datetime \
     ${PYTHON_PN}-debugger \
+    ${PYTHON_PN}-html \
     ${PYTHON_PN}-json \
     ${PYTHON_PN}-netclient \
     ${PYTHON_PN}-pprint \
diff --git a/poky/meta/recipes-devtools/python/python3-pyrsistent_0.18.1.bb b/poky/meta/recipes-devtools/python/python3-pyrsistent_0.18.1.bb
index 4c9b8ec..b4d9e3a 100644
--- a/poky/meta/recipes-devtools/python/python3-pyrsistent_0.18.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyrsistent_0.18.1.bb
@@ -5,7 +5,7 @@
 
 SRC_URI[sha256sum] = "d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96"
 
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 RDEPENDS:${PN} += " \
     ${PYTHON_PN}-numbers \
diff --git a/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb b/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb
new file mode 100644
index 0000000..9144401
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pysocks_1.7.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "A Python SOCKS client module"
+HOMEPAGE = "http://python-requests.org"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
+
+SRC_URI[md5sum] = "89b1a6865c61bae67a32417517612ee6"
+SRC_URI[sha256sum] = "3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"
+
+PYPI_PACKAGE = "PySocks"
+inherit pypi setuptools3
+
+RDEPENDS:${PN}:class-target += "\
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-logging \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-shell \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pytest-runner_6.0.0.bb b/poky/meta/recipes-devtools/python/python3-pytest-runner_6.0.0.bb
new file mode 100644
index 0000000..f7a2c1b
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pytest-runner_6.0.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Invoke py.test as distutils command with dependency resolution"
+HOMEPAGE = "https://pypi.org/project/pytest-runner/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7126e068206290f3fe9f8d6c713ea6"
+
+SRC_URI[sha256sum] = "b4d85362ed29b4c348678de797df438f0f0509497ddb8c647096c02a6d87b685"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += " \
+    ${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS:${PN} = "${PYTHON_PN}-py ${PYTHON_PN}-setuptools ${PYTHON_PN}-debugger ${PYTHON_PN}-json \
+                  ${PYTHON_PN}-io ${PYTHON_PN}-distutils"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb
new file mode 100644
index 0000000..060a6ff
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pytest-subtests_0.7.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "unittest subTest() support and subtests fixture."
+DESCRIPTION = "Adds support for TestCase.subTest.\
+New subtests fixture, providing similar functionality for pure pytest tests."
+HOMEPAGE = "https://github.com/pytest-dev/pytest-subtests"
+BUGTRACKER = "https://github.com/pytest-dev/pytest-subtests/issues"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1"
+
+SRC_URI[sha256sum] = "95c44c77e3fbede9848bb88ca90b384815fcba8090ef9a9f55659ab163b1681c"
+
+inherit pypi setuptools3
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-pytest \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pytest_7.0.1.bb b/poky/meta/recipes-devtools/python/python3-pytest_7.1.1.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-pytest_7.0.1.bb
rename to poky/meta/recipes-devtools/python/python3-pytest_7.1.1.bb
index ea6ba80..1cb2fb0 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest_7.0.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest_7.1.1.bb
@@ -5,11 +5,11 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c"
 
-SRC_URI[sha256sum] = "e30905a0c131d3d94b89624a1cc5afec3e0ba2fbdb151867d8e0ebd49850f171"
+SRC_URI[sha256sum] = "841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63"
 
 DEPENDS += "python3-setuptools-scm-native"
 
-inherit update-alternatives pypi setuptools_build_meta
+inherit update-alternatives pypi python_setuptools_build_meta
 
 RDEPENDS:${PN}:class-target += " \
     ${PYTHON_PN}-atomicwrites \
diff --git a/poky/meta/recipes-devtools/python/python3-pytz/run-ptest b/poky/meta/recipes-devtools/python/python3-pytz/run-ptest
new file mode 100644
index 0000000..b63c4de
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pytz/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'
diff --git a/poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb b/poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb
new file mode 100644
index 0000000..a4bb4f5
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pytz_2022.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "World timezone definitions, modern and historical"
+HOMEPAGE = "http://pythonhosted.org/pytz"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1a67fc46c1b596cce5d21209bbe75999"
+
+inherit pypi setuptools3 ptest
+
+SRC_URI[sha256sum] = "1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7"
+
+RDEPENDS:${PN}:class-target += "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-doctest \
+    ${PYTHON_PN}-io \
+    ${PYTHON_PN}-pickle \
+    ${PYTHON_PN}-pprint \
+    ${PYTHON_PN}-threading \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI += " \
+	file://run-ptest \
+"
+
+RDEPENDS:${PN}-ptest += " \
+	${PYTHON_PN}-pytest \
+"
+
+do_install_ptest() {
+	install -d ${D}${PTEST_PATH}/pytz
+	install -d ${D}${PTEST_PATH}/pytz/tests
+	cp -rf ${S}/pytz/tests/* ${D}${PTEST_PATH}/pytz/tests/
+	cp -f ${S}/README.rst ${D}${PTEST_PATH}/
+
+}
diff --git a/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb b/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb
index 2df0e64..d142a0f 100644
--- a/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb
@@ -7,7 +7,7 @@
 
 PYPI_PACKAGE = "PyYAML"
 
-inherit pypi setuptools3
+inherit pypi python_setuptools_build_meta
 
 SRC_URI[sha256sum] = "68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"
 
diff --git a/poky/meta/recipes-devtools/python/python3-requests_2.27.1.bb b/poky/meta/recipes-devtools/python/python3-requests_2.27.1.bb
new file mode 100644
index 0000000..af52b7c
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-requests_2.27.1.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Python HTTP for Humans."
+HOMEPAGE = "http://python-requests.org"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+SRC_URI[sha256sum] = "68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += " \
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-json \
+    ${PYTHON_PN}-ndg-httpsclient \
+    ${PYTHON_PN}-netserver \
+    ${PYTHON_PN}-pyasn1 \
+    ${PYTHON_PN}-pyopenssl \
+    ${PYTHON_PN}-pysocks \
+    ${PYTHON_PN}-urllib3 \
+    ${PYTHON_PN}-chardet \
+    ${PYTHON_PN}-idna \
+"
+
+CVE_PRODUCT = "requests"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-scons_4.3.0.bb b/poky/meta/recipes-devtools/python/python3-scons_4.3.0.bb
index cfb075f..ae91d98 100644
--- a/poky/meta/recipes-devtools/python/python3-scons_4.3.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-scons_4.3.0.bb
@@ -8,7 +8,6 @@
 SRC_URI[sha256sum] = "d47081587e3675cc168f1f54f0d74a69b328a2fc90ec4feb85f728677419b879"
 
 PYPI_PACKAGE = "SCons"
-PIP_INSTALL_DIST_PATH = "${B}/build/dist"
 
 inherit pypi setuptools3
 
@@ -29,7 +28,6 @@
     install -d ${D}${mandir}/man1
     mv ${D}${prefix}/scons*.1 ${D}${mandir}/man1/
 }
-FILES:${PN}-doc += "${mandir}/man1/scons*.1"
 
 do_install:append:class-native() {
     create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1'
diff --git a/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb b/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb
new file mode 100644
index 0000000..4101f48
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-semantic-version_2.9.0.bb
@@ -0,0 +1,14 @@
+SUMMARY  = "A library implementing the 'SemVer' scheme."
+DESCRIPTION = "Semantic version comparison for Python (see http://semver.org/)"
+HOMEPAGE = "https://github.com/rbarrois/python-semanticversion"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fb31e3c1c7eeb8b5e8c07657cdd54e2"
+
+SRC_URI[sha256sum] = "abf54873553e5e07a6fd4d5f653b781f5ae41297a493666b59dcf214006a12b2"
+
+PYPI_PACKAGE = "semantic_version"
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = "/semantic-version/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb
new file mode 100644
index 0000000..8ec9a86
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Setuptools Rust extension plugin"
+DESCRIPTION = "setuptools-rust is a plugin for setuptools to build Rust \
+Python extensions implemented with PyO3 or rust-cpython.\
+\
+Compile and distribute Python extensions written in Rust as easily as if they were written in C."
+HOMEPAGE = "https://github.com/PyO3/setuptools-rust"
+BUGTRACKER = "https://github.com/PyO3/setuptools-rust/issues"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=011cd92e702dd9e6b1a26157b6fd53f5"
+
+SRC_URI = "https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-${PV}.tar.gz"
+SRC_URI[sha256sum] = "a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1"
+
+inherit cargo pypi python_setuptools_build_meta native
+
+DEPENDS += "python3-setuptools-scm-native python3-wheel-native"
+
+RDEPENDS:${PN}:class-native += " \
+    python3-semantic-version-native \
+    python3-setuptools-native \
+    python3-setuptools-scm-native \
+    python3-toml-native \
+    python3-typing-extensions-native \
+    python3-wheel-native \
+"
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb b/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb
index 182ccec..e09c598 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools-scm_6.4.2.bb
@@ -7,7 +7,7 @@
 SRC_URI[sha256sum] = "6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30"
 
 PYPI_PACKAGE = "setuptools_scm"
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
 
 UPSTREAM_CHECK_REGEX = "setuptools_scm-(?P<pver>.*)\.tar"
 
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
index 2155101..f2810e1 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_59.5.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=7a7126e068206290f3fe9f8d6c713ea6"
 
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
 
 SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
 
@@ -17,19 +17,6 @@
 
 DEPENDS += "${PYTHON_PN}"
 
-# Avoid dependency loop; we bootstrap -native
-DEPENDS:remove:class-native = "python3-pip-native python3-setuptools-native"
-DEPENDS:append:class-native = " unzip-native"
-
-PYPA_WHEEL ?= "${B}/dist/${PYPI_PACKAGE}-${PV}-*.whl"
-
-do_install:class-native() {
-    # Bootstrap to prevent dependency loop in python3-pip-native
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-    unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PYPA_WHEEL} || \
-    bbfatal_log "Failed to unzip wheel: ${PYPA_WHEEL}. Check the logs."
-}
-
 RDEPENDS:${PN} = "\
     ${PYTHON_PN}-2to3 \
     ${PYTHON_PN}-compile \
@@ -64,3 +51,7 @@
     ${PYTHON_PN}-plistlib \
     ${PYTHON_PN}-pprint \
 "
+
+# This used to use the bootstrap install which didn't compile. Until we bump the
+# tmpdir version we can't compile the native otherwise the sysroot unpack fails
+INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode"
diff --git a/poky/meta/recipes-devtools/python/python3-snowballstemmer_2.2.0.bb b/poky/meta/recipes-devtools/python/python3-snowballstemmer_2.2.0.bb
new file mode 100644
index 0000000..ff120a3
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-snowballstemmer_2.2.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Snowball compiler and stemming algorithms"
+HOMEPAGE = "https://github.com/snowballstem/snowball"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=19139aaf3c8c8fa1ca6edd59c072fb9f"
+
+SRC_URI[sha256sum] = "09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"
+
+PYPI_PACKAGE = "snowballstemmer"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_0.5.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_0.5.0.bb
new file mode 100644
index 0000000..fa37505
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_0.5.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Sphinx Theme reader"
+HOMEPAGE = "https://github.com/readthedocs/sphinx_rtd_theme"
+SECTION = "devel/python"
+LICENSE = "MIT & OFL-1.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a1db7d4ef426c2935227264e1d4ae8f9 \
+                    file://OFL-License.txt;md5=4534c22e0147eadb6828bd9fe86d4868 \
+                    file://Apache-License-2.0.txt;md5=8a75796f0ef19c3f601d69857f5a9a5b"
+
+DEPENDS = "python3-sphinx"
+
+PYPI_PACKAGE = "sphinx_rtd_theme"
+
+SRC_URI[sha256sum] = "22c795ba2832a169ca301cd0a083f7a434e09c538c70beb42782c073651b707d"
+UPSTREAM_CHECK_REGEX ?= "/sphinx-rtd-theme/(?P<pver>(\d+[\.\-_]*)+)/"
+
+inherit setuptools3 pypi
+
+#Fake out the setup scipt
+export CI = "True"
+export TOX_ENV_NAME = "True"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx_4.4.0.bb b/poky/meta/recipes-devtools/python/python3-sphinx_4.4.0.bb
new file mode 100644
index 0000000..97ec261
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinx_4.4.0.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Python documentation generator"
+HOMEPAGE = "http://sphinx-doc.org/"
+SECTION = "devel/python"
+LICENSE = "BSD-2-Clause & MIT & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=de4349dda741c550eb8b20f6b92f38d7"
+
+PYPI_PACKAGE = "Sphinx"
+
+SRC_URI[sha256sum] = "6caad9786055cb1fa22b4a365c1775816b876f91966481765d7d50e9f0dd35cc"
+
+inherit setuptools3 pypi
+
+ 
+do_install:append () {
+	# The cache format of "{None, 'en', 'ja'}" doesn't seem to be consistent (dict ordering?)
+	rm ${D}${libdir}/${PYTHON_DIR}/site-packages/sphinx/writers/__pycache__/*latex*
+}
+
+RDEPENDS:${PN} = "\
+    python3-packaging python3-docutils python3-requests \
+    python3-imagesize python3-alabaster python3-jinja2 \
+    python3-babel python3-pygments python3-snowballstemmer \
+    python3-sphinxcontrib-applehelp python3-sphinxcontrib-devhelp \
+    python3-sphinxcontrib-jsmath python3-sphinxcontrib-htmlhelp \
+    python3-sphinxcontrib-serializinghtml python3-sphinxcontrib-qthelp \
+    "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.2.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.2.bb
new file mode 100644
index 0000000..cde0da8
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-applehelp_1.0.2.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c7715857042d4c8c0105999ca0c072c5"
+
+SRC_URI[sha256sum] = "a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58"
+
+PYPI_PACKAGE = "sphinxcontrib-applehelp"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb
new file mode 100644
index 0000000..7b7bda7
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-devhelp_1.0.2.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fd30d9972a142c857a80c9f312e92b93"
+
+SRC_URI[sha256sum] = "ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"
+
+PYPI_PACKAGE = "sphinxcontrib-devhelp"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.0.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.0.bb
new file mode 100644
index 0000000..cd8b987
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-htmlhelp_2.0.0.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=24dce5ef6a13563241c24bc366f48886"
+
+SRC_URI[sha256sum] = "f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2"
+
+PYPI_PACKAGE = "sphinxcontrib-htmlhelp"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb
new file mode 100644
index 0000000..863458a
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-jsmath_1.0.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "A sphinx extension which renders display math in HTML via JavaScript"
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f0064c10bd544bcffccbc67a41c108d3"
+
+SRC_URI[sha256sum] = "a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"
+
+PYPI_PACKAGE = "sphinxcontrib-jsmath"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb
new file mode 100644
index 0000000..8ebfbba
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-qthelp_1.0.3.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Is a sphinx extension which outputs QtHelp document."
+HOMEPAGE = "http://babel.edgewall.org/"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f7a83b72ea86d04827575ec0b63430eb"
+
+SRC_URI[sha256sum] = "4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"
+
+PYPI_PACKAGE = "sphinxcontrib-qthelp"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb
new file mode 100644
index 0000000..71dde37
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-sphinxcontrib-serializinghtml_1.1.5.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = 'sphinxcontrib-serializinghtml is a sphinx extension which outputs "serialized" HTML files (json and pickle).'
+HOMEPAGE = "https://www.sphinx-doc.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=32a84ac5cd3bbd10c4d479233ad588b6"
+
+SRC_URI[sha256sum] = "aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"
+
+PYPI_PACKAGE = "sphinxcontrib-serializinghtml"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb b/poky/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
index b592cb9..c377c3b 100644
--- a/poky/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
+++ b/poky/meta/recipes-devtools/python/python3-strict-rfc3339_0.7.bb
@@ -8,6 +8,4 @@
 
 inherit pypi setuptools3
 
-PIP_INSTALL_PACKAGE = "strict_rfc3339"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb b/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb
index bc49a2b..e4e3bf1 100644
--- a/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-subunit_1.4.0.bb
@@ -10,8 +10,6 @@
 
 inherit pypi setuptools3
 
-PIP_INSTALL_PACKAGE = "python_subunit"
-
 RDEPENDS:${PN} = " python3-testtools"
 
 BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-tomli_2.0.1.bb b/poky/meta/recipes-devtools/python/python3-tomli_2.0.1.bb
index c3d5128..6118a6a 100644
--- a/poky/meta/recipes-devtools/python/python3-tomli_2.0.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-tomli_2.0.1.bb
@@ -6,15 +6,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5"
 
-inherit pypi setuptools3
+inherit pypi python_flit_core
 
 SRC_URI[sha256sum] = "de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"
 
-do_configure:prepend() {
-cat > ${S}/setup.py <<-EOF
-from setuptools import setup
-setup(name="tomli", version="${PV}", packages=["tomli"], package_dir={'tomli': 'src/tomli'}, package_data={"": ["*"]})
-EOF
-}
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb b/poky/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb
new file mode 100644
index 0000000..a8e83fc
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-typing-extensions_3.10.0.0.bb
@@ -0,0 +1,14 @@
+HOMEPAGE = "https://github.com/python/typing"
+LICENSE = "PSF-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
+
+# The name on PyPi is slightly different.
+PYPI_PACKAGE = "typing_extensions"
+
+SRC_URI[sha256sum] = "50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native nativesdk"
+
+UPSTREAM_CHECK_REGEX = "/typing-extensions/(?P<pver>(\d+[\.\-_]*)+)/"
diff --git a/poky/meta/recipes-devtools/python/python3-urllib3_1.26.9.bb b/poky/meta/recipes-devtools/python/python3-urllib3_1.26.9.bb
new file mode 100644
index 0000000..95ae4a5
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-urllib3_1.26.9.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more"
+HOMEPAGE = "https://github.com/shazow/urllib3"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c2823cb995439c984fd62a973d79815c"
+
+SRC_URI[sha256sum] = "aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "\
+    ${PYTHON_PN}-certifi \
+    ${PYTHON_PN}-cryptography \
+    ${PYTHON_PN}-email \
+    ${PYTHON_PN}-idna \
+    ${PYTHON_PN}-netclient \
+    ${PYTHON_PN}-pyopenssl \
+    ${PYTHON_PN}-threading \
+"
+
+CVE_PRODUCT = "urllib3"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-wheel_0.37.1.bb b/poky/meta/recipes-devtools/python/python3-wheel_0.37.1.bb
index 91bff82..2f7dd12 100644
--- a/poky/meta/recipes-devtools/python/python3-wheel_0.37.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-wheel_0.37.1.bb
@@ -6,35 +6,12 @@
 
 SRC_URI[sha256sum] = "e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4"
 
-inherit flit_core pypi setuptools3-base
+inherit python_flit_core pypi
 
 SRC_URI += " file://0001-Backport-pyproject.toml-from-flit-backend-branch.patch"
 
-DEPENDS:remove:class-native = "python3-pip-native"
-
-do_install:class-native () {
-    # We need to bootstrap python3-wheel-native
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
-    PYPA_WHEEL="${B}/dist/${PYPI_PACKAGE}-${PV}-*.whl"
-    unzip -d ${D}${PYTHON_SITEPACKAGES_DIR} ${PYPA_WHEEL} || \
-    bbfatal_log "Failed to install"
-
-    # pip install would normally generate [project.scripts] in ${bindir}
-    install -d ${D}/${bindir}
-    cat << EOF >> ${D}/${bindir}/wheel
-#!/bin/sh
-'''exec' ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} "\$0" "\$@"
-' '''
-# -*- coding: utf-8 -*-
-import re
-import sys
-from wheel.cli import main
-if __name__ == '__main__':
-    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
-    sys.exit(main())
-EOF
-    chmod 0755 ${D}${bindir}/wheel
-}
-
 BBCLASSEXTEND = "native nativesdk"
 
+# This used to use the bootstrap install which didn't compile. Until we bump the
+# tmpdir version we can't compile the native otherwise the sysroot unpack fails
+INSTALL_WHEEL_COMPILE_BYTECODE:class-native = "--no-compile-bytecode"
diff --git a/poky/meta/recipes-devtools/python/python3-zipp_3.7.0.bb b/poky/meta/recipes-devtools/python/python3-zipp_3.7.0.bb
index d0f936f..495e7f5 100644
--- a/poky/meta/recipes-devtools/python/python3-zipp_3.7.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-zipp_3.7.0.bb
@@ -7,7 +7,7 @@
 
 DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
 
-inherit pypi setuptools_build_meta
+inherit pypi python_setuptools_build_meta
 
 DEPENDS += "${PYTHON_PN}-toml-native"
 
diff --git a/poky/meta/recipes-devtools/python/python3_3.10.2.bb b/poky/meta/recipes-devtools/python/python3_3.10.3.bb
similarity index 92%
rename from poky/meta/recipes-devtools/python/python3_3.10.2.bb
rename to poky/meta/recipes-devtools/python/python3_3.10.3.bb
index 429839b..5c0f0a9 100644
--- a/poky/meta/recipes-devtools/python/python3_3.10.2.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.10.3.bb
@@ -40,7 +40,7 @@
            file://12-distutils-prefix-is-inside-staging-area.patch \
            file://0001-Don-t-search-system-for-headers-libraries.patch \
            "
-SRC_URI[sha256sum] = "17de3ac7da9f2519aa9d64378c603a73a0e9ad58dffa8812e45160c086de64c7"
+SRC_URI[sha256sum] = "596c72de998dc39205bc4f70ef0dbf7edec740a306d09b49a9bd0a77806730dc"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -52,9 +52,8 @@
 CVE_CHECK_IGNORE += "CVE-2007-4559"
 # This is not exploitable when glibc has CVE-2016-10739 fixed.
 CVE_CHECK_IGNORE += "CVE-2019-18348"
-
-# This is windows only issue.
-CVE_CHECK_IGNORE += "CVE-2020-15523"
+# These are specific to Microsoft Windows
+CVE_CHECK_IGNORE += "CVE-2020-15523 CVE-2022-26488"
 
 PYTHON_MAJMIN = "3.10"
 
@@ -71,7 +70,7 @@
 ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
 
 
-DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2 autoconf-archive-native"
+DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux-libuuid libtirpc libnsl2 autoconf-archive-native ncurses"
 DEPENDS:append:class-target = " python3-native"
 DEPENDS:append:class-nativesdk = " python3-native"
 
@@ -152,13 +151,23 @@
         # (these often end up too long for the #! parser in the kernel as the
         # buffer is 128 bytes long).
         ln -s python3-native/python3 ${D}${bindir}/nativepython3
+
+        # Remove the opt-1.pyc and opt-2.pyc files. There are over 3,000 of them
+        # and the overhead in each recipe-sysroot-native isn't worth it, particularly
+        # when they're only used for python called with -O or -OO.
+        #find ${D} -name *opt-*.pyc -delete
+        # Remove all pyc files. There are a ton of them and it is probably faster to let
+        # python create the ones it wants at runtime rather than manage in the sstate 
+        # tarballs and sysroot creation.
+        find ${D} -name *.pyc -delete
+
 }
 
 do_install:append() {
         for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do
             python3 ${WORKDIR}/reformat_sysconfig.py $c
         done
-        rm ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython*
+        rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython*
 
         mkdir -p ${D}${libdir}/python-sysconfigdata
         sysconfigfile=`find ${D} -name _sysconfig*.py`
@@ -177,8 +186,13 @@
         # Upstream is discussing ways to solve the issue properly, until then let's
         # just not install the problematic files.
         # More info: http://benno.id.au/blog/2013/01/15/python-determinism
-        rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_range.cpython*
-        rm ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython*
+        rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_range.cpython*
+        rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/test/__pycache__/test_xml_etree.cpython*
+
+        # Remove the opt-1.pyc and opt-2.pyc files. They effectively waste space on embedded
+        # style targets as they're only used when python is called with the -O or -OO options
+        # which is rare.
+        find ${D} -name *opt-*.pyc -delete
 }
 
 do_install:append:class-nativesdk () {
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_6.2.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_6.2.0.bb
index b544ab4..bc5384d 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-system-native_6.2.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_6.2.0.bb
@@ -12,7 +12,7 @@
 EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
 
 PACKAGECONFIG ??= "fdt alsa kvm pie \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \
 "
 
 # Handle distros such as CentOS 5 32-bit that do not have kvm support
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index cbbb99f..9f2fa43 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -28,6 +28,10 @@
            file://0001-tests-meson.build-use-relative-path-to-refer-to-file.patch \
            file://0001-riscv-Set-5.4-as-minimum-kernel-version-for-riscv32.patch \
            file://0001-acpi-tpm-Add-missing-device-identification-objects.patch \
+           file://0001-ppc-Include-asm-ptrace.h-for-pt_regs-struct-definiti.patch \
+           file://0001-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
+           file://0001-vhost-vsock-detach-the-virqueue-element-in-case-of-e.patch \
+           file://0002-virtio-net-fix-map-leaking-on-error-during-receive.patch \
            "
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
@@ -140,8 +144,8 @@
 # END of qemu-mips workaround
 
 # Disable kvm/virgl/mesa on targets that do not support it
-PACKAGECONFIG:remove:darwin = "kvm virglrenderer glx gtk+"
-PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer glx gtk+"
+PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+"
+PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+"
 
 PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2"
 PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr,"
@@ -163,7 +167,7 @@
 PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1"
 PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc"
 PACKAGECONFIG[alsa] = "--audio-drv-list=default,,alsa-lib"
-PACKAGECONFIG[glx] = "--enable-opengl,--disable-opengl,virtual/libgl"
+PACKAGECONFIG[epoxy] = "--enable-opengl,--disable-opengl,libepoxy"
 PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo"
 PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl"
 PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch
new file mode 100644
index 0000000..4691a36
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch
@@ -0,0 +1,48 @@
+From 444e80e63d35006f41e7d658e2bf6d7c9f7641df Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 21 Mar 2022 10:09:38 -0700
+Subject: [PATCH] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux
+ systems
+
+linux only wires MAP_SYNC and MAP_SHARED_VALIDATE for architectures
+which include asm-generic/mman.h and mips/powerpc are not including this
+file in linux/mman.h, therefore these should be defined for such
+architectures on Linux as well. This fixes build on mips/musl/linux
+
+Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/qemu-devel/2022-03/msg05298.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Zhang Yi <yi.z.zhang@linux.intel.com>
+Cc: Michael S. Tsirkin <mst@redhat.com>
+---
+ util/mmap-alloc.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c
+index 893d864354..86d3cda248 100644
+--- a/util/mmap-alloc.c
++++ b/util/mmap-alloc.c
+@@ -10,14 +10,18 @@
+  * later.  See the COPYING file in the top-level directory.
+  */
+ 
++#include "qemu/osdep.h"
+ #ifdef CONFIG_LINUX
+ #include <linux/mman.h>
+-#else  /* !CONFIG_LINUX */
++#endif  /* CONFIG_LINUX */
++
++#ifndef MAP_SYNC
+ #define MAP_SYNC              0x0
++#endif /* MAP_SYNC */
++#ifndef MAP_SHARED_VALIDATE
+ #define MAP_SHARED_VALIDATE   0x0
+-#endif /* CONFIG_LINUX */
++#endif /* MAP_SHARED_VALIDATE */
+ 
+-#include "qemu/osdep.h"
+ #include "qemu/mmap-alloc.h"
+ #include "qemu/host-utils.h"
+ #include "qemu/cutils.h"
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-ppc-Include-asm-ptrace.h-for-pt_regs-struct-definiti.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-ppc-Include-asm-ptrace.h-for-pt_regs-struct-definiti.patch
new file mode 100644
index 0000000..e8e4200
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-ppc-Include-asm-ptrace.h-for-pt_regs-struct-definiti.patch
@@ -0,0 +1,92 @@
+From 91e15627fd05d5a59fd2b88bc5c3491d3e0b56b0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 14 Mar 2022 09:58:21 -0700
+Subject: [PATCH] ppc: Include asm/ptrace.h for pt_regs struct definition
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes
+../qemu-6.2.0/linux-user/host/ppc64/../ppc/host-signal.h:16:32: error: incomplete definition of type 'struct pt_regs'
+    return uc->uc_mcontext.regs->nip;
+           ~~~~~~~~~~~~~~~~~~~~^
+
+Upstream-Status: Submitted [https://patchwork.kernel.org/project/qemu-devel/patch/20220314170223.554679-1-raj.khem@gmail.com/]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Peter Maydell <peter.maydell@linaro.org>
+Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
+Cc: Richard Henderson <richard.henderson@linaro.org>
+---
+ linux-user/include/host/ppc/host-signal.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/linux-user/host/ppc/host-signal.h
++++ /dev/null
+@@ -1,30 +0,0 @@
+-/*
+- * host-signal.h: signal info dependent on the host architecture
+- *
+- * Copyright (c) 2003-2005 Fabrice Bellard
+- * Copyright (c) 2021 Linaro Limited
+- *
+- * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
+- * See the COPYING file in the top-level directory.
+- */
+-
+-#ifndef PPC_HOST_SIGNAL_H
+-#define PPC_HOST_SIGNAL_H
+-
+-static inline uintptr_t host_signal_pc(ucontext_t *uc)
+-{
+-    return uc->uc_mcontext.regs->nip;
+-}
+-
+-static inline void host_signal_set_pc(ucontext_t *uc, uintptr_t pc)
+-{
+-    uc->uc_mcontext.regs->nip = pc;
+-}
+-
+-static inline bool host_signal_write(siginfo_t *info, ucontext_t *uc)
+-{
+-    return uc->uc_mcontext.regs->trap != 0x400
+-        && (uc->uc_mcontext.regs->dsisr & 0x02000000);
+-}
+-
+-#endif
+--- a/linux-user/host/ppc64/host-signal.h
++++ b/linux-user/host/ppc64/host-signal.h
+@@ -1 +1,32 @@
+-#include "../ppc/host-signal.h"
++/*
++ * host-signal.h: signal info dependent on the host architecture
++ *
++ * Copyright (c) 2003-2005 Fabrice Bellard
++ * Copyright (c) 2021 Linaro Limited
++ *
++ * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
++ * See the COPYING file in the top-level directory.
++ */
++
++#ifndef PPC_HOST_SIGNAL_H
++#define PPC_HOST_SIGNAL_H
++
++#include <asm/ptrace.h>
++
++static inline uintptr_t host_signal_pc(ucontext_t *uc)
++{
++    return uc->uc_mcontext.gp_regs[PT_NIP];
++}
++
++static inline void host_signal_set_pc(ucontext_t *uc, uintptr_t pc)
++{
++    uc->uc_mcontext.gp_regs[PT_NIP] = pc;
++}
++
++static inline bool host_signal_write(siginfo_t *info, ucontext_t *uc)
++{
++    return uc->uc_mcontext.gp_regs[PT_TRAP] != 0x400
++        && (uc->uc_mcontext.gp_regs[PT_DSISR] & 0x02000000);
++}
++
++#endif
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-vhost-vsock-detach-the-virqueue-element-in-case-of-e.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-vhost-vsock-detach-the-virqueue-element-in-case-of-e.patch
new file mode 100644
index 0000000..dcea904
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-vhost-vsock-detach-the-virqueue-element-in-case-of-e.patch
@@ -0,0 +1,60 @@
+CVE: CVE-2022-26354
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 0190d651a73463dc2b8f170b29326d1f38140a04 Mon Sep 17 00:00:00 2001
+From: Stefano Garzarella <sgarzare@redhat.com>
+Date: Mon, 28 Feb 2022 10:50:58 +0100
+Subject: [PATCH 1/2] vhost-vsock: detach the virqueue element in case of error
+
+In vhost_vsock_common_send_transport_reset(), if an element popped from
+the virtqueue is invalid, we should call virtqueue_detach_element() to
+detach it from the virtqueue before freeing its memory.
+
+Fixes: fc0b9b0e1c ("vhost-vsock: add virtio sockets device")
+Fixes: CVE-2022-26354
+Cc: qemu-stable@nongnu.org
+Reported-by: VictorV <vv474172261@gmail.com>
+Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
+Message-Id: <20220228095058.27899-1-sgarzare@redhat.com>
+Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
+Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
+---
+ hw/virtio/vhost-vsock-common.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/hw/virtio/vhost-vsock-common.c b/hw/virtio/vhost-vsock-common.c
+index 3f3771274e..ed706681ac 100644
+--- a/hw/virtio/vhost-vsock-common.c
++++ b/hw/virtio/vhost-vsock-common.c
+@@ -153,19 +153,23 @@ static void vhost_vsock_common_send_transport_reset(VHostVSockCommon *vvc)
+     if (elem->out_num) {
+         error_report("invalid vhost-vsock event virtqueue element with "
+                      "out buffers");
+-        goto out;
++        goto err;
+     }
+ 
+     if (iov_from_buf(elem->in_sg, elem->in_num, 0,
+                      &event, sizeof(event)) != sizeof(event)) {
+         error_report("vhost-vsock event virtqueue element is too short");
+-        goto out;
++        goto err;
+     }
+ 
+     virtqueue_push(vq, elem, sizeof(event));
+     virtio_notify(VIRTIO_DEVICE(vvc), vq);
+ 
+-out:
++    g_free(elem);
++    return;
++
++err:
++    virtqueue_detach_element(vq, elem, 0);
+     g_free(elem);
+ }
+ 
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-virtio-net-fix-map-leaking-on-error-during-receive.patch b/poky/meta/recipes-devtools/qemu/qemu/0002-virtio-net-fix-map-leaking-on-error-during-receive.patch
new file mode 100644
index 0000000..59ccfdd
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0002-virtio-net-fix-map-leaking-on-error-during-receive.patch
@@ -0,0 +1,43 @@
+CVE: CVE-2022-26353
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 4d65ecbddd16f38a8cf23b3053ca5c3594f8d4a4 Mon Sep 17 00:00:00 2001
+From: Jason Wang <jasowang@redhat.com>
+Date: Tue, 8 Mar 2022 10:42:51 +0800
+Subject: [PATCH 2/2] virtio-net: fix map leaking on error during receive
+
+Commit bedd7e93d0196 ("virtio-net: fix use after unmap/free for sg")
+tries to fix the use after free of the sg by caching the virtqueue
+elements in an array and unmap them at once after receiving the
+packets, But it forgot to unmap the cached elements on error which
+will lead to leaking of mapping and other unexpected results.
+
+Fixing this by detaching the cached elements on error. This addresses
+CVE-2022-26353.
+
+Reported-by: Victor Tom <vv474172261@gmail.com>
+Cc: qemu-stable@nongnu.org
+Fixes: CVE-2022-26353
+Fixes: bedd7e93d0196 ("virtio-net: fix use after unmap/free for sg")
+Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
+Signed-off-by: Jason Wang <jasowang@redhat.com>
+---
+ hw/net/virtio-net.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
+index f2014d5ea0..e1f4748831 100644
+--- a/hw/net/virtio-net.c
++++ b/hw/net/virtio-net.c
+@@ -1862,6 +1862,7 @@ static ssize_t virtio_net_receive_rcu(NetClientState *nc, const uint8_t *buf,
+ 
+ err:
+     for (j = 0; j < i; j++) {
++        virtqueue_detach_element(q->rx_vq, elems[j], lens[j]);
+         g_free(elems[j]);
+     }
+ 
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu_6.2.0.bb b/poky/meta/recipes-devtools/qemu/qemu_6.2.0.bb
index 062ed32..9f7fad9 100644
--- a/poky/meta/recipes-devtools/qemu/qemu_6.2.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu_6.2.0.bb
@@ -6,6 +6,8 @@
 
 DEPENDS:append:libc-musl = " libucontext"
 
+CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
+
 RDEPENDS:${PN}:class-target += "bash"
 
 EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
@@ -15,9 +17,11 @@
 PACKAGECONFIG ??= " \
     fdt sdl kvm pie \
     ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \
     ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
 "
 PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm pie \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer glx', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \
 "
+# ppc32 hosts are no longer supported in qemu
+COMPATIBLE_HOST:powerpc = "null"
diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc
index 1953205..07611e6 100644
--- a/poky/meta/recipes-devtools/quilt/quilt.inc
+++ b/poky/meta/recipes-devtools/quilt/quilt.inc
@@ -25,8 +25,9 @@
 
 CLEANBROKEN = "1"
 
-EXTRA_OECONF = "--with-perl='${USRBINPATH}/env perl' --with-patch=patch"
+EXTRA_OECONF = "--with-perl='${USRBINPATH}/env perl' --with-patch=patch --without-sendmail"
 EXTRA_OECONF:append:class-native = " --disable-nls"
+
 EXTRA_AUTORECONF += "--exclude=aclocal"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_BASH=/bin/bash ac_cv_path_COLUMN=column"
diff --git a/poky/meta/recipes-devtools/repo/repo_2.21.bb b/poky/meta/recipes-devtools/repo/repo_2.22.bb
similarity index 94%
rename from poky/meta/recipes-devtools/repo/repo_2.21.bb
rename to poky/meta/recipes-devtools/repo/repo_2.22.bb
index 3c50793..a99d5d7 100644
--- a/poky/meta/recipes-devtools/repo/repo_2.21.bb
+++ b/poky/meta/recipes-devtools/repo/repo_2.22.bb
@@ -12,7 +12,7 @@
 SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
            file://0001-python3-shebang.patch \
            "
-SRCREV = "8e91248655acf1c8044ed8c1b265b804a99eb07f"
+SRCREV = "cc879a97c3e2614d19b15b4661c3cab4d33139c9"
 
 MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
 
diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb b/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb
index b950e30..6168ee8 100644
--- a/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb
+++ b/poky/meta/recipes-devtools/rsync/rsync_3.2.3.bb
@@ -3,7 +3,7 @@
 DESCRIPTION = "rsync is an open source utility that provides fast incremental file transfer."
 BUGTRACKER = "http://rsync.samba.org/bugzilla.html"
 SECTION = "console/network"
-# GPLv2+ (<< 3.0.0), GPLv3+ (>= 3.0.0)
+# GPL-2.0-or-later (<< 3.0.0), GPL-3.0-or-later (>= 3.0.0)
 # Includes opennsh and xxhash dynamic link exception
 LICENSE = "GPL-3.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=9e5a4f9b3a253d51520617aa54f8eb26"
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs/0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch b/poky/meta/recipes-devtools/rust/libstd-rs/0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch
new file mode 100644
index 0000000..5b330b8
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs/0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch
@@ -0,0 +1,44 @@
+From 7b3bc1de0c79a1b410105ce36bbe9f774438d263 Mon Sep 17 00:00:00 2001
+From: Ross Schulman <ross@rbs.io>
+Date: Tue, 1 Feb 2022 09:13:16 -0500
+Subject: [PATCH] Add 400-series syscalls to musl riscv64 definitions
+
+Upstream-Status: Backport [https://github.com/rust-lang/libc/commit/7b3bc1de0c79a1b410105ce36bbe9f774438d263]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../linux_like/linux/musl/b64/riscv64/mod.rs  | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/vendor/libc-0.2.108/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/vendor/libc-0.2.108/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+index 6b17621c7..2036583d5 100644
+--- a/vendor/libc-0.2.108/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
++++ b/vendor/libc-0.2.108/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+@@ -465,6 +465,25 @@ pub const SYS_pkey_mprotect: ::c_long = 288;
+ pub const SYS_pkey_alloc: ::c_long = 289;
+ pub const SYS_pkey_free: ::c_long = 290;
+ pub const SYS_statx: ::c_long = 291;
++pub const SYS_pidfd_send_signal: ::c_long = 424;
++pub const SYS_io_uring_setup: ::c_long = 425;
++pub const SYS_io_uring_enter: ::c_long = 426;
++pub const SYS_io_uring_register: ::c_long = 427;
++pub const SYS_open_tree: ::c_long = 428;
++pub const SYS_move_mount: ::c_long = 429;
++pub const SYS_fsopen: ::c_long = 430;
++pub const SYS_fsconfig: ::c_long = 431;
++pub const SYS_fsmount: ::c_long = 432;
++pub const SYS_fspick: ::c_long = 433;
++pub const SYS_pidfd_open: ::c_long = 434;
++pub const SYS_clone3: ::c_long = 435;
++pub const SYS_close_range: ::c_long = 436;
++pub const SYS_openat2: ::c_long = 437;
++pub const SYS_pidfd_getfd: ::c_long = 438;
++pub const SYS_faccessat2: ::c_long = 439;
++pub const SYS_process_madvise: ::c_long = 440;
++pub const SYS_epoll_pwait2: ::c_long = 441;
++pub const SYS_mount_setattr: ::c_long = 442;
+ 
+ pub const O_APPEND: ::c_int = 1024;
+ pub const O_DIRECT: ::c_int = 0x4000;
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs/0001-Add-base-definitions-for-riscv64-musl.patch b/poky/meta/recipes-devtools/rust/libstd-rs/0001-Add-base-definitions-for-riscv64-musl.patch
deleted file mode 100644
index 5a36fef..0000000
--- a/poky/meta/recipes-devtools/rust/libstd-rs/0001-Add-base-definitions-for-riscv64-musl.patch
+++ /dev/null
@@ -1,863 +0,0 @@
-From 8b86ecf87cf3589861b458f099572ad8487fc6cc Mon Sep 17 00:00:00 2001
-From: Ralf Anton Beier <ralf_beier@me.com>
-Date: Sun, 8 Aug 2021 11:05:06 +0200
-Subject: [PATCH 1/4] Add base definitions for riscv64 + musl
-
-https://github.com/rust-lang/libc-0.2.106/pull/1994/commits/030a07761f61f3293d53752e60edbd330a9d718d
-
-Upstream-Status: Submitted [https://github.com/rust-lang/libc-0.2.106/pull/2537]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
----
- .../src/unix/linux_like/linux/musl/b64/mod.rs |   3 +
- .../linux_like/linux/musl/b64/riscv64/mod.rs  | 832 ++++++++++++++++++
- 2 files changed, 835 insertions(+)
- create mode 100644 vendor/libc-0.2.106/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
-
---- a/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/b64/mod.rs
-+++ b/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/b64/mod.rs
-@@ -163,6 +163,9 @@ cfg_if! {
-     } else if #[cfg(any(target_arch = "x86_64"))] {
-         mod x86_64;
-         pub use self::x86_64::*;
-+    } else if #[cfg(any(target_arch = "riscv64"))] {
-+        mod riscv64;
-+        pub use self::riscv64::*;
-     } else {
-         // Unknown target_arch
-     }
---- /dev/null
-+++ b/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
-@@ -0,0 +1,832 @@
-+//! RISC-V-specific definitions for 64-bit linux-like values
-+
-+pub type c_char = u8;
-+pub type c_long = i64;
-+pub type c_ulong = u64;
-+pub type wchar_t = ::c_int;
-+
-+pub type nlink_t = ::c_uint;
-+pub type blksize_t = ::c_int;
-+pub type fsblkcnt64_t = ::c_ulong;
-+pub type fsfilcnt64_t = ::c_ulong;
-+pub type suseconds_t = i64;
-+pub type __u64 = ::c_ulonglong;
-+
-+s! {
-+    pub struct pthread_attr_t {
-+        __size: [::c_ulong; 7],
-+    }
-+
-+    pub struct stat {
-+        pub st_dev: ::dev_t,
-+        pub st_ino: ::ino_t,
-+        pub st_mode: ::mode_t,
-+        pub st_nlink: ::nlink_t,
-+        pub st_uid: ::uid_t,
-+        pub st_gid: ::gid_t,
-+        pub st_rdev: ::dev_t,
-+        pub __pad1: ::dev_t,
-+        pub st_size: ::off_t,
-+        pub st_blksize: ::blksize_t,
-+        pub __pad2: ::c_int,
-+        pub st_blocks: ::blkcnt_t,
-+        pub st_atime: ::time_t,
-+        pub st_atime_nsec: ::c_long,
-+        pub st_mtime: ::time_t,
-+        pub st_mtime_nsec: ::c_long,
-+        pub st_ctime: ::time_t,
-+        pub st_ctime_nsec: ::c_long,
-+        __unused: [::c_int; 2usize],
-+    }
-+
-+    pub struct stat64 {
-+        pub st_dev: ::dev_t,
-+        pub st_ino: ::ino64_t,
-+        pub st_mode: ::mode_t,
-+        pub st_nlink: ::nlink_t,
-+        pub st_uid: ::uid_t,
-+        pub st_gid: ::gid_t,
-+        pub st_rdev: ::dev_t,
-+        pub __pad1: ::dev_t,
-+        pub st_size: ::off64_t,
-+        pub st_blksize: ::blksize_t,
-+        pub __pad2: ::c_int,
-+        pub st_blocks: ::blkcnt_t,
-+        pub st_atime: ::time_t,
-+        pub st_atime_nsec: ::c_long,
-+        pub st_mtime: ::time_t,
-+        pub st_mtime_nsec: ::c_long,
-+        pub st_ctime: ::time_t,
-+        pub st_ctime_nsec: ::c_long,
-+        __unused: [::c_int; 2],
-+    }
-+
-+    pub struct statfs {
-+        pub f_type: ::c_long,
-+        pub f_bsize: ::c_long,
-+        pub f_blocks: ::fsblkcnt_t,
-+        pub f_bfree: ::fsblkcnt_t,
-+        pub f_bavail: ::fsblkcnt_t,
-+        pub f_files: ::fsfilcnt_t,
-+        pub f_ffree: ::fsfilcnt_t,
-+        pub f_fsid: ::fsid_t,
-+        pub f_namelen: ::c_long,
-+        pub f_frsize: ::c_long,
-+        pub f_flags: ::c_long,
-+        pub f_spare: [::c_long; 4],
-+    }
-+
-+    pub struct statfs64 {
-+        pub f_type: ::c_long,
-+        pub f_bsize: ::c_long,
-+        pub f_blocks: ::fsblkcnt64_t,
-+        pub f_bfree: ::fsblkcnt64_t,
-+        pub f_bavail: ::fsblkcnt64_t,
-+        pub f_files: ::fsfilcnt64_t,
-+        pub f_ffree: ::fsfilcnt64_t,
-+        pub f_fsid: ::fsid_t,
-+        pub f_namelen: ::c_long,
-+        pub f_frsize: ::c_long,
-+        pub f_flags: ::c_long,
-+        pub f_spare: [::c_long; 4],
-+    }
-+
-+    pub struct statvfs {
-+        pub f_bsize: ::c_ulong,
-+        pub f_frsize: ::c_ulong,
-+        pub f_blocks: ::fsblkcnt_t,
-+        pub f_bfree: ::fsblkcnt_t,
-+        pub f_bavail: ::fsblkcnt_t,
-+        pub f_files: ::fsfilcnt_t,
-+        pub f_ffree: ::fsfilcnt_t,
-+        pub f_favail: ::fsfilcnt_t,
-+        pub f_fsid: ::c_ulong,
-+        pub f_flag: ::c_ulong,
-+        pub f_namemax: ::c_ulong,
-+        pub __f_spare: [::c_int; 6],
-+    }
-+
-+    pub struct statvfs64 {
-+        pub f_bsize: ::c_ulong,
-+        pub f_frsize: ::c_ulong,
-+        pub f_blocks: ::fsblkcnt64_t,
-+        pub f_bfree: ::fsblkcnt64_t,
-+        pub f_bavail: ::fsblkcnt64_t,
-+        pub f_files: ::fsfilcnt64_t,
-+        pub f_ffree: ::fsfilcnt64_t,
-+        pub f_favail: ::fsfilcnt64_t,
-+        pub f_fsid: ::c_ulong,
-+        pub f_flag: ::c_ulong,
-+        pub f_namemax: ::c_ulong,
-+        pub __f_spare: [::c_int; 6],
-+    }
-+
-+    pub struct siginfo_t {
-+        pub si_signo: ::c_int,
-+        pub si_errno: ::c_int,
-+        pub si_code: ::c_int,
-+        #[doc(hidden)]
-+        #[deprecated(
-+            since="0.2.54",
-+            note="Please leave a comment on \
-+                  https://github.com/rust-lang/libc/pull/1316 if you're using \
-+                  this field"
-+        )]
-+        pub _pad: [::c_int; 29],
-+        _align: [u64; 0],
-+    }
-+
-+    pub struct stack_t {
-+        pub ss_sp: *mut ::c_void,
-+        pub ss_flags: ::c_int,
-+        pub ss_size: ::size_t,
-+    }
-+
-+    pub struct sigaction {
-+        pub sa_sigaction: ::sighandler_t,
-+        pub sa_mask: ::sigset_t,
-+        pub sa_flags: ::c_int,
-+        pub sa_restorer: ::Option<unsafe extern "C" fn()>,
-+    }
-+
-+    pub struct ipc_perm {
-+        pub __key: ::key_t,
-+        pub uid: ::uid_t,
-+        pub gid: ::gid_t,
-+        pub cuid: ::uid_t,
-+        pub cgid: ::gid_t,
-+        pub mode: ::c_ushort,
-+        __pad1: ::c_ushort,
-+        pub __seq: ::c_ushort,
-+        __pad2: ::c_ushort,
-+        __unused1: ::c_ulong,
-+        __unused2: ::c_ulong,
-+    }
-+
-+    pub struct shmid_ds {
-+        pub shm_perm: ::ipc_perm,
-+        pub shm_segsz: ::size_t,
-+        pub shm_atime: ::time_t,
-+        pub shm_dtime: ::time_t,
-+        pub shm_ctime: ::time_t,
-+        pub shm_cpid: ::pid_t,
-+        pub shm_lpid: ::pid_t,
-+        pub shm_nattch: ::shmatt_t,
-+        __unused5: ::c_ulong,
-+        __unused6: ::c_ulong,
-+    }
-+
-+    pub struct flock {
-+        pub l_type: ::c_short,
-+        pub l_whence: ::c_short,
-+        pub l_start: ::off_t,
-+        pub l_len: ::off_t,
-+        pub l_pid: ::pid_t,
-+    }
-+
-+    pub struct flock64 {
-+        pub l_type: ::c_short,
-+        pub l_whence: ::c_short,
-+        pub l_start: ::off64_t,
-+        pub l_len: ::off64_t,
-+        pub l_pid: ::pid_t,
-+    }
-+
-+    pub struct ip_mreqn {
-+        pub imr_multiaddr: ::in_addr,
-+        pub imr_address: ::in_addr,
-+        pub imr_ifindex: ::c_int,
-+    }
-+}
-+
-+pub const POSIX_FADV_DONTNEED: ::c_int = 4;
-+pub const POSIX_FADV_NOREUSE: ::c_int = 5;
-+pub const VEOF: usize = 4;
-+pub const RTLD_DEEPBIND: ::c_int = 0x8;
-+pub const RTLD_GLOBAL: ::c_int = 0x100;
-+pub const RTLD_NOLOAD: ::c_int = 0x4;
-+pub const TIOCGSOFTCAR: ::c_ulong = 21529;
-+pub const TIOCSSOFTCAR: ::c_ulong = 21530;
-+pub const TIOCGRS485: ::c_int = 21550;
-+pub const TIOCSRS485: ::c_int = 21551;
-+pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
-+pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
-+pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
-+pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
-+pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
-+pub const O_APPEND: ::c_int = 1024;
-+pub const O_CREAT: ::c_int = 64;
-+pub const O_EXCL: ::c_int = 128;
-+pub const O_NOCTTY: ::c_int = 256;
-+pub const O_NONBLOCK: ::c_int = 2048;
-+pub const O_SYNC: ::c_int = 1052672;
-+pub const O_RSYNC: ::c_int = 1052672;
-+pub const O_DSYNC: ::c_int = 4096;
-+pub const O_FSYNC: ::c_int = 1052672;
-+pub const O_NOATIME: ::c_int = 262144;
-+pub const O_PATH: ::c_int = 2097152;
-+pub const O_TMPFILE: ::c_int = 4259840;
-+pub const MAP_GROWSDOWN: ::c_int = 256;
-+pub const EDEADLK: ::c_int = 35;
-+pub const ENAMETOOLONG: ::c_int = 36;
-+pub const ENOLCK: ::c_int = 37;
-+pub const ENOSYS: ::c_int = 38;
-+pub const ENOTEMPTY: ::c_int = 39;
-+pub const ELOOP: ::c_int = 40;
-+pub const ENOMSG: ::c_int = 42;
-+pub const EIDRM: ::c_int = 43;
-+pub const ECHRNG: ::c_int = 44;
-+pub const EL2NSYNC: ::c_int = 45;
-+pub const EL3HLT: ::c_int = 46;
-+pub const EL3RST: ::c_int = 47;
-+pub const ELNRNG: ::c_int = 48;
-+pub const EUNATCH: ::c_int = 49;
-+pub const ENOCSI: ::c_int = 50;
-+pub const EL2HLT: ::c_int = 51;
-+pub const EBADE: ::c_int = 52;
-+pub const EBADR: ::c_int = 53;
-+pub const EXFULL: ::c_int = 54;
-+pub const ENOANO: ::c_int = 55;
-+pub const EBADRQC: ::c_int = 56;
-+pub const EBADSLT: ::c_int = 57;
-+pub const EMULTIHOP: ::c_int = 72;
-+pub const EOVERFLOW: ::c_int = 75;
-+pub const ENOTUNIQ: ::c_int = 76;
-+pub const EBADFD: ::c_int = 77;
-+pub const EBADMSG: ::c_int = 74;
-+pub const EREMCHG: ::c_int = 78;
-+pub const ELIBACC: ::c_int = 79;
-+pub const ELIBBAD: ::c_int = 80;
-+pub const ELIBSCN: ::c_int = 81;
-+pub const ELIBMAX: ::c_int = 82;
-+pub const ELIBEXEC: ::c_int = 83;
-+pub const EILSEQ: ::c_int = 84;
-+pub const ERESTART: ::c_int = 85;
-+pub const ESTRPIPE: ::c_int = 86;
-+pub const EUSERS: ::c_int = 87;
-+pub const ENOTSOCK: ::c_int = 88;
-+pub const EDESTADDRREQ: ::c_int = 89;
-+pub const EMSGSIZE: ::c_int = 90;
-+pub const EPROTOTYPE: ::c_int = 91;
-+pub const ENOPROTOOPT: ::c_int = 92;
-+pub const EPROTONOSUPPORT: ::c_int = 93;
-+pub const ESOCKTNOSUPPORT: ::c_int = 94;
-+pub const EOPNOTSUPP: ::c_int = 95;
-+pub const EPFNOSUPPORT: ::c_int = 96;
-+pub const EAFNOSUPPORT: ::c_int = 97;
-+pub const EADDRINUSE: ::c_int = 98;
-+pub const EADDRNOTAVAIL: ::c_int = 99;
-+pub const ENETDOWN: ::c_int = 100;
-+pub const ENETUNREACH: ::c_int = 101;
-+pub const ENETRESET: ::c_int = 102;
-+pub const ECONNABORTED: ::c_int = 103;
-+pub const ECONNRESET: ::c_int = 104;
-+pub const ENOBUFS: ::c_int = 105;
-+pub const EISCONN: ::c_int = 106;
-+pub const ENOTCONN: ::c_int = 107;
-+pub const ESHUTDOWN: ::c_int = 108;
-+pub const ETOOMANYREFS: ::c_int = 109;
-+pub const ETIMEDOUT: ::c_int = 110;
-+pub const ECONNREFUSED: ::c_int = 111;
-+pub const EHOSTDOWN: ::c_int = 112;
-+pub const EHOSTUNREACH: ::c_int = 113;
-+pub const EALREADY: ::c_int = 114;
-+pub const EINPROGRESS: ::c_int = 115;
-+pub const ESTALE: ::c_int = 116;
-+pub const EDQUOT: ::c_int = 122;
-+pub const ENOMEDIUM: ::c_int = 123;
-+pub const EMEDIUMTYPE: ::c_int = 124;
-+pub const ECANCELED: ::c_int = 125;
-+pub const ENOKEY: ::c_int = 126;
-+pub const EKEYEXPIRED: ::c_int = 127;
-+pub const EKEYREVOKED: ::c_int = 128;
-+pub const EKEYREJECTED: ::c_int = 129;
-+pub const EOWNERDEAD: ::c_int = 130;
-+pub const ENOTRECOVERABLE: ::c_int = 131;
-+pub const EHWPOISON: ::c_int = 133;
-+pub const ERFKILL: ::c_int = 132;
-+
-+pub const SOCK_STREAM: ::c_int = 1;
-+pub const SOCK_DGRAM: ::c_int = 2;
-+pub const SA_ONSTACK: ::c_int = 134217728;
-+pub const SA_SIGINFO: ::c_int = 4;
-+pub const SA_NOCLDWAIT: ::c_int = 2;
-+pub const SIGTTIN: ::c_int = 21;
-+pub const SIGTTOU: ::c_int = 22;
-+pub const SIGXCPU: ::c_int = 24;
-+pub const SIGXFSZ: ::c_int = 25;
-+pub const SIGVTALRM: ::c_int = 26;
-+pub const SIGPROF: ::c_int = 27;
-+pub const SIGWINCH: ::c_int = 28;
-+pub const SIGCHLD: ::c_int = 17;
-+pub const SIGBUS: ::c_int = 7;
-+pub const SIGUSR1: ::c_int = 10;
-+pub const SIGUSR2: ::c_int = 12;
-+pub const SIGCONT: ::c_int = 18;
-+pub const SIGSTOP: ::c_int = 19;
-+pub const SIGTSTP: ::c_int = 20;
-+pub const SIGURG: ::c_int = 23;
-+pub const SIGIO: ::c_int = 29;
-+pub const SIGSYS: ::c_int = 31;
-+pub const SIGSTKFLT: ::c_int = 16;
-+pub const SIGPOLL: ::c_int = 29;
-+pub const SIGPWR: ::c_int = 30;
-+pub const SIG_SETMASK: ::c_int = 2;
-+pub const SIG_BLOCK: ::c_int = 0;
-+pub const SIG_UNBLOCK: ::c_int = 1;
-+pub const POLLWRNORM: ::c_short = 256;
-+pub const POLLWRBAND: ::c_short = 512;
-+pub const O_ASYNC: ::c_int = 8192;
-+pub const O_NDELAY: ::c_int = 2048;
-+pub const PTRACE_DETACH: ::c_uint = 17;
-+pub const EFD_NONBLOCK: ::c_int = 2048;
-+pub const F_GETLK: ::c_int = 5;
-+pub const F_GETOWN: ::c_int = 9;
-+pub const F_SETOWN: ::c_int = 8;
-+pub const F_SETLK: ::c_int = 6;
-+pub const F_SETLKW: ::c_int = 7;
-+pub const F_RDLCK: ::c_int = 0;
-+pub const F_WRLCK: ::c_int = 1;
-+pub const F_UNLCK: ::c_int = 2;
-+pub const F_OFD_GETLK: ::c_int = 36;
-+pub const F_OFD_SETLK: ::c_int = 37;
-+pub const F_OFD_SETLKW: ::c_int = 38;
-+pub const SFD_NONBLOCK: ::c_int = 2048;
-+pub const TCSANOW: ::c_int = 0;
-+pub const TCSADRAIN: ::c_int = 1;
-+pub const TCSAFLUSH: ::c_int = 2;
-+pub const TIOCLINUX: ::c_ulong = 21532;
-+pub const TIOCGSERIAL: ::c_ulong = 21534;
-+pub const TIOCEXCL: ::c_ulong = 21516;
-+pub const TIOCNXCL: ::c_ulong = 21517;
-+pub const TIOCSCTTY: ::c_ulong = 21518;
-+pub const TIOCSTI: ::c_ulong = 21522;
-+pub const TIOCMGET: ::c_ulong = 21525;
-+pub const TIOCMBIS: ::c_ulong = 21526;
-+pub const TIOCMBIC: ::c_ulong = 21527;
-+pub const TIOCMSET: ::c_ulong = 21528;
-+pub const TIOCCONS: ::c_ulong = 21533;
-+pub const TIOCM_ST: ::c_int = 8;
-+pub const TIOCM_SR: ::c_int = 16;
-+pub const TIOCM_CTS: ::c_int = 32;
-+pub const TIOCM_CAR: ::c_int = 64;
-+pub const TIOCM_RNG: ::c_int = 128;
-+pub const TIOCM_DSR: ::c_int = 256;
-+pub const SFD_CLOEXEC: ::c_int = 524288;
-+pub const NCCS: usize = 32;
-+pub const O_TRUNC: ::c_int = 512;
-+pub const O_CLOEXEC: ::c_int = 524288;
-+pub const EBFONT: ::c_int = 59;
-+pub const ENOSTR: ::c_int = 60;
-+pub const ENODATA: ::c_int = 61;
-+pub const ETIME: ::c_int = 62;
-+pub const ENOSR: ::c_int = 63;
-+pub const ENONET: ::c_int = 64;
-+pub const ENOPKG: ::c_int = 65;
-+pub const EREMOTE: ::c_int = 66;
-+pub const ENOLINK: ::c_int = 67;
-+pub const EADV: ::c_int = 68;
-+pub const ESRMNT: ::c_int = 69;
-+pub const ECOMM: ::c_int = 70;
-+pub const EPROTO: ::c_int = 71;
-+pub const EDOTDOT: ::c_int = 73;
-+pub const SA_NODEFER: ::c_int = 1073741824;
-+pub const SA_RESETHAND: ::c_int = -2147483648;
-+pub const SA_RESTART: ::c_int = 268435456;
-+pub const SA_NOCLDSTOP: ::c_int = 1;
-+pub const EPOLL_CLOEXEC: ::c_int = 524288;
-+pub const EFD_CLOEXEC: ::c_int = 524288;
-+pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
-+pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
-+pub const O_DIRECT: ::c_int = 16384;
-+pub const O_DIRECTORY: ::c_int = 65536;
-+pub const O_NOFOLLOW: ::c_int = 131072;
-+pub const MAP_HUGETLB: ::c_int = 262144;
-+pub const MAP_LOCKED: ::c_int = 8192;
-+pub const MAP_NORESERVE: ::c_int = 16384;
-+pub const MAP_ANON: ::c_int = 32;
-+pub const MAP_ANONYMOUS: ::c_int = 32;
-+pub const MAP_DENYWRITE: ::c_int = 2048;
-+pub const MAP_EXECUTABLE: ::c_int = 4096;
-+pub const MAP_POPULATE: ::c_int = 32768;
-+pub const MAP_NONBLOCK: ::c_int = 65536;
-+pub const MAP_STACK: ::c_int = 131072;
-+pub const MAP_SYNC: ::c_int = 0x080000;
-+pub const EDEADLOCK: ::c_int = 35;
-+pub const EUCLEAN: ::c_int = 117;
-+pub const ENOTNAM: ::c_int = 118;
-+pub const ENAVAIL: ::c_int = 119;
-+pub const EISNAM: ::c_int = 120;
-+pub const EREMOTEIO: ::c_int = 121;
-+pub const FIOCLEX: ::c_ulong = 21585;
-+pub const FIONCLEX: ::c_ulong = 21584;
-+pub const FIONBIO: ::c_ulong = 21537;
-+pub const MCL_CURRENT: ::c_int = 1;
-+pub const MCL_FUTURE: ::c_int = 2;
-+pub const SIGSTKSZ: ::size_t = 8192;
-+pub const MINSIGSTKSZ: ::size_t = 2048;
-+pub const CBAUD: ::tcflag_t = 4111;
-+pub const TAB1: ::tcflag_t = 2048;
-+pub const TAB2: ::tcflag_t = 4096;
-+pub const TAB3: ::tcflag_t = 6144;
-+pub const CR1: ::tcflag_t = 512;
-+pub const CR2: ::tcflag_t = 1024;
-+pub const CR3: ::tcflag_t = 1536;
-+pub const FF1: ::tcflag_t = 32768;
-+pub const BS1: ::tcflag_t = 8192;
-+pub const VT1: ::tcflag_t = 16384;
-+pub const VWERASE: usize = 14;
-+pub const VREPRINT: usize = 12;
-+pub const VSUSP: usize = 10;
-+pub const VSTART: usize = 8;
-+pub const VSTOP: usize = 9;
-+pub const VDISCARD: usize = 13;
-+pub const VTIME: usize = 5;
-+pub const IXON: ::tcflag_t = 1024;
-+pub const IXOFF: ::tcflag_t = 4096;
-+pub const ONLCR: ::tcflag_t = 4;
-+pub const CSIZE: ::tcflag_t = 48;
-+pub const CS6: ::tcflag_t = 16;
-+pub const CS7: ::tcflag_t = 32;
-+pub const CS8: ::tcflag_t = 48;
-+pub const CSTOPB: ::tcflag_t = 64;
-+pub const CREAD: ::tcflag_t = 128;
-+pub const PARENB: ::tcflag_t = 256;
-+pub const PARODD: ::tcflag_t = 512;
-+pub const HUPCL: ::tcflag_t = 1024;
-+pub const CLOCAL: ::tcflag_t = 2048;
-+pub const ECHOKE: ::tcflag_t = 2048;
-+pub const ECHOE: ::tcflag_t = 16;
-+pub const ECHOK: ::tcflag_t = 32;
-+pub const ECHONL: ::tcflag_t = 64;
-+pub const ECHOPRT: ::tcflag_t = 1024;
-+pub const ECHOCTL: ::tcflag_t = 512;
-+pub const ISIG: ::tcflag_t = 1;
-+pub const ICANON: ::tcflag_t = 2;
-+pub const PENDIN: ::tcflag_t = 16384;
-+pub const NOFLSH: ::tcflag_t = 128;
-+pub const CIBAUD: ::tcflag_t = 269418496;
-+pub const CBAUDEX: ::tcflag_t = 4096;
-+pub const VSWTC: usize = 7;
-+pub const OLCUC: ::tcflag_t = 2;
-+pub const NLDLY: ::tcflag_t = 256;
-+pub const CRDLY: ::tcflag_t = 1536;
-+pub const TABDLY: ::tcflag_t = 6144;
-+pub const BSDLY: ::tcflag_t = 8192;
-+pub const FFDLY: ::tcflag_t = 32768;
-+pub const VTDLY: ::tcflag_t = 16384;
-+pub const XTABS: ::tcflag_t = 6144;
-+pub const B0: ::speed_t = 0;
-+pub const B50: ::speed_t = 1;
-+pub const B75: ::speed_t = 2;
-+pub const B110: ::speed_t = 3;
-+pub const B134: ::speed_t = 4;
-+pub const B150: ::speed_t = 5;
-+pub const B200: ::speed_t = 6;
-+pub const B300: ::speed_t = 7;
-+pub const B600: ::speed_t = 8;
-+pub const B1200: ::speed_t = 9;
-+pub const B1800: ::speed_t = 10;
-+pub const B2400: ::speed_t = 11;
-+pub const B4800: ::speed_t = 12;
-+pub const B9600: ::speed_t = 13;
-+pub const B19200: ::speed_t = 14;
-+pub const B38400: ::speed_t = 15;
-+pub const EXTA: ::speed_t = 14;
-+pub const EXTB: ::speed_t = 15;
-+pub const B57600: ::speed_t = 4097;
-+pub const B115200: ::speed_t = 4098;
-+pub const B230400: ::speed_t = 4099;
-+pub const B460800: ::speed_t = 4100;
-+pub const B500000: ::speed_t = 4101;
-+pub const B576000: ::speed_t = 4102;
-+pub const B921600: ::speed_t = 4103;
-+pub const B1000000: ::speed_t = 4104;
-+pub const B1152000: ::speed_t = 4105;
-+pub const B1500000: ::speed_t = 4106;
-+pub const B2000000: ::speed_t = 4107;
-+pub const B2500000: ::speed_t = 4108;
-+pub const B3000000: ::speed_t = 4109;
-+pub const B3500000: ::speed_t = 4110;
-+pub const B4000000: ::speed_t = 4111;
-+pub const VEOL: usize = 11;
-+pub const VEOL2: usize = 16;
-+pub const VMIN: usize = 6;
-+pub const IEXTEN: ::tcflag_t = 32768;
-+pub const TOSTOP: ::tcflag_t = 256;
-+pub const FLUSHO: ::tcflag_t = 4096;
-+pub const EXTPROC: ::tcflag_t = 65536;
-+pub const TCGETS: ::c_ulong = 21505;
-+pub const TCSETS: ::c_ulong = 21506;
-+pub const TCSETSW: ::c_ulong = 21507;
-+pub const TCSETSF: ::c_ulong = 21508;
-+pub const TCGETA: ::c_ulong = 21509;
-+pub const TCSETA: ::c_ulong = 21510;
-+pub const TCSETAW: ::c_ulong = 21511;
-+pub const TCSETAF: ::c_ulong = 21512;
-+pub const TCSBRK: ::c_ulong = 21513;
-+pub const TCXONC: ::c_ulong = 21514;
-+pub const TCFLSH: ::c_ulong = 21515;
-+pub const TIOCINQ: ::c_ulong = 21531;
-+pub const TIOCGPGRP: ::c_ulong = 21519;
-+pub const TIOCSPGRP: ::c_ulong = 21520;
-+pub const TIOCOUTQ: ::c_ulong = 21521;
-+pub const TIOCGWINSZ: ::c_ulong = 21523;
-+pub const TIOCSWINSZ: ::c_ulong = 21524;
-+pub const FIONREAD: ::c_ulong = 21531;
-+pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
-+pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
-+pub const SYS_read: ::c_long = 63;
-+pub const SYS_write: ::c_long = 64;
-+pub const SYS_close: ::c_long = 57;
-+pub const SYS_fstat: ::c_long = 80;
-+pub const SYS_lseek: ::c_long = 62;
-+pub const SYS_mmap: ::c_long = 222;
-+pub const SYS_mprotect: ::c_long = 226;
-+pub const SYS_munmap: ::c_long = 215;
-+pub const SYS_brk: ::c_long = 214;
-+pub const SYS_rt_sigaction: ::c_long = 134;
-+pub const SYS_rt_sigprocmask: ::c_long = 135;
-+pub const SYS_rt_sigreturn: ::c_long = 139;
-+pub const SYS_ioctl: ::c_long = 29;
-+pub const SYS_pread64: ::c_long = 67;
-+pub const SYS_pwrite64: ::c_long = 68;
-+pub const SYS_readv: ::c_long = 65;
-+pub const SYS_writev: ::c_long = 66;
-+pub const SYS_sched_yield: ::c_long = 124;
-+pub const SYS_mremap: ::c_long = 216;
-+pub const SYS_msync: ::c_long = 227;
-+pub const SYS_mincore: ::c_long = 232;
-+pub const SYS_madvise: ::c_long = 233;
-+pub const SYS_shmget: ::c_long = 194;
-+pub const SYS_shmat: ::c_long = 196;
-+pub const SYS_shmctl: ::c_long = 195;
-+pub const SYS_dup: ::c_long = 23;
-+pub const SYS_nanosleep: ::c_long = 101;
-+pub const SYS_getitimer: ::c_long = 102;
-+pub const SYS_setitimer: ::c_long = 103;
-+pub const SYS_getpid: ::c_long = 172;
-+pub const SYS_sendfile: ::c_long = 71;
-+pub const SYS_socket: ::c_long = 198;
-+pub const SYS_connect: ::c_long = 203;
-+pub const SYS_accept: ::c_long = 202;
-+pub const SYS_sendto: ::c_long = 206;
-+pub const SYS_recvfrom: ::c_long = 207;
-+pub const SYS_sendmsg: ::c_long = 211;
-+pub const SYS_recvmsg: ::c_long = 212;
-+pub const SYS_shutdown: ::c_long = 210;
-+pub const SYS_bind: ::c_long = 200;
-+pub const SYS_listen: ::c_long = 201;
-+pub const SYS_getsockname: ::c_long = 204;
-+pub const SYS_getpeername: ::c_long = 205;
-+pub const SYS_socketpair: ::c_long = 199;
-+pub const SYS_setsockopt: ::c_long = 208;
-+pub const SYS_getsockopt: ::c_long = 209;
-+pub const SYS_clone: ::c_long = 220;
-+pub const SYS_execve: ::c_long = 221;
-+pub const SYS_exit: ::c_long = 93;
-+pub const SYS_wait4: ::c_long = 260;
-+pub const SYS_kill: ::c_long = 129;
-+pub const SYS_uname: ::c_long = 160;
-+pub const SYS_semget: ::c_long = 190;
-+pub const SYS_semop: ::c_long = 193;
-+pub const SYS_semctl: ::c_long = 191;
-+pub const SYS_shmdt: ::c_long = 197;
-+pub const SYS_msgget: ::c_long = 186;
-+pub const SYS_msgsnd: ::c_long = 189;
-+pub const SYS_msgrcv: ::c_long = 188;
-+pub const SYS_msgctl: ::c_long = 187;
-+pub const SYS_fcntl: ::c_long = 25;
-+pub const SYS_flock: ::c_long = 32;
-+pub const SYS_fsync: ::c_long = 82;
-+pub const SYS_fdatasync: ::c_long = 83;
-+pub const SYS_truncate: ::c_long = 45;
-+pub const SYS_ftruncate: ::c_long = 46;
-+pub const SYS_getcwd: ::c_long = 17;
-+pub const SYS_chdir: ::c_long = 49;
-+pub const SYS_fchdir: ::c_long = 50;
-+pub const SYS_fchmod: ::c_long = 52;
-+pub const SYS_fchown: ::c_long = 55;
-+pub const SYS_umask: ::c_long = 166;
-+pub const SYS_gettimeofday: ::c_long = 169;
-+pub const SYS_getrlimit: ::c_long = 163;
-+pub const SYS_getrusage: ::c_long = 165;
-+pub const SYS_sysinfo: ::c_long = 179;
-+pub const SYS_times: ::c_long = 153;
-+pub const SYS_ptrace: ::c_long = 117;
-+pub const SYS_getuid: ::c_long = 174;
-+pub const SYS_syslog: ::c_long = 116;
-+pub const SYS_getgid: ::c_long = 176;
-+pub const SYS_setuid: ::c_long = 146;
-+pub const SYS_setgid: ::c_long = 144;
-+pub const SYS_geteuid: ::c_long = 175;
-+pub const SYS_getegid: ::c_long = 177;
-+pub const SYS_setpgid: ::c_long = 154;
-+pub const SYS_getppid: ::c_long = 173;
-+pub const SYS_setsid: ::c_long = 157;
-+pub const SYS_setreuid: ::c_long = 145;
-+pub const SYS_setregid: ::c_long = 143;
-+pub const SYS_getgroups: ::c_long = 158;
-+pub const SYS_setgroups: ::c_long = 159;
-+pub const SYS_setresuid: ::c_long = 147;
-+pub const SYS_getresuid: ::c_long = 148;
-+pub const SYS_setresgid: ::c_long = 149;
-+pub const SYS_getresgid: ::c_long = 150;
-+pub const SYS_getpgid: ::c_long = 155;
-+pub const SYS_setfsuid: ::c_long = 151;
-+pub const SYS_setfsgid: ::c_long = 152;
-+pub const SYS_getsid: ::c_long = 156;
-+pub const SYS_capget: ::c_long = 90;
-+pub const SYS_capset: ::c_long = 91;
-+pub const SYS_rt_sigpending: ::c_long = 136;
-+pub const SYS_rt_sigtimedwait: ::c_long = 137;
-+pub const SYS_rt_sigqueueinfo: ::c_long = 138;
-+pub const SYS_rt_sigsuspend: ::c_long = 133;
-+pub const SYS_sigaltstack: ::c_long = 132;
-+pub const SYS_personality: ::c_long = 92;
-+pub const SYS_statfs: ::c_long = 43;
-+pub const SYS_fstatfs: ::c_long = 44;
-+pub const SYS_getpriority: ::c_long = 141;
-+pub const SYS_setpriority: ::c_long = 140;
-+pub const SYS_sched_setparam: ::c_long = 118;
-+pub const SYS_sched_getparam: ::c_long = 121;
-+pub const SYS_sched_setscheduler: ::c_long = 119;
-+pub const SYS_sched_getscheduler: ::c_long = 120;
-+pub const SYS_sched_get_priority_max: ::c_long = 125;
-+pub const SYS_sched_get_priority_min: ::c_long = 126;
-+pub const SYS_sched_rr_get_interval: ::c_long = 127;
-+pub const SYS_mlock: ::c_long = 228;
-+pub const SYS_munlock: ::c_long = 229;
-+pub const SYS_mlockall: ::c_long = 230;
-+pub const SYS_munlockall: ::c_long = 231;
-+pub const SYS_vhangup: ::c_long = 58;
-+pub const SYS_pivot_root: ::c_long = 41;
-+pub const SYS_prctl: ::c_long = 167;
-+pub const SYS_adjtimex: ::c_long = 171;
-+pub const SYS_setrlimit: ::c_long = 164;
-+pub const SYS_chroot: ::c_long = 51;
-+pub const SYS_sync: ::c_long = 81;
-+pub const SYS_acct: ::c_long = 89;
-+pub const SYS_settimeofday: ::c_long = 170;
-+pub const SYS_mount: ::c_long = 40;
-+pub const SYS_umount2: ::c_long = 39;
-+pub const SYS_swapon: ::c_long = 224;
-+pub const SYS_swapoff: ::c_long = 225;
-+pub const SYS_reboot: ::c_long = 142;
-+pub const SYS_sethostname: ::c_long = 161;
-+pub const SYS_setdomainname: ::c_long = 162;
-+pub const SYS_init_module: ::c_long = 105;
-+pub const SYS_delete_module: ::c_long = 106;
-+pub const SYS_quotactl: ::c_long = 60;
-+pub const SYS_nfsservctl: ::c_long = 42;
-+pub const SYS_gettid: ::c_long = 178;
-+pub const SYS_readahead: ::c_long = 213;
-+pub const SYS_setxattr: ::c_long = 5;
-+pub const SYS_lsetxattr: ::c_long = 6;
-+pub const SYS_fsetxattr: ::c_long = 7;
-+pub const SYS_getxattr: ::c_long = 8;
-+pub const SYS_lgetxattr: ::c_long = 9;
-+pub const SYS_fgetxattr: ::c_long = 10;
-+pub const SYS_listxattr: ::c_long = 11;
-+pub const SYS_llistxattr: ::c_long = 12;
-+pub const SYS_flistxattr: ::c_long = 13;
-+pub const SYS_removexattr: ::c_long = 14;
-+pub const SYS_lremovexattr: ::c_long = 15;
-+pub const SYS_fremovexattr: ::c_long = 16;
-+pub const SYS_tkill: ::c_long = 130;
-+pub const SYS_futex: ::c_long = 98;
-+pub const SYS_sched_setaffinity: ::c_long = 122;
-+pub const SYS_sched_getaffinity: ::c_long = 123;
-+pub const SYS_io_setup: ::c_long = 0;
-+pub const SYS_io_destroy: ::c_long = 1;
-+pub const SYS_io_getevents: ::c_long = 4;
-+pub const SYS_io_submit: ::c_long = 2;
-+pub const SYS_io_cancel: ::c_long = 3;
-+pub const SYS_lookup_dcookie: ::c_long = 18;
-+pub const SYS_remap_file_pages: ::c_long = 234;
-+pub const SYS_getdents64: ::c_long = 61;
-+pub const SYS_set_tid_address: ::c_long = 96;
-+pub const SYS_restart_syscall: ::c_long = 128;
-+pub const SYS_semtimedop: ::c_long = 192;
-+pub const SYS_fadvise64: ::c_long = 223;
-+pub const SYS_timer_create: ::c_long = 107;
-+pub const SYS_timer_settime: ::c_long = 110;
-+pub const SYS_timer_gettime: ::c_long = 108;
-+pub const SYS_timer_getoverrun: ::c_long = 109;
-+pub const SYS_timer_delete: ::c_long = 111;
-+pub const SYS_clock_settime: ::c_long = 112;
-+pub const SYS_clock_gettime: ::c_long = 113;
-+pub const SYS_clock_getres: ::c_long = 114;
-+pub const SYS_clock_nanosleep: ::c_long = 115;
-+pub const SYS_exit_group: ::c_long = 94;
-+pub const SYS_epoll_ctl: ::c_long = 21;
-+pub const SYS_tgkill: ::c_long = 131;
-+pub const SYS_mbind: ::c_long = 235;
-+pub const SYS_set_mempolicy: ::c_long = 237;
-+pub const SYS_get_mempolicy: ::c_long = 236;
-+pub const SYS_mq_open: ::c_long = 180;
-+pub const SYS_mq_unlink: ::c_long = 181;
-+pub const SYS_mq_timedsend: ::c_long = 182;
-+pub const SYS_mq_timedreceive: ::c_long = 183;
-+pub const SYS_mq_notify: ::c_long = 184;
-+pub const SYS_mq_getsetattr: ::c_long = 185;
-+pub const SYS_kexec_load: ::c_long = 104;
-+pub const SYS_waitid: ::c_long = 95;
-+pub const SYS_add_key: ::c_long = 217;
-+pub const SYS_request_key: ::c_long = 218;
-+pub const SYS_keyctl: ::c_long = 219;
-+pub const SYS_ioprio_set: ::c_long = 30;
-+pub const SYS_ioprio_get: ::c_long = 31;
-+pub const SYS_inotify_add_watch: ::c_long = 27;
-+pub const SYS_inotify_rm_watch: ::c_long = 28;
-+pub const SYS_migrate_pages: ::c_long = 238;
-+pub const SYS_openat: ::c_long = 56;
-+pub const SYS_mkdirat: ::c_long = 34;
-+pub const SYS_mknodat: ::c_long = 33;
-+pub const SYS_fchownat: ::c_long = 54;
-+pub const SYS_newfstatat: ::c_long = 79;
-+pub const SYS_unlinkat: ::c_long = 35;
-+pub const SYS_linkat: ::c_long = 37;
-+pub const SYS_symlinkat: ::c_long = 36;
-+pub const SYS_readlinkat: ::c_long = 78;
-+pub const SYS_fchmodat: ::c_long = 53;
-+pub const SYS_faccessat: ::c_long = 48;
-+pub const SYS_pselect6: ::c_long = 72;
-+pub const SYS_ppoll: ::c_long = 73;
-+pub const SYS_unshare: ::c_long = 97;
-+pub const SYS_set_robust_list: ::c_long = 99;
-+pub const SYS_get_robust_list: ::c_long = 100;
-+pub const SYS_splice: ::c_long = 76;
-+pub const SYS_tee: ::c_long = 77;
-+pub const SYS_sync_file_range: ::c_long = 84;
-+pub const SYS_vmsplice: ::c_long = 75;
-+pub const SYS_move_pages: ::c_long = 239;
-+pub const SYS_utimensat: ::c_long = 88;
-+pub const SYS_epoll_pwait: ::c_long = 22;
-+pub const SYS_timerfd_create: ::c_long = 85;
-+pub const SYS_fallocate: ::c_long = 47;
-+pub const SYS_timerfd_settime: ::c_long = 86;
-+pub const SYS_timerfd_gettime: ::c_long = 87;
-+pub const SYS_accept4: ::c_long = 242;
-+pub const SYS_signalfd4: ::c_long = 74;
-+pub const SYS_eventfd2: ::c_long = 19;
-+pub const SYS_epoll_create1: ::c_long = 20;
-+pub const SYS_dup3: ::c_long = 24;
-+pub const SYS_pipe2: ::c_long = 59;
-+pub const SYS_inotify_init1: ::c_long = 26;
-+pub const SYS_preadv: ::c_long = 69;
-+pub const SYS_pwritev: ::c_long = 70;
-+pub const SYS_rt_tgsigqueueinfo: ::c_long = 240;
-+pub const SYS_perf_event_open: ::c_long = 241;
-+pub const SYS_recvmmsg: ::c_long = 243;
-+pub const SYS_fanotify_init: ::c_long = 262;
-+pub const SYS_fanotify_mark: ::c_long = 263;
-+pub const SYS_prlimit64: ::c_long = 261;
-+pub const SYS_name_to_handle_at: ::c_long = 264;
-+pub const SYS_open_by_handle_at: ::c_long = 265;
-+pub const SYS_clock_adjtime: ::c_long = 266;
-+pub const SYS_syncfs: ::c_long = 267;
-+pub const SYS_sendmmsg: ::c_long = 269;
-+pub const SYS_setns: ::c_long = 268;
-+pub const SYS_getcpu: ::c_long = 168;
-+pub const SYS_process_vm_readv: ::c_long = 270;
-+pub const SYS_process_vm_writev: ::c_long = 271;
-+pub const SYS_kcmp: ::c_long = 272;
-+pub const SYS_finit_module: ::c_long = 273;
-+pub const SYS_sched_setattr: ::c_long = 274;
-+pub const SYS_sched_getattr: ::c_long = 275;
-+pub const SYS_renameat2: ::c_long = 276;
-+pub const SYS_seccomp: ::c_long = 277;
-+pub const SYS_getrandom: ::c_long = 278;
-+pub const SYS_memfd_create: ::c_long = 279;
-+pub const SYS_bpf: ::c_long = 280;
-+pub const SYS_execveat: ::c_long = 281;
-+pub const SYS_userfaultfd: ::c_long = 282;
-+pub const SYS_membarrier: ::c_long = 283;
-+pub const SYS_mlock2: ::c_long = 284;
-+pub const SYS_copy_file_range: ::c_long = 285;
-+pub const SYS_preadv2: ::c_long = 286;
-+pub const SYS_pwritev2: ::c_long = 287;
-+pub const SYS_pkey_mprotect: ::c_long = 288;
-+pub const SYS_pkey_alloc: ::c_long = 289;
-+pub const SYS_pkey_free: ::c_long = 290;
-+pub const SYS_statx: ::c_long = 291;
-+pub const SYS_pidfd_send_signal: ::c_long = 424;
-+pub const SYS_io_uring_setup: ::c_long = 425;
-+pub const SYS_io_uring_enter: ::c_long = 426;
-+pub const SYS_io_uring_register: ::c_long = 427;
-+pub const SYS_open_tree: ::c_long = 428;
-+pub const SYS_move_mount: ::c_long = 429;
-+pub const SYS_fsopen: ::c_long = 430;
-+pub const SYS_fsconfig: ::c_long = 431;
-+pub const SYS_fsmount: ::c_long = 432;
-+pub const SYS_fspick: ::c_long = 433;
-+pub const SYS_pidfd_open: ::c_long = 434;
-+pub const SYS_clone3: ::c_long = 435;
-+pub const SYS_close_range: ::c_long = 436;
-+pub const SYS_openat2: ::c_long = 437;
-+pub const SYS_pidfd_getfd: ::c_long = 438;
-+pub const SYS_faccessat2: ::c_long = 439;
-+pub const SYS_process_madvise: ::c_long = 440;
-+pub const SYS_epoll_pwait2: ::c_long = 441;
-+pub const SYS_mount_setattr: ::c_long = 442;
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs/0001-Update-checksums-for-modified-vendored-libc.patch b/poky/meta/recipes-devtools/rust/libstd-rs/0001-Update-checksums-for-modified-vendored-libc.patch
new file mode 100644
index 0000000..33071cc
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs/0001-Update-checksums-for-modified-vendored-libc.patch
@@ -0,0 +1,23 @@
+From 7d16c193959f306b50978b415cc3718029c0d8d5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 14 Mar 2022 11:06:39 -0700
+Subject: [PATCH] Update checksums for modified vendored libc
+
+Upstream-Status: Inappropriate [Relevant until backported patch is needed]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ vendor/libc-0.2.108/.cargo-checksum.json | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vendor/libc-0.2.108/.cargo-checksum.json b/vendor/libc-0.2.108/.cargo-checksum.json
+index 6b976e48a..a6906588e 100644
+--- a/vendor/libc-0.2.108/.cargo-checksum.json
++++ b/vendor/libc-0.2.108/.cargo-checksum.json
+@@ -1 +1 @@
+-{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"b9b717fb9711be557a118b14d96536014cfa6a8e877ca7efc50d8c2a0bab3e50","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"0a4edcc040533d370a2a736f2e218516182471e8b0d9ed5dc2a6c08d5d852a83","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"520300ff260d377930f2f456135ec9a3ac7740a949ce7bf5269c0dc60d56c0df","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"adc4f6af60e57eadc01042ec4312bd592fa3002850b8c70740bfd95ddd2d77fb","src/macros.rs":"148cf62f43a1732a8f37c5e7c9673e51b69cee124c27ee9883c94d2da8edff20","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"8cdae0cc37c43dabd4253a534e700bec6b6a57293c0c8e36c9ce16675d16799a","src/solid/arm.rs":"852b58a0837fde089cb9b5af131bf653daeb8c726f7540032756db8b7d4f8149","src/solid/mod.rs":"98dc29c3e5773318ba258a4a2b7407f25aa52d40885a0024fbe43676fe54d14b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"44c217a4f263afe7a97435de9323d20a96c37836f899ca0925306d4b7e073c27","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/mod.rs":"490002f64087a48628aa8c5cf74460df0d45ea743c00fee920f2db4adc78688f","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c70759e7fc945e8eedf2657ff58b1f1ce76bf1357b3d4b94b60852b8dc43bd9","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"2a215bd6136b8617aacedf9be738ccee94da9d29b418e9a78101d6291c182352","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"8c45b3c623512b996f116e96a5041fa8d6018f737bd5eea6c93e986ed4c46ecf","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"684f692968eb1f285d69daec15837257088408bdb016f6130b6c0bbfcd867c72","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"e7102c14ffa535958751785b26d5320f5ceb7e568ecedad8a6aefa2f7d95463a","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs":"f33c5b22f11d15effdcb8a9723c8f56164b630a1d4a4bc387ac6e413e623a4e4","src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/mod.rs":"c075711f7b9f06fe48ac222c8472c2cb2f5818b64cf523dc675efa2861823510","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"c3a0111252e201c172b99e7d9cbee4cf088d3dd47995110e819f04276bccd198","src/unix/bsd/freebsdlike/mod.rs":"d0569c1a6261fb39ad80bae3b55ffc2900a6d80ee52d28276ba58048ccb8d3d8","src/unix/bsd/mod.rs":"2fed08973739d7f6a7412b204724af64b1a915c712689c250cf9a08263ba05ff","src/unix/bsd/netbsdlike/mod.rs":"07b97b75fa72215b54c9869f50eee3167ea835fd674cf3fa036bdbd6904c563b","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"65dcb58d11e8d8028401a9d07ca3eb4cb4f053e04249cc877353449d84ccc4cb","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"ddbdc8526a0267ffeb0ab9bb5f01ebb38a14cf759c025b5c0b0ff1178fec889b","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"1afe5ef46b14397cdd68664b5b232e4f5b035b6db1d4cf411c899d51ebca9f30","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/mod.rs":"52f1487bea76ecc82c6f781081b4bedd7a8a986e18872d2ebcd09c7b6db4a890","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"a2efdbf7158a6da341e1db9176b0ab193ba88b449616239ed95dced11f54d87b","src/unix/haiku/b64.rs":"ff8115367d3d7d354f792d6176dfaaa26353f57056197b563bf4681f91ff7985","src/unix/haiku/mod.rs":"aadfb394c0025b5fa7247ca9d5933edd121efa9b27f5c6a32c91c38cc60fa255","src/unix/haiku/native.rs":"44855f52906f607de137fc4baa8c6b1b9a26baaa666f25d5f7a7ec5e017c8be6","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"433c1530f602cc5ed26610c58055dde0c4ceea5e00150063b24ddc60768332a4","src/unix/linux_like/android/b32/mod.rs":"d971b98530a96f5892f98e1edc3133cf278d1b3939d77ab0a27a6323e0961715","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"8fe667d2b14abc5ac8aad32e16c3da24350471d8156eaea9ab4989f73dd9f9fc","src/unix/linux_like/android/b64/mod.rs":"d7bbbadafdb2cb2ff8e9cde3d89a03b9facaabb6b2d45705225d3ece1c5cce37","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"06b22dc184e85a988ab969c75cadc52b9878faeab0eb9d21215878c95fe07c19","src/unix/linux_like/android/mod.rs":"755db99ecd7598eee9c0c21656cda3e63ae2c4c952f8285b3d7095d983ee4631","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"b71d37106750f57bc2dae4e9bcb473ff098ef48235827e41a1687a39825f0aa4","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/arch/generic/mod.rs":"52706a1e232f0b3d4ef1c064306eb4ae312535a16635c982c2fa6d9aa957d4cd","src/unix/linux_like/linux/arch/mips/mod.rs":"2c1fbabc54efc5fb3e7ae218d0b0084281b67eceec0c62e5978e20aea8c512ef","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"96f702ef5b0bae40ce3bfff58ec99fe8291b37de139890c011147f0ebc906771","src/unix/linux_like/linux/arch/sparc/mod.rs":"66c0d9590cdc88920860ac8539a59846ad83d34a207c8350fa00a027ed2e82c8","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"bc2272a2e7cbc160baa454c8203932d6c5f59a32c2bf3a0e0cf37057f25484cb","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"46a72f8be5fc8260a002996ad30b55a0f1df33ca20bff808427c449425cbc4a5","src/unix/linux_like/linux/gnu/b32/mod.rs":"794dbcbae7dae8fd6b0b814573243197ceb532b56ef0772ad86b4b401478fcd9","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"c21dd4f8bedf341c8ea799f923a8dd55b9b907acfc1da717755c37f5e71cd4bb","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"9ace9d12271e83967f76fdc6b6670027528f2382e17912a7299c357e196262bc","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"8afb0bcd6d947fb50dcd81e1c0f89242ce2365233d5165627c9dcb996ce66a0a","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"0fbf5120805535aca7dd4e06c11439341d8f528ae95b9b93140b984e0b246251","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"3587b384a42ac52df67471ba9a56f4624872a7ff3338ec152118acf501647677","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"8871eeff3a338b8f06a775e1735b637174bc2c0923d581ad88867428693a4cfa","src/unix/linux_like/linux/gnu/b64/mod.rs":"6336065423c26b59681fd2ce77f1117ea36af13e163fdadaefd108bd8191e8c8","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"7533175c322e22cafb932364c9b310658d08d1ac6e2cea03e42f551eff955999","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"aa9368dc335306d43dc05628c4419ed1e15244060f182cfa24d3c34e7d25cd90","src/unix/linux_like/linux/gnu/b64/s390x.rs":"0c1725854b8146a191df36e83931bf591a31334f2d72dc6867d143d44b8a53b6","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"37d7cf814319678512547b0f122cf84c9fc4cdad83e9ebbf0dee2c2baa10d9a1","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"580ef4c16a36a15e51407faa8e3875430394887d006d16cc93a4b3e67e268ad1","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"f775ac2b754f90b63053fe22afe1d19d306b5404995568d6805baa9249fb617f","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"4ba1b58468f55254717366f50fdfd3e4114fde6dc442a56681926c4d7e5b6b0d","src/unix/linux_like/linux/gnu/mod.rs":"d5442593aab9becf1a955f8c6fb2aa1a3133730fac4b7f85263cdd0d0a641d61","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"2a26a908b0426923fa32010dd143c4ff0a9f7c2e6675ffe3b84fd545d43cf469","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"da189402060f8a777126b818a6011041e09f3b4b40952ac82cbc6268a7f30193","src/unix/linux_like/linux/musl/b32/hexagon.rs":"bfeb3121229d8f1bc6ba519bf35f7f64a8c45a1f285b25ad18cfaab7845164d8","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"e23a8784925f1f7d9d504bb2db3efc483fba7cd854cd743747d9ad3bbb9ac287","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"14d18bf690bc41b73823152376b4e73a11e57638e0b359e6cb84f3fdd39c5605","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"3223e0d87b94c865f97a47a3e47dadd3a2beebbf06b11825475bc26cee8fefd4","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"6b9c1a3474b8fa23ca14eec9b5abb0cbc85b62076055ad0173c46005d77f9a0b","src/unix/linux_like/linux/musl/b64/mips64.rs":"5ff053e8f489f9672244b3b67117a7c64d01df0c68964fcb87104b294c68c790","src/unix/linux_like/linux/musl/b64/mod.rs":"d847206d9f2d594c8febe780a938cdccf40d985dafc11e90f235947735a09bac","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"5386ab54bacc199c5d4e1bc07592b151bb61fb86eb4eee2d15d7a351672bed13","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"c9c9f68ca13a2fd0e1a7176d1e6bb4eb99a848332685a297fab0c071c847863b","src/unix/linux_like/linux/musl/b64/s390x.rs":"20149a2b8c3739be7be7903ce361cf2f8d3f7bb464f782990fcccb38665f347d","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"3789856e0f550fbd847db0dcc9402f870567efaddd6c1c1355d2f4382dc5e228","src/unix/linux_like/linux/musl/mod.rs":"3a949d409efb3dbd77a3732a8fd95269ae0a9ee764efc12243903e16c1e1c2d7","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/non_exhaustive.rs":"181a05bf94fdb911db83ce793b993bd6548a4115b306a7ef3c10f745a8fea3e9","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"1e3bf809508b5872949136859bf48ddf58b7d24ae9f0b663e79f0efd1aaeb6a6","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"fa4102d9a596d90de604ce2962b0e64f184dfbf10552a4c3ecf28f12d4704379","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"a2877679fef0f14f54a89ccbc41fb02f0c25bf6e536f9eb2cb2fa437e1d3f739","src/unix/linux_like/linux/uclibc/mod.rs":"abb9a1a905a7d992ed290557e3619627d9f3a1ccf3a6d4ba9506b936fc56fa04","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"024eba5753e852dbdd212427351affe7e83f9916c1864bce414d7aa2618f192e","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"66e8f5b7509a6e638b8b904906f89badbab0da8fb5b602d07ebd88649c4b961a","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"ffce98bdd208fd9d335c65feafbf0d9742bea67c7eec1ee48657f292132ec3f0","src/unix/mod.rs":"b72f18e053cca0ade0f0606f1848a773fcf1885c72cbb31889275e8195f060bd","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/espidf/mod.rs":"c198cb4beccdab483be61c102da74dc51ac80f766797e33021f3110394ed5a3d","src/unix/newlib/mod.rs":"d7271c13748be08305d36f9af6f41f6950a7a1d6d4382149194a35d5fe2090de","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"cc4794afa4fbed9d6612894ea476228f9d8533950162d6416fc4d16073e1dac4","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"7d8f47fd37880715b449723688aaee568785325a46f1c360a05bdca13252278e","src/unix/solarish/mod.rs":"c7376a8b0cd093bf67157fac19065b114aeae271fbaf0b7a9cc27c369a915196","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/unix/solarish/x86_64.rs":"9d761573bdccbdd1ac61da571f7e96b5374df70241d9b72d45a069611f495085","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"aea3da66f2140f2a82dfc9c58f6e6531d2dd9c15ea696e0f95a0d4a2a187b5b6","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"0935c061e947e3389b77a3597ab2ce289d913132f9ea2727a2c98732fade7691","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"e3ad95ba54f76e74c301611fe868d3d94f6b8939b03be672f568b06b10ae71c7","src/windows/msvc/mod.rs":"c068271e00fca6b62bc4bf44bcf142cfc38caeded9b6c4e01d1ceef3ccf986f4","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119"}
+\ No newline at end of file
++{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"b9b717fb9711be557a118b14d96536014cfa6a8e877ca7efc50d8c2a0bab3e50","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"0a4edcc040533d370a2a736f2e218516182471e8b0d9ed5dc2a6c08d5d852a83","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"520300ff260d377930f2f456135ec9a3ac7740a949ce7bf5269c0dc60d56c0df","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"adc4f6af60e57eadc01042ec4312bd592fa3002850b8c70740bfd95ddd2d77fb","src/macros.rs":"148cf62f43a1732a8f37c5e7c9673e51b69cee124c27ee9883c94d2da8edff20","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"8cdae0cc37c43dabd4253a534e700bec6b6a57293c0c8e36c9ce16675d16799a","src/solid/arm.rs":"852b58a0837fde089cb9b5af131bf653daeb8c726f7540032756db8b7d4f8149","src/solid/mod.rs":"98dc29c3e5773318ba258a4a2b7407f25aa52d40885a0024fbe43676fe54d14b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"44c217a4f263afe7a97435de9323d20a96c37836f899ca0925306d4b7e073c27","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/mod.rs":"490002f64087a48628aa8c5cf74460df0d45ea743c00fee920f2db4adc78688f","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6c70759e7fc945e8eedf2657ff58b1f1ce76bf1357b3d4b94b60852b8dc43bd9","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"2a215bd6136b8617aacedf9be738ccee94da9d29b418e9a78101d6291c182352","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"8c45b3c623512b996f116e96a5041fa8d6018f737bd5eea6c93e986ed4c46ecf","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"684f692968eb1f285d69daec15837257088408bdb016f6130b6c0bbfcd867c72","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"e7102c14ffa535958751785b26d5320f5ceb7e568ecedad8a6aefa2f7d95463a","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs":"f33c5b22f11d15effdcb8a9723c8f56164b630a1d4a4bc387ac6e413e623a4e4","src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/mod.rs":"c075711f7b9f06fe48ac222c8472c2cb2f5818b64cf523dc675efa2861823510","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"c3a0111252e201c172b99e7d9cbee4cf088d3dd47995110e819f04276bccd198","src/unix/bsd/freebsdlike/mod.rs":"d0569c1a6261fb39ad80bae3b55ffc2900a6d80ee52d28276ba58048ccb8d3d8","src/unix/bsd/mod.rs":"2fed08973739d7f6a7412b204724af64b1a915c712689c250cf9a08263ba05ff","src/unix/bsd/netbsdlike/mod.rs":"07b97b75fa72215b54c9869f50eee3167ea835fd674cf3fa036bdbd6904c563b","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"65dcb58d11e8d8028401a9d07ca3eb4cb4f053e04249cc877353449d84ccc4cb","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"ddbdc8526a0267ffeb0ab9bb5f01ebb38a14cf759c025b5c0b0ff1178fec889b","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"1afe5ef46b14397cdd68664b5b232e4f5b035b6db1d4cf411c899d51ebca9f30","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/mod.rs":"52f1487bea76ecc82c6f781081b4bedd7a8a986e18872d2ebcd09c7b6db4a890","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"a2efdbf7158a6da341e1db9176b0ab193ba88b449616239ed95dced11f54d87b","src/unix/haiku/b64.rs":"ff8115367d3d7d354f792d6176dfaaa26353f57056197b563bf4681f91ff7985","src/unix/haiku/mod.rs":"aadfb394c0025b5fa7247ca9d5933edd121efa9b27f5c6a32c91c38cc60fa255","src/unix/haiku/native.rs":"44855f52906f607de137fc4baa8c6b1b9a26baaa666f25d5f7a7ec5e017c8be6","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"433c1530f602cc5ed26610c58055dde0c4ceea5e00150063b24ddc60768332a4","src/unix/linux_like/android/b32/mod.rs":"d971b98530a96f5892f98e1edc3133cf278d1b3939d77ab0a27a6323e0961715","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"8fe667d2b14abc5ac8aad32e16c3da24350471d8156eaea9ab4989f73dd9f9fc","src/unix/linux_like/android/b64/mod.rs":"d7bbbadafdb2cb2ff8e9cde3d89a03b9facaabb6b2d45705225d3ece1c5cce37","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"06b22dc184e85a988ab969c75cadc52b9878faeab0eb9d21215878c95fe07c19","src/unix/linux_like/android/mod.rs":"755db99ecd7598eee9c0c21656cda3e63ae2c4c952f8285b3d7095d983ee4631","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"b71d37106750f57bc2dae4e9bcb473ff098ef48235827e41a1687a39825f0aa4","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/arch/generic/mod.rs":"52706a1e232f0b3d4ef1c064306eb4ae312535a16635c982c2fa6d9aa957d4cd","src/unix/linux_like/linux/arch/mips/mod.rs":"2c1fbabc54efc5fb3e7ae218d0b0084281b67eceec0c62e5978e20aea8c512ef","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"96f702ef5b0bae40ce3bfff58ec99fe8291b37de139890c011147f0ebc906771","src/unix/linux_like/linux/arch/sparc/mod.rs":"66c0d9590cdc88920860ac8539a59846ad83d34a207c8350fa00a027ed2e82c8","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"bc2272a2e7cbc160baa454c8203932d6c5f59a32c2bf3a0e0cf37057f25484cb","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"46a72f8be5fc8260a002996ad30b55a0f1df33ca20bff808427c449425cbc4a5","src/unix/linux_like/linux/gnu/b32/mod.rs":"794dbcbae7dae8fd6b0b814573243197ceb532b56ef0772ad86b4b401478fcd9","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"c21dd4f8bedf341c8ea799f923a8dd55b9b907acfc1da717755c37f5e71cd4bb","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"9ace9d12271e83967f76fdc6b6670027528f2382e17912a7299c357e196262bc","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"8afb0bcd6d947fb50dcd81e1c0f89242ce2365233d5165627c9dcb996ce66a0a","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"0fbf5120805535aca7dd4e06c11439341d8f528ae95b9b93140b984e0b246251","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"3587b384a42ac52df67471ba9a56f4624872a7ff3338ec152118acf501647677","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"8871eeff3a338b8f06a775e1735b637174bc2c0923d581ad88867428693a4cfa","src/unix/linux_like/linux/gnu/b64/mod.rs":"6336065423c26b59681fd2ce77f1117ea36af13e163fdadaefd108bd8191e8c8","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"7533175c322e22cafb932364c9b310658d08d1ac6e2cea03e42f551eff955999","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"aa9368dc335306d43dc05628c4419ed1e15244060f182cfa24d3c34e7d25cd90","src/unix/linux_like/linux/gnu/b64/s390x.rs":"0c1725854b8146a191df36e83931bf591a31334f2d72dc6867d143d44b8a53b6","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"37d7cf814319678512547b0f122cf84c9fc4cdad83e9ebbf0dee2c2baa10d9a1","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"580ef4c16a36a15e51407faa8e3875430394887d006d16cc93a4b3e67e268ad1","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"f775ac2b754f90b63053fe22afe1d19d306b5404995568d6805baa9249fb617f","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"4ba1b58468f55254717366f50fdfd3e4114fde6dc442a56681926c4d7e5b6b0d","src/unix/linux_like/linux/gnu/mod.rs":"d5442593aab9becf1a955f8c6fb2aa1a3133730fac4b7f85263cdd0d0a641d61","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"2a26a908b0426923fa32010dd143c4ff0a9f7c2e6675ffe3b84fd545d43cf469","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"da189402060f8a777126b818a6011041e09f3b4b40952ac82cbc6268a7f30193","src/unix/linux_like/linux/musl/b32/hexagon.rs":"bfeb3121229d8f1bc6ba519bf35f7f64a8c45a1f285b25ad18cfaab7845164d8","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"e23a8784925f1f7d9d504bb2db3efc483fba7cd854cd743747d9ad3bbb9ac287","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"14d18bf690bc41b73823152376b4e73a11e57638e0b359e6cb84f3fdd39c5605","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"3223e0d87b94c865f97a47a3e47dadd3a2beebbf06b11825475bc26cee8fefd4","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"6b9c1a3474b8fa23ca14eec9b5abb0cbc85b62076055ad0173c46005d77f9a0b","src/unix/linux_like/linux/musl/b64/mips64.rs":"5ff053e8f489f9672244b3b67117a7c64d01df0c68964fcb87104b294c68c790","src/unix/linux_like/linux/musl/b64/mod.rs":"d847206d9f2d594c8febe780a938cdccf40d985dafc11e90f235947735a09bac","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"5386ab54bacc199c5d4e1bc07592b151bb61fb86eb4eee2d15d7a351672bed13","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"b46633c76eeaffa619e7008b91fbfbcfccac0d75c20c9df3bf2a0078a64fa4b0","src/unix/linux_like/linux/musl/b64/s390x.rs":"20149a2b8c3739be7be7903ce361cf2f8d3f7bb464f782990fcccb38665f347d","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"3789856e0f550fbd847db0dcc9402f870567efaddd6c1c1355d2f4382dc5e228","src/unix/linux_like/linux/musl/mod.rs":"3a949d409efb3dbd77a3732a8fd95269ae0a9ee764efc12243903e16c1e1c2d7","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/non_exhaustive.rs":"181a05bf94fdb911db83ce793b993bd6548a4115b306a7ef3c10f745a8fea3e9","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"1e3bf809508b5872949136859bf48ddf58b7d24ae9f0b663e79f0efd1aaeb6a6","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"fa4102d9a596d90de604ce2962b0e64f184dfbf10552a4c3ecf28f12d4704379","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"a2877679fef0f14f54a89ccbc41fb02f0c25bf6e536f9eb2cb2fa437e1d3f739","src/unix/linux_like/linux/uclibc/mod.rs":"abb9a1a905a7d992ed290557e3619627d9f3a1ccf3a6d4ba9506b936fc56fa04","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"024eba5753e852dbdd212427351affe7e83f9916c1864bce414d7aa2618f192e","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"66e8f5b7509a6e638b8b904906f89badbab0da8fb5b602d07ebd88649c4b961a","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"ffce98bdd208fd9d335c65feafbf0d9742bea67c7eec1ee48657f292132ec3f0","src/unix/mod.rs":"b72f18e053cca0ade0f0606f1848a773fcf1885c72cbb31889275e8195f060bd","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/espidf/mod.rs":"c198cb4beccdab483be61c102da74dc51ac80f766797e33021f3110394ed5a3d","src/unix/newlib/mod.rs":"d7271c13748be08305d36f9af6f41f6950a7a1d6d4382149194a35d5fe2090de","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"cc4794afa4fbed9d6612894ea476228f9d8533950162d6416fc4d16073e1dac4","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"7d8f47fd37880715b449723688aaee568785325a46f1c360a05bdca13252278e","src/unix/solarish/mod.rs":"c7376a8b0cd093bf67157fac19065b114aeae271fbaf0b7a9cc27c369a915196","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/unix/solarish/x86_64.rs":"9d761573bdccbdd1ac61da571f7e96b5374df70241d9b72d45a069611f495085","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"aea3da66f2140f2a82dfc9c58f6e6531d2dd9c15ea696e0f95a0d4a2a187b5b6","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"0935c061e947e3389b77a3597ab2ce289d913132f9ea2727a2c98732fade7691","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"e3ad95ba54f76e74c301611fe868d3d94f6b8939b03be672f568b06b10ae71c7","src/windows/msvc/mod.rs":"c068271e00fca6b62bc4bf44bcf142cfc38caeded9b6c4e01d1ceef3ccf986f4","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119"}
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs/0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch b/poky/meta/recipes-devtools/rust/libstd-rs/0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch
deleted file mode 100644
index ad321d1..0000000
--- a/poky/meta/recipes-devtools/rust/libstd-rs/0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From bd805ef63035ecefa03f67d5ab2e1d79f7daf9bc Mon Sep 17 00:00:00 2001
-From: Ralf Anton Beier <ralf_beier@me.com>
-Date: Sun, 8 Aug 2021 11:07:21 +0200
-Subject: [PATCH 2/4] FIXUP: linux/musl/mod.rs: add riscv64 to b64 set
-
-https://github.com/rust-lang/libc/pull/1994/commits/30070c822be2ef399b2ba38cdc1d72ac694d65a3
-
-Upstream-Status: Submitted [https://github.com/rust-lang/libc/pull/2537]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
----
- vendor/libc-0.2.106/src/unix/linux_like/linux/musl/mod.rs | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/mod.rs b/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/mod.rs
-index df596e968..1ab13a712 100644
---- a/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/mod.rs
-+++ b/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/mod.rs
-@@ -765,7 +765,8 @@ cfg_if! {
-                  target_arch = "aarch64",
-                  target_arch = "mips64",
-                  target_arch = "powerpc64",
--                 target_arch = "s390x"))] {
-+                 target_arch = "s390x",
-+                 target_arch = "riscv64"))] {
-         mod b64;
-         pub use self::b64::*;
-     } else if #[cfg(any(target_arch = "x86",
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs/0003-FIXUP-Correct-definitions-to-match-musl.patch b/poky/meta/recipes-devtools/rust/libstd-rs/0003-FIXUP-Correct-definitions-to-match-musl.patch
deleted file mode 100644
index de6b73e..0000000
--- a/poky/meta/recipes-devtools/rust/libstd-rs/0003-FIXUP-Correct-definitions-to-match-musl.patch
+++ /dev/null
@@ -1,689 +0,0 @@
-From a811c933372b18b98fdef3d5901b512131b27b1c Mon Sep 17 00:00:00 2001
-From: Ralf Anton Beier <ralf_beier@me.com>
-Date: Sun, 8 Aug 2021 11:09:17 +0200
-Subject: [PATCH 3/4] FIXUP Correct definitions to match musl
-
-https://github.com/rust-lang/libc/pull/1994/commits/5f6a4d9745c79c81be63c708515ab116786554a3
-
-Upstream-Status: Submitted [https://github.com/rust-lang/libc/pull/2537]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
----
- .../linux_like/linux/musl/b64/riscv64/mod.rs  | 655 +++++++++---------
- 1 file changed, 312 insertions(+), 343 deletions(-)
-
-diff --git a/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
-index c656189c4..1799539c2 100644
---- a/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
-+++ b/vendor/libc-0.2.106/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
-@@ -191,351 +191,8 @@ s! {
-         pub l_len: ::off64_t,
-         pub l_pid: ::pid_t,
-     }
--
--    pub struct ip_mreqn {
--        pub imr_multiaddr: ::in_addr,
--        pub imr_address: ::in_addr,
--        pub imr_ifindex: ::c_int,
--    }
- }
- 
--pub const POSIX_FADV_DONTNEED: ::c_int = 4;
--pub const POSIX_FADV_NOREUSE: ::c_int = 5;
--pub const VEOF: usize = 4;
--pub const RTLD_DEEPBIND: ::c_int = 0x8;
--pub const RTLD_GLOBAL: ::c_int = 0x100;
--pub const RTLD_NOLOAD: ::c_int = 0x4;
--pub const TIOCGSOFTCAR: ::c_ulong = 21529;
--pub const TIOCSSOFTCAR: ::c_ulong = 21530;
--pub const TIOCGRS485: ::c_int = 21550;
--pub const TIOCSRS485: ::c_int = 21551;
--pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
--pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
--pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
--pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
--pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
--pub const O_APPEND: ::c_int = 1024;
--pub const O_CREAT: ::c_int = 64;
--pub const O_EXCL: ::c_int = 128;
--pub const O_NOCTTY: ::c_int = 256;
--pub const O_NONBLOCK: ::c_int = 2048;
--pub const O_SYNC: ::c_int = 1052672;
--pub const O_RSYNC: ::c_int = 1052672;
--pub const O_DSYNC: ::c_int = 4096;
--pub const O_FSYNC: ::c_int = 1052672;
--pub const O_NOATIME: ::c_int = 262144;
--pub const O_PATH: ::c_int = 2097152;
--pub const O_TMPFILE: ::c_int = 4259840;
--pub const MAP_GROWSDOWN: ::c_int = 256;
--pub const EDEADLK: ::c_int = 35;
--pub const ENAMETOOLONG: ::c_int = 36;
--pub const ENOLCK: ::c_int = 37;
--pub const ENOSYS: ::c_int = 38;
--pub const ENOTEMPTY: ::c_int = 39;
--pub const ELOOP: ::c_int = 40;
--pub const ENOMSG: ::c_int = 42;
--pub const EIDRM: ::c_int = 43;
--pub const ECHRNG: ::c_int = 44;
--pub const EL2NSYNC: ::c_int = 45;
--pub const EL3HLT: ::c_int = 46;
--pub const EL3RST: ::c_int = 47;
--pub const ELNRNG: ::c_int = 48;
--pub const EUNATCH: ::c_int = 49;
--pub const ENOCSI: ::c_int = 50;
--pub const EL2HLT: ::c_int = 51;
--pub const EBADE: ::c_int = 52;
--pub const EBADR: ::c_int = 53;
--pub const EXFULL: ::c_int = 54;
--pub const ENOANO: ::c_int = 55;
--pub const EBADRQC: ::c_int = 56;
--pub const EBADSLT: ::c_int = 57;
--pub const EMULTIHOP: ::c_int = 72;
--pub const EOVERFLOW: ::c_int = 75;
--pub const ENOTUNIQ: ::c_int = 76;
--pub const EBADFD: ::c_int = 77;
--pub const EBADMSG: ::c_int = 74;
--pub const EREMCHG: ::c_int = 78;
--pub const ELIBACC: ::c_int = 79;
--pub const ELIBBAD: ::c_int = 80;
--pub const ELIBSCN: ::c_int = 81;
--pub const ELIBMAX: ::c_int = 82;
--pub const ELIBEXEC: ::c_int = 83;
--pub const EILSEQ: ::c_int = 84;
--pub const ERESTART: ::c_int = 85;
--pub const ESTRPIPE: ::c_int = 86;
--pub const EUSERS: ::c_int = 87;
--pub const ENOTSOCK: ::c_int = 88;
--pub const EDESTADDRREQ: ::c_int = 89;
--pub const EMSGSIZE: ::c_int = 90;
--pub const EPROTOTYPE: ::c_int = 91;
--pub const ENOPROTOOPT: ::c_int = 92;
--pub const EPROTONOSUPPORT: ::c_int = 93;
--pub const ESOCKTNOSUPPORT: ::c_int = 94;
--pub const EOPNOTSUPP: ::c_int = 95;
--pub const EPFNOSUPPORT: ::c_int = 96;
--pub const EAFNOSUPPORT: ::c_int = 97;
--pub const EADDRINUSE: ::c_int = 98;
--pub const EADDRNOTAVAIL: ::c_int = 99;
--pub const ENETDOWN: ::c_int = 100;
--pub const ENETUNREACH: ::c_int = 101;
--pub const ENETRESET: ::c_int = 102;
--pub const ECONNABORTED: ::c_int = 103;
--pub const ECONNRESET: ::c_int = 104;
--pub const ENOBUFS: ::c_int = 105;
--pub const EISCONN: ::c_int = 106;
--pub const ENOTCONN: ::c_int = 107;
--pub const ESHUTDOWN: ::c_int = 108;
--pub const ETOOMANYREFS: ::c_int = 109;
--pub const ETIMEDOUT: ::c_int = 110;
--pub const ECONNREFUSED: ::c_int = 111;
--pub const EHOSTDOWN: ::c_int = 112;
--pub const EHOSTUNREACH: ::c_int = 113;
--pub const EALREADY: ::c_int = 114;
--pub const EINPROGRESS: ::c_int = 115;
--pub const ESTALE: ::c_int = 116;
--pub const EDQUOT: ::c_int = 122;
--pub const ENOMEDIUM: ::c_int = 123;
--pub const EMEDIUMTYPE: ::c_int = 124;
--pub const ECANCELED: ::c_int = 125;
--pub const ENOKEY: ::c_int = 126;
--pub const EKEYEXPIRED: ::c_int = 127;
--pub const EKEYREVOKED: ::c_int = 128;
--pub const EKEYREJECTED: ::c_int = 129;
--pub const EOWNERDEAD: ::c_int = 130;
--pub const ENOTRECOVERABLE: ::c_int = 131;
--pub const EHWPOISON: ::c_int = 133;
--pub const ERFKILL: ::c_int = 132;
--
--pub const SOCK_STREAM: ::c_int = 1;
--pub const SOCK_DGRAM: ::c_int = 2;
--pub const SA_ONSTACK: ::c_int = 134217728;
--pub const SA_SIGINFO: ::c_int = 4;
--pub const SA_NOCLDWAIT: ::c_int = 2;
--pub const SIGTTIN: ::c_int = 21;
--pub const SIGTTOU: ::c_int = 22;
--pub const SIGXCPU: ::c_int = 24;
--pub const SIGXFSZ: ::c_int = 25;
--pub const SIGVTALRM: ::c_int = 26;
--pub const SIGPROF: ::c_int = 27;
--pub const SIGWINCH: ::c_int = 28;
--pub const SIGCHLD: ::c_int = 17;
--pub const SIGBUS: ::c_int = 7;
--pub const SIGUSR1: ::c_int = 10;
--pub const SIGUSR2: ::c_int = 12;
--pub const SIGCONT: ::c_int = 18;
--pub const SIGSTOP: ::c_int = 19;
--pub const SIGTSTP: ::c_int = 20;
--pub const SIGURG: ::c_int = 23;
--pub const SIGIO: ::c_int = 29;
--pub const SIGSYS: ::c_int = 31;
--pub const SIGSTKFLT: ::c_int = 16;
--pub const SIGPOLL: ::c_int = 29;
--pub const SIGPWR: ::c_int = 30;
--pub const SIG_SETMASK: ::c_int = 2;
--pub const SIG_BLOCK: ::c_int = 0;
--pub const SIG_UNBLOCK: ::c_int = 1;
--pub const POLLWRNORM: ::c_short = 256;
--pub const POLLWRBAND: ::c_short = 512;
--pub const O_ASYNC: ::c_int = 8192;
--pub const O_NDELAY: ::c_int = 2048;
--pub const PTRACE_DETACH: ::c_uint = 17;
--pub const EFD_NONBLOCK: ::c_int = 2048;
--pub const F_GETLK: ::c_int = 5;
--pub const F_GETOWN: ::c_int = 9;
--pub const F_SETOWN: ::c_int = 8;
--pub const F_SETLK: ::c_int = 6;
--pub const F_SETLKW: ::c_int = 7;
--pub const F_RDLCK: ::c_int = 0;
--pub const F_WRLCK: ::c_int = 1;
--pub const F_UNLCK: ::c_int = 2;
--pub const F_OFD_GETLK: ::c_int = 36;
--pub const F_OFD_SETLK: ::c_int = 37;
--pub const F_OFD_SETLKW: ::c_int = 38;
--pub const SFD_NONBLOCK: ::c_int = 2048;
--pub const TCSANOW: ::c_int = 0;
--pub const TCSADRAIN: ::c_int = 1;
--pub const TCSAFLUSH: ::c_int = 2;
--pub const TIOCLINUX: ::c_ulong = 21532;
--pub const TIOCGSERIAL: ::c_ulong = 21534;
--pub const TIOCEXCL: ::c_ulong = 21516;
--pub const TIOCNXCL: ::c_ulong = 21517;
--pub const TIOCSCTTY: ::c_ulong = 21518;
--pub const TIOCSTI: ::c_ulong = 21522;
--pub const TIOCMGET: ::c_ulong = 21525;
--pub const TIOCMBIS: ::c_ulong = 21526;
--pub const TIOCMBIC: ::c_ulong = 21527;
--pub const TIOCMSET: ::c_ulong = 21528;
--pub const TIOCCONS: ::c_ulong = 21533;
--pub const TIOCM_ST: ::c_int = 8;
--pub const TIOCM_SR: ::c_int = 16;
--pub const TIOCM_CTS: ::c_int = 32;
--pub const TIOCM_CAR: ::c_int = 64;
--pub const TIOCM_RNG: ::c_int = 128;
--pub const TIOCM_DSR: ::c_int = 256;
--pub const SFD_CLOEXEC: ::c_int = 524288;
--pub const NCCS: usize = 32;
--pub const O_TRUNC: ::c_int = 512;
--pub const O_CLOEXEC: ::c_int = 524288;
--pub const EBFONT: ::c_int = 59;
--pub const ENOSTR: ::c_int = 60;
--pub const ENODATA: ::c_int = 61;
--pub const ETIME: ::c_int = 62;
--pub const ENOSR: ::c_int = 63;
--pub const ENONET: ::c_int = 64;
--pub const ENOPKG: ::c_int = 65;
--pub const EREMOTE: ::c_int = 66;
--pub const ENOLINK: ::c_int = 67;
--pub const EADV: ::c_int = 68;
--pub const ESRMNT: ::c_int = 69;
--pub const ECOMM: ::c_int = 70;
--pub const EPROTO: ::c_int = 71;
--pub const EDOTDOT: ::c_int = 73;
--pub const SA_NODEFER: ::c_int = 1073741824;
--pub const SA_RESETHAND: ::c_int = -2147483648;
--pub const SA_RESTART: ::c_int = 268435456;
--pub const SA_NOCLDSTOP: ::c_int = 1;
--pub const EPOLL_CLOEXEC: ::c_int = 524288;
--pub const EFD_CLOEXEC: ::c_int = 524288;
--pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
--pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
--pub const O_DIRECT: ::c_int = 16384;
--pub const O_DIRECTORY: ::c_int = 65536;
--pub const O_NOFOLLOW: ::c_int = 131072;
--pub const MAP_HUGETLB: ::c_int = 262144;
--pub const MAP_LOCKED: ::c_int = 8192;
--pub const MAP_NORESERVE: ::c_int = 16384;
--pub const MAP_ANON: ::c_int = 32;
--pub const MAP_ANONYMOUS: ::c_int = 32;
--pub const MAP_DENYWRITE: ::c_int = 2048;
--pub const MAP_EXECUTABLE: ::c_int = 4096;
--pub const MAP_POPULATE: ::c_int = 32768;
--pub const MAP_NONBLOCK: ::c_int = 65536;
--pub const MAP_STACK: ::c_int = 131072;
--pub const MAP_SYNC: ::c_int = 0x080000;
--pub const EDEADLOCK: ::c_int = 35;
--pub const EUCLEAN: ::c_int = 117;
--pub const ENOTNAM: ::c_int = 118;
--pub const ENAVAIL: ::c_int = 119;
--pub const EISNAM: ::c_int = 120;
--pub const EREMOTEIO: ::c_int = 121;
--pub const FIOCLEX: ::c_ulong = 21585;
--pub const FIONCLEX: ::c_ulong = 21584;
--pub const FIONBIO: ::c_ulong = 21537;
--pub const MCL_CURRENT: ::c_int = 1;
--pub const MCL_FUTURE: ::c_int = 2;
--pub const SIGSTKSZ: ::size_t = 8192;
--pub const MINSIGSTKSZ: ::size_t = 2048;
--pub const CBAUD: ::tcflag_t = 4111;
--pub const TAB1: ::tcflag_t = 2048;
--pub const TAB2: ::tcflag_t = 4096;
--pub const TAB3: ::tcflag_t = 6144;
--pub const CR1: ::tcflag_t = 512;
--pub const CR2: ::tcflag_t = 1024;
--pub const CR3: ::tcflag_t = 1536;
--pub const FF1: ::tcflag_t = 32768;
--pub const BS1: ::tcflag_t = 8192;
--pub const VT1: ::tcflag_t = 16384;
--pub const VWERASE: usize = 14;
--pub const VREPRINT: usize = 12;
--pub const VSUSP: usize = 10;
--pub const VSTART: usize = 8;
--pub const VSTOP: usize = 9;
--pub const VDISCARD: usize = 13;
--pub const VTIME: usize = 5;
--pub const IXON: ::tcflag_t = 1024;
--pub const IXOFF: ::tcflag_t = 4096;
--pub const ONLCR: ::tcflag_t = 4;
--pub const CSIZE: ::tcflag_t = 48;
--pub const CS6: ::tcflag_t = 16;
--pub const CS7: ::tcflag_t = 32;
--pub const CS8: ::tcflag_t = 48;
--pub const CSTOPB: ::tcflag_t = 64;
--pub const CREAD: ::tcflag_t = 128;
--pub const PARENB: ::tcflag_t = 256;
--pub const PARODD: ::tcflag_t = 512;
--pub const HUPCL: ::tcflag_t = 1024;
--pub const CLOCAL: ::tcflag_t = 2048;
--pub const ECHOKE: ::tcflag_t = 2048;
--pub const ECHOE: ::tcflag_t = 16;
--pub const ECHOK: ::tcflag_t = 32;
--pub const ECHONL: ::tcflag_t = 64;
--pub const ECHOPRT: ::tcflag_t = 1024;
--pub const ECHOCTL: ::tcflag_t = 512;
--pub const ISIG: ::tcflag_t = 1;
--pub const ICANON: ::tcflag_t = 2;
--pub const PENDIN: ::tcflag_t = 16384;
--pub const NOFLSH: ::tcflag_t = 128;
--pub const CIBAUD: ::tcflag_t = 269418496;
--pub const CBAUDEX: ::tcflag_t = 4096;
--pub const VSWTC: usize = 7;
--pub const OLCUC: ::tcflag_t = 2;
--pub const NLDLY: ::tcflag_t = 256;
--pub const CRDLY: ::tcflag_t = 1536;
--pub const TABDLY: ::tcflag_t = 6144;
--pub const BSDLY: ::tcflag_t = 8192;
--pub const FFDLY: ::tcflag_t = 32768;
--pub const VTDLY: ::tcflag_t = 16384;
--pub const XTABS: ::tcflag_t = 6144;
--pub const B0: ::speed_t = 0;
--pub const B50: ::speed_t = 1;
--pub const B75: ::speed_t = 2;
--pub const B110: ::speed_t = 3;
--pub const B134: ::speed_t = 4;
--pub const B150: ::speed_t = 5;
--pub const B200: ::speed_t = 6;
--pub const B300: ::speed_t = 7;
--pub const B600: ::speed_t = 8;
--pub const B1200: ::speed_t = 9;
--pub const B1800: ::speed_t = 10;
--pub const B2400: ::speed_t = 11;
--pub const B4800: ::speed_t = 12;
--pub const B9600: ::speed_t = 13;
--pub const B19200: ::speed_t = 14;
--pub const B38400: ::speed_t = 15;
--pub const EXTA: ::speed_t = 14;
--pub const EXTB: ::speed_t = 15;
--pub const B57600: ::speed_t = 4097;
--pub const B115200: ::speed_t = 4098;
--pub const B230400: ::speed_t = 4099;
--pub const B460800: ::speed_t = 4100;
--pub const B500000: ::speed_t = 4101;
--pub const B576000: ::speed_t = 4102;
--pub const B921600: ::speed_t = 4103;
--pub const B1000000: ::speed_t = 4104;
--pub const B1152000: ::speed_t = 4105;
--pub const B1500000: ::speed_t = 4106;
--pub const B2000000: ::speed_t = 4107;
--pub const B2500000: ::speed_t = 4108;
--pub const B3000000: ::speed_t = 4109;
--pub const B3500000: ::speed_t = 4110;
--pub const B4000000: ::speed_t = 4111;
--pub const VEOL: usize = 11;
--pub const VEOL2: usize = 16;
--pub const VMIN: usize = 6;
--pub const IEXTEN: ::tcflag_t = 32768;
--pub const TOSTOP: ::tcflag_t = 256;
--pub const FLUSHO: ::tcflag_t = 4096;
--pub const EXTPROC: ::tcflag_t = 65536;
--pub const TCGETS: ::c_ulong = 21505;
--pub const TCSETS: ::c_ulong = 21506;
--pub const TCSETSW: ::c_ulong = 21507;
--pub const TCSETSF: ::c_ulong = 21508;
--pub const TCGETA: ::c_ulong = 21509;
--pub const TCSETA: ::c_ulong = 21510;
--pub const TCSETAW: ::c_ulong = 21511;
--pub const TCSETAF: ::c_ulong = 21512;
--pub const TCSBRK: ::c_ulong = 21513;
--pub const TCXONC: ::c_ulong = 21514;
--pub const TCFLSH: ::c_ulong = 21515;
--pub const TIOCINQ: ::c_ulong = 21531;
--pub const TIOCGPGRP: ::c_ulong = 21519;
--pub const TIOCSPGRP: ::c_ulong = 21520;
--pub const TIOCOUTQ: ::c_ulong = 21521;
--pub const TIOCGWINSZ: ::c_ulong = 21523;
--pub const TIOCSWINSZ: ::c_ulong = 21524;
--pub const FIONREAD: ::c_ulong = 21531;
--pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
--pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
- pub const SYS_read: ::c_long = 63;
- pub const SYS_write: ::c_long = 64;
- pub const SYS_close: ::c_long = 57;
-@@ -830,3 +487,315 @@ pub const SYS_faccessat2: ::c_long = 439;
- pub const SYS_process_madvise: ::c_long = 440;
- pub const SYS_epoll_pwait2: ::c_long = 441;
- pub const SYS_mount_setattr: ::c_long = 442;
-+
-+
-+pub const O_APPEND: ::c_int = 1024;
-+pub const O_DIRECT: ::c_int = 0x4000;
-+pub const O_DIRECTORY: ::c_int = 0x10000;
-+pub const O_LARGEFILE: ::c_int = 0;
-+pub const O_NOFOLLOW: ::c_int = 0x20000;
-+pub const O_CREAT: ::c_int = 64;
-+pub const O_EXCL: ::c_int = 128;
-+pub const O_NOCTTY: ::c_int = 256;
-+pub const O_NONBLOCK: ::c_int = 2048;
-+pub const O_SYNC: ::c_int = 1052672;
-+pub const O_RSYNC: ::c_int = 1052672;
-+pub const O_DSYNC: ::c_int = 4096;
-+pub const O_ASYNC: ::c_int = 0x2000;
-+
-+pub const TIOCGRS485: ::c_int = 0x542E;
-+pub const TIOCSRS485: ::c_int = 0x542F;
-+
-+pub const SIGSTKSZ: ::size_t = 8192;
-+pub const MINSIGSTKSZ: ::size_t = 2048;
-+
-+pub const ENAMETOOLONG: ::c_int = 36;
-+pub const ENOLCK: ::c_int = 37;
-+pub const ENOSYS: ::c_int = 38;
-+pub const ENOTEMPTY: ::c_int = 39;
-+pub const ELOOP: ::c_int = 40;
-+pub const ENOMSG: ::c_int = 42;
-+pub const EIDRM: ::c_int = 43;
-+pub const ECHRNG: ::c_int = 44;
-+pub const EL2NSYNC: ::c_int = 45;
-+pub const EL3HLT: ::c_int = 46;
-+pub const EL3RST: ::c_int = 47;
-+pub const ELNRNG: ::c_int = 48;
-+pub const EUNATCH: ::c_int = 49;
-+pub const ENOCSI: ::c_int = 50;
-+pub const EL2HLT: ::c_int = 51;
-+pub const EBADE: ::c_int = 52;
-+pub const EBADR: ::c_int = 53;
-+pub const EXFULL: ::c_int = 54;
-+pub const ENOANO: ::c_int = 55;
-+pub const EBADRQC: ::c_int = 56;
-+pub const EBADSLT: ::c_int = 57;
-+pub const EMULTIHOP: ::c_int = 72;
-+pub const EOVERFLOW: ::c_int = 75;
-+pub const ENOTUNIQ: ::c_int = 76;
-+pub const EBADFD: ::c_int = 77;
-+pub const EBADMSG: ::c_int = 74;
-+pub const EREMCHG: ::c_int = 78;
-+pub const ELIBACC: ::c_int = 79;
-+pub const ELIBBAD: ::c_int = 80;
-+pub const ELIBSCN: ::c_int = 81;
-+pub const ELIBMAX: ::c_int = 82;
-+pub const ELIBEXEC: ::c_int = 83;
-+pub const EILSEQ: ::c_int = 84;
-+pub const ERESTART: ::c_int = 85;
-+pub const ESTRPIPE: ::c_int = 86;
-+pub const EUSERS: ::c_int = 87;
-+pub const ENOTSOCK: ::c_int = 88;
-+pub const EDESTADDRREQ: ::c_int = 89;
-+pub const EMSGSIZE: ::c_int = 90;
-+pub const EPROTOTYPE: ::c_int = 91;
-+pub const ENOPROTOOPT: ::c_int = 92;
-+pub const EPROTONOSUPPORT: ::c_int = 93;
-+pub const ESOCKTNOSUPPORT: ::c_int = 94;
-+pub const EOPNOTSUPP: ::c_int = 95;
-+pub const EPFNOSUPPORT: ::c_int = 96;
-+pub const EAFNOSUPPORT: ::c_int = 97;
-+pub const EADDRINUSE: ::c_int = 98;
-+pub const EADDRNOTAVAIL: ::c_int = 99;
-+pub const ENETDOWN: ::c_int = 100;
-+pub const ENETUNREACH: ::c_int = 101;
-+pub const ENETRESET: ::c_int = 102;
-+pub const ECONNABORTED: ::c_int = 103;
-+pub const ECONNRESET: ::c_int = 104;
-+pub const ENOBUFS: ::c_int = 105;
-+pub const EISCONN: ::c_int = 106;
-+pub const ENOTCONN: ::c_int = 107;
-+pub const ESHUTDOWN: ::c_int = 108;
-+pub const ETOOMANYREFS: ::c_int = 109;
-+pub const ETIMEDOUT: ::c_int = 110;
-+pub const ECONNREFUSED: ::c_int = 111;
-+pub const EHOSTDOWN: ::c_int = 112;
-+pub const EHOSTUNREACH: ::c_int = 113;
-+pub const EALREADY: ::c_int = 114;
-+pub const EINPROGRESS: ::c_int = 115;
-+pub const ESTALE: ::c_int = 116;
-+pub const EDQUOT: ::c_int = 122;
-+pub const ENOMEDIUM: ::c_int = 123;
-+pub const EMEDIUMTYPE: ::c_int = 124;
-+pub const ECANCELED: ::c_int = 125;
-+pub const ENOKEY: ::c_int = 126;
-+pub const EKEYEXPIRED: ::c_int = 127;
-+pub const EKEYREVOKED: ::c_int = 128;
-+pub const EKEYREJECTED: ::c_int = 129;
-+pub const EOWNERDEAD: ::c_int = 130;
-+pub const ENOTRECOVERABLE: ::c_int = 131;
-+pub const EHWPOISON: ::c_int = 133;
-+pub const ERFKILL: ::c_int = 132;
-+
-+pub const SA_ONSTACK: ::c_int = 0x08000000;
-+pub const SA_SIGINFO: ::c_int = 0x00000004;
-+pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
-+
-+pub const SIGCHLD: ::c_int = 17;
-+pub const SIGBUS: ::c_int = 7;
-+pub const SIGTTIN: ::c_int = 21;
-+pub const SIGTTOU: ::c_int = 22;
-+pub const SIGXCPU: ::c_int = 24;
-+pub const SIGXFSZ: ::c_int = 25;
-+pub const SIGVTALRM: ::c_int = 26;
-+pub const SIGPROF: ::c_int = 27;
-+pub const SIGWINCH: ::c_int = 28;
-+pub const SIGUSR1: ::c_int = 10;
-+pub const SIGUSR2: ::c_int = 12;
-+pub const SIGCONT: ::c_int = 18;
-+pub const SIGSTOP: ::c_int = 19;
-+pub const SIGTSTP: ::c_int = 20;
-+pub const SIGURG: ::c_int = 23;
-+pub const SIGIO: ::c_int = 29;
-+pub const SIGSYS: ::c_int = 31;
-+pub const SIGSTKFLT: ::c_int = 16;
-+pub const SIGPOLL: ::c_int = 29;
-+pub const SIGPWR: ::c_int = 30;
-+pub const SIG_SETMASK: ::c_int = 2;
-+pub const SIG_BLOCK: ::c_int = 0x000000;
-+pub const SIG_UNBLOCK: ::c_int = 0x01;
-+
-+pub const F_GETLK: ::c_int = 5;
-+pub const F_GETOWN: ::c_int = 9;
-+pub const F_SETLK: ::c_int = 6;
-+pub const F_SETLKW: ::c_int = 7;
-+pub const F_SETOWN: ::c_int = 8;
-+pub const F_OFD_GETLK: ::c_int = 36;
-+pub const F_OFD_SETLK: ::c_int = 37;
-+pub const F_OFD_SETLKW: ::c_int = 38;
-+
-+pub const VEOF: usize = 4;
-+
-+pub const POLLWRNORM: ::c_short = 0x100;
-+pub const POLLWRBAND: ::c_short = 0x200;
-+
-+pub const SOCK_STREAM: ::c_int = 1;
-+pub const SOCK_DGRAM: ::c_int = 2;
-+pub const SOL_SOCKET: ::c_int = 1;
-+pub const SO_REUSEADDR: ::c_int = 2;
-+pub const SO_TYPE: ::c_int = 3;
-+pub const SO_ERROR: ::c_int = 4;
-+pub const SO_DONTROUTE: ::c_int = 5;
-+pub const SO_BROADCAST: ::c_int = 6;
-+pub const SO_SNDBUF: ::c_int = 7;
-+pub const SO_RCVBUF: ::c_int = 8;
-+pub const SO_KEEPALIVE: ::c_int = 9;
-+pub const SO_OOBINLINE: ::c_int = 10;
-+pub const SO_NO_CHECK: ::c_int = 11;
-+pub const SO_PRIORITY: ::c_int = 12;
-+pub const SO_LINGER: ::c_int = 13;
-+pub const SO_BSDCOMPAT: ::c_int = 14;
-+pub const SO_REUSEPORT: ::c_int = 15;
-+pub const SO_ACCEPTCONN: ::c_int = 30;
-+pub const SO_SNDBUFFORCE: ::c_int = 32;
-+pub const SO_RCVBUFFORCE: ::c_int = 33;
-+pub const SO_PROTOCOL: ::c_int = 38;
-+pub const SO_DOMAIN: ::c_int = 39;
-+
-+pub const MAP_ANON: ::c_int = 0x0020;
-+pub const MAP_GROWSDOWN: ::c_int = 0x0100;
-+pub const MAP_DENYWRITE: ::c_int = 0x0800;
-+pub const MAP_EXECUTABLE: ::c_int = 0x01000;
-+pub const MAP_LOCKED: ::c_int = 0x02000;
-+pub const MAP_NORESERVE: ::c_int = 0x04000;
-+pub const MAP_POPULATE: ::c_int = 0x08000;
-+pub const MAP_NONBLOCK: ::c_int = 0x010000;
-+pub const MAP_STACK: ::c_int = 0x020000;
-+pub const MAP_HUGETLB: ::c_int = 0x040000;
-+pub const MAP_SYNC : ::c_int = 0x080000;
-+
-+pub const RLIMIT_NLIMITS: ::c_int = 15;
-+pub const TIOCINQ: ::c_int = ::FIONREAD;
-+pub const MCL_CURRENT: ::c_int = 0x0001;
-+pub const MCL_FUTURE: ::c_int = 0x0002;
-+pub const CBAUD: ::tcflag_t = 0o0010017;
-+pub const TAB1: ::c_int = 0x00000800;
-+pub const TAB2: ::c_int = 0x00001000;
-+pub const TAB3: ::c_int = 0x00001800;
-+pub const CR1: ::c_int = 0x00000200;
-+pub const CR2: ::c_int = 0x00000400;
-+pub const CR3: ::c_int = 0x00000600;
-+pub const FF1: ::c_int = 0x00008000;
-+pub const BS1: ::c_int = 0x00002000;
-+pub const VT1: ::c_int = 0x00004000;
-+pub const VWERASE: usize = 14;
-+pub const VREPRINT: usize = 12;
-+pub const VSUSP: usize = 10;
-+pub const VSTART: usize = 8;
-+pub const VSTOP: usize = 9;
-+pub const VDISCARD: usize = 13;
-+pub const VTIME: usize = 5;
-+pub const IXON: ::tcflag_t = 0x00000400;
-+pub const IXOFF: ::tcflag_t = 0x00001000;
-+pub const ONLCR: ::tcflag_t = 0x4;
-+pub const CSIZE: ::tcflag_t = 0x00000030;
-+pub const CS6: ::tcflag_t = 0x00000010;
-+pub const CS7: ::tcflag_t = 0x00000020;
-+pub const CS8: ::tcflag_t = 0x00000030;
-+pub const CSTOPB: ::tcflag_t = 0x00000040;
-+pub const CREAD: ::tcflag_t = 0x00000080;
-+pub const PARENB: ::tcflag_t = 0x00000100;
-+pub const PARODD: ::tcflag_t = 0x00000200;
-+pub const HUPCL: ::tcflag_t = 0x00000400;
-+pub const CLOCAL: ::tcflag_t = 0x00000800;
-+pub const ECHOKE: ::tcflag_t = 0x00000800;
-+pub const ECHOE: ::tcflag_t = 0x00000010;
-+pub const ECHOK: ::tcflag_t = 0x00000020;
-+pub const ECHONL: ::tcflag_t = 0x00000040;
-+pub const ECHOPRT: ::tcflag_t = 0x00000400;
-+pub const ECHOCTL: ::tcflag_t = 0x00000200;
-+pub const ISIG: ::tcflag_t = 0x00000001;
-+pub const ICANON: ::tcflag_t = 0x00000002;
-+pub const PENDIN: ::tcflag_t = 0x00004000;
-+pub const NOFLSH: ::tcflag_t = 0x00000080;
-+pub const CIBAUD: ::tcflag_t = 0o02003600000;
-+pub const CBAUDEX: ::tcflag_t = 0o010000;
-+pub const VSWTC: usize = 7;
-+pub const OLCUC: ::tcflag_t = 0o000002;
-+pub const NLDLY: ::tcflag_t = 0o000400;
-+pub const CRDLY: ::tcflag_t = 0o003000;
-+pub const TABDLY: ::tcflag_t = 0o014000;
-+pub const BSDLY: ::tcflag_t = 0o020000;
-+pub const FFDLY: ::tcflag_t = 0o100000;
-+pub const VTDLY: ::tcflag_t = 0o040000;
-+pub const XTABS: ::tcflag_t = 0o014000;
-+pub const B57600: ::speed_t = 0o010001;
-+pub const B115200: ::speed_t = 0o010002;
-+pub const B230400: ::speed_t = 0o010003;
-+pub const B460800: ::speed_t = 0o010004;
-+pub const B500000: ::speed_t = 0o010005;
-+pub const B576000: ::speed_t = 0o010006;
-+pub const B921600: ::speed_t = 0o010007;
-+pub const B1000000: ::speed_t = 0o010010;
-+pub const B1152000: ::speed_t = 0o010011;
-+pub const B1500000: ::speed_t = 0o010012;
-+pub const B2000000: ::speed_t = 0o010013;
-+pub const B2500000: ::speed_t = 0o010014;
-+pub const B3000000: ::speed_t = 0o010015;
-+pub const B3500000: ::speed_t = 0o010016;
-+pub const B4000000: ::speed_t = 0o010017;
-+
-+pub const FIOCLEX: ::c_int = 0x5451;
-+pub const FIONCLEX: ::c_int = 0x5450;
-+pub const FIONBIO: ::c_int = 0x5421;
-+pub const EDEADLK: ::c_int = 35;
-+pub const EDEADLOCK: ::c_int = EDEADLK;
-+pub const SO_PASSCRED: ::c_int = 16;
-+pub const SO_PEERCRED: ::c_int = 17;
-+pub const SO_RCVLOWAT: ::c_int = 18;
-+pub const SO_SNDLOWAT: ::c_int = 19;
-+pub const SO_RCVTIMEO: ::c_int = 20;
-+pub const SO_SNDTIMEO: ::c_int = 21;
-+pub const EXTPROC: ::tcflag_t = 0x00010000;
-+pub const VEOL: usize = 11;
-+pub const VEOL2: usize = 16;
-+pub const VMIN: usize = 6;
-+pub const IEXTEN: ::tcflag_t = 0x00008000;
-+pub const TOSTOP: ::tcflag_t = 0x00000100;
-+pub const FLUSHO: ::tcflag_t = 0x00001000;
-+pub const TCGETS: ::c_int = 0x5401;
-+pub const TCSETS: ::c_int = 0x5402;
-+pub const TCSETSW: ::c_int = 0x5403;
-+pub const TCSETSF: ::c_int = 0x5404;
-+pub const TCGETA: ::c_int = 0x5405;
-+pub const TCSETA: ::c_int = 0x5406;
-+pub const TCSETAW: ::c_int = 0x5407;
-+pub const TCSETAF: ::c_int = 0x5408;
-+pub const TCSBRK: ::c_int = 0x5409;
-+pub const TCXONC: ::c_int = 0x540A;
-+pub const TCFLSH: ::c_int = 0x540B;
-+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
-+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
-+pub const TIOCLINUX: ::c_int = 0x541C;
-+pub const TIOCGSERIAL: ::c_int = 0x541E;
-+pub const TIOCEXCL: ::c_int = 0x540C;
-+pub const TIOCNXCL: ::c_int = 0x540D;
-+pub const TIOCSCTTY: ::c_int = 0x540E;
-+pub const TIOCGPGRP: ::c_int = 0x540F;
-+pub const TIOCSPGRP: ::c_int = 0x5410;
-+pub const TIOCOUTQ: ::c_int = 0x5411;
-+pub const TIOCSTI: ::c_int = 0x5412;
-+pub const TIOCGWINSZ: ::c_int = 0x5413;
-+pub const TIOCSWINSZ: ::c_int = 0x5414;
-+pub const TIOCMGET: ::c_int = 0x5415;
-+pub const TIOCMBIS: ::c_int = 0x5416;
-+pub const TIOCMBIC: ::c_int = 0x5417;
-+pub const TIOCMSET: ::c_int = 0x5418;
-+pub const FIONREAD: ::c_int = 0x541B;
-+pub const TIOCCONS: ::c_int = 0x541D;
-+
-+pub const TIOCM_LE: ::c_int = 0x001;
-+pub const TIOCM_DTR: ::c_int = 0x002;
-+pub const TIOCM_RTS: ::c_int = 0x004;
-+pub const TIOCM_ST: ::c_int = 0x008;
-+pub const TIOCM_SR: ::c_int = 0x010;
-+pub const TIOCM_CTS: ::c_int = 0x020;
-+pub const TIOCM_CAR: ::c_int = 0x040;
-+pub const TIOCM_RNG: ::c_int = 0x080;
-+pub const TIOCM_DSR: ::c_int = 0x100;
-+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
-+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
-+
-+extern "C" {
-+    pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
-+}
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs/0004-Update-checksums-for-modified-files-for-rust.patch b/poky/meta/recipes-devtools/rust/libstd-rs/0004-Update-checksums-for-modified-files-for-rust.patch
deleted file mode 100644
index 6e242db..0000000
--- a/poky/meta/recipes-devtools/rust/libstd-rs/0004-Update-checksums-for-modified-files-for-rust.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-From 6dc0a4273b01ec9492af4965f47450a8b8a7c202 Mon Sep 17 00:00:00 2001
-From: Ralf Anton Beier <ralf_beier@me.com>
-Date: Sun, 8 Aug 2021 11:19:24 +0200
-Subject: [PATCH 4/4] Update checksums for modified files for rust
-
-Upstream-Status: Inappropriate [previous patches need to be upstreamed]
-Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
----
- vendor/libc-0.2.106/.cargo-checksum.json | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/vendor/libc-0.2.106/.cargo-checksum.json
-+++ b/vendor/libc-0.2.106/.cargo-checksum.json
-@@ -1 +1 @@
--{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"cef5103f1c20b2e9090a6bbc9b1d9d44746851f60a8ed69b94d52e64133eb98a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"8e0e8d33cc9e7c25cde75c2b502420f943266a681024169f94084774b422681d","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"520300ff260d377930f2f456135ec9a3ac7740a949ce7bf5269c0dc60d56c0df","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"4cf1ca3940157caa735a5cdb478c450d1648669a87d7311cd7c4928c273bd273","src/macros.rs":"7844312c233a6889fa15395fe3106f6a8f6229211104a92f33ea3c9536eef763","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"8cdae0cc37c43dabd4253a534e700bec6b6a57293c0c8e36c9ce16675d16799a","src/solid/arm.rs":"852b58a0837fde089cb9b5af131bf653daeb8c726f7540032756db8b7d4f8149","src/solid/mod.rs":"98dc29c3e5773318ba258a4a2b7407f25aa52d40885a0024fbe43676fe54d14b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"44c217a4f263afe7a97435de9323d20a96c37836f899ca0925306d4b7e073c27","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/mod.rs":"15560099a9ee54cd97b3485c4e5a380af5352373b952a876aeb9476f2acdad04","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"d07c9769835178783820f48e00312f215ee9fa4c62c54000280c52c9906c63c2","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"2a215bd6136b8617aacedf9be738ccee94da9d29b418e9a78101d6291c182352","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"bf0a994e2079b8aad9da5efd3a3b9a7194a53ae60887a25c57964fb68499e847","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"295b3e3b67394f731d4e88d169e3d3d1d80026b99898745cd0d1d163f085ff61","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"df003cfb7794fe4ee8df224fbc62e6427969ec369cd7cfda0b448d5bcbc1e228","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/mod.rs":"527fd23d6087af6131f2f4001b86f464b08b6255c5f9139f2c3a28de24301e72","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"c3a0111252e201c172b99e7d9cbee4cf088d3dd47995110e819f04276bccd198","src/unix/bsd/freebsdlike/mod.rs":"cd435ad58e743a9e83c6c91f9ed3f4c4c31e587d39e0d8ee5cc905f513623835","src/unix/bsd/mod.rs":"2fed08973739d7f6a7412b204724af64b1a915c712689c250cf9a08263ba05ff","src/unix/bsd/netbsdlike/mod.rs":"4e9da54e541773c7ad4cca9dade1df00f28f2fdac3f8df5957f4c74b7e082344","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"65dcb58d11e8d8028401a9d07ca3eb4cb4f053e04249cc877353449d84ccc4cb","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"e4b0dfd3004b3a5b4fc4def43a6a389bae11a3ac8a3c604c2fa09ee1c8ae7030","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"1afe5ef46b14397cdd68664b5b232e4f5b035b6db1d4cf411c899d51ebca9f30","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/mod.rs":"ea4a056a0b78a4d73d359d44454ad96a4465872a916bd2a19b955fbc9070ca29","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"f0219c43860134e3134361477a202e6c561d6543899377fbdbc86f442bc2415f","src/unix/haiku/native.rs":"44855f52906f607de137fc4baa8c6b1b9a26baaa666f25d5f7a7ec5e017c8be6","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"433c1530f602cc5ed26610c58055dde0c4ceea5e00150063b24ddc60768332a4","src/unix/linux_like/android/b32/mod.rs":"d971b98530a96f5892f98e1edc3133cf278d1b3939d77ab0a27a6323e0961715","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"8fe667d2b14abc5ac8aad32e16c3da24350471d8156eaea9ab4989f73dd9f9fc","src/unix/linux_like/android/b64/mod.rs":"d7bbbadafdb2cb2ff8e9cde3d89a03b9facaabb6b2d45705225d3ece1c5cce37","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"06b22dc184e85a988ab969c75cadc52b9878faeab0eb9d21215878c95fe07c19","src/unix/linux_like/android/mod.rs":"7066335e80984db42a80f56abdbda048f0773f0bdeb72f530e989d683d61ad8d","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"b71d37106750f57bc2dae4e9bcb473ff098ef48235827e41a1687a39825f0aa4","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/arch/generic/mod.rs":"ff1fe8fad4ea15d9bec3db25efcfcb4939190c5189f86cfa4d05825aa8c10956","src/unix/linux_like/linux/arch/mips/mod.rs":"e4a980b002105aaa057eb6568e1e2c6168ade5c00e13a31ef67e316ddffdb900","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"1789eb5b41f75c29239795124a4a7cdcf7c8d213b88cf581b2f5bda08d7cf15b","src/unix/linux_like/linux/arch/sparc/mod.rs":"ded708124ee610267d011dee31fb02d1ec697c334aa822776ec95a7ddf6fc541","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"07adf9f4b96854062db518aaf08521fde0ad4a21a5c049efccba437bd97b2b5a","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"1cb5c0c9df3af2bbe131a91593583259fac9118931744c8435e197a394eb0462","src/unix/linux_like/linux/gnu/b32/mod.rs":"794dbcbae7dae8fd6b0b814573243197ceb532b56ef0772ad86b4b401478fcd9","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"0cd7348badb9c4f8a0db31a2503b30c456a2bfcc7a0e5919762b1e12f912c5ad","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"ee5145a383386b716605a8d1ff3df212d418aae1aa1f37d2307d4f9cd1a08e99","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"1bcec269a8416ccc48a384ca5765eaaa23f30f39f32311f50008ef4eeadafb2f","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"5317dbf2323577b89370bbee3894882b89d8333176db4f7b271ddc2f036ef43c","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"c3730792dabcc166d8fd22929ef2633d49bc626875382dfcd401e8e125fb7a84","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"68bcb71bbfccb4e8648948e494366d94767ce96f36daab9c1329375cdd32a459","src/unix/linux_like/linux/gnu/b64/mod.rs":"6336065423c26b59681fd2ce77f1117ea36af13e163fdadaefd108bd8191e8c8","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"dbb8905e363ed4a2dfb984554ad9b6389d27f6a2d599ec2d80e38a6c7551a019","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"5b982c41097f4f91adcb0968290afeccb27dce1695a261c964d34ef85df87cf4","src/unix/linux_like/linux/gnu/b64/s390x.rs":"a9484dfd3c7ca1174537957bef997c3ba7ea41989cdf61ede22b1bbc45a667bf","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"26fda11bdce99372c2c246e60866b56d98beb9fb49a2f6b69347ecfd03d18255","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"5a5ce7c5c92f60d8900dce63d363a38f3126aaf5be981710e172bec96ef95ac6","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"f775ac2b754f90b63053fe22afe1d19d306b5404995568d6805baa9249fb617f","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"4ba1b58468f55254717366f50fdfd3e4114fde6dc442a56681926c4d7e5b6b0d","src/unix/linux_like/linux/gnu/mod.rs":"af3590c392bd06394cb307ccb993e66f53de7e2a0211c689dbb1845220475445","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"d4d754e571d864b356a9f7d04b378ba491ccc6281f01ae3da5a1c052dae67554","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"6255abe2ee04986832d12b7b2190589580f2a43e9bfb285b32b5747227f62727","src/unix/linux_like/linux/musl/b32/hexagon.rs":"a8811791809672be8338e6e27d1c4fcf383c2f26585be8bf9ab2923b219de032","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"b9e9ff42363ebbb884ddf6445129ec4164471df45846874fc08f5f458e659254","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"4592dc5f1f2fe888dfef85fa862d42d168e73a2c6f4fc052b58287d0f4d4ffcd","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"a19a8decfab185af3cebd34aae4b15082e7552be573904b8c1a3f0c0e493ef34","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"a73035c6d9b776f13b839008e15c04c2c53455571efd06664affcb047e457112","src/unix/linux_like/linux/musl/b64/mips64.rs":"2744895451f3a777fbe54f7f2695be53310b965fd62084c9b7e9121c7fe28346","src/unix/linux_like/linux/musl/b64/mod.rs":"d18abc0aeba2e26342bf3416a4dba0836db2bb0ee013b0a39629475cf8640289","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"e5a55525b42493923956d668f978fb45e22d51deea00ce5edbfddf76ff19c741","src/unix/linux_like/linux/musl/b64/s390x.rs":"03dfec6794d93cb31a7c52b2d53a0973755168f91f8fa437cc5dbd54882c8ee7","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"0dd168f5a6881f32e5239fb312b23cf137b800d0ff323286a92c8a2c382b5456","src/unix/linux_like/linux/musl/mod.rs":"55ccd71342276ccb4c441a4bc2772aebfd163af299669b658c6c8c6add331ec3","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"1e3bf809508b5872949136859bf48ddf58b7d24ae9f0b663e79f0efd1aaeb6a6","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"fa4102d9a596d90de604ce2962b0e64f184dfbf10552a4c3ecf28f12d4704379","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"a2877679fef0f14f54a89ccbc41fb02f0c25bf6e536f9eb2cb2fa437e1d3f739","src/unix/linux_like/linux/uclibc/mod.rs":"82d504d3aa12cb0f7933980f81c4708fa6e070d4c57efdf407f2de05b71bc06d","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"024eba5753e852dbdd212427351affe7e83f9916c1864bce414d7aa2618f192e","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"66e8f5b7509a6e638b8b904906f89badbab0da8fb5b602d07ebd88649c4b961a","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"ffce98bdd208fd9d335c65feafbf0d9742bea67c7eec1ee48657f292132ec3f0","src/unix/mod.rs":"6b2b57833e37cd3231944696c8216eb587a2a68069346150cf321153eaf04d03","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/espidf/mod.rs":"c198cb4beccdab483be61c102da74dc51ac80f766797e33021f3110394ed5a3d","src/unix/newlib/mod.rs":"d7271c13748be08305d36f9af6f41f6950a7a1d6d4382149194a35d5fe2090de","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"cc4794afa4fbed9d6612894ea476228f9d8533950162d6416fc4d16073e1dac4","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"7d8f47fd37880715b449723688aaee568785325a46f1c360a05bdca13252278e","src/unix/solarish/mod.rs":"bf2cb449b8a690fc1fa31c3b22c4db80075270a88d63123d18ca305317e53b2e","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/unix/solarish/x86_64.rs":"9d761573bdccbdd1ac61da571f7e96b5374df70241d9b72d45a069611f495085","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"aea3da66f2140f2a82dfc9c58f6e6531d2dd9c15ea696e0f95a0d4a2a187b5b6","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"2c945bce3ddd26bf20ff03fb4192c9c3f625f1308a479c5cb4bd4510a892629a","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"1cd9223293255b994814487e28d9979fb8ebef4538a236c1aa47fdc166a149cc","src/windows/msvc/mod.rs":"860dc98245039bc3aa5782ef2b5798d009ea6655bd27a63f244be2206d2cb47f","src/windows/msvc/x86_64/align.rs":"648cf422b5a9c38eeb91754833780fd1f7aebca241c0391f1198ae2b286fde65","src/windows/msvc/x86_64/mod.rs":"a1f20fd9ed4eb6cddea3f0ebe70d791cdf00ed55ae10e23047e6b31c36c00c57","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"a60553f9a9e039a333b4e9b20573b9e9b9c0bb3a11e201ccc48ef4283456d673"}
-\ No newline at end of file
-+{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"cef5103f1c20b2e9090a6bbc9b1d9d44746851f60a8ed69b94d52e64133eb98a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"8e0e8d33cc9e7c25cde75c2b502420f943266a681024169f94084774b422681d","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"520300ff260d377930f2f456135ec9a3ac7740a949ce7bf5269c0dc60d56c0df","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"4cf1ca3940157caa735a5cdb478c450d1648669a87d7311cd7c4928c273bd273","src/macros.rs":"7844312c233a6889fa15395fe3106f6a8f6229211104a92f33ea3c9536eef763","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"8cdae0cc37c43dabd4253a534e700bec6b6a57293c0c8e36c9ce16675d16799a","src/solid/arm.rs":"852b58a0837fde089cb9b5af131bf653daeb8c726f7540032756db8b7d4f8149","src/solid/mod.rs":"98dc29c3e5773318ba258a4a2b7407f25aa52d40885a0024fbe43676fe54d14b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"44c217a4f263afe7a97435de9323d20a96c37836f899ca0925306d4b7e073c27","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/mod.rs":"15560099a9ee54cd97b3485c4e5a380af5352373b952a876aeb9476f2acdad04","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"d07c9769835178783820f48e00312f215ee9fa4c62c54000280c52c9906c63c2","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"2a215bd6136b8617aacedf9be738ccee94da9d29b418e9a78101d6291c182352","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"bf0a994e2079b8aad9da5efd3a3b9a7194a53ae60887a25c57964fb68499e847","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"295b3e3b67394f731d4e88d169e3d3d1d80026b99898745cd0d1d163f085ff61","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"df003cfb7794fe4ee8df224fbc62e6427969ec369cd7cfda0b448d5bcbc1e228","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/mod.rs":"527fd23d6087af6131f2f4001b86f464b08b6255c5f9139f2c3a28de24301e72","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"c3a0111252e201c172b99e7d9cbee4cf088d3dd47995110e819f04276bccd198","src/unix/bsd/freebsdlike/mod.rs":"cd435ad58e743a9e83c6c91f9ed3f4c4c31e587d39e0d8ee5cc905f513623835","src/unix/bsd/mod.rs":"2fed08973739d7f6a7412b204724af64b1a915c712689c250cf9a08263ba05ff","src/unix/bsd/netbsdlike/mod.rs":"4e9da54e541773c7ad4cca9dade1df00f28f2fdac3f8df5957f4c74b7e082344","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"65dcb58d11e8d8028401a9d07ca3eb4cb4f053e04249cc877353449d84ccc4cb","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"e4b0dfd3004b3a5b4fc4def43a6a389bae11a3ac8a3c604c2fa09ee1c8ae7030","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"1afe5ef46b14397cdd68664b5b232e4f5b035b6db1d4cf411c899d51ebca9f30","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/mod.rs":"ea4a056a0b78a4d73d359d44454ad96a4465872a916bd2a19b955fbc9070ca29","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"f0219c43860134e3134361477a202e6c561d6543899377fbdbc86f442bc2415f","src/unix/haiku/native.rs":"44855f52906f607de137fc4baa8c6b1b9a26baaa666f25d5f7a7ec5e017c8be6","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"433c1530f602cc5ed26610c58055dde0c4ceea5e00150063b24ddc60768332a4","src/unix/linux_like/android/b32/mod.rs":"d971b98530a96f5892f98e1edc3133cf278d1b3939d77ab0a27a6323e0961715","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"8fe667d2b14abc5ac8aad32e16c3da24350471d8156eaea9ab4989f73dd9f9fc","src/unix/linux_like/android/b64/mod.rs":"d7bbbadafdb2cb2ff8e9cde3d89a03b9facaabb6b2d45705225d3ece1c5cce37","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"06b22dc184e85a988ab969c75cadc52b9878faeab0eb9d21215878c95fe07c19","src/unix/linux_like/android/mod.rs":"7066335e80984db42a80f56abdbda048f0773f0bdeb72f530e989d683d61ad8d","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"b71d37106750f57bc2dae4e9bcb473ff098ef48235827e41a1687a39825f0aa4","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/arch/generic/mod.rs":"ff1fe8fad4ea15d9bec3db25efcfcb4939190c5189f86cfa4d05825aa8c10956","src/unix/linux_like/linux/arch/mips/mod.rs":"e4a980b002105aaa057eb6568e1e2c6168ade5c00e13a31ef67e316ddffdb900","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"1789eb5b41f75c29239795124a4a7cdcf7c8d213b88cf581b2f5bda08d7cf15b","src/unix/linux_like/linux/arch/sparc/mod.rs":"ded708124ee610267d011dee31fb02d1ec697c334aa822776ec95a7ddf6fc541","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"07adf9f4b96854062db518aaf08521fde0ad4a21a5c049efccba437bd97b2b5a","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"1cb5c0c9df3af2bbe131a91593583259fac9118931744c8435e197a394eb0462","src/unix/linux_like/linux/gnu/b32/mod.rs":"794dbcbae7dae8fd6b0b814573243197ceb532b56ef0772ad86b4b401478fcd9","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"0cd7348badb9c4f8a0db31a2503b30c456a2bfcc7a0e5919762b1e12f912c5ad","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"ee5145a383386b716605a8d1ff3df212d418aae1aa1f37d2307d4f9cd1a08e99","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"1bcec269a8416ccc48a384ca5765eaaa23f30f39f32311f50008ef4eeadafb2f","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"5317dbf2323577b89370bbee3894882b89d8333176db4f7b271ddc2f036ef43c","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"c3730792dabcc166d8fd22929ef2633d49bc626875382dfcd401e8e125fb7a84","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"68bcb71bbfccb4e8648948e494366d94767ce96f36daab9c1329375cdd32a459","src/unix/linux_like/linux/gnu/b64/mod.rs":"6336065423c26b59681fd2ce77f1117ea36af13e163fdadaefd108bd8191e8c8","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"dbb8905e363ed4a2dfb984554ad9b6389d27f6a2d599ec2d80e38a6c7551a019","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"5b982c41097f4f91adcb0968290afeccb27dce1695a261c964d34ef85df87cf4","src/unix/linux_like/linux/gnu/b64/s390x.rs":"a9484dfd3c7ca1174537957bef997c3ba7ea41989cdf61ede22b1bbc45a667bf","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"26fda11bdce99372c2c246e60866b56d98beb9fb49a2f6b69347ecfd03d18255","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"5a5ce7c5c92f60d8900dce63d363a38f3126aaf5be981710e172bec96ef95ac6","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"f775ac2b754f90b63053fe22afe1d19d306b5404995568d6805baa9249fb617f","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"4ba1b58468f55254717366f50fdfd3e4114fde6dc442a56681926c4d7e5b6b0d","src/unix/linux_like/linux/gnu/mod.rs":"af3590c392bd06394cb307ccb993e66f53de7e2a0211c689dbb1845220475445","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"d4d754e571d864b356a9f7d04b378ba491ccc6281f01ae3da5a1c052dae67554","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"6255abe2ee04986832d12b7b2190589580f2a43e9bfb285b32b5747227f62727","src/unix/linux_like/linux/musl/b32/hexagon.rs":"a8811791809672be8338e6e27d1c4fcf383c2f26585be8bf9ab2923b219de032","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"b9e9ff42363ebbb884ddf6445129ec4164471df45846874fc08f5f458e659254","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"4592dc5f1f2fe888dfef85fa862d42d168e73a2c6f4fc052b58287d0f4d4ffcd","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"a19a8decfab185af3cebd34aae4b15082e7552be573904b8c1a3f0c0e493ef34","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"a73035c6d9b776f13b839008e15c04c2c53455571efd06664affcb047e457112","src/unix/linux_like/linux/musl/b64/mips64.rs":"2744895451f3a777fbe54f7f2695be53310b965fd62084c9b7e9121c7fe28346","src/unix/linux_like/linux/musl/b64/mod.rs":"d847206d9f2d594c8febe780a938cdccf40d985dafc11e90f235947735a09bac","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"e5a55525b42493923956d668f978fb45e22d51deea00ce5edbfddf76ff19c741","src/unix/linux_like/linux/musl/b64/s390x.rs":"03dfec6794d93cb31a7c52b2d53a0973755168f91f8fa437cc5dbd54882c8ee7","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"0dd168f5a6881f32e5239fb312b23cf137b800d0ff323286a92c8a2c382b5456","src/unix/linux_like/linux/musl/mod.rs":"ac08dd0891304a0e6f478a38bffa4fe8e6b27ad79094b2f7139c7a95082c3a18","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"1e3bf809508b5872949136859bf48ddf58b7d24ae9f0b663e79f0efd1aaeb6a6","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"fa4102d9a596d90de604ce2962b0e64f184dfbf10552a4c3ecf28f12d4704379","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"a2877679fef0f14f54a89ccbc41fb02f0c25bf6e536f9eb2cb2fa437e1d3f739","src/unix/linux_like/linux/uclibc/mod.rs":"82d504d3aa12cb0f7933980f81c4708fa6e070d4c57efdf407f2de05b71bc06d","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"024eba5753e852dbdd212427351affe7e83f9916c1864bce414d7aa2618f192e","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"66e8f5b7509a6e638b8b904906f89badbab0da8fb5b602d07ebd88649c4b961a","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"ffce98bdd208fd9d335c65feafbf0d9742bea67c7eec1ee48657f292132ec3f0","src/unix/mod.rs":"6b2b57833e37cd3231944696c8216eb587a2a68069346150cf321153eaf04d03","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/espidf/mod.rs":"c198cb4beccdab483be61c102da74dc51ac80f766797e33021f3110394ed5a3d","src/unix/newlib/mod.rs":"d7271c13748be08305d36f9af6f41f6950a7a1d6d4382149194a35d5fe2090de","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"cc4794afa4fbed9d6612894ea476228f9d8533950162d6416fc4d16073e1dac4","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"7d8f47fd37880715b449723688aaee568785325a46f1c360a05bdca13252278e","src/unix/solarish/mod.rs":"bf2cb449b8a690fc1fa31c3b22c4db80075270a88d63123d18ca305317e53b2e","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/unix/solarish/x86_64.rs":"9d761573bdccbdd1ac61da571f7e96b5374df70241d9b72d45a069611f495085","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"aea3da66f2140f2a82dfc9c58f6e6531d2dd9c15ea696e0f95a0d4a2a187b5b6","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"2c945bce3ddd26bf20ff03fb4192c9c3f625f1308a479c5cb4bd4510a892629a","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"1cd9223293255b994814487e28d9979fb8ebef4538a236c1aa47fdc166a149cc","src/windows/msvc/mod.rs":"860dc98245039bc3aa5782ef2b5798d009ea6655bd27a63f244be2206d2cb47f","src/windows/msvc/x86_64/align.rs":"648cf422b5a9c38eeb91754833780fd1f7aebca241c0391f1198ae2b286fde65","src/windows/msvc/x86_64/mod.rs":"a1f20fd9ed4eb6cddea3f0ebe70d791cdf00ed55ae10e23047e6b31c36c00c57","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"a60553f9a9e039a333b4e9b20573b9e9b9c0bb3a11e201ccc48ef4283456d673"}
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs_1.58.1.bb b/poky/meta/recipes-devtools/rust/libstd-rs_1.58.1.bb
deleted file mode 100644
index 141fea1..0000000
--- a/poky/meta/recipes-devtools/rust/libstd-rs_1.58.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require rust-source.inc
-require libstd-rs.inc
-
-SRC_URI += " \
-    file://0001-Add-base-definitions-for-riscv64-musl.patch;patchdir=../../ \
-    file://0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch;patchdir=../../ \
-    file://0003-FIXUP-Correct-definitions-to-match-musl.patch;patchdir=../../ \
-    file://0004-Update-checksums-for-modified-files-for-rust.patch;patchdir=../../ \
-    "
-
-# libstd moved from src/libstd to library/std in 1.47+
-S = "${RUSTSRC}/library/std"
diff --git a/poky/meta/recipes-devtools/rust/libstd-rs_1.59.0.bb b/poky/meta/recipes-devtools/rust/libstd-rs_1.59.0.bb
new file mode 100644
index 0000000..0ff1fbd
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/libstd-rs_1.59.0.bb
@@ -0,0 +1,12 @@
+require rust-source.inc
+require libstd-rs.inc
+
+# Check if libc crate is >= 0.2.17 before dropping this patch
+SRC_URI += " \
+    file://0001-Add-400-series-syscalls-to-musl-riscv64-definitions.patch;patchdir=../../ \
+    file://0001-Update-checksums-for-modified-vendored-libc.patch;patchdir=../../ \
+"
+# libstd moved from src/libstd to library/std in 1.47+
+S = "${RUSTSRC}/library/std"
+
+BBCLASSEXTEND = "nativesdk"
\ No newline at end of file
diff --git a/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.58.1.bb b/poky/meta/recipes-devtools/rust/rust-cross-canadian_1.59.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/rust/rust-cross-canadian_1.58.1.bb
rename to poky/meta/recipes-devtools/rust/rust-cross-canadian_1.59.0.bb
diff --git a/poky/meta/recipes-devtools/rust/rust-cross.inc b/poky/meta/recipes-devtools/rust/rust-cross.inc
index a77f7d5..f6babfe 100644
--- a/poky/meta/recipes-devtools/rust/rust-cross.inc
+++ b/poky/meta/recipes-devtools/rust/rust-cross.inc
@@ -1,6 +1,3 @@
-require rust.inc
-inherit cross
-
 python do_rust_gen_targets () {
     wd = d.getVar('WORKDIR') + '/targets/'
     # It is important 'TARGET' is last here so that it overrides our less
@@ -30,12 +27,8 @@
 # so it might make sense to take it's mapping. For now, though, we just mention
 # the bits we need explicitly.
 DEPENDS += "rust-llvm-native"
-DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
 DEPENDS += "rust-native"
 
-PROVIDES = "virtual/${TARGET_PREFIX}rust"
-PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"
-
 # In the cross compilation case, rustc doesn't seem to get the rpath quite
 # right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't
 # include the '../../lib' (ie: relative path from cross_bindir to normal
diff --git a/poky/meta/recipes-devtools/rust/rust-cross_1.58.1.bb b/poky/meta/recipes-devtools/rust/rust-cross_1.58.1.bb
deleted file mode 100644
index 3179d39..0000000
--- a/poky/meta/recipes-devtools/rust/rust-cross_1.58.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require rust-cross.inc
-require rust-source.inc
diff --git a/poky/meta/recipes-devtools/rust/rust-cross_1.59.0.bb b/poky/meta/recipes-devtools/rust/rust-cross_1.59.0.bb
new file mode 100644
index 0000000..5358d98
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-cross_1.59.0.bb
@@ -0,0 +1,8 @@
+require rust.inc
+inherit cross
+require rust-cross.inc
+require rust-source.inc
+
+DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
+PROVIDES = "virtual/${TARGET_PREFIX}rust"
+PN = "rust-cross-${TUNE_PKGARCH}-${TCLIBC}"
diff --git a/poky/meta/recipes-devtools/rust/rust-crosssdk_1.59.0.bb b/poky/meta/recipes-devtools/rust/rust-crosssdk_1.59.0.bb
new file mode 100644
index 0000000..6ea8cb0
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/rust-crosssdk_1.59.0.bb
@@ -0,0 +1,8 @@
+require rust.inc
+inherit crosssdk
+require rust-cross.inc
+require rust-source.inc
+
+DEPENDS += "virtual/${TARGET_PREFIX}gcc-crosssdk virtual/nativesdk-${TARGET_PREFIX}compilerlibs virtual/nativesdk-libc"
+PROVIDES = "virtual/nativesdk-${TARGET_PREFIX}rust"
+PN = "rust-crosssdk-${TUNE_PKGARCH}-${RUST_LIBC}"
diff --git a/poky/meta/recipes-devtools/rust/rust-llvm_1.58.1.bb b/poky/meta/recipes-devtools/rust/rust-llvm_1.59.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/rust/rust-llvm_1.58.1.bb
rename to poky/meta/recipes-devtools/rust/rust-llvm_1.59.0.bb
diff --git a/poky/meta/recipes-devtools/rust/rust-snapshot.inc b/poky/meta/recipes-devtools/rust/rust-snapshot.inc
index d0c05ae..b2f6876 100644
--- a/poky/meta/recipes-devtools/rust/rust-snapshot.inc
+++ b/poky/meta/recipes-devtools/rust/rust-snapshot.inc
@@ -2,21 +2,21 @@
 ## snapshot info is taken from rust/src/stage0.txt
 ## TODO: find a way to add additional SRC_URIs based on the contents of an
 ##       earlier SRC_URI.
-RS_VERSION = "1.57.0"
-CARGO_VERSION = "1.57.0"
+RS_VERSION = "1.58.0"
+CARGO_VERSION = "1.58.0"
 
 # TODO: Add hashes for other architecture toolchains as well. Make a script?
-SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "ccdc72d06c90841b7227ec3630337881eeda3da5fbe87328d2e9d705f6f8016c"
-SRC_URI[rustc-snapshot-x86_64.sha256sum] = "c42f40c5279a3a9d539cae93dbcab9d333777ad9a60a5b9f1086b874ef63db86"
-SRC_URI[cargo-snapshot-x86_64.sha256sum] = "ed2013713ae742895af5df8d91c5430ba9ba3c781e3bc7f3471b220cc06d565d"
+SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "319e2dc5f50cbdfb7091f56643c637465d6bc34291ccdaf1a06a2023a37f50c7"
+SRC_URI[rustc-snapshot-x86_64.sha256sum] = "47e586451ac25027eb6c0d23c881a917d21d074d2fe9e5a3f41b4b6de1622be0"
+SRC_URI[cargo-snapshot-x86_64.sha256sum] = "3d44be4cf353f4172b79485121286be667b76246d9998e7c48a3c2907f5e9552"
 
-SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "3618da916a0f92f241cf1d67d04bb57835b303cf2047b57dc2f2487b89a4fc1f"
-SRC_URI[rustc-snapshot-aarch64.sha256sum] = "f26811e48d03c56c125de03d389e1ae7c6df36990953c1670c6a5676bc12d4cb"
-SRC_URI[cargo-snapshot-aarch64.sha256sum] = "6d11cd94618d80cda273eeeae7285980445f61a49ebacc616777b482a41cbf3f"
+SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "b562646864cea55079e4b9d35dc2e9b6abc8efa224e2e49779ba2cbf8ff83b3d"
+SRC_URI[rustc-snapshot-aarch64.sha256sum] = "8d7c8a64118ee523ad3ffc84baf91cf02ff4415390dc835f3925f8697170ec65"
+SRC_URI[cargo-snapshot-aarch64.sha256sum] = "0dd38e1c0217fec9a4075c74e3faa4ab5aeffe966f93e6ec56462b4df192c8b0"
 
-SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "fc07eb3e9f3d227428cc5b53ca868e3de375bc198ce4dce7b87a9246e6fec81a"
-SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "f43cb99109c3438c77c7079cdce4673df3320e310158e0b4d949c1babc4300fc"
-SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "599cf1b5a8cdbf76d591621bc9222aefa60e2f5fd378ae71c4dcf4514c47122e"
+SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "aebb2dcd1ec692997ac0f7f7420b7516fd914ec992449e6c53c22b45cd456f08"
+SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "611a70f459936cda2b4d13046a34f7badc9628901b90752be392723c25a1f7ef"
+SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "176b8899b031b9c96bef290933683a2dab365c623537984954e0a63a1a388cd7"
 
 SRC_URI += " \
     https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \
diff --git a/poky/meta/recipes-devtools/rust/rust-source.inc b/poky/meta/recipes-devtools/rust/rust-source.inc
index 92b1535..ea70ad7 100644
--- a/poky/meta/recipes-devtools/rust/rust-source.inc
+++ b/poky/meta/recipes-devtools/rust/rust-source.inc
@@ -1,5 +1,5 @@
 SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
-SRC_URI[rust.sha256sum] = "2b3643a48e7087053b0268971ec4154350342508922a8acb0707aaf94deb4469"
+SRC_URI[rust.sha256sum] = "375996ead731cab2203ec10a66a3c4568ab6997d7e5d3ae597658164fe27be3d"
 
 RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
 
diff --git a/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.58.1.bb b/poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.59.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.58.1.bb
rename to poky/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.59.0.bb
diff --git a/poky/meta/recipes-devtools/rust/rust_1.58.1.bb b/poky/meta/recipes-devtools/rust/rust_1.59.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/rust/rust_1.58.1.bb
rename to poky/meta/recipes-devtools/rust/rust_1.59.0.bb
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
index bffc05e..c92a5f8 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -16,6 +16,7 @@
            file://CVE-2021-41072-requisite-3.patch;striplevel=2 \
            file://CVE-2021-41072.patch;striplevel=2 \
            "
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
 
 S = "${WORKDIR}/git/squashfs-tools"
 
diff --git a/poky/meta/recipes-devtools/vala/vala_0.54.7.bb b/poky/meta/recipes-devtools/vala/vala_0.54.7.bb
deleted file mode 100644
index bb38252..0000000
--- a/poky/meta/recipes-devtools/vala/vala_0.54.7.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI[sha256sum] = "62079ca1ff02e5d17ae72aa9a5adc61ae6afdcfebb0d9f06063a36efbeaca0c7"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.56.0.bb b/poky/meta/recipes-devtools/vala/vala_0.56.0.bb
new file mode 100644
index 0000000..a4d6760
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.56.0.bb
@@ -0,0 +1,3 @@
+require ${BPN}.inc
+
+SRC_URI[sha256sum] = "d92bd13c5630905eeb6a983dcb702204da9731460c2a6e4e39f867996f371040"
diff --git a/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.3.bb b/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb
similarity index 75%
rename from poky/meta/recipes-extended/asciidoc/asciidoc_10.1.3.bb
rename to poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb
index 34bf255..4ab9edb 100644
--- a/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.3.bb
+++ b/poky/meta/recipes-extended/asciidoc/asciidoc_10.1.4.bb
@@ -5,11 +5,12 @@
 HOMEPAGE = "http://asciidoc.org/"
 
 LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=4e5d1baf6f20559e3bec172226a47e4e \
-                    file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 "
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=aaee33adce0fc7cc40fee23f82f7f101 \
+                    file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    "
 
-SRC_URI = "git://github.com/asciidoc/asciidoc-py3;protocol=https;branch=main"
-SRCREV = "342639edbbc0dcc64354a0291d2214d4d5e65cab"
+SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
+SRCREV = "c724bbf95b1840b04bb298a61a72b6a5ea94c2ef"
 
 DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
 
@@ -20,7 +21,6 @@
 export SGML_CATALOG_FILES="file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
 
 inherit setuptools3
-PIP_INSTALL_PACKAGE = "asciidoc"
 CLEANBROKEN = "1"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/at/at_3.2.4.bb b/poky/meta/recipes-extended/at/at_3.2.5.bb
similarity index 96%
rename from poky/meta/recipes-extended/at/at_3.2.4.bb
rename to poky/meta/recipes-extended/at/at_3.2.5.bb
index 6ee9c5e..6769eb3 100644
--- a/poky/meta/recipes-extended/at/at_3.2.4.bb
+++ b/poky/meta/recipes-extended/at/at_3.2.5.bb
@@ -36,7 +36,7 @@
 PAM_SRC_URI = "file://pam.conf.patch \
                file://configure-add-enable-pam.patch"
 
-SRC_URI[sha256sum] = "76990cbb6f4b9bfedb926637904fdcc0d4fa20b6596b9c932117a49a0624c684"
+SRC_URI[sha256sum] = "bb066b389d7c9bb9d84a35738032b85c30cba7d949f758192adc72c9477fd3b8"
 
 EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
                  --with-daemon_username=root \
diff --git a/poky/meta/recipes-extended/bash/bash_5.1.16.bb b/poky/meta/recipes-extended/bash/bash_5.1.16.bb
index 45c7c2b..d046faa 100644
--- a/poky/meta/recipes-extended/bash/bash_5.1.16.bb
+++ b/poky/meta/recipes-extended/bash/bash_5.1.16.bb
@@ -1,6 +1,6 @@
 require bash.inc
 
-# GPLv2+ (< 4.0), GPLv3+ (>= 4.0)
+# GPL-2.0-or-later (< 4.0), GPL-3.0-or-later (>= 4.0)
 LICENSE = "GPL-3.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
diff --git a/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb b/poky/meta/recipes-extended/cronie/cronie_1.6.0.bb
similarity index 96%
rename from poky/meta/recipes-extended/cronie/cronie_1.5.7.bb
rename to poky/meta/recipes-extended/cronie/cronie_1.6.0.bb
index 8200bed..d2f08c9 100644
--- a/poky/meta/recipes-extended/cronie/cronie_1.5.7.bb
+++ b/poky/meta/recipes-extended/cronie/cronie_1.6.0.bb
@@ -25,7 +25,7 @@
 PAM_SRC_URI = "file://crond_pam_config.patch"
 PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid"
 
-SRC_URI[sha256sum] = "538bcfaf2e986e5ae1edf6d1472a77ea8271d6a9005aee2497a9ed6e13320eb3"
+SRC_URI[sha256sum] = "3f7cc263d21838b53a9943eb2a26b862059e2ae36c3f11789ac33cd6818e3628"
 
 inherit autotools update-rc.d useradd systemd
 
diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc
index 6f28dc3..8f2ad8a 100644
--- a/poky/meta/recipes-extended/cups/cups.inc
+++ b/poky/meta/recipes-extended/cups/cups.inc
@@ -49,6 +49,7 @@
 
 EXTRA_OECONF = " \
                --enable-dbus \
+               --with-dbusdir=${sysconfdir}/dbus-1 \
                --enable-browsing \
                --disable-gssapi \
                --enable-debug \
diff --git a/poky/meta/recipes-extended/diffutils/diffutils/0001-mcontext-is-not-a-standard-layout-so-glibc-and-musl-.patch b/poky/meta/recipes-extended/diffutils/diffutils/0001-mcontext-is-not-a-standard-layout-so-glibc-and-musl-.patch
new file mode 100644
index 0000000..4928e1e
--- /dev/null
+++ b/poky/meta/recipes-extended/diffutils/diffutils/0001-mcontext-is-not-a-standard-layout-so-glibc-and-musl-.patch
@@ -0,0 +1,33 @@
+From f385ad6639380eb6dfa8b8eb4a5ba65dd12db744 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 25 Mar 2022 13:43:19 -0700
+Subject: [PATCH] mcontext is not a standard layout so glibc and musl differ
+
+This is already applied to libsigsegv upstream, hopefully next version
+of grep will update its internal copy and we can drop this patch
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=libsigsegv.git;a=commitdiff;h=a6ff69873110c0a8ba6f7fd90532dbc11224828c]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/sigsegv.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/sigsegv.c b/lib/sigsegv.c
+index 998c827..b6f4841 100644
+--- a/lib/sigsegv.c
++++ b/lib/sigsegv.c
+@@ -219,8 +219,8 @@ int libsigsegv_version = LIBSIGSEGV_VERSION;
+ #   define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.gp_regs[1]
+ #  else /* 32-bit */
+ /* both should be equivalent */
+-#   if 0
+-#    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1]
++#   if ! defined __GLIBC__
++#    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_regs->gregs[1]
+ #   else
+ #    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1]
+ #   endif
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-extended/diffutils/diffutils_3.8.bb b/poky/meta/recipes-extended/diffutils/diffutils_3.8.bb
index 8c3b9b0..8889c83 100644
--- a/poky/meta/recipes-extended/diffutils/diffutils_3.8.bb
+++ b/poky/meta/recipes-extended/diffutils/diffutils_3.8.bb
@@ -6,6 +6,7 @@
 SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
            file://run-ptest \
            file://0001-Skip-strip-trailing-cr-test-case.patch \
+           file://0001-mcontext-is-not-a-standard-layout-so-glibc-and-musl-.patch \
            "
 
 SRC_URI[sha256sum] = "a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec"
diff --git a/poky/meta/recipes-extended/findutils/findutils_4.9.0.bb b/poky/meta/recipes-extended/findutils/findutils_4.9.0.bb
index 63560a4..e4ce8ee 100644
--- a/poky/meta/recipes-extended/findutils/findutils_4.9.0.bb
+++ b/poky/meta/recipes-extended/findutils/findutils_4.9.0.bb
@@ -1,6 +1,6 @@
 require findutils.inc
 
-# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32)
+# GPL-2.0-or-later (<< 4.2.32), GPL-3.0-or-later (>= 4.2.32)
 LICENSE = "GPL-3.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
 
diff --git a/poky/meta/recipes-extended/gawk/gawk_5.1.1.bb b/poky/meta/recipes-extended/gawk/gawk_5.1.1.bb
index 40f994f..fe33980 100644
--- a/poky/meta/recipes-extended/gawk/gawk_5.1.1.bb
+++ b/poky/meta/recipes-extended/gawk/gawk_5.1.1.bb
@@ -6,8 +6,8 @@
 BUGTRACKER  = "bug-gawk@gnu.org"
 SECTION = "console/utils"
 
-# gawk <= 3.1.5: GPLv2
-# gawk >= 3.1.6: GPLv3
+# gawk <= 3.1.5: GPL-2.0-only
+# gawk >= 3.1.6: GPL-3.0-only
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
diff --git a/poky/meta/recipes-extended/grep/grep/0001-mcontext-is-not-a-standard-layout-so-glibc-and-musl-.patch b/poky/meta/recipes-extended/grep/grep/0001-mcontext-is-not-a-standard-layout-so-glibc-and-musl-.patch
new file mode 100644
index 0000000..d8283d3
--- /dev/null
+++ b/poky/meta/recipes-extended/grep/grep/0001-mcontext-is-not-a-standard-layout-so-glibc-and-musl-.patch
@@ -0,0 +1,32 @@
+From 981385237834bdf3e468421147eece68d9bfc7e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 25 Mar 2022 13:34:26 -0700
+Subject: [PATCH] mcontext is not a standard layout so glibc and musl differ
+
+This is already applied to libsigsegv upstream, hopefully next version
+of grep will update its internal copy and we can drop this patch
+
+Upstream-Status: Backport [https://git.savannah.gnu.org/gitweb/?p=libsigsegv.git;a=commitdiff;h=a6ff69873110c0a8ba6f7fd90532dbc11224828c]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/sigsegv.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/sigsegv.c b/lib/sigsegv.c
+index 998c827..b6f4841 100644
+--- a/lib/sigsegv.c
++++ b/lib/sigsegv.c
+@@ -219,8 +219,8 @@ int libsigsegv_version = LIBSIGSEGV_VERSION;
+ #   define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.gp_regs[1]
+ #  else /* 32-bit */
+ /* both should be equivalent */
+-#   if 0
+-#    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1]
++#   if ! defined __GLIBC__
++#    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_regs->gregs[1]
+ #   else
+ #    define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1]
+ #   endif
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-extended/grep/grep_3.7.bb b/poky/meta/recipes-extended/grep/grep_3.7.bb
index 40390c2..7005cbe 100644
--- a/poky/meta/recipes-extended/grep/grep_3.7.bb
+++ b/poky/meta/recipes-extended/grep/grep_3.7.bb
@@ -6,7 +6,9 @@
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
 
-SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz"
+SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz \
+           file://0001-mcontext-is-not-a-standard-layout-so-glibc-and-musl-.patch \
+          "
 
 SRC_URI[sha256sum] = "5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c"
 
diff --git a/poky/meta/recipes-extended/gzip/gzip.inc b/poky/meta/recipes-extended/gzip/gzip.inc
index 15fd665..b325840 100644
--- a/poky/meta/recipes-extended/gzip/gzip.inc
+++ b/poky/meta/recipes-extended/gzip/gzip.inc
@@ -3,7 +3,6 @@
 project. Mark Adler wrote the decompression part"
 HOMEPAGE = "http://www.gnu.org/software/gzip/"
 SECTION = "console/utils"
-# change to GPLv3+ in 2007/07. Previous GPLv2 version is 1.3.12
 
 inherit autotools texinfo
 export DEFS="NO_ASM"
diff --git a/poky/meta/recipes-extended/gzip/gzip_1.11.bb b/poky/meta/recipes-extended/gzip/gzip_1.11.bb
index cff4ed1..321c9c3 100644
--- a/poky/meta/recipes-extended/gzip/gzip_1.11.bb
+++ b/poky/meta/recipes-extended/gzip/gzip_1.11.bb
@@ -1,5 +1,7 @@
 require gzip.inc
 
+# change to GPL-3.0-or-later in 2007/07. Previous GPL-2.0-or-later version is
+# 1.3.12
 LICENSE = "GPL-3.0-or-later"
 
 SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
diff --git a/poky/meta/recipes-extended/iptables/iptables/0001-Makefile.am-do-not-install-etc-ethertypes.patch b/poky/meta/recipes-extended/iptables/iptables/0001-Makefile.am-do-not-install-etc-ethertypes.patch
new file mode 100644
index 0000000..aa51265
--- /dev/null
+++ b/poky/meta/recipes-extended/iptables/iptables/0001-Makefile.am-do-not-install-etc-ethertypes.patch
@@ -0,0 +1,40 @@
+From a4ed9fc8da720585f853d2ca6ffd30e2fa4d1247 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <trevor.gamblin@windriver.com>
+Date: Wed, 9 Mar 2022 12:50:39 -0500
+Subject: [PATCH] Makefile.am: do not install /etc/ethertypes
+
+The /etc/ethertypes is provided by netbase since 6.0[1].
+Do not instal the file in ebtables, otherwise there would be a conflict:
+Error: Transaction test error:
+  file /etc/ethertypes conflicts between attempted installs of
+netbase-1:6.2-r0.corei7_64 and iptables-1.8.7-r0.corei7_64
+
+[1]
+https://salsa.debian.org/md/netbase/-/commit/316680c6a2c3641b6abc76b3eebf88781f609d35)
+
+This patch is based off of the same change made for the ebtables recipe:
+
+http://cgit.openembedded.org/meta-openembedded/tree/meta-networking/recipes-filter/ebtables/ebtables-2.0.11/0001-Makefile.am-do-not-install-etc-ethertypes.patch?h=master
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
+---
+ Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 799bf8b8..2eb1843f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,7 +18,6 @@ SUBDIRS         += iptables
+ 
+ if ENABLE_NFTABLES
+ confdir		= $(sysconfdir)
+-dist_conf_DATA	= etc/ethertypes
+ endif
+ 
+ .PHONY: tarball
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.7.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.7.bb
index 69b4a48..3b41882 100644
--- a/poky/meta/recipes-extended/iptables/iptables_1.8.7.bb
+++ b/poky/meta/recipes-extended/iptables/iptables_1.8.7.bb
@@ -10,6 +10,7 @@
 
 SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
            file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
+           file://0001-Makefile.am-do-not-install-etc-ethertypes.patch \
            file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
            file://iptables.service \
            file://iptables.rules \
@@ -65,6 +66,11 @@
             -e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \
             ${D}${systemd_system_unitdir}/ip6tables.service
     fi
+
+    # if libnftnl is included, make the iptables symlink point to the nft-based binary by default
+    if ${@bb.utils.contains('PACKAGECONFIG', 'libnftnl', 'true', 'false', d)} ; then
+        ln -sf ${sbindir}/xtables-nft-multi ${D}${sbindir}/iptables 
+    fi
 }
 
 PACKAGES =+ "${PN}-modules ${PN}-apply"
diff --git a/poky/meta/recipes-extended/less/less_600.bb b/poky/meta/recipes-extended/less/less_600.bb
index 8b715fa..9ebe39d 100644
--- a/poky/meta/recipes-extended/less/less_600.bb
+++ b/poky/meta/recipes-extended/less/less_600.bb
@@ -5,7 +5,7 @@
 HOMEPAGE = "http://www.greenwoodsoftware.com/"
 SECTION = "console/utils"
 
-# (GPLv2+ (<< 418), GPLv3+ (>= 418)) | less
+# (GPL-2.0-or-later (<< 418), GPL-3.0-or-later (>= 418)) | less
 # Including email author giving permissing to use BSD
 #
 # From: Mark Nudelman <markn@greenwoodsoftware.com>
diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.5.3.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.6.0.bb
similarity index 94%
rename from poky/meta/recipes-extended/libarchive/libarchive_3.5.3.bb
rename to poky/meta/recipes-extended/libarchive/libarchive_3.6.0.bb
index dd607ac..f078c8a 100644
--- a/poky/meta/recipes-extended/libarchive/libarchive_3.5.3.bb
+++ b/poky/meta/recipes-extended/libarchive/libarchive_3.6.0.bb
@@ -33,8 +33,9 @@
 EXTRA_OECONF += "--enable-largefile"
 
 SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz"
+UPSTREAM_CHECK_URI = "http://libarchive.org/"
 
-SRC_URI[sha256sum] = "72788e5f58d16febddfa262a5215e05fc9c79f2670f641ac039e6df44330ef51"
+SRC_URI[sha256sum] = "a36613695ffa2905fdedc997b6df04a3006ccfd71d747a339b78aa8412c3d852"
 
 inherit autotools update-alternatives pkgconfig
 
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.20.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.22.bb
similarity index 95%
rename from poky/meta/recipes-extended/libsolv/libsolv_0.7.20.bb
rename to poky/meta/recipes-extended/libsolv/libsolv_0.7.22.bb
index f0ba955..c27bf9c 100644
--- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.20.bb
+++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.22.bb
@@ -12,7 +12,7 @@
            file://0001-utils-Conside-musl-when-wrapping-qsort_r.patch \
 "
 
-SRCREV = "f618e6aae1d44be633b2ab91d4fd4f4f974f4d40"
+SRCREV = "ea114b257b78bda6ee3e4238118ed93bc57c5984"
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.10.1.bb b/poky/meta/recipes-extended/man-db/man-db_2.10.2.bb
similarity index 96%
rename from poky/meta/recipes-extended/man-db/man-db_2.10.1.bb
rename to poky/meta/recipes-extended/man-db/man-db_2.10.2.bb
index e8fd47a..a41e2dd 100644
--- a/poky/meta/recipes-extended/man-db/man-db_2.10.1.bb
+++ b/poky/meta/recipes-extended/man-db/man-db_2.10.2.bb
@@ -9,7 +9,7 @@
            file://99_mandb \
            file://0001-man-Move-local-variable-declaration-to-function-scop.patch \
            file://man_db.conf-avoid-multilib-install-file-conflict.patch"
-SRC_URI[sha256sum] = "2ffd8f2e80122fe72e60c740c851e6a3e15c9a7921185eb4752c1c672824bed6"
+SRC_URI[sha256sum] = "ee97954d492a13731903c9d0727b9b01e5089edbd695f0cdb58d405a5af5514d"
 
 DEPENDS = "libpipeline gdbm groff-native base-passwd"
 RDEPENDS:${PN} += "base-passwd"
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
index 6f6e0c9..1c2fc8c 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
 DESCRIPTION = "mdadm is a Linux utility used to manage and monitor software RAID devices."
 
-# Some files are GPLv2+ while others are GPLv2.
+# Some files are GPL-2.0-only while others are GPL-2.0-or-later.
 LICENSE = "GPL-2.0-only & GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.19.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.20.bb
similarity index 91%
rename from poky/meta/recipes-extended/msmtp/msmtp_1.8.19.bb
rename to poky/meta/recipes-extended/msmtp/msmtp_1.8.20.bb
index bdbb1da..da3f70a 100644
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.19.bb
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.20.bb
@@ -11,7 +11,7 @@
 UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
 
 SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[sha256sum] = "34a1e1981176874dbe4ee66ee0d9103c90989aa4dcdc4861e4de05ce7e44526b"
+SRC_URI[sha256sum] = "d93ae2aafc0f48af7dc9d0b394df1bb800588b8b4e8d096d8b3cf225344eb111"
 
 inherit gettext autotools update-alternatives pkgconfig
 
diff --git a/poky/meta/recipes-extended/pam/libpam/pam-volatiles.conf b/poky/meta/recipes-extended/pam/libpam/pam-volatiles.conf
index d8b8259..1263feb 100644
--- a/poky/meta/recipes-extended/pam/libpam/pam-volatiles.conf
+++ b/poky/meta/recipes-extended/pam/libpam/pam-volatiles.conf
@@ -1 +1 @@
-d /var/run/sepermit 0755 root root - -
+d /run/sepermit 0755 root root - -
diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb
index 87c0ad3..9a7cfec 100644
--- a/poky/meta/recipes-extended/pam/libpam_1.3.1.bb
+++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb
@@ -6,7 +6,7 @@
 SECTION = "base"
 # PAM is dual licensed under GPL and BSD.
 # /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time
-# libpam-runtime-1.0.1 is GPLv2+), by openembedded
+# libpam-runtime-1.0.1 is GPL-2.0-or-later), by openembedded
 LICENSE = "GPL-2.0-or-later | BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \
                     file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \
diff --git a/poky/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch b/poky/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
index 4d6f6d6..4bb6be4 100644
--- a/poky/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
+++ b/poky/meta/recipes-extended/shadow/files/0001-Disable-use-of-syslog-for-sysroot.patch
@@ -1,124 +1,22 @@
-From 531cd5ca6eadef29b4799459f1bcfc002ecbd424 Mon Sep 17 00:00:00 2001
-From: Scott Garman <scott.a.garman@intel.com>
-Date: Thu, 14 Apr 2016 12:28:57 +0200
-Subject: [PATCH] Disable use of syslog for sysroot
+Disable use of syslog for shadow-native tools
 
 Disable use of syslog to prevent sysroot user and group additions from
 writing entries to the host's syslog. This patch should only be used
 with the shadow-native recipe.
 
-Upstream-Status: Inappropriate [disable feature]
+Upstream-Status: Inappropriate [OE specific configuration]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-
----
- src/groupadd.c  | 3 +++
- src/groupdel.c  | 3 +++
- src/groupmems.c | 3 +++
- src/groupmod.c  | 3 +++
- src/useradd.c   | 3 +++
- src/userdel.c   | 4 ++++
- src/usermod.c   | 3 +++
- 7 files changed, 22 insertions(+)
-
-diff --git a/src/groupadd.c b/src/groupadd.c
-index 66ccb53..776ea51 100644
---- a/src/groupadd.c
-+++ b/src/groupadd.c
-@@ -11,6 +11,9 @@
+Index: shadow-4.11.1/configure.ac
+===================================================================
+--- shadow-4.11.1.orig/configure.ac
++++ shadow-4.11.1/configure.ac
+@@ -204,7 +204,7 @@ AC_DEFINE_UNQUOTED(PASSWD_PROGRAM, "$sha
+ 	[Path to passwd program.])
  
- #ident "$Id$"
- 
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <getopt.h>
-diff --git a/src/groupdel.c b/src/groupdel.c
-index c84faa7..1076f4b 100644
---- a/src/groupdel.c
-+++ b/src/groupdel.c
-@@ -11,6 +11,9 @@
- 
- #ident "$Id$"
- 
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <grp.h>
-diff --git a/src/groupmems.c b/src/groupmems.c
-index a0e3266..6540cb1 100644
---- a/src/groupmems.c
-+++ b/src/groupmems.c
-@@ -9,6 +9,9 @@
- 
- #include <config.h>
- 
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <fcntl.h>
- #include <getopt.h>
- #include <grp.h>
-diff --git a/src/groupmod.c b/src/groupmod.c
-index 006eca1..78b1ad6 100644
---- a/src/groupmod.c
-+++ b/src/groupmod.c
-@@ -11,6 +11,9 @@
- 
- #ident "$Id$"
- 
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <ctype.h>
- #include <fcntl.h>
- #include <getopt.h>
-diff --git a/src/useradd.c b/src/useradd.c
-index 456b9de..2b0d703 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -11,6 +11,9 @@
- 
- #ident "$Id$"
- 
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <assert.h>
- #include <ctype.h>
- #include <errno.h>
-diff --git a/src/userdel.c b/src/userdel.c
-index 7012b0e..08bb5d1 100644
---- a/src/userdel.c
-+++ b/src/userdel.c
-@@ -8,6 +8,10 @@
-  */
- 
- #include <config.h>
-+
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <assert.h>
- #include <dirent.h>
- #include <errno.h>
-diff --git a/src/usermod.c b/src/usermod.c
-index 9473a7d..7d4f7b5 100644
---- a/src/usermod.c
-+++ b/src/usermod.c
-@@ -11,6 +11,9 @@
- 
- #ident "$Id$"
- 
-+/* Disable use of syslog since we're running this command against a sysroot */
-+#undef USE_SYSLOG
-+
- #include <assert.h>
- #include <ctype.h>
- #include <errno.h>
+ dnl XXX - quick hack, should disappear before anyone notices :).
+-AC_DEFINE(USE_SYSLOG, 1, [Define to use syslog().])
++AC_DEFINE(USE_SYSLOG, 0, [Define to use syslog().])
+ if test "$ac_cv_func_ruserok" = "yes"; then
+ 	AC_DEFINE(RLOGIN, 1, [Define if login should support the -r flag for rlogind.])
+ 	AC_DEFINE(RUSEROK, 0, [Define to the ruserok() "success" return value (0 or 1).])
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.13.11.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.13.12.bb
similarity index 92%
rename from poky/meta/recipes-extended/stress-ng/stress-ng_0.13.11.bb
rename to poky/meta/recipes-extended/stress-ng/stress-ng_0.13.12.bb
index 12e1095..fe177a4 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.13.11.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.13.12.bb
@@ -6,7 +6,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master"
-SRCREV = "48be8ff4ffc4a04a0e3b5f2feaf63cce0cbd4f2b"
+SRCREV = "f59bcb2fe1e25042e77d5e4942f72bfa026fa305"
 S = "${WORKDIR}/git"
 
 DEPENDS = "coreutils-native"
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.9.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.10.bb
similarity index 96%
rename from poky/meta/recipes-extended/sudo/sudo_1.9.9.bb
rename to poky/meta/recipes-extended/sudo/sudo_1.9.10.bb
index d7d71bb..aa0d814 100644
--- a/poky/meta/recipes-extended/sudo/sudo_1.9.9.bb
+++ b/poky/meta/recipes-extended/sudo/sudo_1.9.10.bb
@@ -8,7 +8,7 @@
 
 PAM_SRC_URI = "file://sudo.pam"
 
-SRC_URI[sha256sum] = "6d6ee863a3bc26c87661093a74ec63e10fd031ceba714642d21636dfe25e3e00"
+SRC_URI[sha256sum] = "44a1461098e7c7b8e6ac597499c24fb2e43748c0c139a8b4944e57d1349a64f4"
 
 DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb
index 0682ec1..7043f3d 100644
--- a/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb
+++ b/poky/meta/recipes-extended/sysklogd/sysklogd_2.3.0.bb
@@ -10,7 +10,7 @@
 
 inherit update-rc.d update-alternatives systemd autotools
 
-SRC_URI = "git://github.com/troglobit/sysklogd.git;nobranch=1;protocol=https \
+SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https \
            file://sysklogd \
            "
 
diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.4.4.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb
similarity index 65%
rename from poky/meta/recipes-extended/sysstat/sysstat_12.4.4.bb
rename to poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb
index d635650..fe3db4d 100644
--- a/poky/meta/recipes-extended/sysstat/sysstat_12.4.4.bb
+++ b/poky/meta/recipes-extended/sysstat/sysstat_12.4.5.bb
@@ -4,4 +4,4 @@
 
 SRC_URI += "file://0001-configure.in-remove-check-for-chkconfig.patch"
 
-SRC_URI[sha256sum] = "9512e7479e04f92e251c5c6b4bd94b8f643d212bd0e986a8ea4d147a6e943d24"
+SRC_URI[sha256sum] = "ef445acea301bbb996e410842f6290a8d049e884d4868cfef7e85dc04b7eee5b"
diff --git a/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch b/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
new file mode 100644
index 0000000..716766d
--- /dev/null
+++ b/poky/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
@@ -0,0 +1,137 @@
+From da29ba6a27d8e78562052c79061476848915eb2a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 9 Mar 2022 12:13:28 -0800
+Subject: [PATCH] configure: Pass LDFLAGS to tests doing link step
+
+Ensures that right flags from recipes are honored, otherwise tests fail
+which otherwise should not.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index d4b0a8e..49579f3 100755
+--- a/unix/configure
++++ b/unix/configure
+@@ -116,7 +116,7 @@ _EOF_
+ 	# Special Mac OS X shared library "ld" option?
+         if test ` uname -s 2> /dev/null ` = 'Darwin'; then
+           lf='-Wl,-search_paths_first'
+-          $CC $CFLAGS $lf conftest.c > /dev/null 2>/dev/null
++          $CC $CFLAGS $LDFLAGS $lf conftest.c > /dev/null 2>/dev/null
+           if test $? -eq 0; then
+             BZLF=${lf}
+           fi
+@@ -276,7 +276,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+   echo -- no Large File Support
+ else
+@@ -322,7 +322,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+   echo "-- no Unicode (wchar_t) support"
+ else
+@@ -383,7 +383,7 @@ for func in fchmod fchown lchown nl_langinfo
+ do
+   echo Check for $func
+   echo "int main(){ $func(); return 0; }" > conftest.c
+-  $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++  $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+   [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+ done
+ 
+@@ -395,14 +395,14 @@ temp_link="link_$$"
+   echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
+ ) > conftest.c
+ ln -s "${temp_link}" "${temp_file}" && \
+- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null && \
++ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
+  ./conftest
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
+ rm -f "${temp_file}"
+ 
+ echo Check for memset
+ echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
+ 
+ echo Check for errno declaration
+@@ -422,12 +422,12 @@ cat > conftest.c << _EOF_
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+ 
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+   OPT=""
+   for lib in ndir dir ucb bsd BSD PW x dirent
+   do
+-    $CC -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
++    $CC $CLFAGS $LDFLAGS -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
+     [ $? -eq 0 ] && OPT=-l$lib && break
+   done
+   if [ ${OPT} ]; then
+@@ -440,9 +440,9 @@ fi
+ # Dynix/ptx 1.3 needed this
+ echo Check for readlink
+ echo "int main(){ return readlink(); }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+-  $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
++  $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
+   [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
+ fi
+ 
+@@ -501,7 +501,7 @@ int main()
+ }
+ _EOF_
+ # compile it
+-$CC ${CFLAGS} ${CFLAGSR} -o conftest conftest.c >/dev/null 2>/dev/null
++$CC ${CFLAGS} ${CFLAGSR} $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+   echo "-- no MBCS support"
+   CFLAGSR="${CFLAGSR} -DNO_MBCS"
+@@ -515,7 +515,7 @@ else
+   do
+     echo Check for MBCS $func
+     echo "int main() { $func(); return 0; }" > conftest.c
+-    $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++    $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+     [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -D`echo $func | tr '[a-z]' '[A-Z]'`=$func"
+   done
+ fi
+@@ -557,7 +557,7 @@ elif [ -f /xenix ]; then
+ elif uname -X >/dev/null 2>/dev/null; then
+ # SCO shared library check
+   echo "int main() { return 0;}" > conftest.c
+-  $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
++  $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
+   [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
+ else
+   SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
+@@ -565,7 +565,7 @@ else
+   case $SYSTEM in
+      OSF1|ULTRIX)
+         echo Check for -Olimit option
+-        $CC ${CFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
++        $CC ${CFLAGS} ${LDFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
+         [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -Olimit 1000"
+         ;;
+ ###     HP-UX)
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-extended/unzip/unzip_6.0.bb b/poky/meta/recipes-extended/unzip/unzip_6.0.bb
index 4720fdd..af94a39 100644
--- a/poky/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/poky/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -27,6 +27,7 @@
 	file://CVE-2019-13232_p2.patch \
 	file://CVE-2019-13232_p3.patch \
 	file://unzip_optimization.patch \
+        file://0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch \
 "
 UPSTREAM_VERSION_UNKNOWN = "1"
 
diff --git a/poky/meta/recipes-extended/wget/wget_1.21.2.bb b/poky/meta/recipes-extended/wget/wget_1.21.3.bb
similarity index 60%
rename from poky/meta/recipes-extended/wget/wget_1.21.2.bb
rename to poky/meta/recipes-extended/wget/wget_1.21.3.bb
index 90f3eb1..f176a15 100644
--- a/poky/meta/recipes-extended/wget/wget_1.21.2.bb
+++ b/poky/meta/recipes-extended/wget/wget_1.21.3.bb
@@ -2,6 +2,6 @@
            file://0002-improve-reproducibility.patch \
           "
 
-SRC_URI[sha256sum] = "e6d4c76be82c676dd7e8c61a29b2ac8510ae108a810b5d1d18fc9a1d2c9a2497"
+SRC_URI[sha256sum] = "5726bb8bc5ca0f6dc7110f6416e4bb7019e2d2ff5bf93d1ca2ffcc6656f220e5"
 
 require wget.inc
diff --git a/poky/meta/recipes-extended/xz/xz_5.2.5.bb b/poky/meta/recipes-extended/xz/xz_5.2.5.bb
index c41987d..78aa6b2 100644
--- a/poky/meta/recipes-extended/xz/xz_5.2.5.bb
+++ b/poky/meta/recipes-extended/xz/xz_5.2.5.bb
@@ -3,10 +3,11 @@
 DESCRIPTION = "XZ Utils is free general-purpose data compression software with a high compression ratio. XZ Utils were written for POSIX-like systems, but also work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils."
 SECTION = "base"
 
-# The source includes bits of PD, GPLv2, GPLv3, LGPLv2.1+, but the only file
-# which is GPLv3 is an m4 macro which isn't shipped in any of our packages,
-# and the LGPL bits are under lib/, which appears to be used for libgnu, which
-# appears to be used for DOS builds. So we're left with GPLv2+ and PD.
+# The source includes bits of PD, GPL-2.0, GPL-3.0, LGPL-2.1-or-later, but the
+# only file which is GPL-3.0 is an m4 macro which isn't shipped in any of our
+# packages, and the LGPL bits are under lib/, which appears to be used for
+# libgnu, which appears to be used for DOS builds. So we're left with
+# GPL-2.0-or-later and PD.
 LICENSE = "GPL-2.0-or-later & GPL-3.0-with-autoconf-exception & LGPL-2.1-or-later & PD"
 LICENSE:${PN} = "GPL-2.0-or-later"
 LICENSE:${PN}-dev = "GPL-2.0-or-later"
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
new file mode 100644
index 0000000..475a653
--- /dev/null
+++ b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
@@ -0,0 +1,88 @@
+From ab5df4826c4a532da78828b72a2751c899e27ef2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Mar 2022 22:31:21 -0800
+Subject: [PATCH] configure: Use CFLAGS and LDFLAGS when doing link tests
+
+Some case link flags contain important flags which are required during
+linking, link fails otherwise without them, which can result in
+configure detection go wrong, ensure these flags are used along with CC
+when tests involve linking
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unix/configure | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 1bc698b..1d9a9bb 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -517,14 +517,14 @@ for func in rmdir strchr strrchr rename mktemp mktime mkstemp
+ do
+   echo Check for $func
+   echo "int main(){ $func(); return 0; }" > conftest.c
+-  $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
++  $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
+   [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+ done
+ 
+ 
+ echo Check for memset
+ echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
+ 
+ 
+@@ -533,7 +533,7 @@ cat > conftest.c << _EOF_
+ #include <string.h>
+ int main() { int a; int b = 0; memmove( &a, &b, sizeof( a)); return a; }
+ _EOF_
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_MEMMOVE"
+ 
+ 
+@@ -542,7 +542,7 @@ cat > conftest.c << _EOF_
+ #include <string.h>
+ int main() { strerror( 0); return 0; }
+ _EOF_
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_STRERROR"
+ 
+ echo Check for errno declaration
+@@ -563,7 +563,7 @@ cat > conftest.c << _EOF_
+ int main() { return closedir(opendir(".")); }
+ _EOF_
+ 
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+   OPT=""
+   for lib in ndir dir ucb bsd BSD PW x dirent
+@@ -583,9 +583,9 @@ fi
+ 
+ echo Check for readlink
+ echo "int main(){ return readlink(); }" > conftest.c
+-$CC -o conftest conftest.c >/dev/null 2>/dev/null
++$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+-  $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
++  $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
+   [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
+ fi
+ 
+@@ -661,7 +661,7 @@ elif [ -f /xenix ]; then
+ elif uname -X >/dev/null 2>/dev/null; then
+ # SCO shared library check
+   echo "int main() { return 0;}" > conftest.c
+-  $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
++  $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
+   [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
+ else
+   SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch
new file mode 100644
index 0000000..02253f9
--- /dev/null
+++ b/poky/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch
@@ -0,0 +1,47 @@
+From 7a2729ee7f5d9b9d4a0d9b83fe641a2ab03c4ee0 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 24 Feb 2022 17:36:59 -0800
+Subject: [PATCH 1/2] configure: use correct CPP
+
+configure uses CPP to test that two assembler routines
+can be built. Unfortunately, it will use /usr/bin/cpp
+if it exists, invalidating the tests.  We use the $CC
+passed to configure.
+
+Upstream-Status: Inappropriate [openembedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ unix/configure | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 73ba803..7e21070 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -220,13 +220,16 @@ fi
+ echo Check for the C preprocessor
+ # on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp.
+ CPP="${CC} -E"
++
++# We should not change CPP for yocto builds.
++#
+ # solaris as(1) needs -P, maybe others as well ?
+-[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
+-[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
+-[ -f /lib/cpp ] && CPP=/lib/cpp
+-[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
+-[ -f /xenix ] && CPP="${CC} -E"
+-[ -f /lynx.os ] && CPP="${CC} -E"
++# [ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
++# [ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
++# [ -f /lib/cpp ] && CPP=/lib/cpp
++# [ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
++# [ -f /xenix ] && CPP="${CC} -E"
++# [ -f /lynx.os ] && CPP="${CC} -E"
+ 
+ echo "#include <stdio.h>" > conftest.c
+ $CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E"
+-- 
+2.24.1
+
diff --git a/poky/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch b/poky/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch
new file mode 100644
index 0000000..6e08796
--- /dev/null
+++ b/poky/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch
@@ -0,0 +1,34 @@
+From b0492506d2c28581193906e9d260d4f0451e2c39 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 24 Feb 2022 17:46:03 -0800
+Subject: [PATCH 2/2] configure: support PIC code build
+
+Disable building match.S. The code requires
+relocation in .text.
+
+Upstream-Status: Inappropriate [openembedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ unix/configure | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/unix/configure b/unix/configure
+index 7e21070..1bc698b 100644
+--- a/unix/configure
++++ b/unix/configure
+@@ -242,8 +242,9 @@ if eval "$CPP match.S > _match.s 2>/dev/null"; then
+   if test ! -s _match.s || grep error < _match.s > /dev/null; then
+     :
+   elif eval "$CC -c _match.s >/dev/null 2>/dev/null" && [ -f _match.o ]; then
+-    CFLAGS="${CFLAGS} -DASMV"
+-    OBJA="match.o"
++    # disable match.S for PIC code
++    # CFLAGS="${CFLAGS} -DASMV"
++    # OBJA="match.o"
+     echo "int foo() { return 0;}" > conftest.c
+     $CC -c conftest.c >/dev/null 2>/dev/null
+     echo Check if compiler generates underlines
+-- 
+2.24.1
+
diff --git a/poky/meta/recipes-extended/zip/zip_3.0.bb b/poky/meta/recipes-extended/zip/zip_3.0.bb
index 3fea751..07a67b9 100644
--- a/poky/meta/recipes-extended/zip/zip_3.0.bb
+++ b/poky/meta/recipes-extended/zip/zip_3.0.bb
@@ -14,6 +14,9 @@
            file://fix-security-format.patch \
            file://10-remove-build-date.patch \
            file://zipnote-crashes-with-segfault.patch \
+           file://0001-configure-use-correct-CPP.patch \
+           file://0002-configure-support-PIC-code-build.patch \
+           file://0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch \
            "
 UPSTREAM_VERSION_UNKNOWN = "1"
 
diff --git a/poky/meta/recipes-extended/zstd/zstd_1.5.2.bb b/poky/meta/recipes-extended/zstd/zstd_1.5.2.bb
index 0ddff46..3887f31 100644
--- a/poky/meta/recipes-extended/zstd/zstd_1.5.2.bb
+++ b/poky/meta/recipes-extended/zstd/zstd_1.5.2.bb
@@ -36,4 +36,8 @@
     oe_runmake install 'DESTDIR=${D}' PREFIX=${prefix} -C contrib/pzstd
 }
 
+PACKAGE_BEFORE_PN = "libzstd"
+
+FILES:libzstd = "${libdir}/libzstd${SOLIBS}"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb b/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
index 67617fc..6a7124c 100644
--- a/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
+++ b/poky/meta/recipes-gnome/gi-docgen/gi-docgen_git.bb
@@ -16,7 +16,6 @@
 S = "${WORKDIR}/git"
 
 inherit setuptools3
-PIP_INSTALL_PACKAGE = "gi_docgen"
 
 RDEPENDS:${PN} += "python3-asyncio python3-core python3-jinja2 python3-json python3-markdown python3-markupsafe python3-pygments python3-toml python3-typogrify python3-xml"
 
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
index 5afba3c..32f98e0 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch
@@ -1,4 +1,4 @@
-From 63d97fefdbc90f5c68f67bdc30844776d9a1b720 Mon Sep 17 00:00:00 2001
+From 15ffd817b3e334dc7c0508761c7ef417d76379c5 Mon Sep 17 00:00:00 2001
 From: Jussi Kukkonen <jussi.kukkonen@intel.com>
 Date: Tue, 30 May 2017 14:55:49 +0300
 Subject: [PATCH] Don't use AC_CANONICAL_HOST
@@ -14,12 +14,12 @@
  1 file changed, 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index f2659a5..1e8b016 100644
+index 040975e..5f7b53a 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -3,7 +3,6 @@ AC_PREREQ(2.53)
  
- AC_INIT([adwaita-icon-theme], [41.0],
+ AC_INIT([adwaita-icon-theme], [42.0],
          [http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme])
 -AC_CANONICAL_HOST
  AC_CONFIG_MACRO_DIR([m4])
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch
deleted file mode 100644
index a1d39cf..0000000
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 79da031e9811f3eef34b14cce419be93fea34319 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 13 Jun 2017 18:10:06 +0300
-Subject: [PATCH] Run installation commands as shell jobs
-
-This greatly speeds up installation time on multi-core systems.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/merge_requests/39]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- src/fullcolor/Makefile.am |  5 +++--
- src/spinner/Makefile.am   |  7 ++++---
- src/symbolic/Makefile.am  | 11 ++++++-----
- 3 files changed, 13 insertions(+), 10 deletions(-)
-
-diff --git a/src/fullcolor/Makefile.am b/src/fullcolor/Makefile.am
-index d73529b..b7d0808 100644
---- a/src/fullcolor/Makefile.am
-+++ b/src/fullcolor/Makefile.am
-@@ -9,9 +9,10 @@ install-data-local:
- 		for file in `cd $(top_srcdir)/$(SVGOUTDIR)/$$size && find . -name "*.png"`; do \
- 			context="`dirname $$file`"; \
- 			$(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \
--			$(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \
-+			$(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \
- 		done; \
--	done;
-+	done; \
-+	wait
- 
- ## FIXME we should add a way to remove links generated by icon mapping
- uninstall-local:
-diff --git a/src/spinner/Makefile.am b/src/spinner/Makefile.am
-index c14caf6..322dc0d 100644
---- a/src/spinner/Makefile.am
-+++ b/src/spinner/Makefile.am
-@@ -24,13 +24,14 @@ install-data-local:
- 	      for file in `cd $(top_srcdir)/$(SVGOUTDIR)/$$size; find . -name "*.png"`; do \
- 		      context="`dirname $$file`"; \
- 		      $(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \
--		      $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \
-+		      $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \
- 	      done; \
- 	for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32; find . -name "*.svg"`; do \
- 		context="`dirname $$file`"; \
- 		$(mkdir_p) $(DESTDIR)$(themedir)/scalable-up-to-32/$$context; \
--		$(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file; \
--	done
-+		$(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file & \
-+	done; \
-+	wait
- 
- uninstall-local:
- 	      for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32; find . -name "*.svg"`; do \
-diff --git a/src/symbolic/Makefile.am b/src/symbolic/Makefile.am
-index 957c0ee..e1f8818 100644
---- a/src/symbolic/Makefile.am
-+++ b/src/symbolic/Makefile.am
-@@ -34,18 +34,19 @@ install-data-local:
- 		for file in `cd $(top_srcdir)/$(SVGOUTDIR)/$$size; find . -name "*.png"`; do \
- 			context="`dirname $$file`"; \
- 			$(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \
--			$(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \
-+			$(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \
- 		done; \
--	done
-+	done; \
- 	for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable; find . -name "*.svg"`; do \
- 		context="`dirname $$file`"; \
- 		$(mkdir_p) $(DESTDIR)$(themedir)/scalable/$$context; \
--		$(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $(DESTDIR)$(themedir)/scalable/$$file; \
-+		$(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $(DESTDIR)$(themedir)/scalable/$$file & \
- 		for size in $(symbolic_encode_sizes); do \
- 			$(mkdir_p) $(DESTDIR)$(themedir)/$$size/$$context; \
--			$(GTK_ENCODE_SYMBOLIC_SVG) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $$size -o $(DESTDIR)$(themedir)/$$size/$$context; \
-+			$(GTK_ENCODE_SYMBOLIC_SVG) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $$size -o $(DESTDIR)$(themedir)/$$size/$$context & \
- 		done \
--	done
-+	done; \
-+	wait
- 
- uninstall-local:
- 	for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable; find . -name "*.svg"`; do \
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_41.0.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_42.0.bb
similarity index 87%
rename from poky/meta/recipes-gnome/gnome/adwaita-icon-theme_41.0.bb
rename to poky/meta/recipes-gnome/gnome/adwaita-icon-theme_42.0.bb
index 46f9f47..c4f3b1c 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_41.0.bb
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_42.0.bb
@@ -12,12 +12,9 @@
 
 inherit allarch autotools pkgconfig gettext gtk-icon-cache gnomebase
 
-SRC_URI += " \
-           file://0001-Don-t-use-AC_CANONICAL_HOST.patch \
-           file://0001-Run-installation-commands-as-shell-jobs.patch \
-           "
+SRC_URI += " file://0001-Don-t-use-AC_CANONICAL_HOST.patch"
 
-SRC_URI[archive.sha256sum] = "ef5339d8c35fcad5d10481b70480803f0fa20b3d3cbc339238fcaceeaee01eba"
+SRC_URI[archive.sha256sum] = "5e85b5adc8dee666900fcaf271ba717f7dcb9d0a03d96dae08f9cbd27e18b1e0"
 
 DEPENDS += "librsvg-native"
 
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch
deleted file mode 100644
index b7d31cc..0000000
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-build-Avoid-the-doctemplates-hack.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-From effb1e09dee263cdac4ec593e8caf316e6f01fe2 Mon Sep 17 00:00:00 2001
-From: Emmanuele Bassi <ebassi@gnome.org>
-Date: Tue, 11 Jan 2022 15:51:10 +0000
-Subject: [PATCH] build: Avoid the doctemplates hack
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The hack that copies the doctemplates directory into the build
-directory has stopped working with newer versions of Meson; while it's
-possible to copy files, custom_target() cannot depend on a directory.
-Additionally, the dependency has always been broken.
-
-Instead, we enumerate the template files—after all, it's not like they
-change a lot—and then we list them as dependencies for the test targets.
-
-Fixes: #414
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- giscanner/doctemplates/devdocs/meson.build | 19 +++++++
- giscanner/doctemplates/mallard/meson.build | 63 ++++++++++++++++++++++
- giscanner/meson.build                      | 14 ++---
- tests/scanner/meson.build                  | 24 +++++----
- 4 files changed, 98 insertions(+), 22 deletions(-)
- create mode 100644 giscanner/doctemplates/devdocs/meson.build
- create mode 100644 giscanner/doctemplates/mallard/meson.build
-
-diff --git a/giscanner/doctemplates/devdocs/meson.build b/giscanner/doctemplates/devdocs/meson.build
-new file mode 100644
-index 00000000..2037182a
---- /dev/null
-+++ b/giscanner/doctemplates/devdocs/meson.build
-@@ -0,0 +1,19 @@
-+doc_templates += files([
-+  'Gjs/_doc.tmpl',
-+  'Gjs/_index.tmpl',
-+  'Gjs/_method.tmpl',
-+  'Gjs/_methods.tmpl',
-+  'Gjs/_properties.tmpl',
-+  'Gjs/_signals.tmpl',
-+  'Gjs/_staticmethods.tmpl',
-+  'Gjs/_vfuncs.tmpl',
-+  'Gjs/base.tmpl',
-+  'Gjs/callback.tmpl',
-+  'Gjs/class.tmpl',
-+  'Gjs/default.tmpl',
-+  'Gjs/enum.tmpl',
-+  'Gjs/function.tmpl',
-+  'Gjs/interface.tmpl',
-+  'Gjs/method.tmpl',
-+  'Gjs/namespace.tmpl',
-+])
-diff --git a/giscanner/doctemplates/mallard/meson.build b/giscanner/doctemplates/mallard/meson.build
-new file mode 100644
-index 00000000..5fe4e2af
---- /dev/null
-+++ b/giscanner/doctemplates/mallard/meson.build
-@@ -0,0 +1,63 @@
-+base_templates = files([
-+  'base.tmpl',
-+  'class.tmpl',
-+  'namespace.tmpl',
-+])
-+
-+c_templates = files([
-+  'C/callback.tmpl',
-+  'C/class.tmpl',
-+  'C/constructor.tmpl',
-+  'C/default.tmpl',
-+  'C/enum.tmpl',
-+  'C/field.tmpl',
-+  'C/function.tmpl',
-+  'C/interface.tmpl',
-+  'C/method.tmpl',
-+  'C/namespace.tmpl',
-+  'C/property.tmpl',
-+  'C/record.tmpl',
-+  'C/signal.tmpl',
-+  'C/vfunc.tmpl',
-+])
-+
-+gjs_templates = files([
-+  'Gjs/callback.tmpl',
-+  'Gjs/class.tmpl',
-+  'Gjs/constructor.tmpl',
-+  'Gjs/default.tmpl',
-+  'Gjs/enum.tmpl',
-+  'Gjs/field.tmpl',
-+  'Gjs/function.tmpl',
-+  'Gjs/interface.tmpl',
-+  'Gjs/method.tmpl',
-+  'Gjs/namespace.tmpl',
-+  'Gjs/property.tmpl',
-+  'Gjs/record.tmpl',
-+  'Gjs/signal.tmpl',
-+  'Gjs/vfunc.tmpl',
-+])
-+
-+py_templates = files([
-+  'Python/callback.tmpl',
-+  'Python/class.tmpl',
-+  'Python/constructor.tmpl',
-+  'Python/default.tmpl',
-+  'Python/enum.tmpl',
-+  'Python/field.tmpl',
-+  'Python/function.tmpl',
-+  'Python/interface.tmpl',
-+  'Python/method.tmpl',
-+  'Python/namespace.tmpl',
-+  'Python/property.tmpl',
-+  'Python/record.tmpl',
-+  'Python/signal.tmpl',
-+  'Python/vfunc.tmpl',
-+])
-+
-+doc_templates += [
-+  base_templates,
-+  c_templates,
-+  gjs_templates,
-+  py_templates,
-+]
-diff --git a/giscanner/meson.build b/giscanner/meson.build
-index 41edcd44..3d7dc678 100644
---- a/giscanner/meson.build
-+++ b/giscanner/meson.build
-@@ -53,17 +53,9 @@ configure_file(input : '../girepository/gdump.c',
- 
- install_subdir('doctemplates', install_dir: giscannerdir)
- 
--# XXX: this doesn't track the input, but there is nothing to copy many files
--# in meson.
--doc_templates = custom_target('copy-templates',
--  input : 'doctemplates',
--  output : 'doctemplates',
--  command : [
--    python, '-c',
--      'import sys, shutil;' +
--      'shutil.rmtree(sys.argv[2], ignore_errors=True);' +
--      'shutil.copytree(sys.argv[1], sys.argv[2])',
--    '@INPUT@', '@OUTPUT@'])
-+doc_templates = []
-+subdir('doctemplates/devdocs')
-+subdir('doctemplates/mallard')
- 
- flex = find_program('flex', 'win_flex')
- bison = find_program('bison', 'win_bison')
-diff --git a/tests/scanner/meson.build b/tests/scanner/meson.build
-index 5176b957..b81b3fd5 100644
---- a/tests/scanner/meson.build
-+++ b/tests/scanner/meson.build
-@@ -525,19 +525,26 @@ foreach gir : test_girs
- endforeach
- 
- if has_girdoctool and glib_dep.type_name() == 'pkgconfig'
-+  doctool_env = environment()
-+  doctool_env.set('srcdir', meson.current_source_dir())
-+  doctool_env.set('builddir', meson.current_build_dir())
-+
-   foreach language : ['C', 'Python', 'Gjs']
-     regress_docs = custom_target(
-       'generate-docs-' + language,
-       input: regress_gir,
--      depends: [doc_templates],
-+      depend_files: doc_templates,
-       build_by_default: not cairo_deps_found,
-+      env: doctool_env,
-       output: 'Regress-1.0-' + language,
-       command: [
-         python, girdoctool,
-         '--add-include-path=' + join_paths(build_root, 'gir'),
-         '--add-include-path=' + meson.current_build_dir(),
-         '--language', language,
--        '@INPUT@', '-o', '@OUTPUT@'],
-+        '--templates-dir=' + join_paths(meson.current_source_dir(), '../../giscanner/doctemplates'),
-+        '@INPUT@', '-o', '@OUTPUT@',
-+      ],
-     )
- 
-     if cairo_deps_found
-@@ -546,10 +553,7 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig'
-         python,
-         args: [gi_tester, 'Regress-1.0-' + language],
-         depends: [regress_docs],
--        env: [
--          'srcdir=' + meson.current_source_dir(),
--          'builddir=' + meson.current_build_dir(),
--        ],
-+        env: doctool_env,
-       )
-     endif
-   endforeach
-@@ -557,9 +561,10 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig'
-   regress_sections = custom_target(
-     'generate-docs-sections',
-     input: regress_gir,
--    depends: [doc_templates],
-+    depend_files: [doc_templates],
-     build_by_default: not cairo_deps_found,
-     output: 'Regress-1.0-sections.txt',
-+    env: doctool_env,
-     command: [
-       python, girdoctool,
-       '--add-include-path=' + join_paths(build_root, 'gir'),
-@@ -574,10 +579,7 @@ if has_girdoctool and glib_dep.type_name() == 'pkgconfig'
-       python,
-       args: [gi_tester, 'Regress-1.0-sections.txt'],
-       depends: [regress_sections],
--      env: [
--        'srcdir=' + meson.current_source_dir(),
--        'builddir=' + meson.current_build_dir(),
--      ],
-+      env: doctool_env,
-     )
-   endif
- endif
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
similarity index 97%
rename from poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb
rename to poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
index fcda10b..39475da 100644
--- a/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.70.0.bb
+++ b/poky/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.72.0.bb
@@ -13,11 +13,9 @@
                     file://girepository/giregisteredtypeinfo.c;endline=21;md5=661847611ae6979465415f31a759ba27 \
                     "
 
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \
-           file://0001-build-Avoid-the-doctemplates-hack.patch \
-           "
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "902b4906e3102d17aa2fcb6dad1c19971c70f2a82a159ddc4a94df73a3cafc4a"
+SRC_URI[sha256sum] = "02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc"
 
 SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch"
 
diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_41.0.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_42.0.bb
similarity index 85%
rename from poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_41.0.bb
rename to poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_42.0.bb
index 280e3c8..b8ae15c 100644
--- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_41.0.bb
+++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_42.0.bb
@@ -13,4 +13,4 @@
 
 inherit gnomebase gsettings gobject-introspection gettext
 
-SRC_URI[archive.sha256sum] = "77289972e596d044583f0c056306d8f1dbd8adcf912910a50da0a663e65332ed"
+SRC_URI[archive.sha256sum] = "6686335a9ed623f7ae2276fefa50a410d4e71d4231880824714070cb317323d2"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3.inc b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
index 60620ee..7d50d7b 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -49,15 +49,13 @@
         export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
 }
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl wayland x11', d)}"
 PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 
 PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes"
 # this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
 PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,libepoxy"
-PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,,libgl"
 PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
 PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
 PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.31.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb
similarity index 88%
rename from poky/meta/recipes-gnome/gtk+/gtk+3_3.24.31.bb
rename to poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb
index a53cd7a..fb9e29d 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.31.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.33.bb
@@ -7,7 +7,7 @@
            file://0003-Add-disable-opengl-configure-option.patch \
            file://link_fribidi.patch \
            "
-SRC_URI[sha256sum] = "423c3e7fdb4c459ee889e35fd4d71fd2623562541c1041b11c07e5ad1ff10bf9"
+SRC_URI[sha256sum] = "588b06522e25d1579e989b6f9d8a1bdbf2fe13cde01a04e904ff346a225e7801"
 
 S = "${WORKDIR}/gtk+-${PV}"
 
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.42.0.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.44.0.bb
similarity index 88%
rename from poky/meta/recipes-gnome/libdazzle/libdazzle_3.42.0.bb
rename to poky/meta/recipes-gnome/libdazzle/libdazzle_3.44.0.bb
index a10acc6..49ebc81 100644
--- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.42.0.bb
+++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.44.0.bb
@@ -12,7 +12,7 @@
 
 DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
 
-SRC_URI[archive.sha256sum] = "eae67a3b3d9cce408ee9ec0ab6adecb83e52eb53f9bc93713f4df1e84da16925"
+SRC_URI[archive.sha256sum] = "3cd3e45eb6e2680cb05d52e1e80dd8f9d59d4765212f0e28f78e6c1783d18eae"
 
 GIR_MESON_OPTION = 'with_introspection'
 
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch b/poky/meta/recipes-gnome/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch
index 9c9ec80..992ff8d 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch
+++ b/poky/meta/recipes-gnome/librsvg/librsvg/0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch
@@ -1,4 +1,4 @@
-From c6d52d37c546ebaa5d794fd5bcfa1ca1fc249dc2 Mon Sep 17 00:00:00 2001
+From c0b0ef51b3c997a1c20ef9381ba2201ed477f609 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex@linutronix.de>
 Date: Tue, 21 Sep 2021 16:54:23 +0200
 Subject: [PATCH] system-deps/src/lib.rs: do not probe into harcoded list of
@@ -8,24 +8,25 @@
 
 Upstream-Status: Inappropriate [oe-core specific]
 Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
 ---
  vendor/system-deps/.cargo-checksum.json |  2 +-
  vendor/system-deps/src/lib.rs           | 16 +---------------
  2 files changed, 2 insertions(+), 16 deletions(-)
 
 diff --git a/vendor/system-deps/.cargo-checksum.json b/vendor/system-deps/.cargo-checksum.json
-index 725ee53..c3b8fe5 100644
+index 862df8b..931748e 100644
 --- a/vendor/system-deps/.cargo-checksum.json
 +++ b/vendor/system-deps/.cargo-checksum.json
 @@ -1 +1 @@
--{"files":{"Cargo.toml":"3923d630403610a69f9943621bd13c1033944124acc96642e194064dc8b0554a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"3fe7396637bf9233908f41c6001cfcb00a379225e06e36e508c8b3d7264a8aae","src/lib.rs":"d5c73ae844b7b45704591676bc53699006bfbc51ca8e36f1ca346f40721469d4","src/metadata.rs":"657bc1b77e949e4800f9dd808790ffa535820e1658d412121a1da548e0cdd02c","src/test.rs":"d0684718d09789d6f74a21dd1ffaa169ddec7cd2d007ebb559cd1aba50d9301a","src/tests/lib/libteststatic.a":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/tests/testanotherlib.pc":"bb4fd942324e6d49ce3becd827aa5c948d1924ca6681904a3695c19b1424eb3c","src/tests/testdata.pc":"43f481e989c03674fed5ef78c6420b3f8d36a2ce001928d86c418d1844acd5e7","src/tests/testlib-2.0.pc":"152eb0c70c14c3d948118408f3d1fd3bb7531b02aa792db85bd957f7db90b45b","src/tests/testlib-3.0.pc":"cd39c2ef88f6828c9291150cc4b624e769abef484674eaebaa4f67979501315f","src/tests/testlib.pc":"75c0d8a5345f65794f583c83e1cf0dbf3385af6e6abea1d61bb86eef707a52db","src/tests/teststaticlib.pc":"77df23f6c7c1d47aff18453b47c87e53ec8a96017546e0a55c8c4d1e13b70134","src/tests/toml-missing-file/no-cargo-toml-here":"6ab4da4b56f15315df6538610cfcd2ba3d0f9a7a8414678ff00ab5a78f7d41fa"},"package":"7b1487aaddaacbc5d60a2a507ba1617c5ca66c57dd0dd07d0c5efd5b693841d4"}
+-{"files":{"Cargo.toml":"927df7476ebf5f5983169cfd973f4c95b84da17caeb20d33cccf50e326af5316","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"3fe7396637bf9233908f41c6001cfcb00a379225e06e36e508c8b3d7264a8aae","src/lib.rs":"c38fd96ca3233ebee3bb7e37ca8f8a7a2685cdd7fcccf0210eaa879aa91dc684","src/metadata.rs":"657bc1b77e949e4800f9dd808790ffa535820e1658d412121a1da548e0cdd02c","src/test.rs":"9d5f8c1fb7a821352d6ba75cb005ead3e36b4f359e61feb605ab8a36d4fd31f8","src/tests/lib/libteststatic.a":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/tests/testanotherlib.pc":"bb4fd942324e6d49ce3becd827aa5c948d1924ca6681904a3695c19b1424eb3c","src/tests/testdata.pc":"43f481e989c03674fed5ef78c6420b3f8d36a2ce001928d86c418d1844acd5e7","src/tests/testlib-2.0.pc":"152eb0c70c14c3d948118408f3d1fd3bb7531b02aa792db85bd957f7db90b45b","src/tests/testlib-3.0.pc":"cd39c2ef88f6828c9291150cc4b624e769abef484674eaebaa4f67979501315f","src/tests/testlib.pc":"75c0d8a5345f65794f583c83e1cf0dbf3385af6e6abea1d61bb86eef707a52db","src/tests/teststaticlib.pc":"77df23f6c7c1d47aff18453b47c87e53ec8a96017546e0a55c8c4d1e13b70134","src/tests/toml-missing-file/no-cargo-toml-here":"6ab4da4b56f15315df6538610cfcd2ba3d0f9a7a8414678ff00ab5a78f7d41fa"},"package":"a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709"}
 \ No newline at end of file
-+{"files":{"Cargo.toml":"3923d630403610a69f9943621bd13c1033944124acc96642e194064dc8b0554a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"3fe7396637bf9233908f41c6001cfcb00a379225e06e36e508c8b3d7264a8aae","src/lib.rs":"b822a9360e8f10930d48a27ce3ddb7e0ba3cbc5fb2054131ea9bdf55b1a45204","src/metadata.rs":"657bc1b77e949e4800f9dd808790ffa535820e1658d412121a1da548e0cdd02c","src/test.rs":"d0684718d09789d6f74a21dd1ffaa169ddec7cd2d007ebb559cd1aba50d9301a","src/tests/lib/libteststatic.a":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/tests/testanotherlib.pc":"bb4fd942324e6d49ce3becd827aa5c948d1924ca6681904a3695c19b1424eb3c","src/tests/testdata.pc":"43f481e989c03674fed5ef78c6420b3f8d36a2ce001928d86c418d1844acd5e7","src/tests/testlib-2.0.pc":"152eb0c70c14c3d948118408f3d1fd3bb7531b02aa792db85bd957f7db90b45b","src/tests/testlib-3.0.pc":"cd39c2ef88f6828c9291150cc4b624e769abef484674eaebaa4f67979501315f","src/tests/testlib.pc":"75c0d8a5345f65794f583c83e1cf0dbf3385af6e6abea1d61bb86eef707a52db","src/tests/teststaticlib.pc":"77df23f6c7c1d47aff18453b47c87e53ec8a96017546e0a55c8c4d1e13b70134","src/tests/toml-missing-file/no-cargo-toml-here":"6ab4da4b56f15315df6538610cfcd2ba3d0f9a7a8414678ff00ab5a78f7d41fa"},"package":"7b1487aaddaacbc5d60a2a507ba1617c5ca66c57dd0dd07d0c5efd5b693841d4"}
++{"files":{"Cargo.toml":"927df7476ebf5f5983169cfd973f4c95b84da17caeb20d33cccf50e326af5316","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"3fe7396637bf9233908f41c6001cfcb00a379225e06e36e508c8b3d7264a8aae","src/lib.rs":"534efc2f977d8c67d5be3a4c3e81093a6c00ab2de1102404166b1573ad96dbd2","src/metadata.rs":"657bc1b77e949e4800f9dd808790ffa535820e1658d412121a1da548e0cdd02c","src/test.rs":"9d5f8c1fb7a821352d6ba75cb005ead3e36b4f359e61feb605ab8a36d4fd31f8","src/tests/lib/libteststatic.a":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","src/tests/testanotherlib.pc":"bb4fd942324e6d49ce3becd827aa5c948d1924ca6681904a3695c19b1424eb3c","src/tests/testdata.pc":"43f481e989c03674fed5ef78c6420b3f8d36a2ce001928d86c418d1844acd5e7","src/tests/testlib-2.0.pc":"152eb0c70c14c3d948118408f3d1fd3bb7531b02aa792db85bd957f7db90b45b","src/tests/testlib-3.0.pc":"cd39c2ef88f6828c9291150cc4b624e769abef484674eaebaa4f67979501315f","src/tests/testlib.pc":"75c0d8a5345f65794f583c83e1cf0dbf3385af6e6abea1d61bb86eef707a52db","src/tests/teststaticlib.pc":"77df23f6c7c1d47aff18453b47c87e53ec8a96017546e0a55c8c4d1e13b70134","src/tests/toml-missing-file/no-cargo-toml-here":"6ab4da4b56f15315df6538610cfcd2ba3d0f9a7a8414678ff00ab5a78f7d41fa"},"package":"a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709"}
 diff --git a/vendor/system-deps/src/lib.rs b/vendor/system-deps/src/lib.rs
-index be919e2..97536a3 100644
+index 45ab1ce..f87d1ec 100644
 --- a/vendor/system-deps/src/lib.rs
 +++ b/vendor/system-deps/src/lib.rs
-@@ -805,21 +805,7 @@ impl Config {
+@@ -800,21 +800,7 @@ impl Config {
      }
  
      fn check_cfg(&self, cfg: &cfg_expr::Expression) -> Result<bool, Error> {
@@ -48,6 +49,3 @@
      }
  }
  
--- 
-2.20.1
-
diff --git a/poky/meta/recipes-gnome/librsvg/librsvg_2.52.5.bb b/poky/meta/recipes-gnome/librsvg/librsvg_2.52.7.bb
similarity index 94%
rename from poky/meta/recipes-gnome/librsvg/librsvg_2.52.5.bb
rename to poky/meta/recipes-gnome/librsvg/librsvg_2.52.7.bb
index 1279c66..78eb93c 100644
--- a/poky/meta/recipes-gnome/librsvg/librsvg_2.52.5.bb
+++ b/poky/meta/recipes-gnome/librsvg/librsvg_2.52.7.bb
@@ -12,15 +12,15 @@
 
 SECTION = "x11/utils"
 DEPENDS = "cairo gdk-pixbuf glib-2.0 libcroco libxml2 pango"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
 
-inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection rust
+inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection rust vala
 
 SRC_URI += "file://0001-Makefile.am-pass-rust-target-to-cargo-also-when-not-.patch \
            file://0001-system-deps-src-lib.rs-do-not-probe-into-harcoded-li.patch \
            "
 
-SRC_URI[archive.sha256sum] = "407cbbab518137ea18a3f3220bea180fbee75f3e5bd6ba10a7a862c1a6f74d82"
+SRC_URI[archive.sha256sum] = "057c1eeeaf85c84e254bdb707459207f5840da5b4d52b4711c03140ed09e6887"
 
 # librsvg is still autotools-based, but is calling cargo from its automake-driven makefiles
 # so we cannot use cargo class directly, but still need bits and pieces from it 
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret/determinism.patch b/poky/meta/recipes-gnome/libsecret/libsecret/determinism.patch
deleted file mode 100644
index ad96e8f..0000000
--- a/poky/meta/recipes-gnome/libsecret/libsecret/determinism.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-secret-enum-types.c/h.template: Fix reproducibility issue 
-
-When full filenames are used in generated sources it makes the resulting
-debug packages non-reproducible. Best practise is to use basename in
-comments instead.
-
-Signed-off-by: Richard Purdie richard.purdie@linuxfoundation.org
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsecret/-/merge_requests/68]
-
-Index: libsecret-0.20.4/libsecret/secret-enum-types.c.template
-===================================================================
---- libsecret-0.20.4.orig/libsecret/secret-enum-types.c.template
-+++ libsecret-0.20.4/libsecret/secret-enum-types.c.template
-@@ -23,8 +23,8 @@
- /*** END file-header ***/
- 
- /*** BEGIN file-production ***/
--#include "@filename@"
--/* enumerations from "@filename@" */
-+#include "@basename@"
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
- 
- /*** BEGIN value-header ***/
-Index: libsecret-0.20.4/libsecret/secret-enum-types.h.template
-===================================================================
---- libsecret-0.20.4.orig/libsecret/secret-enum-types.h.template
-+++ libsecret-0.20.4/libsecret/secret-enum-types.h.template
-@@ -27,7 +27,7 @@ G_BEGIN_DECLS
- 
- /*** BEGIN file-production ***/
- 
--/* enumerations from "@filename@" */
-+/* enumerations from "@basename@" */
- /*** END file-production ***/
- 
- /*** BEGIN value-header ***/
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb
similarity index 82%
rename from poky/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb
rename to poky/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb
index 39ecdd7..9b09c3b 100644
--- a/poky/meta/recipes-gnome/libsecret/libsecret_0.20.4.bb
+++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb
@@ -10,13 +10,11 @@
 
 GNOMEBASEBUILDCLASS = "meson"
 
-inherit gnomebase gtk-doc vala gobject-introspection manpages
+inherit gnomebase gi-docgen vala gobject-introspection manpages
 
 DEPENDS += "glib-2.0 libgcrypt gettext-native"
 
-SRC_URI += " file://determinism.patch"
-
-SRC_URI[archive.sha256sum] = "325a4c54db320c406711bf2b55e5cb5b6c29823426aa82596a907595abb39d28"
+SRC_URI[archive.sha256sum] = "3fb3ce340fcd7db54d87c893e69bfc2b1f6e4d4b279065ffe66dac9f0fd12b4d"
 
 GTKDOC_MESON_OPTION = 'gtk_doc'
 
diff --git a/poky/meta/recipes-graphics/glslang/glslang_11.8.0.bb b/poky/meta/recipes-graphics/glslang/glslang_1.3.204.1.bb
similarity index 90%
rename from poky/meta/recipes-graphics/glslang/glslang_11.8.0.bb
rename to poky/meta/recipes-graphics/glslang/glslang_1.3.204.1.bb
index a77d8bd..2af4062 100644
--- a/poky/meta/recipes-graphics/glslang/glslang_11.8.0.bb
+++ b/poky/meta/recipes-graphics/glslang/glslang_1.3.204.1.bb
@@ -8,10 +8,11 @@
 LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3"
 
-SRCREV = "c34bb3b6c55f6ab084124ad964be95a699700d34"
+SRCREV = "2742e959347ae2fac58acd0d022c92a0ff1f24bf"
 SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=master \
            file://0001-generate-glslang-pkg-config.patch"
-UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
+PE = "1"
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
 S = "${WORKDIR}/git"
 
 inherit cmake python3native
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_3.4.0.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.0.1.bb
similarity index 95%
rename from poky/meta/recipes-graphics/harfbuzz/harfbuzz_3.4.0.bb
rename to poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.0.1.bb
index e392aa3..bf77a5e 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_3.4.0.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_4.0.1.bb
@@ -12,7 +12,7 @@
 UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
 
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "7158a87c4db82521fc506711f0c8864115f0292d95f7136c8812c11811cdf952"
+SRC_URI[sha256sum] = "98f68777272db6cd7a3d5152bac75083cd52a26176d87bc04c8b3929d33bce49"
 
 inherit meson pkgconfig lib_package gtk-doc gobject-introspection
 
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.2.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb
similarity index 94%
rename from poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.2.bb
rename to poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb
index 25b83f7..fdc035d 100644
--- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.2.bb
+++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.1.3.bb
@@ -5,7 +5,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8a61af33cc1c681cd5cc297150bbb5bd \
                     file://jpeglib.h;endline=16;md5=52b5eaade8d5b6a452a7693dfe52c084 \
-                    file://djpeg.c;endline=11;md5=b61f01ad6aff437b34d1f9e8004280a4 \
+                    file://djpeg.c;endline=11;md5=510b386442ab6a27ee241fc5669bc5ea \
                     "
 DEPENDS:append:x86-64:class-target = " nasm-native"
 DEPENDS:append:x86:class-target = " nasm-native"
@@ -14,7 +14,7 @@
            file://0001-libjpeg-turbo-fix-package_qa-error.patch \
            "
 
-SRC_URI[sha256sum] = "09b96cb8cbff9ea556a9c2d173485fd19488844d55276ed4f42240e1e2073ce5"
+SRC_URI[sha256sum] = "467b310903832b033fe56cd37720d1b73a6a3bd0171dbf6ff0b620385f4f76d0"
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
 UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
 
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
index 68cbe8c..58ce26a 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -24,3 +24,6 @@
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
+
+CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
+
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.20.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.20.bb
index 90724ab..58bc94c 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.20.bb
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.20.bb
@@ -67,7 +67,7 @@
 PACKAGECONFIG[gles2]      = "-DSDL_OPENGLES=ON,-DSDL_OPENGLES=OFF,virtual/libgles2"
 PACKAGECONFIG[jack]       = "-DSDL_JACK=ON,-DSDL_JACK=OFF,jack"
 PACKAGECONFIG[kmsdrm]     = "-DSDL_KMSDRM=ON,-DSDL_KMSDRM=OFF,libdrm virtual/libgbm"
-PACKAGECONFIG[opengl]     = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/libgl"
+PACKAGECONFIG[opengl]     = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/egl"
 PACKAGECONFIG[pulseaudio] = "-DSDL_PULSEAUDIO=ON,-DSDL_PULSEAUDIO=OFF,pulseaudio"
 PACKAGECONFIG[wayland]    = "-DSDL_WAYLAND=ON,-DSDL_WAYLAND=OFF,wayland-native wayland wayland-protocols libxkbcommon"
 PACKAGECONFIG[x11]        = "-DSDL_X11=ON,-DSDL_X11=OFF,virtual/libx11 libxext libxrandr libxrender"
diff --git a/poky/meta/recipes-graphics/libva/libva-initial_2.13.0.bb b/poky/meta/recipes-graphics/libva/libva-initial_2.14.0.bb
similarity index 100%
rename from poky/meta/recipes-graphics/libva/libva-initial_2.13.0.bb
rename to poky/meta/recipes-graphics/libva/libva-initial_2.14.0.bb
diff --git a/poky/meta/recipes-graphics/libva/libva.inc b/poky/meta/recipes-graphics/libva/libva.inc
index dcdc1f3..148bb03 100644
--- a/poky/meta/recipes-graphics/libva/libva.inc
+++ b/poky/meta/recipes-graphics/libva/libva.inc
@@ -18,7 +18,7 @@
 
 SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
-SRC_URI[sha256sum] = "fad383f39f36115814bd0eda1496a4cc01761643bd962635400df2d4470ad460"
+SRC_URI[sha256sum] = "511e9a74d1ccfb548bc192290603082c11074ac59b17aadfd5d56a3f93e58454"
 
 S = "${WORKDIR}/libva-${PV}"
 
@@ -33,3 +33,5 @@
 
 PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland"
 
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-graphics/libva/libva_2.13.0.bb b/poky/meta/recipes-graphics/libva/libva_2.14.0.bb
similarity index 100%
rename from poky/meta/recipes-graphics/libva/libva_2.13.0.bb
rename to poky/meta/recipes-graphics/libva/libva_2.14.0.bb
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch b/poky/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
index 8bedbac..3b0bfa3 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch
@@ -1,4 +1,4 @@
-From 8973e297f2f9b17498b9dc0e37a19481d4bb7df9 Mon Sep 17 00:00:00 2001
+From 253b042d2bf10e9abfa9cc508e0782aefd834145 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 16 Oct 2020 11:03:47 -0700
 Subject: [PATCH] futex.h: Define __NR_futex if it does not exist
@@ -12,10 +12,13 @@
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/util/futex.h | 4 ++++
  1 file changed, 4 insertions(+)
 
+diff --git a/src/util/futex.h b/src/util/futex.h
+index 43097f4..941b0ec 100644
 --- a/src/util/futex.h
 +++ b/src/util/futex.h
 @@ -34,6 +34,10 @@
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
index 15485fe..b08e4d8 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
@@ -1,16 +1,17 @@
-From bb2f0bea553d51d659a9bc46f7ae186885405151 Mon Sep 17 00:00:00 2001
+From d34bdbd80e5a1f309d2ba280cdc66ff0ee0e5c43 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 13 Jan 2020 15:23:47 -0800
 Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
 
 Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/util/u_atomic.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
-index e4bffa8..58e1ddd 100644
+index 5a5eab4..e499516 100644
 --- a/src/util/u_atomic.c
 +++ b/src/util/u_atomic.c
 @@ -21,7 +21,7 @@
@@ -22,6 +23,3 @@
  
  #include <stdint.h>
  #include <pthread.h>
--- 
-2.24.1
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
index b6f8674..aea23d0 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -1,4 +1,4 @@
-From 38e984073e4c23b6278d1a2ff21e894fda7b93c5 Mon Sep 17 00:00:00 2001
+From f9c597a2c517eb85c23cbeeb2e95c55794c74cda Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair@alistair23.me>
 Date: Thu, 14 Nov 2019 13:04:49 -0800
 Subject: [PATCH] meson.build: check for all linux host_os combinations
@@ -20,10 +20,10 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 932eb13..efc6171 100644
+index bca6b1f..70d06c0 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -153,7 +153,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
+@@ -172,7 +172,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
  # Only build shared_glapi if at least one OpenGL API is enabled
  with_shared_glapi = with_shared_glapi and with_any_opengl
  
@@ -31,8 +31,8 @@
 +system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux')
  
  dri_drivers = get_option('dri-drivers')
- if dri_drivers.contains('auto')
-@@ -970,7 +970,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
+ if dri_drivers.length() != 0
+@@ -1074,7 +1074,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
  endif
  
  # TODO: this is very incomplete
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch b/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
index 80b9af0..5c6165c 100644
--- a/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0001-util-format-Check-for-NEON-before-using-it.patch
@@ -1,4 +1,4 @@
-From 4febda271c6bb0dc69ebf573446c6922a1ec35fb Mon Sep 17 00:00:00 2001
+From fdb2face4eeac3c20eedcca7520f4e7014225fb4 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 2 Dec 2021 19:57:42 -0800
 Subject: [PATCH] util/format: Check for NEON before using it
@@ -13,13 +13,14 @@
 
 Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14032]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/util/format/u_format.c             | 2 +-
  src/util/format/u_format_unpack_neon.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/util/format/u_format.c b/src/util/format/u_format.c
-index 36c5e52008e..f0a00971691 100644
+index 36c5e52..f0a0097 100644
 --- a/src/util/format/u_format.c
 +++ b/src/util/format/u_format.c
 @@ -1138,7 +1138,7 @@ static void
@@ -32,7 +33,7 @@
        if (unpack) {
           util_format_unpack_table[format] = unpack;
 diff --git a/src/util/format/u_format_unpack_neon.c b/src/util/format/u_format_unpack_neon.c
-index a4a5cb1f723..1e4f794a295 100644
+index a4a5cb1..1e4f794 100644
 --- a/src/util/format/u_format_unpack_neon.c
 +++ b/src/util/format/u_format_unpack_neon.c
 @@ -23,7 +23,7 @@
@@ -44,6 +45,3 @@
  
  /* armhf builds default to vfp, not neon, and refuses to compile neon intrinsics
   * unless you tell it "no really".
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch b/poky/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch
deleted file mode 100644
index e87d7d7..0000000
--- a/poky/meta/recipes-graphics/mesa/files/0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From e2e2fe86dd61b6fae682a1fec31bd0755ced5cd5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 7 Dec 2021 11:13:27 -0800
-Subject: [PATCH] v3dv: account for 64bit time_t on 32bit arches
-
-This makes is a bit more portable, especially on 32bit architectures
-with 64bit time_t defaults. Especially on musl its a must.
-
-Fixes
-../mesa-21.3.0/src/broadcom/vulkan/v3dv_bo.c:71:15: error: format specifies type 'long' but the argument has type 'time_t' (aka 'long long') [-Werror,-Wformat]
-              time.tv_sec);
-              ^~~~~~~~~~~
-
-Also reported here [1]
-
-[1] https://github.com/agherzan/meta-raspberrypi/issues/969
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14118]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/broadcom/vulkan/v3dv_bo.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/broadcom/vulkan/v3dv_bo.c b/src/broadcom/vulkan/v3dv_bo.c
-index 71679ce..dc5e7f5 100644
---- a/src/broadcom/vulkan/v3dv_bo.c
-+++ b/src/broadcom/vulkan/v3dv_bo.c
-@@ -67,8 +67,8 @@ bo_dump_stats(struct v3dv_device *device)
- 
-       struct timespec time;
-       clock_gettime(CLOCK_MONOTONIC, &time);
--      fprintf(stderr, "  now:               %ld\n",
--              time.tv_sec);
-+      fprintf(stderr, "  now:               %lld\n",
-+              (long long)time.tv_sec);
-    }
- 
-    if (cache->size_list_size) {
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index 35ab8d5..af11bae 100644
--- a/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@
-From 8f2f48b41aa17eec3c4d63685e3296f28e60b980 Mon Sep 17 00:00:00 2001
+From bf41fa026ae3d378e62fd83d03a6f5933b52ca04 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair@alistair23.me>
 Date: Thu, 14 Nov 2019 13:08:31 -0800
 Subject: [PATCH] meson.build: make TLS ELF optional
@@ -17,36 +17,36 @@
   File "/home/pokybuild/yocto-worker/musl-qemux86/build/meta/lib/oeqa/runtime/cases/parselogs.py", line 378, in test_parselogs
     self.assertEqual(errcount, 0, msg=self.msg)
 AssertionError: 1 != 0 : Log: /home/pokybuild/yocto-worker/musl-qemux86/build/build/tmp/work/qemux86-poky-linux-musl/core-image-sato-sdk/1.0-r0/target_logs/Xorg.0.log
------------------------
-Central error: [    10.477] (EE) Failed to load /usr/lib/xorg/modules/extensions/libglx.so: Error relocating /usr/lib/libGL.so.1: alphasort: initial-exec TLS resolves to dynamic definition in /usr/lib/libGL.so.1
-***********************
 
 Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Alistair Francis <alistair@alistair23.me>
-
 ---
- meson.build       | 2 +-
+ meson.build       | 7 +++++--
  meson_options.txt | 6 ++++++
- 2 files changed, 7 insertions(+), 1 deletion(-)
+ 2 files changed, 11 insertions(+), 2 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 23618c1..c8cc5e3 100644
+index 70d06c0..1441611 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -476,7 +476,7 @@ endif
- use_elf_tls = false
- if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and
-     (not with_platform_android or get_option('platform-sdk-version') >= 29) and
--    (not with_platform_windows or not with_shared_glapi))
-+    (not with_platform_windows or not with_shared_glapi) and get_option('elf-tls'))
-   pre_args += '-DUSE_ELF_TLS'
-   use_elf_tls = true
+@@ -490,8 +490,11 @@ foreach platform : _platforms
+   pre_args += '-DHAVE_@0@_PLATFORM'.format(platform.to_upper())
+ endforeach
  
+-use_elf_tls = true
+-pre_args += '-DUSE_ELF_TLS'
++use_elf_tls = false
++if get_option('elf-tls')
++  use_elf_tls = true
++  pre_args += '-DUSE_ELF_TLS'
++endif
+ 
+ if with_platform_android and get_option('platform-sdk-version') >= 29
+   # By default the NDK compiler, at least, emits emutls references instead of
 diff --git a/meson_options.txt b/meson_options.txt
-index 29c402c..f70d9b2 100644
+index 1f6ef38..99cc5cb 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -455,6 +455,12 @@ option(
+@@ -440,6 +440,12 @@ option(
    value : true,
    description : 'Enable direct rendering in GLX and EGL for DRI',
  )
@@ -56,6 +56,6 @@
 +  value : true,
 +  description : 'Enable TLS support in ELF',
 +)
- option(
-   'prefer-iris',
-   type : 'boolean',
+ option('egl-lib-suffix',
+   type : 'string',
+   value : '',
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_21.3.6.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_21.3.6.bb
deleted file mode 100644
index 142bb74..0000000
--- a/poky/meta/recipes-graphics/mesa/mesa-gl_21.3.6.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require mesa.inc
-
-SUMMARY += " (OpenGL only, no EGL/GLES)"
-
-PROVIDES = "virtual/libgl virtual/mesa"
-
-S = "${WORKDIR}/mesa-${PV}"
-
-# At least one DRI rendering engine is required to build mesa.
-# When no X11 is available, use osmesa for the rendering engine.
-PACKAGECONFIG ??= "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
-PACKAGECONFIG:class-target = "opengl dri ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
-
-# 21.0.0 version fails to build when any driver is enabled in DRIDRIVERS
-# ./mesa-21.0.0/meson.build:519:4: ERROR: Problem encountered: building dri drivers require at least one windowing system
-DRIDRIVERS ?= ""
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_22.0.0.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_22.0.0.bb
new file mode 100644
index 0000000..f2bc8f6
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/mesa-gl_22.0.0.bb
@@ -0,0 +1,13 @@
+require mesa.inc
+
+SUMMARY += " (OpenGL only, no EGL/GLES)"
+
+PROVIDES = "virtual/libgl virtual/mesa"
+
+S = "${WORKDIR}/mesa-${PV}"
+
+# At least one DRI rendering engine is required to build mesa.
+# When no X11 is available, use osmesa for the rendering engine.
+PACKAGECONFIG ??= "opengl ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
+PACKAGECONFIG:class-target = "opengl ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'osmesa gallium', d)}"
+
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index cfd325a..e8c07a4 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -10,7 +10,7 @@
 BUGTRACKER = "https://bugs.freedesktop.org"
 SECTION = "x11"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://docs/license.rst;md5=17a4ea65de7a9ab42437f3131e616a7f"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9a383ee9f65a4e939d6630e9b067ff58"
 
 PE = "2"
 
@@ -20,10 +20,9 @@
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
            file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
            file://0001-util-format-Check-for-NEON-before-using-it.patch \
-           file://0001-v3dv-account-for-64bit-time_t-on-32bit-arches.patch \
            "
 
-SRC_URI[sha256sum] = "96bb761fd546e9aa41d025fcc025225c5668443839dae21e3731959beb096736"
+SRC_URI[sha256sum] = "e6c41928b5b9917485bd67cec22d15e62cad7a358bf4c711a647979987601250"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
@@ -75,7 +74,6 @@
 
 EXTRA_OEMESON = " \
     -Dshared-glapi=enabled \
-    -Dgallium-opencl=disabled \
     -Dglx-read-only-text=true \
     -Dplatforms='${@",".join("${PLATFORMS}".split())}' \
 "
@@ -83,18 +81,16 @@
 def strip_comma(s):
     return s.strip(',')
 
-PACKAGECONFIG:class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium virgl', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
-                   elf-tls \
-		   "
-PACKAGECONFIG:class-native ?= "gbm gallium egl opengl elf-tls x11"
-PACKAGECONFIG:class-nativesdk ?= "gbm gallium egl opengl elf-tls x11"
+PACKAGECONFIG = " \
+	gallium \
+	${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'dri3', '', d)} \
+	${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
+	${@bb.utils.contains('TCLIBC', 'glibc', 'elf-tls', '', d)} \
+"
 
-PACKAGECONFIG:remove:libc-musl = "elf-tls"
-
-# "gbm" requires "dri", "opengl"
+# "gbm" requires "opengl"
 PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
 
 X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr"
@@ -104,8 +100,6 @@
 PACKAGECONFIG[xvmc] = "-Dgallium-xvmc=enabled,-Dgallium-xvmc=disabled,libxvmc"
 PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
 
-# "dri" requires "opengl"
-PACKAGECONFIG[dri] = "-Ddri-drivers=${@strip_comma('${DRIDRIVERS}')}, -Ddri-drivers='', xorgproto libdrm"
 PACKAGECONFIG[dri3] = "-Ddri3=enabled, -Ddri3=disabled, xorgproto libxshmfence"
 
 # Vulkan drivers need dri3 enabled
@@ -122,9 +116,12 @@
 # "gles" requires "opengl"
 PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled"
 
-# "egl" requires "dri", "opengl"
+# "egl" requires "opengl"
 PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
 
+# "opencl" requires libclc from meta-clang and spirv-tools from OE-Core
+PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true,-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools"
+
 PACKAGECONFIG[broadcom] = ""
 PACKAGECONFIG[etnaviv] = ""
 PACKAGECONFIG[freedreno] = ""
@@ -193,6 +190,8 @@
 # development package of libgles3.
 RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev"
 
+RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools', '', d)}"
+
 PACKAGES =+ "libegl-mesa libegl-mesa-dev \
              libosmesa libosmesa-dev \
              libgl-mesa libgl-mesa-dev \
@@ -201,6 +200,7 @@
              libgles1-mesa libgles1-mesa-dev \
              libgles2-mesa libgles2-mesa-dev \
              libgles3-mesa libgles3-mesa-dev \
+             libopencl-mesa libopencl-mesa-dev \
              libxatracker libxatracker-dev \
              mesa-megadriver mesa-vulkan-drivers \
              mesa-vdpau-drivers \
@@ -230,10 +230,11 @@
     if "-native" in d.getVar("PN"):
         suffix = "-native"
     for p in (("egl", "libegl", "libegl1"),
-              ("dri", "libgl", "libgl1"),
+              ("opengl", "libgl", "libgl1"),
               ("gles", "libgles1", "libglesv1-cm1"),
               ("gles", "libgles2", "libglesv2-2"),
-              ("gles", "libgles3",)):
+              ("gles", "libgles3",),
+              ("opencl", "libopencl",)):
         if not p[0] in pkgconfig:
             continue
         mlprefix = d.getVar("MLPREFIX")
@@ -293,6 +294,7 @@
 FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
 FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
 FILES:libgl-mesa = "${libdir}/libGL.so.*"
+FILES:libopencl-mesa = "${libdir}/libMesaOpenCL.so.* ${sysconfdir}/OpenCL/vendors/mesa.icd"
 FILES:libglapi = "${libdir}/libglapi.so.*"
 FILES:libosmesa = "${libdir}/libOSMesa.so.*"
 FILES:libxatracker = "${libdir}/libxatracker.so.*"
@@ -305,6 +307,7 @@
 FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
 FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
 FILES:libgles3-mesa-dev = "${includedir}/GLES3"
+FILES:libopencl-mesa-dev = "${libdir}/libMesaOpenCL.so"
 FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
 FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
                           ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \
diff --git a/poky/meta/recipes-graphics/mesa/mesa_21.3.6.bb b/poky/meta/recipes-graphics/mesa/mesa_21.3.6.bb
deleted file mode 100644
index 4cb7e80..0000000
--- a/poky/meta/recipes-graphics/mesa/mesa_21.3.6.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require ${BPN}.inc
-DRIDRIVERS ??= ""
-DRIDRIVERS:append:x86:class-target = ",r100,r200,nouveau,i965"
-DRIDRIVERS:append:x86-64:class-target = ",r100,r200,nouveau,i965"
-
diff --git a/poky/meta/recipes-graphics/mesa/mesa_22.0.0.bb b/poky/meta/recipes-graphics/mesa/mesa_22.0.0.bb
new file mode 100644
index 0000000..96e8aa3
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/mesa_22.0.0.bb
@@ -0,0 +1,2 @@
+require ${BPN}.inc
+
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index 865eb4c..3ae7a14 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -23,7 +23,7 @@
 X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}"
 X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}"
 
-DEPENDS = "libpng waffle libxkbcommon virtual/libgl python3-mako-native python3-numpy-native python3-six-native virtual/egl"
+DEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native python3-six-native virtual/egl"
 
 inherit cmake pkgconfig python3native features_check bash-completion
 
diff --git a/poky/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb b/poky/meta/recipes-graphics/spir/spirv-headers_1.3.204.1.bb
similarity index 88%
rename from poky/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
rename to poky/meta/recipes-graphics/spir/spirv-headers_1.3.204.1.bb
index 3144b1e..72416b4 100644
--- a/poky/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-headers_1.3.204.1.bb
@@ -9,9 +9,9 @@
 
 SRCREV = "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78"
 SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=master"
-UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
+PE = "1"
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
 S = "${WORKDIR}/git"
-PV .= "+git${SRCPV}"
 
 inherit cmake
 
diff --git a/poky/meta/recipes-graphics/spir/spirv-tools_2022.1.bb b/poky/meta/recipes-graphics/spir/spirv-tools_1.3.204.1.bb
similarity index 88%
rename from poky/meta/recipes-graphics/spir/spirv-tools_2022.1.bb
rename to poky/meta/recipes-graphics/spir/spirv-tools_1.3.204.1.bb
index 24142a4..dc78073 100644
--- a/poky/meta/recipes-graphics/spir/spirv-tools_2022.1.bb
+++ b/poky/meta/recipes-graphics/spir/spirv-tools_1.3.204.1.bb
@@ -7,9 +7,10 @@
 LICENSE  = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
-SRCREV = "b1877de5cd776117050bd42f08d04b52bce16099"
-SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=master;protocol=https"
-UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
+SRCREV = "45dd184c790d6bfc78a5a74a10c37e888b1823fa"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=stable;protocol=https"
+PE = "1"
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
 S = "${WORKDIR}/git"
 
 inherit cmake python3native
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb
index c180187..ad3688e 100644
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.9.1.bb
@@ -8,9 +8,9 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
 
-DEPENDS = "libdrm virtual/libgl virtual/libgbm libepoxy"
+DEPENDS = "libdrm virtual/egl virtual/libgbm libepoxy"
 SRCREV = "363915595e05fb252e70d6514be2f0c0b5ca312b"
-SRC_URI = "git://anongit.freedesktop.org/virglrenderer;branch=branch-0.9.1 \
+SRC_URI = "git://anongit.freedesktop.org/git/virglrenderer;branch=branch-0.9.1 \
            file://0001-meson.build-use-python3-directly-for-python.patch \
            file://cve-2022-0135.patch \
            file://cve-2022-0175.patch \
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.204.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.204.1.bb
similarity index 100%
rename from poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.204.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-headers_1.3.204.1.bb
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.204.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.204.1.bb
similarity index 96%
rename from poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.204.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.204.1.bb
index 23e1785..8924ca3 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.204.0.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.3.204.1.bb
@@ -10,7 +10,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
 SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.3.204;protocol=https"
-SRCREV = "6a2458b649aae2a8bec8259c2485e7c0bd0465ae"
+SRCREV = "f3e995134211d3fd663febede48e740e44982e27"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.204.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.204.1.bb
similarity index 100%
rename from poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.204.0.bb
rename to poky/meta/recipes-graphics/vulkan/vulkan-tools_1.3.204.1.bb
diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.7.0.bb b/poky/meta/recipes-graphics/waffle/waffle_1.7.0.bb
index 0ff8203..b931515 100644
--- a/poky/meta/recipes-graphics/waffle/waffle_1.7.0.bb
+++ b/poky/meta/recipes-graphics/waffle/waffle_1.7.0.bb
@@ -31,16 +31,16 @@
 # I say virtual/libgl, actually wants gl.pc
 PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx11"
 
-# I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland
+# wants wayland-egl.pc, egl.pc, and the wayland
 # DISTRO_FEATURE.
-PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}libgl wayland wayland-native wayland-protocols"
+PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}egl wayland wayland-native wayland-protocols"
 
-# I say virtual/libgl, actually wants gbm.pc egl.pc
-PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}libgl udev"
+# wants gbm.pc egl.pc
+PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}egl virtual/${MLPREFIX}libgbm udev"
 
-# I say virtual/libgl, actually wants egl.pc
-PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}libgl libxcb"
-PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}libgl"
+# wants egl.pc
+PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}egl libxcb"
+PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}egl"
 
 # TODO: optionally build manpages and examples
 
diff --git a/poky/meta/recipes-graphics/wayland/required-distro-features.inc b/poky/meta/recipes-graphics/wayland/required-distro-features.inc
new file mode 100644
index 0000000..bb4a0e8
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/required-distro-features.inc
@@ -0,0 +1,8 @@
+# distro features required by weston recipes
+
+inherit features_check
+
+# requires pam enabled if started via systemd
+#
+REQUIRED_DISTRO_FEATURES = "wayland opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
+
diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.25.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.25.bb
index 074801b..92ba296 100644
--- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.25.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.25.bb
@@ -21,3 +21,6 @@
 
 PACKAGES = "${PN}"
 FILES:${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb b/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb
index e8636eb..bd43776 100644
--- a/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland_1.20.0.bb
@@ -27,7 +27,7 @@
 PACKAGECONFIG[dtd-validation] = "-Ddtd_validation=true,-Ddtd_validation=false,libxml2,,"
 
 EXTRA_OEMESON = "-Ddocumentation=false"
-EXTRA_OEMESON:class-native = "-Ddocumentation=false -Dlibraries=false"
+EXTRA_OEMESON:class-native = "-Ddocumentation=false"
 
 # Wayland installs a M4 macro for other projects to use, which uses the target
 # pkg-config to find files.  Replace pkg-config with pkg-config-native.
diff --git a/poky/meta/recipes-graphics/wayland/weston-init.bb b/poky/meta/recipes-graphics/wayland/weston-init.bb
index 8e8c045..497d860 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init.bb
+++ b/poky/meta/recipes-graphics/wayland/weston-init.bb
@@ -15,8 +15,11 @@
 S = "${WORKDIR}"
 
 PACKAGECONFIG ??= ""
+PACKAGECONFIG:append:qemuriscv64 = " use-pixman"
+PACKAGECONFIG:append:qemuppc64 = " use-pixman"
 
 PACKAGECONFIG[no-idle-timeout] = ",,"
+PACKAGECONFIG[use-pixman] = ",,"
 
 DEFAULTBACKEND ??= ""
 DEFAULTBACKEND:qemuall ?= "drm"
@@ -51,18 +54,22 @@
 		sed -i -e "/^\[core\]/a idle-time=0" ${D}${sysconfdir}/xdg/weston/weston.ini
 	fi
 
+	if [ "${@bb.utils.contains('PACKAGECONFIG', 'use-pixman', 'yes', 'no', d)}" = "yes" ]; then
+		sed -i -e "/^\[core\]/a use-pixman=true" ${D}${sysconfdir}/xdg/weston/weston.ini
+	fi
+
 	install -dm 755 -o weston -g weston ${D}/home/weston
 }
 
 INHIBIT_UPDATERCD_BBCLASS = "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', '1', '', d)}"
 
-inherit update-rc.d features_check systemd useradd
+inherit update-rc.d systemd useradd
 
 USERADD_PACKAGES = "${PN}"
 
 # rdepends on weston which depends on virtual/egl
-# requires pam enabled if started via systemd
-REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
+#
+require ${THISDIR}/required-distro-features.inc
 
 RDEPENDS:${PN} = "weston kbd"
 
diff --git a/poky/meta/recipes-graphics/wayland/weston_10.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_10.0.0.bb
index fbb7927..8424b4d 100644
--- a/poky/meta/recipes-graphics/wayland/weston_10.0.0.bb
+++ b/poky/meta/recipes-graphics/wayland/weston_10.0.0.bb
@@ -19,10 +19,11 @@
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
 
-inherit meson pkgconfig useradd features_check
+inherit meson pkgconfig useradd
+
 # depends on virtual/egl
-# weston-init requires pam enabled if started via systemd
-REQUIRED_DISTRO_FEATURES = "opengl ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
+#
+require ${THISDIR}/required-distro-features.inc
 
 DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0"
 DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
index 9430c3f..74ec57a 100644
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
@@ -18,19 +18,17 @@
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
-DEPENDS += "virtual/libx11 drm libpciaccess pixman"
+DEPENDS += "virtual/libx11 drm libpciaccess pixman cairo libpng libxcb libxcomposite libxdamage libxrender libxrandr libxext libxfixes"
 
-PACKAGECONFIG ??= "sna xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri2 dri3', '', d)}"
+PACKAGECONFIG ??= "sna xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri2 dri3', '', d)}"
 
-PACKAGECONFIG[dri] = "--enable-dri,--disable-dri"
-PACKAGECONFIG[dri1] = "--enable-dri1,--disable-dri1"
 PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2"
 PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3"
 PACKAGECONFIG[sna] = "--enable-sna,--disable-sna"
 PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa"
 PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
 PACKAGECONFIG[xvmc] = "--enable-xvmc,--disable-xvmc,libxvmc xcb-util"
-PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxrandr libxdamage libxfixes libxcursor libxtst libxrender libxscrnsaver libxext libx11 pixman libxcb libxshmfence"
+PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,libxinerama libxcursor libxtst libxscrnsaver libxshmfence"
 
 # --enable-kms-only option is required by ROOTLESS_X
 EXTRA_OECONF += '${@oe.utils.conditional( "ROOTLESS_X", "1", " --enable-kms-only", "", d )}'
diff --git a/poky/meta/recipes-graphics/xwayland/xwayland_21.1.4.bb b/poky/meta/recipes-graphics/xwayland/xwayland_22.1.0.bb
similarity index 92%
rename from poky/meta/recipes-graphics/xwayland/xwayland_21.1.4.bb
rename to poky/meta/recipes-graphics/xwayland/xwayland_22.1.0.bb
index e08be51..9769235 100644
--- a/poky/meta/recipes-graphics/xwayland/xwayland_21.1.4.bb
+++ b/poky/meta/recipes-graphics/xwayland/xwayland_22.1.0.bb
@@ -10,14 +10,14 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
 
 SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz"
-SRC_URI[sha256sum] = "19f6795f31cfa8eb352b1e5b3c379f22ee6020e98701ff2cc679da8c4f1159f7"
+SRC_URI[sha256sum] = "1752d6d0a930e71292b5a308d3811ebd54d8cc68cacff44de654265b8617a2bf"
 
 UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar"
 
 inherit meson features_check pkgconfig
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
-DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy"
+DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt"
 
 OPENGL_PKGCONFIGS = "glx glamor dri3"
 PACKAGECONFIG ??= "${XORG_CRYPTO} \
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220209.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220310.bb
similarity index 99%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220209.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220310.bb
index fe51892..fa0f906 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220209.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20220310.bb
@@ -72,7 +72,7 @@
 LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
                     file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
                     file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
-                    file://LICENSE.amdgpu;md5=d357524f5099e2a3db3c1838921c593f \
+                    file://LICENSE.amdgpu;md5=44c1166d052226cb2d6c8d7400090203 \
                     file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \
                     file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \
                     file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
@@ -132,7 +132,7 @@
                     file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
                     file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
                     file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
-                    file://WHENCE;md5=ed3d7426e4df06fbadcca24ebf00cc5f \
+                    file://WHENCE;md5=45a9c4a92d152e9495db81e1192f2bdc \
                     "
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -205,7 +205,7 @@
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "e2e46fa618414952bbf2f6920cd3abcddbef45bfb7d1352994b4bfc35394d177"
+SRC_URI[sha256sum] = "5938ee717b2023b48f6bfcf344b40ddc947e3e22c0bc36d4c3418f90fea68182"
 
 inherit allarch
 
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index cccf06e..8d360ed 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -72,7 +72,9 @@
     (
 	cd ${B}
 
-	cp Module.symvers $kerneldir/build
+	if [ -s Module.symvers ]; then
+	    cp Module.symvers $kerneldir/build
+	fi
 	cp System.map* $kerneldir/build
 	if [ -s Module.markers ]; then
 	    cp Module.markers $kerneldir/build
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
index 8a8a7ea..a8b6aa2 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "e5b266bc6b15dc8852649b7d2a31395195dc7b3a"
-SRCREV_meta ?= "b53e11ea46f4e78ff4cb48532a11e1dbad7939b1"
+SRCREV_machine ?= "7f96d3fd60eea0ab38afdf07b3fc7c8c9f501802"
+SRCREV_meta ?= "24ab54209a8822aad92afe2c51ea5b95f5175394"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.10.99"
+LINUX_VERSION ?= "5.10.107"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
index 9b652a7..8edafbc 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.15.bb
@@ -11,13 +11,13 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "c5b3006ccedbb8397aa58b667b981e0c2435b943"
-SRCREV_meta ?= "2d38a472b21ae343707c8bd64ac68a9eaca066a0"
+SRCREV_machine ?= "593f500eff5997a184c8d3836e1e26b199af994f"
+SRCREV_meta ?= "fee71fc34f2e551ebfd7bf0996d82f3447787e7a"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}"
 
-LINUX_VERSION ?= "5.15.22"
+LINUX_VERSION ?= "5.15.30"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
index bf7662e..758260c 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.10.99"
+LINUX_VERSION ?= "5.10.107"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine:qemuarm ?= "9a8497a8761a22b3086cab63d18698024a69a410"
-SRCREV_machine ?= "317635e1feaecfd8aa29bc94d8d03ba873190414"
-SRCREV_meta ?= "b53e11ea46f4e78ff4cb48532a11e1dbad7939b1"
+SRCREV_machine:qemuarm ?= "d47f1b40f2f77d0c810defd853c69eb39cb84bf5"
+SRCREV_machine ?= "1ae0844c6a36151066744e43fd30db3a946bc21d"
+SRCREV_meta ?= "24ab54209a8822aad92afe2c51ea5b95f5175394"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
index 754dbc7..01c59a1 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.15.bb
@@ -6,7 +6,7 @@
 
 require recipes-kernel/linux/linux-yocto.inc
 
-LINUX_VERSION ?= "5.15.22"
+LINUX_VERSION ?= "5.15.30"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -15,9 +15,9 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine:qemuarm ?= "66d56b3bcc1391639a84e35be3ef00c5197089a8"
-SRCREV_machine ?= "7f685244afb3acd13e94968312580b63d7296705"
-SRCREV_meta ?= "2d38a472b21ae343707c8bd64ac68a9eaca066a0"
+SRCREV_machine:qemuarm ?= "0c05aecb4a6a902d8b44b69f887dd991e091b234"
+SRCREV_machine ?= "94c4403d43f8d4a4fa330d9342350b02426696d4"
+SRCREV_meta ?= "fee71fc34f2e551ebfd7bf0996d82f3447787e7a"
 
 PV = "${LINUX_VERSION}+git${SRCPV}"
 
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
index ecb2d03..9c1bd26 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb
@@ -13,17 +13,17 @@
 KBRANCH:qemux86-64 ?= "v5.10/standard/base"
 KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "5c9de82973348b40bfdcecc0623f488d9443038e"
-SRCREV_machine:qemuarm64 ?= "8c841836837414c6d07fa08ef8482162760fc27a"
-SRCREV_machine:qemumips ?= "d8287fdfbe460acdd62cf57e351411c992101514"
-SRCREV_machine:qemuppc ?= "f436ec6dd3942a87331abf39805e791460e499ef"
-SRCREV_machine:qemuriscv64 ?= "c0b313d988a16b25c1ee730bfe7393c462ee8a5c"
-SRCREV_machine:qemuriscv32 ?= "c0b313d988a16b25c1ee730bfe7393c462ee8a5c"
-SRCREV_machine:qemux86 ?= "c0b313d988a16b25c1ee730bfe7393c462ee8a5c"
-SRCREV_machine:qemux86-64 ?= "c0b313d988a16b25c1ee730bfe7393c462ee8a5c"
-SRCREV_machine:qemumips64 ?= "ae7887fe8d4da06d2d0d0a5071d09155899de26c"
-SRCREV_machine ?= "c0b313d988a16b25c1ee730bfe7393c462ee8a5c"
-SRCREV_meta ?= "b53e11ea46f4e78ff4cb48532a11e1dbad7939b1"
+SRCREV_machine:qemuarm ?= "2ef8231651bb6a4c79b307f59a794b92238546ec"
+SRCREV_machine:qemuarm64 ?= "00684b441f15d202c5849eed164a9b3b94a5c1e8"
+SRCREV_machine:qemumips ?= "661a4f517906253e074fe301d68ff1e6b6968e9f"
+SRCREV_machine:qemuppc ?= "bff933cb7a11019c64e6034c48ab79453f75b99e"
+SRCREV_machine:qemuriscv64 ?= "763c0dbc0458ebcb1d06afe2f324925f0f61bd27"
+SRCREV_machine:qemuriscv32 ?= "763c0dbc0458ebcb1d06afe2f324925f0f61bd27"
+SRCREV_machine:qemux86 ?= "763c0dbc0458ebcb1d06afe2f324925f0f61bd27"
+SRCREV_machine:qemux86-64 ?= "763c0dbc0458ebcb1d06afe2f324925f0f61bd27"
+SRCREV_machine:qemumips64 ?= "7a89b456542ff1fa0ab71fa4a2ae6f04281f3a2d"
+SRCREV_machine ?= "763c0dbc0458ebcb1d06afe2f324925f0f61bd27"
+SRCREV_meta ?= "24ab54209a8822aad92afe2c51ea5b95f5175394"
 
 # remap qemuarm to qemuarma15 for the 5.8 kernel
 # KMACHINE:qemuarm ?= "qemuarma15"
@@ -32,7 +32,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.10.99"
+LINUX_VERSION ?= "5.10.107"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
index 4b5e332..de71d1f 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.15.bb
@@ -13,25 +13,24 @@
 KBRANCH:qemux86-64 ?= "v5.15/standard/base"
 KBRANCH:qemumips64 ?= "v5.15/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "6be018aeb5fd86986bc560e2e6ca59b774784bdb"
-SRCREV_machine:qemuarm64 ?= "7f685244afb3acd13e94968312580b63d7296705"
-SRCREV_machine:qemumips ?= "2b861aef3af1f8b09f1345a308e6e6fe213e1fef"
-SRCREV_machine:qemuppc ?= "7f685244afb3acd13e94968312580b63d7296705"
-SRCREV_machine:qemuriscv64 ?= "7f685244afb3acd13e94968312580b63d7296705"
-SRCREV_machine:qemuriscv32 ?= "7f685244afb3acd13e94968312580b63d7296705"
-SRCREV_machine:qemux86 ?= "7f685244afb3acd13e94968312580b63d7296705"
-SRCREV_machine:qemux86-64 ?= "7f685244afb3acd13e94968312580b63d7296705"
-SRCREV_machine:qemumips64 ?= "1d269d782d6b6effed2437ad6b11ae4f4e789259"
-SRCREV_machine ?= "7f685244afb3acd13e94968312580b63d7296705"
-SRCREV_meta ?= "2d38a472b21ae343707c8bd64ac68a9eaca066a0"
+SRCREV_machine:qemuarm ?= "4632211e5b019b6337536305bfce0a5ffd3b570b"
+SRCREV_machine:qemuarm64 ?= "c88fcdb0b3ca81f0149309ed7025cb28f709ed3d"
+SRCREV_machine:qemumips ?= "ad268b2a1d6d1d6f1c9e9103cf4b1519477feb39"
+SRCREV_machine:qemuppc ?= "688bb26b6f83a60ec39a0f20f31ec2bc37b49c6f"
+SRCREV_machine:qemuriscv64 ?= "70cf8dde55448a804da825139fa12daf5a855047"
+SRCREV_machine:qemuriscv32 ?= "70cf8dde55448a804da825139fa12daf5a855047"
+SRCREV_machine:qemux86 ?= "70cf8dde55448a804da825139fa12daf5a855047"
+SRCREV_machine:qemux86-64 ?= "70cf8dde55448a804da825139fa12daf5a855047"
+SRCREV_machine:qemumips64 ?= "5e7bcff3dccd4749783b87d69ffd405ba71c9fda"
+SRCREV_machine ?= "70cf8dde55448a804da825139fa12daf5a855047"
+SRCREV_meta ?= "fee71fc34f2e551ebfd7bf0996d82f3447787e7a"
 
 # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
 # get the <version>/base branch, which is pure upstream -stable, and the same
 # meta SRCREV as the linux-yocto-standard builds. Select your version using the
 # normal PREFERRED_VERSION settings.
 BBCLASSEXTEND = "devupstream:target"
-DEFAULT_PREFERENCE:class-devupstream = "-1"
-SRCREV_machine:class-devupstream ?= "0bf5b7cc9848b5494b2ca4eb1ca6e05865e8cdf1"
+SRCREV_machine:class-devupstream ?= "0464ab17184b8fdec6676fabe76059b90e54e74f"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v5.15/base"
 
@@ -42,7 +41,7 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "5.15.22"
+LINUX_VERSION ?= "5.15.30"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
@@ -66,3 +65,6 @@
 KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
 KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}"
+
+INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-block-remove-GENHD_FL_SUPPRESS_PARTITION_INFO-v5.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-block-remove-GENHD_FL_SUPPRESS_PARTITION_INFO-v5.patch
deleted file mode 100644
index 61c56c8..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-block-remove-GENHD_FL_SUPPRESS_PARTITION_INFO-v5.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From a88ee460b93c67ca756bd91ee9a8660813f65bd8 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Sun, 23 Jan 2022 13:04:47 -0500
-Subject: [PATCH 1/7] fix: block: remove GENHD_FL_SUPPRESS_PARTITION_INFO
- (v5.17)
-
-See upstream commit :
-
-  commit 3b5149ac50970669ee0ddb9629ec77ffd5c0622d
-  Author: Christoph Hellwig <hch@lst.de>
-  Date:   Mon Nov 22 14:06:21 2021 +0100
-
-    block: remove GENHD_FL_SUPPRESS_PARTITION_INFO
-
-    This flag is not set directly anywhere and only inherited from
-    GENHD_FL_HIDDEN.  Just check for GENHD_FL_HIDDEN instead.
-
-    Link: https://lore.kernel.org/r/20211122130625.1136848-11-hch@lst.de
-
-
-Upstream-Status: Backport [lttng-modules commit a88ee460b93c67ca756bd91ee9a8660813f65bd8]
-
-Change-Id: Ide92bdaaff7d16e96be23aaf00cebeaa601235b7
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/wrapper/genhd.h    | 6 ++++++
- src/lttng-statedump-impl.c | 2 +-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/include/wrapper/genhd.h b/include/wrapper/genhd.h
-index 68980388..3c6dbcbe 100644
---- a/include/wrapper/genhd.h
-+++ b/include/wrapper/genhd.h
-@@ -14,6 +14,12 @@
- 
- #include <linux/genhd.h>
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+#define LTTNG_GENHD_FL_HIDDEN GENHD_FL_HIDDEN
-+#else
-+#define LTTNG_GENHD_FL_HIDDEN GENHD_FL_SUPPRESS_PARTITION_INFO
-+#endif
-+
- #ifdef CONFIG_KALLSYMS_ALL
- 
- #include <linux/kallsyms.h>
-diff --git a/src/lttng-statedump-impl.c b/src/lttng-statedump-impl.c
-index c5fca89d..4d7b2921 100644
---- a/src/lttng-statedump-impl.c
-+++ b/src/lttng-statedump-impl.c
-@@ -334,7 +334,7 @@ int lttng_enumerate_block_devices(struct lttng_kernel_session *session)
- 		 * suppressed
- 		 */
- 		if (get_capacity(disk) == 0 ||
--		    (disk->flags & GENHD_FL_SUPPRESS_PARTITION_INFO))
-+		    (disk->flags & LTTNG_GENHD_FL_HIDDEN))
- 			continue;
- 
- 		ret = lttng_statedump_each_block_device(session, disk);
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-block-remove-the-rq_disk-field-in-struct-request.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-block-remove-the-rq_disk-field-in-struct-request.patch
deleted file mode 100644
index 37a169a..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-block-remove-the-rq_disk-field-in-struct-request.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From 4b1945d3c055de4b49e310f799e6f92c57546349 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Sun, 23 Jan 2022 13:11:47 -0500
-Subject: [PATCH 2/7] fix: block: remove the ->rq_disk field in struct request
- (v5.17)
-
-See upstream commit :
-
-  commit f3fa33acca9f0058157214800f68b10d8e71ab7a
-  Author: Christoph Hellwig <hch@lst.de>
-  Date:   Fri Nov 26 13:18:00 2021 +0100
-
-    block: remove the ->rq_disk field in struct request
-
-    Just use the disk attached to the request_queue instead.
-
-    Link: https://lore.kernel.org/r/20211126121802.2090656-4-hch@lst.de
-
-Upstream-Status: Backport [lttng-modules commit 4b1945d3c055de4b49e310f799e6f92c57546349]
-
-Change-Id: I24263be519d1b51f4b00bd95f14a9aeb8457889a
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/block.h | 95 ++++++++++++++++++++++++--
- 1 file changed, 91 insertions(+), 4 deletions(-)
-
-diff --git a/include/instrumentation/events/block.h b/include/instrumentation/events/block.h
-index 6782c36f..3e1104d7 100644
---- a/include/instrumentation/events/block.h
-+++ b/include/instrumentation/events/block.h
-@@ -310,7 +310,31 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_abort,
- )
- #endif
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+/**
-+ * block_rq_requeue - place block IO request back on a queue
-+ * @rq: block IO operation request
-+ *
-+ * The block operation request @rq is being placed back into queue
-+ * @q.  For some reason the request was not completed and needs to be
-+ * put back in the queue.
-+ */
-+LTTNG_TRACEPOINT_EVENT(block_rq_requeue,
-+
-+	TP_PROTO(struct request *rq),
-+
-+	TP_ARGS(rq),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev,
-+			rq->q->disk ? disk_devt(rq->q->disk) : 0)
-+		ctf_integer(sector_t, sector, blk_rq_trace_sector(rq))
-+		ctf_integer(unsigned int, nr_sector, blk_rq_trace_nr_sectors(rq))
-+		blk_rwbs_ctf_integer(unsigned int, rwbs,
-+			lttng_req_op(rq), lttng_req_rw(rq), blk_rq_bytes(rq))
-+	)
-+)
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0))
- /**
-  * block_rq_requeue - place block IO request back on a queue
-  * @rq: block IO operation request
-@@ -380,7 +404,24 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_requeue,
-  * do for the request. If @rq->bio is non-NULL then there is
-  * additional work required to complete the request.
-  */
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,16,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+LTTNG_TRACEPOINT_EVENT(block_rq_complete,
-+
-+	TP_PROTO(struct request *rq, blk_status_t error, unsigned int nr_bytes),
-+
-+	TP_ARGS(rq, error, nr_bytes),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev,
-+			rq->q->disk ? disk_devt(rq->q->disk) : 0)
-+		ctf_integer(sector_t, sector, blk_rq_pos(rq))
-+		ctf_integer(unsigned int, nr_sector, nr_bytes >> 9)
-+		ctf_integer(int, error, blk_status_to_errno(error))
-+		blk_rwbs_ctf_integer(unsigned int, rwbs,
-+			lttng_req_op(rq), lttng_req_rw(rq), nr_bytes)
-+	)
-+)
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,16,0))
- LTTNG_TRACEPOINT_EVENT(block_rq_complete,
- 
- 	TP_PROTO(struct request *rq, blk_status_t error, unsigned int nr_bytes),
-@@ -519,7 +560,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_complete,
- 
- #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0)) */
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+LTTNG_TRACEPOINT_EVENT_CLASS(block_rq,
-+
-+	TP_PROTO(struct request *rq),
-+
-+	TP_ARGS(rq),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev,
-+			rq->q->disk ? disk_devt(rq->q->disk) : 0)
-+		ctf_integer(sector_t, sector, blk_rq_trace_sector(rq))
-+		ctf_integer(unsigned int, nr_sector, blk_rq_trace_nr_sectors(rq))
-+		ctf_integer(unsigned int, bytes, blk_rq_bytes(rq))
-+		ctf_integer(pid_t, tid, current->pid)
-+		blk_rwbs_ctf_integer(unsigned int, rwbs,
-+			lttng_req_op(rq), lttng_req_rw(rq), blk_rq_bytes(rq))
-+		ctf_array_text(char, comm, current->comm, TASK_COMM_LEN)
-+	)
-+)
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(block_rq,
- 
- 	TP_PROTO(struct request *rq),
-@@ -1513,7 +1573,34 @@ LTTNG_TRACEPOINT_EVENT(block_bio_remap,
- )
- #endif
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+/**
-+ * block_rq_remap - map request for a block operation request
-+ * @rq: block IO operation request
-+ * @dev: device for the operation
-+ * @from: original sector for the operation
-+ *
-+ * The block operation request @rq in @q has been remapped.  The block
-+ * operation request @rq holds the current information and @from hold
-+ * the original sector.
-+ */
-+LTTNG_TRACEPOINT_EVENT(block_rq_remap,
-+
-+	TP_PROTO(struct request *rq, dev_t dev, sector_t from),
-+
-+	TP_ARGS(rq, dev, from),
-+
-+	TP_FIELDS(
-+		ctf_integer(dev_t, dev, disk_devt(rq->q->disk))
-+		ctf_integer(sector_t, sector, blk_rq_pos(rq))
-+		ctf_integer(unsigned int, nr_sector, blk_rq_sectors(rq))
-+		ctf_integer(dev_t, old_dev, dev)
-+		ctf_integer(sector_t, old_sector, from)
-+		blk_rwbs_ctf_integer(unsigned int, rwbs,
-+			lttng_req_op(rq), lttng_req_rw(rq), blk_rq_bytes(rq))
-+	)
-+)
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0))
- /**
-  * block_rq_remap - map request for a block operation request
-  * @rq: block IO operation request
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-compaction-fix-the-migration-stats-in-trace_m.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-compaction-fix-the-migration-stats-in-trace_m.patch
deleted file mode 100644
index 522753b..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-mm-compaction-fix-the-migration-stats-in-trace_m.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From afc4fe8905620a3eb14a5ed16146dac1db0f8111 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Sun, 23 Jan 2022 13:26:17 -0500
-Subject: [PATCH 3/7] fix: mm: compaction: fix the migration stats in
- trace_mm_compaction_migratepages() (v5.17)
-
-See upstream commit :
-
-  commit 84b328aa81216e08804d8875d63f26bda1298788
-  Author: Baolin Wang <baolin.wang@linux.alibaba.com>
-  Date:   Fri Jan 14 14:08:40 2022 -0800
-
-    mm: compaction: fix the migration stats in trace_mm_compaction_migratepages()
-
-    Now the migrate_pages() has changed to return the number of {normal
-    page, THP, hugetlb} instead, thus we should not use the return value to
-    calculate the number of pages migrated successfully.  Instead we can
-    just use the 'nr_succeeded' which indicates the number of normal pages
-    migrated successfully to calculate the non-migrated pages in
-    trace_mm_compaction_migratepages().
-
-    Link: https://lkml.kernel.org/r/b4225251c4bec068dcd90d275ab7de88a39e2bd7.1636275127.git.baolin.wang@linux.alibaba.com
-
-Upstream-Status: Backport [lttng-modules commit afc4fe8905620a3eb14a5ed16146dac1db0f8111]
-
-Change-Id: Ib8e8f2a16a273f16cd73fe63afbbfc25c0a2540c
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/compaction.h | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/include/instrumentation/events/compaction.h b/include/instrumentation/events/compaction.h
-index 3cc25537..340e41f5 100644
---- a/include/instrumentation/events/compaction.h
-+++ b/include/instrumentation/events/compaction.h
-@@ -97,7 +97,20 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(compaction_isolate_template,
- 
- #endif /* #else #if LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,0,0) */
- 
--#if LTTNG_KERNEL_RANGE(3,12,30, 3,13,0) || \
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+LTTNG_TRACEPOINT_EVENT(mm_compaction_migratepages,
-+
-+	TP_PROTO(unsigned long nr_all,
-+		unsigned int nr_succeeded),
-+
-+	TP_ARGS(nr_all, nr_succeeded),
-+
-+	TP_FIELDS(
-+		ctf_integer(unsigned long, nr_migrated, nr_succeeded)
-+		ctf_integer(unsigned long, nr_failed, nr_all - nr_succeeded)
-+	)
-+)
-+#elif LTTNG_KERNEL_RANGE(3,12,30, 3,13,0) || \
- 	LTTNG_KERNEL_RANGE(3,14,25, 3,15,0) || \
- 	(LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,16,0))
- LTTNG_TRACEPOINT_EVENT_CODE_MAP(mm_compaction_migratepages,
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-btrfs-pass-fs_info-to-trace_btrfs_transaction_co.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-btrfs-pass-fs_info-to-trace_btrfs_transaction_co.patch
deleted file mode 100644
index f33d15f..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-btrfs-pass-fs_info-to-trace_btrfs_transaction_co.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From c8f96e7716404549b19b9a774f5d9987325608bc Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 26 Jan 2022 14:37:52 -0500
-Subject: [PATCH 4/7] fix: btrfs: pass fs_info to
- trace_btrfs_transaction_commit (v5.17)
-
-See upstream commit :
-
-  commit 2e4e97abac4c95f8b87b2912ea013f7836a6f10b
-  Author: Josef Bacik <josef@toxicpanda.com>
-  Date:   Fri Nov 5 16:45:29 2021 -0400
-
-    btrfs: pass fs_info to trace_btrfs_transaction_commit
-
-    The root on the trans->root can be anything, and generally we're
-    committing from the transaction kthread so it's usually the tree_root.
-    Change this to just take an fs_info, and to maintain compatibility
-    simply put the ROOT_TREE_OBJECTID as the root objectid for the
-    tracepoint.  This will allow use to remove trans->root.
-
-
-Upstream-Status: Backport [lttng-modules commit c8f96e7716404549b19b9a774f5d9987325608bc]
-
-Change-Id: Ie5a4804330edabffac0714fcb9c25b8c8599e424
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/btrfs.h | 44 ++++++++++++++++++--------
- 1 file changed, 31 insertions(+), 13 deletions(-)
-
-diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h
-index 0a0e085a..785f16ac 100644
---- a/include/instrumentation/events/btrfs.h
-+++ b/include/instrumentation/events/btrfs.h
-@@ -43,7 +43,19 @@ struct extent_state;
- #define lttng_fs_info_fsid fs_info->fsid
- #endif
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit,
-+
-+	TP_PROTO(const struct btrfs_fs_info *fs_info),
-+
-+	TP_ARGS(fs_info),
-+
-+	TP_FIELDS(
-+		ctf_integer(u64, generation, fs_info->generation)
-+		ctf_integer(u64, root_objectid, BTRFS_ROOT_TREE_OBJECTID)
-+	)
-+)
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
- 	LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
- 	LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
- 	LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
-@@ -59,7 +71,25 @@ LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit,
- 		ctf_integer(u64, root_objectid, root->root_key.objectid)
- 	)
- )
-+#else
-+LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit,
-+
-+	TP_PROTO(struct btrfs_root *root),
-+
-+	TP_ARGS(root),
- 
-+	TP_FIELDS(
-+		ctf_integer(u64, generation, root->fs_info->generation)
-+		ctf_integer(u64, root_objectid, root->root_key.objectid)
-+	)
-+)
-+#endif
-+
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
-+	LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
-+	LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
-+	LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
-+	LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__inode,
- 
- 	TP_PROTO(const struct inode *inode),
-@@ -99,18 +129,6 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_evict,
- 	TP_ARGS(inode)
- )
- #else
--LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit,
--
--	TP_PROTO(struct btrfs_root *root),
--
--	TP_ARGS(root),
--
--	TP_FIELDS(
--		ctf_integer(u64, generation, root->fs_info->generation)
--		ctf_integer(u64, root_objectid, root->root_key.objectid)
--	)
--)
--
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__inode,
- 
- 	TP_PROTO(struct inode *inode),
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-random-rather-than-entropy_store-abstraction-use.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-random-rather-than-entropy_store-abstraction-use.patch
deleted file mode 100644
index 9159e62..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0005-fix-random-rather-than-entropy_store-abstraction-use.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 98b7729a776bc5babb39345eeeba3cd1f60d8c9a Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 26 Jan 2022 14:53:41 -0500
-Subject: [PATCH 5/7] fix: random: rather than entropy_store abstraction, use
- global (v5.17)
-
-See upstream commit :
-
-  commit 90ed1e67e896cc8040a523f8428fc02f9b164394
-  Author: Jason A. Donenfeld <Jason@zx2c4.com>
-  Date:   Wed Jan 12 17:18:08 2022 +0100
-
-    random: rather than entropy_store abstraction, use global
-
-    Originally, the RNG used several pools, so having things abstracted out
-    over a generic entropy_store object made sense. These days, there's only
-    one input pool, and then an uneven mix of usage via the abstraction and
-    usage via &input_pool. Rather than this uneasy mixture, just get rid of
-    the abstraction entirely and have things always use the global. This
-    simplifies the code and makes reading it a bit easier.
-
-Upstream-Status: Backport [lttng-modules commit 98b7729a776bc5babb39345eeeba3cd1f60d8c9a]
-
-Change-Id: I1a2a14d7b6e69a047804e1e91e00fe002f757431
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/random.h | 81 ++++++++++++++++++++++++-
- 1 file changed, 80 insertions(+), 1 deletion(-)
-
-diff --git a/include/instrumentation/events/random.h b/include/instrumentation/events/random.h
-index ed05d26a..8cc88adb 100644
---- a/include/instrumentation/events/random.h
-+++ b/include/instrumentation/events/random.h
-@@ -8,6 +8,36 @@
- #include <lttng/tracepoint-event.h>
- #include <linux/writeback.h>
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
-+	TP_PROTO(int bytes, unsigned long IP),
-+
-+	TP_ARGS(bytes, IP),
-+
-+	TP_FIELDS(
-+		ctf_integer(int, bytes, bytes)
-+		ctf_integer_hex(unsigned long, IP, IP)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes,
-+
-+	random_mix_pool_bytes,
-+
-+	TP_PROTO(int bytes, unsigned long IP),
-+
-+	TP_ARGS(bytes, IP)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_nolock,
-+
-+	random_mix_pool_bytes_nolock,
-+
-+	TP_PROTO(int bytes, unsigned long IP),
-+
-+	TP_ARGS(bytes, IP)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT_CLASS(random__mix_pool_bytes,
- 	TP_PROTO(const char *pool_name, int bytes, unsigned long IP),
- 
-@@ -37,8 +67,24 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__mix_pool_bytes, mix_pool_bytes_noloc
- 
- 	TP_ARGS(pool_name, bytes, IP)
- )
-+#endif
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
-+
-+	random_credit_entropy_bits,
-+
-+	TP_PROTO(int bits, int entropy_count, unsigned long IP),
-+
-+	TP_ARGS(bits, entropy_count, IP),
-+
-+	TP_FIELDS(
-+		ctf_integer(int, bits, bits)
-+		ctf_integer(int, entropy_count, entropy_count)
-+		ctf_integer_hex(unsigned long, IP, IP)
-+	)
-+)
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,2,0))
- LTTNG_TRACEPOINT_EVENT_MAP(credit_entropy_bits,
- 
- 	random_credit_entropy_bits,
-@@ -89,6 +135,38 @@ LTTNG_TRACEPOINT_EVENT_MAP(get_random_bytes,
- 	)
- )
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
-+	TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
-+
-+	TP_ARGS(nbytes, entropy_count, IP),
-+
-+	TP_FIELDS(
-+		ctf_integer(int, nbytes, nbytes)
-+		ctf_integer(int, entropy_count, entropy_count)
-+		ctf_integer_hex(unsigned long, IP, IP)
-+	)
-+)
-+
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy,
-+
-+	random_extract_entropy,
-+
-+	TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
-+
-+	TP_ARGS(nbytes, entropy_count, IP)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_user,
-+
-+	random_extract_entropy_user,
-+
-+	TP_PROTO(int nbytes, int entropy_count, unsigned long IP),
-+
-+	TP_ARGS(nbytes, entropy_count, IP)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT_CLASS(random__extract_entropy,
- 	TP_PROTO(const char *pool_name, int nbytes, int entropy_count,
- 		 unsigned long IP),
-@@ -123,6 +201,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(random__extract_entropy, extract_entropy_use
- 
- 	TP_ARGS(pool_name, nbytes, entropy_count, IP)
- )
-+#endif
- 
- 
- 
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch
deleted file mode 100644
index abf74e8..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 6e9d0d578fdf90901507dd9f9929d0e6fcdd3211 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Wed, 26 Jan 2022 14:49:11 -0500
-Subject: [PATCH 6/7] fix: net: skb: introduce kfree_skb_reason() (v5.17)
-
-See upstream commit :
-
-  commit c504e5c2f9648a1e5c2be01e8c3f59d394192bd3
-  Author: Menglong Dong <imagedong@tencent.com>
-  Date:   Sun Jan 9 14:36:26 2022 +0800
-
-    net: skb: introduce kfree_skb_reason()
-
-    Introduce the interface kfree_skb_reason(), which is able to pass
-    the reason why the skb is dropped to 'kfree_skb' tracepoint.
-
-    Add the 'reason' field to 'trace_kfree_skb', therefor user can get
-    more detail information about abnormal skb with 'drop_monitor' or
-    eBPF.
-
-    All drop reasons are defined in the enum 'skb_drop_reason', and
-    they will be print as string in 'kfree_skb' tracepoint in format
-    of 'reason: XXX'.
-
-    ( Maybe the reasons should be defined in a uapi header file, so that
-    user space can use them? )
-
-Upstream-Status: Backport [lttng-modules commit 6e9d0d578fdf90901507dd9f9929d0e6fcdd3211]
-
-Change-Id: I6766678a288da959498a4736fc3f95bf239c3e94
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/skb.h | 31 ++++++++++++++++++++++++++++
- 1 file changed, 31 insertions(+)
-
-diff --git a/include/instrumentation/events/skb.h b/include/instrumentation/events/skb.h
-index d6579363..c6d7095d 100644
---- a/include/instrumentation/events/skb.h
-+++ b/include/instrumentation/events/skb.h
-@@ -13,6 +13,36 @@
- /*
-  * Tracepoint for free an sk_buff:
-  */
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
-+LTTNG_TRACEPOINT_ENUM(skb_drop_reason,
-+	TP_ENUM_VALUES(
-+		ctf_enum_value("NOT_SPECIFIED",	SKB_DROP_REASON_NOT_SPECIFIED)
-+		ctf_enum_value("NO_SOCKET",	SKB_DROP_REASON_NO_SOCKET)
-+		ctf_enum_value("PKT_TOO_SMALL",	SKB_DROP_REASON_PKT_TOO_SMALL)
-+		ctf_enum_value("TCP_CSUM",	SKB_DROP_REASON_TCP_CSUM)
-+		ctf_enum_value("TCP_FILTER",	SKB_DROP_REASON_TCP_FILTER)
-+		ctf_enum_value("UDP_CSUM",	SKB_DROP_REASON_UDP_CSUM)
-+		ctf_enum_value("MAX",		SKB_DROP_REASON_MAX)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb,
-+
-+	skb_kfree,
-+
-+	TP_PROTO(struct sk_buff *skb, void *location,
-+		enum skb_drop_reason reason),
-+
-+	TP_ARGS(skb, location, reason),
-+
-+	TP_FIELDS(
-+		ctf_integer_hex(void *, skbaddr, skb)
-+		ctf_integer_hex(void *, location, location)
-+		ctf_integer_network(unsigned short, protocol, skb->protocol)
-+		ctf_enum(skb_drop_reason, uint8_t, reason, reason)
-+	)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb,
- 
- 	skb_kfree,
-@@ -27,6 +57,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb,
- 		ctf_integer_network(unsigned short, protocol, skb->protocol)
- 	)
- )
-+#endif
- 
- LTTNG_TRACEPOINT_EVENT_MAP(consume_skb,
- 
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-net-socket-rename-SKB_DROP_REASON_SOCKET_FILTER-.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-net-socket-rename-SKB_DROP_REASON_SOCKET_FILTER-.patch
deleted file mode 100644
index d1d8728..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0007-fix-net-socket-rename-SKB_DROP_REASON_SOCKET_FILTER-.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 7584cfc04914cb0842a986e9808686858b9c8630 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Mon, 31 Jan 2022 10:47:53 -0500
-Subject: [PATCH 7/7] fix: net: socket: rename SKB_DROP_REASON_SOCKET_FILTER
- (v5.17)
-
-No version check needed since this change is between two RCs, see
-upstream commit :
-
-  commit 364df53c081d93fcfd6b91085ff2650c7f17b3c7
-  Author: Menglong Dong <imagedong@tencent.com>
-  Date:   Thu Jan 27 17:13:01 2022 +0800
-
-    net: socket: rename SKB_DROP_REASON_SOCKET_FILTER
-
-    Rename SKB_DROP_REASON_SOCKET_FILTER, which is used
-    as the reason of skb drop out of socket filter before
-    it's part of a released kernel. It will be used for
-    more protocols than just TCP in future series.
-
-    Link: https://lore.kernel.org/all/20220127091308.91401-2-imagedong@tencent.com/
-
-Upstream-Status: Backport [lttng-modules commit 7584cfc04914cb0842a986e9808686858b9c8630]
-
-Change-Id: I666461a5b541fe9e0bf53ad996ce33237af4bfbb
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/skb.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/instrumentation/events/skb.h b/include/instrumentation/events/skb.h
-index c6d7095d..237e54ad 100644
---- a/include/instrumentation/events/skb.h
-+++ b/include/instrumentation/events/skb.h
-@@ -20,7 +20,7 @@ LTTNG_TRACEPOINT_ENUM(skb_drop_reason,
- 		ctf_enum_value("NO_SOCKET",	SKB_DROP_REASON_NO_SOCKET)
- 		ctf_enum_value("PKT_TOO_SMALL",	SKB_DROP_REASON_PKT_TOO_SMALL)
- 		ctf_enum_value("TCP_CSUM",	SKB_DROP_REASON_TCP_CSUM)
--		ctf_enum_value("TCP_FILTER",	SKB_DROP_REASON_TCP_FILTER)
-+		ctf_enum_value("SOCKET_FILTER",	SKB_DROP_REASON_SOCKET_FILTER)
- 		ctf_enum_value("UDP_CSUM",	SKB_DROP_REASON_UDP_CSUM)
- 		ctf_enum_value("MAX",		SKB_DROP_REASON_MAX)
- 	)
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.1.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.1.bb
deleted file mode 100644
index a8e4cc5..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.1.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SECTION = "devel"
-SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
-DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
-HOMEPAGE = "https://lttng.org/"
-LICENSE = "LGPL-2.1-only & GPL-2.0-only & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
-
-inherit module
-
-include lttng-platforms.inc
-
-SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
-           file://0001-fix-block-remove-GENHD_FL_SUPPRESS_PARTITION_INFO-v5.patch \
-           file://0002-fix-block-remove-the-rq_disk-field-in-struct-request.patch \
-           file://0003-fix-mm-compaction-fix-the-migration-stats-in-trace_m.patch \
-           file://0004-fix-btrfs-pass-fs_info-to-trace_btrfs_transaction_co.patch \
-           file://0005-fix-random-rather-than-entropy_store-abstraction-use.patch \
-           file://0006-fix-net-skb-introduce-kfree_skb_reason-v5.17.patch \
-           file://0007-fix-net-socket-rename-SKB_DROP_REASON_SOCKET_FILTER-.patch \
-          "
-# Use :append here so that the patch is applied also when using devupstream
-SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
-
-SRC_URI[sha256sum] = "a7c86d91c9bbe66d27f025aa04b8cfc6d7785ed2fc7ef774930800ee44d7f343"
-
-export INSTALL_MOD_DIR="kernel/lttng-modules"
-
-EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
-
-MODULES_MODULE_SYMVERS_LOCATION = "src"
-
-do_install:append() {
-	# Delete empty directories to avoid QA failures if no modules were built
-	if [ -d ${D}/${nonarch_base_libdir} ]; then
-		find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
-	fi
-}
-
-python do_package:prepend() {
-    if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
-        bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
-}
-
-BBCLASSEXTEND = "devupstream:target"
-LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
-DEFAULT_PREFERENCE:class-devupstream = "-1"
-SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13"
-
-SRCREV:class-devupstream = "7584cfc04914cb0842a986e9808686858b9c8630"
-PV:class-devupstream = "2.13.1+git${SRCPV}"
-S:class-devupstream = "${WORKDIR}/git"
-SRCREV_FORMAT ?= "lttng_git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb
new file mode 100644
index 0000000..b6f8ac1
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.3.bb
@@ -0,0 +1,39 @@
+SECTION = "devel"
+SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
+DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
+HOMEPAGE = "https://lttng.org/"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0464cff101a009c403cd2ed65d01d4c4"
+
+inherit module
+
+include lttng-platforms.inc
+
+SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2"
+# Use :append here so that the patch is applied also when using devupstream
+SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
+
+SRC_URI[sha256sum] = "7cf1acbb50b84116acc9b4281b81dcc2643d6018bbd1e8514ad1270239896c4b"
+
+export INSTALL_MOD_DIR="kernel/lttng-modules"
+
+EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
+
+MODULES_MODULE_SYMVERS_LOCATION = "src"
+
+do_install:append() {
+	# Delete empty directories to avoid QA failures if no modules were built
+	if [ -d ${D}/${nonarch_base_libdir} ]; then
+		find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
+	fi
+}
+
+python do_package:prepend() {
+    if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
+        bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
+}
+
+BBCLASSEXTEND = "devupstream:target"
+SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13"
+SRCREV:class-devupstream = "7584cfc04914cb0842a986e9808686858b9c8630"
+SRCREV_FORMAT ?= "lttng_git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.1.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb
similarity index 95%
rename from poky/meta/recipes-kernel/lttng/lttng-ust_2.13.1.bb
rename to poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb
index 7bd6b69..516d90a 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.1.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.2.bb
@@ -34,7 +34,7 @@
            file://0001-Makefile.am-update-rpath-link.patch \
            "
 
-SRC_URI[sha256sum] = "5667bf0269e1e62e2d9cb974c456ff86e0401bd7aa3bfc8d5fdb97233249eddc"
+SRC_URI[sha256sum] = "08679a1dfc2c9428885273861628aa5d828972f389a38bb08fdce39adee589b7"
 
 CVE_PRODUCT = "ust"
 
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
index b7218f0..5b5521b 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -11,7 +11,7 @@
            file://0001-PR28804-tune-default-stap-s-buffer-size-on-small-RAM.patch \
            "
 
-COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux'
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips|riscv64).*-linux'
 COMPATIBLE_HOST:libc-musl = 'null'
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb
index 76f37bf..c435f61 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb
@@ -6,15 +6,15 @@
 BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
 SECTION = "multimedia"
 
-# The primary license of alsa-plugins is LGPLv2.1.
+# The primary license of alsa-plugins is LGPL-2.1-only.
 #
-# m4/attributes.m4 is licensed under GPLv2+. m4/attributes.m4 is part of the
-# build system, and doesn't affect the licensing of the build result.
+# m4/attributes.m4 is licensed under GPL-2.0-or-later. m4/attributes.m4 is part
+# of the build system, and doesn't affect the licensing of the build result.
 #
-# The samplerate plugin source code is licensed under GPLv2+ to be consistent
-# with the libsamplerate license. However, if the licensee has a commercial
-# license for libsamplerate, the samplerate plugin may be used under the terms
-# of LGPLv2.1 like the rest of the plugins.
+# The samplerate plugin source code is licensed under GPL-2.0-or-later to be
+# consistent with the libsamplerate license. However, if the licensee has a
+# commercial license for libsamplerate, the samplerate plugin may be used under
+# the terms of LGPL-2.1-only like the rest of the plugins.
 LICENSE = "LGPL-2.1-only & GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
                     file://COPYING.GPL;md5=59530bdf33659b29e73d4adb9f9f6552 \
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
index b627ced..bca7cdd 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
+++ b/poky/meta/recipes-multimedia/alsa/alsa-utils.inc
@@ -4,7 +4,8 @@
 HOMEPAGE = "http://www.alsa-project.org"
 BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
 SECTION = "console/utils"
-# Some parts are GPLv2+, some are only GPLv2 (e.g. axfer, alsactl) so result is GPLv2
+# Some parts are GPL-2.0-or-later, some are GPL-2.0-only (e.g. axfer, alsactl)
+# so result is GPL-2.0-only
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                     file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.1.bb
similarity index 94%
rename from poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.1.bb
index e17f4ee..ade7cb7 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.20.1.bb
@@ -12,7 +12,7 @@
            file://0001-connect-has-a-different-signature-on-musl.patch \
            "
 
-SRC_URI[sha256sum] = "69fc8756ec9d93e5c5258c99088434f203e91fdbc5af28d1f2c583fd819b7a1d"
+SRC_URI[sha256sum] = "81f1c7ef105b8bdb63412638952f6320723b3161c96a80f113b020e2de554b2b"
 
 DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
 RRECOMMENDS:${PN} = "git"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.1.bb
similarity index 91%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.1.bb
index 575e608..16a298a 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.20.1.bb
@@ -12,7 +12,7 @@
                     "
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
-SRC_URI[sha256sum] = "5eee5ed8d5082a31b500448e41535c722ee30cd5f8224f32982bbaba2eedef17"
+SRC_URI[sha256sum] = "91a71fb633b75e1bd52e22a457845cb0ba563a2972ba5954ec88448f443a9fc7"
 
 S = "${WORKDIR}/gst-libav-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.1.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.1.bb
index 94c5214..835f9a3 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.1.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "c1e46b70ac379ac7b3646506370c9e1007b56ae293f4d334bc0e724c76c345dd"
+SRC_URI[sha256sum] = "86b52e30ebd0f59fcb5cf81a163211975f73ef32e5a6782562804646316bcd7c"
 
 S = "${WORKDIR}/gst-omx-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.1.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.1.bb
index 4453222..78e8f35 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.1.bb
@@ -1,4 +1,5 @@
 require gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-license.inc
 
 DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
 HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -11,7 +12,7 @@
            file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
            file://0005-msdk-fix-includedir-path.patch \
            "
-SRC_URI[sha256sum] = "015b8d4d9a395ebf444d40876867a2034dd3304b3ad48bc3a0dd0c1ee71dc11d"
+SRC_URI[sha256sum] = "09d3c2cf5911f0bc7da6bf557a55251779243d3de216b6a26cc90c445b423848"
 
 S = "${WORKDIR}/gst-plugins-bad-${PV}"
 
@@ -44,6 +45,7 @@
 PACKAGECONFIG[directfb]        = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
 PACKAGECONFIG[dtls]            = "-Ddtls=enabled,-Ddtls=disabled,openssl"
 PACKAGECONFIG[faac]            = "-Dfaac=enabled,-Dfaac=disabled,faac"
+PACKAGECONFIG[faad]            = "-Dfaad=enabled,-Dfaad=disabled,faad2"
 PACKAGECONFIG[fluidsynth]      = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
 PACKAGECONFIG[hls]             = "-Dhls=enabled,-Dhls=disabled,"
 # Pick atleast one crypto backend below when enabling hls
@@ -69,6 +71,7 @@
 # the opus encoder/decoder elements are now in the -base package,
 # but the opus parser remains in -bad
 PACKAGECONFIG[opusparse]       = "-Dopus=enabled,-Dopus=disabled,libopus"
+PACKAGECONFIG[resindvd]        = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
 PACKAGECONFIG[rsvg]            = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
 PACKAGECONFIG[rtmp]            = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
 PACKAGECONFIG[sbc]             = "-Dsbc=enabled,-Dsbc=disabled,sbc"
@@ -91,13 +94,10 @@
 PACKAGECONFIG[webrtcdsp]       = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
 PACKAGECONFIG[zbar]            = "-Dzbar=enabled,-Dzbar=disabled,zbar"
 PACKAGECONFIG[x11]             = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon"
-
-# GPL - only built if gpl option is also enabled!
-PACKAGECONFIG[gpl]             = "-Dgpl=enabled,-Dgpl=disabled"
-PACKAGECONFIG[faad]            = "-Dfaad=enabled,-Dfaad=disabled,faad2"
-PACKAGECONFIG[resindvd]        = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
 PACKAGECONFIG[x265]            = "-Dx265=enabled,-Dx265=disabled,x265"
 
+GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'faad resindvd x265', d)}"
+
 EXTRA_OEMESON += " \
     -Ddoc=disabled \
     -Daes=enabled \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.1.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.1.bb
index c9fbc59..9b9be0d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.1.bb
@@ -11,7 +11,7 @@
            file://0003-viv-fb-Make-sure-config.h-is-included.patch \
            file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
            "
-SRC_URI[sha256sum] = "4cb66fccf730b1037e6533862c2128990912a6db4e5bbd14e0ef914450eb4c7c"
+SRC_URI[sha256sum] = "96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204"
 
 S = "${WORKDIR}/gst-plugins-base-${PV}"
 
@@ -19,8 +19,6 @@
 
 inherit gobject-introspection
 
-PACKAGES_DYNAMIC =+ "^libgst.*"
-
 # opengl packageconfig factored out to make it easy for distros
 # and BSP layers to choose OpenGL APIs/platforms/window systems
 PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
similarity index 97%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
index 17086bc..08ff5a0 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
@@ -8,7 +8,7 @@
            file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
            "
 
-SRC_URI[sha256sum] = "2d119c15ab8c9e79f8cd3c6bf582ff7a050b28ccae52ab4865e1a1464991659c"
+SRC_URI[sha256sum] = "3c66876f821d507bcdbebffb08b4f31a322727d6753f65a0f02c905ecb7084aa"
 
 S = "${WORKDIR}/gst-plugins-good-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
new file mode 100644
index 0000000..6638f13
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
@@ -0,0 +1,19 @@
+# This .inc file contains functionality for automatically setting
+# the the license of all plugins according to the GSTREAMER_GPL.
+
+PACKAGESPLITFUNCS:append = " set_gstreamer_license "
+
+python set_gstreamer_license () {
+    import oe.utils
+    pn = d.getVar('PN') + '-'
+    gpl_plugins_names = [pn+plugin for plugin in d.getVar('GSTREAMER_GPL').split()]
+    for pkg in oe.utils.packages_filter_out_system(d):
+        if pkg in gpl_plugins_names:
+            d.setVar('LICENSE:' + pkg, 'GPL-2.0-or-later')
+        else:
+            d.setVar('LICENSE:' + pkg, 'LGPL-2.1-or-later')
+}
+
+EXTRA_OEMESON += " \
+    ${@bb.utils.contains_any('PACKAGECONFIG', "${GSTREAMER_GPL}", '-Dgpl=enabled', '-Dgpl=disabled', d)} \
+    "
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
index e906053..afc7be4 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
@@ -38,11 +38,11 @@
     metapkg =  pn + '-meta'
     d.setVar('ALLOW_EMPTY:' + metapkg, "1")
     d.setVar('FILES:' + metapkg, "")
-    blacklist = [ pn, pn + '-meta' ]
+    exclude = [ pn, pn + '-meta' ]
     metapkg_rdepends = []
     pkgdest = d.getVar('PKGDEST')
     for pkg in oe.utils.packages_filter_out_system(d):
-        if pkg not in blacklist and pkg not in metapkg_rdepends:
+        if pkg not in exclude and pkg not in metapkg_rdepends:
             # See if the package is empty by looking at the contents of its PKGDEST subdirectory.
             # If this subdirectory is empty, then the package is.
             # Empty packages do not get added to the meta package's RDEPENDS
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.1.bb
similarity index 85%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.1.bb
index 9b6f80a..b0746c0 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.20.1.bb
@@ -1,4 +1,5 @@
 require gstreamer1.0-plugins-common.inc
+require gstreamer1.0-plugins-license.inc
 
 DESCRIPTION = "'Ugly GStreamer plugins"
 HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -13,7 +14,7 @@
 SRC_URI = " \
             https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
             "
-SRC_URI[sha256sum] = "4e8dcb5d26552f0a4937f6bc6279bd9070f55ca6ae0eaa32d72d264c44001c2e"
+SRC_URI[sha256sum] = "42035145e29983308d2828207bb4ef933ed0407bb587fb3a569738c6a57fdb19"
 
 S = "${WORKDIR}/gst-plugins-ugly-${PV}"
 
@@ -23,20 +24,19 @@
 
 PACKAGECONFIG ??= " \
     ${GSTREAMER_ORC} \
-    gpl a52dec mpeg2dec \
+    a52dec mpeg2dec \
 "
 
 PACKAGECONFIG[amrnb]    = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr"
 PACKAGECONFIG[amrwb]    = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr"
-
-# GPL - only built if gpl option is also enabled!
-PACKAGECONFIG[gpl]      = "-Dgpl=enabled,-Dgpl=disabled"
-PACKAGECONFIG[cdio]     = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
 PACKAGECONFIG[a52dec]   = "-Da52dec=enabled,-Da52dec=disabled,liba52"
+PACKAGECONFIG[cdio]     = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
 PACKAGECONFIG[dvdread]  = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
 PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
 PACKAGECONFIG[x264]     = "-Dx264=enabled,-Dx264=disabled,x264"
 
+GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'a52dec cdio dvdread mpeg2dec x264', d)}"
+
 EXTRA_OEMESON += " \
     -Ddoc=disabled \
     -Dsidplay=disabled \
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.1.bb
similarity index 91%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.1.bb
index 29d7c55..a8ae274 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.20.1.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "8f67bdc5606ba33606c6bc896e89de7dcd8cf4fca459f71389b1b6fe075b5e54"
+SRC_URI[sha256sum] = "ba6cd59faa3db3981d8c6982351c239d823c0b8e80b1acf58d2997b050289422"
 
 DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
 RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.1.bb
similarity index 90%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.1.bb
index be81f87..90d788a 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.20.1.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "c209f5ed906da713fdd44a8844e909aa6c8af3dfb630259b092cfb77a7755843"
+SRC_URI[sha256sum] = "4745bc528ad7de711a41d576ddce7412266e66d05c4cfcc636c9ba4da5521509"
 
 S = "${WORKDIR}/${PNREAL}-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.1.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.1.bb
index 7ef8ae3..48b571f 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.20.1.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "f79a47346dfd5e585e063e77078e5fc498b06dee895bfcbf47d8863fcac9ea32"
+SRC_URI[sha256sum] = "87fbf6c537af9079c99a9aefe951da119e16e5bcc9cc8614f5035f062bf21137"
 
 S = "${WORKDIR}/${REALPN}-${PV}"
 DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.1.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.1.bb
index a8954e0..81b9492 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.20.1.bb
@@ -23,7 +23,7 @@
            file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
            file://0005-tests-remove-gstbin-test_watch_for_state_change-test.patch \
            "
-SRC_URI[sha256sum] = "edf4bffff85591d4fff7b21bb9ed7f0feabc123ac4a4eff29e73cbce454f9db7"
+SRC_URI[sha256sum] = "de094a404a3ad8f4977829ea87edf695a4da0b5c8f613ebe54ab414bac89f031"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
                    check \
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1/noopus.patch b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/noopus.patch
new file mode 100644
index 0000000..6bcb932
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1/noopus.patch
@@ -0,0 +1,55 @@
+We don't have opus in OE-Core which causes all the external libs to be disabled 
+silently. The silent issue is discussed in the link below and hints a patch
+to make things configurable may be accepted.
+
+This patch removing the opus piece at least gets most of the functionality
+we previously used back whilst the issue is discussed.
+
+Upstream-Status: Pending [https://github.com/libsndfile/libsndfile/pull/812]
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: libsndfile-1.0.31/configure.ac
+===================================================================
+--- libsndfile-1.0.31.orig/configure.ac
++++ libsndfile-1.0.31/configure.ac
+@@ -361,13 +361,13 @@ AS_IF([test -n "$PKG_CONFIG"], [
+ 				enable_external_libs=yes
+ 			])
+ 
+-			AS_IF([test "x$ac_cv_flac$ac_cv_ogg$ac_cv_vorbis$ac_cv_vorbisenc$ac_cv_opus" = "xyesyesyesyesyes"], [
++			AS_IF([test "x$ac_cv_flac$ac_cv_ogg$ac_cv_vorbis$ac_cv_vorbisenc" = "xyesyesyesyes"], [
+ 					HAVE_EXTERNAL_XIPH_LIBS=1
+ 					enable_external_libs=yes
+ 
+-					EXTERNAL_XIPH_CFLAGS="$FLAC_CFLAGS $VORBIS_CFLAGS $VORBISENC_CFLAGS $SPEEX_CFLAGS $OPUS_CFLAGS $OGG_CFLAGS "
+-					EXTERNAL_XIPH_LIBS="$FLAC_LIBS $VORBIS_LIBS $VORBISENC_LIBS $SPEEX_LIBS $OPUS_LIBS $OGG_LIBS "
+-					EXTERNAL_XIPH_REQUIRE="flac ogg vorbis vorbisenc opus"
++					EXTERNAL_XIPH_CFLAGS="$FLAC_CFLAGS $VORBIS_CFLAGS $VORBISENC_CFLAGS $SPEEX_CFLAGS $OGG_CFLAGS "
++					EXTERNAL_XIPH_LIBS="$FLAC_LIBS $VORBIS_LIBS $VORBISENC_LIBS $SPEEX_LIBS $OGG_LIBS "
++					EXTERNAL_XIPH_REQUIRE="flac ogg vorbis vorbisenc"
+ 
+ 					if test x$ac_cv_speex = "xyes" ; then
+ 						EXTERNAL_XIPH_REQUIRE="$EXTERNAL_XIPH_REQUIRE speex"
+@@ -716,7 +716,7 @@ AC_MSG_RESULT([
+ 
+     Experimental code : ................... ${enable_experimental:-no}
+     Using ALSA in example programs : ...... ${enable_alsa:-no}
+-    External FLAC/Ogg/Vorbis/Opus : ....... ${enable_external_libs:-no}
++    External FLAC/Ogg/Vorbis : ....... ${enable_external_libs:-no}
+     Building Octave interface : ........... ${OCTAVE_BUILD}
+ 
+   Tools :
+Index: libsndfile-1.0.31/src/ogg_opus.c
+===================================================================
+--- libsndfile-1.0.31.orig/src/ogg_opus.c
++++ libsndfile-1.0.31/src/ogg_opus.c
+@@ -159,7 +159,7 @@
+ #include "sfendian.h"
+ #include "common.h"
+ 
+-#if HAVE_EXTERNAL_XIPH_LIBS
++#if 0
+ 
+ #include <ogg/ogg.h>
+ #include <opus/opus.h>
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb
index 8430dee..ea14fe2 100644
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb
@@ -9,7 +9,9 @@
 LICENSE = "LGPL-2.1-only"
 
 SRC_URI = "https://github.com/libsndfile/libsndfile/releases/download/${PV}/libsndfile-${PV}.tar.bz2 \
+           file://noopus.patch \
           "
+UPSTREAM_CHECK_URI = "https://github.com/libsndfile/libsndfile/releases/"
 
 SRC_URI[md5sum] = "3f3b2a86a032f064ef922a2c8c191f7b"
 SRC_URI[sha256sum] = "a8cfb1c09ea6e90eff4ca87322d4168cdbe5035cb48717b40bf77e751cc02163"
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch
new file mode 100644
index 0000000..f1a4ab4
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch
@@ -0,0 +1,38 @@
+CVE: CVE-2022-0865
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 88da11ae3c4db527cb870fb1017456cc8fbac2e7 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Thu, 24 Feb 2022 22:26:02 +0100
+Subject: [PATCH 1/6] tif_jbig.c: fix crash when reading a file with multiple
+ IFD in memory-mapped mode and when bit reversal is needed (fixes #385)
+
+---
+ libtiff/tif_jbig.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/libtiff/tif_jbig.c b/libtiff/tif_jbig.c
+index 74086338..8bfa4cef 100644
+--- a/libtiff/tif_jbig.c
++++ b/libtiff/tif_jbig.c
+@@ -209,6 +209,16 @@ int TIFFInitJBIG(TIFF* tif, int scheme)
+ 	 */
+ 	tif->tif_flags |= TIFF_NOBITREV;
+ 	tif->tif_flags &= ~TIFF_MAPPED;
++	/* We may have read from a previous IFD and thus set TIFF_BUFFERMMAP and
++	 * cleared TIFF_MYBUFFER. It is necessary to restore them to their initial
++	 * value to be consistent with the state of a non-memory mapped file.
++	 */
++	if (tif->tif_flags&TIFF_BUFFERMMAP) {
++		tif->tif_rawdata = NULL;
++		tif->tif_rawdatasize = 0;
++		tif->tif_flags &= ~TIFF_BUFFERMMAP;
++		tif->tif_flags |= TIFF_MYBUFFER;
++	}
+ 
+ 	/* Setup the function pointers for encode, decode, and cleanup. */
+ 	tif->tif_setupdecode = JBIGSetupDecode;
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch
new file mode 100644
index 0000000..d31e965
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch
@@ -0,0 +1,218 @@
+CVE: CVE-2022-0891
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From e46b49e60fddb2e924302fb1751f79eb9cfb2253 Mon Sep 17 00:00:00 2001
+From: Su Laus <sulau@freenet.de>
+Date: Tue, 8 Mar 2022 17:02:44 +0000
+Subject: [PATCH 2/6] tiffcrop: fix issue #380 and #382 heap buffer overflow in
+ extractImageSection
+
+---
+ tools/tiffcrop.c | 92 +++++++++++++++++++-----------------------------
+ 1 file changed, 36 insertions(+), 56 deletions(-)
+
+diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
+index b85c2ce7..302a7e91 100644
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -105,8 +105,8 @@
+  *                of messages to monitor progress without enabling dump logs.
+  */
+ 
+-static   char tiffcrop_version_id[] = "2.4";
+-static   char tiffcrop_rev_date[] = "12-13-2010";
++static   char tiffcrop_version_id[] = "2.4.1";
++static   char tiffcrop_rev_date[] = "03-03-2010";
+ 
+ #include "tif_config.h"
+ #include "libport.h"
+@@ -6710,10 +6710,10 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+ #ifdef DEVELMODE
+   uint32_t    img_length;
+ #endif
+-  uint32_t    j, shift1, shift2, trailing_bits;
++  uint32_t    j, shift1, trailing_bits;
+   uint32_t    row, first_row, last_row, first_col, last_col;
+   uint32_t    src_offset, dst_offset, row_offset, col_offset;
+-  uint32_t    offset1, offset2, full_bytes;
++  uint32_t    offset1, full_bytes;
+   uint32_t    sect_width;
+ #ifdef DEVELMODE
+   uint32_t    sect_length;
+@@ -6723,7 +6723,6 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+ #ifdef DEVELMODE
+   int      k;
+   unsigned char bitset;
+-  static char *bitarray = NULL;
+ #endif
+ 
+   img_width = image->width;
+@@ -6741,17 +6740,12 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+   dst_offset = 0;
+ 
+ #ifdef DEVELMODE
+-  if (bitarray == NULL)
+-    {
+-    if ((bitarray = (char *)malloc(img_width)) == NULL)
+-      {
+-      TIFFError ("", "DEBUG: Unable to allocate debugging bitarray");
+-      return (-1);
+-      }
+-    }
++  char bitarray[39];
+ #endif
+ 
+-  /* rows, columns, width, length are expressed in pixels */
++  /* rows, columns, width, length are expressed in pixels
++   * first_row, last_row, .. are index into image array starting at 0 to width-1,
++   * last_col shall be also extracted.  */
+   first_row = section->y1;
+   last_row  = section->y2;
+   first_col = section->x1;
+@@ -6761,9 +6755,14 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+ #ifdef DEVELMODE
+   sect_length = last_row - first_row + 1;
+ #endif
+-  img_rowsize = ((img_width * bps + 7) / 8) * spp;
+-  full_bytes = (sect_width * spp * bps) / 8;   /* number of COMPLETE bytes per row in section */
+-  trailing_bits = (sect_width * bps) % 8;
++    /* The read function loadImage() used copy separate plane data into a buffer as interleaved
++     * samples rather than separate planes so the same logic works to extract regions
++     * regardless of the way the data are organized in the input file.
++     * Furthermore, bytes and bits are arranged in buffer according to COMPRESSION=1 and FILLORDER=1 
++     */
++    img_rowsize = (((img_width * spp * bps) + 7) / 8);    /* row size in full bytes of source image */
++    full_bytes = (sect_width * spp * bps) / 8;            /* number of COMPLETE bytes per row in section */
++    trailing_bits = (sect_width * spp * bps) % 8;         /* trailing bits within the last byte of destination buffer */
+ 
+ #ifdef DEVELMODE
+     TIFFError ("", "First row: %"PRIu32", last row: %"PRIu32", First col: %"PRIu32", last col: %"PRIu32"\n",
+@@ -6776,10 +6775,9 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+ 
+   if ((bps % 8) == 0)
+     {
+-    col_offset = first_col * spp * bps / 8;
++    col_offset = (first_col * spp * bps) / 8;
+     for (row = first_row; row <= last_row; row++)
+       {
+-      /* row_offset = row * img_width * spp * bps / 8; */
+       row_offset = row * img_rowsize;
+       src_offset = row_offset + col_offset;
+ 
+@@ -6792,14 +6790,12 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+     }
+   else
+     { /* bps != 8 */
+-    shift1  = spp * ((first_col * bps) % 8);
+-    shift2  = spp * ((last_col * bps) % 8);
++    shift1 = ((first_col * spp * bps) % 8);           /* shift1 = bits to skip in the first byte of source buffer*/
+     for (row = first_row; row <= last_row; row++)
+       {
+       /* pull out the first byte */
+       row_offset = row * img_rowsize;
+-      offset1 = row_offset + (first_col * bps / 8);
+-      offset2 = row_offset + (last_col * bps / 8);
++      offset1 = row_offset + ((first_col * spp * bps) / 8);   /* offset1 = offset into source of byte with first bits to be extracted */
+ 
+ #ifdef DEVELMODE
+       for (j = 0, k = 7; j < 8; j++, k--)
+@@ -6811,12 +6807,12 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+       sprintf(&bitarray[9], " ");
+       for (j = 10, k = 7; j < 18; j++, k--)
+         {
+-        bitset = *(src_buff + offset2) & (((unsigned char)1 << k)) ? 1 : 0;
++        bitset = *(src_buff + offset1 + full_bytes) & (((unsigned char)1 << k)) ? 1 : 0;
+         sprintf(&bitarray[j], (bitset) ? "1" : "0");
+         }
+       bitarray[18] = '\0';
+-      TIFFError ("", "Row: %3d Offset1: %"PRIu32",  Shift1: %"PRIu32",    Offset2: %"PRIu32",  Shift2:  %"PRIu32"\n", 
+-                 row, offset1, shift1, offset2, shift2); 
++      TIFFError ("", "Row: %3d Offset1: %"PRIu32",  Shift1: %"PRIu32",    Offset2: %"PRIu32",  Trailing_bits:  %"PRIu32"\n", 
++                 row, offset1, shift1, offset1+full_bytes, trailing_bits); 
+ #endif
+ 
+       bytebuff1 = bytebuff2 = 0;
+@@ -6840,11 +6836,12 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+ 
+         if (trailing_bits != 0)
+           {
+-	  bytebuff2 = src_buff[offset2] & ((unsigned char)255 << (7 - shift2));
++      /* Only copy higher bits of samples and mask lower bits of not wanted column samples to zero */
++	  bytebuff2 = src_buff[offset1 + full_bytes] & ((unsigned char)255 << (8 - trailing_bits));
+           sect_buff[dst_offset] = bytebuff2;
+ #ifdef DEVELMODE
+ 	  TIFFError ("", "        Trailing bits src offset:  %8"PRIu32", Dst offset: %8"PRIu32"\n",
+-                              offset2, dst_offset); 
++          offset1 + full_bytes, dst_offset);
+           for (j = 30, k = 7; j < 38; j++, k--)
+             {
+             bitset = *(sect_buff + dst_offset) & (((unsigned char)1 << k)) ? 1 : 0;
+@@ -6863,8 +6860,10 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+ #endif
+         for (j = 0; j <= full_bytes; j++) 
+           {
+-	  bytebuff1 = src_buff[offset1 + j] & ((unsigned char)255 >> shift1);
+-	  bytebuff2 = src_buff[offset1 + j + 1] & ((unsigned char)255 << (7 - shift1));
++          /* Skip the first shift1 bits and shift the source up by shift1 bits before save to destination.*/
++          /* Attention: src_buff size needs to be some bytes larger than image size, because could read behind image here. */
++          bytebuff1 = src_buff[offset1 + j] & ((unsigned char)255 >> shift1);
++          bytebuff2 = src_buff[offset1 + j + 1] & ((unsigned char)255 << (8 - shift1));
+           sect_buff[dst_offset + j] = (bytebuff1 << shift1) | (bytebuff2 >> (8 - shift1));
+           }
+ #ifdef DEVELMODE
+@@ -6880,36 +6879,17 @@ extractImageSection(struct image_data *image, struct pageseg *section,
+ #endif
+         dst_offset += full_bytes;
+ 
++        /* Copy the trailing_bits for the last byte in the destination buffer. 
++           Could come from one ore two bytes of the source buffer. */
+         if (trailing_bits != 0)
+           {
+ #ifdef DEVELMODE
+-	    TIFFError ("", "        Trailing bits   src offset: %8"PRIu32", Dst offset: %8"PRIu32"\n", offset1 + full_bytes, dst_offset);
+-#endif
+-	  if (shift2 > shift1)
+-            {
+-	    bytebuff1 = src_buff[offset1 + full_bytes] & ((unsigned char)255 << (7 - shift2));
+-            bytebuff2 = bytebuff1 & ((unsigned char)255 << shift1);
+-            sect_buff[dst_offset] = bytebuff2;
+-#ifdef DEVELMODE
+-	    TIFFError ("", "        Shift2 > Shift1\n"); 
++          TIFFError("", "        Trailing bits %4"PRIu32"   src offset: %8"PRIu32", Dst offset: %8"PRIu32"\n", trailing_bits, offset1 + full_bytes, dst_offset);
+ #endif
++          /* More than necessary bits are already copied into last destination buffer, 
++           * only masking of last byte in destination buffer is necessary.*/ 
++          sect_buff[dst_offset] &= ((uint8_t)0xFF << (8 - trailing_bits));
+             }
+-          else
+-            {
+-	    if (shift2 < shift1)
+-              {
+-              bytebuff2 = ((unsigned char)255 << (shift1 - shift2 - 1));
+-	      sect_buff[dst_offset] &= bytebuff2;
+-#ifdef DEVELMODE
+-	      TIFFError ("", "        Shift2 < Shift1\n"); 
+-#endif
+-              }
+-#ifdef DEVELMODE
+-            else
+-	      TIFFError ("", "        Shift2 == Shift1\n"); 
+-#endif
+-            }
+-	  }
+ #ifdef DEVELMODE
+ 	  sprintf(&bitarray[28], " ");
+ 	  sprintf(&bitarray[29], " ");
+@@ -7062,7 +7042,7 @@ writeImageSections(TIFF *in, TIFF *out, struct image_data *image,
+     width  = sections[i].x2 - sections[i].x1 + 1;
+     length = sections[i].y2 - sections[i].y1 + 1;
+     sectsize = (uint32_t)
+-	    ceil((width * image->bps + 7) / (double)8) * image->spp * length;
++	    ceil((width * image->bps * image->spp + 7) / (double)8) * length;
+     /* allocate a buffer if we don't have one already */
+     if (createImageSection(sectsize, sect_buff_ptr))
+       {
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch
new file mode 100644
index 0000000..a0b856b
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/0003-add-checks-for-return-value-of-limitMalloc-392.patch
@@ -0,0 +1,93 @@
+CVE: CVE-2022-0907
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From a139191cc86f4dc44c74a0f22928e0fb38ed2485 Mon Sep 17 00:00:00 2001
+From: Augustus <wangdw.augustus@qq.com>
+Date: Mon, 7 Mar 2022 18:21:49 +0800
+Subject: [PATCH 3/6] add checks for return value of limitMalloc (#392)
+
+---
+ tools/tiffcrop.c | 33 +++++++++++++++++++++------------
+ 1 file changed, 21 insertions(+), 12 deletions(-)
+
+diff --git a/tools/tiffcrop.c b/tools/tiffcrop.c
+index 302a7e91..e407bf51 100644
+--- a/tools/tiffcrop.c
++++ b/tools/tiffcrop.c
+@@ -7357,7 +7357,11 @@ createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr)
+   if (!sect_buff)
+     {
+     sect_buff = (unsigned char *)limitMalloc(sectsize);
+-    *sect_buff_ptr = sect_buff;
++    if (!sect_buff)
++    {
++        TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
++        return (-1);
++    }
+     _TIFFmemset(sect_buff, 0, sectsize);
+     }
+   else
+@@ -7373,15 +7377,15 @@ createImageSection(uint32_t sectsize, unsigned char **sect_buff_ptr)
+       else
+         sect_buff = new_buff;
+ 
++      if (!sect_buff)
++      {
++          TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
++          return (-1);
++      }
+       _TIFFmemset(sect_buff, 0, sectsize);
+       }
+     }
+ 
+-  if (!sect_buff)
+-    {
+-    TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
+-    return (-1);
+-    }
+   prev_sectsize = sectsize;
+   *sect_buff_ptr = sect_buff;
+ 
+@@ -7648,7 +7652,11 @@ createCroppedImage(struct image_data *image, struct crop_mask *crop,
+   if (!crop_buff)
+     {
+     crop_buff = (unsigned char *)limitMalloc(cropsize);
+-    *crop_buff_ptr = crop_buff;
++    if (!crop_buff)
++    {
++        TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer");
++        return (-1);
++    }
+     _TIFFmemset(crop_buff, 0, cropsize);
+     prev_cropsize = cropsize;
+     }
+@@ -7664,15 +7672,15 @@ createCroppedImage(struct image_data *image, struct crop_mask *crop,
+         }
+       else
+         crop_buff = new_buff;
++      if (!crop_buff)
++      {
++          TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer");
++          return (-1);
++      }
+       _TIFFmemset(crop_buff, 0, cropsize);
+       }
+     }
+ 
+-  if (!crop_buff)
+-    {
+-    TIFFError("createCroppedImage", "Unable to allocate/reallocate crop buffer");
+-    return (-1);
+-    }
+   *crop_buff_ptr = crop_buff;
+ 
+   if (crop->crop_mode & CROP_INVERT)
+@@ -9231,3 +9239,4 @@ invertImage(uint16_t photometric, uint16_t spp, uint16_t bps, uint32_t width, ui
+  * fill-column: 78
+  * End:
+  */
++
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch
new file mode 100644
index 0000000..719daba
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch
@@ -0,0 +1,33 @@
+CVE: CVE-2022-0908
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From ef5a0bf271823df168642444d051528a68205cb0 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Thu, 17 Feb 2022 15:28:43 +0100
+Subject: [PATCH 4/6] TIFFFetchNormalTag(): avoid calling memcpy() with a null
+ source pointer and size of zero (fixes #383)
+
+---
+ libtiff/tif_dirread.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c
+index d84147a0..4e8ce729 100644
+--- a/libtiff/tif_dirread.c
++++ b/libtiff/tif_dirread.c
+@@ -5079,7 +5079,10 @@ TIFFFetchNormalTag(TIFF* tif, TIFFDirEntry* dp, int recover)
+ 								_TIFFfree(data);
+ 							return(0);
+ 						}
+-						_TIFFmemcpy(o,data,(uint32_t)dp->tdir_count);
++						if (dp->tdir_count > 0 )
++						{
++							_TIFFmemcpy(o,data,(uint32_t)dp->tdir_count);
++						}
+ 						o[(uint32_t)dp->tdir_count]=0;
+ 						if (data!=0)
+ 							_TIFFfree(data);
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch
new file mode 100644
index 0000000..64dbe9e
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/0005-fix-the-FPE-in-tiffcrop-393.patch
@@ -0,0 +1,36 @@
+CVE: CVE-2022-0909
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 4768355a074d562177e0a8b551c561d1af7eb74a Mon Sep 17 00:00:00 2001
+From: 4ugustus <wangdw.augustus@qq.com>
+Date: Tue, 8 Mar 2022 16:22:04 +0000
+Subject: [PATCH 5/6] fix the FPE in tiffcrop (#393)
+
+---
+ libtiff/tif_dir.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libtiff/tif_dir.c b/libtiff/tif_dir.c
+index a6c254fc..77da6ea4 100644
+--- a/libtiff/tif_dir.c
++++ b/libtiff/tif_dir.c
+@@ -335,13 +335,13 @@ _TIFFVSetField(TIFF* tif, uint32_t tag, va_list ap)
+ 		break;
+ 	case TIFFTAG_XRESOLUTION:
+         dblval = va_arg(ap, double);
+-        if( dblval < 0 )
++        if( dblval != dblval || dblval < 0 )
+             goto badvaluedouble;
+ 		td->td_xresolution = _TIFFClampDoubleToFloat( dblval );
+ 		break;
+ 	case TIFFTAG_YRESOLUTION:
+         dblval = va_arg(ap, double);
+-        if( dblval < 0 )
++        if( dblval != dblval || dblval < 0 )
+             goto badvaluedouble;
+ 		td->td_yresolution = _TIFFClampDoubleToFloat( dblval );
+ 		break;
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch b/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch
new file mode 100644
index 0000000..afd5e59
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/0006-fix-heap-buffer-overflow-in-tiffcp-278.patch
@@ -0,0 +1,57 @@
+CVE: CVE-2022-0924
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 1074b9691322b1e3671cd8ea0b6b3509d08978fb Mon Sep 17 00:00:00 2001
+From: 4ugustus <wangdw.augustus@qq.com>
+Date: Thu, 10 Mar 2022 08:48:00 +0000
+Subject: [PATCH 6/6] fix heap buffer overflow in tiffcp (#278)
+
+---
+ tools/tiffcp.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/tools/tiffcp.c b/tools/tiffcp.c
+index 1f889516..552d8fad 100644
+--- a/tools/tiffcp.c
++++ b/tools/tiffcp.c
+@@ -1661,12 +1661,27 @@ DECLAREwriteFunc(writeBufferToSeparateStrips)
+ 	tdata_t obuf;
+ 	tstrip_t strip = 0;
+ 	tsample_t s;
++	uint16_t bps = 0, bytes_per_sample;
+ 
+ 	obuf = limitMalloc(stripsize);
+ 	if (obuf == NULL)
+ 		return (0);
+ 	_TIFFmemset(obuf, 0, stripsize);
+ 	(void) TIFFGetFieldDefaulted(out, TIFFTAG_ROWSPERSTRIP, &rowsperstrip);
++	(void) TIFFGetField(out, TIFFTAG_BITSPERSAMPLE, &bps);
++	if( bps == 0 )
++        {
++            TIFFError(TIFFFileName(out), "Error, cannot read BitsPerSample");
++            _TIFFfree(obuf);
++            return 0;
++        }
++        if( (bps % 8) != 0 )
++        {
++            TIFFError(TIFFFileName(out), "Error, cannot handle BitsPerSample that is not a multiple of 8");
++            _TIFFfree(obuf);
++            return 0;
++        }
++	bytes_per_sample = bps/8;
+ 	for (s = 0; s < spp; s++) {
+ 		uint32_t row;
+ 		for (row = 0; row < imagelength; row += rowsperstrip) {
+@@ -1676,7 +1691,7 @@ DECLAREwriteFunc(writeBufferToSeparateStrips)
+ 
+ 			cpContigBufToSeparateBuf(
+ 			    obuf, (uint8_t*) buf + row * rowsize + s,
+-			    nrows, imagewidth, 0, 0, spp, 1);
++			    nrows, imagewidth, 0, 0, spp, bytes_per_sample);
+ 			if (TIFFWriteEncodedStrip(out, strip++, obuf, stripsize) < 0) {
+ 				TIFFError(TIFFFileName(out),
+ 				    "Error, can't write strip %"PRIu32,
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
index 6b933a4..9c9108a 100644
--- a/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
+++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
@@ -11,7 +11,14 @@
 SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
            file://0001-tiffset-fix-global-buffer-overflow-for-ASCII-tags-wh.patch \
            file://561599c99f987dc32ae110370cfdd7df7975586b.patch \
-           file://eecb0712f4c3a5b449f70c57988260a667ddbdef.patch"
+           file://eecb0712f4c3a5b449f70c57988260a667ddbdef.patch \
+           file://0001-tif_jbig.c-fix-crash-when-reading-a-file-with-multip.patch \
+           file://0002-tiffcrop-fix-issue-380-and-382-heap-buffer-overflow-.patch \
+           file://0003-add-checks-for-return-value-of-limitMalloc-392.patch \
+           file://0004-TIFFFetchNormalTag-avoid-calling-memcpy-with-a-null-.patch \
+           file://0005-fix-the-FPE-in-tiffcrop-393.patch \
+           file://0006-fix-heap-buffer-overflow-in-tiffcp-278.patch \
+           "
 
 SRC_URI[sha256sum] = "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8"
 
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index bbab3ae..a69dd32 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -5,7 +5,8 @@
 AUTHOR = "Lennart Poettering"
 SECTION = "libs/multimedia"
 
-# Most of PulseAudio code is under LGPLv2.1+. There are a few exceptions:
+# Most of PulseAudio code is under LGPL-2.1-or-later. There are a few
+# exceptions:
 #
 # The "adrian" echo canceller variant has code under a non-standard permissive
 # license. See src/modules/echo-cancel/adrian-license.txt for details. This
@@ -39,11 +40,12 @@
 # The dependency with the most complicated licensing considerations is libdbus.
 # When PACKAGECONFIG[dbus] is enabled (like it is by default), libdbus will be
 # used by both the server and the client library (libpulse). Does this affect
-# applications that use libpulse? It should be also noted that libdbus is
-# dual-licensed: either GPLv2+ or AFL-2 terms apply. Whose decision is it which
-# of the licenses apply? What a mess. Some people hold the view that libdbus is
-# a system library that is covered by the "special exception" in GPLv2's
-# section 3, and therefore libdbus's GPL license doesn't affect PulseAudio.
+# applications that use libpulse? It should also be noted that libdbus is
+# dual-licensed: either GPL-2.0-or-later or AFL-2.0 terms apply. Whose decision
+# is it which of the licenses apply? What a mess. Some people hold the view that
+# libdbus is a system library that is covered by the "special exception" in
+# GPLv2's section 3, and therefore libdbus's GPL license doesn't affect
+# PulseAudio.
 LICENSE = "LGPL-2.1-or-later & MIT & BSD-3-Clause"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \
diff --git a/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb b/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
index b06b095..56cbe6b 100644
--- a/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
+++ b/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
@@ -5,8 +5,8 @@
 requires few libraries, and starts up quickly."
 HOMEPAGE = "https://github.com/stevenhoneyman/l3afpad"
 
-# Note that COPYING seems to mistakenly contain LGPLv2.1.
-# The source code is marked GPLv2+ and COPYING used to contain
+# Note that COPYING seems to mistakenly contain LGPL-2.1.
+# The source code is marked GPL-2.0-or-later and COPYING used to contain
 # that as well.
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.34.5.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.34.6.bb
similarity index 95%
rename from poky/meta/recipes-sato/webkit/webkitgtk_2.34.5.bb
rename to poky/meta/recipes-sato/webkit/webkitgtk_2.34.6.bb
index 9f58468..6870eed 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.34.5.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.34.6.bb
@@ -19,7 +19,7 @@
            file://reproducibility.patch \
            "
 
-SRC_URI[sha256sum] = "68930643af7a47a3af05f46d66e784422433753dab335d3282f319a85a5629b4"
+SRC_URI[sha256sum] = "6bc8fd034aad0432a2459ce4fc7ee25ad65a4924c618bf8d93b52b0c1a84c1f6"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
 
@@ -60,8 +60,8 @@
 PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
 PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2"
 PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
-PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
-PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl"
+PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl"
+PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl"
 PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF"
 PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
 PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
@@ -98,6 +98,9 @@
 CFLAGS:append:arc = " -mlong-calls"
 CXXFLAGS:append:arc = " -mlong-calls"
 
+# Needed for non-mesa graphics stacks when x11 is disabled
+CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
+
 # Javascript JIT is not supported on powerpc
 EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF "
 EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF "
diff --git a/poky/meta/recipes-support/atk/atk_2.36.0.bb b/poky/meta/recipes-support/atk/atk_2.38.0.bb
similarity index 83%
rename from poky/meta/recipes-support/atk/atk_2.36.0.bb
rename to poky/meta/recipes-support/atk/atk_2.38.0.bb
index 59913f4..62fec9a 100644
--- a/poky/meta/recipes-support/atk/atk_2.36.0.bb
+++ b/poky/meta/recipes-support/atk/atk_2.38.0.bb
@@ -15,7 +15,6 @@
 GNOMEBASEBUILDCLASS = "meson"
 inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
 
-SRC_URI[archive.md5sum] = "01aa5ec5138f5f8c9b3a4e3196ed2900"
-SRC_URI[archive.sha256sum] = "fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788"
+SRC_URI[archive.sha256sum] = "ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
index e331532..78c51e7 100644
--- a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
+++ b/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
@@ -21,10 +21,6 @@
 # Need df from coreutils
 RDEPENDS:${PN} = "python3-core python3-compression python3-mmap python3-setuptools python3-fcntl python3-six coreutils"
 
-inherit python3native
 inherit setuptools3
 
-PIP_INSTALL_PACKAGE = "bmap_tools"
-PYPA_WHEEL = "${PIP_INSTALL_DIST_PATH}/${PIP_INSTALL_PACKAGE}-${BASEVER}-*.whl"
-
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/curl/curl_7.81.0.bb b/poky/meta/recipes-support/curl/curl_7.82.0.bb
similarity index 94%
rename from poky/meta/recipes-support/curl/curl_7.81.0.bb
rename to poky/meta/recipes-support/curl/curl_7.82.0.bb
index e7219de..23bd7ea 100644
--- a/poky/meta/recipes-support/curl/curl_7.81.0.bb
+++ b/poky/meta/recipes-support/curl/curl_7.82.0.bb
@@ -6,11 +6,11 @@
 HOMEPAGE = "https://curl.se/"
 BUGTRACKER = "https://github.com/curl/curl/issues"
 SECTION = "console/network"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=425f6fdc767cc067518eef9bbdf4ab7b"
+LICENSE = "MIT-open-group"
+LIC_FILES_CHKSUM = "file://COPYING;md5=190c514872597083303371684954f238"
 
 SRC_URI = "https://curl.se/download/${BP}.tar.xz"
-SRC_URI[sha256sum] = "a067b688d1645183febc31309ec1f3cdce9213d02136b6a6de3d50f69c95a7d3"
+SRC_URI[sha256sum] = "0aaa12d7bd04b0966254f2703ce80dd5c38dbbd76af0297d3d690cdce58a583c"
 
 # Curl has used many names over the years...
 CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
@@ -18,7 +18,7 @@
 inherit autotools pkgconfig binconfig multilib_header
 
 # Entropy source for random PACKAGECONFIG option
-RANDOM = "/dev/urandom"
+RANDOM ?= "/dev/urandom"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} libidn openssl proxy random threaded-resolver verbose zlib"
 PACKAGECONFIG:class-native = "ipv6 openssl proxy random threaded-resolver verbose zlib"
diff --git a/poky/meta/recipes-support/diffoscope/diffoscope_204.bb b/poky/meta/recipes-support/diffoscope/diffoscope_208.bb
similarity index 92%
rename from poky/meta/recipes-support/diffoscope/diffoscope_204.bb
rename to poky/meta/recipes-support/diffoscope/diffoscope_208.bb
index 588894c..3c3b007 100644
--- a/poky/meta/recipes-support/diffoscope/diffoscope_204.bb
+++ b/poky/meta/recipes-support/diffoscope/diffoscope_208.bb
@@ -12,7 +12,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "cc99eb4cd9555947b11d6abb7ba83e71234f92ad1372e3b61e934115192ecb4e"
+SRC_URI[sha256sum] = "2c5c0ac1159eefce158154849fe67f0f527dffc5295bfd3ca1aef14962ffcbcb"
 
 RDEPENDS:${PN} += "binutils vim squashfs-tools python3-libarchive-c python3-magic python3-rpm"
 
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.7.3.bb b/poky/meta/recipes-support/gnutls/gnutls_3.7.4.bb
similarity index 96%
rename from poky/meta/recipes-support/gnutls/gnutls_3.7.3.bb
rename to poky/meta/recipes-support/gnutls/gnutls_3.7.4.bb
index ebabac1..b34eb7f 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.7.3.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.7.4.bb
@@ -23,7 +23,7 @@
            file://arm_eabi.patch \
            "
 
-SRC_URI[sha256sum] = "fc59c43bc31ab20a6977ff083029277a31935b8355ce387b634fa433f8f6c49a"
+SRC_URI[sha256sum] = "e6adbebcfbc95867de01060d93c789938cf89cc1d1f6ef9ef661890f6217451f"
 
 inherit autotools texinfo pkgconfig gettext lib_package gtk-doc
 
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.17.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.17.1.bb
similarity index 97%
rename from poky/meta/recipes-support/gpgme/gpgme_1.17.0.bb
rename to poky/meta/recipes-support/gpgme/gpgme_1.17.1.bb
index 382b247..d95ed6c 100644
--- a/poky/meta/recipes-support/gpgme/gpgme_1.17.0.bb
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.17.1.bb
@@ -23,7 +23,7 @@
            file://0001-use-closefrom-on-linux-and-glibc-2.34.patch \
            "
 
-SRC_URI[sha256sum] = "4ed3f50ceb7be2fce2c291414256b20c9ebf4c03fddb922c88cda99c119a69f5"
+SRC_URI[sha256sum] = "711eabf5dd661b9b04be9edc9ace2a7bc031f6bd9d37a768d02d0efdef108f5f"
 
 DEPENDS = "libgpg-error libassuan"
 RDEPENDS:${PN}-cpp += "libstdc++"
diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.12.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.12.1.bb
similarity index 86%
rename from poky/meta/recipes-support/libevdev/libevdev_1.12.0.bb
rename to poky/meta/recipes-support/libevdev/libevdev_1.12.1.bb
index 38f2bad..bdca64f 100644
--- a/poky/meta/recipes-support/libevdev/libevdev_1.12.0.bb
+++ b/poky/meta/recipes-support/libevdev/libevdev_1.12.1.bb
@@ -10,7 +10,7 @@
                     "
 
 SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz"
-SRC_URI[sha256sum] = "2f729e3480695791f9482e8388bd723402b89f0eaf118057bbdea3cecee9b237"
+SRC_URI[sha256sum] = "1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c"
 
 inherit autotools pkgconfig
 
diff --git a/poky/meta/recipes-support/libgit2/libgit2_1.4.1.bb b/poky/meta/recipes-support/libgit2/libgit2_1.4.2.bb
similarity index 91%
rename from poky/meta/recipes-support/libgit2/libgit2_1.4.1.bb
rename to poky/meta/recipes-support/libgit2/libgit2_1.4.2.bb
index da33893..88bf5a8 100644
--- a/poky/meta/recipes-support/libgit2/libgit2_1.4.1.bb
+++ b/poky/meta/recipes-support/libgit2/libgit2_1.4.2.bb
@@ -6,7 +6,7 @@
 DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2"
 
 SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.4;protocol=https"
-SRCREV = "fdd15bcfca6b2ec4b7ecad1aa11a396cb15bd064"
+SRCREV = "182d0d1ee933de46bf0b5a6ec269bafa77aba9a2"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch b/poky/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch
new file mode 100644
index 0000000..3841c06
--- /dev/null
+++ b/poky/meta/recipes-support/libical/libical/0001-cmake-Do-not-export-CC-into-gir-compiler.patch
@@ -0,0 +1,33 @@
+From c06d8a8990c996cbb854508a944202ba70ba7a7c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 3 Mar 2022 20:10:04 -0800
+Subject: [PATCH] cmake: Do not export CC into gir compiler
+
+this helps cross compilers where full compiler commandline defines the
+compiler rather than just CC variable, therefore let it use the default
+values from environment and not synthesize it from CMAKE_C_COMPILER just
+for this case.
+
+Upstream-Status: Submitted [https://github.com/libical/libical/pull/552]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cmake/modules/GObjectIntrospectionMacros.cmake | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/cmake/modules/GObjectIntrospectionMacros.cmake b/cmake/modules/GObjectIntrospectionMacros.cmake
+index 83aff931..d7d3f898 100644
+--- a/cmake/modules/GObjectIntrospectionMacros.cmake
++++ b/cmake/modules/GObjectIntrospectionMacros.cmake
+@@ -50,8 +50,7 @@ macro(gir_add_introspections introspections_girs)
+     set(_gir_libtool "--no-libtool")
+ 
+     add_custom_command(
+-      COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'"
+-              ${GObjectIntrospection_SCANNER}
++      COMMAND ${GObjectIntrospection_SCANNER}
+               ${GObjectIntrospection_SCANNER_ARGS}
+               --namespace=${_gir_namespace}
+               --nsversion=${_gir_version}
+-- 
+2.35.1
+
diff --git a/poky/meta/recipes-support/libical/libical_3.0.14.bb b/poky/meta/recipes-support/libical/libical_3.0.14.bb
index 717eb11..58baf3f 100644
--- a/poky/meta/recipes-support/libical/libical_3.0.14.bb
+++ b/poky/meta/recipes-support/libical/libical_3.0.14.bb
@@ -12,7 +12,9 @@
                     "
 SECTION = "libs"
 
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
+           file://0001-cmake-Do-not-export-CC-into-gir-compiler.patch \
+          "
 SRC_URI[sha256sum] = "4284b780356f1dc6a01f16083e7b836e63d3815e27ed0eaaad684712357ccc8f"
 UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
 
diff --git a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.3.1.bb b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.0.bb
similarity index 89%
rename from poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.3.1.bb
rename to poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.0.bb
index 38b4890..1d291cc 100644
--- a/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.3.1.bb
+++ b/poky/meta/recipes-support/libjitterentropy/libjitterentropy_3.4.0.bb
@@ -5,12 +5,12 @@
 all environments and on a lot of CPU architectures."
 HOMEPAGE = "http://www.chronox.de/jent.html"
 LICENSE = "GPL-2.0-or-later | BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1c94a9d191202a5552f381a023551396 \
+LIC_FILES_CHKSUM = "file://LICENSE;md5=64a87180908540620ce364b5e69b3b03 \
                     file://LICENSE.gplv2;md5=eb723b61539feef013de476e68b5c50a \
                     file://LICENSE.bsd;md5=66a5cedaf62c4b2637025f049f9b826f \
                     "
 SRC_URI = "git://github.com/smuellerDD/jitterentropy-library.git;branch=master;protocol=https"
-SRCREV = "887c9871ea110e397812ff7f3b28a6269f0a2ffc"
+SRCREV = "2e5019cfe63038faaa405ce53715effe4ea580e4"
 S = "${WORKDIR}/git"
 
 # remove at next version upgrade or when output changes
diff --git a/poky/meta/recipes-support/libsoup/libsoup_3.0.4.bb b/poky/meta/recipes-support/libsoup/libsoup_3.0.5.bb
similarity index 94%
rename from poky/meta/recipes-support/libsoup/libsoup_3.0.4.bb
rename to poky/meta/recipes-support/libsoup/libsoup_3.0.5.bb
index 775ab29..d2535c9 100644
--- a/poky/meta/recipes-support/libsoup/libsoup_3.0.4.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup_3.0.5.bb
@@ -12,7 +12,7 @@
 SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
 
 SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz"
-SRC_URI[sha256sum] = "5bd38b5e091f707fd7fa3ed7c37aacca3f8e16c65787f1cc17dc38d1dcde567b"
+SRC_URI[sha256sum] = "f5d143db6830b3825edc2a1c4449d639273b0bfa017a4970871962d9bca22145"
 
 PROVIDES = "libsoup-3.0"
 CVE_PRODUCT = "libsoup"
diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.34.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb
similarity index 89%
rename from poky/meta/recipes-support/libxslt/libxslt_1.1.34.bb
rename to poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb
index c888f3d..51cfb2e 100644
--- a/poky/meta/recipes-support/libxslt/libxslt_1.1.34.bb
+++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.35.bb
@@ -13,11 +13,9 @@
 SECTION = "libs"
 DEPENDS = "libxml2"
 
-SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz \
-          "
+SRC_URI = "https://download.gnome.org/sources/libxslt/1.1/libxslt-${PV}.tar.xz"
 
-SRC_URI[md5sum] = "db8765c8d076f1b6caafd9f2542a304a"
-SRC_URI[sha256sum] = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f"
+SRC_URI[sha256sum] = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79"
 
 UPSTREAM_CHECK_REGEX = "libxslt-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-support/nghttp2/nghttp2_1.46.0.bb b/poky/meta/recipes-support/nghttp2/nghttp2_1.47.0.bb
similarity index 92%
rename from poky/meta/recipes-support/nghttp2/nghttp2_1.46.0.bb
rename to poky/meta/recipes-support/nghttp2/nghttp2_1.47.0.bb
index 0ad45ed..58ce080 100644
--- a/poky/meta/recipes-support/nghttp2/nghttp2_1.46.0.bb
+++ b/poky/meta/recipes-support/nghttp2/nghttp2_1.47.0.bb
@@ -10,7 +10,7 @@
     https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz \
     file://0001-fetch-ocsp-response-use-python3.patch \
 "
-SRC_URI[sha256sum] = "1a68cc4a5732afb735baf50aaac3cb3a6771e49f744bd5db6c49ab5042f12a43"
+SRC_URI[sha256sum] = "68271951324554c34501b85190f22f2221056db69f493afc3bbac8e7be21e7cc"
 
 inherit cmake manpages python3native
 PACKAGECONFIG[manpages] = ""
diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.15.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.15.bb
index ae974f9..0696351 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools_6.15.bb
+++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.15.bb
@@ -34,6 +34,8 @@
 
 SYSTEMD_SERVICE:${PN} = "rngd.service"
 
+CFLAGS += " -DJENT_CONF_ENABLE_INTERNAL_TIMER "
+
 # Refer autogen.sh in rng-tools
 do_configure:prepend() {
     cp ${S}/README.md ${S}/README
diff --git a/poky/meta/recipes-support/sqlite/sqlite3.inc b/poky/meta/recipes-support/sqlite/sqlite3.inc
index aa5dc09..9a0de08 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3.inc
+++ b/poky/meta/recipes-support/sqlite/sqlite3.inc
@@ -23,15 +23,14 @@
 inherit autotools pkgconfig siteinfo
 
 # enable those which are enabled by default in configure
-PACKAGECONFIG ?= "fts4 fts5 json1 rtree dyn_ext"
-PACKAGECONFIG:class-native ?= "fts4 fts5 json1 rtree dyn_ext"
+PACKAGECONFIG ?= "fts4 fts5 rtree dyn_ext"
+PACKAGECONFIG:class-native ?= "fts4 fts5 rtree dyn_ext"
 
 PACKAGECONFIG[editline] = "--enable-editline,--disable-editline,libedit"
 PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline ncurses"
 PACKAGECONFIG[fts3] = "--enable-fts3,--disable-fts3"
 PACKAGECONFIG[fts4] = "--enable-fts4,--disable-fts4"
 PACKAGECONFIG[fts5] = "--enable-fts5,--disable-fts5"
-PACKAGECONFIG[json1] = "--enable-json1,--disable-json1"
 PACKAGECONFIG[rtree] = "--enable-rtree,--disable-rtree"
 PACKAGECONFIG[session] = "--enable-session,--disable-session"
 PACKAGECONFIG[dyn_ext] = "--enable-dynamic-extensions,--disable-dynamic-extensions"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.37.2.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.38.2.bb
similarity index 86%
rename from poky/meta/recipes-support/sqlite/sqlite3_3.37.2.bb
rename to poky/meta/recipes-support/sqlite/sqlite3_3.38.2.bb
index eb684e0..a37aff6 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.37.2.bb
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.38.2.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
 
 SRC_URI = "http://www.sqlite.org/2022/sqlite-autoconf-${SQLITE_PV}.tar.gz"
-SRC_URI[sha256sum] = "4089a8d9b467537b3f246f217b84cd76e00b1d1a971fe5aca1e30e230e46b2d8"
+SRC_URI[sha256sum] = "e7974aa1430bad690a5e9f79a6ee5c8492ada8269dc675875ad0fb747d7cada4"
 
 # -19242 is only an issue in specific development branch commits
 CVE_CHECK_IGNORE += "CVE-2019-19242"
diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc
index 68051f9..905ba3f 100644
--- a/poky/meta/recipes-support/vim/vim.inc
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -21,8 +21,8 @@
            file://racefix.patch \
            "
 
-PV .= ".4424"
-SRCREV = "cdf717283ca70b18f20b8a2cefe7957083280c6f"
+PV .= ".4524"
+SRCREV = "d8f8629b1bf566e1dada7515e9b146c69e5d9757"
 
 # Remove when 8.3 is out
 UPSTREAM_VERSION_UNKNOWN = "1"
diff --git a/poky/meta/site/powerpc32-linux b/poky/meta/site/powerpc32-linux
index accd048..501e5b6 100644
--- a/poky/meta/site/powerpc32-linux
+++ b/poky/meta/site/powerpc32-linux
@@ -8,7 +8,6 @@
 ac_cv_sizeof_int_p=${ac_cv_sizeof_int_p=4}
 ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
 ac_cv_sizeof_long_p=${ac_cv_sizeof_long_p=4}
-ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
 ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
 ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
 ac_cv_sizeof_long_long_int=${ac_cv_sizeof_long_long_int=8}
@@ -241,10 +240,3 @@
 # mysql
 mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
 mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
-
-
-# libc
-libc_cv_ppc_machine=${libc_cv_ppc_machine=yes}
-libc_cv_mlong_double_128ibm=${libc_cv_mlong_double_128ibm=yes}
-libc_cv_mabi_ibmlongdouble=${libc_cv_mabi_ibmlongdouble=yes}
-libc_cv_mlong_double_128=${libc_cv_mlong_double_128=yes}
diff --git a/poky/meta/site/powerpc32-linux-glibc b/poky/meta/site/powerpc32-linux-glibc
new file mode 100644
index 0000000..62da435
--- /dev/null
+++ b/poky/meta/site/powerpc32-linux-glibc
@@ -0,0 +1,8 @@
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
+
+# libc
+libc_cv_ppc_machine=${libc_cv_ppc_machine=yes}
+libc_cv_mlong_double_128ibm=${libc_cv_mlong_double_128ibm=yes}
+libc_cv_mabi_ibmlongdouble=${libc_cv_mabi_ibmlongdouble=yes}
+libc_cv_mlong_double_128=${libc_cv_mlong_double_128=yes}
+
diff --git a/poky/meta/site/powerpc32-linux-musl b/poky/meta/site/powerpc32-linux-musl
new file mode 100644
index 0000000..8575ba7
--- /dev/null
+++ b/poky/meta/site/powerpc32-linux-musl
@@ -0,0 +1,2 @@
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+
diff --git a/poky/meta/site/powerpc64-linux b/poky/meta/site/powerpc64-linux
index 820a4b8..18f9f29 100644
--- a/poky/meta/site/powerpc64-linux
+++ b/poky/meta/site/powerpc64-linux
@@ -4,7 +4,6 @@
 ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
 ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
 ac_cv_sizeof_long=${ac_cv_sizeof_long=8}
-ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
 ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8}
 ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
 ac_cv_sizeof_long_long_int=${ac_cv_sizeof_long_long_int=8}
diff --git a/poky/meta/site/powerpc64-linux-glibc b/poky/meta/site/powerpc64-linux-glibc
new file mode 100644
index 0000000..dc5c285
--- /dev/null
+++ b/poky/meta/site/powerpc64-linux-glibc
@@ -0,0 +1,2 @@
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
+
diff --git a/poky/meta/site/powerpc64-linux-musl b/poky/meta/site/powerpc64-linux-musl
new file mode 100644
index 0000000..38c537d
--- /dev/null
+++ b/poky/meta/site/powerpc64-linux-musl
@@ -0,0 +1 @@
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
diff --git a/poky/scripts/contrib/build-perf-test-wrapper.sh b/poky/scripts/contrib/build-perf-test-wrapper.sh
index fa71d4a..0a85e6e 100755
--- a/poky/scripts/contrib/build-perf-test-wrapper.sh
+++ b/poky/scripts/contrib/build-perf-test-wrapper.sh
@@ -87,21 +87,10 @@
     exit 1
 fi
 
-if [ -n "$email_to" ]; then
-    if ! [ -x "$(command -v phantomjs)" ]; then
-        echo "ERROR: Sending email needs phantomjs."
-        exit 1
-    fi
-    if ! [ -x "$(command -v optipng)" ]; then
-        echo "ERROR: Sending email needs optipng."
-        exit 1
-    fi
-fi
-
 # Open a file descriptor for flock and acquire lock
 LOCK_FILE="/tmp/oe-build-perf-test-wrapper.lock"
 if ! exec 3> "$LOCK_FILE"; then
-    echo "ERROR: Unable to open lock file"
+    echo "ERROR: Unable to open loemack file"
     exit 1
 fi
 if ! flock -n 3; then
@@ -226,7 +215,7 @@
     if [ -n "$email_to" ]; then
         echo "Emailing test report"
         os_name=`get_os_release_var PRETTY_NAME`
-        "$script_dir"/oe-build-perf-report-email.py --to "$email_to" --subject "Build Perf Test Report for $os_name" --text $report_txt --html $report_html "${OE_BUILD_PERF_REPORT_EMAIL_EXTRA_ARGS[@]}"
+        "$script_dir"/oe-build-perf-report-email.py --to "$email_to" --subject "Build Perf Test Report for $os_name" --text $report_txt "${OE_BUILD_PERF_REPORT_EMAIL_EXTRA_ARGS[@]}"
     fi
 
     # Upload report files, unless we're on detached head
diff --git a/poky/scripts/contrib/convert-variable-renames.py b/poky/scripts/contrib/convert-variable-renames.py
index ed01261..856c001 100755
--- a/poky/scripts/contrib/convert-variable-renames.py
+++ b/poky/scripts/contrib/convert-variable-renames.py
@@ -79,7 +79,7 @@
                     # Find removed names
                     for removed_name in removed_list:
                         if removed_name in line:
-                            print("%s needs further work at line %s because has been deprecated" % (fn, lineno, remove_name))
+                            print("%s needs further work at line %s because %s has been deprecated" % (fn, lineno, removed_name))
                     for check_word in context_check_list:
                         if re.search(check_word, line, re.IGNORECASE):
                             print("%s needs further work at line %s since it contains %s"% (fn, lineno, check_word))
diff --git a/poky/scripts/contrib/oe-build-perf-report-email.py b/poky/scripts/contrib/oe-build-perf-report-email.py
index de3862c..c900720 100755
--- a/poky/scripts/contrib/oe-build-perf-report-email.py
+++ b/poky/scripts/contrib/oe-build-perf-report-email.py
@@ -19,8 +19,6 @@
 import subprocess
 import sys
 import tempfile
-from email.mime.image import MIMEImage
-from email.mime.multipart import MIMEMultipart
 from email.mime.text import MIMEText
 
 
@@ -29,19 +27,6 @@
 log = logging.getLogger('oe-build-perf-report')
 
 
-# Find js scaper script
-SCRAPE_JS = os.path.join(os.path.dirname(__file__), '..', 'lib', 'build_perf',
-                         'scrape-html-report.js')
-if not os.path.isfile(SCRAPE_JS):
-    log.error("Unableto find oe-build-perf-report-scrape.js")
-    sys.exit(1)
-
-
-class ReportError(Exception):
-    """Local errors"""
-    pass
-
-
 def check_utils():
     """Check that all needed utils are installed in the system"""
     missing = []
@@ -77,137 +62,19 @@
                              "the email parts")
     parser.add_argument('--text',
                         help="Plain text message")
-    parser.add_argument('--html',
-                        help="HTML peport generated by oe-build-perf-report")
-    parser.add_argument('--phantomjs-args', action='append',
-                        help="Extra command line arguments passed to PhantomJS")
 
     args = parser.parse_args(argv)
 
-    if not args.html and not args.text:
-        parser.error("Please specify --html and/or --text")
+    if not args.text:
+        parser.error("Please specify --text")
 
     return args
 
 
-def decode_png(infile, outfile):
-    """Parse/decode/optimize png data from a html element"""
-    with open(infile) as f:
-        raw_data = f.read()
-
-    # Grab raw base64 data
-    b64_data = re.sub('^.*href="data:image/png;base64,', '', raw_data, 1)
-    b64_data = re.sub('">.+$', '', b64_data, 1)
-
-    # Replace file with proper decoded png
-    with open(outfile, 'wb') as f:
-        f.write(base64.b64decode(b64_data))
-
-    subprocess.check_output(['optipng', outfile], stderr=subprocess.STDOUT)
-
-
-def mangle_html_report(infile, outfile, pngs):
-    """Mangle html file into a email compatible format"""
-    paste = True
-    png_dir = os.path.dirname(outfile)
-    with open(infile) as f_in:
-        with open(outfile, 'w') as f_out:
-            for line in f_in.readlines():
-                stripped = line.strip()
-                # Strip out scripts
-                if stripped == '<!--START-OF-SCRIPTS-->':
-                    paste = False
-                elif stripped == '<!--END-OF-SCRIPTS-->':
-                    paste = True
-                elif paste:
-                    if re.match('^.+href="data:image/png;base64', stripped):
-                        # Strip out encoded pngs (as they're huge in size)
-                        continue
-                    elif 'www.gstatic.com' in stripped:
-                        # HACK: drop references to external static pages
-                        continue
-
-                    # Replace charts with <img> elements
-                    match = re.match('<div id="(?P<id>\w+)"', stripped)
-                    if match and match.group('id') in pngs:
-                        f_out.write('<img src="cid:{}"\n'.format(match.group('id')))
-                    else:
-                        f_out.write(line)
-
-
-def scrape_html_report(report, outdir, phantomjs_extra_args=None):
-    """Scrape html report into a format sendable by email"""
-    tmpdir = tempfile.mkdtemp(dir='.')
-    log.debug("Using tmpdir %s for phantomjs output", tmpdir)
-
-    if not os.path.isdir(outdir):
-        os.mkdir(outdir)
-    if os.path.splitext(report)[1] not in ('.html', '.htm'):
-        raise ReportError("Invalid file extension for report, needs to be "
-                          "'.html' or '.htm'")
-
-    try:
-        log.info("Scraping HTML report with PhangomJS")
-        extra_args = phantomjs_extra_args if phantomjs_extra_args else []
-        subprocess.check_output(['phantomjs', '--debug=true'] + extra_args +
-                                [SCRAPE_JS, report, tmpdir],
-                                stderr=subprocess.STDOUT)
-
-        pngs = []
-        images = []
-        for fname in os.listdir(tmpdir):
-            base, ext = os.path.splitext(fname)
-            if ext == '.png':
-                log.debug("Decoding %s", fname)
-                decode_png(os.path.join(tmpdir, fname),
-                           os.path.join(outdir, fname))
-                pngs.append(base)
-                images.append(fname)
-            elif ext in ('.html', '.htm'):
-                report_file = fname
-            else:
-                log.warning("Unknown file extension: '%s'", ext)
-                #shutil.move(os.path.join(tmpdir, fname), outdir)
-
-        log.debug("Mangling html report file %s", report_file)
-        mangle_html_report(os.path.join(tmpdir, report_file),
-                           os.path.join(outdir, report_file), pngs)
-        return (os.path.join(outdir, report_file),
-                [os.path.join(outdir, i) for i in images])
-    finally:
-        shutil.rmtree(tmpdir)
-
-def send_email(text_fn, html_fn, image_fns, subject, recipients, copy=[],
-               blind_copy=[]):
-    """Send email"""
+def send_email(text_fn, subject, recipients, copy=[], blind_copy=[]):
     # Generate email message
-    text_msg = html_msg = None
-    if text_fn:
-        with open(text_fn) as f:
-            text_msg = MIMEText("Yocto build performance test report.\n" +
-                                f.read(), 'plain')
-    if html_fn:
-        html_msg = msg = MIMEMultipart('related')
-        with open(html_fn) as f:
-            html_msg.attach(MIMEText(f.read(), 'html'))
-        for img_fn in image_fns:
-            # Expect that content id is same as the filename
-            cid = os.path.splitext(os.path.basename(img_fn))[0]
-            with open(img_fn, 'rb') as f:
-                image_msg = MIMEImage(f.read())
-            image_msg['Content-ID'] = '<{}>'.format(cid)
-            html_msg.attach(image_msg)
-
-    if text_msg and html_msg:
-        msg = MIMEMultipart('alternative')
-        msg.attach(text_msg)
-        msg.attach(html_msg)
-    elif text_msg:
-        msg = text_msg
-    elif html_msg:
-        msg = html_msg
-    else:
-        raise ReportError("Neither plain text nor html body specified")
+    with open(text_fn) as f:
+        msg = MIMEText("Yocto build performance test report.\n" + f.read(), 'plain')
 
     pw_data = pwd.getpwuid(os.getuid())
     full_name = pw_data.pw_gecos.split(',')[0]
@@ -245,25 +112,16 @@
 
     try:
         log.debug("Storing email parts in %s", outdir)
-        html_report = images = None
-        if args.html:
-            html_report, images = scrape_html_report(args.html, outdir,
-                                                     args.phantomjs_args)
-
         if args.to:
             log.info("Sending email to %s", ', '.join(args.to))
             if args.cc:
                 log.info("Copying to %s", ', '.join(args.cc))
             if args.bcc:
                 log.info("Blind copying to %s", ', '.join(args.bcc))
-            send_email(args.text, html_report, images, args.subject,
-                       args.to, args.cc, args.bcc)
+            send_email(args.text, args.subject, args.to, args.cc, args.bcc)
     except subprocess.CalledProcessError as err:
         log.error("%s, with output:\n%s", str(err), err.output.decode())
         return 1
-    except ReportError as err:
-        log.error(err)
-        return 1
     finally:
         if not args.outdir:
             log.debug("Wiping %s", outdir)
diff --git a/poky/scripts/contrib/patchreview.py b/poky/scripts/contrib/patchreview.py
index 62c509f..dc417b4 100755
--- a/poky/scripts/contrib/patchreview.py
+++ b/poky/scripts/contrib/patchreview.py
@@ -8,7 +8,7 @@
 # - test suite
 # - validate signed-off-by
 
-status_values = ("accepted", "pending", "inappropriate", "backport", "submitted", "denied")
+status_values = ("accepted", "pending", "inappropriate", "backport", "submitted", "denied", "inactive-upstream")
 
 class Result:
     # Whether the patch has an Upstream-Status or not
@@ -46,7 +46,7 @@
     # hyphen or spaces, maybe a colon, some whitespace, then the value, all case
     # insensitive.
     sob_re = re.compile(r"^[\t ]*(Signed[-_ ]off[-_ ]by:?)[\t ]*(.+)", re.IGNORECASE | re.MULTILINE)
-    status_re = re.compile(r"^[\t ]*(Upstream[-_ ]Status:?)[\t ]*(\w*)", re.IGNORECASE | re.MULTILINE)
+    status_re = re.compile(r"^[\t ]*(Upstream[-_ ]Status:?)[\t ]*([\w-]*)", re.IGNORECASE | re.MULTILINE)
     cve_tag_re = re.compile(r"^[\t ]*(CVE:)[\t ]*(.*)", re.IGNORECASE | re.MULTILINE)
     cve_re = re.compile(r"cve-[0-9]{4}-[0-9]{4,6}", re.IGNORECASE)
 
diff --git a/poky/scripts/crosstap b/poky/scripts/crosstap
index 73c8947..5aa72f1 100755
--- a/poky/scripts/crosstap
+++ b/poky/scripts/crosstap
@@ -353,7 +353,7 @@
 
 Anything after -- option is passed directly to stap.
 
-Legacy script invocation style supported but depreciated:
+Legacy script invocation style supported but deprecated:
   %prog <user@hostname> <sytemtap-script> [systemtap options]
 
 To enable most out of systemtap the following site.conf or local.conf
diff --git a/poky/scripts/lib/checklayer/cases/bsp.py b/poky/scripts/lib/checklayer/cases/bsp.py
index 7fd56f5..a80a584 100644
--- a/poky/scripts/lib/checklayer/cases/bsp.py
+++ b/poky/scripts/lib/checklayer/cases/bsp.py
@@ -153,7 +153,7 @@
                 # do_build can be ignored: it is know to have
                 # different signatures in some cases, for example in
                 # the allarch ca-certificates due to RDEPENDS=openssl.
-                # That particular dependency is whitelisted via
+                # That particular dependency is marked via
                 # SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS, but still shows up
                 # in the sstate signature hash because filtering it
                 # out would be hard and running do_build multiple
diff --git a/poky/scripts/lib/recipetool/create.py b/poky/scripts/lib/recipetool/create.py
index 4cf6a5a..220465e 100644
--- a/poky/scripts/lib/recipetool/create.py
+++ b/poky/scripts/lib/recipetool/create.py
@@ -1080,7 +1080,7 @@
 
     # common licenses
     crunched_md5sums['89f3bf322f30a1dcfe952e09945842f0'] = 'Apache-2.0'
-    crunched_md5sums['13b6fe3075f8f42f2270a748965bf3a1'] = 'BSD-0-Clause'
+    crunched_md5sums['13b6fe3075f8f42f2270a748965bf3a1'] = '0BSD'
     crunched_md5sums['ba87a7d7c20719c8df4b8beed9b78c43'] = 'BSD-2-Clause'
     crunched_md5sums['7f8892c03b72de419c27be4ebfa253f8'] = 'BSD-3-Clause'
     crunched_md5sums['21128c0790b23a8a9f9e260d5f6b3619'] = 'BSL-1.0'
@@ -1108,15 +1108,15 @@
     # https://github.com/waffle-gl/waffle/blob/master/LICENSE.txt
     crunched_md5sums['50fab24ce589d69af8964fdbfe414c60'] = 'BSD-2-Clause'
     # https://github.com/spigwitmer/fakeds1963s/blob/master/LICENSE
-    crunched_md5sums['88a4355858a1433fea99fae34a44da88'] = 'GPLv2'
+    crunched_md5sums['88a4355858a1433fea99fae34a44da88'] = 'GPL-2.0-only'
     # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
-    crunched_md5sums['063b5c3ebb5f3aa4c85a2ed18a31fbe7'] = 'GPLv2'
+    crunched_md5sums['063b5c3ebb5f3aa4c85a2ed18a31fbe7'] = 'GPL-2.0-only'
     # https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.LGPLv2.1
-    crunched_md5sums['7f5202f4d44ed15dcd4915f5210417d8'] = 'LGPLv2.1'
+    crunched_md5sums['7f5202f4d44ed15dcd4915f5210417d8'] = 'LGPL-2.1-only'
     # unixODBC-2.3.4 COPYING
-    crunched_md5sums['3debde09238a8c8e1f6a847e1ec9055b'] = 'LGPLv2.1'
+    crunched_md5sums['3debde09238a8c8e1f6a847e1ec9055b'] = 'LGPL-2.1-only'
     # https://github.com/FFmpeg/FFmpeg/blob/master/COPYING.LGPLv3
-    crunched_md5sums['f90c613c51aa35da4d79dd55fc724ceb'] = 'LGPLv3'
+    crunched_md5sums['f90c613c51aa35da4d79dd55fc724ceb'] = 'LGPL-3.0-only'
     # https://raw.githubusercontent.com/eclipse/mosquitto/v1.4.14/epl-v10
     crunched_md5sums['efe2cb9a35826992b9df68224e3c2628'] = 'EPL-1.0'
 
diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py
index 1a15011..f4f51c8 100644
--- a/poky/scripts/lib/recipetool/create_buildsys_python.py
+++ b/poky/scripts/lib/recipetool/create_buildsys_python.py
@@ -102,29 +102,38 @@
         'License :: OSI Approved :: Artistic License': 'Artistic',
         'License :: OSI Approved :: Attribution Assurance License': 'AAL',
         'License :: OSI Approved :: BSD License': 'BSD-3-Clause',
+        'License :: OSI Approved :: Boost Software License 1.0 (BSL-1.0)': 'BSL-1.0',
+        'License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)': 'CECILL-2.1',
+        'License :: OSI Approved :: Common Development and Distribution License 1.0 (CDDL-1.0)': 'CDDL-1.0',
         'License :: OSI Approved :: Common Public License': 'CPL',
+        'License :: OSI Approved :: Eclipse Public License 1.0 (EPL-1.0)': 'EPL-1.0',
+        'License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)': 'EPL-2.0',
         'License :: OSI Approved :: Eiffel Forum License': 'EFL',
         'License :: OSI Approved :: European Union Public Licence 1.0 (EUPL 1.0)': 'EUPL-1.0',
         'License :: OSI Approved :: European Union Public Licence 1.1 (EUPL 1.1)': 'EUPL-1.1',
-        'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)': 'AGPL-3.0+',
-        'License :: OSI Approved :: GNU Affero General Public License v3': 'AGPL-3.0',
+        'License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)': 'EUPL-1.2',
+        'License :: OSI Approved :: GNU Affero General Public License v3': 'AGPL-3.0-only',
+        'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)': 'AGPL-3.0-or-later',
         'License :: OSI Approved :: GNU Free Documentation License (FDL)': 'GFDL',
         'License :: OSI Approved :: GNU General Public License (GPL)': 'GPL',
-        'License :: OSI Approved :: GNU General Public License v2 (GPLv2)': 'GPL-2.0',
-        'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)': 'GPL-2.0+',
-        'License :: OSI Approved :: GNU General Public License v3 (GPLv3)': 'GPL-3.0',
-        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)': 'GPL-3.0+',
-        'License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)': 'LGPL-2.0',
-        'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)': 'LGPL-2.0+',
-        'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)': 'LGPL-3.0',
-        'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)': 'LGPL-3.0+',
+        'License :: OSI Approved :: GNU General Public License v2 (GPLv2)': 'GPL-2.0-only',
+        'License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)': 'GPL-2.0-or-later',
+        'License :: OSI Approved :: GNU General Public License v3 (GPLv3)': 'GPL-3.0-only',
+        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)': 'GPL-3.0-or-later',
+        'License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)': 'LGPL-2.0-only',
+        'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)': 'LGPL-2.0-or-later',
+        'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)': 'LGPL-3.0-only',
+        'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)': 'LGPL-3.0-or-later',
         'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)': 'LGPL',
+        'License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)': 'HPND',
         'License :: OSI Approved :: IBM Public License': 'IPL',
         'License :: OSI Approved :: ISC License (ISCL)': 'ISC',
         'License :: OSI Approved :: Intel Open Source License': 'Intel',
         'License :: OSI Approved :: Jabber Open Source License': 'Jabber',
         'License :: OSI Approved :: MIT License': 'MIT',
+        'License :: OSI Approved :: MIT No Attribution License (MIT-0)': 'MIT-0',
         'License :: OSI Approved :: MITRE Collaborative Virtual Workspace License (CVW)': 'CVWL',
+        'License :: OSI Approved :: MirOS License (MirOS)': 'MirOS',
         'License :: OSI Approved :: Motosoto License': 'Motosoto',
         'License :: OSI Approved :: Mozilla Public License 1.0 (MPL)': 'MPL-1.0',
         'License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1)': 'MPL-1.1',
@@ -132,19 +141,26 @@
         'License :: OSI Approved :: Nethack General Public License': 'NGPL',
         'License :: OSI Approved :: Nokia Open Source License': 'Nokia',
         'License :: OSI Approved :: Open Group Test Suite License': 'OGTSL',
+        'License :: OSI Approved :: Open Software License 3.0 (OSL-3.0)': 'OSL-3.0',
+        'License :: OSI Approved :: PostgreSQL License': 'PostgreSQL',
         'License :: OSI Approved :: Python License (CNRI Python License)': 'CNRI-Python',
-        'License :: OSI Approved :: Python Software Foundation License': 'PSF',
+        'License :: OSI Approved :: Python Software Foundation License': 'PSF-2.0',
         'License :: OSI Approved :: Qt Public License (QPL)': 'QPL',
         'License :: OSI Approved :: Ricoh Source Code Public License': 'RSCPL',
+        'License :: OSI Approved :: SIL Open Font License 1.1 (OFL-1.1)': 'OFL-1.1',
         'License :: OSI Approved :: Sleepycat License': 'Sleepycat',
-        'License :: OSI Approved :: Sun Industry Standards Source License (SISSL)': '--  Sun Industry Standards Source License (SISSL)',
+        'License :: OSI Approved :: Sun Industry Standards Source License (SISSL)': 'SISSL',
         'License :: OSI Approved :: Sun Public License': 'SPL',
+        'License :: OSI Approved :: The Unlicense (Unlicense)': 'Unlicense',
+        'License :: OSI Approved :: Universal Permissive License (UPL)': 'UPL-1.0',
         'License :: OSI Approved :: University of Illinois/NCSA Open Source License': 'NCSA',
         'License :: OSI Approved :: Vovida Software License 1.0': 'VSL-1.0',
         'License :: OSI Approved :: W3C License': 'W3C',
         'License :: OSI Approved :: X.Net License': 'Xnet',
         'License :: OSI Approved :: Zope Public License': 'ZPL',
         'License :: OSI Approved :: zlib/libpng License': 'Zlib',
+        'License :: Other/Proprietary License': 'Proprietary',
+        'License :: Public Domain': 'PD',
     }
 
     def __init__(self):
diff --git a/poky/scripts/lib/recipetool/licenses.csv b/poky/scripts/lib/recipetool/licenses.csv
index 0d3fb06..8085111 100644
--- a/poky/scripts/lib/recipetool/licenses.csv
+++ b/poky/scripts/lib/recipetool/licenses.csv
@@ -1,37 +1,37 @@
-0636e73ff0215e8d672dc4c32c317bb3,GPLv2
-12f884d2ae1ff87c09e5b7ccc2c4ca7e,GPLv2
-18810669f13b87348459e611d31ab760,GPLv2
-252890d9eee26aab7b432e8b8a616475,LGPLv2
-2d5025d4aa3495befef8f17206a5b0a1,LGPLv2.1
-3214f080875748938ba060314b4f727d,LGPLv2
-385c55653886acac3821999a3ccd17b3,Artistic-1.0 | GPL-2.0
-393a5ca445f6965873eca0259a17f833,GPLv2
+0636e73ff0215e8d672dc4c32c317bb3,GPL-2.0-only
+12f884d2ae1ff87c09e5b7ccc2c4ca7e,GPL-2.0-only
+18810669f13b87348459e611d31ab760,GPL-2.0-only
+252890d9eee26aab7b432e8b8a616475,LGPL-2.0-only
+2d5025d4aa3495befef8f17206a5b0a1,LGPL-2.1-only
+3214f080875748938ba060314b4f727d,LGPL-2.0-only
+385c55653886acac3821999a3ccd17b3,Artistic-1.0 | GPL-2.0-only
+393a5ca445f6965873eca0259a17f833,GPL-2.0-only
 3b83ef96387f14655fc854ddc3c6bd57,Apache-2.0
-3bf50002aefd002f49e7bb854063f7e7,LGPLv2
-4325afd396febcb659c36b49533135d4,GPLv2
-4fbd65380cdd255951079008b364516c,LGPLv2.1
+3bf50002aefd002f49e7bb854063f7e7,LGPL-2.0-only
+4325afd396febcb659c36b49533135d4,GPL-2.0-only
+4fbd65380cdd255951079008b364516c,LGPL-2.1-only
 54c7042be62e169199200bc6477f04d1,BSD-3-Clause
-55ca817ccb7d5b5b66355690e9abc605,LGPLv2
-59530bdf33659b29e73d4adb9f9f6552,GPLv2
-5f30f0716dfdd0d91eb439ebec522ec2,LGPLv2
-6a6a8e020838b23406c81b19c1d46df6,LGPLv3
-751419260aa954499f7abaabaa882bbe,GPLv2
-7fbc338309ac38fefcd64b04bb903e34,LGPLv2.1
-8ca43cbc842c2336e835926c2166c28b,GPLv2
-94d55d512a9ba36caa9b7df079bae19f,GPLv2
-9ac2e7cff1ddaf48b6eab6028f23ef88,GPLv2
-9f604d8a4f8e74f4f5140845a21b6674,LGPLv2
-a6f89e2100d9b6cdffcea4f398e37343,LGPLv2.1
-b234ee4d69f5fce4486a80fdaf4a4263,GPLv2
-bbb461211a33b134d42ed5ee802b37ff,LGPLv2.1
-bfe1f75d606912a4111c90743d6c7325,MPL-1.1
-c93c0550bd3173f4504b2cbd8991e50b,GPLv2
-d32239bcb673463ab874e80d47fae504,GPLv3
-d7810fab7487fb0aad327b76f1be7cd7,GPLv2
-d8045f3b8f929c1cb29a1e3fd737b499,LGPLv2.1
-db979804f025cf55aabec7129cb671ed,LGPLv2
-eb723b61539feef013de476e68b5c50a,GPLv2
-ebb5c50ab7cab4baeffba14977030c07,GPLv2
-f27defe1e96c2e1ecd4e0c9be8967949,GPLv3
-fad9b3332be894bab9bc501572864b29,LGPLv2.1
-fbc093901857fcd118f065f900982c24,LGPLv2.1
+55ca817ccb7d5b5b66355690e9abc605,LGPL-2.0-only
+59530bdf33659b29e73d4adb9f9f6552,GPL-2.0-only
+5f30f0716dfdd0d91eb439ebec522ec2,LGPL-2.0-only
+6a6a8e020838b23406c81b19c1d46df6,LGPL-3.0-only
+751419260aa954499f7abaabaa882bbe,GPL-2.0-only
+7fbc338309ac38fefcd64b04bb903e34,LGPL-2.1-only
+8ca43cbc842c2336e835926c2166c28b,GPL-2.0-only
+94d55d512a9ba36caa9b7df079bae19f,GPL-2.0-only
+9ac2e7cff1ddaf48b6eab6028f23ef88,GPL-2.0-only
+9f604d8a4f8e74f4f5140845a21b6674,LGPL-2.0-only
+a6f89e2100d9b6cdffcea4f398e37343,LGPL-2.1-only
+b234ee4d69f5fce4486a80fdaf4a4263,GPL-2.0-only
+bbb461211a33b134d42ed5ee802b37ff,LGPL-2.1-only
+bfe1f75d606912a4111c90743d6c7325,MPL-1.1-only
+c93c0550bd3173f4504b2cbd8991e50b,GPL-2.0-only
+d32239bcb673463ab874e80d47fae504,GPL-3.0-only
+d7810fab7487fb0aad327b76f1be7cd7,GPL-2.0-only
+d8045f3b8f929c1cb29a1e3fd737b499,LGPL-2.1-only
+db979804f025cf55aabec7129cb671ed,LGPL-2.0-only
+eb723b61539feef013de476e68b5c50a,GPL-2.0-only
+ebb5c50ab7cab4baeffba14977030c07,GPL-2.0-only
+f27defe1e96c2e1ecd4e0c9be8967949,GPL-3.0-only
+fad9b3332be894bab9bc501572864b29,LGPL-2.1-only
+fbc093901857fcd118f065f900982c24,LGPL-2.1-only
diff --git a/poky/scripts/oe-pkgdata-util b/poky/scripts/oe-pkgdata-util
index 71656da..7412cc1 100755
--- a/poky/scripts/oe-pkgdata-util
+++ b/poky/scripts/oe-pkgdata-util
@@ -296,7 +296,7 @@
             extra = ''
             for line in f:
                 for var in vars:
-                    m = re.match(var + '(?:_\S+)?:\s*(.+?)\s*$', line)
+                    m = re.match(var + '(?::\S+)?:\s*(.+?)\s*$', line)
                     if m:
                         vals[var] = m.group(1)
             pkg_version = vals['PKGV'] or ''
diff --git a/poky/scripts/oe-setup-builddir b/poky/scripts/oe-setup-builddir
index 5a51fa7..d4ac074 100755
--- a/poky/scripts/oe-setup-builddir
+++ b/poky/scripts/oe-setup-builddir
@@ -94,9 +94,9 @@
 
 EOM
 
-    # Put the abosolute path to the layers in bblayers.conf so we can run
-    # bitbake without the init script after the first run
-    # ##COREBASE## is deprecated as it's meaning was inconsistent, but continue
+    # Put the absolute path to the layers in bblayers.conf so we can run
+    # bitbake without the init script after the first run.
+    # ##COREBASE## is deprecated as its meaning was inconsistent, but continue
     # to replace it for compatibility.
     sed -e "s|##OEROOT##|$OEROOT|g" \
         -e "s|##COREBASE##|$OEROOT|g" \
@@ -115,7 +115,7 @@
 manual which can be found at:
     https://docs.yoctoproject.org
 
-For more information about OpenEmbedded see their website:
+For more information about OpenEmbedded see the website:
     https://www.openembedded.org/
 
 EOM
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 5c108ec..2f77a7b 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -73,11 +73,11 @@
     gl-es - enable virgl-based GL acceleration, using OpenGL ES (also needs gtk or sdl options)
     egl-headless - enable headless EGL output; use vnc (via publicvnc option) or spice to see it
     (hint: if /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create
-    one sutable for mesa llvmpipe sofware renderer)
+    one suitable for mesa llvmpipe software renderer)
     serial - enable a serial console on /dev/ttyS0
     serialstdio - enable a serial console on the console (regardless of graphics mode)
-    slirp - enable user networking, no root privileges is required
-    snapshot - don't write changes to back to images
+    slirp - enable user networking, no root privilege is required
+    snapshot - don't write changes back to images
     kvm - enable KVM when running x86/x86_64 (VT-capable CPU required)
     kvm-vhost - enable KVM with vhost when running x86/x86_64 (VT-capable CPU required)
     publicvnc - enable a VNC server open to all hosts
@@ -352,10 +352,10 @@
     def check_arg_path(self, p):
         """
         - Check whether it is <image>.qemuboot.conf or contains <image>.qemuboot.conf
-        - Check whether is a kernel file
-        - Check whether is a image file
-        - Check whether it is a nfs dir
-        - Check whether it is a OVMF flash file
+        - Check whether it is a kernel file
+        - Check whether it is an image file
+        - Check whether it is an NFS dir
+        - Check whether it is an OVMF flash file
         """
         if p.endswith('.qemuboot.conf'):
             self.qemuboot = p
@@ -366,7 +366,7 @@
             self.kernel =  p
         elif os.path.exists(p) and (not os.path.isdir(p)) and '-image-' in os.path.basename(p):
             self.rootfs = p
-            # Check filename against self.fstypes can hanlde <file>.cpio.gz,
+            # Check filename against self.fstypes can handle <file>.cpio.gz,
             # otherwise, its type would be "gz", which is incorrect.
             fst = ""
             for t in self.fstypes:
@@ -814,7 +814,7 @@
         self.set('QB_MEM', qb_mem)
 
         mach = self.get('MACHINE')
-        if not mach.startswith('qemumips'):
+        if not mach.startswith(('qemumips', 'qemux86')):
             self.kernel_cmdline_script += ' mem=%s' % self.get('QB_MEM').replace('-m','').strip() + 'M'
 
         self.qemu_opt_script += ' %s' % self.get('QB_MEM')
diff --git a/poky/scripts/verify-bashisms b/poky/scripts/verify-bashisms
index 14d8c29..ec2374f 100755
--- a/poky/scripts/verify-bashisms
+++ b/poky/scripts/verify-bashisms
@@ -5,7 +5,7 @@
 
 import sys, os, subprocess, re, shutil
 
-whitelist = (
+allowed = (
     # type is supported by dash
     'if type systemctl >/dev/null 2>/dev/null; then',
     'if type systemd-tmpfiles >/dev/null 2>/dev/null; then',
@@ -19,8 +19,8 @@
     '. $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE'
     )
 
-def is_whitelisted(s):
-    for w in whitelist:
+def is_allowed(s):
+    for w in allowed:
         if w in s:
             return True
     return False
@@ -49,7 +49,7 @@
         output = e.output.replace(fn.name, function)
         if not output or not output.startswith('possible bashism'):
             # Probably starts with or contains only warnings. Dump verbatim
-            # with one space indention. Can't do the splitting and whitelist
+            # with one space indention. Can't do the splitting and allowed
             # checking below.
             return '\n'.join([filename,
                               ' Unexpected output from checkbashisms.pl'] +
@@ -65,7 +65,7 @@
         #  ...
         #   ...
         result = []
-        # Check the results against the whitelist
+        # Check the results against the allowed list
         for message, source in zip(output[0::2], output[1::2]):
             if not is_whitelisted(source):
                 if lineno is not None:
diff --git a/poky/scripts/wic b/poky/scripts/wic
index 4bcff8f..aee63a4 100755
--- a/poky/scripts/wic
+++ b/poky/scripts/wic
@@ -159,6 +159,9 @@
                            "(Use -e/--image-name to specify it)")
         native_sysroot = options.native_sysroot
 
+    if options.kernel_dir:
+        kernel_dir = options.kernel_dir
+
     if not options.vars_dir and (not native_sysroot or not os.path.isdir(native_sysroot)):
         logger.info("Building wic-tools...\n")
         subprocess.check_call(["bitbake", "wic-tools"])