subtree updates

meta-security: 498ca39cd6..93f2146211:
  Anton Antonov (1):
        Upgrade parsec-service to 1.0.0 and parsec-tool to 0.5.2

  Joe Slater (1):
        LICENSE: update to SPDX standard names

  Petr Gotthard (6):
        tpm2-tools: fix missing version number
        tpm2-openssl: update to 1.1.0
        tpm2-tss: update to 3.2.0
        tpm2-abrmd: update to 2.4.1
        tpm2-tss-engine: fix version string and build with openssl 3.0
        tpm2-pkcs11: update to 1.8.0

  Ranjitsinh Rathod (1):
        samhain.inc: Correct LICENSE to GPL-2.0-only

poky: 30b38d9cb9..9e55696042:
  Abongwa Amahnui Bonalais (2):
        documentation/brief-yoctoprojectqs: add directory for local.conf
        dev-manual: add command used to add the signed-off-by line.

  Alex Kiernan (12):
        kernel: Delete unused KERNEL_LOCALVERSION variable
        wpa-supplicant: Reorder/group following style guide
        wpa-supplicant: Avoid changing directory in do_install
        wpa-supplicant: Use PACKAGE_BEFORE_PN/${PN}
        wpa-supplicant: Backport libwpa/clean build fixes
        wpa-supplicant: Build static library if not DISABLE_STATIC
        wpa-supplicant: Use upstream defconfig
        wpa-supplicant: Simplify build/install flow
        wpa-supplicant: Package dynamic modules
        wpa-supplicant: Install wpa_passphrase when not disabled
        wpa-supplicant: Package shared library into wpa-supplicant-lib
        eudev: Remove unused files

  Alexander Kanavin (35):
        webkitgtk: update 2.34.6 -> 2.36.0
        epiphany: upgrade 41.3 -> 42.0
        itstool: correct upstream version check
        piglit: update to latest revision
        vulkan-samples: update to latest revision
        libxvmc: update 1.0.12 -> 1.0.13
        libsndfile1: update 1.0.31 -> 1.1.0
        at-spi2-core: update 2.42.0 -> 2.44.0
        cmake: update 3.22.3 -> 3.23.0
        gdk-pixbuf: upgrade 2.42.6 -> 2.42.8
        librsvg: upgrade 2.52.7 -> 2.54.0
        libgcrypt: upgrade 1.9.4 -> 1.10.1
        llvm: update 13.0.1 -> 14.0.0
        llvm: use default install paths
        squashfs-tools: update 4.5 -> 4.5.1
        webkitgtk: adjust patch status
        go-helloworld: update to latest revision
        libxml2: update patch status
        python3-psutil: submit patch upstream
        gnu-config: update to latest revision
        go-helloworld: update to latest revision
        piglit: update to latest revision
        vulkan-samples: update to latest revision
        python3-typing-extensions: upgrade 3.10.0.0 -> 4.2.0
        python3-pyparsing: upgrade 3.0.7 -> 3.0.8
        glib: upgrade 2.72.0 -> 2.72.1
        go: update 1.18 -> 1.18.1
        meson: update 0.61.3 -> 0.62.1
        icu: update 70.1 -> 71.1
        valgrind: update 3.18.1 -> 3.19.0
        libcap-ng: update 0.8.2 -> 0.8.3
        libgpg-error: 1.44 -> 1.45
        cmake: update 3.23.0 -> 3.23.1
        stress-ng: upgrade 0.13.12 -> 0.14.00
        llvm: update 14.0.0 -> 14.0.1

  Alexandre Belloni (1):
        cmake: update license hashes

  Andrei Gherzan (1):
        automake: Drop redundant 'u' flag in ARFLAGS

  Bruce Ashfield (3):
        linux-yocto-dev: update to v5.18+
        lttng-modules: support kernel 5.18+
        kernel-yocto: allow patch author date to be commit date

  Carlos Rafael Giani (2):
        gstreamer1.0-plugins-good: Fix libsoup dependency
        gstreamer1.0: Minor documentation addition

  Chen Qi (3):
        cases/buildepoxy.py: fix typo
        go.bbclass: disable the use of the default configuration file
        go-helloworld: remove unused GO_WORKDIR

  Davide Gardenal (2):
        create-spdx: fix error when symlink cannot be created
        create-spdx: delete virtual/kernel dependency to fix FreeRTOS build

  Dmitry Baryshkov (5):
        linux-firmware: correct license for ar3k firmware
        linux-firmware: split ath3k firmware
        arch-armv8-2a.inc: fix a typo in TUNEVALID variable
        arch-armv8-4a.inc: add tune include for armv8.4a
        image.bbclass: allow overriding dependency on virtual/kernel:do_deploy

  Ferry Toth (2):
        apt: add apt selftest to test signed package feeds
        package_manager: fix missing dependency on gnupg when signing deb package feeds

  Henning Schild (1):
        wic: do not use PARTLABEL for msdos partition tables

  Jacob Kroon (1):
        zlib: Add patch to fix building icedtea7-native from meta-java

  Jasper Orschulko (1):
        repo: upgrade 2.22 -> 2.23

  Jiaqing Zhao (3):
        sed: Specify shell for "nobody" user in run-ptest
        base-passwd: Disable shell for default users
        strace: Don't run ptest as "nobody"

  Joerg Vehlow (1):
        go: Always pass interpreter to linker

  Jon Mason (4):
        linux-yocto: Remove unnecessary, commented out qemuarm entry
        qemuarm64: use virtio pci interfaces
        poky-tiny: enable qemuarmv5/qemuarm64 and cleanups
        poky-tiny: add a distro description

  Justin Bronder (1):
        pulseaudio: conditionally depend on alsa-plugins-pulseaudio-conf

  Kai Kang (1):
        update_udev_hwdb: fix multilib issue with systemd

  Khem Raj (28):
        webkitgtk: Add missing header locale.h
        python3: Do not detect multiarch when cross compiling
        kernel-devsrc: Check for gen_vdso_offsets.sh before copying on riscv
        babeltrace: Disable warnings as errors
        xserver-xorg: Fix build with gcc12
        systemtap: Fix build with gcc-12
        gnupg: Disable FORTIFY_SOURCES on mips
        riscv: Add tunes for rv64 without compressed instructions
        mdadm: Drop clang specific cflags
        harfbuzz: Upgrade to 4.2.0
        pango: Upgrade to 1.50.6
        pango: Drop using additional cflags with clang
        pango: Skip test-layout ptest
        go: Upgrade to 1.18
        go: Drop GOBUILDMODE
        go: Disable pie in cgo for mips
        go-target: Pass -trimpath to go linker
        seatd: Disable overflow warning as error on ppc64/musl
        gcc: Upgrade to 11.3 release
        musl: Fix build when usrmerge distro feature is enabled
        gcompat: Fix build when usrmerge distro feature is enabled
        libc-glibc: Use libxcrypt to provide virtual/crypt
        glibc: Update to latest 2.35 tip
        qemu.bbclass: Extend ppc/ppc64 extra options
        busybox: Use base_bindir instead of hardcoding /bin path
        musl-locales: Add package
        util-linux: Create u-a symlink for findfs utility
        kmod: Enable xz support by default

  Konrad Weihmann (11):
        kern-tools-native: add missing license
        gmp: add missing COPYINGv3
        itstool: add missing COPYING.GPL3
        libcap: add pam_cap license
        libsdl2: fix license
        libidn2: add Unicode-DFS-2016 license
        gettext: add MIT conditional as license
        python3-pip: correct license
        cmake: add missing licenses
        git: correct license
        ncurses: use COPYING file

  Lee Chee Yang (1):
        migration-guides: release-notes-4.0: update 'Repositories / Downloads' section

  Marius Kriegerowski (1):
        bitbake: bitbake-diffsigs: Make PEP8 compliant

  Martin Jansa (1):
        systemd-boot: remove outdated EFI_LD comment

  Matt Madison (1):
        bitbake: providers: use local variable for packages_dynamic pattern

  Michael Halstead (3):
        releases: update for yocto 4.0
        set_versions: update for 4.0 release
        releases: update to include 3.3.6

  Michael Opdenacker (5):
        meta-poky: update conf-notes.txt
        overview-manual: licensing section fixes
        manuals: correct and improve descriptions of Autotools
        manuals: refer to "YP Compatible" layers instead of "curated" ones
        migration-guides: release-notes-4.0: mention LTS release

  Naveen Saini (1):
        gstreamer1.0-plugins-bad: drop patch

  Nicolas Dechesne (2):
        migration-guides: stop including documents with ".. include"
        sanity: skip make 4.2.1 warning for debian

  Olaf Mandel (1):
        bitbake: fetch2/git: canonicalize ids in generated tarballs

  Paul Eggleton (9):
        migration-3.4: add missing entry on EXTRA_USERS_PARAMS
        ref-manual: add a note about hard-coded passwords
        ref-manual: mention wildcarding support in INCOMPATIBLE_LICENSE
        ref-manual: add mention of vendor filtering to CVE_PRODUCT
        ref-manual: add KERNEL_DEBUG_TIMESTAMPS
        ref-manual: add empty-dirs QA check and QA_EMPTY_DIRS*
        migration-guides: complete migration guide for 4.0
        migration-guides: add release notes for 4.0
        ref-manual: add ZSTD_THREADS

  Paul Gortmaker (1):
        install/devshell: Introduce git intercept script due to fakeroot issues

  Paulo Neves (1):
        selftest/lic_checksum: Add test for filename containing space

  Pavel Zhukov (1):
        bitbake: fetch2: Add GIT_SSH_COMMAND to the list of exports

  Peter Kjellerstedt (8):
        bitbake: pyinotify.py: Simplify identification of which event has occurred
        shadow: Disable the use of syslog() for the native tools
        u-boot: Correct the SRC_URI
        u-boot: Inherit pkgconfig
        bitbake: fetch2/git: Simplify the validation of SHA-1 revisions
        terminal.py: Restore error output from Terminal
        devshell.bbclass: Allow devshell & pydevshell to use the network
        license_image.bbclass: Make QA errors fail the build

  Peter Marko (1):
        openssl: extract legacy provider module to a separate package

  Pgowda (2):
        glibc: ptest: Fix glibc-tests package issue
        rust: update 1.59.0 -> 1.60.0

  Portia (2):
        volatile-binds: Change DefaultDependencies from false to no
        volatile-binds: Remove TimeoutSec and allow DefaultTimeoutSec to be used

  Quentin Schulz (15):
        docs: sphinx-static: switchers.js.in: remove duplicate for outdated versions
        docs: set_versions.py: add information about obsolescence of a release
        docs: sphinx-static: switchers.js.in: improve obsolete version detection
        docs: set_versions.py: fix latest release of a branch being shown twice in switchers.js
        docs: set_versions.py: fix latest version of an active release shown as obsolete
        docs: update Bitbake objects.inv location for master branch
        docs: set_versions.py: mark as obsolete only branches and old tags from obsolete releases
        docs: sphinx-static: switchers.js.in: rename all_versions to switcher_versions
        docs: sphinx-static: switchers.js.in: fix broken switcher for branches
        docs: sphinx-static: switchers.js.in: do not mark branches as outdated
        docs: conf.py: fix cve extlinks caption for sphinx <4.0
        docs: ref-manual: variables: add hashed password example in EXTRA_USERS_PARAMS
        docs: migration-guides: migration-3.4: mention that hardcoded password are supported if hashed
        docs: migration-guides: release-notes-4.0: fix risc-v typo
        docs: migration-guides: release-notes-4.0: replace kernel placeholder with correct recipe name

  Rahul Kumar (1):
        neard: Switch SRC_URI to git repo

  Ricardo Salveti (1):
        bitbake: fetch2/crate: fix logger.debug line

  Richard Purdie (47):
        qemu: Add fix for CVE-2022-1050
        tiff: Add marker for CVE-2022-1056 being fixed
        git: Ignore CVE-2022-24975
        Revert "adwaita-icon-theme: upgrade 41.0 -> 42.0"
        migration-guide: Kirkstone is now 4.0
        local.conf.sample: Update for 4.0 in sstate url
        externalsrc/devtool: Fix to work with fixed export funcition flags handling
        sanity: Show a warning that make 4.2.1 is buggy on non-ubuntu systems
        runqemu: Allow auto detection of the correct graphics options
        bitbake: checksum: Allow spaces in URI filenames
        bitbake: ast: Improve function flags handling for EXPORT_FUNCTIONS
        rxvt-unicode: Fix icon name
        puzzles: Drop broken icon
        build-appliance-image: Update to master head revision
        build-appliance-image: Update to master head revision
        bluez5: Add fix for startup issues under systemd
        build-appliance-image: Update to master head revision
        alsa-tools: Ensure we install correctly
        libxshmfence: Correct LICENSE to HPND
        bitbake.conf: Correct BB_SIGNATURE_EXCLUDE_FLAGS
        git: Upgrade 2.35.1 -> 2.35.2
        build-appliance-image: Update to master head revision
        buildtools-tarball: Only add cert envvars if certs are included
        buildtools: Add standalone make tarball
        poky: Use INIT_MANAGER in main distro config
        bitbake: tests/parse: Fix one test overwriting another
        bitbake: server/process: Drop unused import
        bitbake: ui/buildinfohelper: Drop unused import
        bitbake: cooker: Drop unused loop
        bitbake: msg: Drop unused local variable
        bitbake: buildinfohelper: Drop unused function
        bitbake: fetch2/crate: Drop unused import
        bitbake: siggen: Drop pointless break statement
        bitbake: ui/knotty: Drop pointless pass statement
        bitbake: persist_data: Use a valid exception for missing implementation
        bitbake: runqueue: Drop pointless variable assignment
        bitbake: buildinfohelper: Drop unused variables
        poky/meta-yocto-bsp: Post release version/codename updates
        xorg-app: Tweak handling of compression changes in SRC_URI
        ref-manual: Add XZ_THREADS and XZ_MEMLIMIT
        set_versions: Add a getlatest command to obtain the latest release branch name
        layer.conf: Post release codename changes
        base: Drop git intercept
        bitbake: fetch2/osc: Add missing parameter
        staging: Ensure we filter out ourselves
        lib/sstatesig: Fix find_siginfo to match sstate filename generation
        bitbake: runqueue: Fix sig file location when using multiconfig

  Robert Joslyn (1):
        curl: Update to 7.83.0

  Robert Yang (1):
        bitbake: fetch2/ssh.py: decode path back for ssh

  Ross Burton (12):
        zlib: upgrade to 1.2.12
        qemu: backport a patch to optionally disable i8042 (AT and PS/2) hardware
        qemux86-64: disable legacy i8042 (AT keyboard, PS/2 mouse)
        e2fsprogs: fix CVE-2022-1304
        subversion: upgrade to 1.14.2
        python3: ignore CVE-2015-20107
        bitbake.conf: mark all directories as safe for git to read
        cve_check: skip remote patches that haven't been fetched when searching for CVE tags
        cve-check: no need to depend on the fetch task
        poky.conf: set PACKAGE_CLASSES explicitly to package_rpm
        distro/poky-tiny: don't put translations into images
        musl-locales: explicitly depend on gettext-native

  Russ Dill (2):
        package.bbclass: Prevent perform_packagecopy from removing /sysroot-only
        kernel-yocto.bbclass: Fixup do_kernel_configcheck usage of KMETA

  Schmidt, Adriaan (1):
        bitbake: bitbake-diffsigs: make finding of changed signatures more robust

  Scott Murray (1):
        runqemu: Do not auto detect graphics if publicvnc is specified

  Sean Anderson (1):
        wic: Add dependencies for erofs-utils

  Simone Weiss (1):
        libgpg-error: Add ptest

  Stefan Herbrechtsmeier (1):
        recipetool: Do not use mutable default arguments in Python

  Steve Sakoman (3):
        busybox: fix CVE-2022-28391
        lua: fix CVE-2022-28805
        scripts/contrib/oe-build-perf-report-email.py: remove obsolete check for phantomjs and optipng

  Xu Huan (5):
        python3-dbusmock: upgrade 0.27.3 -> 0.27.5
        python3-pip: upgrade 22.0.3 -> 22.0.4
        python3-zipp: upgrade 3.7.0 -> 3.8.0
        python3-hypothesis: upgrade 6.39.5 -> 6.41.0
        python3-sphinx: upgrade 4.4.0 -> 4.5.0

  wangmy (34):
        freetype: upgrade 2.11.1 -> 2.12.0
        ghostscript: upgrade 9.55.0 -> 9.56.1
        libsoup: upgrade 3.0.5 -> 3.0.6
        libx11: upgrade 1.7.3.1 -> 1.7.5
        acpica: upgrade 20211217 -> 20220331
        apt: upgrade 2.4.3 -> 2.4.4
        dpkg: upgrade 1.21.4 -> 1.21.7
        fontconfig: upgrade 2.13.1 -> 2.14.0
        mc: upgrade 4.8.27 -> 4.8.28
        shared-mime-info: upgrade 2.1 -> 2.2
        strace: upgrade 5.16 -> 5.17
        sysvinit: upgrade 3.01 -> 3.02
        libbsd: upgrade 0.11.5 -> 0.11.6
        boost: upgrade 1.78.0 -> 1.79.0
        enchant2: upgrade 2.3.2 -> 2.3.3
        help2man: upgrade 1.49.1 -> 1.49.2
        json-c: upgrade 0.15 -> 0.16
        libaio: upgrade 0.3.112 -> 0.3.113
        libusb1: upgrade 1.0.25 -> 1.0.26
        libgit2: upgrade 1.4.2 -> 1.4.3
        libcap: upgrade 2.63 -> 2.64
        linux-firmware: upgrade 20220310 -> 20220411
        mtools: upgrade 4.0.38 -> 4.0.39
        libpcre2: upgrade 10.39 -> 10.40
        python3-jsonpointer: upgrade 2.2 -> 2.3
        python3-sphinx-rtd-theme: upgrade 0.5.0 -> 1.0.0
        dropbear: upgrade 2020.81 -> 2022.82
        gptfdisk: upgrade 1.0.8 -> 1.0.9
        kexec-tools: upgrade 2.0.23 -> 2.0.24
        libxcursor: upgrade 1.2.0 -> 1.2.1
        mkfontscale: upgrade 1.2.1 -> 1.2.2
        xdpyinfo: upgrade 1.3.2 -> 1.3.3
        apt: upgrade 2.4.4 -> 2.4.5
        python3-hypothesis: upgrade 6.41.0 -> 6.44.0

  zhengruoqin (7):
        createrepo-c: upgrade 0.19.0 -> 0.20.0
        expat: upgrade 2.4.7 -> 2.4.8
        ethtool: upgrade 5.16 -> 5.17
        git: upgrade 2.35.2 -> 2.35.3
        openssh: upgrade 8.9p1 -> 9.0p1
        wireless-regdb: upgrade 2022.02.18 -> 2022.04.08
        ruby: upgrade 3.1.1 -> 3.1.2

meta-openembedded: 1888971b1f..77c2fda04e:
  Alex Kiernan (2):
        audit: Upgrade 3.0.6 -> 3.0.7
        mosh: Drop perl dependencies from server

  Andreas Müller (21):
        libnma: upgrade 1.8.36 -> 1.8.38
        gnome-control-center: upgrade 41.2 -> 42.0
        gnome-flashback: upgrade 3.42.1 -> 3.44.0
        gnome-panel: upgrade 3.42.0 -> 3.44.0
        gnome-session: upgrade 41.3 -> 42.0
        gnome-shell-extensions: upgrade 41.1 -> 42.0
        gthumb: upgrade 3.12.0 -> 3.12.2
        ibus: upgrade 1.5.23+ -> 1.5.26
        libportal: upgrade 0.5 -> 0.6
        network-manager-applet: upgrade 1.24.0 -> 1.24.0
        sysprof: upgrade 3.42.1 -> 3.44.0
        gnome-shell: fix bluetooth PACKAGECONFIG
        packagegroup-gnome-desktop: replace gnome-bluetooth by gnome-bluetooth4
        gnome-bluetooth: avoid clashes with gnome-bluetooth4
        gnome-bluetooth: rename recipes to avoid suffix in future
        gnome-bluetooth: Add PACKAGECONFIG pulseaudio and filter by distro-feature
        gnome-backgrounds: upgrade 41.0 -> 42.0
        gnome-settings-daemon: upgrade 41.0 -> 42.1
        libgweather4: Fix introspection build
        gjs: Add cairo to DEPENDS unconditionally
        gnome-shell-extensions: Stop copying gnome-classic session to wayland

  Andrej Valek (1):
        poco: upgrade 1.11.1 -> 1.11.2

  Armin Kuster (1):
        meta-oe-image: fix build depends

  Bassem Boubaker (1):
        conntrack-tools: Fix missing capability

  Ben Fekih, Hichem (1):
        sdbus-c++-libsystemd: bugfix dev package is not installed

  Carlos Rafael Giani (1):
        pipewire: Upgrade to version 0.3.50

  Changqing Li (1):
        drbd-utils: fix for usrmerge

  Dmitry Baryshkov (1):
        gpsd: split python utils from gps-utils

  Hongxu Jia (1):
        cdrkit: add new option -eltorito-platform for genimageiso

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

  Jiaqing Zhao (1):
        libesmtp: Disable NTLM support by default

  KARN JYE LAU (1):
        icewm:include imlib2-loaders package

  Kai Kang (1):
        python3-blivetgui: use symbolic list-add and edit- icons

  Khem Raj (60):
        dbus-cxx: Include missing <utility> header
        safec: Upgrade to 3.7.1
        mongodb: Update to 4.4.13
        libkcapi: Upgrade to 1.4.0
        libpfm4: Remove -Werror from compiler flags
        parallel-deqp-runner: Fix build with gcc 12
        glmark2: Fix build with gcc12
        memcached: Upgrade to 1.6.15
        tvheadend: Update to latest trunk
        ot-br-posix: Disable Wsign-compare for clang
        opensaf: Fix build with gcc 12
        boost-sml: Disable examples
        mpich: Add new directory modules/hwloc/config to search path
        gnulib: Do not use git operations to install the sources
        sysprof: Fix build to work with llvm libunwind
        linuxconsole: Fix makefile issue found with clang
        mongodb: Fix aarch64 build with gcc12
        libcereal: Link libatomics with gcc as well
        wpantund: Add missing dependency on boost
        gimp: Disable vector icons on 32bit systems
        mozjs-91: Upgrade to 91.8.0
        mozjs-78: Switch to system libicu
        nodejs: Upgrade to 16.14.2
        ot-br-posix: Fix build with gcc
        dlt-daemon: Fix build on rv32/rv64
        grpc: Fix build with rv32/rv64
        ltrace: Fix build on ppc64 with gcc12
        opencv: Fix build with gcc-12 on ppc64
        mozjs-91: Disable strip
        mozjs-91: Add option to use system ICU
        sysprof: Remove libunwind on rv32
        crash: Fix build for mips target
        tcsh: Do not install symlinks into /bin with usrmerge
        arno-iptables-firewall: Do not use bitbake variable inside S
        fluentbit: Fix build with usrmerge distro feature
        tomoyo-tools: Define SBINDIR
        tomoyo-tools: Drop md5sum
        gradm: Upgrade to 3.1-202111052217
        babeld: Upgrade to 1.11
        scsirastools: Fix build with usrmerge
        dietsplash: specify install rootdir
        linux-atm: Add knob to root prefix
        ufw: Fix build with usrmerge distro feature
        netdata: Fix build errors with clang
        klibc: Recognise --dyld-prefix clang option
        mozjs: Use vendored icu on ppc/clang
        boinc-client: Do not overwrite same file when using usrmerge
        pam-ssh-agent-auth: Use specific versions of BSD licenses
        fwupd: Enable build with musl
        lirc: install systemd units only when using systemd distro feature
        fluentbit: Disable systemd support when systemd distro feature is disabled
        gtksourceview5: Allow wayland or x11
        gtkmm3: Allow wayland or x11 in distro features
        gparted: Allow wayland or x11 distro features
        lirc: Delete systemd unit files on non systemd distros
        atkmm: Allow build with wayland
        pangomm: Allow building with wayland
        lockdev: Drop cumulative debian patch
        boinc-client: Make script install not depend on host install paths
        babl: Fix build with meson 0.62+

  Leon Anavi (2):
        python3-bitstruct: Upgrade 8.13.0 -> 8.14.0
        python3-marshmallow: Upgrade 3.14.1 -> 3.15.0

  Marguet, Nicolas (1):
        openjpeg: fix CVE-2022-1122

  Mingli Yu (4):
        tgt: move from meta-openstack
        libconfig-general-perl: move from meta-openstack
        crash: Upgrade to 8.0.0
        makedumpfile: Upgrade to 1.7.1

  Oleksandr Kravchuk (4):
        htpdate: update to 1.3.3
        redis: upgrade to 7.0-rc3
        pkcs11-helper: fix PV
        python3-imgtool: update to 1.9.0

  Peter Kjellerstedt (3):
        gpsd: Only copy the Python files if they are created
        poppler: Support building for native
        gpsd: Correct the creation of the gps-utils-python package

  Preeti Sachan (1):
        gnuplot: inherit pkgconfig

  Robert Yang (1):
        libldb: Fix installed-vs-shipped and rebuild error

  Suhrid_S (1):
        clinfo: Upgrade 2.2.18.04.06 -> 3.0.21.02.21

  Trevor Gamblin (2):
        nftables: add ptest
        phoronix-test-suite: upgrade 10.8.1 -> 10.8.2

  Willy Tu (1):
        absil-cpp: Update SRC_URI to to the latest google internal sync

  Xu Huan (10):
        python3-redis: upgrade 4.2.1 -> 4.2.2
        python3-sentry-sdk: upgrade 1.5.7 -> 1.5.8
        python3-sqlalchemy: upgrade 1.4.34 -> 1.4.35
        python3-graphviz: upgrade 0.19.1 -> 0.19.2
        python3-kivy: upgrade 2.0.0 -> 2.1.0
        python3-aenum: upgrade 3.1.8 -> 3.1.11
        python3-aws-iot-device-sdk-python: upgrade 1.5.1 -> 1.5.2
        python3-cmd2: upgrade 2.4.0 -> 2.4.1
        python3-django: upgrade 2.2.27 -> 2.2.28
        python3-imageio: upgrade 2.16.1 -> 2.17.0

  Yi Zhao (6):
        frr: add recipe
        libldb: upgrade 2.3.2 -> 2.3.3
        samba: upgrade 4.14.12 -> 4.14.13
        frr: install correct initscript
        frr: add PACKAGECONFIG for fpm
        frr: inherit autotools-brokensep instead of autotools

  wangmy (51):
        nbdkit: upgrade 1.25.7 -> 1.30.2
        icewm: upgrade 2.9.0 -> 2.9.6
        lapack: upgrade 3.9.0 -> 3.10.0
        libbpf: upgrade 0.5.0 -> 0.7.0
        libmtp: upgrade 1.1.18 -> 1.1.19
        logwatch: upgrade 7.5.3 -> 7.6
        mpich: upgrade 3.4.3 -> 4.0.2
        libvpx: upgrade 1.8.2 -> 1.11.0
        linuxconsole: upgrade 1.7.0 -> 1.7.1
        mercurial: upgrade 5.5 -> 6.1
        ocl-icd: upgrade 2.3.0 -> 2.3.1
        octave: upgrade 6.4.0 -> 7.1.0
        rdma-core: upgrade 39.0 -> 40.0
        pam-plugin-ldapdb: upgrade 1.3 -> 1.3.1
        pax-utils: upgrade 1.2.2 -> 1.3.3
        pcsc-tools: upgrade 1.5.8 -> 1.6.0
        pegtl: upgrade 3.2.1 -> 3.2.5
        qpdf: upgrade 10.5.0 -> 10.6.3
        s-nail: upgrade 14.9.23 -> 14.9.24
        smcroute: upgrade 2.5.4 -> 2.5.5
        squashfs-tools-ng: upgrade 1.0.2 -> 1.1.4
        st: upgrade 0.8.4 -> 0.8.5
        tracker: upgrade 3.2.1 -> 3.3.0
        thingsboard-gateway: upgrade 2.8 -> 2.9
        thrift: upgrade 0.14.2 -> 0.16.0
        toybox: upgrade 0.8.5 -> 0.8.6
        unbound: upgrade 1.13.2 -> 1.15.0
        twm: upgrade 1.0.11 -> 1.0.12
        unixodbc: upgrade 2.3.7 -> 2.3.9
        xterm: upgrade 368 -> 372
        python3-cppy: upgrade 1.2.0 -> 1.2.1
        evince: upgrade 42.1 -> 42.2
        evolution-data-server: upgrade 3.44.0 -> 3.44.1
        gspell: upgrade 1.9.1 -> 1.10.0
        gtksourceview5: upgrade 5.4.0 -> 5.4.1
        libadwaita: upgrade 1.1.0 -> 1.1.1
        nautilus: upgrade 42.0 -> 42.1.1
        htpdate: upgrade 1.3.3 -> 1.3.4
        nanomsg: upgrade 1.1.5 -> 1.2
        nbdkit: upgrade 1.30.2 -> 1.31.1
        ctags: upgrade 5.9.20220410.0 -> 5.9.20220417.0
        hexedit: upgrade 1.5 -> 1.6
        lapack: upgrade 3.10.0 -> 3.10.1
        links: upgrade to 2.26
        lsscsi: upgrade 0.31 -> 0.32
        openwsman: upgrade 2.6.11 -> 2.7.1
        libdbd-sqlite-perl: upgrade 1.68 -> 1.70
        libencode-perl: upgrade 3.16 -> 3.17
        libextutils-cppguess-perl: upgrade 0.23 -> 0.26
        libtest-harness-perl: upgrade 3.42 -> 3.44
        ostree: upgrade 2021.6 -> 2022.2

  zhengruoqin (5):
        python3-google-api-python-client: upgrade 2.42.0 -> 2.43.0
        python3-googleapis-common-protos: upgrade 1.54.0 -> 1.56.0
        python3-nocaselist: upgrade 1.0.4 -> 1.0.5
        python3-pylint: upgrade 2.13.2 -> 2.13.5
        python3-nocasedict: upgrade 1.0.2 -> 1.0.3

meta-raspberrypi: 83f5577d8d..c97a9e34ab:
  Andrei Gherzan (20):
        raspberrypi-firmware: Update to 20220331
        linux-raspberrypi: Update 5.15 recipe to 5.15.34
        linux-raspberrypi: Update 5.10 recipe to 5.10.110
        bcm2835: Update to 1.71
        pi-blaster: Uprev the recipe
        linux-firmware-rpidistro: Update to 20210315-3+rpt4
        raspi-gpio: Uprev revision to current HEAD of master branch
        python3-rtimu: Upgrade to 7.2.1
        rpio: Upgrade to 0.10.1
        python3-adafruit-pureio: Uprade to 1.1.8
        python3-adafruit-platformdetect: Upgrade to 3.22.1
        python3-adafruit-circuitpython-register: Upgrade to 1.9.8
        rpi-basic-image: Drop image
        rpi-hwup-image: Drop image
        packagegroup-rpi-test: Include more packages
        ci: Use test builds with the test image
        docs: Drop mention of deprecated images
        docs: Bump copyright year
        rpi-base.inc: Add MCP3008 ADC overlay
        kmod: Enable xz compression

  Davide Gardenal (1):
        bluez-firmware-rpidistro: Add compatibility to oe-core/create-spdx

  Jan Vermaete (1):
        docs: link to latest documentation of kas

  Khem Raj (1):
        python3-sense-hat: Use specific BSD license

  Meng Li (1):
        u-boot: Remove the randundant patch

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Icdb885a2d340dc3c88b971c57dede6902a9708e3
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.36.bb b/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.38.bb
similarity index 91%
rename from meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.36.bb
rename to meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.38.bb
index fff7d25..75c704b 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.36.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/libnma/libnma_1.8.38.bb
@@ -10,7 +10,7 @@
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG','gcr','x11','',d)}"
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-SRC_URI[archive.sha256sum] = "d99415f4cdff642230019ec5cdd2b1fbf1ec550a8ae865219f75482a642b7b7a"
+SRC_URI[archive.sha256sum] = "5ed93eae18456ff5a8a4f408178c1ee198dc8d3a46c65f9075b101916e64e8b4"
 
 PACKAGECONFIG ?= "gcr iso_codes mobile_broadband_provider_info"
 PACKAGECONFIG[gcr] = "-Dgcr=true,-Dgcr=false,gcr"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-meson.build-address-meson-0.61-failures.patch b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-meson.build-address-meson-0.61-failures.patch
deleted file mode 100644
index 4a5cd5b..0000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-meson.build-address-meson-0.61-failures.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ab27e6e6c839e1c65e4059a06982453a7aa1b6b3 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Fri, 21 Jan 2022 22:34:09 +0100
-Subject: [PATCH] meson.build: address meson 0.61 failures
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/network-manager-applet/-/merge_requests/107]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- meson.build | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 7ab613c8..688a7311 100644
---- a/meson.build
-+++ b/meson.build
-@@ -253,7 +253,6 @@ desktop_file_validate = find_program('desktop-file-validate', required: false)
- 
- foreach desktop: desktop_files
-   i18n.merge_file(
--    desktop + '-desktop',
-     input: desktop + '.desktop.in',
-     output: desktop + '.desktop',
-     install: true,
-@@ -274,7 +273,6 @@ endforeach
- appdata = 'nm-connection-editor.appdata.xml'
- 
- i18n.merge_file(
--  'desktop',
-   input: appdata + '.in',
-   output: appdata,
-   install: true,
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.26.0.bb
similarity index 84%
rename from meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb
rename to meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.26.0.bb
index c0667b5..8046b13 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.24.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.26.0.bb
@@ -9,8 +9,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI += " file://0001-meson.build-address-meson-0.61-failures.patch"
-SRC_URI[archive.sha256sum] = "b9f4bca5d0352718e07b7385fb195a9bbc8fd686b7959b74137854d52aab9c58"
+SRC_URI[archive.sha256sum] = "69611b29064adbd57395fe3e51a9ebde1ea794615f776900453a2bbe3d8cddfd"
 
 # We don't not have ubuntu's appindicator (yet?)
 EXTRA_OEMESON = "-Dappindicator=no"
diff --git a/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.4.0.bb b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.4.0.bb
index 6f77490..dde5a02 100644
--- a/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.4.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_1.4.0.bb
@@ -3,8 +3,9 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
-inherit autotools pkgconfig python3native gnome-help gtk-icon-cache
+inherit autotools pkgconfig python3native gnome-help gtk-icon-cache features_check
 
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI = " \
     ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch
new file mode 100644
index 0000000..bb129a4
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-Do-not-run-git-rev-parse-during-configure.patch
@@ -0,0 +1,35 @@
+From 0e41b11b23c91293d1b39a8ec4cb80c68fb26ad7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 28 Apr 2022 07:35:31 -0700
+Subject: [PATCH] meson: Do not run git rev-parse during configure
+
+This option will try to deduce if babl is being built from git tree or
+release tarball, there should be a better way like checking for .git
+directory etc. instead of doing git operations needing network
+
+see
+https://gitlab.gnome.org/GNOME/babl/-/commit/2dc7fc403fe427a889913ef0cfb71de85b4326ec#note_1439732
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 7e7a935..649b456 100644
+--- a/meson.build
++++ b/meson.build
+@@ -451,7 +451,7 @@ if git_bin.found() and run_command(
+     git_bin,
+     'rev-parse',
+     '--is-inside-work-tree',
+-    check: true,
++    check: false,
+ ).returncode() == 0
+   git_version_h = vcs_tag(
+     input : 'git-version.h.in',
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch
new file mode 100644
index 0000000..111dac6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0001-meson-fix-misspelled-kwarg-name.patch
@@ -0,0 +1,36 @@
+From ebcf4795f1132c5124d73a5ae2ca5c01319e584d Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz@archlinux.org>
+Date: Sun, 13 Mar 2022 20:26:05 -0400
+Subject: [PATCH 1/2] meson: fix misspelled kwarg name
+
+set10 doesn't have a `Description` kwarg, it does have a `description`
+kwarg though.
+
+This caused the conf variable to not have a description when it should
+have one, and newer versions of Meson with better argument validation
+error out with:
+
+meson.build:58:5: ERROR: configuration_data.set10 got unknown keyword arguments "Description"
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/babl/-/commit/b05b2826365a7dbc6ca1bf0977b848055cd0cbb6]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 487e470..2623e93 100644
+--- a/meson.build
++++ b/meson.build
+@@ -55,7 +55,7 @@ lib_name    = meson.project_name() + '-' + api_version
+ stability_version_number = (major_version != 0 ? minor_version : micro_version)
+ stable = (stability_version_number % 2 == 0)
+ 
+-conf.set10('BABL_UNSTABLE', not stable, Description:
++conf.set10('BABL_UNSTABLE', not stable, description:
+   'Define to 1 if this is an unstable version of BABL.')
+ 
+ conf.set       ('BABL_MAJOR_VERSION',    '@0@'.format(major_version))
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch
new file mode 100644
index 0000000..919653b
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl/0002-meson-Various-fixes.patch
@@ -0,0 +1,132 @@
+From 06e16da32dfaad02434fd9937d298ea1ece256ce Mon Sep 17 00:00:00 2001
+From: Xavier Claessens <xavier.claessens@collabora.com>
+Date: Sat, 23 Apr 2022 10:33:17 -0400
+Subject: [PATCH 2/2] meson: Various fixes
+
+- Add missing lcms dependencies. That's needed when lcms is a subproject
+  otherwise those targets does not find its headers.
+- Add lcms2 wrap so meson can build it as subproject in case the
+  dependency is not found on system.
+- Fix couple meson warnings
+- Use meson.override_dependency() so babl can be used as subproject
+  without hardcoding "babl_dep" variable name in main project.
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/babl/-/commit/2dc7fc403fe427a889913ef0cfb71de85b4326ec]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ babl/meson.build       |  4 +++-
+ extensions/meson.build |  1 +
+ meson.build            |  4 +++-
+ subprojects/lcms2.wrap | 12 ++++++++++++
+ tests/meson.build      |  2 +-
+ tools/meson.build      |  2 +-
+ 6 files changed, 21 insertions(+), 4 deletions(-)
+ create mode 100644 subprojects/lcms2.wrap
+
+diff --git a/babl/meson.build b/babl/meson.build
+index d432dca..70fb131 100644
+--- a/babl/meson.build
++++ b/babl/meson.build
+@@ -138,7 +138,7 @@ babl = library(
+   link_args: babl_link_args,
+   link_with: simd_extra,
+   dependencies: babl_deps,
+-  link_depends: version_script,
++  link_depends: version_script[0],
+   version: so_version,
+   install: true,
+ )
+@@ -165,4 +165,6 @@ if build_gir
+       install: true,
+     )
+   endif
++else
++  babl_gir = []
+ endif
+diff --git a/extensions/meson.build b/extensions/meson.build
+index 23672bb..9935f29 100644
+--- a/extensions/meson.build
++++ b/extensions/meson.build
+@@ -6,6 +6,7 @@ no_cflags = []
+ babl_ext_dep = [
+   math,
+   thread,
++  lcms,
+ ]
+ 
+ # Include directories
+diff --git a/meson.build b/meson.build
+index 2623e93..7e7a935 100644
+--- a/meson.build
++++ b/meson.build
+@@ -451,6 +451,7 @@ if git_bin.found() and run_command(
+     git_bin,
+     'rev-parse',
+     '--is-inside-work-tree',
++    check: true,
+ ).returncode() == 0
+   git_version_h = vcs_tag(
+     input : 'git-version.h.in',
+@@ -531,13 +532,14 @@ babl_dep = declare_dependency(
+   link_with : babl,
+   sources: [
+     babl_version_h,
+-    is_variable('babl_gir') ? babl_gir : []
++    build_gir ? babl_gir : []
+   ],
+   variables: {
+     'babl_path'   : babl_extensions_build_dir,
+     'babl_libdir' : babl_library_build_dir,
+   },
+ )
++meson.override_dependency('babl', babl_dep)
+ 
+ ################################################################################
+ # Build summary
+diff --git a/subprojects/lcms2.wrap b/subprojects/lcms2.wrap
+new file mode 100644
+index 0000000..2cc69df
+--- /dev/null
++++ b/subprojects/lcms2.wrap
+@@ -0,0 +1,12 @@
++[wrap-file]
++directory = Little-CMS-2.12
++source_url = https://github.com/mm2/Little-CMS/archive/refs/tags/2.12.tar.gz
++source_filename = lcms2-2.12.tar.gz
++source_hash = e501f1482fc424550ef3abbf86bf1c66090e1661249e89552d39ed5bf935df66
++patch_filename = lcms2_2.12-2_patch.zip
++patch_url = https://wrapdb.mesonbuild.com/v2/lcms2_2.12-2/get_patch
++patch_hash = 3ac6944ac4b8d8507b85961d98cb287532945183d0e8f094c77810e793b6bebe
++
++[provide]
++lcms2 = liblcms2_dep
++
+diff --git a/tests/meson.build b/tests/meson.build
+index eee8895..7c67e70 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -42,7 +42,7 @@ foreach test_name : test_names
+     test_name + '.c',
+     include_directories: [rootInclude, bablInclude],
+     link_with: babl,
+-    dependencies: thread,
++    dependencies: [thread, lcms],
+     export_dynamic: true,
+     install: false,
+   )
+diff --git a/tools/meson.build b/tools/meson.build
+index 2719335..89ccf40 100644
+--- a/tools/meson.build
++++ b/tools/meson.build
+@@ -18,7 +18,7 @@ foreach tool_name : tool_names
+     tool_name + '.c',
+     include_directories: [rootInclude, bablInclude],
+     link_with: babl,
+-    dependencies: [math, thread],
++    dependencies: [math, thread, lcms],
+     install: false,
+   )
+ 
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb
index 156c91b..f2e11c1 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/babl/babl_0.1.92.bb
@@ -14,7 +14,11 @@
 CFLAGS:append:toolchain-clang:mipsarch = " -ffp-exception-behavior=ignore "
 CFLAGS:append:toolchain-clang:riscv64 = " -ffp-exception-behavior=ignore "
 
-SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz"
+SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz \
+           file://0001-meson-fix-misspelled-kwarg-name.patch \
+           file://0002-meson-Various-fixes.patch \
+           file://0001-meson-Do-not-run-git-rev-parse-during-configure.patch \
+"
 SRC_URI[sha256sum] = "f667735028944b6375ad18f160a64ceb93f5c7dccaa9d8751de359777488a2c1"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.30.bb b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.30.bb
index 1155e0e..a73de1e 100644
--- a/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.30.bb
+++ b/meta-openembedded/meta-gnome/recipes-gimp/gimp/gimp_2.10.30.bb
@@ -51,11 +51,7 @@
                 --disable-check-update \
                 --without-wmf"
 
-EXTRA_OECONF:append:toolchain-clang:arm = " --disable-vector-icons"
-EXTRA_OECONF:append:toolchain-clang:riscv32 = " --disable-vector-icons"
-EXTRA_OECONF:append:toolchain-clang:mips = " --disable-vector-icons"
-EXTRA_OECONF:append:toolchain-clang:x86 = " --disable-vector-icons"
-EXTRA_OECONF:append:powerpc = " --disable-vector-icons"
+EXTRA_OECONF += "${@oe.utils.conditional('SITEINFO_BITS', '32', ' --disable-vector-icons', '', d)}"
 
 do_configure:append() {
     find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.2.bb
similarity index 92%
rename from meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.2.bb
index 2e22f2e..af6d74c 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_42.2.bb
@@ -24,7 +24,7 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "b24767bb3d5103b4e35b0e15cf033dbe2488f88700cdd882d22a43adeec2e80a"
+SRC_URI[archive.sha256sum] = "ff7f81f308cf8d4956ed97fb724a7e49448c214beeab998812ef9efbb38df8ae"
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
index 81b0291..8f5f6de 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc
@@ -9,5 +9,5 @@
 
 inherit gnomebase upstream-version-is-even
 
-SRC_URI[archive.sha256sum] = "0d8881b5c51e1b91761b1945db264a46aabf54a73eea1ca8f448b207815d582e"
-PV = "3.44.0"
+SRC_URI[archive.sha256sum] = "6e05a90204a276f99d932097f1032cc17dd1d8e265c7c56727c63240fd4c0ccf"
+PV = "3.44.1"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.0.bb
index 9e6fc45..95e4bd5 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gjs/gjs_1.72.0.bb
@@ -4,7 +4,7 @@
 
 GNOMEBASEBUILDCLASS = "meson"
 
-DEPENDS = "mozjs-91"
+DEPENDS = "mozjs-91 cairo"
 
 inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb
deleted file mode 100644
index 289cc9e..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "GNOME wallpapers"
-LICENSE = "GPL-2.0-only & CC-BY-2.0 & CC-BY-SA-2.0 & CC-BY-SA-3.0"
-LIC_FILES_CHKSUM = " \
-    file://COPYING;md5=75859989545e37968a99b631ef42722e \
-    file://COPYING_CCBY2;md5=effd72660912b727dfa9722cb295d7be \
-    file://COPYING_CCBYSA2;md5=4737b7833b3212fdf30257f056ef3e64 \
-    file://COPYING_CCBYSA3;md5=b52fb0a6df395efb7047cb6fc56bfd7e \
-"
-
-SECTION = "x11/gnome"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gettext allarch
-
-SRC_URI[archive.sha256sum] = "1da1ac0d261bedf0fcd2c85b480bc65505e23cf51f1143126c0d37717e693145"
-
-FILES:${PN} += " \
-    ${datadir}/backgrounds \
-    ${datadir}/gnome-background-properties \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_42.0.bb
new file mode 100644
index 0000000..d700c1b
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_42.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "GNOME wallpapers"
+LICENSE = "CC-BY-SA-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b52fb0a6df395efb7047cb6fc56bfd7e"
+
+SECTION = "x11/gnome"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext allarch
+
+SRC_URI[archive.sha256sum] = "4c7fe1a09f459c5f77189a5982524fce05d888944955d679910f234606c1295d"
+
+FILES:${PN} += " \
+    ${datadir}/backgrounds \
+    ${datadir}/gnome-background-properties \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0001-build-Fix-build-for-newer-versions-of-meson.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3/0001-build-Fix-build-for-newer-versions-of-meson.patch
similarity index 100%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth/0001-build-Fix-build-for-newer-versions-of-meson.patch
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3/0001-build-Fix-build-for-newer-versions-of-meson.patch
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
similarity index 70%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
index 57fe744..e2a885b 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
@@ -8,6 +8,9 @@
 
 DEPENDS = "udev gtk+3 libnotify libcanberra bluez5"
 
+GNOMEBN = "gnome-bluetooth"
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
 GNOMEBASEBUILDCLASS = "meson"
 GTKDOC_MESON_OPTION = "gtk_doc"
 
@@ -22,4 +25,16 @@
 SRC_URI[archive.md5sum] = "d83faa54abaf64bb40b5313bc233e74e"
 SRC_URI[archive.sha256sum] = "6c949e52c8becc2054daacd604901f66ce5cf709a5fa91c4bb7cacc939b53ea9"
 
+# avoid clashes with gnome-bluetooth
+do_install:append() {
+    # just bluetooth-sendto / bluetooth-sendto.desktop only
+    rm -rf ${D}${bindir}
+    rm -rf ${D}${datadir}/applications
+}
+
+FILES:${PN} += "${datadir}/gnome-bluetooth"
+
+# offer alternate bluetooth-sendto
+RRECOMMENS:${PN} += "gnome-bluetooth"
+
 RDEPENDS:${PN} += "bluez5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth4_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.0.bb
similarity index 68%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth4_42.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.0.bb
index 3fe2c35..36fe9cf 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth4_42.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.0.bb
@@ -18,9 +18,6 @@
     libadwaita \
 "
 
-GNOMEBN = "gnome-bluetooth"
-S = "${WORKDIR}/${GNOMEBN}-${PV}"
-
 GNOMEBASEBUILDCLASS = "meson"
 GTKDOC_MESON_OPTION = "gtk_doc"
 GTKIC_VERSION = "4"
@@ -31,6 +28,17 @@
 
 SRC_URI[archive.sha256sum] = "3d1e2720673bc9a242619dc5d231fd6e776c18a49da29f43cdc433055adb0170"
 
-RDEPENDS:${PN} += "bluez5"
+BT_PULSE_PACKS = " \
+    pulseaudio-lib-bluez5-util \
+    pulseaudio-module-bluetooth-discover \
+    pulseaudio-module-bluetooth-policy \
+    pulseaudio-module-bluez5-device \
+    pulseaudio-module-bluez5-discover \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
+PACKAGECONFIG[pulseaudio] = ",,,${BT_PULSE_PACKS}"
 
 FILES:${PN} += "${datadir}/gnome-bluetooth-3.0"
+
+RDEPENDS:${PN} += "bluez5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch
index 8170f51..768ba54 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch
@@ -19,19 +19,19 @@
  2 files changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/meson_options.txt b/meson_options.txt
-index a347168..2cd8121 100644
+index dbca723..af0f871 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -1,3 +1,4 @@
 +option('oe_sysroot', type: 'string', value: '', description: 'Directory for OE-sysroot')
- option('cheese', type: 'boolean', value: true, description: 'build with cheese webcam support')
  option('documentation', type: 'boolean', value: false, description: 'build documentation')
  option('ibus', type: 'boolean', value: true, description: 'build with IBus support')
+ option('privileged_group', type: 'string', value: 'wheel', description: 'name of group that has elevated permissions')
 diff --git a/panels/background/meson.build b/panels/background/meson.build
-index bb34b69..f22722e 100644
+index 3634c47..459ccfe 100644
 --- a/panels/background/meson.build
 +++ b/panels/background/meson.build
-@@ -36,7 +36,7 @@ common_sources = []
+@@ -25,7 +25,7 @@ common_sources = []
  
  enums = 'gdesktop-enums-types'
  enums_header = files(
@@ -41,5 +41,5 @@
  )
  
 -- 
-2.20.1
+2.34.1
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-meson-drop-unused-argument-for-i18n.merge_file.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-meson-drop-unused-argument-for-i18n.merge_file.patch
deleted file mode 100644
index 7a1180e..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-meson-drop-unused-argument-for-i18n.merge_file.patch
+++ /dev/null
@@ -1,504 +0,0 @@
-From 90715329c277f21537eb5af86d8f222c4a2abd24 Mon Sep 17 00:00:00 2001
-From: Jan Beich <jbeich@FreeBSD.org>
-Date: Fri, 7 Jan 2022 01:53:52 +0000
-Subject: [PATCH] meson: drop unused argument for i18n.merge_file()
-
-Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
-
-panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments.
-panels/background/meson.build:10:5: ERROR: Function does not take positional arguments.
-panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments.
-[...]
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- panels/applications/meson.build                   | 1 -
- panels/background/meson.build                     | 1 -
- panels/bluetooth/meson.build                      | 1 -
- panels/camera/meson.build                         | 1 -
- panels/color/meson.build                          | 1 -
- panels/datetime/meson.build                       | 2 --
- panels/default-apps/meson.build                   | 1 -
- panels/diagnostics/meson.build                    | 1 -
- panels/display/meson.build                        | 1 -
- panels/info-overview/meson.build                  | 1 -
- panels/keyboard/meson.build                       | 2 --
- panels/location/meson.build                       | 1 -
- panels/lock/meson.build                           | 1 -
- panels/microphone/meson.build                     | 1 -
- panels/mouse/meson.build                          | 1 -
- panels/multitasking/meson.build                   | 1 -
- panels/network/meson.build                        | 1 -
- panels/notifications/meson.build                  | 1 -
- panels/online-accounts/meson.build                | 1 -
- panels/power/meson.build                          | 1 -
- panels/printers/meson.build                       | 1 -
- panels/region/meson.build                         | 1 -
- panels/removable-media/meson.build                | 1 -
- panels/search/meson.build                         | 1 -
- panels/sharing/meson.build                        | 2 --
- panels/sound/meson.build                          | 1 -
- panels/thunderbolt/meson.build                    | 1 -
- panels/universal-access/meson.build               | 1 -
- panels/usage/meson.build                          | 1 -
- panels/user-accounts/meson.build                  | 2 --
- panels/wacom/meson.build                          | 1 -
- panels/wwan/meson.build                           | 1 -
- shell/appdata/meson.build                         | 1 -
- shell/meson.build                                 | 1 -
- tests/interactive-panels/applications/meson.build | 1 -
- 35 files changed, 39 deletions(-)
-
-diff --git a/panels/applications/meson.build b/panels/applications/meson.build
-index d511bf6..bd4fd64 100644
---- a/panels/applications/meson.build
-+++ b/panels/applications/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--       desktop,
-          type : 'desktop',
-         input : desktop_in,
-        output : desktop,
-diff --git a/panels/background/meson.build b/panels/background/meson.build
-index 730cf54..1f231b9 100644
---- a/panels/background/meson.build
-+++ b/panels/background/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/bluetooth/meson.build b/panels/bluetooth/meson.build
-index c3fce74..4bed812 100644
---- a/panels/bluetooth/meson.build
-+++ b/panels/bluetooth/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/camera/meson.build b/panels/camera/meson.build
-index 4f26118..bf2e727 100644
---- a/panels/camera/meson.build
-+++ b/panels/camera/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/color/meson.build b/panels/color/meson.build
-index 742caf6..bb038cd 100644
---- a/panels/color/meson.build
-+++ b/panels/color/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/datetime/meson.build b/panels/datetime/meson.build
-index 6568394..9bbdc7c 100644
---- a/panels/datetime/meson.build
-+++ b/panels/datetime/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-@@ -20,7 +19,6 @@ i18n.merge_file(
- polkit = 'org.gnome.controlcenter.@0@.policy'.format(cappletname)
- 
- i18n.merge_file(
--  polkit,
-   input: polkit + '.in',
-   output: polkit,
-   po_dir: po_dir,
-diff --git a/panels/default-apps/meson.build b/panels/default-apps/meson.build
-index 6855006..2a24321 100644
---- a/panels/default-apps/meson.build
-+++ b/panels/default-apps/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/diagnostics/meson.build b/panels/diagnostics/meson.build
-index fac9b4c..2f25c21 100644
---- a/panels/diagnostics/meson.build
-+++ b/panels/diagnostics/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/display/meson.build b/panels/display/meson.build
-index 12f35cc..57bdfcf 100644
---- a/panels/display/meson.build
-+++ b/panels/display/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/info-overview/meson.build b/panels/info-overview/meson.build
-index 2fe10b3..aa81c48 100644
---- a/panels/info-overview/meson.build
-+++ b/panels/info-overview/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/keyboard/meson.build b/panels/keyboard/meson.build
-index a2ae026..ae71c94 100644
---- a/panels/keyboard/meson.build
-+++ b/panels/keyboard/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-@@ -45,7 +44,6 @@ xml_files = [
- 
- foreach file: xml_files
-   i18n.merge_file(
--    file,
-     input: file + '.in',
-     output: file,
-     po_dir: po_dir,
-diff --git a/panels/location/meson.build b/panels/location/meson.build
-index bfc6e82..f4c835d 100644
---- a/panels/location/meson.build
-+++ b/panels/location/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/lock/meson.build b/panels/lock/meson.build
-index 0661af4..18dbfb2 100644
---- a/panels/lock/meson.build
-+++ b/panels/lock/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/microphone/meson.build b/panels/microphone/meson.build
-index e0847a4..bc7f73a 100644
---- a/panels/microphone/meson.build
-+++ b/panels/microphone/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/mouse/meson.build b/panels/mouse/meson.build
-index 357aaae..7b46097 100644
---- a/panels/mouse/meson.build
-+++ b/panels/mouse/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/multitasking/meson.build b/panels/multitasking/meson.build
-index 772b638..53fd0d8 100644
---- a/panels/multitasking/meson.build
-+++ b/panels/multitasking/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/network/meson.build b/panels/network/meson.build
-index d7cd6e4..43a5690 100644
---- a/panels/network/meson.build
-+++ b/panels/network/meson.build
-@@ -25,7 +25,6 @@ foreach name: panel_names
-   )
- 
-   i18n.merge_file(
--    desktop,
-     type: 'desktop',
-     input: desktop_in,
-     output: desktop,
-diff --git a/panels/notifications/meson.build b/panels/notifications/meson.build
-index df70261..1b04b24 100644
---- a/panels/notifications/meson.build
-+++ b/panels/notifications/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/online-accounts/meson.build b/panels/online-accounts/meson.build
-index 82f1d56..6870977 100644
---- a/panels/online-accounts/meson.build
-+++ b/panels/online-accounts/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/power/meson.build b/panels/power/meson.build
-index 0e3ea1d..1cafe2a 100644
---- a/panels/power/meson.build
-+++ b/panels/power/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/printers/meson.build b/panels/printers/meson.build
-index ccce64c..042c67a 100644
---- a/panels/printers/meson.build
-+++ b/panels/printers/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/region/meson.build b/panels/region/meson.build
-index 68b7f00..27bc5ff 100644
---- a/panels/region/meson.build
-+++ b/panels/region/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/removable-media/meson.build b/panels/removable-media/meson.build
-index b51799a..fc07c48 100644
---- a/panels/removable-media/meson.build
-+++ b/panels/removable-media/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/search/meson.build b/panels/search/meson.build
-index 39b076b..a4dd79d 100644
---- a/panels/search/meson.build
-+++ b/panels/search/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/sharing/meson.build b/panels/sharing/meson.build
-index b3803bc..49dbb06 100644
---- a/panels/sharing/meson.build
-+++ b/panels/sharing/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-@@ -29,7 +28,6 @@ polkit_in = configure_file(
- )
- 
- i18n.merge_file(
--  polkit,
-   input: polkit_in,
-   output: polkit,
-   po_dir: po_dir,
-diff --git a/panels/sound/meson.build b/panels/sound/meson.build
-index fa0f128..18f75dd 100644
---- a/panels/sound/meson.build
-+++ b/panels/sound/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/thunderbolt/meson.build b/panels/thunderbolt/meson.build
-index 53aa9b4..38ef294 100644
---- a/panels/thunderbolt/meson.build
-+++ b/panels/thunderbolt/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/universal-access/meson.build b/panels/universal-access/meson.build
-index 5e225fe..d845e70 100644
---- a/panels/universal-access/meson.build
-+++ b/panels/universal-access/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/usage/meson.build b/panels/usage/meson.build
-index 74f720e..6047ce0 100644
---- a/panels/usage/meson.build
-+++ b/panels/usage/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-diff --git a/panels/user-accounts/meson.build b/panels/user-accounts/meson.build
-index b8ee9d9..fa56aae 100644
---- a/panels/user-accounts/meson.build
-+++ b/panels/user-accounts/meson.build
-@@ -8,7 +8,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--  desktop,
-   type: 'desktop',
-   input: desktop_in,
-   output: desktop,
-@@ -85,7 +84,6 @@ meson.add_install_script('sh', '-c',
- polkit = 'org.gnome.controlcenter.@0@.policy'.format(cappletname)
- 
- i18n.merge_file(
--  polkit,
-   input: polkit + '.in',
-   output: polkit,
-   po_dir: po_dir,
-diff --git a/panels/wacom/meson.build b/panels/wacom/meson.build
-index 5f62220..88a9137 100644
---- a/panels/wacom/meson.build
-+++ b/panels/wacom/meson.build
-@@ -30,7 +30,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--       desktop,
-          type : 'desktop',
-         input : desktop_in,
-        output : desktop,
-diff --git a/panels/wwan/meson.build b/panels/wwan/meson.build
-index 8c1b02f..2ab238a 100644
---- a/panels/wwan/meson.build
-+++ b/panels/wwan/meson.build
-@@ -11,7 +11,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--       desktop,
-          type : 'desktop',
-         input : desktop_in,
-        output : desktop,
-diff --git a/shell/appdata/meson.build b/shell/appdata/meson.build
-index 3b36171..fdb8279 100644
---- a/shell/appdata/meson.build
-+++ b/shell/appdata/meson.build
-@@ -1,7 +1,6 @@
- appdata = 'gnome-control-center.appdata.xml'
- 
- i18n.merge_file(
--  appdata,
-   input: appdata + '.in',
-   output: appdata,
-   po_dir: po_dir,
-diff --git a/shell/meson.build b/shell/meson.build
-index 89b9659..4667804 100644
---- a/shell/meson.build
-+++ b/shell/meson.build
-@@ -23,7 +23,6 @@ desktop_in = configure_file(
- )
- 
- i18n.merge_file(
--       desktop,
-          type : 'desktop',
-         input : desktop_in,
-        output : desktop,
-diff --git a/tests/interactive-panels/applications/meson.build b/tests/interactive-panels/applications/meson.build
-index 2657f95..82eed4d 100644
---- a/tests/interactive-panels/applications/meson.build
-+++ b/tests/interactive-panels/applications/meson.build
-@@ -12,7 +12,6 @@ desktop_files = [
- 
- foreach desktop_file : desktop_files
-   i18n.merge_file(
--              desktop,
-                 type : 'desktop',
-                input : 'gtp-@0@.desktop.in'.format(desktop_file),
-               output : 'gnome-@0@-panel.desktop'.format(desktop_file),
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_41.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_42.0.bb
similarity index 84%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_41.2.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_42.0.bb
index 1cdc96b..6fe999a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_41.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_42.0.bb
@@ -26,23 +26,20 @@
     libgtop \
     gsound \
     libpwquality \
-    libhandy \
+    libadwaita \
 "
 
 REQUIRED_DISTRO_FEATURES += "polkit pulseaudio systemd x11"
 
-SRC_URI[archive.sha256sum] = "8271fc6b33ec2418a578304dd3e57d665f0d7cc706a99a97be419848618fe248"
+SRC_URI[archive.sha256sum] = "0732efa7c4171ce0a0ed4106580b4ce35a57b10152c0ea36d239134913777eda"
 SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch"
-SRC_URI += "  file://0001-meson-drop-unused-argument-for-i18n.merge_file.patch"
 
 PACKAGECONFIG ??= "ibus ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
 PACKAGECONFIG[ibus] = "-Dibus=true, -Dibus=false, ibus"
 PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false, wayland"
 
-# Once we have (lib)cheese we can make cheese a PACKAGECONFIG
 EXTRA_OEMESON = " \
     -Doe_sysroot=${STAGING_DIR_HOST} \
-    -Dcheese=false \
 "
 
 do_install:append() {
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.44.0.bb
similarity index 83%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.42.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.44.0.bb
index 13a68e3..1e357af 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.44.0.bb
@@ -14,11 +14,11 @@
     metacity \
     gdm \
     gnome-desktop \
-    gnome-bluetooth \
+    gnome-bluetooth3 \
     gnome-panel \
 "
 
-SRC_URI[archive.sha256sum] = "c8029220acf268c520dbb0750834b2ef4df868324d0e0fb6a80354c80ba8844e"
+SRC_URI[archive.sha256sum] = "1df0838127c6246eecd89d1c50ff88fc82abf6de3b3068e52dde495a42bd550a"
 
 do_install:append() {
     # no oe-layer has compiz -> remove dead session
@@ -27,6 +27,7 @@
 
 FILES:${PN} += " \
     ${datadir}/desktop-directories \
+    ${datadir}/gnome-control-center \
     ${datadir}/gnome-panel \
     ${datadir}/gnome-session \
     ${datadir}/xsessions \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.44.0.bb
similarity index 82%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.42.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.44.0.bb
index 2bcf145..67bdf58 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.42.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.44.0.bb
@@ -11,13 +11,13 @@
     libwnck3 \
     polkit \
     dconf \
-    libgweather \
+    libgweather4 \
     gnome-menus \
     gnome-desktop \
     gdm \
 "
 
-SRC_URI[archive.sha256sum] = "aea8c0efc2edba20e97ad4695179cd0a2538e64c2904702cc8c594e8e0898703"
+SRC_URI[archive.sha256sum] = "99655f75d031876c130ed23c4da22c099e7bcc4048b0255a3c3a3bbc787b31aa"
 
 PACKAGECONFIG[eds] = "--enable-eds,--disable-eds,evolution-data-server"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_41.3.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_42.0.bb
similarity index 91%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_41.3.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_42.0.bb
index 07f3634..9407c25 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_41.3.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-session/gnome-session_42.0.bb
@@ -22,7 +22,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
 
-SRC_URI[archive.sha256sum] = "ee4a229053f522624054889609335b885287cf67bbde0dc9fd882b01ec9b5b39"
+SRC_URI[archive.sha256sum] = "3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit',d)}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon/0001-build-remove-positional-i18n.merge_file-arguments.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon/0001-build-remove-positional-i18n.merge_file-arguments.patch
deleted file mode 100644
index cb758c7..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon/0001-build-remove-positional-i18n.merge_file-arguments.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 56535d2f1ec64e847e5fbd0613e78bd0dc046519 Mon Sep 17 00:00:00 2001
-From: Michal Vasilek <michal@vasilek.cz>
-Date: Fri, 14 Jan 2022 23:55:06 +0100
-Subject: [PATCH] build: remove positional i18n.merge_file arguments
-
-otherwise building with meson 0.61+ fails:
-
-    ERROR: Function does not take positional arguments.
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/281]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- plugins/power/meson.build | 1 -
- plugins/wacom/meson.build | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/plugins/power/meson.build b/plugins/power/meson.build
-index 69e619f..014bb6d 100644
---- a/plugins/power/meson.build
-+++ b/plugins/power/meson.build
-@@ -76,7 +76,6 @@ if host_is_linux
-   )
- 
-   i18n.merge_file(
--    policy,
-     input: policy_in,
-     output: policy,
-     po_dir: po_dir,
-diff --git a/plugins/wacom/meson.build b/plugins/wacom/meson.build
-index d8dd0ec..c00323d 100644
---- a/plugins/wacom/meson.build
-+++ b/plugins/wacom/meson.build
-@@ -7,7 +7,6 @@ policy_in = configure_file(
- )
- 
- i18n.merge_file(
--  policy,
-   input: policy_in,
-   output: policy,
-   po_dir: po_dir,
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_42.1.bb
similarity index 82%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_42.1.bb
index cbc4c46..3d5913a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_42.1.bb
@@ -11,7 +11,7 @@
     geocode-glib \
     gcr \
     gnome-desktop \
-    libgweather \
+    libgweather4 \
     lcms \
     libcanberra \
     geoclue \
@@ -25,8 +25,7 @@
 REQUIRED_DISTRO_FEATURES = "x11 polkit pulseaudio systemd gobject-introspection-data"
 GIR_MESON_OPTION = ""
 
-SRC_URI += " file://0001-build-remove-positional-i18n.merge_file-arguments.patch"
-SRC_URI[archive.sha256sum] = "e6ca6361fbd1deab2de1a1e390d4f14167cf47b1c547dbb8b65a5d89e9663884"
+SRC_URI[archive.sha256sum] = "ed65851ae54adcd58a24c86837d624fc6a14bd84ab22e94df40a3a4cfd19ffdb"
 
 PACKAGECONFIG ??= " \
     cups nm \
@@ -43,5 +42,5 @@
 
 FILES:${PN} += " \
     ${systemd_user_unitdir} \
-    ${libdir}/gnome-settings-daemon-41/libgsd.so \
+    ${libdir}/gnome-settings-daemon-42/libgsd.so \
 "
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions/0001-meson-Drop-unused-argument-for-i18n.merge_file.patch b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions/0001-meson-Drop-unused-argument-for-i18n.merge_file.patch
deleted file mode 100644
index df8fe0e..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions/0001-meson-Drop-unused-argument-for-i18n.merge_file.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From cdaa837d48894737ca0b4e7d2dfb365119e53759 Mon Sep 17 00:00:00 2001
-From: Jan Beich <jbeich@FreeBSD.org>
-Date: Tue, 25 Jan 2022 11:49:54 +0000
-Subject: [PATCH] meson: Drop unused argument for i18n.merge_file()
-
-Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
-
-data/meson.build:23:0: ERROR: Function does not take positional arguments.
-
-Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/210>
-
-Upstream-Status: Backport[https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/commit/cdaa837d48894737ca0b4e7d2dfb365119e53759]
----
- data/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/meson.build b/data/meson.build
-index 27f4287..a4bcd5e 100644
---- a/data/meson.build
-+++ b/data/meson.build
-@@ -1,5 +1,5 @@
- session_desktop = 'gnome-classic.desktop'
--i18n.merge_file('',
-+i18n.merge_file(
-   input:  session_desktop + '.in',
-   output: session_desktop,
-   po_dir: '../po',
--- 
-2.34.1
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_41.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_41.1.bb
deleted file mode 100644
index f51ca9f..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_41.1.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "GNOME Shell Extensions"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4cb3a392cbf81a9e685ec13b88c4c101"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gettext gsettings features_check
-
-REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
-
-SRC_URI[archive.sha256sum] = "d0e6f2273f08d52d925fc2bb66b47b28e5ef50d1b8a14020877c662423d507d3"
-SRC_URI += "file://0001-meson-Drop-unused-argument-for-i18n.merge_file.patch"
-
-DEPENDS += " \
-    sassc-native \
-"
-
-EXTRA_OEMESON += " \
-    -Dextension_set=all \
-    -Dclassic_mode=true \
-"
-
-do_install:append() {
-    # enable gnome-classic session for wayland
-    install -d ${D}${datadir}/wayland-sessions
-    install -m644 ${D}${datadir}/xsessions/gnome-classic.desktop ${D}${datadir}/wayland-sessions/
-}
-
-RDEPENDS:${PN} += "gnome-shell"
-
-FILES:${PN} += " \
-    ${datadir}/gnome-shell \
-    ${datadir}/gnome-session \
-    ${datadir}/wayland-sessions \
-    ${datadir}/xsessions \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_42.0.bb
new file mode 100644
index 0000000..e8c95d6
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_42.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "GNOME Shell Extensions"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4cb3a392cbf81a9e685ec13b88c4c101"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext gsettings features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data"
+
+SRC_URI[archive.sha256sum] = "3ee65b75b1afd8bcca0a2a03da9b2884787ed40e257a881d9aa6ef7c8727602f"
+
+DEPENDS += " \
+    sassc-native \
+"
+
+EXTRA_OEMESON += " \
+    -Dextension_set=all \
+    -Dclassic_mode=true \
+"
+
+RDEPENDS:${PN} += "gnome-shell"
+
+FILES:${PN} += " \
+    ${datadir}/gnome-shell \
+    ${datadir}/gnome-session \
+    ${datadir}/wayland-sessions \
+    ${datadir}/xsessions \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.10.0.bb
similarity index 75%
rename from meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.10.0.bb
index 15f1cad..fe1b3ea 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gspell/gspell_1.10.0.bb
@@ -7,4 +7,4 @@
 
 inherit gnomebase gettext gobject-introspection vala
 
-SRC_URI[archive.sha256sum] = "dcbb769dfdde8e3c0a8ed3102ce7e661abbf7ddf85df08b29915e92cd723abdd"
+SRC_URI[archive.sha256sum] = "803bb884c0215d3fd22a85d7f30423aff88d9792f05a5199d8a489a2ffaae1da"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb/0001-LINGUAS-removed-duplicated-entry.patch b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb/0001-LINGUAS-removed-duplicated-entry.patch
deleted file mode 100644
index b50b175..0000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb/0001-LINGUAS-removed-duplicated-entry.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From f3d399892e59a2e850be1d0de30c429417c78360 Mon Sep 17 00:00:00 2001
-From: Paolo Bacchilega <paobac@src.gnome.org>
-Date: Tue, 11 Jan 2022 12:30:44 +0100
-Subject: [PATCH] LINGUAS: removed duplicated entry
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- help/LINGUAS | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/help/LINGUAS b/help/LINGUAS
-index 0e8a52d..fa1fc3e 100644
---- a/help/LINGUAS
-+++ b/help/LINGUAS
-@@ -8,7 +8,6 @@ eu
- fr
- hu
- id
--id
- nl
- oc
- sl
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb
similarity index 78%
rename from meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb
index 1459e0b..0c5b71f 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.2.bb
@@ -26,7 +26,6 @@
 
 inherit features_check gnomebase gnome-help gsettings itstool mime-xdg
 
-SRC_URI += " file://0001-LINGUAS-removed-duplicated-entry.patch"
-SRC_URI[archive.sha256sum] = "3deffc030384e64b57361c437c79b481ae1489ef44c87ae856e81bb10d8e383f"
+SRC_URI[archive.sha256sum] = "97f8afe522535216541ebbf1e3b546d12a6beb38a8f0eb85f26e676934aad425"
 
 FILES:${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.1.bb
similarity index 84%
rename from meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.1.bb
index 51ff4c8..f667238 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.4.1.bb
@@ -22,10 +22,10 @@
 
 inherit gnomebase lib_package gettext features_check gtk-doc gtk-icon-cache gobject-introspection vala
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI = "https://download.gnome.org/sources/gtksourceview/5.4/${PNAME}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "003bc217e670a8ec8aa3aece994b70e70b7d6b8074938adda21718555d84e637"
+SRC_URI[sha256sum] = "eb3584099cfa0adc9a0b1ede08def6320bd099e79e74a2d0aefb4057cd93d68e"
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.1.bb
similarity index 85%
rename from meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.1.bb
index d4820d1..8ca3be3 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libadwaita/libadwaita_1.1.1.bb
@@ -11,7 +11,7 @@
 
 inherit gnomebase gobject-introspection gtk-doc vala features_check
 
-SRC_URI[archive.sha256sum] = "aff598803e810cc28266472cf5bf65e5ed5b90bb3523e206b06b14527325010e"
+SRC_URI[archive.sha256sum] = "491169d4f6a11765328996bc088272d05c7235453bc0ee73c20dfd4bd67b401c"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4/0001-Allow-building-gir-in-cross-environments.patch b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4/0001-Allow-building-gir-in-cross-environments.patch
new file mode 100644
index 0000000..6c6a643
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4/0001-Allow-building-gir-in-cross-environments.patch
@@ -0,0 +1,33 @@
+From 179102310e9a3729fb5b00f2a7bf24b12f4a7a83 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 16 Apr 2022 20:04:14 +0200
+Subject: [PATCH] Allow building gir in cross environments
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+For us this works perfectly fine
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ libgweather/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgweather/meson.build b/libgweather/meson.build
+index 08311af..ef554f2 100644
+--- a/libgweather/meson.build
++++ b/libgweather/meson.build
+@@ -208,7 +208,7 @@ lib_libgweather = library('gweather-4',
+ )
+ 
+ g_ir_scanner = find_program('g-ir-scanner', required: get_option('introspection'))
+-build_gir = get_option('introspection') and g_ir_scanner.found() and not meson.is_cross_build()
++build_gir = get_option('introspection') and g_ir_scanner.found()
+ 
+ enable_vala = get_option('enable_vala')
+ vapigen = find_program('vapigen', required: enable_vala == 'true')
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.0.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.0.0.bb
index acfb976..708d27a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.0.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.0.0.bb
@@ -7,14 +7,11 @@
 GNOMEBN = "libgweather"
 S = "${WORKDIR}/${GNOMEBN}-${PV}"
 
-inherit gnomebase gsettings gobject-introspection gettext gtk-doc vala features_check upstream-version-is-even
+inherit gnomebase gsettings gobject-introspection gettext gtk-doc vala
 
+SRC_URI += "file://0001-Allow-building-gir-in-cross-environments.patch"
 SRC_URI[archive.sha256sum] = "440d44801b6f72b48c676e5e37f9109cfee1394fd74cc92725e1b1ba4fae834c"
 
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-GIR_MESON_OPTION = ""
-
 GTKDOC_MESON_OPTION = "gtk_doc"
 
 DEPENDS = " \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
similarity index 90%
rename from meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.5.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
index 6deac38..ec728d7 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.5.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libportal/libportal_0.6.bb
@@ -6,8 +6,8 @@
 LICENSE = "LGPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404"
 
-SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=master"
-SRCREV = "467a397fd7996557f837cdc26ac07c01c62810e5"
+SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main"
+SRCREV = "13df0b887a7eb7b0f9b14069561a41f62e813155"
 S = "${WORKDIR}/git"
 
 inherit meson gtk-doc gobject-introspection
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.1.1.bb
similarity index 91%
rename from meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.0.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.1.1.bb
index 0827741..6d94220 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_42.1.1.bb
@@ -21,7 +21,7 @@
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
 
-SRC_URI[archive.sha256sum] = "3c904f33ba2d2a078892bee2af71484cd608923cd78ec7e8a1517bc2155113d5"
+SRC_URI[archive.sha256sum] = "8519d4565e842aa3d31d0fe39b21d48ac54edc0f0658fe1d8ea2da4e704c1b66"
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0001-meson-Check-for-libunwind-instead-of-libunwind-gener.patch b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0001-meson-Check-for-libunwind-instead-of-libunwind-gener.patch
new file mode 100644
index 0000000..dc702a0
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof/0001-meson-Check-for-libunwind-instead-of-libunwind-gener.patch
@@ -0,0 +1,30 @@
+From 19188367bee87b0084ab34869455155da5cb1731 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Apr 2022 08:47:39 -0700
+Subject: [PATCH] meson: Check for libunwind instead of libunwind-generic
+
+This helps it to use llvm unwinder since libunwind-generic is specific
+to nongnu libunwind.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 2835782..0fdb39a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -81,7 +81,7 @@ config_h.set10('HAVE_POLKIT_AGENT', polkit_agent_dep.found())
+ config_h.set10('HAVE_POLKIT', polkit_dep.found())
+ 
+ if get_option('libunwind')
+-  libunwind_dep = dependency('libunwind-generic')
++  libunwind_dep = dependency('libunwind')
+   config_h.set('ENABLE_LIBUNWIND', libunwind_dep.found())
+   config_h.set('HAVE_UNW_SET_CACHE_SIZE', libunwind_dep.found() and cc.has_header_symbol('libunwind.h', 'unw_set_cache_size', dependencies: [libunwind_dep]))
+ endif
+-- 
+2.35.2
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.42.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb
similarity index 74%
rename from meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.42.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb
index 99b3c60..c9d32c3 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.42.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb
@@ -15,14 +15,19 @@
     json-glib \
 "
 
-SRC_URI[archive.sha256sum] = "1796b81404ee75fd1ebacf54464ad7affebf62f2851eef524d9f8eac0c4a2001"
+SRC_URI += "file://0001-meson-Check-for-libunwind-instead-of-libunwind-gener.patch"
+SRC_URI[archive.sha256sum] = "ab5d9f5b71973b3088d58a1bfdf1dc23c39a02f5fce4e5e9c73e034b178b005b"
 
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'sysprofd', '', d)} \
-                  ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'libsysprof', '', d)} \
-                  ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}"
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'sysprofd libsysprof', '', d)} \
+                  ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)} \
+                  libunwind"
+# nongnu libunwind needs porting to RV32
+PACKAGECONFIG:remove:riscv32 = "libunwind"
+
 PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3 libdazzle"
 PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit"
 PACKAGECONFIG[libsysprof] = "-Dlibsysprof=true,-Dlibsysprof=false,polkit"
+PACKAGECONFIG[libunwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind"
 
 EXTRA_OEMESON += "-Dsystemdunitdir=${systemd_unitdir}/system"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.0.bb
similarity index 93%
rename from meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.0.bb
index f81a84c..bb2396a 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.3.0.bb
@@ -22,7 +22,7 @@
 
 inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native
 
-SRC_URI[archive.sha256sum] = "1847e08b39e6e61d848735aa1f97f7d96c038201653fa0d7cb9e81b37eb9c03a"
+SRC_URI[archive.sha256sum] = "0706f96fe7f95df42acec812c1de7b4593a0d648321ca83506a9d71e22417bda"
 
 # gobject-introspection is mandatory and cannot be configured
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.bb b/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.bb
index 2d733ce..be43d0d 100644
--- a/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.bb
@@ -15,8 +15,8 @@
 
 PACKAGECONFIG ??= " \
     dconf vala \
-    ${@bb.utils.contains_any('DISTRO_FEATURES', [ 'wayland', 'x11' ], 'gtk3', '', d)} \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)} \
+    ${@bb.utils.contains_any('DISTRO_FEATURES', [ 'wayland', 'x11' ], 'gtk3 gtk4', '', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
 "
 
 do_configure:prepend() {
@@ -29,6 +29,8 @@
     ${datadir}/GConf \
     ${datadir}/glib-2.0 \
     ${libdir}/gtk-3.0 \
+    ${libdir}/gtk-4.0 \
+    ${systemd_user_unitdir} \
 "
 
 FILES:${PN}-dev += " \
diff --git a/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc b/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc
index 23f565f..37a490a 100644
--- a/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc
+++ b/meta-openembedded/meta-gnome/recipes-support/ibus/ibus.inc
@@ -5,7 +5,7 @@
 
 inherit autotools-brokensep pkgconfig gobject-introspection gettext gtk-doc vala
 
-PV = "1.5.23+git${SRCPV}"
+PV = "1.5.26"
 
 DEPENDS = "unicode-ucd"
 
@@ -13,13 +13,15 @@
     git://github.com/ibus/ibus.git;branch=master;protocol=https \
     file://0001-Do-not-try-to-start-dbus-we-do-not-have-dbus-lauch.patch \
 "
-SRCREV = "dd4cc5b028c35f9bb8fa9d3bdc8f26bcdfc43d40"
+SRCREV = "6a70ab0338206bd1c7d01a4e1874ea0ee5b3a9d3"
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG[appindicator] = "--enable-appindicator,--disable-appindicator,qtbase"
 PACKAGECONFIG[dconf] = "--enable-dconf,--disable-dconf,dconf"
 PACKAGECONFIG[gtk2] = "--enable-gtk2,--disable-gtk2,gtk+"
 PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3,gtk+3"
+PACKAGECONFIG[gtk4] = "--enable-gtk4,--disable-gtk4,gtk4"
+PACKAGECONFIG[systemd] = "--enable-systemd-services,--disable-systemd-services,systemd"
 PACKAGECONFIG[wayland]  = "--enable-wayland,--disable-wayland,wayland"
 PACKAGECONFIG[vala]  = "--enable-vala,--disable-vala"
 PACKAGECONFIG[x11]  = "--enable-xim --enable-ui,--disable-xim --disable-ui,virtual/libx11"
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
index 431c75e..a3a0695 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
@@ -5,7 +5,7 @@
 
 --- a/klcc/klcc.in
 +++ b/klcc/klcc.in
-@@ -207,6 +207,27 @@ while ( defined($a = shift(@ARGV)) ) {
+@@ -207,6 +207,30 @@ while ( defined($a = shift(@ARGV)) ) {
      } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) {
  	# Override gcc encoded sysroot
  	push(@ccopt, $a);
@@ -30,6 +30,9 @@
 +    } elsif ( $a =~ '-rtlib=.*' ) {
 +	# Allow clang options
 +	push(@ccopt, $a);
++    } elsif ( $a =~ '--dyld-prefix=.*' ) {
++	# Allow clang options
++	push(@ccopt, $a);
      } else {
  	die "$0: unknown option: $a\n";
      }
diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch
index 59bd4ef..ff2e789 100644
--- a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch
+++ b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch
@@ -146,12 +146,12 @@
    /* Failed */
 --- a/src/epggrab/module/opentv.c
 +++ b/src/epggrab/module/opentv.c
-@@ -486,7 +486,7 @@ opentv_parse_event_section_one
+@@ -497,7 +497,7 @@ opentv_parse_event_section_one
                                         1, &save, &changes);
        tvhdebug(LS_OPENTV, "find by time start %"PRItime_t " stop "
-                "%"PRItime_t " eid %d = %p",
--               ev.start, ev.stop, ev.eid, ebc);
-+               (intmax_t)ev.start, (intmax_t)ev.stop, ev.eid, ebc);
+                "%"PRItime_t " ch %"PRId64" eid %d = %p",
+-               ev.start, ev.stop, ch->ch_number, ev.eid, ebc);
++               (intmax_t)ev.start, (intmax_t)ev.stop, ch->ch_number, ev.eid, ebc);
        save |= epg_broadcast_set_dvb_eid(ebc, ev.eid, &changes);
      } else {
        ebc = epg_broadcast_find_by_eid(ch, ev.eid);
diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
index c278cf5..b3d9d6b 100644
--- a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -12,7 +12,7 @@
            file://0001-adjust-for-64bit-time_t.patch \
            "
 
-SRCREV = "ce09077056f9c6558c188d135cec3be85cc9c200"
+SRCREV = "9a51cea492e4a5579ca3ddf9233fecfa419de078"
 PV = "4.3+git${SRCPV}"
 PKGV = "4.3+git${GITPKGV}"
 
@@ -26,5 +26,8 @@
                  --disable-dvbscan \
                  "
 
+EXTRA_OECONF:append:libc-musl = " --disable-execinfo"
+
+EXTRA_OEMAKE = "CFLAGS_NO_WERROR=yes"
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch
deleted file mode 100644
index 61bcdb3..0000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/files/0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From b311f9e75f13205fd0738f7e89fd2062b9e7b237 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <crg7475@mailbox.org>
-Date: Wed, 30 Mar 2022 19:44:38 +0200
-Subject: [PATCH] meson: Add option to enable/disable legacy RTKit module
-
-The RTKit module is being replaced by the RT module. Currently, it is
-always built if D-Bus is present. For packagers, it can be beneficial to
-be able to disable the legacy module. Add a Meson option to allow for
-exactly that. Make it enabled by default to not change default behavior.
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1204]
----
- meson_options.txt       | 4 ++++
- src/modules/meson.build | 2 +-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/meson_options.txt b/meson_options.txt
-index 49d5b2203..2687bfe7e 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -237,3 +237,7 @@ option('libcanberra',
-        description: 'Enable code that depends on libcanberra',
-        type: 'feature',
-        value: 'auto')
-+option('legacy-rtkit',
-+       description: 'Build legacy rtkit module',
-+       type: 'boolean',
-+       value: 'true')
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index ee724bf52..2d26cc459 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -139,7 +139,7 @@ pipewire_module_rt = shared_library('pipewire-module-rt', [ 'module-rt.c' ],
-   dependencies : [dbus_dep, mathlib, dl_lib, pipewire_dep],
- )
- 
--build_module_rtkit = dbus_dep.found()
-+build_module_rtkit = dbus_dep.found() and (get_option('legacy-rtkit') == true)
- if build_module_rtkit
- # TODO: This serves as a temporary alias to prevent breaking existing setups
- #       while `module-rtkit` is being migrated to `module-rt`
--- 
-2.32.0
-
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
similarity index 98%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
index b821f44..0d725b9 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.49.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb
@@ -13,10 +13,8 @@
 
 DEPENDS = "dbus ncurses"
 
-SRCREV = "075e7b266876802eab0077afd13ea8e1cee5e1fd"
-SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https \
-           file://0001-meson-Add-option-to-enable-disable-legacy-RTKit-modu.patch \
-           "
+SRCREV = "64cf5e80e6240284e6b757907b900507fe56f1b5"
+SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
index a89d9b3..e91df71 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
@@ -43,3 +43,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
index a89d9b3..e91df71 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
@@ -43,3 +43,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
index b329675..b670e4a 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
index b329675..b670e4a 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
index b329675..b670e4a 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
index b329675..b670e4a 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
index e884498..ad52b4a 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
index e78761d..c799942 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
@@ -43,3 +43,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
index e78761d..c799942 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
@@ -43,3 +43,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
index e884498..ad52b4a 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
index 4d27261..ac857d4 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
index b32d30b..dfc48754 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt
index b32d30b..dfc48754 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64le.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt
index b329675..b670e4a 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv32.txt
@@ -44,3 +44,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
index a89d9b3..e91df71 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
@@ -43,3 +43,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
index a89d9b3..e91df71 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
@@ -43,3 +43,4 @@
 Checking value of GNUTLS_MAC_AES_CMAC_128: OK
 Checking whether fcntl supports flags to send direct I/O availability signals: NO
 Checking whether fcntl supports setting/geting hints: NO
+Checking for readlink breakage: NO
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.2.bb
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.2.bb
index 005ad72..fdb7811 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.1.5.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/nanomsg/nanomsg_1.2.bb
@@ -10,7 +10,7 @@
 SECTION = "libs/networking"
 
 SRC_URI = "git://github.com/nanomsg/nanomsg.git;protocol=https;branch=master"
-SRCREV = "1749fd7b039165a91b8d556b4df18e3e632ad830"
+SRCREV = "a081f1720f576d3e72ddce14e159ba90384e5b92"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch
new file mode 100644
index 0000000..f0bb392
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch
@@ -0,0 +1,40 @@
+From aa706d714294b83db696de2beca9a722a512796f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Apr 2022 14:04:40 -0700
+Subject: [PATCH] cmake: Disable nonnull-compare warning on gcc
+
+GCC finds a legit warning which clang does not on code like this
+
+class Message;
+void SendResponse(Message & aMessage)
+{
+    if ((&aMessage) != nullptr) { return; }
+}
+
+Perhaps it should be fixed upstream but for now disable treating this
+warning as error when using gcc
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 59a567e729..3134740ff6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -57,6 +57,10 @@ endif()
+ 
+ set(CMAKE_CXX_EXTENSIONS OFF)
+ 
++if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
++	add_compile_options(-Wno-error=nonnull-compare)
++endif()
++
+ if (OTBR_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
+     message(STATUS "Coverage: ON")
+     target_compile_options(otbr-config INTERFACE -g -O0 --coverage)
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/Turn-off-sign-compare-for-musl-libc.patch b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/Turn-off-sign-compare-for-musl-libc.patch
deleted file mode 100644
index df84550..0000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix/Turn-off-sign-compare-for-musl-libc.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From: Stefan Schmidt <stefan.schmidt@huawei.com>
-Subject: Turn off sign compare for musl libc
-
-When building with musl and clang the usage of CMSG_NXTHDR results in
-sign-compare error. Disable the check only in this specific part of the
-code with a #pragma.
-
-| /home/stefan/huawei/yocto-upstream/yoe/workspace/sources/ot-br-posix/third_party/openthread/repo/src/posix/platform/udp.cpp:147:28: fatal error: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
-|         cmsg             = CMSG_NXTHDR(&msg, cmsg);
-|                            ^~~~~~~~~~~~~~~~~~~~~~~
-| /home/stefan/huawei/yocto-upstream/yoe/build/tmp/work/cortexa57-yoe-linux-musl/ot-br-posix/0.3.0+git999-r0/recipe-sysroot/usr/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
-|         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
-|         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-| 1 error generated.
-
-Idea and fix taken from
-recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
-by Khem Raj.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Stefan Schmidt <stefan.schmidt@huawei.com>
-
-diff --git a/src/backbone_router/nd_proxy.cpp b/src/backbone_router/nd_proxy.cpp
-index 7136878c3d..8a223c95c7 100644
---- a/src/backbone_router/nd_proxy.cpp
-+++ b/src/backbone_router/nd_proxy.cpp
-@@ -185,9 +185,18 @@ void NdProxyManager::ProcessMulticastNeighborSolicition()
-         VerifyOrExit(icmp6header->icmp6_type == ND_NEIGHBOR_SOLICIT, error = OTBR_ERROR_PARSE);
- 
-         otbrLogDebug("NdProxyManager: Received ND-NS from %s", src.ToString().c_str());
--
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-         for (cmsghdr = CMSG_FIRSTHDR(&msghdr); cmsghdr; cmsghdr = CMSG_NXTHDR(&msghdr, cmsghdr))
--        {
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-+	{
-             if (cmsghdr->cmsg_level != IPPROTO_IPV6)
-             {
-                 continue;
-Submodule third_party/openthread/repo contains modified content
-diff --git a/third_party/openthread/repo/src/posix/platform/infra_if.cpp b/third_party/openthread/repo/src/posix/platform/infra_if.cpp
-index 9f93d2b1c..1ed40fe50 100644
---- a/third_party/openthread/repo/src/posix/platform/infra_if.cpp
-+++ b/third_party/openthread/repo/src/posix/platform/infra_if.cpp
-@@ -228,7 +228,17 @@ otError InfraNetif::SendIcmp6Nd(uint32_t            aInfraIfIndex,
-     packetInfo->ipi6_ifindex = mInfraIfIndex;
- 
-     // Per section 6.1.2 of RFC 4861, we need to send the ICMPv6 message with IP Hop Limit 255.
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-     cmsgPointer             = CMSG_NXTHDR(&msgHeader, cmsgPointer);
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-     cmsgPointer->cmsg_level = IPPROTO_IPV6;
-     cmsgPointer->cmsg_type  = IPV6_HOPLIMIT;
-     cmsgPointer->cmsg_len   = CMSG_LEN(sizeof(hopLimit));
-@@ -481,7 +491,17 @@ void InfraNetif::ReceiveIcmp6Message(void)
- 
-     bufferLength = static_cast<uint16_t>(rval);
- 
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-     for (cmh = CMSG_FIRSTHDR(&msg); cmh; cmh = CMSG_NXTHDR(&msg, cmh))
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-     {
-         if (cmh->cmsg_level == IPPROTO_IPV6 && cmh->cmsg_type == IPV6_PKTINFO &&
-             cmh->cmsg_len == CMSG_LEN(sizeof(struct in6_pktinfo)))
-diff --git a/third_party/openthread/repo/src/posix/platform/udp.cpp b/third_party/openthread/repo/src/posix/platform/udp.cpp
-index b7aacc5fa..a814fea70 100644
---- a/third_party/openthread/repo/src/posix/platform/udp.cpp
-+++ b/third_party/openthread/repo/src/posix/platform/udp.cpp
-@@ -144,8 +144,18 @@ otError transmitPacket(int aFd, uint8_t *aPayload, uint16_t aLength, const otMes
-     {
-         struct in6_pktinfo pktinfo;
- 
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-         cmsg             = CMSG_NXTHDR(&msg, cmsg);
--        cmsg->cmsg_level = IPPROTO_IPV6;
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-+	cmsg->cmsg_level = IPPROTO_IPV6;
-         cmsg->cmsg_type  = IPV6_PKTINFO;
-         cmsg->cmsg_len   = CMSG_LEN(sizeof(pktinfo));
- 
-@@ -200,7 +210,17 @@ otError receivePacket(int aFd, uint8_t *aPayload, uint16_t &aLength, otMessageIn
-     VerifyOrExit(rval > 0, perror("recvmsg"));
-     aLength = static_cast<uint16_t>(rval);
- 
-+#ifndef __GLIBC__
-+  // In musl-libc, CMSG_NXTHDR typecasts char* to cmsghdr* which causes
-+  // clang to throw sign-compare warning. This is to suppress the warning
-+  // inline.
-+  #pragma clang diagnostic push
-+  #pragma clang diagnostic ignored "-Wsign-compare"
-+#endif
-     for (struct cmsghdr *cmsg = CMSG_FIRSTHDR(&msg); cmsg != nullptr; cmsg = CMSG_NXTHDR(&msg, cmsg))
-+#ifndef __GLIBC__
-+  #pragma clang diagnostic pop
-+#endif
-     {
-         if (cmsg->cmsg_level == IPPROTO_IPV6)
-         {
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
index d9f558d..a16b778 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
@@ -16,7 +16,7 @@
 
 SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=main \
            file://0001-otbr-agent.service.in-remove-pre-exec-hook-for-mdns-.patch \
-           file://Turn-off-sign-compare-for-musl-libc.patch \
+           file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
            "
 
 S = "${WORKDIR}/git"
@@ -24,6 +24,8 @@
 
 inherit pkgconfig cmake systemd
 
+CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare"
+
 EXTRA_OECMAKE = "-DBUILD_TESTING=OFF \
                  -DOTBR_DBUS=ON \
                  -DOTBR_REST=ON \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
index bb444d0..a7fcc20 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openthread/wpantund_git.bb
@@ -11,7 +11,7 @@
                     file://third_party/openthread/LICENSE;md5=543b6fe90ec5901a683320a36390c65f \
                     file://third_party/pt/LICENSE;md5=dcd598b69cad786beea33da7b1ae14b7 \
                     "
-DEPENDS = "autoconf-archive dbus readline"
+DEPENDS = "autoconf-archive dbus readline boost"
 SRCREV = "0fb1f57e4224e2df3e630e146702bfcf63fbf07a"
 PV = "0.07.01+git${SRCPV}"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.12.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb
index 3da397f..49e93fc 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.12.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.14.13.bb
@@ -31,7 +31,7 @@
            file://samba-fix-musl-lib-without-innetgr.patch \
            "
 
-SRC_URI[sha256sum] = "155d9c2dfb06a18104422987590858bfe5e9783ebebe63882e7e7f07eaaa512d"
+SRC_URI[sha256sum] = "e1df792818a17d8d21faf33580d32939214694c92b84fb499464210d86a7ff75"
 
 UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.14(\.\d+)+).tar.gz"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb
index 70216a8..6dca784 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/ufw/ufw_0.36.1.bb
@@ -38,6 +38,13 @@
                      kernel-module-nf-recent \
 "
 
+
+do_configure:prepend() {
+    if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+        sed -i -e 's|/lib|${nonarch_base_libdir}|' ${S}/setup.py
+    fi
+}
+
 do_install:append() {
     install -d ${D}${systemd_unitdir}/system/
     install -m 0644 ${S}/doc/systemd.example ${D}${systemd_unitdir}/system/ufw.service
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch
new file mode 100644
index 0000000..e735d43
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-include-missing-array-header.patch
@@ -0,0 +1,32 @@
+From 6168d43ddd353b92ad8bcd5c49dc68f18caa8a00 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 17:07:49 -0700
+Subject: [PATCH 1/2] include missing <array> header
+
+Fixes
+src/osaf/consensus/key_value.cc:25:30: error: aggregate 'std::array<char, 128> buffer' has incomplete type and cannot be defined
+   25 |   std::array<char, buf_size> buffer;
+      |                              ^~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/osaf/consensus/key_value.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/osaf/consensus/key_value.cc b/src/osaf/consensus/key_value.cc
+index 692dd3f..6e16cbf 100644
+--- a/src/osaf/consensus/key_value.cc
++++ b/src/osaf/consensus/key_value.cc
+@@ -18,7 +18,7 @@
+ #include "base/getenv.h"
+ #include "base/logtrace.h"
+ #include "osaf/consensus/consensus.h"
+-
++#include <array>
+ int KeyValue::Execute(const std::string& command, std::string& output) {
+   TRACE_ENTER();
+   constexpr size_t buf_size = 128;
+-- 
+2.35.1
+
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-configure-Disable-selected-warnings.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-configure-Disable-selected-warnings.patch
new file mode 100644
index 0000000..a995325
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0002-configure-Disable-selected-warnings.patch
@@ -0,0 +1,28 @@
+From fe654d5340d18f04e4689ba19f843554909a0c00 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 17:16:37 -0700
+Subject: [PATCH 2/2] configure: Disable selected warnings
+
+These warnings are emitted when compiling with gcc 11 and gcc 12
+Do not treat them as errors
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -601,7 +601,10 @@ if test -z "$OSAF_HARDEN_FLAGS"; then
+ fi
+ AC_SUBST(OSAF_HARDEN_FLAGS)
+ 
+-AX_CHECK_COMPILE_FLAG([-Werror=format-overflow],[NOWARNINGS=-Wno-error=format-overflow])
++AX_CHECK_COMPILE_FLAG([-Werror=format-overflow],[NOWARNINGS='-Wno-error=format-overflow'])
++AX_CHECK_COMPILE_FLAG([-Wuse-after-free],[NOWARNINGS+=' -Wno-error=use-after-free'])
++AX_CHECK_COMPILE_FLAG([-Wstringop-truncation],[NOWARNINGS+=' -Wno-error=stringop-truncation'])
++AX_CHECK_COMPILE_FLAG([-Warray-bounds],[NOWARNINGS+=' -Wno-error=array-bounds'])
+ AC_SUBST(NOWARNINGS)
+ #############################################
+ # List the output Makefiles
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb
index 8ce324d..930755d 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.22.01.bb
@@ -28,6 +28,8 @@
            file://0001-immom_python-convert-to-python3.patch \
            file://0001-Fix-build-with-fno-common.patch \
            file://0001-Use-correct-printf-format-for-__fsblkcnt_t.patch \
+           file://0001-include-missing-array-header.patch \
+           file://0002-configure-Disable-selected-warnings.patch \
            "
 SRC_URI[sha256sum] = "f008d53c83087ce2014c6089bc4ef08e14c1b4091298b943f4ceade1aa6bf61e"
 
@@ -48,8 +50,8 @@
 
 PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
 
-CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation"
-CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation="
+CPPFLAGS += "-Wno-error"
+CXXFLAGS += "-Wno-error"
 LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
 
 do_install:append() {
diff --git a/meta-openembedded/meta-networking/recipes-extended/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch b/meta-openembedded/meta-networking/recipes-extended/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
new file mode 100644
index 0000000..173ecb6
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
@@ -0,0 +1,47 @@
+From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00 2001
+From: Zhenhua Luo <zhenhua.luo@freescale.com>
+Date: Thu, 10 Apr 2014 11:26:39 +0800
+Subject: [PATCH] Correct the path of header files check in Yocto build env
+
+Upstream-Status: Inappropriate [the fix is specific to Yocto build env]
+
+Current Makefile will check headers on host instead of Yocto sysroot, following
+error appears. Change the path of header check.
+| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
+| #include <libaio.h>
+|                     ^
+| compilation terminated.
+
+Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
+
+---
+ usr/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/usr/Makefile b/usr/Makefile
+index decf13c..9ff8f15 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -1,11 +1,11 @@
+ sbindir ?= $(PREFIX)/sbin
+ libdir ?= $(PREFIX)/lib/tgt
+ 
+-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h && echo 1),)
+ CFLAGS += -DUSE_SIGNALFD
+ endif
+ 
+-ifneq ($(shell test -n $(shell find /usr/include -name "timerfd.h" | head -n1) && echo 1),)
++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name "timerfd.h" | head -n1) && echo 1),)
+ CFLAGS += -DUSE_TIMERFD
+ endif
+ 
+@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
+ CFLAGS += -DUSE_SYSTEMD
+ endif
+ 
+-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e /usr/include/libaio.h && echo 1),)
++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h && test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
+ CFLAGS += -DUSE_EVENTFD
+ TGTD_OBJS += bs_aio.o
+ LIBS += -laio
diff --git a/meta-openembedded/meta-networking/recipes-extended/tgt/files/0001-usr-Makefile-WARNING-fix.patch b/meta-openembedded/meta-networking/recipes-extended/tgt/files/0001-usr-Makefile-WARNING-fix.patch
new file mode 100644
index 0000000..078ba9e
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/tgt/files/0001-usr-Makefile-WARNING-fix.patch
@@ -0,0 +1,29 @@
+From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Sun, 26 Jul 2015 04:23:51 +0900
+Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
+ /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
+ packages-split/tgt/usr/sbin/tgtd contains probably-redundant RPATH /usr/lib
+ [useless-rpaths]
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+
+---
+ usr/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usr/Makefile b/usr/Makefile
+index 9ff8f15..cc8df11 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o log.o driver.o util.o work.o \
+ 
+ TGTD_DEP = $(TGTD_OBJS:.o=.d)
+ 
+-LDFLAGS = -Wl,-E,-rpath=$(libdir)
++LDFLAGS += -Wl,-E
+ 
+ .PHONY:all
+ all: $(PROGRAMS) $(MODULES)
diff --git a/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd b/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd
new file mode 100644
index 0000000..64df6a3
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd
@@ -0,0 +1,5 @@
+# options for tgtd
+TGTD_OPTS=""
+
+# configuration file
+TGTD_CONFIG=/etc/tgt/targets.conf
diff --git a/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd.init b/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd.init
new file mode 100644
index 0000000..4b0ce94
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd.init
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: tgtd
+# Required-Start: $remote_fs $network $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start:     3 5
+# Default-Stop:      0 1 2 6
+# Short-Description: SCSI target daemon
+# Description: Linux SCSI target framework (tgt)
+### END INIT INFO
+
+DESC="tgtd"
+DAEMON="/usr/sbin/tgtd"
+TGTD_CONFIG=/etc/tgt/targets.conf
+
+start ()
+{
+    echo -n "Starting $DESC..."
+
+    # Ensure service isn't running
+    tgt-admin -s >/dev/null 2>&1
+    RETVAL=$?
+    if [ "$RETVAL" -ne 107 ] ; then
+        echo "$DESC is already running."
+        exit 1
+    fi
+
+    # Start tgtd first
+    $DAEMON &>/dev/null
+    RETVAL=$?
+    if [ "$RETVAL" -ne 0 ]; then
+        echo "failed."
+        exit 1
+    fi
+
+    # Put tgtd into "offline" state until all the targets are configured.
+    # We don't want initiators to (re)connect and fail the connection
+    # if it's not ready.
+    tgtadm --op update --mode sys --name State -v offline
+    # Configure the targets.
+    tgt-admin -f -e -c $TGTD_CONFIG
+    # Put tgtd into "ready" state.
+    tgtadm --op update --mode sys --name State -v ready
+
+    echo "done."
+}
+
+stop ()
+{
+    echo -n "Stopping $DESC..."
+
+    # Remove all targets. It only removes targets which are not in use.
+    tgt-admin --update ALL -c /dev/null &>/dev/null
+    # tgtd will exit if all targets were removed
+    tgtadm --op delete --mode system &>/dev/null
+    RETVAL=$?
+    if [ "$RETVAL" -eq 107 ] ; then
+        if [ "$TASK" != "restart" ] ; then
+            return 1
+        fi
+    elif [ "$RETVAL" -ne 0 ] ; then
+        echo "Some initiators are still connected - could not stop tgtd"
+        return 2
+    fi
+    echo -n
+}
+
+reload()
+{
+        echo "Reloading configuration of $DESC" "$NAME"
+        # Update configuration for targets. Only targets which
+        # are not in use will be updated.
+        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
+        RETVAL=$?
+        if [ "$RETVAL" -eq 107 ] ; then
+                echo "tgtd is not running"
+                exit 1
+        fi
+}
+
+status()
+{
+        tgt-admin -s >/dev/null 2>&1
+	RETVAL=$?
+        if [ "$RETVAL" -eq 107 ] ; then
+                echo "tgtd is not running"
+        else
+                echo "tgtd is running"
+        fi
+}
+
+case "$1" in
+    start)
+        start
+        ;;
+    stop)
+        stop
+        ;;
+    restart|force-reload)
+        stop
+        start
+        ;;
+    reload)
+        reload
+        ;;
+    status)
+        status
+        ;;
+    *)
+        echo "Usage: $0 {start|stop|force-reload|restart|status|reload}"
+        exit 1
+        ;;
+esac
+
+exit 0
diff --git a/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd.service b/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd.service
new file mode 100755
index 0000000..afbd4b4
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/tgt/files/tgtd.service
@@ -0,0 +1,33 @@
+[Unit]
+Description=tgtd iSCSI target daemon
+After=network.target
+
+[Service]
+EnvironmentFile=@SYSCONFDIR@/sysconfig/tgtd
+
+ExecStart=@SBINDIR@/tgtd -f $TGTD_OPTS
+# see bz 848942. workaround for a race for now.
+ExecStartPost=@BASE_BINDIR@/sleep 5
+# Put tgtd into "offline" state until all the targets are configured.
+# We don't want initiators to (re)connect and fail the connection
+# if it's not ready.
+ExecStartPost=@SBINDIR@/tgtadm --op update --mode sys --name State -v offline
+# Configure the targets.
+ExecStartPost=@SBINDIR@/tgt-admin -e -c $TGTD_CONFIG
+# Put tgtd into "ready" state.
+ExecStartPost=@SBINDIR@/tgtadm --op update --mode sys --name State -v ready
+
+# Update configuration for targets. Only targets which
+# are not in use will be updated.
+ExecReload=@SBINDIR@/tgt-admin --update ALL -c $TGTD_CONFIG
+
+# NOTE: Shutdown of the iscsi target may cause data corruption
+# for initiators that are connected.
+ExecStop=@SBINDIR@/tgtadm --op update --mode sys --name State -v offline
+# Remove all targets. It only removes targets which are not in use.
+ExecStop=@SBINDIR@/tgt-admin --update ALL -c /dev/null
+# tgtd will exit if all targets were removed
+ExecStop=@SBINDIR@/tgtadm --op delete --mode system
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-networking/recipes-extended/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch b/meta-openembedded/meta-networking/recipes-extended/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
new file mode 100644
index 0000000..d480ef7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
@@ -0,0 +1,35 @@
+From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00 2001
+From: Mark Asselstine <mark.asselstine@windriver.com>
+Date: Thu, 5 Jan 2017 11:07:51 -0500
+Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
+
+Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
+---
+ usr/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/usr/Makefile b/usr/Makefile
+index cc8df11..c55fd68 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
+ TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
+ 
+ tgtadm: $(TGTADM_OBJS)
+-	$(CC) $^ -o $@
++	$(CC) $^ -o $@ $(LDFLAGS)
+ 
+ -include $(TGTADM_DEP)
+ 
+@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
+ TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
+ 
+ tgtimg: $(TGTIMG_OBJS)
+-	$(CC) $^ -o $@
++	$(CC) $^ -o $@ $(LDFLAGS)
+ 
+ -include $(TGTIMG_DEP)
+ 
+-- 
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-extended/tgt/tgt_git.bb b/meta-openembedded/meta-networking/recipes-extended/tgt/tgt_git.bb
new file mode 100644
index 0000000..42141cb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/tgt/tgt_git.bb
@@ -0,0 +1,94 @@
+DESCRIPTION = "Linux SCSI target framework (tgt)"
+HOMEPAGE = "http://stgt.sourceforge.net"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
+DEPENDS = "sg3-utils libaio"
+
+SRCREV = "b43dbc6711e43c0a32cc4d9df22884841d911d51"
+PV = "1.0.79+git${SRCPV}"
+
+SRC_URI = "git://github.com/fujita/tgt.git;branch=master;protocol=https \
+	file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch \
+        file://0001-usr-Makefile-WARNING-fix.patch \
+        file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
+"
+SRC_URI += "file://tgtd.init \
+            file://tgtd.service \
+            file://tgtd \
+"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST:libc-musl = "null"
+
+CONFFILES:${PN} += "${sysconfdir}/tgt/targets.conf"
+
+inherit update-rc.d systemd
+
+SYSTEMD_SERVICE:${PN} = "tgtd.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
+
+#do_compile() {
+#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf scripts
+#}
+EXTRA_OEMAKE = "-e programs conf scripts"
+
+do_install() {
+    oe_runmake -e DESTDIR="${D}" install-programs install-conf install-scripts
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 ${WORKDIR}/tgtd.init ${D}${sysconfdir}/init.d/tgtd
+    elif ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_unitdir}/system
+        install -m 0644 ${WORKDIR}/tgtd.service ${D}${systemd_unitdir}/system/tgtd.service
+        install -d ${D}${sysconfdir}/sysconfig
+        install -m 0644 ${WORKDIR}/tgtd ${D}${sysconfdir}/sysconfig/tgtd
+        sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/tgtd.service
+        sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/tgtd.service
+        sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/tgtd.service
+    fi
+}
+
+FILES:${PN} += "${systemd_unitdir}/system/tgtd.service \
+                ${sysconfdir}/sysconfig/tgtd \
+"
+
+RDEPENDS:${PN} = " \
+    bash \
+    libaio \
+    libconfig-general-perl \
+    perl \
+    perl-module-english \
+    perl-module-tie-hash-namedcapture \
+    perl-module-xsloader \
+    perl-module-carp \
+    perl-module-exporter \
+    perl-module-errno \
+    perl-module-exporter-heavy \
+    perl-module-symbol \
+    perl-module-selectsaver \
+    perl-module-dynaloader \
+    perl-module-carp-heavy \
+    perl-module-filehandle \
+    perl-module-feature \
+    perl-module-overload \
+    perl-module-fcntl \
+    perl-module-io \
+    perl-module-io-file \
+    perl-module-io-handle \
+    perl-module-io-seekable \
+    perl-module-file-glob \
+    perl-module-base \
+    perl-module-encoding-warnings \
+    perl-module-file-spec-unix \
+    perl-module-file-spec \
+    perl-module-file-spec-functions \
+    perl-module-getopt-long \
+    perl-module-constant \
+    "
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME:${PN} = "tgtd"
+
diff --git a/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.1.bb b/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.1.bb
index bba11a8..e124fd2 100644
--- a/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.1.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.1.1.bb
@@ -20,7 +20,7 @@
 	install -m 0755 ${S}/bin/arno-fwfilter ${D}${bindir}
 	cp -r ${S}/share/arno-iptables-firewall/* ${D}${datadir}/arno-iptables-firewall
 	cp -r ${S}/etc/arno-iptables-firewall/* ${D}${sysconfdir}/arno-iptables-firewall
-	install -m 0644 ${S}/${systemd_unitdir}/system/arno-iptables-firewall.service ${D}${systemd_unitdir}/system
+	install -m 0644 ${S}/lib/systemd/system/arno-iptables-firewall.service ${D}${systemd_unitdir}/system
 	sed -i -e 's%/usr/local/sbin%${bindir}%g' ${D}${systemd_unitdir}/system/arno-iptables-firewall.service
 	sed -i -e 's%/usr/local/sbin%${sbindir}%g' ${D}${bindir}/arno-iptables-firewall
 	sed -i -e 's%/usr/local%${exec_prefix}%g' ${D}${sysconfdir}/arno-iptables-firewall/firewall.conf
diff --git a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
index de6a72e..e76238f 100644
--- a/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.6.bb
@@ -32,3 +32,8 @@
     sed -i 's!/var/!${localstatedir}/!g' ${D}/${sysconfdir}/init.d/conntrack-failover ${D}/${sysconfdir}/init.d/conntrackd ${D}/${sysconfdir}/conntrackd/conntrackd.conf.sample
     sed -i 's!^export PATH=.*!export PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}/${sysconfdir}/init.d/conntrackd
 }
+
+# fix error message: Do not forget that you need *root* or CAP_NET_ADMIN capabilities ;-)
+pkg_postinst:${PN} () {
+    setcap cap_net_admin+ep $D/${sbindir}/conntrack"
+}
\ No newline at end of file
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/run-ptest b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/run-ptest
new file mode 100644
index 0000000..611b844
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables/run-ptest
@@ -0,0 +1,2 @@
+#!/bin/sh
+tests/shell/run-tests.sh -v
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.2.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.2.bb
index fd8e26e..e078be7 100644
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.2.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.2.bb
@@ -11,11 +11,12 @@
 
 SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \
            file://0001-examples-compile-with-make-check-and-add-AM_CPPFLAGS.patch \
+           file://run-ptest \
           "
 
 SRC_URI[sha256sum] = "0b28a36ffcf4567b841de7bd3f37918b1fed27859eb48bdec51e1f7a83954c02"
 
-inherit autotools manpages pkgconfig
+inherit autotools manpages pkgconfig ptest
 
 PACKAGECONFIG ??= "python readline json"
 PACKAGECONFIG[json] = "--with-json, --without-json, jansson"
@@ -32,3 +33,21 @@
 PACKAGES =+ "${PN}-python"
 FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
 RDEPENDS:${PN}-python = "python3-core python3-json ${PN}"
+
+RDEPENDS:${PN}-ptest += " make bash python3-core python3-ctypes python3-json python3-misc util-linux"
+
+TESTDIR = "tests"
+
+PRIVATE_LIBS:${PN}-ptest:append = "libnftables.so.1"
+
+do_install_ptest() {
+    cp -rf ${S}/build-aux ${D}${PTEST_PATH}
+    cp -rf ${S}/src ${D}${PTEST_PATH}
+    mkdir -p ${D}${PTEST_PATH}/src/.libs
+    cp -rf ${B}/src/.libs/* ${D}${PTEST_PATH}/src/.libs
+    cp -rf ${B}/src/.libs/nft ${D}${PTEST_PATH}/src/
+    cp -rf ${S}/py ${D}${PTEST_PATH}
+    cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}/${TESTDIR}
+    sed -i 's#/usr/bin/python#/usr/bin/python3#' ${D}${PTEST_PATH}/${TESTDIR}/json_echo/run-test.py
+    sed -i 's#/usr/bin/env python#/usr/bin/env python3#' ${D}${PTEST_PATH}/${TESTDIR}/py/nft-test.py
+}
diff --git a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.10.bb b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.11.bb
similarity index 80%
rename from meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.10.bb
rename to meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.11.bb
index 529cccf..dd1d693 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.10.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/babeld/babeld_1.11.bb
@@ -12,8 +12,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=411a48ac3c2e9e0911b8dd9aed26f754"
 
-SRC_URI = "git://github.com/jech/babeld.git;protocol=https;branch=master"
-SRCREV = "dbb8799d1b5b3bfaf4387386c92369c847704480"
+SRC_URI = "gitsm://github.com/jech/babeld.git;protocol=https;branch=master"
+SRCREV = "f82a10e97a02849cd82087863055c9af08ca3454"
 
 UPSTREAM_CHECK_GITTAGREGEX = "babeld-(?P<pver>\d+(\.\d+)+)"
 
@@ -24,6 +24,6 @@
 }
 
 do_install () {
-	oe_runmake install.minimal PREFIX=${D}
+	oe_runmake install.minimal TARGET=${D} PREFIX=${root_prefix}
 }
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/frr.pam b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/frr.pam
new file mode 100644
index 0000000..83c403c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/frr.pam
@@ -0,0 +1,13 @@
+#
+# The PAM configuration file for the frr `vtysh' service
+#
+
+# This allows root to change user infomation without being
+# prompted for a password
+auth		sufficient	pam_rootok.so
+
+# The standard Unix authentication modules, used with
+# NIS (man nsswitch) as well as normal /etc/passwd and
+# /etc/shadow entries.
+auth       include      common-auth
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb
new file mode 100644
index 0000000..05195a3
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.2.2.bb
@@ -0,0 +1,123 @@
+SUMMARY = "BGP/OSPF/RIP routing daemon"
+DESCRIPTION = "FRRouting is a free and open source Internet routing protocol suite for Linux \
+and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric \
+and VRRP, with alpha support for EIGRP and NHRP."
+HOMEPAGE = "https://frrouting.org/"
+SECTION = "net"
+
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://COPYING-LGPLv2.1;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/8.2 \
+           file://frr.pam \
+	      "
+
+SRCREV = "79188bf710e92acf42fb5b9b0a2e9593a5ee9b05"
+
+S = "${WORKDIR}/git"
+
+# Due to libyang not supported on these arches:
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:armv5 = "null"
+
+# Fail to build on mips64 with error:
+# Error: PC-relative reference to a different section
+COMPATIBLE_HOST:mips64 = "null"
+
+inherit autotools-brokensep python3native pkgconfig useradd systemd
+
+DEPENDS:class-native = "bison-native elfutils-native"
+DEPENDS:class-target = "bison-native json-c readline c-ares libyang frr-native"
+
+RDEPENDS:${PN}:class-target = "iproute2 python3-core bash"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG:class-native = ""
+
+PACKAGECONFIG[fpm] = "--enable-fpm,--disable-fpm"
+PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam"
+PACKAGECONFIG[grpc] = "--enable-grpc,--disable-grpc,grpc-native grpc"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
+PACKAGECONFIG[zeromq] = "--enable-zeromq,--disable-zeromq,zeromq"
+PACKAGECONFIG[protobuf] = "--enable-protobuf,--disable-protobuf,protobuf-c-native protobuf-c"
+PACKAGECONFIG[capabilities] = "--enable-capabilities,--disable-capabilities,libcap"
+PACKAGECONFIG[cumulus] = "--enable-cumulus,--disable-cumulus"
+PACKAGECONFIG[datacenter] = "--enable-datacenter,--disable-datacenter"
+PACKAGECONFIG[ospfclient] = "--enable-ospfapi --enable-ospfclient,--disable-ospfapi --disable-ospfclient"
+
+EXTRA_OECONF:class-native = "--enable-clippy-only"
+
+EXTRA_OECONF:class-target = "--sbindir=${libdir}/frr \
+                             --sysconfdir=${sysconfdir}/frr \
+                             --localstatedir=${localstatedir}/run/frr \
+                             --enable-vtysh \
+                             --enable-multipath=64 \
+                             --enable-user=frr \
+                             --enable-group=frr \
+                             --enable-vty-group=frrvty \
+                             --enable-configfile-mask=0640 \
+                             --enable-logfile-mask=0640 \
+                             --disable-doc \
+                             --with-clippy=${RECIPE_SYSROOT_NATIVE}/usr/lib/clippy \
+                            "
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
+
+LDFLAGS:append:mips = " -latomic"
+LDFLAGS:append:mipsel = " -latomic"
+LDFLAGS:append:powerpc = " -latomic"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "frr.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_compile:class-native () {
+    oe_runmake clippy-only
+}
+
+do_install:class-native () {
+    install -d ${D}${libdir}
+    install -m 755 ${S}/lib/clippy ${D}${libdir}/clippy
+}
+
+do_install:append:class-target () {
+    install -m 0755 -d ${D}${sysconfdir}/frr
+    install -m 0640 ${S}/tools/etc/frr/* ${D}${sysconfdir}/frr/
+    chown frr:frrvty ${D}${sysconfdir}/frr
+    chown frr:frr ${D}${sysconfdir}/frr/*
+    chown frr:frrvty ${D}${sysconfdir}/frr/vtysh.conf
+    chmod 640 ${D}${sysconfdir}/frr/*
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
+        install -d ${D}/${sysconfdir}/pam.d
+        install -m 644 ${WORKDIR}/frr.pam ${D}/${sysconfdir}/pam.d/frr
+    fi
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 ${B}/tools/frrinit.sh ${D}${sysconfdir}/init.d/frr
+
+        install -d ${D}${sysconfdir}/default/volatiles
+        echo "d frr frr 0755 ${localstatedir}/run/frr none" \
+            > ${D}${sysconfdir}/default/volatiles/99_frr
+    fi
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -d ${D}${systemd_system_unitdir}
+        install -m 0644 ${B}/tools/frr*.service ${D}${systemd_system_unitdir}
+
+        install -d ${D}${sysconfdir}/tmpfiles.d
+        echo "d /run/frr 0755 frr frr -" \
+            > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+    fi
+}
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "--system frr ; --system frrvty"
+USERADD_PARAM:${PN} = "--system --home ${localstatedir}/run/frr/ -M -g frr -G frrvty --shell /bin/false frr"
+
+FILES:${PN} += "${datadir}/yang"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
index d976680..84e3ad0 100644
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
@@ -1,18 +1,24 @@
-From 83764f5d57b3370e0b04a70f814ca49237a66eea Mon Sep 17 00:00:00 2001
+From 69011c7227ad1aaf08d5ab28e46f85dac951c597 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 5 Sep 2019 18:57:39 +0800
-Subject: [PATCH] drbd-utils: support usrmerge
+Date: Thu, 21 Apr 2022 17:22:35 +0800
+Subject: [PATCH] drbd-utils: support usermerge
 
 Upstream-Status: Inappropriate[oe-specific]
 
 Signed-off-by: Changqing Li <changqing.li@windriver.com>
 Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
 ---
- configure.ac         |  2 +-
- scripts/Makefile.in  | 10 +++++-----
- user/v83/Makefile.in | 14 +++++++-------
- user/v84/Makefile.in | 14 +++++++-------
- 4 files changed, 20 insertions(+), 20 deletions(-)
+ configure.ac                             |  2 +-
+ scripts/Makefile.in                      | 10 +++++-----
+ scripts/drbd-demote-or-escalate@.service |  2 +-
+ scripts/drbd-promote@.service            |  4 ++--
+ scripts/drbd-wait-promotable@.service    |  2 +-
+ scripts/drbd.service                     |  6 +++---
+ scripts/drbd@.service                    |  6 +++---
+ scripts/ocf.ra@.service                  |  4 ++--
+ user/v83/Makefile.in                     | 14 +++++++-------
+ user/v84/Makefile.in                     | 14 +++++++-------
+ 10 files changed, 32 insertions(+), 32 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
 index ae575586..3d7deeae 100644
@@ -28,7 +34,7 @@
     test x"$with_udev" = xyes ; then
  	if test x"$PKG_CONFIG" != x; then
 diff --git a/scripts/Makefile.in b/scripts/Makefile.in
-index fcd298e9..2521fb08 100644
+index fcd298e9..bab441a5 100644
 --- a/scripts/Makefile.in
 +++ b/scripts/Makefile.in
 @@ -88,11 +88,11 @@ ifeq ($(subst both,systemd,$(initscripttype)),systemd)
@@ -40,14 +46,97 @@
 -	install -m 755 drbd-service-shim.sh $(DESTDIR)/lib/drbd/scripts
 -	install -m 755 drbd-wait-promotable.sh $(DESTDIR)/lib/drbd/scripts
 -	install -m 755 ocf.ra.wrapper.sh $(DESTDIR)/lib/drbd/scripts
-+	install -d $(DESTDIR)/${nonarch_libdir}/drbdscripts
-+	install -m 755 drbd $(DESTDIR)/${nonarch_libdir}/drbdscripts
-+	install -m 755 drbd-service-shim.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
-+	install -m 755 drbd-wait-promotable.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
-+	install -m 755 ocf.ra.wrapper.sh $(DESTDIR)/${nonarch_libdir}/drbdscripts
++	install -d $(DESTDIR)/${nonarch_libdir}/drbd/scripts
++	install -m 755 drbd $(DESTDIR)/${nonarch_libdir}/drbd/scripts
++	install -m 755 drbd-service-shim.sh $(DESTDIR)/${nonarch_libdir}/drbd/scripts
++	install -m 755 drbd-wait-promotable.sh $(DESTDIR)/${nonarch_libdir}/drbd/scripts
++	install -m 755 ocf.ra.wrapper.sh $(DESTDIR)/${nonarch_libdir}/drbd/scripts
  	install -d $(DESTDIR)$(tmpfilesdir)/
  	install -m 444 drbd.tmpfiles.conf $(DESTDIR)$(tmpfilesdir)/drbd.conf
  endif
+diff --git a/scripts/drbd-demote-or-escalate@.service b/scripts/drbd-demote-or-escalate@.service
+index 20932238..8b5ce4a2 100644
+--- a/scripts/drbd-demote-or-escalate@.service
++++ b/scripts/drbd-demote-or-escalate@.service
+@@ -28,5 +28,5 @@ TimeoutSec=60
+ # "Type=forking" would be an option to have it retry a number of times,
+ # and then only escalate to FailureAction if that did not help.
+ Type=oneshot
+-ExecStart=/lib/drbd/scripts/drbd-service-shim.sh secondary-or-escalate %I
++ExecStart=@nonarch_libdir@/drbd/scripts/drbd-service-shim.sh secondary-or-escalate %I
+ ExecStopPost=-/bin/journalctl --sync
+diff --git a/scripts/drbd-promote@.service b/scripts/drbd-promote@.service
+index 71345d9b..678e0703 100644
+--- a/scripts/drbd-promote@.service
++++ b/scripts/drbd-promote@.service
+@@ -24,5 +24,5 @@ RemainAfterExit=yes
+ # (ab)using systemd features
+ # if we cannot configure and promote, that's a condition, not a failure
+ # See the comment above wrt. FailureAction vs OnFailure
+-ExecCondition=/lib/drbd/scripts/drbd-service-shim.sh primary %I
+-ExecStop=/lib/drbd/scripts/drbd-service-shim.sh secondary %I
++ExecCondition=@nonarch_libdir@/drbd/scripts/drbd-service-shim.sh primary %I
++ExecStop=@nonarch_libdir@/drbd/scripts/drbd-service-shim.sh secondary %I
+diff --git a/scripts/drbd-wait-promotable@.service b/scripts/drbd-wait-promotable@.service
+index 81c3789f..3416abc6 100644
+--- a/scripts/drbd-wait-promotable@.service
++++ b/scripts/drbd-wait-promotable@.service
+@@ -10,7 +10,7 @@ Type=oneshot
+ 
+ # on first start, wait for access to "good data"
+ # let systemd handle timeouts
+-ExecStart=/lib/drbd/scripts/drbd-wait-promotable.sh %I
++ExecStart=@nonarch_libdir@/drbd/scripts/drbd-wait-promotable.sh %I
+ RemainAfterExit=yes
+ 
+ [Install]
+diff --git a/scripts/drbd.service b/scripts/drbd.service
+index 96c599e7..c81e95a6 100644
+--- a/scripts/drbd.service
++++ b/scripts/drbd.service
+@@ -12,11 +12,11 @@ RemainAfterExit=yes
+ # A check for INIT_VERSION already exists, just set it to something.
+ Environment=INIT_VERSION=systemd
+ 
+-ExecStart=/lib/drbd/scripts/drbd start
+-ExecStop=/lib/drbd/scripts/drbd stop
++ExecStart=@nonarch_libdir@/drbd/scripts/drbd start
++ExecStop=@nonarch_libdir@/drbd/scripts/drbd stop
+ 
+ # Re-adjust everything on reload
+-ExecReload=/lib/drbd/scripts/drbd reload
++ExecReload=@nonarch_libdir@/drbd/scripts/drbd reload
+ 
+ [Install]
+ WantedBy=multi-user.target
+diff --git a/scripts/drbd@.service b/scripts/drbd@.service
+index 76514c5b..e2e500ba 100644
+--- a/scripts/drbd@.service
++++ b/scripts/drbd@.service
+@@ -35,8 +35,8 @@ RemainAfterExit=yes
+ 
+ # depends... do we want this as ExecCondition or as ExecStart
+ # failed start is "failed", failed condition is just "not startable yet"
+-ExecStart=/lib/drbd/scripts/drbd-service-shim.sh adjust %I
+-ExecReload=/lib/drbd/scripts/drbd-service-shim.sh adjust %I
++ExecStart=@nonarch_libdir@/drbd/scripts/drbd-service-shim.sh adjust %I
++ExecReload=@nonarch_libdir@/drbd/scripts/drbd-service-shim.sh adjust %I
+ 
+ # can only succeed, if you first stop all depending services
+-ExecStopPost=/lib/drbd/scripts/drbd-service-shim.sh down %I
++ExecStopPost=@nonarch_libdir@/drbd/scripts/drbd-service-shim.sh down %I
+diff --git a/scripts/ocf.ra@.service b/scripts/ocf.ra@.service
+index 9c2268a6..1666c482 100644
+--- a/scripts/ocf.ra@.service
++++ b/scripts/ocf.ra@.service
+@@ -22,5 +22,5 @@ Environment=monitor_inverval=30
+ # Only the first argument is used by the wrapper,
+ # the %n is just to identify which is which in the process list.
+ # All parameterization is done via Environment= in per instance override.conf
+-ExecStart=/lib/drbd/scripts/ocf.ra.wrapper.sh start-and-monitor %n
+-ExecStopPost=/lib/drbd/scripts/ocf.ra.wrapper.sh stop %n
++ExecStart=@nonarch_libdir@/drbd/scripts/ocf.ra.wrapper.sh start-and-monitor %n
++ExecStopPost=@nonarch_libdir@/drbd/scripts/ocf.ra.wrapper.sh stop %n
 diff --git a/user/v83/Makefile.in b/user/v83/Makefile.in
 index 08cfe574..4c4971b6 100644
 --- a/user/v83/Makefile.in
@@ -111,5 +200,5 @@
  spell:
  	for f in drbdadm_adjust.c drbdadm_main.c drbdadm_parser.c drbdadm_usage_cnt.c drbdsetup.c drbdtool_common.c; do \
 -- 
-2.33.0
+2.25.1
 
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
index 640e4e7..deaab64 100644
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.20.2.bb
@@ -10,9 +10,10 @@
 
 SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=${PV};protocol=https \
            git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers;branch=master;protocol=https \
-           ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \
            file://0001-drbdmon-add-LDFLAGS-when-linking.patch \
-          "
+           ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \
+           "
+
 SRCREV_drbd-utils = "087ee6b4961ca154d76e4211223b03149373bed8"
 SRCREV_drbd-headers = "f1529aa84e9d2f66c96ad283a1bbb708aabf03f7"
 
@@ -47,6 +48,13 @@
     # don't install empty /var/lock and /var/run to avoid conflict with base-files
     rm -rf ${D}${localstatedir}/lock
     rm -rf ${D}${localstatedir}/run
+
+    sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-demote-or-escalate@.service
+    sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-promote@.service
+    sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-wait-promotable@.service
+    sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd.service
+    sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd@.service
+    sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/ocf.ra@.service
 }
 
 RDEPENDS:${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy"
diff --git a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate/0001-Make-environment-variables-assignments-to-be-weak.patch b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate/0001-Make-environment-variables-assignments-to-be-weak.patch
deleted file mode 100644
index 0ee44c1..0000000
--- a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate/0001-Make-environment-variables-assignments-to-be-weak.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 04603f52d793f964653e6a985944400fe4fa87ee Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 17:50:20 -0700
-Subject: [PATCH] Make environment variables assignments to be weak
-
-So that OE can override them for cross builds
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 1c80c09..884126c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -2,11 +2,11 @@ prefix = $(DESTDIR)/usr
- bindir = ${prefix}/bin
- mandir = ${prefix}/share/man
- 
--CC = gcc
-+CC ?= gcc
- CFLAGS += -Wall -std=c99 -pedantic -O2
- 
--INSTALL = /usr/bin/install -c
--STRIP = /usr/bin/strip -s
-+INSTALL ?= /usr/bin/install -c
-+STRIP ?= /usr/bin/strip -s
- 
- all: htpdate
- 
diff --git a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate/0001-Replace-ntp_adjtime-with-adjtimex.patch b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate/0001-Replace-ntp_adjtime-with-adjtimex.patch
deleted file mode 100644
index cca8c6c..0000000
--- a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate/0001-Replace-ntp_adjtime-with-adjtimex.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 75646a2d2df14fdbc4a01e222a779afac94861d1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 14 Jun 2018 20:11:08 -0700
-Subject: [PATCH] Replace ntp_adjtime with adjtimex.
-
-ntp_adjtime in glibc is an alias to adjtimex and
-musl does not provide ntp_adjtime at all
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- htpdate.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/htpdate.c b/htpdate.c
-index 4171efe..ff0bf8d 100644
---- a/htpdate.c
-+++ b/htpdate.c
-@@ -391,7 +391,7 @@ static int htpdate_adjtimex( double drift ) {
- 
- 	/* Read current kernel frequency */
- 	tmx.modes = 0;
--	ntp_adjtime(&tmx);
-+	adjtimex(&tmx);
- 
- 	/* Calculate new frequency */
- 	freq = (long)(65536e6 * drift);
-@@ -406,7 +406,7 @@ static int htpdate_adjtimex( double drift ) {
- 
- 	/* Become root */
- 	swuid(0);
--	return( ntp_adjtime(&tmx) );
-+	return( adjtimex(&tmx) );
- 
- }
- 
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.2.bb b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.4.bb
similarity index 64%
rename from meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.2.bb
rename to meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.4.bb
index 156ea3c..d256006 100644
--- a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.3.4.bb
@@ -1,8 +1,4 @@
-# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
 SUMMARY = "HTTP based time synchronization tool"
-
 DESCRIPTION = "The  HTTP Time Protocol (HTP) is used to synchronize a computer's time with\
  web servers as reference time source. This program can be used instead\
  ntpdate or similar, in networks that has a firewall blocking the NTP port.\
@@ -12,18 +8,15 @@
  Htpdate works through proxy servers. Accuracy of htpdate will be usually\
  within 0.5 seconds (better with multiple servers).\
 "
-
-HOMEPAGE = "http://www.vervest.org/htp/"
-
+HOMEPAGE = "https://github.com/twekkel/htpdate"
+BUGTRACKER = "https://github.com/twekkel/htpdate/issues"
 LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://htpdate.c;beginline=26;endline=30;md5=d7018a4d2c5a6eab392709a05e5e168a"
+LIC_FILES_CHKSUM = "file://htpdate.c;beginline=26;endline=30;md5=2b6cdb94bd5349646d7e33f9f501eef7"
 
-SRC_URI = "http://www.vervest.org/htp/archive/c/htpdate-${PV}.tar.xz \
-           file://0001-Make-environment-variables-assignments-to-be-weak.patch \
-           file://0001-Replace-ntp_adjtime-with-adjtimex.patch \
-           "
-SRC_URI[md5sum] = "aad8c33933648532ac8716c809b15be1"
-SRC_URI[sha256sum] = "5f1f959877852abb3153fa407e8532161a7abe916aa635796ef93f8e4119f955"
+SRC_URI = "http://www.vervest.org/htp/archive/c/htpdate-${PV}.tar.gz"
+SRC_URI[sha256sum] = "744f9200cfd3b008a5516c5eb6da727af532255a329126a7b8f49a5623985642"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
 
 do_configure () {
 	:
@@ -36,4 +29,3 @@
 do_install () {
 	oe_runmake install 'INSTALL=install' 'STRIP=echo' 'DESTDIR=${D}'
 }
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp/0001-Add-build-option-for-NTLM-support.patch b/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp/0001-Add-build-option-for-NTLM-support.patch
new file mode 100644
index 0000000..64938a4
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp/0001-Add-build-option-for-NTLM-support.patch
@@ -0,0 +1,85 @@
+From 1c304e7886a08fb56485e41614ff3f8685afb59d Mon Sep 17 00:00:00 2001
+From: Jiaqing Zhao <jiaqing.zhao@intel.com>
+Date: Tue, 8 Mar 2022 15:05:32 +0000
+Subject: [PATCH] Add build option for NTLM support
+
+Currently, NTLM plugin is built by default when openssl is available
+and STARTTLS is enabled. But in libesmtp 1.0.6, there is a separate
+build option. This commits adds the 'ntlm' option back. It's also
+disabled by default.
+
+Like 1.0.6, it will check openssl MD4 algorithm support as MD4 is
+insecure and modern systems may drop MD4 support.
+
+Upstream-Status: Accepted [https://github.com/libesmtp/libESMTP/commit/1c304e7886a08fb56485e41614ff3f8685afb59d]
+Signed-off-by: Jiaqing Zhao <jiaqing.zhao@intel.com>
+---
+ meson.build       | 13 ++++++++++---
+ meson_options.txt |  1 +
+ ntlm/meson.build  |  2 +-
+ 3 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 11d6ed8..d2a0e06 100644
+--- a/meson.build
++++ b/meson.build
+@@ -61,6 +61,7 @@ add_project_arguments(cc.get_supported_arguments(cflags), language: 'c')
+ ################################################################################
+ dldep = cc.find_library('dl')
+ ssldep = dependency('openssl', version : '>=1.1.0', required : get_option('tls'))
++ntlmdep = dependency('openssl', version : '>=1.1.0', required : get_option('ntlm'))
+ threaddep = dependency('threads', required : get_option('pthreads'))
+ 
+ #XXX add test for libbind9.so
+@@ -69,6 +70,7 @@ lwresdep = cc.find_library('lwres', required : get_option('lwres'))
+ deps = [
+   dldep,
+   ssldep,
++  ntlmdep,
+   threaddep,
+   lwresdep,
+ ]
+@@ -237,8 +239,12 @@ include_dir = include_directories('.')
+ subdir('login')
+ subdir('plain')
+ subdir('crammd5')
+-if ssldep.found()
+-  subdir('ntlm')
++if ntlmdep.found()
++  if cc.has_header('openssl/md4.h') and cc.has_function('MD4_Init', dependencies : ntlmdep)
++    subdir('ntlm')
++  else
++    error('MD4 is not supported in current openssl, unable to build NTLM plugin')
++  endif
+ endif
+ 
+ ################################################################################
+@@ -264,4 +270,5 @@ summary({'current:revision:age': libesmtp_cra,
+ 	 'STARTTLS': ssldep.found(),
+ 	 'CHUNKING': get_option('bdat'),
+ 	 'ETRN': get_option('etrn'),
+-	 'XUSR': get_option('xusr')})
++	 'XUSR': get_option('xusr'),
++	 'NTLM': ntlmdep.found()})
+diff --git a/meson_options.txt b/meson_options.txt
+index 8375e2c..158f38f 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -5,3 +5,4 @@ option('lwres', type : 'feature', value : 'disabled', description : 'use lwres l
+ option('bdat', type : 'boolean', value : 'true', description : 'enable SMTP BDAT extension')
+ option('etrn', type : 'boolean', value : 'true', description : 'enable SMTP ETRN extension')
+ option('xusr', type : 'boolean', value : 'true', description : 'enable sendmail XUSR extension')
++option('ntlm', type : 'feature', value : 'disabled', description : 'build with support for NTLM authentication')
+diff --git a/ntlm/meson.build b/ntlm/meson.build
+index e0eef58..11d7f58 100644
+--- a/ntlm/meson.build
++++ b/ntlm/meson.build
+@@ -5,7 +5,7 @@ sasl_ntlm_sources = [
+   'ntlmstruct.c',
+ ]
+ 
+-ntlm_deps = [ ssldep, ]
++ntlm_deps = [ ntlmdep, ]
+ 
+ sasl_ntlm = shared_module('ntlm', sasl_ntlm_sources,
+ 			  name_prefix : 'sasl-',
diff --git a/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb b/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb
index 231c572..bf1a12d 100644
--- a/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libesmtp/libesmtp_1.1.0.bb
@@ -8,7 +8,8 @@
 
 DEPENDS = "openssl"
 
-SRC_URI = "git://github.com/libesmtp/libESMTP.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/libesmtp/libESMTP.git;branch=master;protocol=https \
+           file://0001-Add-build-option-for-NTLM-support.patch"
 SRCREV = "1d0af244310a66943ab400be56b15a9087f181eb"
 
 S = "${WORKDIR}/git"
@@ -26,6 +27,7 @@
     -Dbdat=true \
     -Detrn=true \
     -Dxusr=true \
+    -Dntlm=disabled \
 "
 
 FILES:${PN} = "${libdir}/lib*${SOLIBS} \
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.2.bb b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.3.bb
similarity index 87%
rename from meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.2.bb
rename to meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.3.bb
index a9c6794..6dd3ec3 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_2.3.3.bb
@@ -32,8 +32,8 @@
                     file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
                     file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
 
-SRC_URI[md5sum] = "650a05f8a2b2e6455f590dc815a71879"
-SRC_URI[sha256sum] = "1416c949dc4326e41c0d8a5ecf8ef784f8c0b6e9d3dad8fa971e84ad56227603"
+SRC_URI[md5sum] = "6824f69ea3bb58cb8a3be4c179e7569a"
+SRC_URI[sha256sum] = "9ef39700ff05b3e8f5801d2a39fe1ba023218650f81c9d377caca22f49076807"
 
 inherit pkgconfig waf-samba
 
@@ -68,3 +68,14 @@
 FILES:pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
                    ${libdir}/.debug/libpyldb-util.*.so.*"
 FILES:pyldb-dev = "${libdir}/libpyldb-util.*.so"
+
+# Prevent third_party/waf/waflib/Configure.py checking host's path which is
+# incorrect for cross building.
+export PREFIX = "/"
+export LIBDIR = "${libdir}"
+export BINDIR = "${bindir}"
+
+do_configure:prepend() {
+    # For a clean rebuild
+    rm -fr bin/
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-make-Add-PREFIX-knob.patch b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-make-Add-PREFIX-knob.patch
new file mode 100644
index 0000000..9c83ef0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-make-Add-PREFIX-knob.patch
@@ -0,0 +1,31 @@
+From 94cb952207e44a5c29578c9c56912190a5422876 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 23 Apr 2022 09:41:51 -0700
+Subject: [PATCH] make: Add PREFIX knob
+
+This will be used to pass appropriate root prefix which is different
+when using usrmerge
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/extra/Makefile.am | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/src/extra/Makefile.am
++++ b/src/extra/Makefile.am
+@@ -8,10 +8,10 @@ BUILT_SOURCES = pca200e.bin pca200e_ecd.
+ CLEANFILES = pca200e.bin pca200e_ecd.bin2 sba200e_ecd.bin2
+ 
+ install-exec-hook:
+-	$(MKDIR_P) $(DESTDIR)/lib/firmware
+-	$(INSTALL_DATA) $(builddir)/pca200e.bin $(DESTDIR)/lib/firmware
+-	$(INSTALL_DATA) $(builddir)/pca200e_ecd.bin2 $(DESTDIR)/lib/firmware
+-	$(INSTALL_DATA) $(builddir)/sba200e_ecd.bin2 $(DESTDIR)/lib/firmware
++	$(MKDIR_P) $(DESTDIR)$(ROOTPREFIX)/lib/firmware
++	$(INSTALL_DATA) $(builddir)/pca200e.bin $(DESTDIR)$(ROOTPREFIX)/lib/firmware
++	$(INSTALL_DATA) $(builddir)/pca200e_ecd.bin2 $(DESTDIR)$(ROOTPREFIX)/lib/firmware
++	$(INSTALL_DATA) $(builddir)/sba200e_ecd.bin2 $(DESTDIR)$(ROOTPREFIX)/lib/firmware
+ 
+ %.bin %.bin2: %.data
+ 	objcopy -Iihex $< -Obinary $@.gz
diff --git a/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
index effd750..bb79b78 100644
--- a/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
@@ -13,11 +13,11 @@
            file://0003-mpoad-Drop-old-hack-to-compile-with-very-old-glibc.patch \
            file://0001-IFNAMSIZ-is-defined-in-net-if.h.patch \
            file://0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch \
+           file://0001-make-Add-PREFIX-knob.patch \
 "
 
 SRC_URI:append:libc-musl = " file://musl-no-on_exit.patch"
 
-SRC_URI[md5sum] = "d49499368c3cf15f73a05d9bce8824a8"
 SRC_URI[sha256sum] = "9645481a2b16476b59220aa2d6bc5bc41043f291326c9b37581018fbd16dd53a"
 
 LIC_FILES_CHKSUM = "\
@@ -27,7 +27,6 @@
 
 inherit autotools pkgconfig
 
-# The firmware is explicitly put under /lib when installed.
-#
+EXTRA_OEMAKE += "ROOTPREFIX=${root_prefix}"
 
-FILES:${PN} += "/lib/firmware"
+FILES:${PN} += "${nonarch_base_libdir}/firmware"
diff --git a/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0002-stats_prefix.c-Check-for-NDEBUG-before-using-total_w.patch b/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0002-stats_prefix.c-Check-for-NDEBUG-before-using-total_w.patch
deleted file mode 100644
index 2979552..0000000
--- a/meta-openembedded/meta-networking/recipes-support/memcached/memcached/0002-stats_prefix.c-Check-for-NDEBUG-before-using-total_w.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From d6294e9166e4875a0572349aabcc5e51acbd2e3c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 4 Jun 2021 11:33:12 -0700
-Subject: [PATCH] stats_prefix.c: Check for NDEBUG before using total_written
- variable
-
-When using NDEBUG assert macro is ineffective which is caught by latest
-clang and reports that total_written is set but unused. Therefore check
-for NDEBUG to make sure assert is used only when its effective
-
-Fixes
-error: variable 'total_written' set but not used [-Werror,-Wunused-but-set-variable]
-    size_t size = 0, written = 0, total_written = 0;
-                                  ^
-Upstream-Status: Submitted [https://github.com/memcached/memcached/pull/792]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- stats_prefix.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/stats_prefix.c b/stats_prefix.c
-index 62f0d04..d72e514 100644
---- a/stats_prefix.c
-+++ b/stats_prefix.c
-@@ -127,8 +127,10 @@ char *stats_prefix_dump(int *length) {
-     PREFIX_STATS *pfs;
-     char *buf;
-     int i, pos;
--    size_t size = 0, written = 0, total_written = 0;
--
-+    size_t size = 0, written = 0;
-+#ifndef NDEBUG
-+    size_t total_written = 0;
-+#endif
-     /*
-      * Figure out how big the buffer needs to be. This is the sum of the
-      * lengths of the prefixes themselves, plus the size of one copy of
-@@ -154,8 +156,10 @@ char *stats_prefix_dump(int *length) {
-                            pfs->prefix, pfs->num_gets, pfs->num_hits,
-                            pfs->num_sets, pfs->num_deletes);
-             pos += written;
-+#ifndef NDEBUG
-             total_written += written;
-             assert(total_written < size);
-+#endif
-         }
-     }
- 
diff --git a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.9.bb b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.15.bb
similarity index 90%
rename from meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.9.bb
rename to meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.15.bb
index adf3c34..b28bfe7 100644
--- a/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.9.bb
+++ b/meta-openembedded/meta-networking/recipes-support/memcached/memcached_1.6.15.bb
@@ -21,9 +21,8 @@
 
 SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \
            file://memcached-add-hugetlbfs-check.patch \
-           file://0002-stats_prefix.c-Check-for-NDEBUG-before-using-total_w.patch \
            "
-SRC_URI[sha256sum] = "d5a62ce377314dbffdb37c4467e7763e3abae376a16171e613cbe69956f092d1"
+SRC_URI[sha256sum] = "8d7abe3d649378edbba16f42ef1d66ca3f2ac075f2eb97145ce164388e6ed515"
 
 # set the same COMPATIBLE_HOST as libhugetlbfs
 COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*"
diff --git a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.7.bb b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.1.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.7.bb
rename to meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.1.bb
index 7eb99c1..1fea2f5 100644
--- a/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.25.7.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nbdkit/nbdkit_1.31.1.bb
@@ -12,7 +12,7 @@
 SRC_URI = "git://github.com/libguestfs/nbdkit.git;protocol=https;branch=master \
 "
 
-SRCREV = "babc2e2717c9025392dce613006a6ecae5886a57"
+SRCREV = "ff4bc950c336477de1765ab1f0826c199f013ffd"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_39.0.bb b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_40.0.bb
similarity index 95%
rename from meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_39.0.bb
rename to meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_40.0.bb
index 5fb72c7..c567e33 100644
--- a/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_39.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/rdma-core/rdma-core_40.0.bb
@@ -6,7 +6,7 @@
 RDEPENDS:${PN} = "bash perl"
 
 SRC_URI = "git://github.com/linux-rdma/rdma-core.git;branch=master;protocol=https"
-SRCREV = "b2fedc4b1b891afd2c26ebfd21f9e440e83c28ff"
+SRCREV = "a3e69268892bbd5ab30123748e89a26509a25ac5"
 S = "${WORKDIR}/git"
 
 #Default Dual License https://github.com/linux-rdma/rdma-core/blob/master/COPYING.md
diff --git a/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.4.bb b/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.5.bb
similarity index 89%
rename from meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.4.bb
rename to meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.5.bb
index 649e6d4..b0b96be 100644
--- a/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.4.bb
+++ b/meta-openembedded/meta-networking/recipes-support/smcroute/smcroute_2.5.5.bb
@@ -5,7 +5,7 @@
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-SRCREV = "9b6e397595a154c84a329c55bed21e0c43e89ee6"
+SRCREV = "9ca7441add4427a91fe90c34ae4a178ed9a50553"
 SRC_URI = "git://github.com/troglobit/smcroute.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.13.2.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.15.0.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.13.2.bb
rename to meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.15.0.bb
index 61a75d7..e5b6491 100644
--- a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.13.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.15.0.bb
@@ -12,7 +12,7 @@
 SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=http;branch=master;protocol=https \
 	file://0001-contrib-add-yocto-compatible-init-script.patch \
 "
-SRCREV = "8e538dcaa8df2d0fab8ff3dcf94ac1f972450b66"
+SRCREV = "c29b0e0a96c4d281aef40d69a11c564d6ed1a2c6"
 
 inherit autotools pkgconfig systemd update-rc.d
 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
index c8929b7..fe96859 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
@@ -68,13 +68,16 @@
 
     install -m 0755 -d ${D}${sysconfdir}
     install -m 0755 -d ${D}${sysconfdir}/lirc
-    install -m 0755 -d ${D}${systemd_unitdir}/system
-    install -m 0755 -d ${D}${libdir}/tmpfiles.d
     install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/
     install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/
-    install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/
-    install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/
-    install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -m 0755 -d ${D}${systemd_unitdir}/system ${D}${libdir}/tmpfiles.d
+        install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/
+        install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/
+        install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf
+    else
+        rm -rf ${D}/lib
+    fi
     rm -rf ${D}${libdir}/lirc/plugins/*.la
     rmdir ${D}/var/run/lirc ${D}/var/run
     chown -R root:root ${D}${datadir}/lirc/contrib
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.8.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.9.bb
similarity index 95%
rename from meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.8.bb
rename to meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.9.bb
index 6ff98ab..82d515d 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.8.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.9.bb
@@ -7,7 +7,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
 
-SRC_URI[sha256sum] = "35a8aa0268e61b15d689439927756934a28757dc77ad5f03ee6a9119edc37199"
+SRC_URI[sha256sum] = "3341188a386726a5feb87e5fa04edb999de69e38ee8b4ea5b7d59165729ba0be"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Do-not-use-MINSIGSTKSZ.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Do-not-use-MINSIGSTKSZ.patch
deleted file mode 100644
index 0ee64e9..0000000
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Do-not-use-MINSIGSTKSZ.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 027044a692b588ef586d495f65eb58b07cc711a3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 11 May 2021 10:15:51 -0700
-Subject: [PATCH] Do not use MINSIGSTKSZ
-
-Since glibc 2.34+ MINSIGSTKSZ is no more a constant.  So,
-let's hardwire this for now until better fix is found.
-64Kb should be good anyway
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/stdx/thread.h | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/src/mongo/stdx/thread.h b/src/mongo/stdx/thread.h
-index f8058279e3..f31f309959 100644
---- a/src/mongo/stdx/thread.h
-+++ b/src/mongo/stdx/thread.h
-@@ -104,10 +104,7 @@ private:
-     //   .                     N   Y :      4,344 |  13,048 |     7,352
-     //   .                     Y   Y :      4,424 |  13,672 |     8,392
-     //   ( https://jira.mongodb.org/secure/attachment/233569/233569_stacktrace-writeup.txt )
--    static constexpr std::size_t kMongoMinSignalStackSize = std::size_t{64} << 10;
--
--    static constexpr std::size_t kStackSize =
--        std::max(kMongoMinSignalStackSize, std::size_t{MINSIGSTKSZ});
-+    static constexpr std::size_t kStackSize = std::size_t{64} << 10;
-     std::unique_ptr<std::byte[]> _stackStorage = std::make_unique<std::byte[]>(kStackSize);
- 
- #else   // !MONGO_HAS_SIGALTSTACK
--- 
-2.31.1
-
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-explicit-typecast-to-size_t.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-explicit-typecast-to-size_t.patch
deleted file mode 100644
index 5b724ff..0000000
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-explicit-typecast-to-size_t.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 6fdb2d304e05a17e57b2efd7f8252794a8722dbe Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 1 Jun 2021 08:25:36 -0700
-Subject: [PATCH] Use explicit typecast to size_t
-
-maxMemoryUsageBytes is size_t type which may not match long long value
-internalDocumentSourceGroupMaxMemoryBytes.load() returns, so typecast it
-to avoid narrowing warning from clang
-
-document_source_group.cpp:378:22: error: non-constant-expression cannot be narrowed from type 'long long' to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
-                     maxMemoryUsageBytes ? *maxMemoryUsageBytes
-                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Submitted [https://github.com/mongodb/mongo/pull/1405]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mongo/db/pipeline/document_source_group.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/mongo/db/pipeline/document_source_group.cpp b/src/mongo/db/pipeline/document_source_group.cpp
-index c7bf44e72e..a52906a940 100644
---- a/src/mongo/db/pipeline/document_source_group.cpp
-+++ b/src/mongo/db/pipeline/document_source_group.cpp
-@@ -376,7 +376,7 @@ DocumentSourceGroup::DocumentSourceGroup(const intrusive_ptr<ExpressionContext>&
-       _doingMerge(false),
-       _memoryTracker{pExpCtx->allowDiskUse && !pExpCtx->inMongos,
-                      maxMemoryUsageBytes ? *maxMemoryUsageBytes
--                                         : internalDocumentSourceGroupMaxMemoryBytes.load()},
-+                                         : (size_t)internalDocumentSourceGroupMaxMemoryBytes.load()},
-       _initialized(false),
-       _groups(pExpCtx->getValueComparator().makeUnorderedValueMap<Accumulators>()),
-       _spilled(false) {
--- 
-2.31.1
-
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch
new file mode 100644
index 0000000..de05624
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch
@@ -0,0 +1,38 @@
+From ad37ee80b32a1f740a3197105174d74dff11e4e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Apr 2022 13:56:32 -0700
+Subject: [PATCH] add explict static_cast<size_t> to maxMemoryUsageBytes
+
+Fixes
+src/mongo/db/pipeline/document_source_group.cpp:377:22: error: non-constant-expression cannot be narrowed from type 'long long' to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
+                     maxMemoryUsageBytes ? *maxMemoryUsageBytes
+                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src/mongo/db/pipeline/document_source_group.cpp:377:22: note: insert an explicit cast to silence this issue
+                     maxMemoryUsageBytes ? *maxMemoryUsageBytes
+                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/db/pipeline/document_source_group.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/mongo/db/pipeline/document_source_group.cpp b/src/mongo/db/pipeline/document_source_group.cpp
+index 4a7b48d6cd2..9a6076c6041 100644
+--- a/src/mongo/db/pipeline/document_source_group.cpp
++++ b/src/mongo/db/pipeline/document_source_group.cpp
+@@ -374,8 +374,8 @@ DocumentSourceGroup::DocumentSourceGroup(const intrusive_ptr<ExpressionContext>&
+       _usedDisk(false),
+       _doingMerge(false),
+       _memoryTracker{pExpCtx->allowDiskUse && !pExpCtx->inMongos,
+-                     maxMemoryUsageBytes ? *maxMemoryUsageBytes
+-                                         : internalDocumentSourceGroupMaxMemoryBytes.load()},
++                     static_cast<size_t>(maxMemoryUsageBytes ? *maxMemoryUsageBytes
++                                         : internalDocumentSourceGroupMaxMemoryBytes.load())},
+       // We spill to disk in debug mode, regardless of allowDiskUse, to stress the system.
+       _file(!pExpCtx->inMongos && (pExpCtx->allowDiskUse || kDebugBuild)
+                 ? std::make_shared<Sorter<Value, Value>::File>(pExpCtx->tempDir + "/" +
+-- 
+2.35.2
+
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-server-Adjust-the-cache-alignment-assumptions.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-server-Adjust-the-cache-alignment-assumptions.patch
new file mode 100644
index 0000000..bf083c8
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-server-Adjust-the-cache-alignment-assumptions.patch
@@ -0,0 +1,37 @@
+From 5c9e0d0fc9188bab0ae09c9c33df01938b0c1b6c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Apr 2022 09:25:33 -0700
+Subject: [PATCH] server: Adjust the cache alignment assumptions
+
+aarch64 has 256 for hardware_destructive_interference_size and gcc 12
+has added a warning to complain about mismatches which results in
+static_assert failures
+
+In file included from src/mongo/s/commands/cluster_find_cmd.cpp:39:
+src/mongo/db/stats/counters.h:185:47: error: static assertion failed: cache line spill
+ 185 |     static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
+     |                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The structure need to ensure true sharing for both the elements
+so align it to hardware_constructive_interference_size instead
+
+Upstream-Status: Reported [https://jira.mongodb.org/browse/SERVER-65664]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/db/stats/counters.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/src/mongo/db/stats/counters.h
++++ b/src/mongo/db/stats/counters.h
+@@ -182,8 +182,8 @@ private:
+         AtomicWord<long long> requests{0};
+     };
+     CacheAligned<Together> _together{};
+-    static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
+-                  "cache line spill");
++    static_assert(sizeof(Together) <= stdx::hardware_constructive_interference_size,
++                   "cache line spill");
+ 
+     CacheAligned<AtomicWord<long long>> _logicalBytesOut{0};
+ 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
index 1215344..7ea728a 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
@@ -11,9 +11,9 @@
 
 inherit scons dos2unix siteinfo python3native systemd useradd
 
-PV = "4.4.7"
-#v4.4.7
-SRCREV = "abb6b9c2bf675e9e2aeaecba05f0f8359d99e203"
+PV = "4.4.13"
+#v4.4.13
+SRCREV = "df25c71b8674a78e17468f48bcda5285decb9246"
 SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4;protocol=https \
            file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
            file://0001-Use-long-long-instead-of-int64_t.patch \
@@ -29,9 +29,9 @@
            file://0001-include-needed-c-header.patch \
            file://disable_runtime_check.patch \
            file://ppc64_ARCH_BITS.patch \
-           file://0001-Do-not-use-MINSIGSTKSZ.patch \
-           file://0001-Use-explicit-typecast-to-size_t.patch \
            file://PTHREAD_STACK_MIN.patch \
+           file://0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch \
+           file://0001-server-Adjust-the-cache-alignment-assumptions.patch \
            "
 SRC_URI:append:libc-musl ="\
            file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb
index 3700d88..c239503 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb
@@ -27,6 +27,7 @@
 DEPENDS = " \
     autoconf-2.13-native \
     icu-native \
+    icu \
     cargo-native \
     zlib \
     python3-six \
@@ -48,6 +49,7 @@
     --without-system-icu \
     --disable-tests --disable-strip --disable-optimize \
     --disable-jemalloc \
+    --with-system-icu \
     ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \
     ${JIT} \
 "
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-libmatrix-Include-missing-utility-header.patch b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-libmatrix-Include-missing-utility-header.patch
new file mode 100644
index 0000000..959a18e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/files/0001-libmatrix-Include-missing-utility-header.patch
@@ -0,0 +1,24 @@
+From 45cb02332b38b2059e7e44369c3d8684492a7def Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 11:41:41 -0700
+Subject: [PATCH] libmatrix: Include missing <utility> header
+
+Fixes build with gcc12
+| ../git/src/libmatrix/program.h:43:21: error: 'exchange' is not a member of 'std'                                                   |    43 |         ready_(std::exchange(shader.ready_, false)),                                                                       |       |                     ^~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/glmark2/glmark2/pull/174]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libmatrix/program.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/libmatrix/program.h
++++ b/src/libmatrix/program.h
+@@ -13,6 +13,7 @@
+ #define PROGRAM_H_
+ 
+ #include <string>
++#include <utility>
+ #include <vector>
+ #include <map>
+ #include "mat.h"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index 47d9273..1406f68 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -17,6 +17,7 @@
     git://github.com/glmark2/glmark2.git;protocol=https;branch=master \
     file://0001-fix-dispmanx-build.patch \
     file://0002-run-dispmanx-fullscreen.patch \
+    file://0001-libmatrix-Include-missing-utility-header.patch \
     "
 SRCREV = "0858b450cd88c84a15b99dda9698d44e7f7e8c70"
 
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.1.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.2.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.1.bb
rename to meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.2.bb
index 6d181a5..825f702 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.2.bb
@@ -6,8 +6,8 @@
 SECTION = "console/tests"
 
 SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "9f107c080407b7ac195bb04e6cabb83b"
-SRC_URI[sha256sum] = "3b58ea694419ca608d729fa6ce72ed2b4c51af444729eefbcdc6e670290caa7f"
+SRC_URI[md5sum] = "459c3c45b39bb3d720ddc8ba5f944332"
+SRC_URI[sha256sum] = "86681343d20415831ab16ef6c3d1c317e2345e771925e0698ae920a03a9eaab6"
 
 S = "${WORKDIR}/phoronix-test-suite"
 
diff --git a/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.7.6.bb b/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.7.6.bb
index 20dccc2..53f1720 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.7.6.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/fwupd/fwupd_1.7.6.bb
@@ -4,8 +4,6 @@
 
 DEPENDS = "glib-2.0 libxmlb json-glib sqlite3 libjcat gcab vala-native"
 
-COMPATIBLE_HOST:libc-musl = 'null'
-
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
            file://run-ptest"
 SRC_URI[sha256sum] = "7ebe1514acb688d2649cecc392db929094da3f03cfc98a9c0faccabb084912fa"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb b/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.32.bb
similarity index 70%
rename from meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb
rename to meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.32.bb
index 54faaa3..9e6eb7b 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/lsscsi/lsscsi_0.32.bb
@@ -6,8 +6,7 @@
 
 SRC_URI = "http://sg.danny.cz/scsi/${BP}.tgz"
 
-SRC_URI[md5sum] = "efb68946f51860e8eedc18d6784afdae"
-SRC_URI[sha256sum] = "12bf1973014803c6fd6d547e7594a4c049f0eef3bf5d22190d4be29d7c09f3ca"
+SRC_URI[sha256sum] = "0a800e9e94dca2ab702d65d72777ae8cae078e3d74d0bcbed64ba0849e8029a1"
 
 inherit autotools
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.18.bb b/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.19.bb
similarity index 81%
rename from meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.18.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.19.bb
index 8a27cf9..b4cbb79 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.18.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.19.bb
@@ -7,11 +7,10 @@
 SUMMARY = "libmtp is an Initiator implementation of the Media Transfer Protocol (MTP)"
 HOMEPAGE = "http://libmtp.sourceforge.net/"
 LICENSE = "LGPL-2.1-or-later"
-LIC_FILES_CHKSUM = "\
-    file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
-    file://src/ptp.c;beginline=3;endline=22;md5=303cc4422fd549ef8689aded20434a9a \
-    file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
-"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
+                    file://src/ptp.c;beginline=3;endline=22;md5=80fd2d5904c4c1f5455d8f4bf515292f \
+                    file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
+                    "
 
 BBCLASSEXTEND = "native"
 
@@ -21,8 +20,7 @@
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
 SRC_URI:append:class-target = " file://0001-Use-native-mtp-hotplug.patch"
 
-SRC_URI[md5sum] = "7915496daa3f4ea3e095f0161f83d4d4"
-SRC_URI[sha256sum] = "7280fe50c044c818a06667f45eabca884deab3193caa8682e0b581e847a281f0"
+SRC_URI[sha256sum] = "deb4af6f63f5e71215cfa7fb961795262920b4ec6cb4b627f55b30b18aa33228"
 
 inherit autotools pkgconfig lib_package
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb
index 0921db5..b4b5aa7 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb
@@ -36,7 +36,7 @@
 # mosh uses SSH to authenticate and the client uses OpenSSH-specific features
 RDEPENDS:${PN} += "openssh-ssh ${NEEDED_PERL_MODULES}"
 # The server seemed not to work with dropbear either
-RDEPENDS:${PN}-server += "openssh-sshd ${NEEDED_PERL_MODULES}"
+RDEPENDS:${PN}-server += "openssh-sshd"
 
 # Fails to build with thumb-1 (qemuarm)
 #| {standard input}: Assembler messages:
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.14.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.14.2.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb
index 014613e..2d601a2 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.14.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.16.0.bb
@@ -11,8 +11,7 @@
 SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz \
            file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch \
           "
-SRC_URI[md5sum] = "284a48df355aa3910687ee9b894d3ae8"
-SRC_URI[sha256sum] = "4191bfc0b7490e20cc69f9f4dc6e991fbb612d4551aa9eef1dbf7f4c47ce554d"
+SRC_URI[sha256sum] = "f460b5c1ca30d8918ff95ea3eb6291b3951cf518553566088f3f2be8981f6209"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.1.0.bb b/meta-openembedded/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.1.0.bb
index 487681c..c8dabc5 100644
--- a/meta-openembedded/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.1.0.bb
@@ -7,6 +7,7 @@
 
 SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master;protocol=https \
            file://0001-Include-typeinfo-for-typeid.patch \
+           file://0001-include-utility-header.patch \
 "
 SRC_URI:append:libc-musl = "file://fix_build_musl.patch"
 SRCREV = "73532d6a5faae9c721c2cc9535b8ef32d4d18264"
diff --git a/meta-openembedded/meta-oe/recipes-core/dbus-cxx/files/0001-include-utility-header.patch b/meta-openembedded/meta-oe/recipes-core/dbus-cxx/files/0001-include-utility-header.patch
new file mode 100644
index 0000000..0c8262a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/dbus-cxx/files/0001-include-utility-header.patch
@@ -0,0 +1,32 @@
+From 63170cfcfbf483716ce2599e165db80713fc2706 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 06:47:19 -0700
+Subject: [PATCH] include utility header
+
+Needed for exchange from std namespace
+
+Fixes
+dbus-cxx/variant.cpp:135:25: error: 'exchange' is not a member of 'std'
+
+Upstream-Status: Submitted [https://github.com/dbus-cxx/dbus-cxx/pull/98]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dbus-cxx/variant.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/dbus-cxx/variant.cpp b/dbus-cxx/variant.cpp
+index bcf2684..97b622c 100644
+--- a/dbus-cxx/variant.cpp
++++ b/dbus-cxx/variant.cpp
+@@ -11,6 +11,7 @@
+ #include <dbus-cxx/dbus-cxx-private.h>
+ #include <dbus-cxx/signatureiterator.h>
+ #include <stdint.h>
++#include <utility>
+ #include "enums.h"
+ #include "path.h"
+ #include "signature.h"
+-- 
+2.35.1
+
diff --git a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.0.bb b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.0.bb
rename to meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb
index 1746e21..ae9c5bc 100644
--- a/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/opencl/ocl-icd_2.3.1.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https;branch=master"
 
-SRCREV = "59c098b6b1f97a339e3e5308499aee6538ecea40"
+SRCREV = "1165deedb2ae741cd76e60986f7c2cb5023059d9"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index bc3d4fe..765edc5 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -96,7 +96,7 @@
     acpitool \
     cpufrequtils \
     edac-utils \
-    firmwared \
+    ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "firmwared", "", d)} \
     flashrom \
     fwupd \
     fwupd-efi \
@@ -611,12 +611,12 @@
     surf \
     tesseract-lang \
     tesseract \
-    tigervnc \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "tigervnc", "", d)} \
     tslib \
     unclutter-xfixes \
     libvdpau \
     xcursorgen \
-    xscreensaver \
+    ${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xscreensaver", "", d)} \
     yad \
     parallel-deqp-runner \
     ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "opengl-es-cts", "", d)} \
@@ -729,7 +729,7 @@
     anthy \
     atop \
     ace-cloud-editor \
-    driverctl \
+    ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "driverctl", "", d)} \
     frame \
     ${@bb.utils.contains("DISTRO_FEATURES", "x11", "geis", "", d)} \
     grail \
diff --git a/meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.1.bb b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.7.1.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.1.bb
rename to meta-openembedded/meta-oe/recipes-core/safec/safec_3.7.1.bb
index 4b12159..5ffe7d7 100644
--- a/meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.1.bb
+++ b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.7.1.bb
@@ -7,8 +7,7 @@
 inherit autotools pkgconfig
 
 S = "${WORKDIR}/git"
-# v08112019
-SRCREV = "ad76c7b1dbd0403b0c9decf54164fcce271c590f"
+SRCREV = "f9add9245b97c7bda6e28cceb0ee37fb7e254fd8"
 SRC_URI = "git://github.com/rurban/safeclib.git;branch=master;protocol=https \
 "
 
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
index 6d72eb6..6bb5f7a 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_250.3.bb
@@ -59,6 +59,8 @@
 
 S = "${WORKDIR}/git"
 
+RDEPENDS:${PN}-dev = ""
+
 do_compile() {
     ninja -v ${PARALLEL_MAKE} version.h
     ninja -v ${PARALLEL_MAKE} libsystemd.a
diff --git a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.5.bb b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.6.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.5.bb
rename to meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.6.bb
index 705f531..50ce50d 100644
--- a/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.5.bb
+++ b/meta-openembedded/meta-oe/recipes-core/toybox/toybox_0.8.6.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
            "
-SRC_URI[sha256sum] = "bfd230c187726347f7e31a1fc5841705871dfe4f3cbc6628f512b54e57360949"
+SRC_URI[sha256sum] = "4298c90a2b238348e4fdc9f89eb4988356c80da3f0cf78c279d2e82b9119034b"
 
 SECTION = "base"
 
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kernel-if-Adjust-for-musl-msghdr-struct-compat.patch b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kernel-if-Adjust-for-musl-msghdr-struct-compat.patch
deleted file mode 100644
index 687eb35..0000000
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kernel-if-Adjust-for-musl-msghdr-struct-compat.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From d54e532821d40f8094a49742831d32ec7e76caed Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 16 Dec 2021 15:18:21 -0800
-Subject: [PATCH] kcapi-kernel-if: Adjust for musl  msghdr struct compatibility
-
-musl sticks to POSIX and defines msg_iovlen and msg_controllen as int
-and socklen_t types respectively whereas glibc and kernel mark them as
-size_t which is them assumed as such in the code here as well, Make the
-needed conversions to get it going on musl/linux also see [1] for more
-info
-
-[1] https://git.musl-libc.org/cgit/musl/commit/?id=7168790763cdeb794df52be6e3b39fbb021c5a64
-
-Upstream-Status: Submitted [https://github.com/smuellerDD/libkcapi/pull/131]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/kcapi-kernel-if.c | 22 ++++++++++++++++++----
- 1 file changed, 18 insertions(+), 4 deletions(-)
-
-diff --git a/lib/kcapi-kernel-if.c b/lib/kcapi-kernel-if.c
-index 739841e..e5d15d4 100644
---- a/lib/kcapi-kernel-if.c
-+++ b/lib/kcapi-kernel-if.c
-@@ -168,10 +168,14 @@ ssize_t _kcapi_common_send_meta(struct kcapi_handle *handle,
- 	}
- 
- 	msg.msg_control = buffer_p;
--	msg.msg_controllen = bufferlen;
- 	msg.msg_iov = iov;
-+#ifdef __GLIBC__
- 	msg.msg_iovlen = iovlen;
--
-+	msg.msg_controllen = bufferlen;
-+#else
-+	msg.msg_iovlen = (int)iovlen;
-+	msg.msg_controllen = (socklen_t)bufferlen;
-+#endif
- 	/* encrypt/decrypt operation */
- 	header = CMSG_FIRSTHDR(&msg);
- 	if (!header) {
-@@ -193,7 +197,11 @@ ssize_t _kcapi_common_send_meta(struct kcapi_handle *handle,
- 		}
- 		header->cmsg_level = SOL_ALG;
- 		header->cmsg_type = ALG_SET_IV;
-+#ifdef __GLIBC__
- 		header->cmsg_len = iv_msg_size;
-+#else
-+		header->cmsg_len = (socklen_t)iv_msg_size;
-+#endif
- 		alg_iv = (void*)CMSG_DATA(header);
- 		alg_iv->ivlen = tfm->info.ivsize;
- 		memcpy(alg_iv->iv, handle->cipher.iv, tfm->info.ivsize);
-@@ -244,8 +252,11 @@ ssize_t _kcapi_common_send_data(struct kcapi_handle *handle,
- 	msg.msg_controllen = 0;
- 	msg.msg_flags = 0;
- 	msg.msg_iov = iov;
-+#ifdef __GLIBC__
- 	msg.msg_iovlen = iovlen;
--
-+#else
-+	msg.msg_iovlen = (int)iovlen;
-+#endif
- 	ret = sendmsg(*_kcapi_get_opfd(handle), &msg, (int)flags);
- 	if (ret < 0)
- 		ret = -errno;
-@@ -542,8 +553,11 @@ ssize_t _kcapi_common_recv_data(struct kcapi_handle *handle,
- 	msg.msg_controllen = 0;
- 	msg.msg_flags = 0;
- 	msg.msg_iov = iov;
-+#ifdef __GLIBC__
- 	msg.msg_iovlen = iovlen;
--
-+#else
-+	msg.msg_iovlen = (int)iovlen;
-+#endif
- 	ret = recvmsg(*_kcapi_get_opfd(handle), &msg, 0);
- 	if (ret < 0)
- 		ret = -errno;
--- 
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.3.1.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.4.0.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.3.1.bb
rename to meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.4.0.bb
index 8ff5ddd..3be8c76 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_1.4.0.bb
@@ -1,12 +1,11 @@
 SUMMARY = "Linux Kernel Crypto API User Space Interface Library"
 HOMEPAGE = "http://www.chronox.de/libkcapi.html"
 LICENSE = "BSD-3-Clause | GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=80c467906eb826339c7f09e61808ed23"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a2562899bc38f1735868f0bf0c1dd1a5"
 
 S = "${WORKDIR}/git"
-SRCREV = "2936ecd060c299157ac880650ba2c9fd94d27bb1"
+SRCREV = "1429ab42d48123cc8f73b96c69a87fb9c6d8a7c9"
 SRC_URI = "git://github.com/smuellerDD/libkcapi.git;branch=master;protocol=https \
-           file://0001-kcapi-kernel-if-Adjust-for-musl-msghdr-struct-compat.patch \
           "
 
 inherit autotools
@@ -27,5 +26,7 @@
 }
 
 CPPFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare"
+CPPFLAGS:remove:libc-musl:toolchain-clang = "-Wno-error=sign-conversion"
+CPPFLAGS:append:libc-musl = " -Wno-error=sign-conversion"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.28.bb b/meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.28.0.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.28.bb
rename to meta-openembedded/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.28.0.bb
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
index 9521056..ef3f50d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
@@ -14,39 +14,39 @@
 @@ -20,7 +20,7 @@
  #include <intrin.h>
  #endif
- 
+
 -#if defined(__powerpc__) || defined(__ppc__)
 +#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
  #ifdef __GLIBC__
  #include <sys/platform/ppc.h>
  #elif defined(__FreeBSD__)
-@@ -59,7 +59,7 @@ double UnscaledCycleClock::Frequency() {
+@@ -53,7 +53,7 @@ double UnscaledCycleClock::Frequency() {
    return base_internal::NominalCPUFrequency();
  }
- 
+
 -#elif defined(__powerpc__) || defined(__ppc__)
 +#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
- 
+
  int64_t UnscaledCycleClock::Now() {
  #ifdef __GLIBC__
 --- a/absl/base/internal/unscaledcycleclock.h
 +++ b/absl/base/internal/unscaledcycleclock.h
 @@ -46,7 +46,8 @@
- 
+
  // The following platforms have an implementation of a hardware counter.
  #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
 -    defined(__powerpc__) || defined(__ppc__) || defined(__riscv) ||     \
 +    ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
 +    defined(__riscv) ||     \
-     defined(_M_IX86) || defined(_M_X64)
+     defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
  #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
  #else
 --- a/absl/debugging/internal/examine_stack.cc
 +++ b/absl/debugging/internal/examine_stack.cc
-@@ -27,6 +27,10 @@
+@@ -33,6 +33,10 @@
  #include <csignal>
  #include <cstdio>
- 
+
 +#if defined(__powerpc__)
 +#include <asm/ptrace.h>
 +#endif
@@ -54,7 +54,7 @@
  #include "absl/base/attributes.h"
  #include "absl/base/internal/raw_logging.h"
  #include "absl/base/macros.h"
-@@ -63,8 +67,10 @@ void* GetProgramCounter(void* vuc) {
+@@ -174,8 +178,10 @@ void* GetProgramCounter(void* const vuc) {
      return reinterpret_cast<void*>(context->uc_mcontext.pc);
  #elif defined(__powerpc64__)
      return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
@@ -68,7 +68,7 @@
  #elif defined(__s390__) && !defined(__s390x__)
 --- a/absl/debugging/internal/stacktrace_config.h
 +++ b/absl/debugging/internal/stacktrace_config.h
-@@ -59,7 +59,7 @@
+@@ -60,7 +60,7 @@
  #elif defined(__i386__) || defined(__x86_64__)
  #define ABSL_STACKTRACE_INL_HEADER \
    "absl/debugging/internal/stacktrace_x86-inl.inc"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index 82124c1..1bb27d4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -8,8 +8,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
 
 PV = "20211102.0+git${SRCPV}"
-SRCREV = "215105818dfde3174fe799600bb0f3cae233d0bf"
-BRANCH = "lts_2021_11_02"
+SRCREV = "7c6608d0dbe43cf9bdf7f77787bc6bc89cc42f8b"
+BRANCH = "master"
 SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
            file://0001-absl-always-use-asm-sgidefs.h.patch             \
            file://0002-Remove-maes-option-from-cross-compilation.patch \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220410.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220417.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220410.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220417.0.bb
index 96be4e3..0d32861 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220410.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.9.20220417.0.bb
@@ -14,7 +14,7 @@
 
 inherit autotools-brokensep pkgconfig manpages
 
-SRCREV = "c4e384715bfa95c7eaf0de99ce2498d54bed182e"
+SRCREV = "0d63a383b7b21a94d849ed01116cde0a628e95a9"
 SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
new file mode 100644
index 0000000..c2afd4a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
@@ -0,0 +1,32 @@
+From 592a4aaba20818bcff9a1448c34b09aff9e0d2e9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Apr 2022 16:07:19 -0700
+Subject: [PATCH] cmake: Link with libatomic on rv32/rv64
+
+Fixes
+riscv64-yoe-linux-musl/12.0.1/ld: libgrpc.so.23.0.0: undefined reference to `__atomic_exchange_1'
+| collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a8fd3bf37b3..9f5b242683d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -303,6 +303,9 @@ if(UNIX)
+   if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
+     set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} rt)
+   endif()
++  if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv32")
++    set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} atomic)
++  endif()
+ endif()
+ 
+ # configure ccache if requested
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.45.2.bb b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.45.2.bb
index 48d0f58..c2f952f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.45.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/grpc/grpc_1.45.2.bb
@@ -25,6 +25,7 @@
 SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
            file://0001-Revert-Changed-GRPCPP_ABSEIL_SYNC-to-GPR_ABSEIL_SYNC.patch \
            file://0001-cmake-add-separate-export-for-plugin-targets.patch \
+           file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
            "
 # Fixes build with older compilers 4.8 especially on ubuntu 14.04
 CXXFLAGS:append:class-native = " -Wl,--no-as-needed"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb b/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.10.1.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.10.1.bb
index a87dbf0..00dfb09 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/lapack/lapack_3.10.1.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Linear Algebra PACKage"
 URL = "http://www.netlib.org/lapack"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=930f8aa500a47c7dab0f8efb5a1c9a40"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a32c99f24d097c72d1857e533b55642b"
 
 # Recipe needs FORTRAN support (copied from conf/local.conf.sample.extended)
 # Enabling FORTRAN
@@ -13,7 +13,7 @@
 
 DEPENDS = "libgfortran"
 
-SRCREV = "6acc99d5f39130be7cec00fb835606042101a970"
+SRCREV = "32b062a33352e05771dcc01b981ebe961bf2e42f"
 SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https;branch=master"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch
new file mode 100644
index 0000000..4793e56
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch
@@ -0,0 +1,29 @@
+From f47672bed5905ae382e80b09dafca9a8da45aa67 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Apr 2022 18:44:36 -0700
+Subject: [PATCH] ppc/plt: do not free symbol libsym
+
+delete_symbol_chain() will call free as well if sybol is non-null
+it also fixes use-after-free warnings that compiler emits
+
+Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/2]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux-gnu/ppc/plt.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c
+index 5f81889..7c1c025 100644
+--- a/sysdeps/linux-gnu/ppc/plt.c
++++ b/sysdeps/linux-gnu/ppc/plt.c
+@@ -687,7 +687,6 @@ arch_elf_add_func_entry(struct process *proc, struct ltelf *lte,
+ 		if (libsym == NULL
+ 		    || library_symbol_init(libsym, addr, full_name, 1,
+ 					   LS_TOPLT_NONE) < 0) {
+-			free(libsym);
+ 			delete_symbol_chain(libsym);
+ 			libsym = NULL;
+ 			fprintf(stderr, "Couldn't add symbol %s"
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index ad58428..72bec30 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -30,6 +30,7 @@
            file://0001-ensure-the-struct-pointers-are-null-initilized.patch \
            file://0001-ppc-Remove-unused-host_powerpc64-function.patch \
            file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \
+           file://0001-ppc-plt-do-not-free-symbol-libsym.patch \
            "
 SRC_URI:append:libc-musl = " file://add_ppc64le.patch"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.1.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb
rename to meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.1.bb
index 8049434..3abecc3 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial_6.1.bb
@@ -10,8 +10,7 @@
 inherit python3native
 
 SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
-SRC_URI[md5sum] = "17b21729cbc61dda80b2e3dfc046319f"
-SRC_URI[sha256sum] = "c1ed28e1534304a7a4981ed59905286d1c56acd5b75755eedd184171a4a782b4"
+SRC_URI[sha256sum] = "86f98645e4565a9256991dcde22b77b8e7d22ca6fbb60c1f4cdbd8469a38cc1f"
 
 S = "${WORKDIR}/mercurial-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.3.bb b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_4.0.2.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.3.bb
rename to meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_4.0.2.bb
index 52648eb..d277f7e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.4.3.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_4.0.2.bb
@@ -6,7 +6,7 @@
 LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163"
 
 SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
-SRC_URI[sha256sum] = "8154d89f3051903181018166678018155f4c2b6f04a9bb6fe9515656452c4fd7"
+SRC_URI[sha256sum] = "5a42f1a889d4a2d996c26e48cbf9c595cbf4316c6814f7c181e3320d21dedd42"
 
 RDEPENDS:${PN} += "bash perl libxml2"
 
@@ -40,8 +40,8 @@
 do_configure() {
     for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \
         src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \
-        modules/yaksa/m4 modules/json-c modules/ucx test/mpi/dtpools/confdb \
-        src/mpl/confdb src/mpi/romio/confdb;  do
+        modules/yaksa/m4 modules/json-c modules/ucx modules/hwloc/config \
+        test/mpi/dtpools/confdb src/mpl/confdb src/mpi/romio/confdb;  do
         install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d
         install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d
     done
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-mips-Use-32bit-cast-for-operand-on-mips32.patch b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-mips-Use-32bit-cast-for-operand-on-mips32.patch
new file mode 100644
index 0000000..a0242d8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/0001-mips-Use-32bit-cast-for-operand-on-mips32.patch
@@ -0,0 +1,34 @@
+From e65dde8db17da5acddeef7eb9316199c4e5e0811 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Apr 2022 12:40:25 -0700
+Subject: [PATCH] mips: Use 32bit cast for operand on mips32
+
+Fixes
+deps/v8/src/compiler/backend/mips/code-generator-mips.cc: In member function 'void v8::internal::compiler::CodeGenerator::AssembleReturn(v8::internal::compiler::InstructionOperand*)':
+../deps/v8/src/compiler/backend/mips/code-generator-mips.cc:4233:48: error: call of overloaded 'Operand(int64_t)' is ambiguous
+ 4233 |                 Operand(static_cast<int64_t>(0)));
+      |                                                ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ deps/v8/src/compiler/backend/mips/code-generator-mips.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/deps/v8/src/compiler/backend/mips/code-generator-mips.cc b/deps/v8/src/compiler/backend/mips/code-generator-mips.cc
+index 2b8197e..b226140 100644
+--- a/deps/v8/src/compiler/backend/mips/code-generator-mips.cc
++++ b/deps/v8/src/compiler/backend/mips/code-generator-mips.cc
+@@ -4230,7 +4230,7 @@ void CodeGenerator::AssembleReturn(InstructionOperand* additional_pop_count) {
+     } else if (FLAG_debug_code) {
+       __ Assert(eq, AbortReason::kUnexpectedAdditionalPopValue,
+                 g.ToRegister(additional_pop_count),
+-                Operand(static_cast<int64_t>(0)));
++                Operand(static_cast<int32_t>(0)));
+     }
+   }
+   // Functions with JS linkage have at least one parameter (the receiver).
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.14.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.14.2.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.14.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.14.2.bb
index 0ab68cc..62188f9 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.14.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_16.14.2.bb
@@ -26,6 +26,7 @@
            file://mips-less-memory.patch \
            file://system-c-ares.patch \
            file://0001-liftoff-Correct-function-signatures.patch \
+           file://0001-mips-Use-32bit-cast-for-operand-on-mips32.patch \
            "
 SRC_URI:append:class-target = " \
            file://0002-Using-native-binaries.patch \
@@ -36,7 +37,7 @@
 SRC_URI:append:toolchain-clang:powerpc64le = " \
            file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
            "
-SRC_URI[sha256sum] = "05eb64193e391fa8a2c159c0f60c171824715165f80c67fcab9dbc944e30c623"
+SRC_URI[sha256sum] = "e922e215cc68eb5f94d33e8a0b61e2c863b7731cc8600ab955d3822da90ff8d1"
 
 S = "${WORKDIR}/node-v${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/octave/octave_6.4.0.bb b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_7.1.0.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-devtools/octave/octave_6.4.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/octave/octave_7.1.0.bb
index a5b00ec..c9982a7 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/octave/octave_6.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_7.1.0.bb
@@ -32,7 +32,7 @@
     ${GNU_MIRROR}/octave/${BPN}-${PV}.tar.gz \
     file://fix-blas-library-integer-size.patch \
 "
-SRC_URI[sha256sum] = "b48f33d4fceaf394cfbea73a8c850000936d83a41739a24f7568b5b0a7b39acd"
+SRC_URI[sha256sum] = "d4a9d81f3f67b4a6e07cb7a80dcb10ad5e9176fcc30762c70a81580a64b8b0b6"
 
 # Note: Qt5Help is required for gui -> qttools(-native) must be build with
 # clang in PACKAGECONFIG
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pax-utils/pax-utils_1.2.2.bb b/meta-openembedded/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-devtools/pax-utils/pax-utils_1.2.2.bb
rename to meta-openembedded/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb
index 0eb2146..d512c85 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/pax-utils/pax-utils_1.2.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb
@@ -8,8 +8,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
 
 SRC_URI = "https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
-SRC_URI[md5sum] = "a580468318f0ff42edf4a8cd314cc942"
-SRC_URI[sha256sum] = "7f4a7f8db6b4743adde7582fa48992ad01776796fcde030683732f56221337d9"
+SRC_URI[sha256sum] = "eeca7fbd98bc66bead4a77000c2025d9f17ea8201b84245882406ce00b9b6b14"
 
 RDEPENDS:${PN} += "bash"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.63.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.63.bb
new file mode 100644
index 0000000..b12e2e4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.63.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Config file parser module"
+HOMEPAGE = "http://search.cpan.org/dist/Config-General/"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+SECTION = "libs"
+LIC_FILES_CHKSUM = "file://README;beginline=90;endline=90;md5=3ba4bbac1e79a08332688196f637d2b2"
+
+SRCNAME = "Config-General"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "e3ea2a6dc76931cf638b5227aceabf60"
+SRC_URI[sha256sum] = "0a9bf977b8aabe76343e88095d2296c8a422410fd2a05a1901f2b20e2e1f6fad"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+COMPATIBLE_HOST:libc-musl = "null"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+    export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+    cpan_do_compile
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.0.2.bb b/meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.1.4.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.0.2.bb
rename to meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.1.4.bb
index 580c53a..c57324d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.1.4.bb
@@ -1,7 +1,7 @@
 SUMMARY = "New set of tools for working with SquashFS images"
 SECTION = "base"
 LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & MIT & BSD-2-Clause & Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.md;md5=c0de2c0aca56349dab98e97992316f7e \
+LIC_FILES_CHKSUM = "file://COPYING.md;md5=5789fb0572753ed69014cd90a445cd74 \
                     file://licenses/GPLv3.txt;md5=1ebbd3e34237af26da5dc08a4e440464 \
                     file://licenses/hash_table.txt;md5=874823605326caeaabaa95bfbd0f9fb0 \
                     file://licenses/LGPLv3.txt;md5=3000208d539ec061b899bce1d9ce9404 \
@@ -9,9 +9,10 @@
                     file://licenses/xxhash.txt;md5=f042a9be092bd6d7fe6f217d8d00f4ca \
                     file://licenses/xz.txt;md5=1c389b9610ccfdb25f7abaea6a0bb5a4 \
                     file://licenses/zlib.txt;md5=ae27c72096606131f760e5f59cf98b06 \
-                    file://licenses/zstd.txt;md5=8df8137b630239cbdd4c0674124cb0c8"
+                    file://licenses/zstd.txt;md5=8df8137b630239cbdd4c0674124cb0c8 \
+                    "
 
-SRCREV = "b96f0fc154feef531be76034bf6e38925636146f"
+SRCREV = "7667b84cc34707c28ca0db8d24f046ec34e8c25d"
 SRC_URI = "git://github.com/AgentD/squashfs-tools-ng.git;protocol=https;branch=master"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/0001-scripts-Do-not-check-for-files-on-build-host.patch b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/0001-scripts-Do-not-check-for-files-on-build-host.patch
new file mode 100644
index 0000000..6d9e94c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client/0001-scripts-Do-not-check-for-files-on-build-host.patch
@@ -0,0 +1,52 @@
+From 8a8305c78143438e2bd497d55188a0da3442db08 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 27 Apr 2022 09:11:38 -0700
+Subject: [PATCH] scripts: Do not check for files on build host
+
+This will result in varied behaviour depending upon what kind of host is
+used to build it. We dont want that. Instead check for these files and
+dirs in staging area and create these markers in recipe via a
+do_install_prepend to aide install piece a bit here ( systemd vs
+sysvinit ) etc.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ client/scripts/Makefile.am | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/client/scripts/Makefile.am b/client/scripts/Makefile.am
+index 2a53203d84..62a0defa93 100644
+--- a/client/scripts/Makefile.am
++++ b/client/scripts/Makefile.am
+@@ -2,21 +2,21 @@
+ 
+ install-exec-hook:
+ 	chmod +x boinc-client
+-	if [ -d /etc/init.d ] ; then \
++	if [ -d $(DESTDIR)/etc/init.d ] ; then \
+ 		$(INSTALL) -d $(DESTDIR)$(sysconfdir)/init.d ; \
+ 		$(INSTALL) -b boinc-client $(DESTDIR)$(sysconfdir)/init.d/boinc-client ; \
+ 	fi
+-	if [ -d /usr/lib/systemd/system ] ; then \
++	if [ -d $(DESTDIR)/usr/lib/systemd/system ] ; then \
+ 		$(INSTALL) -d $(DESTDIR)/usr/lib/systemd/system/ ; \
+ 		$(INSTALL_DATA) boinc-client.service $(DESTDIR)/usr/lib/systemd/system/boinc-client.service ; \
+-	elif [ -d /lib/systemd/system ] ; then \
++	elif [ -d $(DESTDIR)/lib/systemd/system ] ; then \
+ 		$(INSTALL) -d $(DESTDIR)/lib/systemd/system/ ; \
+ 		$(INSTALL_DATA) boinc-client.service $(DESTDIR)/lib/systemd/system/boinc-client.service ; \
+ 	fi
+-	if [ -d /etc/sysconfig ] ; then \
++	if [ -d $(DESTDIR)/etc/sysconfig ] ; then \
+ 	  $(INSTALL) -d $(DESTDIR)$(sysconfdir)/sysconfig ; \
+ 	  $(INSTALL_DATA) $(srcdir)/boinc-client.conf $(DESTDIR)$(sysconfdir)/sysconfig/boinc-client ; \
+-	elif [ -d /etc/default ] ; then \
++	elif [ -d $(DESTDIR)/etc/default ] ; then \
+ 	  $(INSTALL) -d $(DESTDIR)$(sysconfdir)/default ; \
+ 	  $(INSTALL_DATA) $(srcdir)/boinc-client.conf $(DESTDIR)$(sysconfdir)/default/boinc-client ; \
+ 	else \
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb
index 5e991d3..8f85a50 100644
--- a/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/boinc/boinc-client_7.18.1.bb
@@ -35,6 +35,7 @@
            file://boinc-AM_CONDITIONAL.patch \
            file://gtk-configure.patch \
            file://4563.patch \
+           file://0001-scripts-Do-not-check-for-files-on-build-host.patch \
 "
 
 inherit gettext autotools pkgconfig features_check systemd
@@ -75,16 +76,14 @@
 	sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/libtool
 }
 
-do_install:append() {
-	if [ -e ${D}${nonarch_libdir}/systemd/system/boinc-client.service ]; then
-		install -d ${D}${systemd_system_unitdir}
-		mv \
-		${D}${nonarch_libdir}/systemd/system/boinc-client.service \
-		${D}${systemd_system_unitdir}/boinc-client.service
-		rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/system \
-		${D}${nonarch_libdir}/systemd \
-		${D}${nonarch_libdir}
+do_install:prepend() {
+	# help script install a bit to do right thing for OE
+	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+		mkdir -p ${D}${systemd_system_unitdir}
+	else
+		mkdir -p ${D}${sysconfdir}/init.d
 	fi
+	mkdir -p ${D}${sysconfdir}/default
 }
 
 SYSTEMD_SERVICE:${PN} = "boinc-client.service"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
new file mode 100644
index 0000000..7b40b7a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
@@ -0,0 +1,45 @@
+From dd2d42a7f877d292f86e421dd9651f4b7c2abf18 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Apr 2022 14:57:58 -0700
+Subject: [PATCH] cmake: Link with libatomic on rv32/rv64
+
+Use of <atomic> needs to link in libatomic on riscv
+Fixes
+
+undefined reference to `__atomic_exchange_1'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/CMakeLists.txt | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
+index 3293376..65018be 100644
+--- a/src/lib/CMakeLists.txt
++++ b/src/lib/CMakeLists.txt
+@@ -37,6 +37,12 @@ else()
+     set(SOCKET_LIBRARY socket)
+ endif()
+ 
++if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv32")
++    set(ATOMIC_LIBRARY atomic)
++else()
++    set(ATOMIC_LIBRARY "")
++endif()
++
+ if(HAVE_FUNC_PTHREAD_SETNAME_NP)
+     add_definitions(-DDLT_USE_PTHREAD_SETNAME_NP)
+     message(STATUS "Using pthread_setname_np API to set thread name")
+@@ -44,7 +50,7 @@ else()
+     message(STATUS "pthread_setname_np API not available on this platform")
+ endif()
+ 
+-target_link_libraries(dlt ${RT_LIBRARY} ${SOCKET_LIBRARY} Threads::Threads)
++target_link_libraries(dlt ${RT_LIBRARY} ${SOCKET_LIBRARY} ${ATOMIC_LIBRARY} Threads::Threads)
+ 
+ target_include_directories(dlt
+     PUBLIC
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
index 014c773..2cea50d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.8.bb
@@ -17,6 +17,7 @@
 SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https;branch=master \
            file://0002-Don-t-execute-processes-as-a-specific-user.patch \
            file://0004-Modify-systemd-config-directory.patch \
+           file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
            "
 SRCREV = "0138c00811c86eab4ff6bff3c6528163885ade19"
 
@@ -24,6 +25,8 @@
 
 S = "${WORKDIR}/git"
 
+LDFLAGS:append:riscv64 = " -latomic"
+
 PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-console ', '', d)} \
  udp-connection dlt-system dlt-filetransfer "
 # dlt-dbus
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
new file mode 100644
index 0000000..bf4cda0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch
@@ -0,0 +1,28 @@
+From 5571f949fa2048b79c197b5b10a11ecb1891cbe9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 23 Apr 2022 08:24:34 -0700
+Subject: [PATCH] Control sytemd unit install location with SYSTEM_DIR
+
+This helps building when usrmerge is on
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/CMakeLists.txt | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -323,7 +323,11 @@ if(FLB_BINARY)
+       "${PROJECT_SOURCE_DIR}/init/systemd.in"
+       ${FLB_SYSTEMD_SCRIPT}
+       )
+-    install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
++    if(SYSTEMD_DIR)
++        install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION ${SYSTEMD_DIR})
++    else()
++        install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
++    endif()
+     install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
+   elseif(FLB_UPSTART)
+     set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
index a185789..d3822fc 100644
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
@@ -12,7 +12,7 @@
  
    # Detect init system, install upstart, systemd or init.d script
 -  if(IS_DIRECTORY /lib/systemd/system)
-+  if(IS_DIRECTORY /lib/systemd/system OR FLB_SYSTEMD)
++  if(FLB_SYSTEMD)
      set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
      configure_file(
        "${PROJECT_SOURCE_DIR}/init/systemd.in"
@@ -21,7 +21,7 @@
      install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
      install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
 -  elseif(IS_DIRECTORY /usr/share/upstart)
-+  elseif(IS_DIRECTORY /usr/share/upstart OR FLB_UPSTART)
++  elseif(FLB_UPSTART)
      set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
      configure_file(
        "${PROJECT_SOURCE_DIR}/init/upstart.in"
diff --git a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
index 670d596..b231cc2 100644
--- a/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
@@ -18,6 +18,7 @@
            file://0001-ppc-Fix-signature-for-co_create-API.patch \
            file://0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch \
            file://0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch \
+           file://0001-Control-sytemd-unit-install-location-with-SYSTEM_DIR.patch \
            "
 SRC_URI[md5sum] = "6eae6dfd0a874e5dd270c36e9c68f747"
 SRC_URI[sha256sum] = "e037c76c89269c8dc4027a08e442fefd2751b0f1e0f9c38f9a4b12d781a9c789"
@@ -47,7 +48,8 @@
 # Disable Library and examples
 EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off -DFLB_EXAMPLES=Off "
 
-EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','',d)}"
+# Enable systemd iff systemd is in DISTRO_FEATURES
+EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On -DSYSTEMD_DIR=${systemd_system_unitdir}','-DFLB_SYSTEMD=Off',d)}"
 
 EXTRA_OECMAKE:append:riscv64 = " -DFLB_DEPS='atomic'"
 EXTRA_OECMAKE:append:riscv32 = " -DFLB_DEPS='atomic'"
diff --git a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb
index 7343a08..fe5e5c0 100644
--- a/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
 DEPENDS = "${BPN}-native virtual/libx11 gd readline"
 
-inherit autotools features_check
+inherit autotools features_check pkgconfig
 # depends on virtual/libx11
 REQUIRED_DISTRO_FEATURES = "x11"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb b/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.6.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb
rename to meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.6.bb
index e996593..d2b23b4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/hexedit/hexedit_1.6.bb
@@ -9,7 +9,7 @@
 SRC_URI = "git://github.com/pixel/hexedit.git;branch=master;protocol=https \
     "
 
-SRCREV = "baf45a289360a39a05253949fb9d1b50e4668d8a"
+SRCREV = "eab92dcaa34b66bc5182772afc9fda4ac8a27597"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.0.bb b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.6.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.6.bb
index dac025d..2112b62 100644
--- a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_2.9.6.bb
@@ -5,7 +5,7 @@
 SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \
            file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \
            "
-SRC_URI[sha256sum] = "c76a8c9965a1edde4f2446b47ee17c8564e0e20f3d8474465f6d4c54d1125ac4"
+SRC_URI[sha256sum] = "f8f453fc1f0009e3e7f113fd128638770894d004a3b60202922e2c7347c30607"
 
 UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
 
@@ -23,7 +23,7 @@
     libxinerama libice libsm libx11 libxext libxrender libxcomposite libxdamage \
     libxfixes"
 DEPENDS:append = " qemu-native"
-RDEPENDS:${PN} = "perl fribidi"
+RDEPENDS:${PN} = "perl fribidi imlib2 imlib2-loaders"
 
 do_compile:prepend:class-target() {
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch
new file mode 100644
index 0000000..bbfed0f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole/0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch
@@ -0,0 +1,37 @@
+From 25f54c3359a0fa34890030662e9b02e0a9745f4f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Apr 2022 20:57:38 -0700
+Subject: [PATCH] utils: Use name of the first prerequisite in rule
+
+Use $< instead of $^ because the latter will specify both pre-requisite
+inputattach.c serio-ids.h files on same compiler cmdline and clang does
+not like that and errors out like below
+
+clang-14: error: cannot specify -o when generating multiple output files
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/utils/Makefile b/utils/Makefile
+index 1fc51ab..a7434a9 100644
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -46,10 +46,10 @@ endif
+ evdev-joystick: evdev-joystick.c
+ 
+ inputattach: inputattach.c serio-ids.h
+-	$(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $^ $(LDFLAGS) $(SYSTEMDFLAGS) -lm -o $@
++	$(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $< $(LDFLAGS) $(SYSTEMDFLAGS) -lm -o $@
+ 
+ ffcfstress: ffcfstress.c bitmaskros.h
+-	$(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $^ $(LDFLAGS) -lm -o $@
++	$(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $< $(LDFLAGS) -lm -o $@
+ 
+ ffmvforce.o: ffmvforce.c
+ 	$(CC) $(CFLAGS) $(CPPFLAGS) -c $^ -o $@ `$(PKG_CONFIG) --cflags sdl2`
+-- 
+2.35.2
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.1.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.1.bb
index b706f63..5716817 100644
--- a/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.1.bb
@@ -12,13 +12,14 @@
 
 SRC_URI = "\
     ${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \
+    file://0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch \
     file://51-these-are-not-joysticks-rm.rules \
     file://60-joystick.rules \
     file://inputattachctl \
     file://inputattach.service \
 "
 
-SRC_URI[sha256sum] = "95d112f06393806116341d593bda002c8bc44119c1538407623268fed90d8c34"
+SRC_URI[sha256sum] = "bd4d4b7e37da02fc67e47ddf20b6f1243c0a7af7b02b918d5e72138ea8727547"
 
 S = "${WORKDIR}/linuxconsoletools-${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.6.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb
rename to meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.6.bb
index b2fb771..8cb8815 100644
--- a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.6.bb
@@ -8,12 +8,11 @@
 SECTION = "devel"
 HOMEPAGE = "http://www.logwatch.org/"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ad199c8aca74e70f296f731ad9a1521c"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ba882fa9b4b6b217a51780be3f4db9c8"
 RDEPENDS:${PN} = "perl"
 
 SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
-SRC_URI[md5sum] = "8bcf3edc5a4687c8aad1b9c01e2be54b"
-SRC_URI[sha256sum] = "1b2b96879dec01cd02754fe00f8989b11ff16158c3dc7c4aff0faa4b1d34974b"
+SRC_URI[sha256sum] = "689f3c68b99ef7af7d3c7007c3ff0a55d5674bdbf9c01f69a9f187726d6d4baf"
 
 do_install() {
     install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.4.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb
index dd02ed9..9b990ec 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs-91_91.8.0.bb
@@ -16,13 +16,15 @@
            file://0001-util.configure-fix-one-occasionally-reproduced-confi.patch \
            file://0001-rewrite-cargo-host-linker-in-python3.patch  \
            "
-SRC_URI[sha256sum] = "e722829db490f9332712a81c35996541737bbfb05232d47190fee779c4fcb327"
+SRC_URI[sha256sum] = "d483a853cbf5c7f93621093432e3dc0b7ed847f2a5318b964828d19f9f087f3a"
 
 S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}"
 
 inherit pkgconfig perlnative python3native rust
 
-DEPENDS += "zlib cargo-native python3"
+DEPENDS += "zlib cargo-native python3 icu"
+DEPENDS:remove:mipsarch = "icu"
+DEPENDS:remove:powerpc:toolchain-clang = "icu"
 
 B = "${WORKDIR}/build"
 
@@ -39,8 +41,10 @@
 export RUSTFLAGS
 
 JIT ?= ""
-
 JIT:mipsarch = "--disable-jit"
+ICU ?= "--with-system-icu"
+ICU:mipsarch = ""
+ICU:powerpc:toolchain-clang = ""
 
 do_configure() {
     cd ${B}
@@ -51,8 +55,9 @@
         --prefix=${prefix} \
         --libdir=${libdir} \
         --disable-jemalloc \
-        ${JIT}
-
+        --disable-strip \
+        ${JIT} \
+        ${ICU}
 }
 
 do_install() {
diff --git a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.7.1.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb
rename to meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.7.1.bb
index af0a3c2..7fc5d42 100644
--- a/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/openwsman/openwsman_2.7.1.bb
@@ -15,7 +15,7 @@
 inherit features_check
 REQUIRED_DISTRO_FEATURES = "pam"
 
-SRCREV = "d8eba6cb6682b59d84ca1da67a523520b879ade6"
+SRCREV = "6cdf3bee50388d8e5f70850322a4df57fd685a5e"
 
 SRC_URI = "git://github.com/Openwsman/openwsman.git;branch=master;protocol=https \
            file://libssl-is-required-if-eventint-supported.patch \
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.6.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.2.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.6.bb
rename to meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.2.bb
index cf149ae..24a7513 100644
--- a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2021.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2022.2.bb
@@ -21,7 +21,7 @@
     gitsm://github.com/ostreedev/ostree;branch=main;protocol=https \
     file://run-ptest \
 "
-SRCREV = "f1155c8d283c3c85d74d5e1050b0dcf8198f750a"
+SRCREV = "fbc6d21c2f71099fbab44cbdd74222b91f61c667"
 
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+)"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch
deleted file mode 100644
index 0a93411..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3e97c9004f4ec58ca3696ee6298f91e6eeb76e04 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 23 Dec 2019 14:46:25 -0800
-Subject: [PATCH] include <stdexcept> for std::invalid_argument
-
-Upstream-Status: Submitted [https://github.com/rmbreak/pam_ldapdb/pull/11]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- pam_ldapdb.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/pam_ldapdb.cpp b/pam_ldapdb.cpp
-index 9baf1e6..be5d85c 100644
---- a/pam_ldapdb.cpp
-+++ b/pam_ldapdb.cpp
-@@ -1,5 +1,6 @@
- #include <map>
- #include <string>
-+#include <stdexcept>
- #include <utility>
- #include <syslog.h>
- #include <pwd.h>
--- 
-2.24.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.1.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
rename to meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.1.bb
index 6985590..d5137f8 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.1.bb
@@ -10,10 +10,8 @@
 inherit features_check
 REQUIRED_DISTRO_FEATURES = "pam"
 
-SRCREV = "84d7b260f1ae6857ae36e014c9a5968e8aa1cbe8"
-SRC_URI = "git://github.com/rmbreak/pam_ldapdb;branch=master;protocol=https \
-           file://0001-include-stdexcept-for-std-invalid_argument.patch \
-"
+SRCREV = "3e026863cad1fd45c760ee1bc93ef4f0606cc852"
+SRC_URI = "git://github.com/rmbreak/pam_ldapdb;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
index f7cf4a0..7065529 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "A PAM module which permits authentication via ssh-agent."
 HOMEPAGE = "http://sourceforge.net/projects/pamsshagentauth/"
 SECTION = "libs"
-LICENSE = "OpenSSL & BSD"
+LICENSE = "OpenSSL & BSD-2-Clause & BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.OpenSSL;md5=8ab01146141ded59b75f8ba7811ed05a \
                     file://OPENSSH_LICENSE;md5=7ae09218173be1643c998a4b71027f9b \
 "
diff --git a/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.1.bb b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.5.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.1.bb
rename to meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.5.bb
index f0ae229..b4e0d17 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_3.2.5.bb
@@ -3,8 +3,8 @@
 LICENSE="MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5b6701671289d12b7ffa69138832c006"
 
-SRC_URI = "git://github.com/taocpp/PEGTL.git;protocol=https;branch=main"
-SRCREV = "6d03c8decc22b4ddd51115e2170e0e82413c7104"
+SRC_URI = "git://github.com/taocpp/PEGTL.git;protocol=https;branch=3.x"
+SRCREV = "eeba7fa1180655bd683be620cc31be35607442ca"
 
 inherit cmake
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc1.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc3.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc1.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc3.bb
index 1a95771..e977d67 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0-rc3.bb
@@ -19,7 +19,7 @@
            file://GNU_SOURCE.patch \
            file://0006-Define-correct-gregs-for-RISCV32.patch \
            "
-SRC_URI[sha256sum] = "9bd57d3c9ebba9dbbd6cd14b0c263ce151b0044fb6620b556449c2d82e06ef3d"
+SRC_URI[sha256sum] = "66b2ecc2e4b53c62940589434ea8af3a85546df131001680ed294028cd84ecdc"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb b/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb
rename to meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb
index 4dbb99b..bc514b5 100644
--- a/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.23.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "https://ftp.sdaoden.eu/${BP}.tar.xz \
            file://make-errors.patch"
-SRC_URI[sha256sum] = "2c717b22f4cd8719b82b6618640da6031382d2bf8eb51283bca2c6266957bca8"
+SRC_URI[sha256sum] = "2714d6b8fb2af3b363fc7c79b76d058753716345d1b6ebcd8870ecd0e4f7ef8c"
 
 DEPENDS = "coreutils-native"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
index 66620ea..d3f2bd6 100644
--- a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
@@ -20,7 +20,7 @@
 inherit autotools update-rc.d
 
 # mdadm Makefile has CC set to gcc, hence override CC to ${CC}
-EXTRA_OEMAKE += "CC='${CC}'"
+EXTRA_OEMAKE += "CC='${CC}' sbindir=${base_sbindir}"
 
 
 do_configure:append() {
diff --git a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.1.bb b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.1.bb
index 9a5b1a1..0342b8a 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.1.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.1.bb
@@ -12,7 +12,7 @@
 
 inherit gnomebase features_check
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI[archive.sha256sum] = "e11324bfed1b6e330a02db25cecc145dca03fb0dff47f0710c85e317687da458"
 
diff --git a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb
index 1f9c28e..f6cb0a1 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb
@@ -11,7 +11,7 @@
 
 inherit gnomebase features_check
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI[archive.sha256sum] = "a0bb49765ceccc293ab2c6735ba100431807d384ffa14c2ebd30e07993fd2fa4"
 
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.5.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.5.bb
index 46c3358..0546814 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.5.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.5.bb
@@ -14,7 +14,7 @@
 
 inherit gnomebase features_check
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
 SRC_URI[archive.sha256sum] = "856333de86689f6a81c123f2db15d85db9addc438bc3574c36f15736aeae22e6"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
index 44fc2d0..2c28fde 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
@@ -17,6 +17,6 @@
 S = "${WORKDIR}/git"
 
 EXTRA_OECONF = " --with-systemdsystemunitdir=${systemd_unitdir}/system \
-                 --disable-staticimages"
+                 --disable-staticimages --with-rootdir=${root_prefix}"
 
 FILES:${PN} += "${systemd_unitdir}/system/"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2022-1122.patch b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2022-1122.patch
new file mode 100644
index 0000000..8aa9c15
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2022-1122.patch
@@ -0,0 +1,31 @@
+Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/commit/0afbdcf3e6d0d2bd2e16a0c4d513ee3cf86e460d]
+CVE: CVE-2022-1122
+
+While this patch improves things re-CVE-2022-1122, the defect is undergoing re-analysis and there may be follow-up commits.
+
+From 0afbdcf3e6d0d2bd2e16a0c4d513ee3cf86e460d Mon Sep 17 00:00:00 2001
+From: xiaoxiaoafeifei <lliangliang2007@163.com>
+Date: Wed, 14 Jul 2021 09:35:13 +0800
+Subject: [PATCH] Fix segfault in src/bin/jp2/opj_decompress.c due to
+ uninitialized pointer (fixes #1368) (#1369)
+
+---
+ src/bin/jp2/opj_decompress.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bin/jp2/opj_decompress.c b/src/bin/jp2/opj_decompress.c
+index 0e028735..18ead672 100644
+--- a/src/bin/jp2/opj_decompress.c
++++ b/src/bin/jp2/opj_decompress.c
+@@ -1356,7 +1356,7 @@ int main(int argc, char **argv)
+         int it_image;
+         num_images = get_num_images(img_fol.imgdirpath);
+ 
+-        dirptr = (dircnt_t*)malloc(sizeof(dircnt_t));
++        dirptr = (dircnt_t*)calloc(1, sizeof(dircnt_t));
+         if (!dirptr) {
+             destroy_parameters(&parameters);
+             return EXIT_FAILURE;
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
index b41bb9e..f248619 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
@@ -10,6 +10,7 @@
     file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
     file://0001-This-patch-fixed-include-dir-to-usr-include-.-Obviou.patch \
     file://CVE-2021-29338.patch \
+    file://CVE-2022-1122.patch \
 "
 SRCREV = "37ac30ceff6640bbab502388c5e0fa0bff23f505"
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
index 9959bdf..42074c1 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
@@ -10,8 +10,9 @@
 
 inherit gnomebase features_check
 
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
 SRC_URI[archive.sha256sum] = "57442ab4dc043877bfe3839915731ab2d693fc6634a71614422fb530c9eaa6f4"
-REQUIRED_DISTRO_FEATURES = "x11"
 
 FILES:${PN} = "${libdir}/lib*.so.*"
 FILES:${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch b/meta-openembedded/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch
new file mode 100644
index 0000000..2316c1f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch
@@ -0,0 +1,45 @@
+From 98bef35c010a9c7891634fe9bcc4b560abbcb4e9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 11:29:50 -0700
+Subject: [PATCH] memmove and memchr are C APIs not C++ std namespace
+
+Fixes build error
+../git/src/deqp-runner.cc: In member function 'Line_reader::read_status Line_reader::read(char**, double)':
+../git/src/deqp-runner.cc:249:10: error: 'memmove' is not a member of 'std'; did you mean 'wmemmove'?
+  249 |     std::memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
+      |          ^~~~~~~
+      |          wmemmove
+../git/src/deqp-runner.cc:255:35: error: 'memchr' is not a member of 'std'; did you mean 'wmemchr'?
+  255 |   while (!(newline = (char *)std::memchr(buf_.data(), '\n', valid_sz_)) &&
+      |                                   ^~~~~~
+      |                                   wmemchr
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/parallel-deqp-runner/-/merge_requests/17]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/deqp-runner.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/deqp-runner.cc b/src/deqp-runner.cc
+index 1cc8a55..55a15f9 100644
+--- a/src/deqp-runner.cc
++++ b/src/deqp-runner.cc
+@@ -246,13 +246,13 @@ Line_reader::read_status Line_reader::read(char **text, double timeout) {
+ 
+   if (skip_sz_) {
+     valid_sz_ -= skip_sz_;
+-    std::memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
++    memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
+     skip_sz_ = 0;
+   }
+ 
+   char *newline;
+   bool end = false;
+-  while (!(newline = (char *)std::memchr(buf_.data(), '\n', valid_sz_)) &&
++  while (!(newline = (char *)memchr(buf_.data(), '\n', valid_sz_)) &&
+          !end && valid_sz_ + 1 < (int)buf_.size()) {
+     for (;;) {
+       struct pollfd p = {};
+-- 
+2.35.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb b/meta-openembedded/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb
index 52723d7..eff6ad8 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb
@@ -3,6 +3,7 @@
 
 SRC_URI = "git://gitlab.freedesktop.org/mesa/parallel-deqp-runner.git;protocol=https;branch=master \
            file://0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch \
+           file://0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch \
            "
 
 # Modify these as desired
diff --git a/meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.4.bb b/meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.5.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.4.bb
rename to meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.5.bb
index acd4cab..e88c2c0 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.4.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/suckless/st_0.8.5.bb
@@ -7,7 +7,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11"
 
-SRC_URI[sha256sum] = "d42d3ceceb4d6a65e32e90a5336e3d446db612c3fbd9ebc1780bc6c9a03346a6"
+SRC_URI[sha256sum] = "ea6832203ed02ff74182bcb8adaa9ec454c8f989e79232cb859665e2f544ab37"
 
 DEPENDS += "libx11 libxft fontconfig ncurses-native"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb
similarity index 77%
rename from meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb
rename to meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb
index 0c259dc..91b1abc 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb
@@ -6,8 +6,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586"
 
 SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "48e83210b39a7bfb492604ba0bcfb19e"
-SRC_URI[sha256sum] = "410ecabac54e6db7afd5c20a78d89c0134f3c74b149bee71b1fec775e6e060cc"
+SRC_URI[sha256sum] = "4150c9ec595520167ab8c4efcb5cf82641a4c4db78ce0a1cb4834e6aeb7c87fb"
 
 FILES:${PN} += "${datadir}/X11/twm/system.twmrc"
 ALTERNATIVE_NAME = "x-window-manager"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_368.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_372.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_368.bb
rename to meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_372.bb
index 8f6a7ef..3e1e9d7 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_368.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_372.bb
@@ -2,13 +2,13 @@
 SUMMARY = "xterm is the standard terminal emulator for the X Window System"
 DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native"
 
-LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=987de9787175385203a1ea2482246a17"
+LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=5ec6748ed90e588caa9318b780a0d498"
 
 SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
            file://0001-Add-configure-time-check-for-setsid.patch \
           "
 
-SRC_URI[sha256sum] = "2ff5169930b6b49ef0bafb5e1331c94f1a98c310442bba7798add821c76ae712"
+SRC_URI[sha256sum] = "c6d08127cb2409c3a04bcae559b7025196ed770bb7bf26630abcb45d95f60ab1"
 
 PACKAGECONFIG ?= ""
 PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch
deleted file mode 100644
index 8355fe4..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 52fc1a7c17768fd52c3577d21dad84e8babb94b5 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 6 Apr 2017 23:01:14 -0400
-Subject: [PATCH 2/3] crash: fix build error unknown type name 'gdb_fpregset_t'
-
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- gdb-7.6/gdb/gdb_proc_service.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/gdb-7.6/gdb/gdb_proc_service.h b/gdb-7.6/gdb/gdb_proc_service.h
-index 8bc6088..99c6496 100644
---- a/gdb-7.6/gdb/gdb_proc_service.h
-+++ b/gdb-7.6/gdb/gdb_proc_service.h
-@@ -20,6 +20,7 @@
- #define GDB_PROC_SERVICE_H
- 
- #include <sys/types.h>
-+#include "gregset.h"
- 
- #ifdef HAVE_PROC_SERVICE_H
- #include <proc_service.h>
-@@ -53,8 +54,6 @@
- #include <sys/procfs.h>
- #endif
- 
--#include "gregset.h"
--
- /* Functions in this interface return one of these status codes.  */
- typedef enum
- {
--- 
-2.8.1
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch
deleted file mode 100644
index 1f4bd01..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From c7950ef5228adc52a500b4fc67d7e48c3c09c1df Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 6 Apr 2017 23:02:44 -0400
-Subject: [PATCH 3/3] crash: detect the sysroot's glibc header file
-
-This is cross compile, so let the Makefile detect the sysroot's glibc
-header file, not the host's glibc header file.
-
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index b6b7e80..94f21a5 100644
---- a/Makefile
-+++ b/Makefile
-@@ -264,8 +264,8 @@ gdb_patch:
- 	if [ "${ARCH}" = "x86_64" ] && [ "${TARGET}" = "PPC64" ] && [ -f ${GDB}-ppc64le-support.patch ]; then \
- 		patch -d ${GDB} -p1 -F0 < ${GDB}-ppc64le-support.patch ; \
- 	fi
--	if [ -f /usr/include/proc_service.h ]; then \
--		grep 'extern ps_err_e ps_get_thread_area (struct' /usr/include/proc_service.h; \
-+	if [ -f ${RECIPE_SYSROOT}/usr/include/proc_service.h ]; then \
-+		grep 'extern ps_err_e ps_get_thread_area (struct' ${RECIPE_SYSROOT}/usr/include/proc_service.h; \
- 		if [ $$? -eq 0 ]; then \
- 			patch -p0 < ${GDB}-proc_service.h.patch; \
- 		fi; \
--- 
-2.8.1
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch
deleted file mode 100644
index 37d43b8..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Pending
-
-It fails to build crash for mips with error:
-
-| mips-wrs-linux-gcc: error: unrecognized command line option '-m32'
-| Makefile:291: recipe for target 'make_build_data' failed
-
-So remove the unrecognized option '-m32' for mips.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/configure.c b/configure.c
-index cf1973b..71e97b3 100644
---- a/configure.c
-+++ b/configure.c
-@@ -155,7 +155,7 @@ void add_extra_lib(char *);
- #define TARGET_CFLAGS_PPC64_ON_X86_64  "TARGET_CFLAGS="
- #define TARGET_CFLAGS_MIPS            "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
- #define TARGET_CFLAGS_MIPS_ON_X86     "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
--#define TARGET_CFLAGS_MIPS_ON_X86_64  "TARGET_CFLAGS=-m32 -D_FILE_OFFSET_BITS=64"
-+#define TARGET_CFLAGS_MIPS_ON_X86_64  "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
- #define TARGET_CFLAGS_MIPS64          "TARGET_CFLAGS="
- #define TARGET_CFLAGS_SPARC64         "TARGET_CFLAGS="
- 
-@@ -167,7 +167,7 @@ void add_extra_lib(char *);
- #define GDB_TARGET_ARM64_ON_X86_64  "GDB_CONF_FLAGS=--target=aarch64-elf-linux"   /* TBD */
- #define GDB_TARGET_PPC64_ON_X86_64  "GDB_CONF_FLAGS=--target=powerpc64le-unknown-linux-gnu"
- #define GDB_TARGET_MIPS_ON_X86     "GDB_CONF_FLAGS=--target=mipsel-elf-linux"
--#define GDB_TARGET_MIPS_ON_X86_64  "GDB_CONF_FLAGS=--target=mipsel-elf-linux CFLAGS=-m32"
-+#define GDB_TARGET_MIPS_ON_X86_64  "GDB_CONF_FLAGS=--target=mipsel-elf-linux"
-      
- /*
-  *  The original plan was to allow the use of a particular version
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch
deleted file mode 100644
index 0185b57..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Upstream-Status: Backport
-
-https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=92fc615
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
-From 92fc6153a6fdf2a027d9780f5945712aafad4a9e Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 29 Mar 2015 15:59:01 -0400
-Subject: [PATCH] sim: common: sim-arange: fix extern inline handling
-
-With newer versions of gcc (5.x), the extern inline we're using with the
-sim-arange module no longer works.  Since this code really wants the gnu
-inline semantics, use that attribute explicitly.
-
-Reported-by: DJ Delorie <dj@redhat.com>
-Reported-by: Joel Sherrill <joel.sherrill@oarcorp.com>
----
- gdb-7.6/sim/common/sim-arange.h | 20 ++++++++++++--------
- gdb-7.6/sim/common/sim-inline.h |  4 +++-
- 2 files changed, 15 insertions(+), 9 deletions(-)
-
-diff --git a/gdb-7.6/sim/common/sim-arange.h b/gdb-7.6/sim/common/sim-arange.h
-index 73117f3..de842c9 100644
---- a/gdb-7.6/sim/common/sim-arange.h
-+++ b/gdb-7.6/sim/common/sim-arange.h
-@@ -60,22 +60,26 @@ extern void sim_addr_range_delete (ADDR_RANGE * /*ar*/,
- 				   address_word /*start*/,
- 				   address_word /*end*/);
- 
-+/* TODO: This should get moved into sim-inline.h.  */
-+#ifdef HAVE_INLINE
-+#ifdef SIM_ARANGE_C
-+#define SIM_ARANGE_INLINE INLINE
-+#else
-+#define SIM_ARANGE_INLINE EXTERN_INLINE
-+#endif
-+#else
-+#define SIM_ARANGE_INLINE EXTERN
-+#endif
-+
- /* Return non-zero if ADDR is in range AR, traversing the entire tree.
-    If no range is specified, that is defined to mean "everything".  */
--extern INLINE int
-+SIM_ARANGE_INLINE int
- sim_addr_range_hit_p (ADDR_RANGE * /*ar*/, address_word /*addr*/);
- #define ADDR_RANGE_HIT_P(ar, addr) \
-   ((ar)->range_tree == NULL || sim_addr_range_hit_p ((ar), (addr)))
- 
- #ifdef HAVE_INLINE
--#ifdef SIM_ARANGE_C
--#define SIM_ARANGE_INLINE INLINE
--#else
--#define SIM_ARANGE_INLINE EXTERN_INLINE
--#endif
- #include "sim-arange.c"
--#else
--#define SIM_ARANGE_INLINE
- #endif
- #define SIM_ARANGE_C_INCLUDED
- 
-diff --git a/gdb-7.6/sim/common/sim-inline.h b/gdb-7.6/sim/common/sim-inline.h
-index af75562..8a9c286 100644
---- a/gdb-7.6/sim/common/sim-inline.h
-+++ b/gdb-7.6/sim/common/sim-inline.h
-@@ -303,7 +303,9 @@
- /* ??? Temporary, pending decision to always use extern inline and do a vast
-    cleanup of inline support.  */
- #ifndef INLINE2
--#if defined (__GNUC__)
-+#if defined (__GNUC_GNU_INLINE__) || defined (__GNUC_STDC_INLINE__)
-+#define INLINE2 __inline__ __attribute__ ((__gnu_inline__))
-+#elif defined (__GNUC__)
- #define INLINE2 __inline__
- #else
- #define INLINE2 /*inline*/
--- 
-2.6.1
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch b/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch
deleted file mode 100644
index 77a287f..0000000
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Backport
-
-https://sourceware.org/git/?p=binutils-gdb.git;h=0d8a6ab
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From 0d8a6ab7d39d28fb1557e2a62e9e4b336341ab34 Mon Sep 17 00:00:00 2001
-From: Aaro Koskinen <aaro.koskinen@iki.fi>
-Date: Mon, 17 Feb 2014 17:12:59 -0500
-Subject: [PATCH] sim: ppc: drop $(LIBS) from psim dependency
-
-When cross-compiling GDB for PPC, there's a prerequisite "-lz" for psim
-that results in a build failure. With such prerequisite, GNU Make will
-try to search the library from build machine's /usr/lib which is wrong.
-On 64-bit Linux build machines the compilation will fail because of this.
-
-URL: https://sourceware.org/bugzilla/show_bug.cgi?id=12202
----
- sim/ppc/Makefile.in | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/gdb-7.6/sim/ppc/Makefile.in b/gdb-7.6/sim/ppc/Makefile.in
-index b811f6f..740bdb0 100644
---- a/gdb-7.6/sim/ppc/Makefile.in
-+++ b/gdb-7.6/sim/ppc/Makefile.in
-@@ -552,7 +552,7 @@ PACKAGE_SRC = @sim_pk_src@
- PACKAGE_OBJ = @sim_pk_obj@
- 
- 
--psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) $(LIBINTL_DEP)
-+psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBINTL_DEP)
- 	$(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(LIBINTL) $(LIBIBERTY_LIB) $(LIBS)
- 
- run: psim
--- 
-1.9.4
-
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.3.0.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_8.0.0.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.3.0.bb
rename to meta-openembedded/meta-oe/recipes-kernel/crash/crash_8.0.0.bb
index d4aa0d5..55de6a6 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_8.0.0.bb
@@ -14,22 +14,16 @@
 
 S = "${WORKDIR}/git"
 SRC_URI = "git://github.com/crash-utility/${BPN}.git;branch=master;protocol=https \
-           ${GNU_MIRROR}/gdb/gdb-7.6.tar.gz;name=gdb;subdir=git \
+           ${GNU_MIRROR}/gdb/gdb-10.2.tar.gz;name=gdb;subdir=git \
            file://7001force_define_architecture.patch \
            file://7003cross_ranlib.patch \
            file://0001-cross_add_configure_option.patch \
-           file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
-           file://sim-common-sim-arange-fix-extern-inline-handling.patch \
            file://donnot-extract-gdb-during-do-compile.patch \
            file://gdb_build_jobs_and_not_write_crash_target.patch \
-           file://remove-unrecognized-gcc-option-m32-for-mips.patch \
-           file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
-           file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
            "
-SRCREV = "2a3e546942ab560f050ab77e8c7828b06513b3f0"
+SRCREV = "ec568e2ea515b66343d3488d5d4b9a625d55b7ae"
 
-SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
-SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
+SRC_URI[gdb.sha256sum] = "b33ad58d687487a821ec8d878daab0f716be60d0936f2e3ac5cf08419ce70350"
 
 UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
 
@@ -78,6 +72,7 @@
 
     sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
     sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
+    sed -i -e 's/#define TARGET_CFLAGS_MIPS_ON_X86_64.*/#define TARGET_CFLAGS_MIPS_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
     sed -i 's/&gt;/>/g' ${S}/Makefile
 }
 
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.5.0.bb b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.7.0.bb
similarity index 92%
rename from meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.5.0.bb
rename to meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.7.0.bb
index 067f58b..461e6b0 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/libbpf/libbpf_0.7.0.bb
@@ -9,7 +9,7 @@
 DEPENDS = "zlib elfutils"
 
 SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=master"
-SRCREV = "5579664205e42194e1921d69d0839f660c801a4d"
+SRCREV = "2cd2d03f63242c048a896179398c68d2dbefe3d6"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 COMPATIBLE_HOST = "(x86_64|i.86|aarch64|riscv64|powerpc64).*-linux"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.11.0.bb b/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.11.0.bb
index e476370..d2d2512 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/libpfm/libpfm4_4.11.0.bb
@@ -20,7 +20,7 @@
 
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/perfmon2/files/libpfm4/"
 
-EXTRA_OEMAKE = "DESTDIR=\"${D}\" PREFIX=\"${prefix}\" LIBDIR=\"${libdir}\" LDCONFIG=\"true\""
+EXTRA_OEMAKE = "DESTDIR=\"${D}\" PREFIX=\"${prefix}\" LIBDIR=\"${libdir}\" LDCONFIG=\"true\" DBG='-g -Wall -Wextra -Wno-unused-parameter'"
 EXTRA_OEMAKE:append:powerpc = " ARCH=\"powerpc\""
 EXTRA_OEMAKE:append:powerpc64 = " ARCH=\"powerpc\" BITMODE=\"64\""
 EXTRA_OEMAKE:append:powerpc64le = " ARCH=\"powerpc\" BITMODE=\"64\""
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
index 1dd87c8..f3dc8a4 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
@@ -1,6 +1,6 @@
-From af97e2ad643334b4c7c3d66f971ce9ebb2b596af Mon Sep 17 00:00:00 2001
+From 71b5a3905d5cd0feca88a0d61d7657ba5296a052 Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
-Date: Thu, 21 Jul 2016 18:06:21 +0800
+Date: Sun, 24 Apr 2022 17:25:33 +0800
 Subject: [PATCH] makedumpfile: replace hardcode CFLAGS
 
 * Create alias for target such as powerpc as powerpc32
@@ -16,9 +16,12 @@
 
 [2021-11-18] Patch updated to use CFLAGS_COMMON for zstd
 Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
+
+Rebase to 1.7.1
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
 ---
- Makefile |   47 ++++++++++++++++++++++++-----------------------
- 1 file changed, 24 insertions(+), 23 deletions(-)
+ Makefile | 42 ++++++++++++++++++++++--------------------
+ 1 file changed, 22 insertions(+), 20 deletions(-)
 
 --- a/Makefile
 +++ b/Makefile
@@ -35,19 +38,13 @@
  HOST_ARCH := $(shell uname -m)
  # Use TARGET as the target architecture if specified.
  # Defaults to uname -m
-@@ -21,29 +15,36 @@ ifeq ($(strip($TARGET)),)
- TARGET := $(HOST_ARCH)
- endif
- 
--ARCH := $(shell echo ${TARGET}  | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
--			       -e s/arm.*/arm/ -e s/sa110/arm/ \
--			       -e s/s390x/s390/ -e s/parisc64/parisc/ \
+@@ -24,26 +18,34 @@ endif
+ ARCH := $(shell echo ${TARGET}  | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
+ 			       -e s/arm.*/arm/ -e s/sa110/arm/ \
+ 			       -e s/s390x/s390/ -e s/parisc64/parisc/ \
 -			       -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/)
-+ARCH := $(shell echo __${TARGET}__  | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
-+		       -e s/arm.*/arm/ -e s/sa110/arm/ \
-+		       -e s/s390x/s390/ -e s/parisc64/parisc/ \
-+		       -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/ \
-+		       -e s/_powerpc_/_powerpc32_/)
++			       -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/ \
++			       -e s/_powerpc_/_powerpc32_/)
  
  CROSS :=
  ifneq ($(TARGET), $(HOST_ARCH))
@@ -55,8 +52,7 @@
  endif
  
 -CFLAGS += -D__$(ARCH)__ $(CROSS)
--CFLAGS_ARCH += -D__$(ARCH)__ $(CROSS)
-+CFLAGS_ARCH += -D$(ARCH) $(CROSS)
+ CFLAGS_ARCH += -D__$(ARCH)__ $(CROSS)
  
 -ifeq ($(ARCH), powerpc64)
 -CFLAGS += -m64
@@ -79,10 +75,11 @@
 +              -DVERSION='"$(VERSION)"' \
 +              -DRELEASE_DATE='"$(DATE)"'
 +
++
  SRC_BASE = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h sadump_info.h
- SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c tools.c printk.c
+ SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c tools.c printk.c detect_cycle.c
  OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART))
-@@ -52,12 +53,12 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
+@@ -52,12 +54,12 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
  
  LIBS = -ldw -lbz2 -ldl -lelf -lz
  ifneq ($(LINKTYPE), dynamic)
@@ -97,7 +94,7 @@
  endif
  
  ifeq ($(USESNAPPY), on)
-@@ -65,12 +66,12 @@ LIBS := -lsnappy $(LIBS)
+@@ -65,12 +67,12 @@ LIBS := -lsnappy $(LIBS)
  ifneq ($(LINKTYPE), dynamic)
  LIBS := $(LIBS) -lstdc++
  endif
@@ -112,7 +109,7 @@
  endif
  
  ifeq ($(DEBUG), on)
-@@ -104,14 +105,14 @@ LIBS := $(LIBS) $(call try-run,\
+@@ -104,14 +106,14 @@ LIBS := $(LIBS) $(call try-run,\
  all: makedumpfile
  
  $(OBJ_PART): $(SRC_PART)
@@ -126,15 +123,15 @@
  makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
 -	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS)
 +	$(CC) $(CFLAGS_COMMON) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS)
- 	echo .TH MAKEDUMPFILE 8 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.8
- 	grep -v "^.TH MAKEDUMPFILE 8" $(VPATH)makedumpfile.8 >> temp.8
- 	mv temp.8 makedumpfile.8
-@@ -122,7 +123,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(
- 	gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz
+ 	@sed -e "s/@DATE@/$(DATE)/" \
+ 	     -e "s/@VERSION@/$(VERSION)/" \
+ 	     $(VPATH)makedumpfile.8.in > $(VPATH)makedumpfile.8
+@@ -120,7 +122,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(
+ 	     $(VPATH)makedumpfile.conf.5.in > $(VPATH)makedumpfile.conf.5
  
  eppic_makedumpfile.so: extension_eppic.c
 -	$(CC) $(CFLAGS) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
 +	$(CC) $(CFLAGS_COMMON) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
  
  clean:
- 	rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8.gz makedumpfile.conf.5.gz
+ 	rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8 makedumpfile.conf.5
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.0.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.1.bb
similarity index 85%
rename from meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.0.bb
rename to meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.1.bb
index d4da031..c3f965b 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.1.bb
@@ -11,7 +11,7 @@
 LICENSE = "GPL-2.0-only"
 
 SRCBRANCH ?= "master"
-SRCREV = "06ef8e2b814feb08a668b7a3783c86674e49a7b1"
+SRCREV = "74bbdd14ec861552ace1ca63953eb2ef73e1f965"
 
 DEPENDS = "bzip2 zlib elfutils xz"
 RDEPENDS:${PN}-tools = "perl ${PN}"
@@ -52,12 +52,6 @@
     install -m 755 ${S}/makedumpfile ${D}/usr/bin
     install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
 
-    mkdir -p ${D}/usr/share/man/man8
-    install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8
-
-    mkdir -p ${D}/usr/share/man/man5
-    install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5
-
     mkdir -p ${D}/etc/
     install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
 }
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
index dd0405c..757f99d 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
@@ -11,6 +11,7 @@
            file://0001-define-__THROW-to-avoid-build-issue-with-musl.patch \
            file://0002-Do-not-use-rcmd-on-build-with-musl.patch \
            file://0001-genisoimage-Add-missing-extern-definition.patch \
+           file://0001-add-new-option-eltorito-platform.patch \
            "
 SRC_URI:append:class-nativesdk = " \
            file://0001-install-netscsid-to-bin-for-nativesdk.patch \
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-add-new-option-eltorito-platform.patch b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-add-new-option-eltorito-platform.patch
new file mode 100644
index 0000000..dac3328
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/cdrkit/files/0001-add-new-option-eltorito-platform.patch
@@ -0,0 +1,335 @@
+From 5a2d571f3687910260c45841725f2deb84c8f12e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 25 Apr 2022 18:18:00 +0800
+Subject: [PATCH] add new option -eltorito-platform
+
+Mkisofs now correctly supports El Torito multi boot entries by introducing
+a Boot Dection Header before a list of alternate boot entries.
+
+New option -eltorito-platform allows to set the El Torito platform id
+for a boot entry or for a list of boot entries. Supported values for
+the parameter are:
+-   x86 the standard value vor x86 based PCs
+-   PPC the Power PC platform
+-   Mac The Apple Mac platform
+-   efi EFI based boot for PCs
+-   #   an arbitrary numerical value
+
+Upstream-Status: Inappropriate [port from cdrtools]
+https://github.com/jobermayr/cdrtools/commit/a50804fd61d75eb689a515dbfca6968ca2296fd7
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ genisoimage/eltorito.c    | 73 +++++++++++++++++++++++++++++++++++++--
+ genisoimage/genisoimage.c | 47 +++++++++++++++++++++++++
+ genisoimage/genisoimage.h |  8 +++++
+ genisoimage/iso9660.h     | 33 ++++++++++++++++--
+ 4 files changed, 157 insertions(+), 4 deletions(-)
+
+diff --git a/genisoimage/eltorito.c b/genisoimage/eltorito.c
+index d52e17e..a804988 100644
+--- a/genisoimage/eltorito.c
++++ b/genisoimage/eltorito.c
+@@ -56,6 +56,7 @@ static unsigned int bcat_de_flags;
+ void	init_boot_catalog(const char *path);
+ void	insert_boot_cat(void);
+ static	void	get_torito_desc(struct eltorito_boot_descriptor *boot_desc);
++static	void	fill_boot_shdr(struct eltorito_sectionheader_entry *boot_shdr_entry, int arch);
+ static	void	fill_boot_desc(struct eltorito_defaultboot_entry *boot_desc_entry,
+ 										struct eltorito_boot_entry_info *boot_entry);
+ void	get_boot_entry(void);
+@@ -282,7 +283,14 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ 	struct directory_entry	*de2;	/* Boot catalog */
+ 	int			i;
+ 	int			offset;
++	int			arch = 0;
++	int			nentries = 0;
+ 	struct eltorito_defaultboot_entry boot_desc_record;
++	struct eltorito_sectionheader_entry boot_shdr_record;
++#ifdef __needed__
++	struct eltorito_section_entry boot_section_record;
++#endif
++	struct eltorito_sectionheader_entry *last_section_header = 0;
+ 
+ 	memset(boot_desc, 0, sizeof (*boot_desc));
+ 	boot_desc->type[0] = 0;
+@@ -311,13 +319,22 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ 	set_731(boot_desc->bootcat_ptr,
+ 		(unsigned int) get_733(de2->isorec.extent));
+ 
++	/*
++	 * If the platform id for the first (default) boot entry has not been
++	 * explicitly set, we default to EL_TORITO_ARCH_x86
++	 */
++	if ((first_boot_entry->type & ELTORITO_BOOT_ID) == 0) {
++		first_boot_entry->boot_platform = EL_TORITO_ARCH_x86;
++	}
++	arch = first_boot_entry->boot_platform;
++
+ 	/*
+ 	 * we have the boot image, so write boot catalog information
+ 	 * Next we write out the primary descriptor for the disc
+ 	 */
+ 	memset(&valid_desc, 0, sizeof (valid_desc));
+ 	valid_desc.headerid[0] = 1;
+-	valid_desc.arch[0] = EL_TORITO_ARCH_x86;
++	valid_desc.arch[0] = arch;  /* Platform id for the default boot */
+ 
+ 	/*
+ 	 * we'll shove start of publisher id into id field,
+@@ -351,8 +368,17 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ 		current_boot_entry != NULL;
+ 		current_boot_entry = current_boot_entry->next,
+ 		offset += sizeof (boot_desc_record)) {
++		int newarch = arch;
+ 
+-		if (offset >= SECTOR_SIZE) {
++		if (current_boot_entry->type & ELTORITO_BOOT_ID)
++			newarch = current_boot_entry->boot_platform;
++		else
++			current_boot_entry->boot_platform = arch;
++ 
++		/*
++		 * El Torito has no such limitation but we currently have...
++		 */
++		if (offset >= (SECTOR_SIZE - sizeof (boot_desc_record))) {
+ #ifdef	USE_LIBSCHILY
+ 			comerrno(EX_BAD,
+ 			"Too many El Torito boot entries\n");
+@@ -362,12 +388,53 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ 			exit(1);
+ #endif
+ 		}
++
++		if (current_boot_entry == first_boot_entry) {
++			;
++			/* EMPTY */
++		} else if ((current_boot_entry == first_boot_entry->next) ||
++			    (arch != newarch) ||
++			    (current_boot_entry->type & ELTORITO_SECTION_HEADER)) {
++			if (last_section_header)
++				set_721(&last_section_header->entry_count, nentries);
++			nentries = 1;
++			last_section_header = (struct eltorito_sectionheader_entry *)
++							(de2->table + offset);
++			fill_boot_shdr(&boot_shdr_record, newarch);
++			memcpy(de2->table + offset, &boot_shdr_record,
++						sizeof (boot_shdr_record));
++			offset += sizeof (boot_desc_record);
++		} else {
++			nentries++; /* Add entry to this section header */
++		}
++		/*
++		 * This works because a section entry has the same essential
++		 * layout as a default entry (and we do not populate the
++		 * selection criteria fields).
++		 */
++
+ 		fill_boot_desc(&boot_desc_record, current_boot_entry);
+ 		memcpy(de2->table + offset, &boot_desc_record,
+ 					sizeof (boot_desc_record));
+ 	}
++
++	if (last_section_header) {
++		set_721(&last_section_header->entry_count, nentries);
++		last_section_header->header_id[0] = EL_TORITO_SHDR_ID_LAST_SHDR;
++	}
++
+ }/* get_torito_desc(... */
+ 
++static void
++fill_boot_shdr(boot_shdr_entry, arch)
++	struct eltorito_sectionheader_entry *boot_shdr_entry;
++	int                 arch;
++{
++	memset(boot_shdr_entry, 0, sizeof(struct eltorito_sectionheader_entry));
++	boot_shdr_entry->header_id[0] = EL_TORITO_SHDR_ID_SHDR;
++	boot_shdr_entry->platform_id[0] = arch;
++}
++
+ static void
+ fill_boot_desc(struct eltorito_defaultboot_entry *boot_desc_entry, 
+ 					struct eltorito_boot_entry_info *boot_entry)
+@@ -678,7 +745,9 @@ get_boot_entry()
+ 	if (!first_boot_entry) {
+ 		first_boot_entry = current_boot_entry;
+ 		last_boot_entry = current_boot_entry;
++		current_boot_entry->boot_platform = EL_TORITO_ARCH_x86;
+ 	} else {
++		current_boot_entry->boot_platform = last_boot_entry->boot_platform;
+ 		last_boot_entry->next = current_boot_entry;
+ 		last_boot_entry = current_boot_entry;
+ 	}
+diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
+index 9089081..84ac3c2 100644
+--- a/genisoimage/genisoimage.c
++++ b/genisoimage/genisoimage.c
+@@ -271,6 +271,8 @@ struct rcopts {
+ 	char		**variable;
+ };
+ 
++static int get_boot_platid(char *opt_arg);
++
+ struct rcopts rcopt[] = {
+ 	{"PREP", &preparer},
+ 	{"PUBL", &publisher},
+@@ -404,6 +406,7 @@ struct ld_option {
+ 
+ #define	OPTION_ALLOW_LEADING_DOTS	1070
+ #define	OPTION_PUBLISHER		1071
++#define	OPTION_PLATFORM			1072
+ 
+ #ifdef		JIGDO_TEMPLATE
+ #define	OPTION_JTT_OUTPUT		1101
+@@ -528,6 +531,8 @@ static const struct ld_option ld_options[] =
+ 	'b', "FILE", "Set El Torito boot image name", ONE_DASH},
+ 	{{"eltorito-alt-boot", no_argument, NULL, OPTION_ALT_BOOT},
+ 	'\0', NULL, "Start specifying alternative El Torito boot parameters", ONE_DASH},
++	{{"eltorito-platform", required_argument, NULL, OPTION_PLATFORM},
++	'\0', "ID", "Set El Torito platform id for the next boot entry", ONE_DASH},
+ 	{{"sparc-boot", required_argument, NULL, 'B'},
+ 	'B', "FILES", "Set sparc boot image names", ONE_DASH},
+ 	{{"sunx86-boot", required_argument, NULL, OPTION_SUNX86BOOT},
+@@ -1558,6 +1563,9 @@ int main(int argc, char *argv[])
+ 			 */
+ 			new_boot_entry();
+ 			break;
++		case OPTION_PLATFORM:
++			get_boot_platid(optarg);
++			break;
+ 		case OPTION_BOOTALPHA:
+ 			use_alphaboot++;
+ 			/* list of pathnames of boot images */
+@@ -3829,3 +3837,42 @@ e_malloc(size_t size)
+      memset(pt, 0, size);
+ 	return (pt);
+ }
++
++static int
++get_boot_platid(char *opt_arg)
++{
++	long    val;
++	char    *ptr;
++
++	use_eltorito++;
++	if (streql(opt_arg, "x86")) {
++		val = EL_TORITO_ARCH_x86;
++	} else if (streql(opt_arg, "PPC")) {
++		val = EL_TORITO_ARCH_PPC;
++	} else if (streql(opt_arg, "Mac")) {
++		val = EL_TORITO_ARCH_PPC;
++	} else if (streql(opt_arg, "efi")) {
++		val = EL_TORITO_ARCH_EFI;
++	} else {
++		val = strtol(opt_arg, &ptr, 0);
++		if (*ptr || val < 0 || val >= 0x100) {
++			comerrno(EX_BAD, "Bad boot system ID.\n");
++		}
++	}
++
++	/*
++	 * If there is already a boot entry and the boot file name has been set
++	 * for this boot entry and the new platform id differs from the
++	 * previous value, we start a new boot section.
++	 */
++	if (current_boot_entry &&
++	    current_boot_entry->boot_image != NULL &&
++	    current_boot_entry->boot_platform != val) {
++	    new_boot_entry();
++	}
++	get_boot_entry();
++	current_boot_entry->type |= ELTORITO_BOOT_ID;
++	current_boot_entry->boot_platform = val;
++	return (1);
++}
++
+diff --git a/genisoimage/genisoimage.h b/genisoimage/genisoimage.h
+index 82c859b..1170d89 100644
+--- a/genisoimage/genisoimage.h
++++ b/genisoimage/genisoimage.h
+@@ -299,6 +299,14 @@ struct eltorito_boot_entry_info {
+ 	int		boot_info_table;
+ 	int		load_size;
+ 	int		load_addr;
++
++#define	ELTORITO_BOOT_ID    1
++#define	ELTORITO_SECTION_HEADER 2
++	int     type;
++	/*
++	 * Valid if (type & ELTORITO_BOOT_ID) != 0
++	 */
++	int     boot_platform;
+ };
+ 
+ extern int	goof;
+diff --git a/genisoimage/iso9660.h b/genisoimage/iso9660.h
+index c74c2a9..61b6fc0 100644
+--- a/genisoimage/iso9660.h
++++ b/genisoimage/iso9660.h
+@@ -62,6 +62,7 @@ struct iso_volume_descriptor {
+ #define	EL_TORITO_ARCH_x86	0
+ #define	EL_TORITO_ARCH_PPC	1
+ #define	EL_TORITO_ARCH_MAC	2
++#define	EL_TORITO_ARCH_EFI	0xEF
+ 
+ #define	EL_TORITO_BOOTABLE	0x88
+ #define	EL_TORITO_NOT_BOOTABLE	0
+@@ -159,10 +160,15 @@ struct eltorito_boot_descriptor {
+ };
+ 
+ /* Validation entry for El Torito */
++/*
++ * headerid must be 1
++ * id is the manufacturer ID
++ * cksum to make the sum of all shorts in this record 0
++ */
+ struct eltorito_validation_entry {
+ 	char headerid			[ISODCL(1,    1)]; /* 711 */
+ 	char arch			[ISODCL(2,    2)];
+-	char pad1			[ISODCL(3,    4)]; /* 711 */
++	char pad1			[ISODCL(3,    4)]; /* 721 */
+ 	char id				[ISODCL(5,   28)]; /* CD devel/man*/
+ 	char cksum			[ISODCL(29,  30)];
+ 	char key1			[ISODCL(31,  31)];
+@@ -173,7 +179,7 @@ struct eltorito_validation_entry {
+ struct eltorito_defaultboot_entry {
+ 	char boot_id			[ISODCL(1,    1)]; /* 711 */
+ 	char boot_media			[ISODCL(2,    2)];
+-	char loadseg			[ISODCL(3,    4)]; /* 711 */
++	char loadseg			[ISODCL(3,    4)]; /* 721 */
+ 	char sys_type			[ISODCL(5,    5)];
+ 	char pad1			[ISODCL(6,    6)];
+ 	char nsect			[ISODCL(7,    8)];
+@@ -181,6 +187,29 @@ struct eltorito_defaultboot_entry {
+ 	char pad2			[ISODCL(13,  32)];
+ };
+ 
++/* El Torito section header entry in boot catalog */
++struct eltorito_sectionheader_entry {
++#define    EL_TORITO_SHDR_ID_SHDR      0x90
++#define    EL_TORITO_SHDR_ID_LAST_SHDR 0x91
++	char header_id          [ISODCL(1,    1)]; /* 711 */
++	char platform_id        [ISODCL(2,    2)];
++	char entry_count        [ISODCL(3,    4)]; /* 721 */
++	char id             [ISODCL(5,   32)];
++};
++
++/* El Torito section entry in boot catalog */
++struct eltorito_section_entry {
++	char boot_id            [ISODCL(1,    1)]; /* 711 */
++	char boot_media         [ISODCL(2,    2)];
++	char loadseg            [ISODCL(3,    4)]; /* 721 */
++	char sys_type           [ISODCL(5,    5)];
++	char pad1           [ISODCL(6,    6)];
++	char nsect          [ISODCL(7,    8)];
++	char bootoff            [ISODCL(9,   12)];
++	char sel_criteria       [ISODCL(13,  13)];
++	char vendor_sel_criteria    [ISODCL(14,  32)];
++};
++
+ /*
+  * XXX JS: The next two structures have odd lengths!
+  * Some compilers (e.g. on Sun3/mc68020) padd the structures to even length.
+-- 
+2.27.0
+
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.11.0.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb
rename to meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.11.0.bb
index 0e12587..8fd4f69 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.11.0.bb
@@ -7,9 +7,9 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
 
-SRCREV = "7ec7a33a081aeeb53fed1a8d87e4cbd189152527"
-SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https;branch=master \
-            file://libvpx-configure-support-blank-prefix.patch \
+SRCREV = "626ff35955c2c35b806b3e0ecf551a1a8611cdbf"
+SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https;branch=main \
+           file://libvpx-configure-support-blank-prefix.patch \
            "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.1.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.1.bb
index c11d4c7..410db92 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.1.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.23.1.bb
@@ -73,11 +73,13 @@
     install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}${sysconfdir}/default/gpsd.default
 
     # Support for python
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}/gps
-    install -m 755 ${D}${libdir}/gps/*.py ${D}${PYTHON_SITEPACKAGES_DIR}/gps
+    if [ -d ${D}${libdir}/gps ]; then
+        install -d ${D}${PYTHON_SITEPACKAGES_DIR}/gps
+        install -m 755 ${D}${libdir}/gps/*.py ${D}${PYTHON_SITEPACKAGES_DIR}/gps
+    fi
 }
 
-PACKAGES =+ "libgps python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
+PACKAGES =+ "libgps python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils gps-utils-python"
 
 RPROVIDES:${PN}-dbg += "python-pygps-dbg"
 
@@ -103,34 +105,38 @@
 FILES:gpsd-gpsctl = "${bindir}/gpsctl"
 
 SUMMARY:gps-utils = "Utils used for simulating, monitoring,... a GPS"
-# Python files are required for gps/fake, required for gpsfake.
 FILES:gps-utils = "\
     ${bindir}/cgps         \
-    ${bindir}/gegps        \
     ${bindir}/gps2udp      \
-    ${bindir}/gpscat       \
-    ${bindir}/gpscsv       \
     ${bindir}/gpsctl       \
     ${bindir}/gpsdebuginfo \
     ${bindir}/gpsdecode    \
-    ${bindir}/gpsfake      \
     ${bindir}/gpsmon       \
     ${bindir}/gpspipe      \
-    ${bindir}/gpsplot      \
-    ${bindir}/gpsprof      \
     ${bindir}/gpsrinex     \
     ${bindir}/gpssnmp      \
-    ${bindir}/gpssubframe  \
     ${bindir}/gpxlogger    \
     ${bindir}/lcdgps       \
     ${bindir}/ntpshmmon    \
     ${bindir}/ppscheck     \
+"
+RRECOMMENDS:gps-utils = "gps-utils-python"
+
+SUMMARY:gps-utils-python = "Python utils used for simulating, monitoring,... a GPS"
+FILES:gps-utils-python = "\
+    ${bindir}/gegps        \
+    ${bindir}/gpscat       \
+    ${bindir}/gpscsv       \
+    ${bindir}/gpsfake      \
+    ${bindir}/gpsplot      \
+    ${bindir}/gpsprof      \
+    ${bindir}/gpssubframe  \
     ${bindir}/ubxtool      \
     ${bindir}/xgps         \
     ${bindir}/xgpsspeed    \
     ${bindir}/zerk         \
 "
-RDEPENDS:gps-utils = "python3-pygps"
+RDEPENDS:gps-utils-python = "python3-pygps"
 
 SUMMARY:python3-pygps = "Python bindings to gpsd"
 FILES:python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
diff --git a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.5.0.bb b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.6.3.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.5.0.bb
rename to meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.6.3.bb
index 9644c65..fa33daf 100644
--- a/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-printing/qpdf/qpdf_10.6.3.bb
@@ -5,7 +5,7 @@
 DEPENDS = "libpcre zlib libjpeg-turbo"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/qpdf/qpdf-${PV}.tar.gz"
-SRC_URI[sha256sum] = "88257d36a44fd5c50b2879488324dd9cafc11686ae49d8c4922a4872203ce006"
+SRC_URI[sha256sum] = "e8fc23b2a584ea68c963a897515d3eb3129186741dd19d13c86d31fa33493811"
 
 LIC_FILES_CHKSUM = "file://Artistic-2.0;md5=7806296b9fae874361e6fb10072b7ee3"
 
diff --git a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.6.bb b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.7.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.6.bb
rename to meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.7.bb
index d99d9a8..d77aec2 100644
--- a/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.6.bb
+++ b/meta-openembedded/meta-oe/recipes-security/audit/audit_3.0.7.bb
@@ -15,7 +15,7 @@
 "
 
 S = "${WORKDIR}/git"
-SRCREV = "b1b2728ccd83eeb0dffe29c01a5c97e14e6a0d8a"
+SRCREV = "f60b2d8f55c74be798a7f5bcbd6c587987f2578a"
 
 inherit autotools python3native update-rc.d systemd
 
@@ -70,7 +70,6 @@
 FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}"
 
 CONFFILES:auditd = "${sysconfdir}/audit/audit.rules"
-RDEPENDS:auditd = "bash"
 
 do_install:append() {
 	rm -f ${D}/${libdir}/python${PYTHON_BASEVERSION}/site-packages/*.a
diff --git a/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb b/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
index a1c4cc9..2fcdb6b 100644
--- a/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
@@ -6,7 +6,6 @@
 SECTION = "System Environment/Kernel"
 
 SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/53357/${BP}-20170102.tar.gz"
-SRC_URI[md5sum] = "888804d58742452fe213a68f7eadd0ad"
 SRC_URI[sha256sum] = "00fedfac5e514321250bbe69eaccc732c8a8158596f77a785c2e3ae9f9968283"
 
 S = "${WORKDIR}/${BPN}"
@@ -26,5 +25,5 @@
 }
 
 do_install() {
-    oe_runmake install INSTALLDIR=${D}
+    oe_runmake install SBINDIR=${base_sbindir} INSTALLDIR=${D}
 }
diff --git a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb
index c4da5cd..f7282bf 100644
--- a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb
+++ b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.22.04.bb
@@ -27,8 +27,10 @@
     oe_runmake install.man DESTDIR=${D}
 
     install -d ${D}${base_bindir}
-    ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
-    ln -s /usr/bin/tcsh ${D}${base_bindir}/csh
+    if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+        ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
+        ln -s /usr/bin/tcsh ${D}${base_bindir}/csh
+    fi
     install -d ${D}${sysconfdir}/csh/login.d
     install -m 0644 ${S}/csh.cshrc ${S}/csh.login ${S}/csh.logout ${S}/complete.tcsh ${D}${sysconfdir}
     install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el
diff --git a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
index 97c0489..e22eddb 100644
--- a/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/boost-sml/boost-sml_git.bb
@@ -19,7 +19,8 @@
 inherit cmake
 
 # Building benchmarks takes a lot of time and requires additional headers (euml2.hpp)
-EXTRA_OECMAKE:append = " -DSML_BUILD_BENCHMARKS:bool=OFF"
+# Building examples fail with gcc-12
+EXTRA_OECMAKE:append = " -DSML_BUILD_BENCHMARKS:bool=OFF -DSML_BUILD_EXAMPLES=OFF"
 
 # [boost::ext].XML is a header only C++ library, so the main package will be empty.
 ALLOW_EMPTY:${PN} = "1"
diff --git a/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb b/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb
index 2aab68e..a279680 100644
--- a/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb
@@ -13,18 +13,15 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=56a22a6e5bcce45e2c8ac184f81412b5"
 SRCREV = "0d6e3307bbdb8df4d56043d5f373eeeffe4cbef3"
 
-SRC_URI = "git://git.sv.gnu.org/gnulib.git;branch=master \
+SRC_URI = "git://git.savannah.gnu.org/git/gnulib.git;branch=master \
 "
 
 S = "${WORKDIR}/git"
 
-inherit utils
-
 do_install () {
-    cd ${S}
-    check_git_config
-    git checkout master
-    git clone ${S} ${D}/${datadir}/gnulib
+    install -d ${D}/${datadir}/gnulib
+    cp --no-preserve=ownership --recursive ${S}/* ${D}/${datadir}/gnulib/
+    cp --no-preserve=ownership --recursive ${S}/.git ${D}/${datadir}/gnulib/
 }
 
 do_patch[noexec] = "1"
diff --git a/meta-openembedded/meta-oe/recipes-support/gradm/gradm/0001-make-Define-SBINDIR-flag.patch b/meta-openembedded/meta-oe/recipes-support/gradm/gradm/0001-make-Define-SBINDIR-flag.patch
new file mode 100644
index 0000000..1c0f3bf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gradm/gradm/0001-make-Define-SBINDIR-flag.patch
@@ -0,0 +1,69 @@
+From 12bc62ac26df012fc143913b6e046a3cf5127db2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 23 Apr 2022 09:20:49 -0700
+Subject: [PATCH] make: Define SBINDIR flag
+
+Provides a facility to control install locations of /sbin elements from
+environment
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index deed94c..9190fe9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -25,6 +25,7 @@ MKNOD=/bin/mknod
+ CC=/usr/bin/gcc
+ FIND=/usr/bin/find
+ LIBS := $(shell if [ "`uname -m`" != "sparc64" -a "`uname -m`" != "x86_64" ]; then echo "-lfl" ; else echo "" ; fi)
++SBINDIR=/sbin
+ OPT_FLAGS := -O2
+ # for older versions of grsecurity, comment the above line and uncomment the below:
+ #OPT_FLAGS := $(shell if [ "`uname -m`" != "sparc64" ] && [ "`uname -m`" != "x86_64" ]; then echo "-O2" ; else echo "-O2 -m64" ; fi)
+@@ -136,15 +137,15 @@ lex.learn_pass1.o: lex.learn_pass1.c learn_pass1.tab.h
+ lex.learn_pass2.o: lex.learn_pass2.c learn_pass2.tab.h
+ 
+ install: $(GRADM_BIN) gradm.8 policy grlearn
+-	@mkdir -p $(DESTDIR)/sbin
++	@mkdir -p $(DESTDIR)$(SBINDIR)
+ 	@echo "Installing gradm..."
+-	@$(INSTALL) -m 0755 $(GRADM_BIN) $(DESTDIR)/sbin
++	@$(INSTALL) -m 0755 $(GRADM_BIN) $(DESTDIR)$(SBINDIR)
+ 	@if [ -f $(GRADM_PAM) ] ; then \
+ 		echo "Installing gradm_pam..." ; \
+-		$(INSTALL) -m 4755 $(GRADM_PAM) $(DESTDIR)/sbin ; \
++		$(INSTALL) -m 4755 $(GRADM_PAM) $(DESTDIR)$(SBINDIR) ; \
+ 	fi
+ 	@echo "Installing grlearn..."
+-	@$(INSTALL) -m 0700 grlearn $(DESTDIR)/sbin
++	@$(INSTALL) -m 0700 grlearn $(DESTDIR)$(SBINDIR)
+ 	@mkdir -p -m 700 $(DESTDIR)$(GRSEC_DIR)
+ 	@if [ ! -f $(DESTDIR)$(GRSEC_DIR)/policy ] ; then \
+ 		if [ -f $(DESTDIR)$(GRSEC_DIR)/acl ] ; then \
+@@ -170,15 +171,15 @@ install: $(GRADM_BIN) gradm.8 policy grlearn
+ 		echo "KERNEL==\"grsec\",          MODE=\"0622\"" >> $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \
+ 		echo "LABEL=\"permissions_end\"" >> $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \
+ 	fi
+-	@if [ -f $(DESTDIR)/sbin/udevadm ] ; then \
+-		$(DESTDIR)/sbin/udevadm trigger --action=change ; \
++	@if [ -f $(DESTDIR)$(SBINDIR)/udevadm ] ; then \
++		$(DESTDIR)$(SBINDIR)/udevadm trigger --action=change ; \
+ 	fi
+ 	@echo "Installing gradm manpage..."
+ 	@mkdir -p $(DESTDIR)$(MANDIR)/man8
+ 	@$(INSTALL) -m 0644 gradm.8 $(DESTDIR)$(MANDIR)/man8/$(GRADM_BIN).8
+-	@if [ -x /sbin/$(GRADM_BIN) ] ; then \
++	@if [ -x $(SBINDIR)/$(GRADM_BIN) ] ; then \
+ 		if [ -z $(DESTDIR) ] && [ ! -f $(GRSEC_DIR)/pw ] ; then \
+-			/sbin/$(GRADM_BIN) -P ; \
++			$(SBINDIR)/$(GRADM_BIN) -P ; \
+ 		fi \
+ 	fi
+ 	@true
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb b/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-202111052217.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb
rename to meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-202111052217.bb
index 0513f0d..c82b529 100644
--- a/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-202111052217.bb
@@ -14,9 +14,9 @@
 SRC_URI = "http://grsecurity.net/stable/${BP}.tar.gz \
            file://0001-Makefile-remove-strip.patch \
            file://0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch \
+           file://0001-make-Define-SBINDIR-flag.patch \
            "
-SRC_URI[md5sum] = "5099c715433981d5a3eed8ded7c5bbc0"
-SRC_URI[sha256sum] = "d3a0b6383ff97a2054941d71133c737efae66afdd8eef59346c031ae15c75ff3"
+SRC_URI[sha256sum] = "2459290f367a47c8a1ce4ea2ec08359799ea33dc15ed4436439596ce88284fb9"
 
 S = "${WORKDIR}/gradm"
 
@@ -35,6 +35,7 @@
 do_install() {
     oe_runmake 'CC=${CC}'                               \
                'DESTDIR=${D}'                           \
+               'SBINDIR=${base_sbindir}'                \
                'LIBS='                                  \
                'LLEX=${STAGING_BINDIR_NATIVE}/lex'      \
                'FLEX=${STAGING_BINDIR_NATIVE}/flex'     \
diff --git a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb
index 0bb06c1..fc4fad7 100644
--- a/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb
@@ -26,8 +26,8 @@
 
 inherit cmake pkgconfig ptest
 
-LIBATOMIC:mips:toolchain-clang = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCEREAL_THREAD_LIBS="-latomic"', '', d)}"
-LIBATOMIC:riscv32:toolchain-clang = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCEREAL_THREAD_LIBS="-latomic"', '', d)}"
+LIBATOMIC:mips = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCEREAL_THREAD_LIBS="-latomic"', '', d)}"
+LIBATOMIC:riscv32 = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCEREAL_THREAD_LIBS="-latomic"', '', d)}"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
 PACKAGECONFIG[with-tests] = "-DWITH_WERROR=OFF -DBUILD_TESTS=ON ${LIBATOMIC},,"
diff --git a/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb b/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.26.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb
rename to meta-openembedded/meta-oe/recipes-support/links/links-x11_2.26.bb
index e354bba..4c8d935 100644
--- a/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.22.bb
+++ b/meta-openembedded/meta-oe/recipes-support/links/links-x11_2.26.bb
@@ -10,7 +10,7 @@
 SRC_URI += " file://links2.desktop \
              http://www.xora.org.uk/oe/links2.png;name=icon"
 
-SRC_URI[sha256sum] = "0364986b3a7f1e8e3171bea362b53f71e1dd3360a8842d66fdc65580ebc2084d"
+SRC_URI[sha256sum] = "f05b3577f25dbe63e491c424f0ecb31f7bfadce9b2bc2f111dfed049c004c9cb"
 SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
 
 S = "${WORKDIR}/links-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-support/links/links_2.25.bb b/meta-openembedded/meta-oe/recipes-support/links/links_2.26.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-support/links/links_2.25.bb
rename to meta-openembedded/meta-oe/recipes-support/links/links_2.26.bb
index 1986358..3c1ee4f 100644
--- a/meta-openembedded/meta-oe/recipes-support/links/links_2.25.bb
+++ b/meta-openembedded/meta-oe/recipes-support/links/links_2.26.bb
@@ -8,4 +8,4 @@
                 --without-libtiff --without-svgalib --with-fb \
                 --without-directfb --without-pmshell --without-atheos \
                 --without-x"
-SRC_URI[sha256sum] = "2dd78508698e8279ef4f09a3a2a21e9595040113402da6c553974414fb49dd2c"
+SRC_URI[sha256sum] = "f05b3577f25dbe63e491c424f0ecb31f7bfadce9b2bc2f111dfed049c004c9cb"
diff --git a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch
new file mode 100644
index 0000000..abcf1bc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev/0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch
@@ -0,0 +1,28 @@
+From 11c78232aa589d5ed43eea3683e6e3de0362ffdc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 26 Apr 2022 10:00:32 -0700
+Subject: [PATCH] lockdev: Define MAJOR/MINOR for non-glibc case
+
+gnu_dev_major and gnu_dev_minor are glibc extensions but we do have
+major/minor macros on musl too, so use them to define MINOR/MAJOR here
+
+Upstream-Status: Inappropriate [No active upstream]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lockdev.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/src/lockdev.c
++++ b/src/lockdev.c
+@@ -125,8 +125,8 @@
+ #include <sys/file.h>
+ #if defined (__GNU_LIBRARY__)
+ # include <sys/sysmacros.h>
+-# define MAJOR(dev) gnu_dev_major (dev)
+-# define MINOR(dev) gnu_dev_minor (dev)
++# define MAJOR(dev) major (dev)
++# define MINOR(dev) minor (dev)
+ #else
+ #  error "put here a define for MAJOR and MINOR"
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
index d84041c..a52ca25 100644
--- a/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
@@ -5,22 +5,20 @@
 
 PE = "1"
 SRC_URI = "http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/l/lockdev/lockdev_${PV}.orig.tar.gz \
-           http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/l/lockdev/lockdev_${PV}-1.6.diff.gz;name=debianpatch \
            file://cross_compile.patch \
            file://build.patch \
+           file://0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch \
            "
-SRC_URI[md5sum] = "64b9c1b87b125fc348e892e24625524a"
 SRC_URI[sha256sum] = "ccae635d7ac3fdd50897eceb250872b3d9a191d298f213e7f0c836910d869f82"
-SRC_URI[debianpatch.md5sum] = "5ef6267c42fca9145e0af006ccb6aff7"
-SRC_URI[debianpatch.sha256sum] = "a5405c6ee5e97e45eeb1c81330a7e9f444a58bda5e6771fa30007516c115007e"
 
 inherit lib_package perlnative
 
-CFLAGS += " -D__GNU_LIBRARY__"
-
 TARGET_CC_ARCH += "${LDFLAGS}"
 
-EXTRA_OEMAKE = "basedir=${D}${prefix} baselib=${baselib} LD='${CC}' LD='${CC}'"
+CFLAGS:append:libc-musl = " -D__GNU_LIBRARY__"
+
+EXTRA_OEMAKE = "basedir=${D}${prefix} baselib=${baselib} LD='${CC}'"
+
 do_compile() {
         oe_runmake shared static
 }
diff --git a/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb b/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_3.0.21.02.21.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb
rename to meta-openembedded/meta-oe/recipes-support/opencl/clinfo_3.0.21.02.21.bb
index 831b15a..35b5a00 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_3.0.21.02.21.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "git://github.com/Oblomov/clinfo.git;protocol=https;branch=master"
 
-SRCREV = "59d0daf898e48d76ccbb788acbba258fa0a8ba7c"
+SRCREV = "d34bc1a3bdc148e2e1fe64998398e1a0552ab04c"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-core-vsx-update-vec_absd-workaround-condition.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-core-vsx-update-vec_absd-workaround-condition.patch
new file mode 100644
index 0000000..d2d3b81
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-core-vsx-update-vec_absd-workaround-condition.patch
@@ -0,0 +1,28 @@
+From c7ce902eed0eb7926c0973b1127037fdd27b99ca Mon Sep 17 00:00:00 2001
+From: Alexander Alekhin <alexander.a.alekhin@gmail.com>
+Date: Tue, 15 Feb 2022 07:23:32 +0300
+Subject: [PATCH] core(vsx): update vec_absd() workaround condition
+
+Upstream-Status: Backport [https://github.com/opencv/opencv/commit/8d88bb06b230b5c4b5bca78d84102f5d1adf48cf]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/core/include/opencv2/core/vsx_utils.hpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/modules/core/include/opencv2/core/vsx_utils.hpp b/modules/core/include/opencv2/core/vsx_utils.hpp
+index 68863ffb36..5cbc066784 100644
+--- a/modules/core/include/opencv2/core/vsx_utils.hpp
++++ b/modules/core/include/opencv2/core/vsx_utils.hpp
+@@ -684,7 +684,8 @@ VSX_IMPL_LOAD_L8(vec_double2, double)
+ #endif
+ 
+ // absolute difference
+-#ifndef vec_absd
++#ifndef _ARCH_PWR9
++#   undef vec_absd
+ #   define vec_absd(a, b) vec_sub(vec_max(a, b), vec_min(a, b))
+ #endif
+ 
+-- 
+2.36.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb
index 4449596..e4fb676 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.5.5.bb
@@ -51,6 +51,7 @@
            file://0001-Dont-use-isystem.patch \
            file://download.patch \
            file://0001-Make-ts-module-external.patch \
+           file://0001-core-vsx-update-vec_absd-workaround-condition.patch \
            "
 SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.5.8.bb b/meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.6.0.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.5.8.bb
rename to meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.6.0.bb
index 1600bbf..c9e7eae 100644
--- a/meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.5.8.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.6.0.bb
@@ -5,7 +5,7 @@
 
 SRC_URI = "git://github.com/LudovicRousseau/pcsc-tools;protocol=https;branch=master"
 
-SRCREV = "53923ef8e98062c478f99e3bfcc8eb4654996c27"
+SRCREV = "c6e9fa746d00e08fc71c57c79e305669ff2e3106"
 
 inherit autotools pkgconfig
 
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.1.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.2.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.1.bb
rename to meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.2.bb
index 3cfd49f..8694983 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.11.2.bb
@@ -12,7 +12,7 @@
     git://github.com/pocoproject/poco.git;branch=master;protocol=https \
     file://run-ptest \
    "
-SRCREV = "de61f0049175a941cc83c2615c3bdc5e947b89f9"
+SRCREV = "9d1c428c861f2e5ccf09149bbe8d2149720c5896"
 
 UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.04.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.04.0.bb
index 9c91221..b7cdb4f 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.04.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_22.04.0.bb
@@ -33,9 +33,11 @@
     -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
     -DBUILD_GTK_TESTS=OFF \
     -DENABLE_ZLIB=ON \
+    -DRUN_GPERF_IF_PRESENT=OFF \
     -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \
     ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \
 "
+EXTRA_OECMAKE:append:class-native = " -DENABLE_CPP=OFF"
 
 do_configure:append() {
     # poppler macro uses pkg-config to check for g-ir runtimes. Something
@@ -49,3 +51,5 @@
 FILES:libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
 
 RDEPENDS:libpoppler = "poppler-data"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb b/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.9.bb
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
rename to meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.9.bb
index b91c22e..c194739 100644
--- a/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.9.bb
@@ -11,8 +11,7 @@
 SRC_URI = "http://ftp.unixodbc.org/unixODBC-${PV}.tar.gz \
            file://do-not-use-libltdl-source-directory.patch \
 "
-SRC_URI[md5sum] = "274a711b0c77394e052db6493840c6f9"
-SRC_URI[sha256sum] = "45f169ba1f454a72b8fcbb82abd832630a3bf93baa84731cf2949f449e1e3e77"
+SRC_URI[sha256sum] = "52833eac3d681c8b0c9a5a65f2ebd745b3a964f208fc748f977e44015a31b207"
 
 UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.68.bb b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.70.bb
similarity index 93%
rename from meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.68.bb
rename to meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.70.bb
index c7baeab..17ec329 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.68.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.70.bb
@@ -14,7 +14,7 @@
            file://sqlite-perl-test.pl \
 "
 
-SRC_URI[sha256sum] = "0e84e831a50d547d2e634b66650455f1791f223495c9138db82d42360c691e61"
+SRC_URI[sha256sum] = "40fd8ddf539e0e773a7a4e6d376794c3301459f9ab0050978bdcf97113dafe3e"
 
 UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.16.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.17.bb
similarity index 96%
rename from meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.16.bb
rename to meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.17.bb
index 8d239e7..8b4f292 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.16.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.17.bb
@@ -15,7 +15,7 @@
 LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5"
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
-SRC_URI[sha256sum] = "e5e91d98a97de70dccecc2a25d049a0b5f5f12228c618680020d73043355294c"
+SRC_URI[sha256sum] = "b44cbf7dd60ec6128ec575dd348484975086522611bc7580cfd305a095faa6d2"
 
 UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.23.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.26.bb
similarity index 92%
rename from meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.23.bb
rename to meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.26.bb
index fd6347b..04a29fd 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.23.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.26.bb
@@ -12,7 +12,7 @@
 LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699"
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/E/ET/ETJ/ExtUtils-CppGuess-${PV}.tar.gz"
-SRC_URI[sha256sum] = "f96c48984eb6d8efb7d933b34f361d0c8b38335e3e5382e9aeccc0aa519a002c"
+SRC_URI[sha256sum] = "c8b362b860172a4076acee00438f52b86464f2c500702cfcf7527811ff9a683e"
 
 S = "${WORKDIR}/ExtUtils-CppGuess-${PV}"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.42.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.44.bb
similarity index 94%
rename from meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.42.bb
rename to meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.44.bb
index b8547cb..58ca70b 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.42.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.44.bb
@@ -23,11 +23,10 @@
 HOMEPAGE = "http://testanything.org"
 
 LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
-LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=b08db4360eec119e875dddd7cb8a5ddd"
+LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=d41d8cd98f00b204e9800998ecf8427e"
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Test-Harness-${PV}.tar.gz"
-SRC_URI[md5sum] = "c794906473f88d6b74194e2d56f16bd6"
-SRC_URI[sha256sum] = "0fd90d4efea82d6e262e6933759e85d27cbcfa4091b14bf4042ae20bab528e53"
+SRC_URI[sha256sum] = "7eb591ea6b499ece6745ff3e80e60cee669f0037f9ccbc4e4511425f593e5297"
 
 UPSTREAM_CHECK_REGEX = "Test\-Harness\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.11.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.8.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.11.bb
index 86217c5..b2fba6f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.8.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aenum_3.1.11.bb
@@ -3,7 +3,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://aenum/LICENSE;md5=c6a85477543f8b8591b9c1f82abebbe9"
 
-SRC_URI[sha256sum] = "8dbe15f446eb8264b788dfeca163fb0a043d408d212152397dc11377b851e4ae"
+SRC_URI[sha256sum] = "aed2c273547ae72a0d5ee869719c02a643da16bf507c80958faadc7e038e3f73"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.5.2.bb
similarity index 95%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.5.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.5.2.bb
index 0b2181e..35d061f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aws-iot-device-sdk-python_1.5.2.bb
@@ -6,7 +6,7 @@
     file://LICENSE.txt;md5=9ac49901b833e769c7d6f21e8dbd7b30 \
     file://AWSIoTPythonSDK/core/protocol/paho/client.py;endline=14;md5=5a3c8a1a4bb71bd934f450ecff972ad9 \
 "
-SRCREV = "6ca6c73775c953114f83240a850a0d1ab49b68ac"
+SRCREV = "0ea1a2d013529839fc1e7448d19dadff25d581b4"
 SRC_URI = "git://github.com/aws/aws-iot-device-sdk-python;branch=master;protocol=https \
            file://0001-setup.py-Use-setuptools-instead-of-distutils.patch \
            "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.14.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.13.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.14.0.bb
index 954c9ab..f0aa321 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.13.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstruct_8.14.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
 
-SRC_URI[sha256sum] = "7b87d9e41ff552a8cae06ea2368c3772b6f3102bdab4b65e793be7590d69f03b"
+SRC_URI[sha256sum] = "230c191c75f1526f6922cdb08eab6f52c055452e2239bf5638f02e9cfd382c91"
 
 PYPI_PACKAGE = "bitstruct"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.4.1.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.4.1.bb
index bc3fedd..8e3883b4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_2.4.1.bb
@@ -5,7 +5,7 @@
 
 DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
 
-SRC_URI[sha256sum] = "090909ab6c8ecee40813cec759e61dd6e70c8227a1a8e96082f5f2b0d394bc77"
+SRC_URI[sha256sum] = "f3b0467daca18fca0dc7838de7726a72ab64127a018a377a86a6ed8ebfdbb25f"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy/0001-Fix-build-error-as-following.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy/0001-Fix-build-error-as-following.patch
new file mode 100644
index 0000000..5a613c82
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy/0001-Fix-build-error-as-following.patch
@@ -0,0 +1,28 @@
+From a6ba15048bbb660abfa094b581862b4936ac4005 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@fujitsu.com>
+Date: Mon, 18 Apr 2022 12:19:35 +0900
+Subject: [PATCH] Fix build error as following:
+
+flit_core.config.ConfigError: description must be specified under [project] or listed as a dynamic field.
+
+Upstream-Status: Pending
+Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
+---
+ pyproject.toml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 2d2ac74..66fcee0 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -8,6 +8,7 @@
+ 
+ [project]
+ name = "cppy"
++description = "A small C++ header library"
+ readme = "README.rst"
+ requires-python = ">=3.7"
+ license = {file = "LICENSE"}
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.0.bb
deleted file mode 100644
index f86f571..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "C++ headers for C extension development"
-HOMEPAGE = "https://cppy.readthedocs.io/en/latest/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0bfb3e39b13587f0028f17baf0e42371"
-
-SRC_URI[sha256sum] = "95e8862e4f826c3f2a6b7b658333b162f80cbe9f943aa0d0a7a6b2ef850aeffc"
-
-RDEPENDS:${PN} += "python3-setuptools python3-distutils"
-
-inherit pypi setuptools3
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb
new file mode 100644
index 0000000..57ef3b2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cppy_1.2.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "C++ headers for C extension development"
+HOMEPAGE = "https://cppy.readthedocs.io/en/latest/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0bfb3e39b13587f0028f17baf0e42371"
+
+SRC_URI[sha256sum] = "83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b"
+
+RDEPENDS:${PN} += "python3-setuptools python3-distutils"
+
+inherit pypi python_flit_core 
+
+SRC_URI += " file://0001-Fix-build-error-as-following.patch \
+           "
+
+DEPENDS += "python3-setuptools-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.27.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.28.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.27.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.28.bb
index 786afab..9ef9881 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.27.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-django_2.2.28.bb
@@ -5,7 +5,7 @@
 
 inherit setuptools3
 
-SRC_URI[sha256sum] = "1ee37046b0bf2b61e83b3a01d067323516ec3b6f2b17cd49b1326dd4ba9dc913"
+SRC_URI[sha256sum] = "0200b657afbf1bc08003845ddda053c7641b9b24951e52acd51f6abda33a7413"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-sqlparse \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.42.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.43.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.42.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.43.0.bb
index 8fcf669..b645686 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.42.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.43.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "7bf58b665b635d06adb47797a9a4f73482e739e02ed036cd960dc7c183361f67"
+SRC_URI[sha256sum] = "ccd16b3aa92070d3777c4b188669820aacdd70695a87cfc8dbb330f6be9578f7"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.54.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.0.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.54.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.0.bb
index afc6dcb..0a3547e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.54.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.56.0.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "a4031d6ec6c2b1b6dc3e0be7e10a1bd72fb0b18b07ef9be7b51f2c1004ce2437"
+SRC_URI[sha256sum] = "4007500795bcfc269d279f0f7d253ae18d6dc1ff5d5a73613ffe452038b1ec5f"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-grpcio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-graphviz_0.19.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-graphviz_0.19.2.bb
similarity index 61%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-graphviz_0.19.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-graphviz_0.19.2.bb
index f1246b4..3cae196 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-graphviz_0.19.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-graphviz_0.19.2.bb
@@ -1,9 +1,9 @@
 DESCRIPTION = "Graphviz protocol implementation"
 HOMEPAGE = "https://graphviz.readthedocs.io/en/stable/"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=87cd8818b7e63c6a9c580034e80d7521"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=951dd0868a9606c867ffda0ea3ea6da2"
 
-SRC_URI[sha256sum] = "09ed0cde452d015fe77c4845a210eb642f28d245f5bc250d4b97808cb8f49078"
+SRC_URI[sha256sum] = "7c90cebc147c18bcdffcd3c76db58cbface5d45fe0247a2f3bfb144d32a8c77c"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.16.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.17.0.bb
similarity index 65%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.16.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.17.0.bb
index d1d318d..53f61e8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.16.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.17.0.bb
@@ -3,9 +3,9 @@
 volumetric data, and scientific formats."
 SECTION = "devel/python"
 LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7b9bbbb543b6af3e6b53f9b7fb68f71d"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
 
-SRC_URI[sha256sum] = "7f123cb23a77ac5abe8ed4e7ad6a60831a82de2c5d123463dcf1d4278c4779d2"
+SRC_URI[sha256sum] = "b21f009e52eb22b02b839f3bf2ae5374aaf0886317313c1358c6014e5383b539"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool/cbor2.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool/cbor2.patch
deleted file mode 100644
index 3e8c202..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool/cbor2.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-Upstream-Status: Submitted [https://github.com/mcu-tools/mcuboot/pull/1190]
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-From f9c6f31b936d34df9a6551609cb16ed9c348be88 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@arm.com>
-Date: Tue, 2 Nov 2021 11:12:04 +0000
-Subject: [PATCH] imgtool: prefer cbor2 over cbor
-
-The cbor module is unmaintained, with the last release in 2016[1]. The
-cbor2 module however is under active development and was last released
-just last month[2].
-
-As the APIs are identical, we can import cbor2 and if that fails fall
-back to cbor.
-
-[1] https://pypi.org/project/cbor/#history
-[2] https://pypi.org/project/cbor2/#history
-
-Closes #1189
-
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- scripts/imgtool.nix            | 2 +-
- scripts/imgtool/boot_record.py | 7 +++++--
- scripts/requirements.txt       | 2 +-
- scripts/setup.py               | 2 +-
- 4 files changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/scripts/imgtool/boot_record.py b/scripts/imgtool/boot_record.py
-index ac433aa..6f0045e 100644
---- a/scripts/imgtool/boot_record.py
-+++ b/scripts/imgtool/boot_record.py
-@@ -16,8 +16,11 @@
- # limitations under the License.
- 
- from enum import Enum
--import cbor
- 
-+try:
-+    from cbor2 import dumps
-+except ImportError:
-+    from cbor import dumps
- 
- class SwComponent(int, Enum):
-     """
-@@ -46,4 +49,4 @@ def create_sw_component_data(sw_type, sw_version, sw_measurement_description,
-     #       list because later it will be modified by the bootloader.
-     properties[SwComponent.MEASUREMENT_VALUE] = sw_measurement_value
- 
--    return cbor.dumps(properties)
-+    return dumps(properties)
-diff --git a/scripts/setup.py b/scripts/setup.py
-index a228ea3..692cfb7 100644
---- a/scripts/setup.py
-+++ b/scripts/setup.py
-@@ -17,7 +17,7 @@ setuptools.setup(
-         'cryptography>=2.4.2',
-         'intelhex>=2.2.1',
-         'click',
--        'cbor>=1.0.0',
-+        'cbor2',
-     ],
-     entry_points={
-         "console_scripts": ["imgtool=imgtool.main:imgtool"]
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.9.0.bb
similarity index 71%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.9.0.bb
index c957fce..1e5efbe 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imgtool_1.9.0.bb
@@ -3,9 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://imgtool/main.py;beginline=3;endline=18;md5=9965f09ae52c04886a1f04e13ccdce57"
 
-SRC_URI += "file://cbor2.patch;striplevel=2"
-
-SRC_URI[sha256sum] = "4858f5c5f48cfa4a0bb99e60d00aa291172a7ecc2afe4fb77ed96121f59b6e2f"
+SRC_URI[sha256sum] = "7fa7f6bd6bf069b5ffa07ea47478e16b6206bd2fc5b7607def999de0e9134a43"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb
similarity index 93%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.0.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb
index 38f5216..684bca0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb
@@ -2,7 +2,7 @@
     that make use of innovative user interfaces, such as multi-touch apps."
 HOMEPAGE = "https://kivy.org/"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f0c851d60495c7e27225a819e179208a"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=22e7b4dd8140eec57fd7edfd9fa23dfc"
 
 inherit setuptools3 pkgconfig features_check
 PIP_INSTALL_PACKAGE = "Kivy"
@@ -18,7 +18,7 @@
 SRC_URI += " \
     file://0001-add-support-for-glesv2.patch \
 "
-SRCREV = "dedcb6bcabe3d8d6758dcee607e8c33b174d782b"
+SRCREV = "960b95dc666753f59eff1b449124490fbec10184"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.14.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.15.0.bb
similarity index 76%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.14.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.15.0.bb
index dc5f173..c8e0fa4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.14.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-marshmallow_3.15.0.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "git://github.com/marshmallow-code/marshmallow.git;protocol=https;branch=dev"
 
-SRCREV = "41afdefd93afd1b95f48f45fd284ff8add3e91b7"
+SRCREV = "f251dfb08d79c755c2e95371f2c5580bf5937e60"
 
 S = "${WORKDIR}/git"
 
@@ -17,4 +17,12 @@
 
 PIP_INSTALL_PACKAGE = "marshmallow"
 
-RDEPENDS:${PN} += "python3-core"
+RDEPENDS:${PN} += " \
+	python3-core \
+	python3-datetime \
+	python3-netclient \
+	python3-numbers \
+	python3-json \
+	python3-pprint \
+	python3-packaging \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.2.bb
deleted file mode 100644
index 591b9c6..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.2.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "A case-insensitive ordered dictionary for Python"
-HOMEPAGE = "https://github.com/pywbem/nocasedict"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a87a7059d580c45495c1218f53e3610d"
-
-SRC_URI[sha256sum] = "86e2dae49e34de7c31b65b486c8f9aa58b66dc2e8ee9b34c390c6c58885c85a0"
-
-inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.3.bb
new file mode 100644
index 0000000..a47c4a4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocasedict_1.0.3.bb
@@ -0,0 +1,8 @@
+SUMMARY = "A case-insensitive ordered dictionary for Python"
+HOMEPAGE = "https://github.com/pywbem/nocasedict"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+SRC_URI[sha256sum] = "8220b97ba06b08eb2deded774c406c77e0ca0d5352ae71249f6f9d1f2a17bd7b"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.4.bb
deleted file mode 100644
index 60c79c2..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.4.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-SUMMARY = "A case-insensitive list for Python"
-HOMEPAGE = "https://nocaselist.readthedocs.io/en/latest/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d229da563da18fe5d58cd95a6467d584"
-
-SRC_URI[sha256sum] = "73a9c0659e7135c66e46a6ab06e2cb637ce9248d73c690ebd31afb72a4e03ac0"
-
-inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.5.bb
new file mode 100644
index 0000000..22b8825
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-nocaselist_1.0.5.bb
@@ -0,0 +1,8 @@
+SUMMARY = "A case-insensitive list for Python"
+HOMEPAGE = "https://nocaselist.readthedocs.io/en/latest/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRC_URI[sha256sum] = "e1c12ca2ae9d345b34948f2c8f60e3894619e2be2ed28b4ecc5e7f1dea117d1d"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.5.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.5.bb
index 9c699f8..f64d976 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pylint_2.13.5.bb
@@ -3,7 +3,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c107cf754550e65755c42985a5d4e9c9"
 
-SRC_URI[sha256sum] = "0c6dd0e53e6e17f2d0d62660905f3868611e734e9d9b310dc651a4b9f3dc70da"
+SRC_URI[sha256sum] = "dab221658368c7a05242e673c275c488670144123f4bd262b2777249c1c0de9b"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.2.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.2.bb
index 9370cba..1e70cf4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.2.2.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=51d9ad56299ab60ba7be65a621004f27"
 
-SRC_URI[sha256sum] = "fe45513881229dbee610620b9e0817b1f48c47ba635870320fd44a712204bbdd"
+SRC_URI[sha256sum] = "0107dc8e98a4f1d1d4aa00100e044287f77121a1e6d2085545c4b7fa94a7a27f"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.8.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.8.bb
index 1594fb5..cf1337e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sentry-sdk_1.5.8.bb
@@ -7,7 +7,7 @@
 
 RDEPENDS:${PN} += "python3-urllib3"
 
-SRC_URI[sha256sum] = "aa52da941c56b5a76fd838f8e9e92a850bf893a9eb1e33ffce6c21431d07ee30"
+SRC_URI[sha256sum] = "38fd16a92b5ef94203db3ece10e03bdaa291481dd7e00e77a148aa0302267d47"
 
 PYPI_PACKAGE = "sentry-sdk"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.34.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.35.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.34.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.35.bb
index b99ed83..5d199db 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.34.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_1.4.35.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f4001d1ca15b69d096fa1b4fd1bdce79"
 
-SRC_URI[sha256sum] = "623bac2d6bdca3f3e61cf1e1c466c5fb9f5cf08735736ee1111187b7a4108891"
+SRC_URI[sha256sum] = "2ffc813b01dc6473990f5e575f210ca5ac2f5465ace3908b78ffd6d20058aab5"
 
 PYPI_PACKAGE = "SQLAlchemy"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0002-Use-symbolic-list-add-and-edit-icons.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0002-Use-symbolic-list-add-and-edit-icons.patch
new file mode 100644
index 0000000..3a95859
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0002-Use-symbolic-list-add-and-edit-icons.patch
@@ -0,0 +1,56 @@
+Upstream-Status: Backport [https://github.com/storaged-project/blivet-gui/commit/eb8ec968]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+From eb8ec968d1ee8b4b710568b1eb8536296f90751e Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam@redhat.com>
+Date: Thu, 17 Feb 2022 11:16:22 -0800
+Subject: [PATCH] Use symbolic list-add and edit- icons (Adwaita dropped old
+ ones)
+
+adwaita-icon-theme 42 no longer includes the non-symbolic icons
+for these names. The choices are to switch to symbolic ones or
+carry the non-symbolic ones downstream.
+
+Signed-off-by: Adam Williamson <awilliam@redhat.com>
+---
+ blivetgui/list_actions.py      | 8 ++++----
+ blivetgui/processing_window.py | 6 +++---
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/blivetgui/list_actions.py b/blivetgui/list_actions.py
+index b7c1f9c..5388feb 100644
+--- a/blivetgui/list_actions.py
++++ b/blivetgui/list_actions.py
+@@ -48,10 +48,10 @@ def __init__(self, blivet_gui):
+         self.blivet_gui = blivet_gui
+ 
+         icon_theme = Gtk.IconTheme.get_default()  # pylint: disable=no-value-for-parameter
+-        icon_add = Gtk.IconTheme.load_icon(icon_theme, "list-add", 16, 0)
+-        icon_delete = Gtk.IconTheme.load_icon(icon_theme, "edit-delete", 16, 0)
+-        icon_edit = Gtk.IconTheme.load_icon(icon_theme, "edit-select-all", 16, 0)
+-        icon_misc = Gtk.IconTheme.load_icon(icon_theme, "edit-paste", 16, 0)
++        icon_add = Gtk.IconTheme.load_icon(icon_theme, "list-add-symbolic", 16, 0)
++        icon_delete = Gtk.IconTheme.load_icon(icon_theme, "edit-delete-symbolic", 16, 0)
++        icon_edit = Gtk.IconTheme.load_icon(icon_theme, "edit-select-all-symbolic", 16, 0)
++        icon_misc = Gtk.IconTheme.load_icon(icon_theme, "edit-paste-symbolic", 16, 0)
+ 
+         self.action_icons = {"add": icon_add, "delete": icon_delete, "edit": icon_edit,
+                              "misc": icon_misc}
+diff --git a/blivetgui/processing_window.py b/blivetgui/processing_window.py
+index c400f90..a020ae8 100644
+--- a/blivetgui/processing_window.py
++++ b/blivetgui/processing_window.py
+@@ -93,9 +93,9 @@ def add_action_view(self):
+         """
+ 
+         icon_theme = Gtk.IconTheme.get_default()  # pylint: disable=no-value-for-parameter
+-        icon_add = Gtk.IconTheme.load_icon(icon_theme, "list-add", 16, 0)
+-        icon_delete = Gtk.IconTheme.load_icon(icon_theme, "edit-delete", 16, 0)
+-        icon_edit = Gtk.IconTheme.load_icon(icon_theme, "edit-select-all", 16, 0)
++        icon_add = Gtk.IconTheme.load_icon(icon_theme, "list-add-symbolic", 16, 0)
++        icon_delete = Gtk.IconTheme.load_icon(icon_theme, "edit-delete-symbolic", 16, 0)
++        icon_edit = Gtk.IconTheme.load_icon(icon_theme, "edit-select-all-symbolic", 16, 0)
+ 
+         actions_list = Gtk.ListStore(GdkPixbuf.Pixbuf, str, GdkPixbuf.Pixbuf)
+ 
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb
index c26ae1f..29e7a26 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb
@@ -11,7 +11,8 @@
 SRCREV = "42512ee48494cee71febf04078d9774f0146a085"
 SRC_URI = "git://github.com/storaged-project/blivet-gui.git;branch=master;protocol=https \
            file://0001-Use-setuptools-instead-of-distutils-in-setup.py.patch \
-          "
+           file://0002-Use-symbolic-list-add-and-edit-icons.patch \
+           "
 
 inherit features_check
 REQUIRED_DISTRO_FEATURES = "x11 systemd"
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Use-explicit-typecast-to-enum-rrdset_flags.patch b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Use-explicit-typecast-to-enum-rrdset_flags.patch
new file mode 100644
index 0000000..e3c7a7c
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Use-explicit-typecast-to-enum-rrdset_flags.patch
@@ -0,0 +1,39 @@
+From e8ec0a0f3a353a8167687a8fdb26773e45927aac Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Apr 2022 09:49:12 -0700
+Subject: [PATCH] Use explicit typecast to enum rrdset_flags
+
+specifications say
+An enumerator can be promoted to an integer value. However,
+converting an integer to an enumerator requires an explicit
+cast, and the results are not defined.
+
+Therefore The bitwise OR operation you are performing results
+in an int, which you then attempt to assign to a variable of
+type rrdset_flags without a cast.
+
+Fixes
+| ml/Host.cc:167:9: error: assigning to 'RRDSET_FLAGS' (aka 'rrdset_flags') from incompatible type 'int'
+|         rrdset_flag_set(RS, RRDSET_FLAG_ANOMALY_DETECTION);
+|         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/netdata/netdata/pull/12750]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ database/rrd.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/database/rrd.h
++++ b/database/rrd.h
+@@ -489,8 +489,8 @@ typedef enum rrdset_flags {
+ #define rrdset_flag_clear(st, flag) __atomic_and_fetch(&((st)->flags), ~flag, __ATOMIC_SEQ_CST)
+ #else
+ #define rrdset_flag_check(st, flag) ((st)->flags & (flag))
+-#define rrdset_flag_set(st, flag)   (st)->flags |= (flag)
+-#define rrdset_flag_clear(st, flag) (st)->flags &= ~(flag)
++#define rrdset_flag_set(st, flag)   (st)->flags = (RRDSET_FLAGS)((st)->flags | flag)
++#define rrdset_flag_clear(st, flag) (st)->flags = (RRDSET_FLAGS)((st)->flags & ~(flag))
+ #endif
+ #define rrdset_flag_check_noatomic(st, flag) ((st)->flags & (flag))
+ 
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.33.1.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.34.1.bb
similarity index 93%
rename from meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.33.1.bb
rename to meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.34.1.bb
index f575a4c..b777d20 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.33.1.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_1.34.1.bb
@@ -7,8 +7,10 @@
 
 DEPENDS += "libuv util-linux zlib"
 
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-v${PV}.tar.gz"
-SRC_URI[sha256sum] = "20ba8695d87187787b27128ac3aab9b09aa29ca6b508c48542e0f7d50ec9322b"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BPN}-v${PV}.tar.gz \
+           file://0001-Use-explicit-typecast-to-enum-rrdset_flags.patch \
+"
+SRC_URI[sha256sum] = "8ea0786df0e952209c14efeb02e25339a0769aa3edc029e12816b8ead24a82d7"
 
 # default netdata.conf for netdata configuration
 SRC_URI += "file://netdata.conf"
diff --git a/meta-raspberrypi/.github/workflows/yocto-builds.yml b/meta-raspberrypi/.github/workflows/yocto-builds.yml
index 2d35b9f..3dba5e9 100644
--- a/meta-raspberrypi/.github/workflows/yocto-builds.yml
+++ b/meta-raspberrypi/.github/workflows/yocto-builds.yml
@@ -25,7 +25,7 @@
           - raspberrypi4
           - raspberrypi-cm3
           - raspberrypi-cm
-        image: [core-image-base]
+        image: [rpi-test-image]
         distro: [poky]
     runs-on: [self-hosted, Linux]
     name: ${{ matrix.machine }}/${{ matrix.image }}/poky/systemd
diff --git a/meta-raspberrypi/README.md b/meta-raspberrypi/README.md
index a7a04b4..712b9a2 100644
--- a/meta-raspberrypi/README.md
+++ b/meta-raspberrypi/README.md
@@ -68,7 +68,7 @@
 To configure the machine, you have to update the `machine` variable.
 And the same for the `distro`.
 
-For further information, you can read more at <https://kas.readthedocs.io/en/1.0/index.html>
+For further information, you can read more at <https://kas.readthedocs.io/en/latest/index.html>
 
 ## Contributing
 
diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc
index b25997a..a2edf06 100644
--- a/meta-raspberrypi/conf/machine/include/rpi-base.inc
+++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -39,6 +39,7 @@
     overlays/iqaudio-dacplus.dtbo \
     overlays/mcp2515-can0.dtbo \
     overlays/mcp2515-can1.dtbo \
+    overlays/mcp3008.dtbo \
     overlays/miniuart-bt.dtbo \
     overlays/pitft22.dtbo \
     overlays/pitft28-capacitive.dtbo \
diff --git a/meta-raspberrypi/docs/conf.py b/meta-raspberrypi/docs/conf.py
index 5c6ae4b..e7a2491 100644
--- a/meta-raspberrypi/docs/conf.py
+++ b/meta-raspberrypi/docs/conf.py
@@ -50,7 +50,7 @@
 
 # General information about the project.
 project = 'meta-raspberrypi'
-copyright = '2021, meta-raspberrypi contributors'
+copyright = '2022, meta-raspberrypi contributors'
 author = 'meta-raspberrypi contributors'
 
 # The version info for the project you're documenting, acts as replacement for
diff --git a/meta-raspberrypi/docs/layer-contents.md b/meta-raspberrypi/docs/layer-contents.md
index 7383630..d12cb88 100644
--- a/meta-raspberrypi/docs/layer-contents.md
+++ b/meta-raspberrypi/docs/layer-contents.md
@@ -23,8 +23,7 @@
     layer and some media samples.
 
 For other uses it's recommended to base images on `core-image-minimal` or
-`core-image-base` as appropriate. The old image names (`rpi-hwup-image` and
-`rpi-basic-image`) are deprecated.
+`core-image-base` as appropriate.
 
 ## WiFi and Bluetooth Firmware
 
diff --git a/meta-raspberrypi/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb b/meta-raspberrypi/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb
index dba63d9..fd67580 100644
--- a/meta-raspberrypi/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb
+++ b/meta-raspberrypi/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Python module to control the Raspberry Pi Sense HAT used in the Astro Pi mission"
 HOMEPAGE = "https://github.com/RPi-Distro/python-sense-hat"
 SECTION = "devel/python"
-LICENSE = "BSD"
+LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
 
 inherit setuptools3 pypi
diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
index eca2664..e5974e4 100644
--- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
+++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
@@ -1,9 +1,9 @@
-RPIFW_DATE ?= "20220328"
+RPIFW_DATE ?= "20220331"
 
 RPIFW_SRC_URI ?= "https://archive.raspberrypi.com/debian/pool/main/r/raspberrypi-firmware/raspberrypi-firmware_1.${RPIFW_DATE}.orig.tar.xz"
 RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-1.${RPIFW_DATE}"
 
 SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[sha256sum] = "8ab5949b9da1e2a2da18acc203946698737efe3e5d98286dcb7a8b0d0e92564e"
+SRC_URI[sha256sum] = "8758f10797bd52a7373cc5b39bd46d0d9f882d501ccb9535a72a3fe8a8d329c3"
 
 PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch b/meta-raspberrypi/recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch
deleted file mode 100644
index 996ad10..0000000
--- a/meta-raspberrypi/recipes-bsp/u-boot/files/0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 336d86ebd146905cf4384912f4f27699b6e37c72 Mon Sep 17 00:00:00 2001
-From: Simon Glass <sjg@chromium.org>
-Date: Sun, 29 Dec 2019 21:19:17 -0700
-Subject: [PATCH] dm: core: Move ofdata_to_platdata() call earlier
-
-This method is supposed to extract platform data from the device tree. It
-should be done before the device itself is probed. Move it earlier in the
-device_probe() function.
-
-Upstream-Status: Backport
-
-Signed-off-by: Simon Glass <sjg@chromium.org>
----
- drivers/core/device.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/core/device.c b/drivers/core/device.c
-index 4e03708..291ff4c 100644
---- a/drivers/core/device.c
-+++ b/drivers/core/device.c
-@@ -375,6 +375,13 @@ int device_probe(struct udevice *dev)
- 			return 0;
- 	}
- 
-+	if (drv->ofdata_to_platdata &&
-+	    (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
-+		ret = drv->ofdata_to_platdata(dev);
-+		if (ret)
-+			goto fail;
-+	}
-+
- 	seq = uclass_resolve_seq(dev);
- 	if (seq < 0) {
- 		ret = seq;
-@@ -411,13 +418,6 @@ int device_probe(struct udevice *dev)
- 			goto fail;
- 	}
- 
--	if (drv->ofdata_to_platdata &&
--	    (CONFIG_IS_ENABLED(OF_PLATDATA) || dev_has_of_node(dev))) {
--		ret = drv->ofdata_to_platdata(dev);
--		if (ret)
--			goto fail;
--	}
--
- 	/* Only handle devices that have a valid ofnode */
- 	if (dev_of_valid(dev)) {
- 		/*
--- 
-2.7.4
-
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend b/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
index 4587d3d..e50acf5 100644
--- a/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
@@ -6,9 +6,6 @@
 
 SRC_URI:append:rpi = " file://0001-rpi-always-set-fdt_addr-with-firmware-provided-FDT-address.patch"
 
-# special fix for raspberrypi-cm3
-SRC_URI:append:raspberrypi-cm3 = " file://0001-dm-core-Move-ofdata_to_platdata-call-earlier.patch"
-
 DEPENDS:append:rpi = " u-boot-default-script"
 
 do_install:append:rpi () {
diff --git a/meta-raspberrypi/recipes-core/images/rpi-basic-image.bb b/meta-raspberrypi/recipes-core/images/rpi-basic-image.bb
deleted file mode 100644
index 1bbbb50..0000000
--- a/meta-raspberrypi/recipes-core/images/rpi-basic-image.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-# Base this image on core-image-minimal
-include recipes-core/images/core-image-minimal.bb
-
-# Include modules in rootfs
-IMAGE_INSTALL += " \
-	kernel-modules \
-	"
-
-SPLASH = "psplash-raspberrypi"
-
-IMAGE_FEATURES += "ssh-server-dropbear splash"
-
-do_image:prepend() {
-    bb.warn("The image 'rpi-basic-image' is deprecated, please use 'core-image-base' instead")
-}
diff --git a/meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb b/meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb
deleted file mode 100644
index eacec0e..0000000
--- a/meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-# Base this image on core-image-minimal
-include recipes-core/images/core-image-minimal.bb
-
-# Include modules in rootfs
-IMAGE_INSTALL += " \
-	kernel-modules \
-	"
-
-do_image:prepend() {
-    bb.warn("The image 'rpi-hwup-image' is deprecated, please use 'core-image-base' instead")
-}
diff --git a/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb b/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
index 265dfc5..ff8f8a4 100644
--- a/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
+++ b/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
@@ -13,9 +13,13 @@
 RDEPENDS:${PN} = "\
     ${OMXPLAYER} \
     bcm2835-tests \
+    raspi-gpio \
     rpio \
     rpi-gpio \
     pi-blaster \
+    python3-adafruit-circuitpython-register \
+    python3-adafruit-platformdetect \
+    python3-adafruit-pureio \
     python3-rtimu \
     connman \
     connman-client \
diff --git a/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb b/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb
deleted file mode 100644
index 6538f6a..0000000
--- a/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "Package that provides access to GPIO and other IO\
-functions on the Broadcom BCM 2835 chip, allowing access to the\
-GPIO pins on the 26 pin IDE plug on the RPi board"
-SECTION = "base"
-HOMEPAGE = "http://www.open.com.au/mikem/bcm2835"
-AUTHOR = "Mike McCauley (mikem@open.com.au)"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "b5dc426b4ff258bb1397442f98e40236"
-SRC_URI[sha256sum] = "b9fd10f7a80aadaed28a77168709b7c519568a63b6e98d0a50e9c5fe31bea6bb"
-
-inherit autotools
-
-do_compile:append() {
-    # Now compiling the examples provided by the package
-    mkdir -p ${B}/examples
-    for file in `ls ${S}/examples`; do
-        ${CC} ${LDFLAGS} ${S}/examples/${file}/${file}.c -o ${B}/examples/${file} -Bstatic -L${B}/src -lbcm2835 -I${S}/src
-    done
-}
-
-do_install:append() {
-    install -d ${D}/${libdir}/${BPN}
-    for file in ${B}/examples/*
-    do
-        install -m 0755 ${file} ${D}/${libdir}/${BPN}
-    done
-}
-
-PACKAGES += "${PN}-tests"
-
-RDEPENDS:${PN}-dev = ""
-
-FILES:${PN} = ""
-FILES:${PN}-tests = "${libdir}/${BPN}"
-FILES:${PN}-dbg += "${libdir}/${BPN}/.debug"
diff --git a/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.71.bb b/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.71.bb
new file mode 100644
index 0000000..5171205
--- /dev/null
+++ b/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.71.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "Package that provides access to GPIO and other IO\
+functions on the Broadcom BCM 2835 chip, allowing access to the\
+GPIO pins on the 26 pin IDE plug on the RPi board"
+SECTION = "base"
+HOMEPAGE = "http://www.open.com.au/mikem/bcm2835"
+AUTHOR = "Mike McCauley (mikem@open.com.au)"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e49f4652534af377a713df3d9dec60cb"
+
+COMPATIBLE_MACHINE = "^rpi$"
+
+SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "9bd2d39bf4b3a9e81dce799ca51c826a"
+SRC_URI[sha256sum] = "564920d205977d7e2846e434947708455d468d3a952feca9faef643abd03a227"
+
+inherit autotools
+
+do_compile:append() {
+    # Now compiling the examples provided by the package
+    mkdir -p ${B}/examples/spiram
+    for file in `ls ${S}/examples`; do
+        example="$file"
+        if [ "$file" = "spiram" ]; then
+	    # This includes a tiny library
+            EXAMPLE_LDFLAGS="-L${B}/examples/spiram -lspiram"
+            example="spiram_test"
+            ${CC} ${CFLAGS} -c ${S}/examples/spiram/spiram.c -o ${B}/examples/spiram/libspiram.o -I${S}/src -I${S}/examples/spiram
+            rm -f ${B}/examples/spiram/libspiram.a && ${BUILD_AR} crD ${B}/examples/spiram/libspiram.a ${B}/examples/spiram/libspiram.o
+	fi
+        ${CC} ${LDFLAGS} ${S}/examples/${file}/${example}.c -o ${B}/examples/${example} -Bstatic -L${B}/src -lbcm2835 ${EXAMPLE_LDFLAGS} -I${S}/src
+    done
+}
+
+do_install:append() {
+    install -d ${D}/${libdir}/${BPN}
+    for example in $(find ${B}/examples -type f -maxdepth 1)
+    do
+        install -m 0755 ${example} ${D}/${libdir}/${BPN}
+    done
+}
+
+PACKAGES += "${PN}-tests"
+
+RDEPENDS:${PN}-dev = ""
+
+FILES:${PN} = ""
+FILES:${PN}-tests = "${libdir}/${BPN}"
+FILES:${PN}-dbg += "${libdir}/${BPN}/.debug"
diff --git a/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb b/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
index 1d21089..d02fa92 100644
--- a/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
+++ b/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
 SECTION = "devel/libs"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README.md;beginline=268;endline=292;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
+LIC_FILES_CHKSUM = "file://README.md;beginline=295;endline=319;md5=86d10e4bcf4b4014d306dde7c1d2a80d"
 
 SRC_URI = "git://github.com/sarfata/pi-blaster;branch=master;protocol=https \
            file://remove-initscript-lsb-dependency.patch \
@@ -10,7 +10,7 @@
 
 S = "${WORKDIR}/git"
 
-SRCREV = "befd8ef36e5066e4d444ef47fe4020787e541248"
+SRCREV = "fbba9a7dcef0f352a11f8a2a5f6cbc15b62c0829"
 
 inherit update-rc.d autotools
 
diff --git a/meta-raspberrypi/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.4.bb b/meta-raspberrypi/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.8.bb
similarity index 90%
rename from meta-raspberrypi/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.4.bb
rename to meta-raspberrypi/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.8.bb
index 1f745e7..1a609f5 100644
--- a/meta-raspberrypi/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.4.bb
+++ b/meta-raspberrypi/recipes-devtools/python/python3-adafruit-circuitpython-register_1.9.8.bb
@@ -6,7 +6,7 @@
 SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Register.git;branch=main;protocol=https"
 
 S = "${WORKDIR}/git"
-SRCREV = "5fee6e0c3878110844bc51e16063eeae7d94c457"
+SRCREV = "49ab415d6b601c99979262f9e91c21dcb3a927a7"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/meta-raspberrypi/recipes-devtools/python/python3-adafruit-platformdetect_3.1.1.bb b/meta-raspberrypi/recipes-devtools/python/python3-adafruit-platformdetect_3.22.1.bb
similarity index 89%
rename from meta-raspberrypi/recipes-devtools/python/python3-adafruit-platformdetect_3.1.1.bb
rename to meta-raspberrypi/recipes-devtools/python/python3-adafruit-platformdetect_3.22.1.bb
index 170cd98..e19b58e 100644
--- a/meta-raspberrypi/recipes-devtools/python/python3-adafruit-platformdetect_3.1.1.bb
+++ b/meta-raspberrypi/recipes-devtools/python/python3-adafruit-platformdetect_3.22.1.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=fccd531dce4b989c05173925f0bbb76c"
 
 SRC_URI = "git://github.com/adafruit/Adafruit_Python_PlatformDetect.git;branch=main;protocol=https"
-SRCREV = "e0fe1b012898fa824944d6805ca74be0fa027968"
+SRCREV = "7af3af87037cf1e6697471a3a83c56a0f852b959"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-raspberrypi/recipes-devtools/python/python3-adafruit-pureio_1.1.8.bb b/meta-raspberrypi/recipes-devtools/python/python3-adafruit-pureio_1.1.9.bb
similarity index 91%
rename from meta-raspberrypi/recipes-devtools/python/python3-adafruit-pureio_1.1.8.bb
rename to meta-raspberrypi/recipes-devtools/python/python3-adafruit-pureio_1.1.9.bb
index e38a483..cdbe4b4 100644
--- a/meta-raspberrypi/recipes-devtools/python/python3-adafruit-pureio_1.1.8.bb
+++ b/meta-raspberrypi/recipes-devtools/python/python3-adafruit-pureio_1.1.9.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=2a21fcca821a506d4c36f7bbecc0d009"
 
 SRC_URI = "git://github.com/adafruit/Adafruit_Python_PureIO.git;branch=main;protocol=https"
-SRCREV = "f4d0973da05b8b21905ff6bab69cdb652128f342"
+SRCREV = "383b615ce9ff5bbefdf77652799f380016fda353"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb b/meta-raspberrypi/recipes-devtools/python/python3-rtimu_7.2.1.bb
similarity index 100%
rename from meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb
rename to meta-raspberrypi/recipes-devtools/python/python3-rtimu_7.2.1.bb
diff --git a/meta-raspberrypi/recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch b/meta-raspberrypi/recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
deleted file mode 100644
index bed9749..0000000
--- a/meta-raspberrypi/recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c86bfacc98d58244f532626954ed00d84ecfa82d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Jan 2016 17:12:37 -0800
-Subject: [PATCH] include sys/types.h explicitly for getting caddr_t definition
-
-Helps fixing build on musl where sys/types.h is not included indirectly
-as happening on glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- source/c_gpio/c_gpio.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/source/c_gpio/c_gpio.c b/source/c_gpio/c_gpio.c
-index 25a04ca..70df632 100644
---- a/source/c_gpio/c_gpio.c
-+++ b/source/c_gpio/c_gpio.c
-@@ -29,6 +29,7 @@
- #include <stdint.h>
- #include <stdlib.h>
- #include <fcntl.h>
-+#include <sys/types.h>
- #include <sys/mman.h>
- #include "c_gpio.h"
- 
--- 
-2.7.0
-
diff --git a/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb b/meta-raspberrypi/recipes-devtools/python/rpio_0.10.1.bb
similarity index 68%
rename from meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
rename to meta-raspberrypi/recipes-devtools/python/rpio_0.10.1.bb
index f75806e..176646d 100644
--- a/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
+++ b/meta-raspberrypi/recipes-devtools/python/rpio_0.10.1.bb
@@ -3,12 +3,13 @@
 HOMEPAGE = "https://github.com/metachris/RPIO"
 SECTION = "devel/python"
 LICENSE = "LGPL-3.0-or-later"
-LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d98c999675c23196b25a"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bb3ca60759f3202f1ae42e3519cd06bc"
 
-PYPI_PACKAGE = "RPIO"
-inherit pypi
-
-SRC_URI += "file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch"
+SRC_URI = "\
+    git://github.com/metachris/RPIO.git;protocol=https;branch=master \
+    "
+SRCREV = "be1942a69b2592ddacd9dc833d2668a19aafd8d2"
+S = "${WORKDIR}/git"
 
 inherit setuptools3
 
diff --git a/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb b/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb
index 02a3f55..8ea4be1 100644
--- a/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb
+++ b/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb
@@ -8,7 +8,7 @@
 
 inherit autotools
 
-SRCREV = "4edfde183ff3ac9ed66cdc015ae25e45f3a5502d"
+SRCREV = "22b44e4765b4b78dc5b22394fff484e353d5914d"
 SRC_URI = "git://github.com/RPi-Distro/raspi-gpio.git;protocol=https;branch=master \
           "
 
diff --git a/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
index 2e3d1cc..b26e80e 100644
--- a/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
+++ b/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
@@ -39,7 +39,7 @@
 }
 # Must be before both do_install and do_populate_lic.  Putting it before
 # their common ancestor works; other approaches do not.
-addtask extract_lic after do_unpack before do_patch
+addtask extract_lic after do_unpack before do_patch do_create_spdx
 
 do_compile() {
     :
diff --git a/meta-raspberrypi/recipes-kernel/kmod/kmod_%.bbappend b/meta-raspberrypi/recipes-kernel/kmod/kmod_%.bbappend
new file mode 100644
index 0000000..db8b65c
--- /dev/null
+++ b/meta-raspberrypi/recipes-kernel/kmod/kmod_%.bbappend
@@ -0,0 +1,5 @@
+# SPDX-FileCopyrightText: Andrei Gherzan <andrei@gherzan.com>
+#
+# SPDX-License-Identifier: MIT
+
+PACKAGECONFIG:append:rpi = " xz"
diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
index 95cd9c1..ec59970 100644
--- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
+++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
@@ -33,8 +33,8 @@
 
 SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bullseye;protocol=https"
 
-SRCREV = "b3eec612566ca08913f0830d299f4df70297428f"
-PV = "20210315-3+rpt3"
+SRCREV = "99d5c588e95ec9c9b86d7e88d3cf85b4f729d2bc"
+PV = "20210315-3+rpt4"
 
 S = "${WORKDIR}/git"
 
@@ -58,6 +58,7 @@
         cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
     done
     cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/cypress/* ${D}${nonarch_base_libdir}/firmware/cypress/
+    rm ${D}${nonarch_base_libdir}/firmware/cypress/README.txt
     # add compat links. Fixes errors like
     # brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-compute-module.txt failed with error -2
     ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
@@ -79,10 +80,10 @@
 LICENSE:${PN}-bcm43456 = "Firmware-broadcom_bcm43xx-rpidistro"
 LICENSE:${PN}-broadcom-license = "Firmware-broadcom_bcm43xx-rpidistro"
 FILES:${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENSE.broadcom_bcm43xx-rpidistro"
-FILES:${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430* ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.bin"
+FILES:${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430* ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.bin ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.clm_blob"
 FILES:${PN}-bcm43436 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-*"
 FILES:${PN}-bcm43436s = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436s*"
-FILES:${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455* ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.*"
+FILES:${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455* ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio*"
 FILES:${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
 RDEPENDS:${PN}-bcm43430 += "${PN}-broadcom-license"
 RDEPENDS:${PN}-bcm43436 += "${PN}-broadcom-license"
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
index 6ea132d..8dade0b 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.10.bb
@@ -1,8 +1,8 @@
-LINUX_VERSION ?= "5.10.95"
+LINUX_VERSION ?= "5.10.110"
 LINUX_RPI_BRANCH ?= "rpi-5.10.y"
 LINUX_RPI_KMETA_BRANCH ?= "yocto-5.10"
 
-SRCREV_machine = "a538fd26f82b101cb6fb963042f3242768e628d4"
+SRCREV_machine = "89c0af71c9cf157a865afb526e9ebc21aadd531b"
 SRCREV_meta = "e1979ceb171bc91ef2cb71cfcde548a101dab687"
 
 KMETA = "kernel-meta"
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.15.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.15.bb
index 5b15d01..77d4a98 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.15.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.15.bb
@@ -1,8 +1,8 @@
-LINUX_VERSION ?= "5.15.32"
+LINUX_VERSION ?= "5.15.34"
 LINUX_RPI_BRANCH ?= "rpi-5.15.y"
 LINUX_RPI_KMETA_BRANCH ?= "yocto-5.15"
 
-SRCREV_machine = "720e66a1a1f9bbe666cf1551cfd8d122640e9eca"
+SRCREV_machine = "0086da6acd41600d47b87b05874f99704216426f"
 SRCREV_meta = "e1b976ee4fb5af517cf01a9f2dd4a32f560ca894"
 
 KMETA = "kernel-meta"
diff --git a/meta-security/meta-parsec/README.md b/meta-security/meta-parsec/README.md
index 85e0d10..97026ea 100644
--- a/meta-security/meta-parsec/README.md
+++ b/meta-security/meta-parsec/README.md
@@ -43,20 +43,34 @@
     IMAGE_INSTALL:append = " parsec-service"
 
   By default the Parsec service will be deployed into the image with
-TPM, PKCS11, MBED-CRYPTO and CRYPTOAUTHLIB providers build in
-and with the default config file from the Parsec repository:
+PKCS11 and MBED-CRYPTO providers build-in.
+  The TPM provider will also be built by default if:
+- DISTRO_FEATURES contains "tmp2" and
+- "tpm-layer" (meta-tpm) is included in BBLAYERS
+
+
+You can use PACKAGECONFIG for Parsec servic recipe to define
+what providers should be built in. For example:
+
+    PACKAGECONFIG:pn-parsec-service = "TS"
+
+
+The default Parsec service config file is taken from the Parsec repository:
 https://github.com/parallaxsecond/parsec/blob/main/config.toml
+This config file contains the MbedCrypto provider enabled.
+The config needs to be updated to use the Parsec service
+with other providers like TPM or PKCS11. The required changes are
+covered in Parsec documentation https://parallaxsecond.github.io/parsec-book/
 
-  You can use PACKAGECONFIG for Parsec servic recipe to define
-what providers should be built in. For example,
+  PARSEC_CONFIG can be used in a bbappend file to replace the default config.
+For example:
 
-    PACKAGECONFIG:pn-parsec-service = "TPM"
-
-  The default Parsec service config file contains the MbedCrypto provider
-enabled. The config file needs to be updated to use the Parsec service
-with other providers like TPM or PKCS11. The required procedures are
-covered in Parsec documentation.
-https://parallaxsecond.github.io/parsec-book/
+```
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI += "file://config-TS.toml \
+           "
+PARSEC_CONFIG = "${WORKDIR}/config-TS.toml"
+```
 
 Updating recipes
 ================
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/files/systemd.patch b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/systemd.patch
index c01ff06..2525898 100644
--- a/meta-security/meta-parsec/recipes-parsec/parsec-service/files/systemd.patch
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/files/systemd.patch
@@ -4,16 +4,25 @@
 Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
 Upstream-Status: Inappropriate [deployment configuration]
 
---- a/systemd-daemon/parsec.service	2021-03-28 18:34:18.703196235 +0100
-+++ b/systemd-daemon/parsec.service	2021-03-28 18:35:14.279830299 +0100
-@@ -3,7 +3,9 @@
+diff --git a/systemd-daemon/parsec.service b/systemd-daemon/parsec.service
+index c07c3b9..a6fe6a3 100644
+--- a/systemd-daemon/parsec.service
++++ b/systemd-daemon/parsec.service
+@@ -3,13 +3,15 @@ Description=Parsec Service
  Documentation=https://parallaxsecond.github.io/parsec-book/parsec_service/install_parsec_linux.html
- 
+
  [Service]
 -WorkingDirectory=/home/parsec/
 +User=parsec
 +Group=parsec
 +WorkingDirectory=/var/lib/parsec/
  ExecStart=/usr/libexec/parsec/parsec --config /etc/parsec/config.toml
- 
- [Install]
+ # Systemd hardening
+ ProtectSystem=full
+ ProtectHome=true
+ ProtectHostname=true
+-ProtectKernelTunables=true
++#ProtectKernelTunables=true
+ ProtectKernelModules=true
+ ProtectKernelLogs=true
+ ProtectControlGroups=true
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.inc b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.inc
deleted file mode 100644
index fd88e87..0000000
--- a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.inc
+++ /dev/null
@@ -1,246 +0,0 @@
-# This file is created from parsec-service repository Cargo.lock using cargo-bitbake tool
-
-SRC_URI += " \
-    crate://crates.io/addr2line/0.15.2 \
-    crate://crates.io/adler/1.0.2 \
-    crate://crates.io/aho-corasick/0.7.15 \
-    crate://crates.io/ansi_term/0.11.0 \
-    crate://crates.io/anyhow/1.0.41 \
-    crate://crates.io/arrayvec/0.5.2 \
-    crate://crates.io/atty/0.2.14 \
-    crate://crates.io/autocfg/1.0.1 \
-    crate://crates.io/backtrace/0.3.59 \
-    crate://crates.io/base64/0.12.3 \
-    crate://crates.io/base64/0.13.0 \
-    crate://crates.io/bincode/1.3.3 \
-    crate://crates.io/bindgen/0.56.0 \
-    crate://crates.io/bindgen/0.57.0 \
-    crate://crates.io/bitfield/0.13.2 \
-    crate://crates.io/bitflags/1.2.1 \
-    crate://crates.io/bitvec/0.19.5 \
-    crate://crates.io/boringssl-src/0.3.0+688fc5c \
-    crate://crates.io/bumpalo/3.7.0 \
-    crate://crates.io/bytes/0.5.6 \
-    crate://crates.io/bytes/1.0.1 \
-    crate://crates.io/cc/1.0.68 \
-    crate://crates.io/cexpr/0.4.0 \
-    crate://crates.io/cfg-if/1.0.0 \
-    crate://crates.io/chrono/0.4.19 \
-    crate://crates.io/clang-sys/1.2.0 \
-    crate://crates.io/clap/2.33.3 \
-    crate://crates.io/cmake/0.1.45 \
-    crate://crates.io/const-oid/0.6.0 \
-    crate://crates.io/cryptoauthlib-sys/0.2.0 \
-    crate://crates.io/cryptoki-sys/0.1.2 \
-    crate://crates.io/cryptoki/0.2.0 \
-    crate://crates.io/data-encoding/2.3.2 \
-    crate://crates.io/der-oid-macro/0.4.0 \
-    crate://crates.io/der-parser/5.1.0 \
-    crate://crates.io/der/0.4.0 \
-    crate://crates.io/derivative/2.2.0 \
-    crate://crates.io/either/1.6.1 \
-    crate://crates.io/enumflags2/0.6.4 \
-    crate://crates.io/enumflags2_derive/0.6.4 \
-    crate://crates.io/env_logger/0.8.4 \
-    crate://crates.io/failure/0.1.8 \
-    crate://crates.io/failure_derive/0.1.8 \
-    crate://crates.io/fixedbitset/0.2.0 \
-    crate://crates.io/form_urlencoded/1.0.1 \
-    crate://crates.io/funty/1.1.0 \
-    crate://crates.io/futures-channel/0.3.15 \
-    crate://crates.io/futures-core/0.3.15 \
-    crate://crates.io/futures-executor/0.3.15 \
-    crate://crates.io/futures-io/0.3.15 \
-    crate://crates.io/futures-macro/0.3.15 \
-    crate://crates.io/futures-sink/0.3.15 \
-    crate://crates.io/futures-task/0.3.15 \
-    crate://crates.io/futures-util/0.3.15 \
-    crate://crates.io/futures/0.3.15 \
-    crate://crates.io/generic-array/0.14.4 \
-    crate://crates.io/getrandom/0.2.3 \
-    crate://crates.io/gimli/0.24.0 \
-    crate://crates.io/glob/0.3.0 \
-    crate://crates.io/grpcio-compiler/0.7.0 \
-    crate://crates.io/grpcio-sys/0.9.0+1.38.0 \
-    crate://crates.io/grpcio/0.9.0 \
-    crate://crates.io/hamming/0.1.3 \
-    crate://crates.io/hashbrown/0.9.1 \
-    crate://crates.io/heck/0.3.3 \
-    crate://crates.io/hermit-abi/0.1.18 \
-    crate://crates.io/hex/0.4.3 \
-    crate://crates.io/hostname-validator/1.1.0 \
-    crate://crates.io/humantime/2.1.0 \
-    crate://crates.io/idna/0.2.3 \
-    crate://crates.io/indexmap/1.6.2 \
-    crate://crates.io/instant/0.1.9 \
-    crate://crates.io/itertools/0.8.2 \
-    crate://crates.io/itertools/0.9.0 \
-    crate://crates.io/itoa/0.4.7 \
-    crate://crates.io/js-sys/0.3.51 \
-    crate://crates.io/jsonwebkey/0.3.2 \
-    crate://crates.io/jsonwebtoken/7.2.0 \
-    crate://crates.io/lazy_static/1.4.0 \
-    crate://crates.io/lazycell/1.3.0 \
-    crate://crates.io/lexical-core/0.7.6 \
-    crate://crates.io/libc/0.2.97 \
-    crate://crates.io/libloading/0.7.0 \
-    crate://crates.io/libz-sys/1.1.3 \
-    crate://crates.io/lock_api/0.4.4 \
-    crate://crates.io/log/0.4.14 \
-    crate://crates.io/matches/0.1.8 \
-    crate://crates.io/mbox/0.5.0 \
-    crate://crates.io/memchr/2.3.4 \
-    crate://crates.io/miniz_oxide/0.4.4 \
-    crate://crates.io/multimap/0.8.3 \
-    crate://crates.io/nom/5.1.2 \
-    crate://crates.io/nom/6.2.0 \
-    crate://crates.io/num-bigint/0.2.6 \
-    crate://crates.io/num-bigint/0.3.2 \
-    crate://crates.io/num-bigint/0.4.0 \
-    crate://crates.io/num-complex/0.3.1 \
-    crate://crates.io/num-derive/0.3.3 \
-    crate://crates.io/num-integer/0.1.44 \
-    crate://crates.io/num-iter/0.1.42 \
-    crate://crates.io/num-rational/0.3.2 \
-    crate://crates.io/num-traits/0.2.14 \
-    crate://crates.io/num/0.3.1 \
-    crate://crates.io/num_cpus/1.13.0 \
-    crate://crates.io/object/0.24.0 \
-    crate://crates.io/oid-registry/0.1.3 \
-    crate://crates.io/oid/0.1.1 \
-    crate://crates.io/once_cell/1.8.0 \
-    crate://crates.io/parking_lot/0.11.1 \
-    crate://crates.io/parking_lot_core/0.8.3 \
-    crate://crates.io/parsec-interface/0.25.0 \
-    crate://crates.io/peeking_take_while/0.1.2 \
-    crate://crates.io/pem/0.8.3 \
-    crate://crates.io/percent-encoding/2.1.0 \
-    crate://crates.io/petgraph/0.5.1 \
-    crate://crates.io/picky-asn1-der/0.2.4 \
-    crate://crates.io/picky-asn1-x509/0.4.0 \
-    crate://crates.io/picky-asn1/0.3.1 \
-    crate://crates.io/pin-project-lite/0.2.6 \
-    crate://crates.io/pin-utils/0.1.0 \
-    crate://crates.io/pkcs8/0.7.0 \
-    crate://crates.io/pkg-config/0.3.19 \
-    crate://crates.io/ppv-lite86/0.2.10 \
-    crate://crates.io/primal-bit/0.3.0 \
-    crate://crates.io/primal-check/0.3.1 \
-    crate://crates.io/primal-estimate/0.3.1 \
-    crate://crates.io/primal-sieve/0.3.1 \
-    crate://crates.io/primal/0.3.0 \
-    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-macro-nested/0.1.7 \
-    crate://crates.io/proc-macro2/1.0.27 \
-    crate://crates.io/prost-build/0.7.0 \
-    crate://crates.io/prost-derive/0.6.1 \
-    crate://crates.io/prost-derive/0.7.0 \
-    crate://crates.io/prost-types/0.7.0 \
-    crate://crates.io/prost/0.6.1 \
-    crate://crates.io/prost/0.7.0 \
-    crate://crates.io/protobuf-codegen/2.24.1 \
-    crate://crates.io/protobuf/2.24.1 \
-    crate://crates.io/protoc-grpcio/3.0.0 \
-    crate://crates.io/protoc/2.24.1 \
-    crate://crates.io/psa-crypto-sys/0.9.0 \
-    crate://crates.io/psa-crypto/0.9.0 \
-    crate://crates.io/quote/1.0.9 \
-    crate://crates.io/radium/0.5.3 \
-    crate://crates.io/rand/0.8.4 \
-    crate://crates.io/rand_chacha/0.3.1 \
-    crate://crates.io/rand_core/0.6.3 \
-    crate://crates.io/rand_hc/0.3.1 \
-    crate://crates.io/redox_syscall/0.2.9 \
-    crate://crates.io/regex-syntax/0.6.25 \
-    crate://crates.io/regex/1.4.6 \
-    crate://crates.io/remove_dir_all/0.5.3 \
-    crate://crates.io/ring/0.16.20 \
-    crate://crates.io/rust-cryptoauthlib/0.4.0 \
-    crate://crates.io/rustc-demangle/0.1.20 \
-    crate://crates.io/rustc-hash/1.1.0 \
-    crate://crates.io/rustc_version/0.2.3 \
-    crate://crates.io/rusticata-macros/3.0.1 \
-    crate://crates.io/rustversion/1.0.5 \
-    crate://crates.io/ryu/1.0.5 \
-    crate://crates.io/same-file/1.0.6 \
-    crate://crates.io/scopeguard/1.1.0 \
-    crate://crates.io/sd-notify/0.2.0 \
-    crate://crates.io/secrecy/0.7.0 \
-    crate://crates.io/semver-parser/0.7.0 \
-    crate://crates.io/semver/0.9.0 \
-    crate://crates.io/serde/1.0.126 \
-    crate://crates.io/serde_bytes/0.11.5 \
-    crate://crates.io/serde_derive/1.0.126 \
-    crate://crates.io/serde_json/1.0.64 \
-    crate://crates.io/shlex/0.1.1 \
-    crate://crates.io/signal-hook-registry/1.4.0 \
-    crate://crates.io/signal-hook/0.3.9 \
-    crate://crates.io/simple_asn1/0.4.1 \
-    crate://crates.io/simple_asn1/0.5.3 \
-    crate://crates.io/slab/0.4.3 \
-    crate://crates.io/smallvec/1.6.1 \
-    crate://crates.io/spiffe/0.1.1 \
-    crate://crates.io/spin/0.5.2 \
-    crate://crates.io/spki/0.4.0 \
-    crate://crates.io/stable_deref_trait/1.2.0 \
-    crate://crates.io/static_assertions/1.1.0 \
-    crate://crates.io/strsim/0.8.0 \
-    crate://crates.io/structopt-derive/0.4.14 \
-    crate://crates.io/structopt/0.3.21 \
-    crate://crates.io/strum_macros/0.19.4 \
-    crate://crates.io/syn/1.0.73 \
-    crate://crates.io/synstructure/0.12.4 \
-    crate://crates.io/tap/1.0.1 \
-    crate://crates.io/target-lexicon/0.12.0 \
-    crate://crates.io/tempfile/3.2.0 \
-    crate://crates.io/termcolor/1.1.2 \
-    crate://crates.io/textwrap/0.11.0 \
-    crate://crates.io/thiserror-impl/1.0.25 \
-    crate://crates.io/thiserror/1.0.25 \
-    crate://crates.io/threadpool/1.8.1 \
-    crate://crates.io/time/0.1.44 \
-    crate://crates.io/tinyvec/1.2.0 \
-    crate://crates.io/tinyvec_macros/0.1.0 \
-    crate://crates.io/toml/0.5.8 \
-    crate://crates.io/tss-esapi-sys/0.2.0 \
-    crate://crates.io/tss-esapi/7.0.0-alpha.1 \
-    crate://crates.io/typenum/1.13.0 \
-    crate://crates.io/unicode-bidi/0.3.5 \
-    crate://crates.io/unicode-normalization/0.1.19 \
-    crate://crates.io/unicode-segmentation/1.7.1 \
-    crate://crates.io/unicode-width/0.1.8 \
-    crate://crates.io/unicode-xid/0.2.2 \
-    crate://crates.io/untrusted/0.7.1 \
-    crate://crates.io/url/2.2.2 \
-    crate://crates.io/users/0.11.0 \
-    crate://crates.io/uuid/0.8.2 \
-    crate://crates.io/vcpkg/0.2.15 \
-    crate://crates.io/vec_map/0.8.2 \
-    crate://crates.io/version/3.0.0 \
-    crate://crates.io/version_check/0.9.3 \
-    crate://crates.io/walkdir/2.3.2 \
-    crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
-    crate://crates.io/wasm-bindgen-backend/0.2.74 \
-    crate://crates.io/wasm-bindgen-macro-support/0.2.74 \
-    crate://crates.io/wasm-bindgen-macro/0.2.74 \
-    crate://crates.io/wasm-bindgen-shared/0.2.74 \
-    crate://crates.io/wasm-bindgen/0.2.74 \
-    crate://crates.io/web-sys/0.3.51 \
-    crate://crates.io/which/3.1.1 \
-    crate://crates.io/which/4.1.0 \
-    crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
-    crate://crates.io/winapi-util/0.1.5 \
-    crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
-    crate://crates.io/winapi/0.3.9 \
-    crate://crates.io/wyz/0.2.0 \
-    crate://crates.io/x509-parser/0.9.2 \
-    crate://crates.io/yasna/0.3.2 \
-    crate://crates.io/zeroize/1.3.0 \
-    crate://crates.io/zeroize_derive/1.1.0 \
-"
-
-LIC_FILES_CHKSUM = " \
-    file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.bb
similarity index 95%
rename from meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb
rename to meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.bb
index 3f12139..d1d6c07 100644
--- a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_0.8.1.bb
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.bb
@@ -2,7 +2,8 @@
 HOMEPAGE = "https://github.com/parallaxsecond/parsec"
 LICENSE = "Apache-2.0"
 
-inherit cargo
+inherit cargo pkgconfig
+DEPENDS = "clang-native"
 
 SRC_URI += "crate://crates.io/parsec-service/${PV} \
             file://parsec_init \
@@ -10,14 +11,10 @@
             file://parsec-tmpfiles.conf \
 "
 
-DEPENDS = "clang-native"
-
-PACKAGECONFIG ??= "PKCS11 MBED-CRYPTO CRYPTOAUTHLIB"
-
+PACKAGECONFIG ??= "PKCS11 MBED-CRYPTO"
 have_TPM = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm2', 'TPM', '', d)}"
 PACKAGECONFIG:append = " ${@bb.utils.contains('BBFILE_COLLECTIONS', 'tpm-layer', '${have_TPM}', '', d)}"
 
-
 PACKAGECONFIG[ALL] = "all-providers cryptoki/generate-bindings tss-esapi/generate-bindings,,tpm2-tss libts,libts"
 PACKAGECONFIG[TPM] = "tpm-provider tss-esapi/generate-bindings,,tpm2-tss"
 PACKAGECONFIG[PKCS11] = "pkcs11-provider cryptoki/generate-bindings,"
@@ -28,7 +25,7 @@
 PARSEC_FEATURES = "${@d.getVar('PACKAGECONFIG_CONFARGS',True).strip().replace(' ', ',')}"
 CARGO_BUILD_FLAGS += " --features ${PARSEC_FEATURES}"
 
-inherit pkgconfig systemd
+inherit systemd
 SYSTEMD_SERVICE:${PN} = "parsec.service"
 
 inherit update-rc.d
@@ -73,6 +70,7 @@
     ${sysconfdir}/parsec/config.toml \
     ${libexecdir}/parsec/parsec \
     ${systemd_unitdir}/system/parsec.service \
+    ${localstatedir}/lib/parsec \
     ${libdir}/tmpfiles.d/parsec-tmpfiles.conf \
     ${sysconfdir}/init.d/parsec \
 "
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.inc b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.inc
new file mode 100644
index 0000000..b6934f8
--- /dev/null
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-service/parsec-service_1.0.0.inc
@@ -0,0 +1,232 @@
+# This file is created from parsec repository Cargo.lock using cargo-bitbake tool
+
+SRC_URI += " \
+    crate://crates.io/ahash/0.7.6 \
+    crate://crates.io/aho-corasick/0.7.18 \
+    crate://crates.io/ansi_term/0.12.1 \
+    crate://crates.io/anyhow/1.0.56 \
+    crate://crates.io/arrayvec/0.5.2 \
+    crate://crates.io/atty/0.2.14 \
+    crate://crates.io/autocfg/1.1.0 \
+    crate://crates.io/base64/0.12.3 \
+    crate://crates.io/base64/0.13.0 \
+    crate://crates.io/bincode/1.3.3 \
+    crate://crates.io/bindgen/0.57.0 \
+    crate://crates.io/bindgen/0.59.2 \
+    crate://crates.io/bitfield/0.13.2 \
+    crate://crates.io/bitflags/1.3.2 \
+    crate://crates.io/bitvec/0.19.6 \
+    crate://crates.io/bumpalo/3.9.1 \
+    crate://crates.io/bytes/1.1.0 \
+    crate://crates.io/cc/1.0.73 \
+    crate://crates.io/cexpr/0.4.0 \
+    crate://crates.io/cexpr/0.6.0 \
+    crate://crates.io/cfg-if/1.0.0 \
+    crate://crates.io/chrono/0.4.19 \
+    crate://crates.io/clang-sys/1.3.1 \
+    crate://crates.io/clap/2.34.0 \
+    crate://crates.io/cmake/0.1.45 \
+    crate://crates.io/const-oid/0.6.2 \
+    crate://crates.io/cryptoauthlib-sys/0.2.2 \
+    crate://crates.io/cryptoki-sys/0.1.3 \
+    crate://crates.io/cryptoki/0.2.1 \
+    crate://crates.io/data-encoding/2.3.2 \
+    crate://crates.io/der-oid-macro/0.4.0 \
+    crate://crates.io/der-parser/5.1.2 \
+    crate://crates.io/der/0.4.5 \
+    crate://crates.io/derivative/2.2.0 \
+    crate://crates.io/either/1.6.1 \
+    crate://crates.io/enumflags2/0.7.3 \
+    crate://crates.io/enumflags2_derive/0.7.3 \
+    crate://crates.io/env_logger/0.8.4 \
+    crate://crates.io/env_logger/0.9.0 \
+    crate://crates.io/fallible-iterator/0.2.0 \
+    crate://crates.io/fallible-streaming-iterator/0.1.9 \
+    crate://crates.io/fastrand/1.7.0 \
+    crate://crates.io/fixedbitset/0.2.0 \
+    crate://crates.io/form_urlencoded/1.0.1 \
+    crate://crates.io/funty/1.1.0 \
+    crate://crates.io/futures-channel/0.3.21 \
+    crate://crates.io/futures-core/0.3.21 \
+    crate://crates.io/futures-executor/0.3.21 \
+    crate://crates.io/futures-io/0.3.21 \
+    crate://crates.io/futures-macro/0.3.21 \
+    crate://crates.io/futures-sink/0.3.21 \
+    crate://crates.io/futures-task/0.3.21 \
+    crate://crates.io/futures-util/0.3.21 \
+    crate://crates.io/futures/0.3.21 \
+    crate://crates.io/generic-array/0.14.5 \
+    crate://crates.io/getrandom/0.2.5 \
+    crate://crates.io/glob/0.3.0 \
+    crate://crates.io/grpcio-sys/0.9.1+1.38.0 \
+    crate://crates.io/grpcio/0.9.1 \
+    crate://crates.io/hashbrown/0.11.2 \
+    crate://crates.io/hashlink/0.7.0 \
+    crate://crates.io/heck/0.3.3 \
+    crate://crates.io/hermit-abi/0.1.19 \
+    crate://crates.io/hex/0.4.3 \
+    crate://crates.io/hostname-validator/1.1.0 \
+    crate://crates.io/humantime/2.1.0 \
+    crate://crates.io/idna/0.2.3 \
+    crate://crates.io/indexmap/1.8.0 \
+    crate://crates.io/instant/0.1.12 \
+    crate://crates.io/itertools/0.10.3 \
+    crate://crates.io/itoa/1.0.1 \
+    crate://crates.io/js-sys/0.3.56 \
+    crate://crates.io/jsonwebkey/0.3.2 \
+    crate://crates.io/jsonwebtoken/7.2.0 \
+    crate://crates.io/lazy_static/1.4.0 \
+    crate://crates.io/lazycell/1.3.0 \
+    crate://crates.io/lexical-core/0.7.6 \
+    crate://crates.io/libc/0.2.120 \
+    crate://crates.io/libloading/0.7.3 \
+    crate://crates.io/libsqlite3-sys/0.23.2 \
+    crate://crates.io/libz-sys/1.1.5 \
+    crate://crates.io/lock_api/0.4.6 \
+    crate://crates.io/log/0.4.14 \
+    crate://crates.io/matches/0.1.9 \
+    crate://crates.io/mbox/0.6.0 \
+    crate://crates.io/memchr/2.4.1 \
+    crate://crates.io/minimal-lexical/0.2.1 \
+    crate://crates.io/multimap/0.8.3 \
+    crate://crates.io/nom/5.1.2 \
+    crate://crates.io/nom/6.1.2 \
+    crate://crates.io/nom/7.1.1 \
+    crate://crates.io/num-bigint/0.2.6 \
+    crate://crates.io/num-bigint/0.3.3 \
+    crate://crates.io/num-bigint/0.4.3 \
+    crate://crates.io/num-complex/0.3.1 \
+    crate://crates.io/num-derive/0.3.3 \
+    crate://crates.io/num-integer/0.1.44 \
+    crate://crates.io/num-iter/0.1.42 \
+    crate://crates.io/num-rational/0.3.2 \
+    crate://crates.io/num-traits/0.2.14 \
+    crate://crates.io/num/0.3.1 \
+    crate://crates.io/num_cpus/1.13.1 \
+    crate://crates.io/oid-registry/0.1.5 \
+    crate://crates.io/oid/0.2.1 \
+    crate://crates.io/once_cell/1.10.0 \
+    crate://crates.io/parking_lot/0.11.2 \
+    crate://crates.io/parking_lot_core/0.8.5 \
+    crate://crates.io/parsec-interface/0.26.0 \
+    crate://crates.io/peeking_take_while/0.1.2 \
+    crate://crates.io/pem/0.8.3 \
+    crate://crates.io/percent-encoding/2.1.0 \
+    crate://crates.io/pest/2.1.3 \
+    crate://crates.io/petgraph/0.5.1 \
+    crate://crates.io/picky-asn1-der/0.2.5 \
+    crate://crates.io/picky-asn1-x509/0.6.1 \
+    crate://crates.io/picky-asn1/0.3.3 \
+    crate://crates.io/pin-project-lite/0.2.8 \
+    crate://crates.io/pin-utils/0.1.0 \
+    crate://crates.io/pkcs8/0.7.6 \
+    crate://crates.io/pkg-config/0.3.24 \
+    crate://crates.io/ppv-lite86/0.2.16 \
+    crate://crates.io/proc-macro-error-attr/1.0.4 \
+    crate://crates.io/proc-macro-error/1.0.4 \
+    crate://crates.io/proc-macro2/1.0.36 \
+    crate://crates.io/prost-build/0.8.0 \
+    crate://crates.io/prost-derive/0.8.0 \
+    crate://crates.io/prost-types/0.8.0 \
+    crate://crates.io/prost/0.8.0 \
+    crate://crates.io/protobuf/2.27.1 \
+    crate://crates.io/psa-crypto-sys/0.9.2 \
+    crate://crates.io/psa-crypto/0.9.1 \
+    crate://crates.io/quote/1.0.15 \
+    crate://crates.io/radium/0.5.3 \
+    crate://crates.io/rand/0.8.5 \
+    crate://crates.io/rand_chacha/0.3.1 \
+    crate://crates.io/rand_core/0.6.3 \
+    crate://crates.io/redox_syscall/0.2.11 \
+    crate://crates.io/regex-syntax/0.6.25 \
+    crate://crates.io/regex/1.5.5 \
+    crate://crates.io/remove_dir_all/0.5.3 \
+    crate://crates.io/ring/0.16.20 \
+    crate://crates.io/rusqlite/0.26.3 \
+    crate://crates.io/rust-cryptoauthlib/0.4.5 \
+    crate://crates.io/rustc-hash/1.1.0 \
+    crate://crates.io/rustc_version/0.3.3 \
+    crate://crates.io/rusticata-macros/3.2.0 \
+    crate://crates.io/rustversion/1.0.6 \
+    crate://crates.io/ryu/1.0.9 \
+    crate://crates.io/same-file/1.0.6 \
+    crate://crates.io/scopeguard/1.1.0 \
+    crate://crates.io/sd-notify/0.2.0 \
+    crate://crates.io/secrecy/0.7.0 \
+    crate://crates.io/semver-parser/0.10.2 \
+    crate://crates.io/semver/0.11.0 \
+    crate://crates.io/serde/1.0.136 \
+    crate://crates.io/serde_bytes/0.11.5 \
+    crate://crates.io/serde_derive/1.0.136 \
+    crate://crates.io/serde_json/1.0.79 \
+    crate://crates.io/shlex/0.1.1 \
+    crate://crates.io/shlex/1.1.0 \
+    crate://crates.io/signal-hook-registry/1.4.0 \
+    crate://crates.io/signal-hook/0.3.13 \
+    crate://crates.io/simple_asn1/0.4.1 \
+    crate://crates.io/simple_asn1/0.5.4 \
+    crate://crates.io/slab/0.4.5 \
+    crate://crates.io/smallvec/1.8.0 \
+    crate://crates.io/spiffe/0.2.0 \
+    crate://crates.io/spin/0.5.2 \
+    crate://crates.io/spki/0.4.1 \
+    crate://crates.io/stable_deref_trait/1.2.0 \
+    crate://crates.io/static_assertions/1.1.0 \
+    crate://crates.io/strsim/0.8.0 \
+    crate://crates.io/structopt-derive/0.4.18 \
+    crate://crates.io/structopt/0.3.26 \
+    crate://crates.io/strum_macros/0.21.1 \
+    crate://crates.io/syn/1.0.88 \
+    crate://crates.io/synstructure/0.12.6 \
+    crate://crates.io/tap/1.0.1 \
+    crate://crates.io/target-lexicon/0.12.3 \
+    crate://crates.io/tempfile/3.3.0 \
+    crate://crates.io/termcolor/1.1.3 \
+    crate://crates.io/textwrap/0.11.0 \
+    crate://crates.io/thiserror-impl/1.0.30 \
+    crate://crates.io/thiserror/1.0.30 \
+    crate://crates.io/threadpool/1.8.1 \
+    crate://crates.io/time/0.1.44 \
+    crate://crates.io/tinyvec/1.5.1 \
+    crate://crates.io/tinyvec_macros/0.1.0 \
+    crate://crates.io/toml/0.5.8 \
+    crate://crates.io/tss-esapi-sys/0.3.0 \
+    crate://crates.io/tss-esapi/7.0.1 \
+    crate://crates.io/typenum/1.15.0 \
+    crate://crates.io/ucd-trie/0.1.3 \
+    crate://crates.io/unicode-bidi/0.3.7 \
+    crate://crates.io/unicode-normalization/0.1.19 \
+    crate://crates.io/unicode-segmentation/1.9.0 \
+    crate://crates.io/unicode-width/0.1.9 \
+    crate://crates.io/unicode-xid/0.2.2 \
+    crate://crates.io/untrusted/0.7.1 \
+    crate://crates.io/url/2.2.2 \
+    crate://crates.io/users/0.11.0 \
+    crate://crates.io/uuid/0.8.2 \
+    crate://crates.io/vcpkg/0.2.15 \
+    crate://crates.io/vec_map/0.8.2 \
+    crate://crates.io/version/3.0.0 \
+    crate://crates.io/version_check/0.9.4 \
+    crate://crates.io/walkdir/2.3.2 \
+    crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
+    crate://crates.io/wasm-bindgen-backend/0.2.79 \
+    crate://crates.io/wasm-bindgen-macro-support/0.2.79 \
+    crate://crates.io/wasm-bindgen-macro/0.2.79 \
+    crate://crates.io/wasm-bindgen-shared/0.2.79 \
+    crate://crates.io/wasm-bindgen/0.2.79 \
+    crate://crates.io/web-sys/0.3.56 \
+    crate://crates.io/which/4.2.4 \
+    crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi-util/0.1.5 \
+    crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi/0.3.9 \
+    crate://crates.io/wyz/0.2.0 \
+    crate://crates.io/x509-parser/0.9.2 \
+    crate://crates.io/yasna/0.3.2 \
+    crate://crates.io/zeroize/1.3.0 \
+    crate://crates.io/zeroize_derive/1.3.2 \
+"
+
+LIC_FILES_CHKSUM = " \
+    file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.1.bb b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.bb
similarity index 100%
rename from meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.1.bb
rename to meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.bb
diff --git a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.1.inc b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.inc
similarity index 61%
rename from meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.1.inc
rename to meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.inc
index 567cc37..d17ec25 100644
--- a/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.1.inc
+++ b/meta-security/meta-parsec/recipes-parsec/parsec-tool/parsec-tool_0.5.2.inc
@@ -1,31 +1,30 @@
 # This file is created from parsec-tool repository Cargo.lock using cargo-bitbake tool
 
 SRC_URI += " \
-    crate://crates.io/aho-corasick/0.7.15 \
-    crate://crates.io/ansi_term/0.11.0 \
+    crate://crates.io/aho-corasick/0.7.18 \
     crate://crates.io/ansi_term/0.12.1 \
-    crate://crates.io/anyhow/1.0.44 \
+    crate://crates.io/anyhow/1.0.56 \
     crate://crates.io/arrayvec/0.5.2 \
     crate://crates.io/atty/0.2.14 \
-    crate://crates.io/autocfg/1.0.1 \
+    crate://crates.io/autocfg/1.1.0 \
     crate://crates.io/base64/0.12.3 \
     crate://crates.io/base64/0.13.0 \
     crate://crates.io/bincode/1.3.3 \
     crate://crates.io/bindgen/0.57.0 \
     crate://crates.io/bitflags/1.3.2 \
-    crate://crates.io/bitvec/0.19.5 \
+    crate://crates.io/bitvec/0.19.6 \
     crate://crates.io/block-buffer/0.9.0 \
-    crate://crates.io/bumpalo/3.7.1 \
+    crate://crates.io/bumpalo/3.9.1 \
     crate://crates.io/bytes/1.1.0 \
-    crate://crates.io/cc/1.0.70 \
+    crate://crates.io/cc/1.0.73 \
     crate://crates.io/cexpr/0.4.0 \
     crate://crates.io/cfg-if/1.0.0 \
     crate://crates.io/chrono/0.4.19 \
-    crate://crates.io/clang-sys/1.2.2 \
-    crate://crates.io/clap/2.33.3 \
-    crate://crates.io/clap/3.0.0-beta.4 \
-    crate://crates.io/clap_derive/3.0.0-beta.4 \
-    crate://crates.io/cmake/0.1.45 \
+    crate://crates.io/clang-sys/1.3.1 \
+    crate://crates.io/clap/2.34.0 \
+    crate://crates.io/clap/3.0.0-beta.5 \
+    crate://crates.io/clap_derive/3.0.0-beta.5 \
+    crate://crates.io/cmake/0.1.48 \
     crate://crates.io/const-oid/0.6.2 \
     crate://crates.io/cpufeatures/0.2.1 \
     crate://crates.io/data-encoding/2.3.2 \
@@ -38,16 +37,16 @@
     crate://crates.io/env_logger/0.8.4 \
     crate://crates.io/form_urlencoded/1.0.1 \
     crate://crates.io/funty/1.1.0 \
-    crate://crates.io/futures-channel/0.3.17 \
-    crate://crates.io/futures-core/0.3.17 \
-    crate://crates.io/futures-executor/0.3.17 \
-    crate://crates.io/futures-io/0.3.17 \
-    crate://crates.io/futures-macro/0.3.17 \
-    crate://crates.io/futures-sink/0.3.17 \
-    crate://crates.io/futures-task/0.3.17 \
-    crate://crates.io/futures-util/0.3.17 \
-    crate://crates.io/futures/0.3.17 \
-    crate://crates.io/generic-array/0.14.4 \
+    crate://crates.io/futures-channel/0.3.21 \
+    crate://crates.io/futures-core/0.3.21 \
+    crate://crates.io/futures-executor/0.3.21 \
+    crate://crates.io/futures-io/0.3.21 \
+    crate://crates.io/futures-macro/0.3.21 \
+    crate://crates.io/futures-sink/0.3.21 \
+    crate://crates.io/futures-task/0.3.21 \
+    crate://crates.io/futures-util/0.3.21 \
+    crate://crates.io/futures/0.3.21 \
+    crate://crates.io/generic-array/0.14.5 \
     crate://crates.io/glob/0.3.0 \
     crate://crates.io/grpcio-sys/0.9.1+1.38.0 \
     crate://crates.io/grpcio/0.9.1 \
@@ -56,28 +55,28 @@
     crate://crates.io/hermit-abi/0.1.19 \
     crate://crates.io/humantime/2.1.0 \
     crate://crates.io/idna/0.2.3 \
-    crate://crates.io/indexmap/1.7.0 \
-    crate://crates.io/instant/0.1.11 \
-    crate://crates.io/itertools/0.10.1 \
-    crate://crates.io/itoa/0.4.8 \
-    crate://crates.io/js-sys/0.3.55 \
+    crate://crates.io/indexmap/1.8.0 \
+    crate://crates.io/instant/0.1.12 \
+    crate://crates.io/itertools/0.10.3 \
+    crate://crates.io/itoa/1.0.1 \
+    crate://crates.io/js-sys/0.3.56 \
     crate://crates.io/jsonwebkey/0.3.2 \
     crate://crates.io/jsonwebtoken/7.2.0 \
     crate://crates.io/lazy_static/1.4.0 \
     crate://crates.io/lazycell/1.3.0 \
     crate://crates.io/lexical-core/0.7.6 \
-    crate://crates.io/libc/0.2.103 \
-    crate://crates.io/libloading/0.7.0 \
-    crate://crates.io/libz-sys/1.1.3 \
-    crate://crates.io/lock_api/0.4.5 \
+    crate://crates.io/libc/0.2.120 \
+    crate://crates.io/libloading/0.7.3 \
+    crate://crates.io/libz-sys/1.1.5 \
+    crate://crates.io/lock_api/0.4.6 \
     crate://crates.io/log/0.4.14 \
     crate://crates.io/matches/0.1.9 \
-    crate://crates.io/memchr/2.3.4 \
+    crate://crates.io/memchr/2.4.1 \
     crate://crates.io/nom/5.1.2 \
-    crate://crates.io/nom/6.2.1 \
+    crate://crates.io/nom/6.1.2 \
     crate://crates.io/num-bigint/0.2.6 \
     crate://crates.io/num-bigint/0.3.3 \
-    crate://crates.io/num-bigint/0.4.2 \
+    crate://crates.io/num-bigint/0.4.3 \
     crate://crates.io/num-complex/0.3.1 \
     crate://crates.io/num-derive/0.3.3 \
     crate://crates.io/num-integer/0.1.44 \
@@ -85,83 +84,84 @@
     crate://crates.io/num-rational/0.3.2 \
     crate://crates.io/num-traits/0.2.14 \
     crate://crates.io/num/0.3.1 \
+    crate://crates.io/num_threads/0.1.5 \
     crate://crates.io/oid-registry/0.1.5 \
     crate://crates.io/oid/0.2.1 \
-    crate://crates.io/once_cell/1.8.0 \
+    crate://crates.io/once_cell/1.10.0 \
     crate://crates.io/opaque-debug/0.3.0 \
-    crate://crates.io/os_str_bytes/3.1.0 \
+    crate://crates.io/os_str_bytes/4.1.1 \
     crate://crates.io/parking_lot/0.11.2 \
     crate://crates.io/parking_lot_core/0.8.5 \
     crate://crates.io/parsec-client/0.14.0 \
     crate://crates.io/parsec-interface/0.26.0 \
     crate://crates.io/peeking_take_while/0.1.2 \
     crate://crates.io/pem/0.8.3 \
-    crate://crates.io/pem/1.0.1 \
+    crate://crates.io/pem/1.0.2 \
     crate://crates.io/percent-encoding/2.1.0 \
     crate://crates.io/picky-asn1-der/0.2.5 \
     crate://crates.io/picky-asn1-x509/0.6.1 \
     crate://crates.io/picky-asn1/0.3.3 \
-    crate://crates.io/pin-project-lite/0.2.7 \
+    crate://crates.io/pin-project-lite/0.2.8 \
     crate://crates.io/pin-utils/0.1.0 \
     crate://crates.io/pkcs8/0.7.6 \
-    crate://crates.io/pkg-config/0.3.20 \
+    crate://crates.io/pkg-config/0.3.24 \
     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-macro-nested/0.1.7 \
-    crate://crates.io/proc-macro2/1.0.29 \
+    crate://crates.io/proc-macro2/1.0.36 \
     crate://crates.io/prost-derive/0.8.0 \
     crate://crates.io/prost/0.8.0 \
-    crate://crates.io/protobuf/2.25.1 \
+    crate://crates.io/protobuf/2.27.1 \
     crate://crates.io/psa-crypto-sys/0.9.2 \
     crate://crates.io/psa-crypto/0.9.1 \
-    crate://crates.io/quote/1.0.9 \
+    crate://crates.io/quote/1.0.15 \
     crate://crates.io/radium/0.5.3 \
-    crate://crates.io/rcgen/0.8.14 \
-    crate://crates.io/redox_syscall/0.2.10 \
+    crate://crates.io/rcgen/0.9.2 \
+    crate://crates.io/redox_syscall/0.2.11 \
     crate://crates.io/regex-syntax/0.6.25 \
-    crate://crates.io/regex/1.4.6 \
+    crate://crates.io/regex/1.5.5 \
     crate://crates.io/ring/0.16.20 \
     crate://crates.io/rustc-hash/1.1.0 \
     crate://crates.io/rusticata-macros/3.2.0 \
-    crate://crates.io/rustversion/1.0.5 \
-    crate://crates.io/ryu/1.0.5 \
+    crate://crates.io/rustversion/1.0.6 \
+    crate://crates.io/ryu/1.0.9 \
     crate://crates.io/same-file/1.0.6 \
     crate://crates.io/scopeguard/1.1.0 \
     crate://crates.io/secrecy/0.7.0 \
-    crate://crates.io/serde/1.0.130 \
+    crate://crates.io/serde/1.0.136 \
     crate://crates.io/serde_bytes/0.11.5 \
-    crate://crates.io/serde_derive/1.0.130 \
-    crate://crates.io/serde_json/1.0.68 \
+    crate://crates.io/serde_derive/1.0.136 \
+    crate://crates.io/serde_json/1.0.79 \
     crate://crates.io/sha2/0.9.9 \
     crate://crates.io/shlex/0.1.1 \
     crate://crates.io/simple_asn1/0.4.1 \
     crate://crates.io/simple_asn1/0.5.4 \
-    crate://crates.io/slab/0.4.4 \
-    crate://crates.io/smallvec/1.6.1 \
+    crate://crates.io/slab/0.4.5 \
+    crate://crates.io/smallvec/1.8.0 \
     crate://crates.io/spiffe/0.2.0 \
     crate://crates.io/spin/0.5.2 \
     crate://crates.io/spki/0.4.1 \
     crate://crates.io/static_assertions/1.1.0 \
     crate://crates.io/strsim/0.10.0 \
     crate://crates.io/strsim/0.8.0 \
-    crate://crates.io/structopt-derive/0.4.16 \
-    crate://crates.io/structopt/0.3.23 \
-    crate://crates.io/syn/1.0.77 \
-    crate://crates.io/synstructure/0.12.5 \
+    crate://crates.io/structopt-derive/0.4.18 \
+    crate://crates.io/structopt/0.3.26 \
+    crate://crates.io/syn/1.0.89 \
+    crate://crates.io/synstructure/0.12.6 \
     crate://crates.io/tap/1.0.1 \
-    crate://crates.io/termcolor/1.1.2 \
+    crate://crates.io/termcolor/1.1.3 \
     crate://crates.io/textwrap/0.11.0 \
     crate://crates.io/textwrap/0.14.2 \
-    crate://crates.io/thiserror-impl/1.0.29 \
-    crate://crates.io/thiserror/1.0.29 \
+    crate://crates.io/thiserror-impl/1.0.30 \
+    crate://crates.io/thiserror/1.0.30 \
     crate://crates.io/time/0.1.44 \
-    crate://crates.io/tinyvec/1.5.0 \
+    crate://crates.io/time/0.3.7 \
+    crate://crates.io/tinyvec/1.5.1 \
     crate://crates.io/tinyvec_macros/0.1.0 \
-    crate://crates.io/typenum/1.14.0 \
-    crate://crates.io/unicode-bidi/0.3.6 \
+    crate://crates.io/typenum/1.15.0 \
+    crate://crates.io/unicase/2.6.0 \
+    crate://crates.io/unicode-bidi/0.3.7 \
     crate://crates.io/unicode-normalization/0.1.19 \
-    crate://crates.io/unicode-segmentation/1.8.0 \
+    crate://crates.io/unicode-segmentation/1.9.0 \
     crate://crates.io/unicode-width/0.1.9 \
     crate://crates.io/unicode-xid/0.2.2 \
     crate://crates.io/untrusted/0.7.1 \
@@ -170,15 +170,15 @@
     crate://crates.io/uuid/0.8.2 \
     crate://crates.io/vcpkg/0.2.15 \
     crate://crates.io/vec_map/0.8.2 \
-    crate://crates.io/version_check/0.9.3 \
+    crate://crates.io/version_check/0.9.4 \
     crate://crates.io/walkdir/2.3.2 \
     crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
-    crate://crates.io/wasm-bindgen-backend/0.2.78 \
-    crate://crates.io/wasm-bindgen-macro-support/0.2.78 \
-    crate://crates.io/wasm-bindgen-macro/0.2.78 \
-    crate://crates.io/wasm-bindgen-shared/0.2.78 \
-    crate://crates.io/wasm-bindgen/0.2.78 \
-    crate://crates.io/web-sys/0.3.55 \
+    crate://crates.io/wasm-bindgen-backend/0.2.79 \
+    crate://crates.io/wasm-bindgen-macro-support/0.2.79 \
+    crate://crates.io/wasm-bindgen-macro/0.2.79 \
+    crate://crates.io/wasm-bindgen-shared/0.2.79 \
+    crate://crates.io/wasm-bindgen/0.2.79 \
+    crate://crates.io/web-sys/0.3.56 \
     crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
     crate://crates.io/winapi-util/0.1.5 \
     crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
@@ -186,9 +186,9 @@
     crate://crates.io/wyz/0.2.0 \
     crate://crates.io/x509-parser/0.9.2 \
     crate://crates.io/yasna/0.3.2 \
-    crate://crates.io/yasna/0.4.0 \
+    crate://crates.io/yasna/0.5.0 \
     crate://crates.io/zeroize/1.3.0 \
-    crate://crates.io/zeroize_derive/1.2.0 \
+    crate://crates.io/zeroize_derive/1.3.2 \
 "
 
 LIC_FILES_CHKSUM = " \
diff --git a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.0.bb b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.0.bb
index 947c27e..f665e29 100644
--- a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.0.bb
+++ b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_3.0.0.bb
@@ -3,7 +3,7 @@
 
 SUMMARY = "Lynis is a free and open source security and auditing tool."
 HOMEDIR = "https://cisofy.com/"
-LICENSE = "GPL-3.0"
+LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3edd6782854304fd11da4975ab9799c1"
 
 SRC_URI = "https://cisofy.com/files/${BPN}-${PV}.tar.gz"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc
index c236641..4babcf9 100644
--- a/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc
+++ b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc
@@ -4,7 +4,7 @@
 SUMARRY = "NIST Certified SCAP 1.2 toolkit"
 HOME_URL = "https://www.open-scap.org/tools/openscap-base/"
 LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
 
 DEPENDS = "dbus acl bzip2 pkgconfig gconf procps curl libxml2 libxslt libcap swig"
 DEPENDS:class-native = "pkgconfig-native swig-native curl-native libxml2-native libxslt-native libcap-native"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide.inc b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide.inc
index 0c651f1..6f29eda 100644
--- a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide.inc
+++ b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide.inc
@@ -4,7 +4,7 @@
 SUMARRY = "SCAP content for various platforms"
 HOME_URL = "https://www.open-scap.org/security-policies/scap-security-guide/"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=97662e4486d9a1d09f358851d9f41a1a"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
 
 DEPENDS = "openscap-native python3 python3-pyyaml-native python3-jinja2-native libxml2-native expat-native"
 
diff --git a/meta-security/meta-tpm/recipes-tpm/openssl-tpm-engine/openssl-tpm-engine_0.5.0.bb b/meta-security/meta-tpm/recipes-tpm/openssl-tpm-engine/openssl-tpm-engine_0.5.0.bb
index 2b969ed..e3e643e 100644
--- a/meta-security/meta-tpm/recipes-tpm/openssl-tpm-engine/openssl-tpm-engine_0.5.0.bb
+++ b/meta-security/meta-tpm/recipes-tpm/openssl-tpm-engine/openssl-tpm-engine_0.5.0.bb
@@ -2,7 +2,7 @@
 HOMEPAGE = "https://github.com/mgerstner/openssl_tpm_engine"
 SECTION = "security/tpm"
 
-LICENSE = "openssl"
+LICENSE = "OpenSSL"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=11f0ee3af475c85b907426e285c9bb52"
 
 DEPENDS += "openssl trousers"
diff --git a/meta-security/meta-tpm/recipes-tpm/pcr-extend/pcr-extend_git.bb b/meta-security/meta-tpm/recipes-tpm/pcr-extend/pcr-extend_git.bb
index 77f65ae..45da416 100644
--- a/meta-security/meta-tpm/recipes-tpm/pcr-extend/pcr-extend_git.bb
+++ b/meta-security/meta-tpm/recipes-tpm/pcr-extend/pcr-extend_git.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Command line utility to extend hash of arbitrary data into a TPMs PCR."
 HOMEPAGE = "https://github.com/flihp/pcr-extend"
 SECTION = "security/tpm"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 DEPENDS = "libtspi"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.1.bb
similarity index 90%
rename from meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.0.bb
rename to meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.1.bb
index 1818171..daafae3 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.0.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.4.1.bb
@@ -13,14 +13,12 @@
             libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim"
 
 SRC_URI = "\
-    git://github.com/tpm2-software/tpm2-abrmd.git;branch=master;protocol=https \
+    https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz \
     file://tpm2-abrmd-init.sh \
     file://tpm2-abrmd.default \
 "
 
-SRCREV = "4f332013a02c422e186c4aaf127ab6a40b996028"
-
-S = "${WORKDIR}/git"
+SRC_URI[sha256sum] = "a7844a257eaf5176f612fe9620018edc0880cca7036465ad2593f83ae0ad6673"
 
 inherit autotools pkgconfig systemd update-rc.d useradd
 
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-openssl/tpm2-openssl_1.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-openssl/tpm2-openssl_1.0.bb
deleted file mode 100644
index f6a694c..0000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-openssl/tpm2-openssl_1.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Provider for integration of TPM 2.0 to OpenSSL 3.0"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b75785ac083d3c3ca04d99d9e4e1fbab"
-
-SRC_URI = "git://github.com/tpm2-software/tpm2-openssl.git;protocol=https;branch=master"
-
-SRCREV = "66e34f9e45c3697590cced1e4d3f35993a822f8b"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-openssl/tpm2-openssl_1.1.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-openssl/tpm2-openssl_1.1.0.bb
new file mode 100644
index 0000000..55061c9
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-openssl/tpm2-openssl_1.1.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Provider for integration of TPM 2.0 to OpenSSL 3.0"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b75785ac083d3c3ca04d99d9e4e1fbab"
+
+DEPENDS = "autoconf-archive-native tpm2-tss openssl"
+
+SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "eedcc0b72ad6d232e6f9f55a780290c4d33a4d06efca9314f8a36d7384eb1dfc"
+
+inherit autotools pkgconfig
+
+do_configure:prepend() {
+    # do not extract the version number from git
+    sed -i -e 's/m4_esyscmd_s(\[git describe --tags --always --dirty\])/${PV}/' ${S}/configure.ac
+}
+
+FILES:${PN} = "\
+    ${libdir}/ossl-modules/tpm2.so"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-remove-local-binary-checkes.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-remove-local-binary-checkes.patch
deleted file mode 100644
index 9d3f073..0000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-remove-local-binary-checkes.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 9e3ef6f253f9427596baf3e7d748a79854cadfa9 Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster808@gmail.com>
-Date: Wed, 14 Oct 2020 08:55:33 -0700
-Subject: [PATCH] remove local binary checkes
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Upsteam-Status: Inappropriate
-These are only needed to run on the tartget so we add an RDPENDS.
-Not needed for building.
-
----
- configure.ac | 48 ------------------------------------------------
- 1 file changed, 48 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 50e7d4b..2b9abcf 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -219,54 +219,6 @@ AX_PROG_JAVAC()
- AX_PROG_JAVA()
- m4_popdef([AC_MSG_ERROR])
- 
--AC_CHECK_PROG([tpm2_createprimary], [tpm2_createprimary], [yes], [no])
--  AS_IF([test "x$tpm2_createprimary" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_createprimary, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_create], [tpm2_create], [yes], [no])
--  AS_IF([test "x$tpm2_create" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_create, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_evictcontrol], [tpm2_evictcontrol], [yes], [no])
--  AS_IF([test "x$tpm2_evictcontrol" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_evictcontrol, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_readpublic], [tpm2_readpublic], [yes], [no])
--  AS_IF([test "x$tpm2_readpublic" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_readpublic, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_load], [tpm2_load], [yes], [no])
--  AS_IF([test "x$tpm2_load" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_load, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_loadexternal], [tpm2_loadexternal], [yes], [no])
--  AS_IF([test "x$tpm2_loadexternal" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_loadexternal, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_unseal], [tpm2_unseal], [yes], [no])
--  AS_IF([test "x$tpm2_unseal" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_unseal, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_encryptdecrypt], [tpm2_encryptdecrypt], [yes], [no])
--  AS_IF([test "x$tpm2_encryptdecrypt" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_encryptdecrypt, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_sign], [tpm2_sign], [yes], [no])
--  AS_IF([test "x$tpm2_sign" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_sign, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_getcap], [tpm2_getcap], [yes], [no])
--  AS_IF([test "x$tpm2_getcap" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_getcap, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_import], [tpm2_import], [yes], [no])
--  AS_IF([test "x$tpm2_import" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_import, but executable not found.])])
--
--AC_CHECK_PROG([tpm2_changeauth], [tpm2_changeauth], [yes], [no])
--  AS_IF([test "x$tpm2_changeauth" != "xyes"],
--    [AC_MSG_ERROR([tpm2_ptool requires tpm2_changeauth, but executable not found.])])
--
- AC_DEFUN([integration_test_checks], [
- 
-   PKG_CHECK_MODULES([OPENSC_PKCS11],[opensc-pkcs11],,
--- 
-2.17.1
-
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-ssl-compile-against-OSSL-3.0.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-ssl-compile-against-OSSL-3.0.patch
deleted file mode 100644
index ac2f92c..0000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-ssl-compile-against-OSSL-3.0.patch
+++ /dev/null
@@ -1,1305 +0,0 @@
-From f7a2e90e80fd8b4c43042f8099e821b4118234d1 Mon Sep 17 00:00:00 2001
-From: William Roberts <william.c.roberts@intel.com>
-Date: Fri, 3 Sep 2021 11:24:40 -0500
-Subject: [PATCH 1/2] ssl: compile against OSSL 3.0
-
-Compile against OpenSSL. This moves functions non-deprecated things if
-possible and ignores deprecation warnings when not. Padding manipulation
-routines seem to have been marked deprecated in OSSL 3.0, so we need to
-figure out a porting strategy here.
-
-Fixes: #686
-
-Signed-off-by: William Roberts <william.c.roberts@intel.com>
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
----
- src/lib/backend_esysdb.c                |   5 +-
- src/lib/backend_fapi.c                  |   5 +-
- src/lib/encrypt.c                       |   2 +-
- src/lib/mech.c                          |  72 +---
- src/lib/object.c                        |   3 +-
- src/lib/sign.c                          |   2 +-
- src/lib/ssl_util.c                      | 531 ++++++++++++++++--------
- src/lib/ssl_util.h                      |  31 +-
- src/lib/tpm.c                           |   6 +-
- src/lib/utils.c                         |  35 +-
- src/lib/utils.h                         |  13 -
- test/integration/pkcs-sign-verify.int.c |  94 ++---
- 12 files changed, 441 insertions(+), 358 deletions(-)
-
-Index: git/src/lib/backend_esysdb.c
-===================================================================
---- git.orig/src/lib/backend_esysdb.c
-+++ git/src/lib/backend_esysdb.c
-@@ -3,6 +3,7 @@
- #include "config.h"
- #include "backend_esysdb.h"
- #include "db.h"
-+#include "ssl_util.h"
- #include "tpm.h"
- 
- CK_RV backend_esysdb_init(void) {
-@@ -308,7 +309,7 @@ CK_RV backend_esysdb_token_unseal_wrappi
-     }
- 
-     twist sealsalt = user ? sealobj->userauthsalt : sealobj->soauthsalt;
--    twist sealobjauth = utils_hash_pass(tpin, sealsalt);
-+    twist sealobjauth = ssl_util_hash_pass(tpin, sealsalt);
-     if (!sealobjauth) {
-         rv = CKR_HOST_MEMORY;
-         goto error;
-@@ -372,7 +373,7 @@ CK_RV backend_esysdb_token_changeauth(to
-      */
-     twist oldsalt = !user ? tok->esysdb.sealobject.soauthsalt : tok->esysdb.sealobject.userauthsalt;
- 
--    twist oldauth = utils_hash_pass(toldpin, oldsalt);
-+    twist oldauth = ssl_util_hash_pass(toldpin, oldsalt);
-     if (!oldauth) {
-         goto out;
-     }
-Index: git/src/lib/backend_fapi.c
-===================================================================
---- git.orig/src/lib/backend_fapi.c
-+++ git/src/lib/backend_fapi.c
-@@ -11,6 +11,7 @@
- #include "backend_fapi.h"
- #include "emitter.h"
- #include "parser.h"
-+#include "ssl_util.h"
- #include "utils.h"
- 
- #ifdef HAVE_FAPI
-@@ -793,7 +794,7 @@ CK_RV backend_fapi_token_unseal_wrapping
-     }
- 
-     twist sealsalt = user ? tok->fapi.userauthsalt : tok->fapi.soauthsalt;
--    twist sealobjauth = utils_hash_pass(tpin, sealsalt);
-+    twist sealobjauth = ssl_util_hash_pass(tpin, sealsalt);
-     if (!sealobjauth) {
-         rv = CKR_HOST_MEMORY;
-         goto error;
-@@ -889,7 +890,7 @@ CK_RV backend_fapi_token_changeauth(toke
-     }
-     rv = CKR_GENERAL_ERROR;
- 
--    oldauth = utils_hash_pass(toldpin, user ? tok->fapi.userauthsalt : tok->fapi.soauthsalt);
-+    oldauth = ssl_util_hash_pass(toldpin, user ? tok->fapi.userauthsalt : tok->fapi.soauthsalt);
-     if (!oldauth) {
-         goto out;
-     }
-Index: git/src/lib/encrypt.c
-===================================================================
---- git.orig/src/lib/encrypt.c
-+++ git/src/lib/encrypt.c
-@@ -59,7 +59,7 @@ void encrypt_op_data_free(encrypt_op_dat
- CK_RV sw_encrypt_data_init(mdetail *mdtl, CK_MECHANISM *mechanism, tobject *tobj, sw_encrypt_data **enc_data) {
- 
-     EVP_PKEY *pkey = NULL;
--    CK_RV rv = ssl_util_tobject_to_evp(&pkey, tobj);
-+    CK_RV rv = ssl_util_attrs_to_evp(tobj->attrs, &pkey);
-     if (rv != CKR_OK) {
-         return rv;
-     }
-Index: git/src/lib/mech.c
-===================================================================
---- git.orig/src/lib/mech.c
-+++ git/src/lib/mech.c
-@@ -693,7 +693,7 @@ CK_RV ecc_keygen_validator(mdetail *m, C
-     }
- 
-     int nid = 0;
--    CK_RV rv = ec_params_to_nid(a, &nid);
-+    CK_RV rv = ssl_util_params_to_nid(a, &nid);
-     if (rv != CKR_OK) {
-         return rv;
-     }
-@@ -857,11 +857,11 @@ CK_RV rsa_pkcs_synthesizer(mdetail *mdtl
-     }
- 
-     /* Apply the PKCS1.5 padding */
--    int rc = RSA_padding_add_PKCS1_type_1(outbuf, padded_len,
--            inbuf, inlen);
--    if (!rc) {
-+    CK_RV rv = ssl_util_add_PKCS1_TYPE_1(inbuf, inlen,
-+            outbuf, padded_len);
-+    if (rv != CKR_OK) {
-         LOGE("Applying RSA padding failed");
--        return CKR_GENERAL_ERROR;
-+        return rv;
-     }
- 
-     *outlen = padded_len;
-@@ -893,22 +893,21 @@ CK_RV rsa_pkcs_unsynthesizer(mdetail *md
-     size_t key_bytes = *keybits / 8;
- 
-     unsigned char buf[4096];
--    int rc = RSA_padding_check_PKCS1_type_2(buf, sizeof(buf),
--                                       inbuf, inlen,
--                                       key_bytes);
--    if (rc < 0) {
-+    CK_ULONG buflen = sizeof(buf);
-+    CK_RV rv = ssl_util_check_PKCS1_TYPE_2(inbuf, inlen, key_bytes,
-+            buf, &buflen);
-+    if (rv != CKR_OK) {
-         LOGE("Could not recover CKM_RSA_PKCS Padding");
--        return CKR_GENERAL_ERROR;
-+        return rv;
-     }
- 
--    /* cannot be < 0 because of check above */
--    if (!outbuf || (unsigned)rc > *outlen) {
--        *outlen = rc;
-+    if (!outbuf || buflen > *outlen) {
-+        *outlen = buflen;
-         return outbuf ? CKR_BUFFER_TOO_SMALL : CKR_OK;
-     }
- 
--    *outlen = rc;
--    memcpy(outbuf, buf, rc);
-+    *outlen = buflen;
-+    memcpy(outbuf, buf, buflen);
- 
-     return CKR_OK;
- }
-@@ -944,50 +943,21 @@ CK_RV rsa_pss_synthesizer(mdetail *mdtl,
-         return CKR_GENERAL_ERROR;
-     }
- 
--    CK_ATTRIBUTE_PTR exp_attr = attr_get_attribute_by_type(attrs, CKA_PUBLIC_EXPONENT);
--    if (!exp_attr) {
--        LOGE("Signing key has no CKA_PUBLIC_EXPONENT");
--        return CKR_GENERAL_ERROR;
--    }
--
-     if (modulus_attr->ulValueLen > *outlen) {
-         LOGE("Output buffer is too small, got: %lu, required at least %lu",
-                 *outlen, modulus_attr->ulValueLen);
-         return CKR_GENERAL_ERROR;
-     }
- 
--    BIGNUM *e = BN_bin2bn(exp_attr->pValue, exp_attr->ulValueLen, NULL);
--    if (!e) {
--        LOGE("Could not convert exponent to bignum");
--        return CKR_GENERAL_ERROR;
--    }
--
--    BIGNUM *n = BN_bin2bn(modulus_attr->pValue, modulus_attr->ulValueLen, NULL);
--    if (!n) {
--        LOGE("Could not convert modulus to bignum");
--        BN_free(e);
--        return CKR_GENERAL_ERROR;
--    }
--
--    RSA *rsa = RSA_new();
--    if (!rsa) {
--        LOGE("oom");
--        return CKR_HOST_MEMORY;
--    }
--
--    int rc = RSA_set0_key(rsa, n, e, NULL);
--    if (!rc) {
--        LOGE("Could not set modulus and exponent to OSSL RSA key");
--        BN_free(n);
--        BN_free(e);
--        RSA_free(rsa);
--        return CKR_GENERAL_ERROR;
-+    EVP_PKEY *pkey = NULL;
-+    rv = ssl_util_attrs_to_evp(attrs, &pkey);
-+    if (rv != CKR_OK) {
-+        return rv;
-     }
- 
--    rc = RSA_padding_add_PKCS1_PSS(rsa, outbuf,
--            inbuf, md, -1);
--    RSA_free(rsa);
--    if (!rc) {
-+    rv = ssl_util_add_PKCS1_PSS(pkey, inbuf, md, outbuf);
-+    EVP_PKEY_free(pkey);
-+    if (rv != CKR_OK) {
-         LOGE("Applying RSA padding failed");
-         return CKR_GENERAL_ERROR;
-     }
-Index: git/src/lib/object.c
-===================================================================
---- git.orig/src/lib/object.c
-+++ git/src/lib/object.c
-@@ -15,6 +15,7 @@
- #include "object.h"
- #include "pkcs11.h"
- #include "session_ctx.h"
-+#include "ssl_util.h"
- #include "token.h"
- #include "utils.h"
- 
-@@ -121,7 +122,7 @@ CK_RV tobject_get_min_buf_size(tobject *
-         }
- 
-         int nid = 0;
--        CK_RV rv = ec_params_to_nid(a, &nid);
-+        CK_RV rv = ssl_util_params_to_nid(a, &nid);
-         if (rv != CKR_OK) {
-             return rv;
-         }
-Index: git/src/lib/sign.c
-===================================================================
---- git.orig/src/lib/sign.c
-+++ git/src/lib/sign.c
-@@ -74,7 +74,7 @@ static sign_opdata *sign_opdata_new(mdet
-     }
- 
-     EVP_PKEY *pkey = NULL;
--    rv = ssl_util_tobject_to_evp(&pkey, tobj);
-+    rv = ssl_util_attrs_to_evp(tobj->attrs, &pkey);
-     if (rv != CKR_OK) {
-         return NULL;
-     }
-Index: git/src/lib/ssl_util.c
-===================================================================
---- git.orig/src/lib/ssl_util.c
-+++ git/src/lib/ssl_util.c
-@@ -10,6 +10,7 @@
- #include <openssl/rsa.h>
- #include <openssl/sha.h>
- 
-+#include "attrs.h"
- #include "log.h"
- #include "pkcs11.h"
- #include "ssl_util.h"
-@@ -19,194 +20,228 @@
- #include <openssl/evperr.h>
- #endif
- 
--#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
-+#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST300)
-+#include <openssl/core_names.h>
-+#endif
- 
- /*
-- * Pre openssl 1.1 doesn't have EC_POINT_point2buf, so use EC_POINT_point2oct to
-- * create an API compatible version of it.
-+ * TODO Port these routines
-+ * Deprecated function block to port
-+ *
-+ * There are no padding routine replacements in OSSL 3.0.
-+ *   - per Matt Caswell (maintainer) on mailing list.
-+ * Signature verification can likely be done with EVP Verify interface.
-  */
--size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point,
--                          point_conversion_form_t form,
--                          unsigned char **pbuf, BN_CTX *ctx) {
--
--    /* Get the required buffer length */
--    size_t len = EC_POINT_point2oct(group, point, form, NULL, 0, NULL);
--    if (!len) {
--        return 0;
--    }
-+#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST300)
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
-+#endif
- 
--    /* allocate it */
--    unsigned char *buf = OPENSSL_malloc(len);
--    if (!buf) {
--        return 0;
--    }
-+CK_RV ssl_util_add_PKCS1_PSS(EVP_PKEY *pkey,
-+        const CK_BYTE_PTR inbuf, const EVP_MD *md,
-+        CK_BYTE_PTR outbuf) {
- 
--    /* convert it */
--    len = EC_POINT_point2oct(group, point, form, buf, len, ctx);
--    if (!len) {
--        OPENSSL_free(buf);
--        return 0;
-+    RSA *rsa = (RSA *)EVP_PKEY_get0_RSA(pkey);
-+    if (!rsa) {
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    *pbuf = buf;
--    return len;
--}
-+    int rc = RSA_padding_add_PKCS1_PSS(rsa, outbuf,
-+        inbuf, md, -1);
- 
--size_t OBJ_length(const ASN1_OBJECT *obj) {
-+    return rc == 1 ? CKR_OK : CKR_GENERAL_ERROR;
-+}
- 
--    if (!obj) {
--        return 0;
--    }
-+CK_RV ssl_util_add_PKCS1_TYPE_1(const CK_BYTE_PTR inbuf, CK_ULONG inlen,
-+        CK_BYTE_PTR outbuf, CK_ULONG outbuflen) {
- 
--    return obj->length;
-+    return RSA_padding_add_PKCS1_type_1(outbuf, outbuflen,
-+            inbuf, inlen) == 1 ? CKR_OK : CKR_GENERAL_ERROR;
- }
- 
--const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj) {
-+CK_RV ssl_util_check_PKCS1_TYPE_2(const CK_BYTE_PTR inbuf, CK_ULONG inlen, CK_ULONG rsa_len,
-+        CK_BYTE_PTR outbuf, CK_ULONG_PTR outbuflen) {
- 
--    if (!obj) {
--        return NULL;
-+    int rc = RSA_padding_check_PKCS1_type_2(outbuf, *outbuflen,
-+               inbuf, inlen, rsa_len);
-+    if (rc < 0) {
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    return obj->data;
-+    /* cannot be negative due to check above */
-+    *outbuflen = rc;
-+    return CKR_OK;
- }
- 
--const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x) {
--    return ASN1_STRING_data((ASN1_STRING *)x);
--}
-+#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST300)
-+#pragma GCC diagnostic pop
-+#endif
- 
--int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) {
-+#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST300)
- 
--    if ((r->n == NULL && n == NULL) || (r->e == NULL && e == NULL)) {
--        return 0;
--    }
-+static CK_RV get_RSA_evp_pubkey(CK_ATTRIBUTE_PTR e_attr, CK_ATTRIBUTE_PTR n_attr, EVP_PKEY **out_pkey) {
-+
-+    OSSL_PARAM params[] = {
-+        OSSL_PARAM_BN("n", n_attr->pValue, n_attr->ulValueLen),
-+        OSSL_PARAM_BN("e", e_attr->pValue, e_attr->ulValueLen),
-+        OSSL_PARAM_END
-+    };
- 
--    if (n != NULL) {
--        BN_free(r->n);
--        r->n = n;
-+    /* convert params to EVP key */
-+    EVP_PKEY_CTX *evp_ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL);
-+    if (!evp_ctx) {
-+        SSL_UTIL_LOGE("EVP_PKEY_CTX_new_id");
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    if (e != NULL) {
--        BN_free(r->e);
--        r->e = e;
-+    int rc = EVP_PKEY_fromdata_init(evp_ctx);
-+    if (rc != 1) {
-+        SSL_UTIL_LOGE("EVP_PKEY_fromdata_init");
-+        EVP_PKEY_CTX_free(evp_ctx);
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    if (d != NULL) {
--        BN_free(r->d);
--        r->d = d;
-+    rc = EVP_PKEY_fromdata(evp_ctx, out_pkey, EVP_PKEY_PUBLIC_KEY, params);
-+    if (rc != 1) {
-+        SSL_UTIL_LOGE("EVP_PKEY_fromdata");
-+        EVP_PKEY_CTX_free(evp_ctx);
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    return 1;
-+    EVP_PKEY_CTX_free(evp_ctx);
-+
-+    return CKR_OK;
- }
- 
--int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) {
-+static CK_RV get_EC_evp_pubkey(CK_ATTRIBUTE_PTR ecparams, CK_ATTRIBUTE_PTR ecpoint, EVP_PKEY **out_pkey) {
-+
-+    /*
-+     * The simplest way I have found to deal with this is to convert the ASN1 object in
-+     * the ecparams attribute (was done previously with d2i_ECParameters) is to a nid and
-+     * then take the int nid and convert it to a friendly name like prime256v1.
-+     * EVP_PKEY_fromdata can handle group by name.
-+     *
-+     * Per the spec this is "DER-encoding of an ANSI X9.62 Parameters value".
-+     */
-+    int curve_id = 0;
-+    CK_RV rv = ssl_util_params_to_nid(ecparams, &curve_id);
-+    if (rv != CKR_OK) {
-+        LOGE("Could not get nid from params");
-+        return rv;
-+    }
- 
--    if (!r || !s) {
--        return 0;
-+    /* Per the spec CKA_EC_POINT attribute is the "DER-encoding of ANSI X9.62 ECPoint value Q */
-+    const unsigned char *x = ecpoint->pValue;
-+    ASN1_OCTET_STRING *os = d2i_ASN1_OCTET_STRING(NULL, &x, ecpoint->ulValueLen);
-+    if (!os) {
-+        SSL_UTIL_LOGE("d2i_ASN1_OCTET_STRING: %s");
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    BN_free(sig->r);
--    BN_free(sig->s);
-+    OSSL_PARAM params[] = {
-+        OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, (char *)OBJ_nid2sn(curve_id), 0),
-+        OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, os->data, os->length),
-+        OSSL_PARAM_END
-+    };
- 
--    sig->r = r;
--    sig->s = s;
-+    /* convert params to EVP key */
-+    EVP_PKEY_CTX *evp_ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL);
-+    if (!evp_ctx) {
-+        SSL_UTIL_LOGE("EVP_PKEY_CTX_new_id");
-+        OPENSSL_free(os);
-+        return CKR_GENERAL_ERROR;
-+    }
- 
--    return 1;
--}
-+    int rc = EVP_PKEY_fromdata_init(evp_ctx);
-+    if (rc != 1) {
-+        SSL_UTIL_LOGE("EVP_PKEY_fromdata_init: %s");
-+        EVP_PKEY_CTX_free(evp_ctx);
-+        OPENSSL_free(os);
-+        return CKR_GENERAL_ERROR;
-+    }
- 
--EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey) {
--    if (pkey->type != EVP_PKEY_EC) {
--        return NULL;
-+    rc = EVP_PKEY_fromdata(evp_ctx, out_pkey, EVP_PKEY_PUBLIC_KEY, params);
-+    if (rc != 1) {
-+        SSL_UTIL_LOGE("EVP_PKEY_fromdata");
-+        EVP_PKEY_CTX_free(evp_ctx);
-+        OPENSSL_free(os);
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    return pkey->pkey.ec;
-+    EVP_PKEY_CTX_free(evp_ctx);
-+    OPENSSL_free(os);
-+
-+    return CKR_OK;
- }
--#endif
- 
--static CK_RV convert_pubkey_RSA(RSA **outkey, attr_list *attrs) {
-+#else
- 
--    RSA *rsa = NULL;
--    BIGNUM *e = NULL, *n = NULL;
-+static CK_RV get_RSA_evp_pubkey(CK_ATTRIBUTE_PTR e_attr, CK_ATTRIBUTE_PTR n_attr, EVP_PKEY **out_pkey) {
- 
--    CK_ATTRIBUTE_PTR exp = attr_get_attribute_by_type(attrs, CKA_PUBLIC_EXPONENT);
--    if (!exp) {
--        LOGE("RSA Object must have attribute CKA_PUBLIC_EXPONENT");
-+    BIGNUM *e = BN_bin2bn(e_attr->pValue, e_attr->ulValueLen, NULL);
-+    if (!e) {
-+        LOGE("Could not convert exponent to bignum");
-         return CKR_GENERAL_ERROR;
-     }
- 
--    CK_ATTRIBUTE_PTR mod = attr_get_attribute_by_type(attrs, CKA_MODULUS);
--    if (!mod) {
--        LOGE("RSA Object must have attribute CKA_MODULUS");
-+    BIGNUM *n = BN_bin2bn(n_attr->pValue, n_attr->ulValueLen, NULL);
-+    if (!n) {
-+        LOGE("Could not convert modulus to bignum");
-+        BN_free(e);
-         return CKR_GENERAL_ERROR;
-     }
- 
--    rsa = RSA_new();
-+    RSA *rsa = RSA_new();
-     if (!rsa) {
--        SSL_UTIL_LOGE("Failed to allocate OpenSSL RSA structure");
--        goto error;
-+        LOGE("oom");
-+        return CKR_HOST_MEMORY;
-     }
- 
--    e = BN_bin2bn(exp->pValue, exp->ulValueLen, NULL);
--    if (!e) {
--        SSL_UTIL_LOGE("Failed to convert exponent to SSL internal format");
--        goto error;
-+    int rc = RSA_set0_key(rsa, n, e, NULL);
-+    if (!rc) {
-+        LOGE("Could not set modulus and exponent to OSSL RSA key");
-+        BN_free(n);
-+        BN_free(e);
-+        RSA_free(rsa);
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    n = BN_bin2bn(mod->pValue, mod->ulValueLen, NULL);
--    if (!n) {
--        SSL_UTIL_LOGE("Failed to convert modulus to SSL internal format");
--        goto error;
-+    /* assigned to RSA key */
-+    n = e = NULL;
-+
-+    EVP_PKEY *pkey = EVP_PKEY_new();
-+    if (!pkey) {
-+        SSL_UTIL_LOGE("EVP_PKEY_new");
-+        RSA_free(rsa);
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    if (!RSA_set0_key(rsa, n, e, NULL)) {
--        SSL_UTIL_LOGE("Failed to set RSA modulus and exponent components");
-+    rc = EVP_PKEY_assign_RSA(pkey, rsa);
-+    if (rc != 1) {
-         RSA_free(rsa);
--        BN_free(e);
--        BN_free(n);
--        goto error;
-+        EVP_PKEY_free(pkey);
-+        return CKR_GENERAL_ERROR;
-     }
- 
--    *outkey = rsa;
-+    *out_pkey = pkey;
- 
-     return CKR_OK;
--
--error:
--    RSA_free(rsa);
--    if (e) {
--        BN_free(e);
--    }
--    if (n) {
--        BN_free(n);
--    }
--
--    return CKR_GENERAL_ERROR;
- }
- 
--static CK_RV convert_pubkey_ECC(EC_KEY **outkey, attr_list *attrs) {
-+static CK_RV get_EC_evp_pubkey(CK_ATTRIBUTE_PTR ecparams, CK_ATTRIBUTE_PTR ecpoint, EVP_PKEY **out_pkey) {
- 
--    EC_KEY *key = EC_KEY_new();
--    if (!key) {
-+    EC_KEY *ecc = EC_KEY_new();
-+    if (!ecc) {
-         LOGE("oom");
-         return CKR_HOST_MEMORY;
-     }
- 
--    CK_ATTRIBUTE_PTR ecparams = attr_get_attribute_by_type(attrs, CKA_EC_PARAMS);
--    if (!ecparams) {
--        LOGE("ECC Key must have attribute CKA_EC_PARAMS");
--        return CKR_GENERAL_ERROR;
--    }
--
--    CK_ATTRIBUTE_PTR ecpoint = attr_get_attribute_by_type(attrs, CKA_EC_POINT);
--    if (!ecpoint) {
--        LOGE("ECC Key must have attribute CKA_EC_POINT");
--        return CKR_GENERAL_ERROR;
--    }
--
-     /* set params */
-     const unsigned char *x = ecparams->pValue;
--    EC_KEY *k = d2i_ECParameters(&key, &x, ecparams->ulValueLen);
-+    EC_KEY *k = d2i_ECParameters(&ecc, &x, ecparams->ulValueLen);
-     if (!k) {
-         SSL_UTIL_LOGE("Could not update key with EC Parameters");
--        EC_KEY_free(key);
-+        EC_KEY_free(ecc);
-         return CKR_GENERAL_ERROR;
-     }
- 
-@@ -215,22 +250,38 @@ static CK_RV convert_pubkey_ECC(EC_KEY *
-     ASN1_OCTET_STRING *os = d2i_ASN1_OCTET_STRING(NULL, &x, ecpoint->ulValueLen);
-     if (os) {
-         x = os->data;
--        k = o2i_ECPublicKey(&key, &x, os->length);
-+        k = o2i_ECPublicKey(&ecc, &x, os->length);
-         ASN1_STRING_free(os);
-         if (!k) {
-             SSL_UTIL_LOGE("Could not update key with EC Points");
--            EC_KEY_free(key);
-+            EC_KEY_free(ecc);
-             return CKR_GENERAL_ERROR;
-         }
-     }
- 
--    *outkey = key;
-+    EVP_PKEY *pkey = EVP_PKEY_new();
-+    if (!pkey) {
-+        SSL_UTIL_LOGE("EVP_PKEY_new");
-+        EC_KEY_free(ecc);
-+        return CKR_GENERAL_ERROR;
-+    }
-+
-+    int rc = EVP_PKEY_assign_EC_KEY(pkey, ecc);
-+    if (!rc) {
-+        SSL_UTIL_LOGE("Could not set pkey with ec key");
-+        EC_KEY_free(ecc);
-+        EVP_PKEY_free(pkey);
-+        return CKR_GENERAL_ERROR;
-+    }
-+
-+    *out_pkey = pkey;
-     return CKR_OK;
- }
-+#endif
- 
--CK_RV ssl_util_tobject_to_evp(EVP_PKEY **outpkey, tobject *obj) {
-+CK_RV ssl_util_attrs_to_evp(attr_list *attrs, EVP_PKEY **outpkey) {
- 
--    CK_ATTRIBUTE_PTR a = attr_get_attribute_by_type(obj->attrs, CKA_KEY_TYPE);
-+    CK_ATTRIBUTE_PTR a = attr_get_attribute_by_type(attrs, CKA_KEY_TYPE);
-     if (!a) {
-         LOGE("Expected object to have attribute CKA_KEY_TYPE");
-         return CKR_KEY_TYPE_INCONSISTENT;
-@@ -253,44 +304,52 @@ CK_RV ssl_util_tobject_to_evp(EVP_PKEY *
-            return CKR_OK;
-     }
- 
--    EVP_PKEY *pkey = EVP_PKEY_new();
--    if (!pkey) {
--        LOGE("oom");
--        return CKR_HOST_MEMORY;
--    }
-+    EVP_PKEY *pkey = NULL;
- 
-     if (key_type == CKK_EC) {
--        EC_KEY *e = NULL;
--        rv = convert_pubkey_ECC(&e, obj->attrs);
--        if (rv != CKR_OK) {
--            return rv;
-+
-+        CK_ATTRIBUTE_PTR ecparams = attr_get_attribute_by_type(attrs, CKA_EC_PARAMS);
-+        if (!ecparams) {
-+            LOGE("ECC Key must have attribute CKA_EC_PARAMS");
-+            return CKR_GENERAL_ERROR;
-         }
--        int rc = EVP_PKEY_assign_EC_KEY(pkey, e);
--        if (!rc) {
--            SSL_UTIL_LOGE("Could not set pkey with ec key");
--            EC_KEY_free(e);
--            EVP_PKEY_free(pkey);
-+
-+        CK_ATTRIBUTE_PTR ecpoint = attr_get_attribute_by_type(attrs, CKA_EC_POINT);
-+        if (!ecpoint) {
-+            LOGE("ECC Key must have attribute CKA_EC_POINT");
-             return CKR_GENERAL_ERROR;
-         }
--    } else if (key_type == CKK_RSA) {
--        RSA *r = NULL;
--        rv = convert_pubkey_RSA(&r, obj->attrs);
-+
-+        rv = get_EC_evp_pubkey(ecparams, ecpoint, &pkey);
-         if (rv != CKR_OK) {
-             return rv;
-         }
--        int rc = EVP_PKEY_assign_RSA(pkey, r);
--        if (!rc) {
--            SSL_UTIL_LOGE("Could not set pkey with rsa key");
--            RSA_free(r);
--            EVP_PKEY_free(pkey);
-+
-+    } else if (key_type == CKK_RSA) {
-+
-+        CK_ATTRIBUTE_PTR exp = attr_get_attribute_by_type(attrs, CKA_PUBLIC_EXPONENT);
-+        if (!exp) {
-+            LOGE("RSA Object must have attribute CKA_PUBLIC_EXPONENT");
-             return CKR_GENERAL_ERROR;
-         }
-+
-+        CK_ATTRIBUTE_PTR mod = attr_get_attribute_by_type(attrs, CKA_MODULUS);
-+        if (!mod) {
-+            LOGE("RSA Object must have attribute CKA_MODULUS");
-+            return CKR_GENERAL_ERROR;
-+        }
-+
-+        rv = get_RSA_evp_pubkey(exp, mod, &pkey);
-+        if (rv != CKR_OK) {
-+            return rv;
-+        }
-+
-     } else {
-         LOGE("Invalid CKA_KEY_TYPE, got: %lu", key_type);
--        EVP_PKEY_free(pkey);
-         return CKR_KEY_TYPE_INCONSISTENT;
-     }
- 
-+    assert(pkey);
-     *outpkey = pkey;
- 
-     return CKR_OK;
-@@ -406,10 +465,12 @@ CK_RV ssl_util_setup_evp_pkey_ctx(EVP_PK
-         }
-     }
- 
--    rc = EVP_PKEY_CTX_set_signature_md(pkey_ctx, md);
--    if (!rc) {
--        SSL_UTIL_LOGE("EVP_PKEY_CTX_set_signature_md failed");
--        goto error;
-+    if (md) {
-+        rc = EVP_PKEY_CTX_set_signature_md(pkey_ctx, md);
-+        if (!rc) {
-+            SSL_UTIL_LOGE("EVP_PKEY_CTX_set_signature_md failed");
-+            goto error;
-+        }
-     }
- 
-     *outpkey_ctx = pkey_ctx;
-@@ -421,21 +482,12 @@ error:
-     return CKR_GENERAL_ERROR;
- }
- 
--static CK_RV do_sig_verify_rsa(EVP_PKEY *pkey,
--        int padding, const EVP_MD *md,
--        CK_BYTE_PTR digest, CK_ULONG digest_len,
--        CK_BYTE_PTR signature, CK_ULONG signature_len) {
-+static CK_RV sig_verify(EVP_PKEY_CTX *ctx,
-+        const unsigned char *sig, size_t siglen,
-+        const unsigned char *tbs, size_t tbslen) {
- 
-     CK_RV rv = CKR_GENERAL_ERROR;
--
--    EVP_PKEY_CTX *pkey_ctx = NULL;
--    rv = ssl_util_setup_evp_pkey_ctx(pkey, padding, md,
--            EVP_PKEY_verify_init, &pkey_ctx);
--    if (rv != CKR_OK) {
--        return rv;
--    }
--
--    int rc = EVP_PKEY_verify(pkey_ctx, signature, signature_len, digest, digest_len);
-+    int rc = EVP_PKEY_verify(ctx, sig, siglen, tbs, tbslen);
-     if (rc < 0) {
-         SSL_UTIL_LOGE("EVP_PKEY_verify failed");
-     } else if (rc == 1) {
-@@ -444,11 +496,11 @@ static CK_RV do_sig_verify_rsa(EVP_PKEY
-         rv = CKR_SIGNATURE_INVALID;
-     }
- 
--    EVP_PKEY_CTX_free(pkey_ctx);
-     return rv;
- }
- 
--static CK_RV create_ecdsa_sig(CK_BYTE_PTR sig, CK_ULONG siglen, ECDSA_SIG **outsig) {
-+static CK_RV create_ecdsa_sig(CK_BYTE_PTR sig, CK_ULONG siglen,
-+        unsigned char  **outbuf, size_t *outlen) {
- 
-     if (siglen & 1) {
-         LOGE("Expected ECDSA signature length to be even, got : %lu",
-@@ -487,21 +539,48 @@ static CK_RV create_ecdsa_sig(CK_BYTE_PT
-         return CKR_GENERAL_ERROR;
-     }
- 
--    *outsig = ossl_sig;
-+    int sig_len =i2d_ECDSA_SIG(ossl_sig, NULL);
-+    if (sig_len <= 0) {
-+        if (rc < 0) {
-+            SSL_UTIL_LOGE("ECDSA_do_verify failed");
-+        } else {
-+            LOGE("Expected length to be greater than 0");
-+        }
-+        ECDSA_SIG_free(ossl_sig);
-+        return CKR_GENERAL_ERROR;
-+    }
-+
-+    unsigned char *buf = calloc(1, sig_len);
-+    if (!buf) {
-+        LOGE("oom");
-+        ECDSA_SIG_free(ossl_sig);
-+        return CKR_HOST_MEMORY;
-+    }
-+
-+    unsigned char *p = buf;
-+    int sig_len2 = i2d_ECDSA_SIG(ossl_sig, &p);
-+    if (sig_len2 < 0) {
-+        SSL_UTIL_LOGE("ECDSA_do_verify failed");
-+        ECDSA_SIG_free(ossl_sig);
-+        free(buf);
-+        return CKR_GENERAL_ERROR;
-+    }
-+
-+    assert(sig_len == sig_len2);
-+
-+    ECDSA_SIG_free(ossl_sig);
-+
-+    *outbuf = buf;
-+    *outlen = sig_len;
- 
-     return CKR_OK;
- }
- 
- static CK_RV do_sig_verify_ec(EVP_PKEY *pkey,
-+        const EVP_MD *md,
-         CK_BYTE_PTR digest, CK_ULONG digest_len,
-         CK_BYTE_PTR signature, CK_ULONG signature_len) {
- 
--    EC_KEY *eckey = EVP_PKEY_get0_EC_KEY(pkey);
--    if (!eckey) {
--        LOGE("Expected EC Key");
--        return CKR_GENERAL_ERROR;
--    }
--
-     /*
-      * OpenSSL expects ASN1 framed signatures, PKCS11 does flat
-      * R + S signatures, so convert it to ASN1 framing.
-@@ -509,21 +588,47 @@ static CK_RV do_sig_verify_ec(EVP_PKEY *
-      *   https://github.com/tpm2-software/tpm2-pkcs11/issues/277
-      * For details.
-      */
--    ECDSA_SIG *ossl_sig = NULL;
--    CK_RV rv = create_ecdsa_sig(signature, signature_len, &ossl_sig);
-+    unsigned char *buf = NULL;
-+    size_t buflen = 0;
-+    CK_RV rv = create_ecdsa_sig(signature, signature_len, &buf, &buflen);
-     if (rv != CKR_OK) {
-         return rv;
-     }
- 
--    int rc = ECDSA_do_verify(digest, digest_len, ossl_sig, eckey);
--    if (rc < 0) {
--        ECDSA_SIG_free(ossl_sig);
--        SSL_UTIL_LOGE("ECDSA_do_verify failed");
--        return CKR_GENERAL_ERROR;
-+    EVP_PKEY_CTX *pkey_ctx = NULL;
-+    rv = ssl_util_setup_evp_pkey_ctx(pkey, 0, md,
-+            EVP_PKEY_verify_init, &pkey_ctx);
-+    if (rv != CKR_OK) {
-+        free(buf);
-+        return rv;
-     }
--    ECDSA_SIG_free(ossl_sig);
- 
--    return rc == 1 ? CKR_OK : CKR_SIGNATURE_INVALID;
-+    rv = sig_verify(pkey_ctx, buf, buflen, digest, digest_len);
-+
-+    EVP_PKEY_CTX_free(pkey_ctx);
-+    free(buf);
-+
-+    return rv;
-+}
-+
-+static CK_RV do_sig_verify_rsa(EVP_PKEY *pkey,
-+        int padding, const EVP_MD *md,
-+        CK_BYTE_PTR digest, CK_ULONG digest_len,
-+        CK_BYTE_PTR signature, CK_ULONG signature_len) {
-+
-+    CK_RV rv = CKR_GENERAL_ERROR;
-+
-+    EVP_PKEY_CTX *pkey_ctx = NULL;
-+    rv = ssl_util_setup_evp_pkey_ctx(pkey, padding, md,
-+            EVP_PKEY_verify_init, &pkey_ctx);
-+    if (rv != CKR_OK) {
-+        return rv;
-+    }
-+
-+    rv = sig_verify(pkey_ctx, signature, signature_len, digest, digest_len);
-+
-+    EVP_PKEY_CTX_free(pkey_ctx);
-+    return rv;
- }
- 
- CK_RV ssl_util_sig_verify(EVP_PKEY *pkey,
-@@ -538,7 +643,7 @@ CK_RV ssl_util_sig_verify(EVP_PKEY *pkey
-                 digest, digest_len,
-                 signature, signature_len);
-     case EVP_PKEY_EC:
--        return do_sig_verify_ec(pkey, digest, digest_len,
-+        return do_sig_verify_ec(pkey, md, digest, digest_len,
-                 signature, signature_len);
-     default:
-         LOGE("Unknown PKEY type, got: %d", type);
-@@ -577,3 +682,65 @@ CK_RV ssl_util_verify_recover(EVP_PKEY *
-     EVP_PKEY_CTX_free(pkey_ctx);
-     return rv;
- }
-+
-+twist ssl_util_hash_pass(const twist pin, const twist salt) {
-+
-+
-+    twist out = NULL;
-+    unsigned char md[SHA256_DIGEST_LENGTH];
-+
-+    EVP_MD_CTX *ctx = EVP_MD_CTX_new();
-+    if (!ctx) {
-+        SSL_UTIL_LOGE("EVP_MD_CTX_new");
-+        return NULL;
-+    }
-+
-+    int rc = EVP_DigestInit(ctx, EVP_sha256());
-+    if (rc != 1) {
-+        SSL_UTIL_LOGE("EVP_DigestInit");
-+        goto error;
-+    }
-+
-+    rc = EVP_DigestUpdate(ctx, pin, twist_len(pin));
-+    if (rc != 1) {
-+        SSL_UTIL_LOGE("EVP_DigestUpdate");
-+        goto error;
-+    }
-+
-+    rc = EVP_DigestUpdate(ctx, salt, twist_len(salt));
-+    if (rc != 1) {
-+        SSL_UTIL_LOGE("EVP_DigestUpdate");
-+        goto error;
-+    }
-+
-+    unsigned int len = sizeof(md);
-+    rc = EVP_DigestFinal(ctx, md, &len);
-+    if (rc != 1) {
-+        SSL_UTIL_LOGE("EVP_DigestFinal");
-+        goto error;
-+    }
-+
-+    /* truncate the password to 32 characters */
-+    out = twist_hex_new((char *)md, sizeof(md)/2);
-+
-+error:
-+    EVP_MD_CTX_free(ctx);
-+
-+    return out;
-+}
-+
-+CK_RV ssl_util_params_to_nid(CK_ATTRIBUTE_PTR ecparams, int *nid) {
-+
-+    const unsigned char *p = ecparams->pValue;
-+
-+    ASN1_OBJECT *a = d2i_ASN1_OBJECT(NULL, &p, ecparams->ulValueLen);
-+    if (!a) {
-+        LOGE("Unknown CKA_EC_PARAMS value");
-+        return CKR_ATTRIBUTE_VALUE_INVALID;
-+    }
-+
-+    *nid = OBJ_obj2nid(a);
-+    ASN1_OBJECT_free(a);
-+
-+    return CKR_OK;
-+}
-Index: git/src/lib/ssl_util.h
-===================================================================
---- git.orig/src/lib/ssl_util.h
-+++ git/src/lib/ssl_util.h
-@@ -11,8 +11,8 @@
- 
- #include "pkcs11.h"
- 
-+#include "attrs.h"
- #include "log.h"
--#include "object.h"
- #include "twist.h"
- 
- #if (OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* OpenSSL 1.1.0 */
-@@ -22,6 +22,10 @@
- #define LIB_TPM2_OPENSSL_OPENSSL_POST111 0x1010100f
- #endif
- 
-+#if (OPENSSL_VERSION_NUMBER >= 0x30000000) /* OpenSSL 3.0.0 */
-+#define LIB_TPM2_OPENSSL_OPENSSL_POST300 0x1010100f
-+#endif
-+
- /* OpenSSL Backwards Compat APIs */
- #if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
- #include <string.h>
-@@ -58,7 +62,7 @@ static inline void *OPENSSL_memdup(const
- 
- #define SSL_UTIL_LOGE(m) LOGE("%s: %s", m, ERR_error_string(ERR_get_error(), NULL));
- 
--CK_RV ssl_util_tobject_to_evp(EVP_PKEY **outpkey, tobject *obj);
-+CK_RV ssl_util_attrs_to_evp(attr_list *attrs, EVP_PKEY **outpkey);
- 
- CK_RV ssl_util_encrypt(EVP_PKEY *pkey,
-         int padding, twist label, const EVP_MD *md,
-@@ -82,4 +86,27 @@ CK_RV ssl_util_setup_evp_pkey_ctx(EVP_PK
-         fn_EVP_PKEY_init init_fn,
-         EVP_PKEY_CTX **outpkey_ctx);
- 
-+CK_RV ssl_util_add_PKCS1_PSS(EVP_PKEY *pkey,
-+        const CK_BYTE_PTR inbuf, const EVP_MD *md,
-+        CK_BYTE_PTR outbuf);
-+
-+CK_RV ssl_util_add_PKCS1_TYPE_1(const CK_BYTE_PTR inbuf, CK_ULONG inlen,
-+        CK_BYTE_PTR outbuf, CK_ULONG outbuflen);
-+
-+CK_RV ssl_util_check_PKCS1_TYPE_2(const CK_BYTE_PTR inbuf, CK_ULONG inlen, CK_ULONG rsa_len,
-+        CK_BYTE_PTR outbuf, CK_ULONG_PTR outbuflen);
-+
-+twist ssl_util_hash_pass(const twist pin, const twist salt);
-+
-+/**
-+ * Given an attribute of CKA_EC_PARAMS returns the nid value.
-+ * @param ecparams
-+ *  The DER X9.62 parameters value
-+ * @param nid
-+ *  The nid to set
-+ * @return
-+ *  CKR_OK on success.
-+ */
-+CK_RV ssl_util_params_to_nid(CK_ATTRIBUTE_PTR ecparams, int *nid);
-+
- #endif /* SRC_LIB_SSL_UTIL_H_ */
-Index: git/src/lib/tpm.c
-===================================================================
---- git.orig/src/lib/tpm.c
-+++ git/src/lib/tpm.c
-@@ -3099,7 +3099,7 @@ static CK_RV handle_ecparams(CK_ATTRIBUT
-     tpm_key_data *keydat = (tpm_key_data *)udata;
- 
-     int nid = 0;
--    CK_RV rv = ec_params_to_nid(attr, &nid);
-+    CK_RV rv = ssl_util_params_to_nid(attr, &nid);
-     if (rv != CKR_OK) {
-         return rv;
-     }
-@@ -3451,7 +3451,7 @@ static EC_POINT *tpm_pub_to_ossl_pub(EC_
-         goto out;
-     }
- 
--    int rc = EC_POINT_set_affine_coordinates_GFp(group,
-+    int rc = EC_POINT_set_affine_coordinates(group,
-             pub_key_point_tmp,
-             bn_x,
-             bn_y,
-@@ -4579,7 +4579,7 @@ CK_RV tpm_get_pss_sig_state(tpm_ctx *tct
-         goto out;
-     }
- 
--    rv = ssl_util_tobject_to_evp(&pkey, tobj);
-+    rv = ssl_util_attrs_to_evp(tobj->attrs, &pkey);
-     if (rv != CKR_OK) {
-         goto out;
-     }
-Index: git/src/lib/utils.c
-===================================================================
---- git.orig/src/lib/utils.c
-+++ git/src/lib/utils.c
-@@ -7,6 +7,7 @@
- #include <openssl/sha.h>
- 
- #include "log.h"
-+#include "ssl_util.h"
- #include "token.h"
- #include "utils.h"
- 
-@@ -45,7 +46,7 @@ CK_RV utils_setup_new_object_auth(twist
-         pin_to_use = newpin;
-     }
- 
--    *newauthhex = utils_hash_pass(pin_to_use, salt_to_use);
-+    *newauthhex = ssl_util_hash_pass(pin_to_use, salt_to_use);
-     if (!*newauthhex) {
-         goto out;
-     }
-@@ -330,22 +331,6 @@ out:
- 
- }
- 
--twist utils_hash_pass(const twist pin, const twist salt) {
--
--
--    unsigned char md[SHA256_DIGEST_LENGTH];
--
--    SHA256_CTX sha256;
--    SHA256_Init(&sha256);
--
--    SHA256_Update(&sha256, pin, twist_len(pin));
--    SHA256_Update(&sha256, salt, twist_len(salt));
--    SHA256_Final(md, &sha256);
--
--    /* truncate the password to 32 characters */
--    return twist_hex_new((char *)md, sizeof(md)/2);
--}
--
- size_t utils_get_halg_size(CK_MECHANISM_TYPE mttype) {
- 
-     switch(mttype) {
-@@ -448,22 +433,6 @@ CK_RV utils_ctx_wrap_objauth(twist wrapp
- 
-     return CKR_OK;
- }
--
--CK_RV ec_params_to_nid(CK_ATTRIBUTE_PTR ecparams, int *nid) {
--
--    const unsigned char *p = ecparams->pValue;
--
--    ASN1_OBJECT *a = d2i_ASN1_OBJECT(NULL, &p, ecparams->ulValueLen);
--    if (!a) {
--        LOGE("Unknown CKA_EC_PARAMS value");
--        return CKR_ATTRIBUTE_VALUE_INVALID;
--    }
--
--    *nid = OBJ_obj2nid(a);
--    ASN1_OBJECT_free(a);
--
--    return CKR_OK;
--}
- 
- CK_RV apply_pkcs7_pad(const CK_BYTE_PTR in, CK_ULONG inlen,
-         CK_BYTE_PTR out, CK_ULONG_PTR outlen) {
-Index: git/src/lib/utils.h
-===================================================================
---- git.orig/src/lib/utils.h
-+++ git/src/lib/utils.h
-@@ -45,8 +45,6 @@ static inline void _str_padded_copy(CK_U
-     memcpy(dst, src, src_len);
- }
- 
--twist utils_hash_pass(const twist pin, const twist salt);
--
- twist aes256_gcm_decrypt(const twist key, const twist objauth);
- 
- twist aes256_gcm_encrypt(twist keybin, twist plaintextbin);
-@@ -77,17 +75,6 @@ CK_RV utils_ctx_unwrap_objauth(twist wra
- CK_RV utils_ctx_wrap_objauth(twist wrappingkey, twist objauth, twist *wrapped_auth);
- 
- /**
-- * Given an attribute of CKA_EC_PARAMS returns the nid value.
-- * @param ecparams
-- *  The DER X9.62 parameters value
-- * @param nid
-- *  The nid to set
-- * @return
-- *  CKR_OK on success.
-- */
--CK_RV ec_params_to_nid(CK_ATTRIBUTE_PTR ecparams, int *nid);
--
--/**
-  * Removes a PKCS7 padding on a 16 byte block.
-  * @param in
-  *  The PKCS5 padded input.
-Index: git/test/integration/pkcs-sign-verify.int.c
-===================================================================
---- git.orig/test/integration/pkcs-sign-verify.int.c
-+++ git/test/integration/pkcs-sign-verify.int.c
-@@ -1061,70 +1061,13 @@ static void test_double_sign_final_call_
-     assert_int_equal(rv, CKR_OK);
- }
- 
--static CK_ATTRIBUTE_PTR get_attr(CK_ATTRIBUTE_TYPE type, CK_ATTRIBUTE_PTR attrs, CK_ULONG attr_len) {
--
--    CK_ULONG i;
--    for (i=0; i < attr_len; i++) {
--        CK_ATTRIBUTE_PTR a = &attrs[i];
--        if (a->type == type) {
--            return a;
--        }
--    }
--
--    return NULL;
--}
--
--#if (OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* OpenSSL 1.1.0 */
--#define LIB_TPM2_OPENSSL_OPENSSL_PRE11
--#endif
--
--RSA *template_to_rsa_pub_key(CK_ATTRIBUTE_PTR attrs, CK_ULONG attr_len) {
--
--    RSA *ssl_rsa_key = NULL;
--    BIGNUM *e = NULL, *n = NULL;
--
--    /* get the exponent */
--    CK_ATTRIBUTE_PTR a = get_attr(CKA_PUBLIC_EXPONENT, attrs, attr_len);
--    assert_non_null(a);
--
--    e = BN_bin2bn((void*)a->pValue, a->ulValueLen, NULL);
--    assert_non_null(e);
--
--    /* get the modulus */
--    a = get_attr(CKA_MODULUS, attrs, attr_len);
--    assert_non_null(a);
--
--    n = BN_bin2bn(a->pValue, a->ulValueLen,
--                  NULL);
--    assert_non_null(n);
--
--    ssl_rsa_key = RSA_new();
--    assert_non_null(ssl_rsa_key);
--
--#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
--    ssl_rsa_key->e = e;
--    ssl_rsa_key->n = n;
--#else
--    int rc = RSA_set0_key(ssl_rsa_key, n, e, NULL);
--    assert_int_equal(rc, 1);
--#endif
--
--    return ssl_rsa_key;
--}
--
--static void verify(RSA *pub, CK_BYTE_PTR msg, CK_ULONG msg_len, CK_BYTE_PTR sig, CK_ULONG sig_len) {
--
--    EVP_PKEY *pkey = EVP_PKEY_new();
--    assert_non_null(pkey);
--
--    int rc = EVP_PKEY_set1_RSA(pkey, pub);
--    assert_int_equal(rc, 1);
-+static void verify(EVP_PKEY *pkey, CK_BYTE_PTR msg, CK_ULONG msg_len, CK_BYTE_PTR sig, CK_ULONG sig_len) {
- 
-     EVP_MD_CTX *ctx = EVP_MD_CTX_create();
-     const EVP_MD* md = EVP_get_digestbyname("SHA256");
-     assert_non_null(md);
- 
--    rc = EVP_DigestInit_ex(ctx, md, NULL);
-+    int rc = EVP_DigestInit_ex(ctx, md, NULL);
-     assert_int_equal(rc, 1);
- 
-     rc = EVP_DigestVerifyInit(ctx, NULL, md, NULL, pkey);
-@@ -1136,7 +1079,6 @@ static void verify(RSA *pub, CK_BYTE_PTR
-     rc = EVP_DigestVerifyFinal(ctx, sig, sig_len);
-     assert_int_equal(rc, 1);
- 
--    EVP_PKEY_free(pkey);
-     EVP_MD_CTX_destroy(ctx);
- }
- 
-@@ -1170,20 +1112,38 @@ static void test_sign_verify_public(void
-     assert_int_equal(siglen, 256);
- 
-     /* build an OSSL RSA key from parts */
--    CK_BYTE _tmp_bufs[2][1024];
-+    CK_BYTE _tmp_bufs[3][1024];
-     CK_ATTRIBUTE attrs[] = {
--        { .type = CKA_PUBLIC_EXPONENT, .ulValueLen = sizeof(_tmp_bufs[0]), .pValue = &_tmp_bufs[0] },
--        { .type = CKA_MODULUS,         .ulValueLen = sizeof(_tmp_bufs[1]), .pValue = &_tmp_bufs[1] },
-+        { .type = CKA_KEY_TYPE,        .ulValueLen = sizeof(_tmp_bufs[0]), .pValue = &_tmp_bufs[0] },
-+        { .type = CKA_PUBLIC_EXPONENT, .ulValueLen = sizeof(_tmp_bufs[0]), .pValue = &_tmp_bufs[1] },
-+        { .type = CKA_MODULUS,         .ulValueLen = sizeof(_tmp_bufs[1]), .pValue = &_tmp_bufs[2] },
-     };
- 
-     rv = C_GetAttributeValue(session, pub_handle, attrs, ARRAY_LEN(attrs));
-     assert_int_equal(rv, CKR_OK);
- 
--    RSA *r = template_to_rsa_pub_key(attrs, ARRAY_LEN(attrs));
--    assert_non_null(r);
-+    CK_KEY_TYPE key_type = CKA_KEY_TYPE_BAD;
-+    rv = attr_CK_KEY_TYPE(&attrs[0], &key_type);
-+    assert_int_equal(rv, CKR_OK);
-+
-+    EVP_PKEY *pkey = NULL;
-+    attr_list *l = attr_list_new();
-+
-+    bool res = attr_list_add_int(l, CKA_KEY_TYPE, key_type);
-+    assert_true(res);
- 
--    verify(r, msg, sizeof(msg) - 1, sig, siglen);
--    RSA_free(r);
-+    res = attr_list_add_buf(l, attrs[1].type, attrs[1].pValue, attrs[1].ulValueLen);
-+    assert_true(res);
-+
-+    res = attr_list_add_buf(l, attrs[2].type, attrs[2].pValue, attrs[2].ulValueLen);
-+    assert_true(res);
-+
-+    rv = ssl_util_attrs_to_evp(l, &pkey);
-+    assert_int_equal(rv, CKR_OK);
-+    attr_list_free(l);
-+
-+    verify(pkey, msg, sizeof(msg) - 1, sig, siglen);
-+    EVP_PKEY_free(pkey);
- }
- 
- static void test_sign_verify_context_specific_good(void **state) {
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0002-ossl-require-version-1.1.0-or-greater.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0002-ossl-require-version-1.1.0-or-greater.patch
deleted file mode 100644
index ef0a6dc..0000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0002-ossl-require-version-1.1.0-or-greater.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From d33e5ef0b11125fe4683d7bfa17023e24997f587 Mon Sep 17 00:00:00 2001
-From: William Roberts <william.c.roberts@intel.com>
-Date: Fri, 3 Sep 2021 11:30:50 -0500
-Subject: [PATCH 2/2] ossl: require version 1.1.0 or greater
-
-THIS DROPS SUPPORT FOR OSSL 1.0.2.
-
-Signed-off-by: William Roberts <william.c.roberts@intel.com>
-
-Upstream-Status: Backport
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
----
- configure.ac       |  2 +-
- src/lib/ssl_util.h | 43 +++++--------------------------------------
- 2 files changed, 6 insertions(+), 39 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a7aeaf5..94fb5d4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -55,7 +55,7 @@ PKG_CHECK_EXISTS([tss2-esys >= 3.0],
- # require sqlite3 and libcrypto
- PKG_CHECK_MODULES([SQLITE3],     [sqlite3])
- PKG_CHECK_MODULES([YAML],        [yaml-0.1])
--PKG_CHECK_MODULES([CRYPTO],      [libcrypto >= 1.0.2g])
-+PKG_CHECK_MODULES([CRYPTO],      [libcrypto >= 1.1.0])
- 
- # check for pthread
- AX_PTHREAD([],[AC_MSG_ERROR([Cannot find pthread])])
-diff --git a/src/lib/ssl_util.h b/src/lib/ssl_util.h
-index 9909fd6..2591728 100644
---- a/src/lib/ssl_util.h
-+++ b/src/lib/ssl_util.h
-@@ -15,51 +15,18 @@
- #include "log.h"
- #include "twist.h"
- 
--#if (OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* OpenSSL 1.1.0 */
--#define LIB_TPM2_OPENSSL_OPENSSL_PRE11
--/* LibreSSL does not appear to have evperr.h, so their is no need to define this otherwise */
--#elif (OPENSSL_VERSION_NUMBER >= 0x1010100fL) /* OpenSSL 1.1.1 */
-+#if (OPENSSL_VERSION_NUMBER >= 0x1010100fL) /* OpenSSL 1.1.1 */
- #define LIB_TPM2_OPENSSL_OPENSSL_POST111 0x1010100f
- #endif
- 
--#if (OPENSSL_VERSION_NUMBER >= 0x30000000) /* OpenSSL 3.0.0 */
--#define LIB_TPM2_OPENSSL_OPENSSL_POST300 0x1010100f
-+#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST111)
-+#include <openssl/evperr.h>
- #endif
- 
--/* OpenSSL Backwards Compat APIs */
--#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
--#include <string.h>
--size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point,
--                          point_conversion_form_t form,
--                          unsigned char **pbuf, BN_CTX *ctx);
--
--const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x);
--
--int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
--
--int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
--
--EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey);
--
--static inline void *OPENSSL_memdup(const void *dup, size_t l) {
--
--    void *p = OPENSSL_malloc(l);
--    if (!p) {
--        return NULL;
--    }
--
--    memcpy(p, dup, l);
--    return p;
--}
--
--#endif
--
--#ifndef RSA_PSS_SALTLEN_DIGEST
--#define RSA_PSS_SALTLEN_DIGEST -1
-+#if (OPENSSL_VERSION_NUMBER >= 0x30000000) /* OpenSSL 3.0.0 */
-+#define LIB_TPM2_OPENSSL_OPENSSL_POST300 0x1010100f
- #endif
- 
--/* Utility APIs */
--
- #define SSL_UTIL_LOGE(m) LOGE("%s: %s", m, ERR_error_string(ERR_get_error(), NULL));
- 
- CK_RV ssl_util_attrs_to_evp(attr_list *attrs, EVP_PKEY **outpkey);
--- 
-2.25.1
-
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/bootstrap_fixup.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/bootstrap_fixup.patch
deleted file mode 100644
index d38e237..0000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/bootstrap_fixup.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Upstream-Status: OE specific
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
-
-Index: git/bootstrap
-===================================================================
---- git.orig/bootstrap
-+++ git/bootstrap
-@@ -27,4 +27,3 @@ echo "Generating file lists: ${VARS_FILE
- ) > ${VARS_FILE}
- 
- mkdir -p m4
--${AUTORECONF} --install --sym $@
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.7.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.8.0.bb
similarity index 76%
rename from meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.7.0.bb
rename to meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.8.0.bb
index 177c3c3..a9174e6 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.7.0.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.8.0.bb
@@ -6,21 +6,17 @@
 
 DEPENDS = "autoconf-archive pkgconfig sqlite3 openssl libtss2-dev tpm2-tools libyaml p11-kit python3-setuptools-native"
 
-SRC_URI = "git://github.com/tpm2-software/tpm2-pkcs11.git;branch=master;protocol=https \
-           file://bootstrap_fixup.patch \
-           file://0001-remove-local-binary-checkes.patch \
-           file://0001-ssl-compile-against-OSSL-3.0.patch \
-           file://0002-ossl-require-version-1.1.0-or-greater.patch \
-           "
+SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz"
 
-SRCREV = "11fd2532ce10e97834a57dfb25bff6c613a5a851"
-
-S = "${WORKDIR}/git"
+SRC_URI[sha256sum] = "79f28899047defd6b4b72b7268dd56abf27774954022315f818c239af33e05bd"
 
 inherit autotools-brokensep pkgconfig python3native
 
-do_configure:prepend () {
-    ${S}/bootstrap
+EXTRA_OECONF += "--disable-ptool-checks"
+
+do_configure:prepend() {
+    # do not extract the version number from git
+    sed -i -e 's/m4_esyscmd_s(\[git describe --tags --always --dirty\])/${PV}/' ${S}/configure.ac
 }
 
 do_compile:append() {
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_5.2.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_5.2.bb
index 6e95a0e..f924038 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_5.2.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_5.2.bb
@@ -11,3 +11,8 @@
 SRC_URI[sha256sum] = "c0b402f6a7b3456e8eb2445211e2d41c46c7e769e05fe4d8909ff64119f7a630"
 
 inherit autotools pkgconfig bash-completion
+
+do_configure:prepend() {
+    # do not extract the version number from git
+    sed -i -e 's/m4_esyscmd_s(\[git describe --tags --always --dirty\])/${PV}/' ${S}/configure.ac
+}
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb
index 4d1f425..efe62a8 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.1.0.bb
@@ -8,16 +8,23 @@
 
 DEPENDS = "autoconf-archive-native bash-completion libtss2 libgcrypt openssl"
 
-SRCREV = "6f387a4efe2049f1b4833e8f621c77231bc1eef4"
-SRC_URI = "git://github.com/tpm2-software/tpm2-tss-engine.git;branch=v1.1.x;protocol=https"
+SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/v${PV}/${BPN}-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "ea2941695ac221d23a7f3e1321140e75b1495ae6ade876f2f4c2ed807c65e2a5"
 
 inherit autotools-brokensep pkgconfig systemd
 
-S = "${WORKDIR}/git"
+# It uses the API deprecated since the OpenSSL 3.0
+CFLAGS:append = ' -Wno-deprecated-declarations -Wno-unused-parameter'
+
+do_configure:prepend() {
+    # do not extract the version number from git
+    sed -i -e 's/m4_esyscmd_s(\[git describe --tags --always --dirty\])/${PV}/' ${S}/configure.ac
+}
 
 PACKAGES += "${PN}-engines ${PN}-engines-staticdev ${PN}-bash-completion"
 
-FILES:${PN}-dev = "${libdir}/engines-1.1/tpm2tss.so ${includedir}/*"
-FILES:${PN}-engines = "${libdir}/engines-1.1/lib*.so*"
-FILES:${PN}-engines-staticdev = "${libdir}/engines-1.1/libtpm2tss.a"
+FILES:${PN}-dev = "${libdir}/engines-3/tpm2tss.so ${includedir}/*"
+FILES:${PN}-engines = "${libdir}/engines-3/lib*.so*"
+FILES:${PN}-engines-staticdev = "${libdir}/engines-3/libtpm2tss.a"
 FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/ax_pthread.m4 b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/ax_pthread.m4
deleted file mode 100644
index d383ad5..0000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/ax_pthread.m4
+++ /dev/null
@@ -1,332 +0,0 @@
-# ===========================================================================
-#        http://www.gnu.org/software/autoconf-archive/ax_pthread.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-#   AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
-#
-# DESCRIPTION
-#
-#   This macro figures out how to build C programs using POSIX threads. It
-#   sets the PTHREAD_LIBS output variable to the threads library and linker
-#   flags, and the PTHREAD_CFLAGS output variable to any special C compiler
-#   flags that are needed. (The user can also force certain compiler
-#   flags/libs to be tested by setting these environment variables.)
-#
-#   Also sets PTHREAD_CC to any special C compiler that is needed for
-#   multi-threaded programs (defaults to the value of CC otherwise). (This
-#   is necessary on AIX to use the special cc_r compiler alias.)
-#
-#   NOTE: You are assumed to not only compile your program with these flags,
-#   but also link it with them as well. e.g. you should link with
-#   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
-#
-#   If you are only building threads programs, you may wish to use these
-#   variables in your default LIBS, CFLAGS, and CC:
-#
-#     LIBS="$PTHREAD_LIBS $LIBS"
-#     CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-#     CC="$PTHREAD_CC"
-#
-#   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
-#   has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
-#   (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
-#
-#   Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
-#   PTHREAD_PRIO_INHERIT symbol is defined when compiling with
-#   PTHREAD_CFLAGS.
-#
-#   ACTION-IF-FOUND is a list of shell commands to run if a threads library
-#   is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
-#   is not found. If ACTION-IF-FOUND is not specified, the default action
-#   will define HAVE_PTHREAD.
-#
-#   Please let the authors know if this macro fails on any platform, or if
-#   you have any other suggestions or comments. This macro was based on work
-#   by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
-#   from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
-#   Alejandro Forero Cuervo to the autoconf macro repository. We are also
-#   grateful for the helpful feedback of numerous users.
-#
-#   Updated for Autoconf 2.68 by Daniel Richard G.
-#
-# LICENSE
-#
-#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
-#   Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
-#
-#   This program is free software: you can redistribute it and/or modify it
-#   under the terms of the GNU General Public License as published by the
-#   Free Software Foundation, either version 3 of the License, or (at your
-#   option) any later version.
-#
-#   This program is distributed in the hope that it will be useful, but
-#   WITHOUT ANY WARRANTY; without even the implied warranty of
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-#   Public License for more details.
-#
-#   You should have received a copy of the GNU General Public License along
-#   with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-#   As a special exception, the respective Autoconf Macro's copyright owner
-#   gives unlimited permission to copy, distribute and modify the configure
-#   scripts that are the output of Autoconf when processing the Macro. You
-#   need not follow the terms of the GNU General Public License when using
-#   or distributing such scripts, even though portions of the text of the
-#   Macro appear in them. The GNU General Public License (GPL) does govern
-#   all other use of the material that constitutes the Autoconf Macro.
-#
-#   This special exception to the GPL applies to versions of the Autoconf
-#   Macro released by the Autoconf Archive. When you make and distribute a
-#   modified version of the Autoconf Macro, you may extend this special
-#   exception to the GPL to apply to your modified version as well.
-
-#serial 21
-
-AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
-AC_DEFUN([AX_PTHREAD], [
-AC_REQUIRE([AC_CANONICAL_HOST])
-AC_LANG_PUSH([C])
-ax_pthread_ok=no
-
-# We used to check for pthread.h first, but this fails if pthread.h
-# requires special compiler flags (e.g. on True64 or Sequent).
-# It gets checked for in the link test anyway.
-
-# First of all, check if the user has set any of the PTHREAD_LIBS,
-# etcetera environment variables, and if threads linking works using
-# them:
-if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
-        save_CFLAGS="$CFLAGS"
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-        save_LIBS="$LIBS"
-        LIBS="$PTHREAD_LIBS $LIBS"
-        AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
-        AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes])
-        AC_MSG_RESULT([$ax_pthread_ok])
-        if test x"$ax_pthread_ok" = xno; then
-                PTHREAD_LIBS=""
-                PTHREAD_CFLAGS=""
-        fi
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
-fi
-
-# We must check for the threads library under a number of different
-# names; the ordering is very important because some systems
-# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
-# libraries is broken (non-POSIX).
-
-# Create a list of thread flags to try.  Items starting with a "-" are
-# C compiler flags, and other items are library names, except for "none"
-# which indicates that we try without any flags at all, and "pthread-config"
-# which is a program returning the flags for the Pth emulation library.
-
-ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
-
-# The ordering *is* (sometimes) important.  Some notes on the
-# individual items follow:
-
-# pthreads: AIX (must check this before -lpthread)
-# none: in case threads are in libc; should be tried before -Kthread and
-#       other compiler flags to prevent continual compiler warnings
-# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
-# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
-# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
-# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
-# -pthreads: Solaris/gcc
-# -mthreads: Mingw32/gcc, Lynx/gcc
-# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
-#      doesn't hurt to check since this sometimes defines pthreads too;
-#      also defines -D_REENTRANT)
-#      ... -mt is also the pthreads flag for HP/aCC
-# pthread: Linux, etcetera
-# --thread-safe: KAI C++
-# pthread-config: use pthread-config program (for GNU Pth library)
-
-case ${host_os} in
-        solaris*)
-
-        # On Solaris (at least, for some versions), libc contains stubbed
-        # (non-functional) versions of the pthreads routines, so link-based
-        # tests will erroneously succeed.  (We need to link with -pthreads/-mt/
-        # -lpthread.)  (The stubs are missing pthread_cleanup_push, or rather
-        # a function called by this macro, so we could check for that, but
-        # who knows whether they'll stub that too in a future libc.)  So,
-        # we'll just look for -pthreads and -lpthread first:
-
-        ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
-        ;;
-
-        darwin*)
-        ax_pthread_flags="-pthread $ax_pthread_flags"
-        ;;
-esac
-
-# Clang doesn't consider unrecognized options an error unless we specify
-# -Werror. We throw in some extra Clang-specific options to ensure that
-# this doesn't happen for GCC, which also accepts -Werror.
-
-AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags])
-save_CFLAGS="$CFLAGS"
-ax_pthread_extra_flags="-Werror"
-CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument"
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])],
-                  [AC_MSG_RESULT([yes])],
-                  [ax_pthread_extra_flags=
-                   AC_MSG_RESULT([no])])
-CFLAGS="$save_CFLAGS"
-
-if test x"$ax_pthread_ok" = xno; then
-for flag in $ax_pthread_flags; do
-
-        case $flag in
-                none)
-                AC_MSG_CHECKING([whether pthreads work without any flags])
-                ;;
-
-                -*)
-                AC_MSG_CHECKING([whether pthreads work with $flag])
-                PTHREAD_CFLAGS="$flag"
-                ;;
-
-                pthread-config)
-                AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
-                if test x"$ax_pthread_config" = xno; then continue; fi
-                PTHREAD_CFLAGS="`pthread-config --cflags`"
-                PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
-                ;;
-
-                *)
-                AC_MSG_CHECKING([for the pthreads library -l$flag])
-                PTHREAD_LIBS="-l$flag"
-                ;;
-        esac
-
-        save_LIBS="$LIBS"
-        save_CFLAGS="$CFLAGS"
-        LIBS="$PTHREAD_LIBS $LIBS"
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags"
-
-        # Check for various functions.  We must include pthread.h,
-        # since some functions may be macros.  (On the Sequent, we
-        # need a special flag -Kthread to make this header compile.)
-        # We check for pthread_join because it is in -lpthread on IRIX
-        # while pthread_create is in libc.  We check for pthread_attr_init
-        # due to DEC craziness with -lpthreads.  We check for
-        # pthread_cleanup_push because it is one of the few pthread
-        # functions on Solaris that doesn't have a non-functional libc stub.
-        # We try pthread_create on general principles.
-        AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
-                        static void routine(void *a) { a = 0; }
-                        static void *start_routine(void *a) { return a; }],
-                       [pthread_t th; pthread_attr_t attr;
-                        pthread_create(&th, 0, start_routine, 0);
-                        pthread_join(th, 0);
-                        pthread_attr_init(&attr);
-                        pthread_cleanup_push(routine, 0);
-                        pthread_cleanup_pop(0) /* ; */])],
-                [ax_pthread_ok=yes],
-                [])
-
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
-
-        AC_MSG_RESULT([$ax_pthread_ok])
-        if test "x$ax_pthread_ok" = xyes; then
-                break;
-        fi
-
-        PTHREAD_LIBS=""
-        PTHREAD_CFLAGS=""
-done
-fi
-
-# Various other checks:
-if test "x$ax_pthread_ok" = xyes; then
-        save_LIBS="$LIBS"
-        LIBS="$PTHREAD_LIBS $LIBS"
-        save_CFLAGS="$CFLAGS"
-        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
-
-        # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
-        AC_MSG_CHECKING([for joinable pthread attribute])
-        attr_name=unknown
-        for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
-            AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
-                           [int attr = $attr; return attr /* ; */])],
-                [attr_name=$attr; break],
-                [])
-        done
-        AC_MSG_RESULT([$attr_name])
-        if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
-            AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name],
-                               [Define to necessary symbol if this constant
-                                uses a non-standard name on your system.])
-        fi
-
-        AC_MSG_CHECKING([if more special flags are required for pthreads])
-        flag=no
-        case ${host_os} in
-            aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
-            osf* | hpux*) flag="-D_REENTRANT";;
-            solaris*)
-            if test "$GCC" = "yes"; then
-                flag="-D_REENTRANT"
-            else
-                # TODO: What about Clang on Solaris?
-                flag="-mt -D_REENTRANT"
-            fi
-            ;;
-        esac
-        AC_MSG_RESULT([$flag])
-        if test "x$flag" != xno; then
-            PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
-        fi
-
-        AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
-            [ax_cv_PTHREAD_PRIO_INHERIT], [
-                AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
-                                                [[int i = PTHREAD_PRIO_INHERIT;]])],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=yes],
-                    [ax_cv_PTHREAD_PRIO_INHERIT=no])
-            ])
-        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
-            [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])])
-
-        LIBS="$save_LIBS"
-        CFLAGS="$save_CFLAGS"
-
-        # More AIX lossage: compile with *_r variant
-        if test "x$GCC" != xyes; then
-            case $host_os in
-                aix*)
-                AS_CASE(["x/$CC"],
-                  [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
-                  [#handle absolute path differently from PATH based program lookup
-                   AS_CASE(["x$CC"],
-                     [x/*],
-                     [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
-                     [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
-                ;;
-            esac
-        fi
-fi
-
-test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
-
-AC_SUBST([PTHREAD_LIBS])
-AC_SUBST([PTHREAD_CFLAGS])
-AC_SUBST([PTHREAD_CC])
-
-# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
-if test x"$ax_pthread_ok" = xyes; then
-        ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
-        :
-else
-        ax_pthread_ok=no
-        $2
-fi
-AC_LANG_POP
-])dnl AX_PTHREAD
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fix_musl_select_include.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fix_musl_select_include.patch
deleted file mode 100644
index ecaca6e..0000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fix_musl_select_include.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-This fixes musl build issue do to missing FD_* defines.
-Add sys/select.h
-
-Upstream-Status: Pending
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: TPM2.0-TSS/tcti/tcti_socket.cpp
-===================================================================
---- TPM2.0-TSS.orig/tcti/tcti_socket.cpp
-+++ TPM2.0-TSS/tcti/tcti_socket.cpp
-@@ -28,6 +28,7 @@
- #include <stdio.h>
- #include <stdlib.h>   // Needed for _wtoi
- 
-+#include "sys/select.h"
- #include <sapi/tpm20.h>
- #include <tcti/tcti_socket.h>
- #include "sysapi_util.h"
-Index: TPM2.0-TSS/resourcemgr/resourcemgr.c
-===================================================================
---- TPM2.0-TSS.orig/resourcemgr/resourcemgr.c
-+++ TPM2.0-TSS/resourcemgr/resourcemgr.c
-@@ -28,6 +28,7 @@
- #include <stdio.h>
- #include <stdlib.h>   // Needed for _wtoi
- 
-+#include "sys/select.h"
- #include <sapi/tpm20.h>
- #include <tcti/tcti_device.h>
- #include <tcti/tcti_socket.h>
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fixup_hosttools.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fixup_hosttools.patch
index b5579e1..450698f 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fixup_hosttools.patch
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss/fixup_hosttools.patch
@@ -5,22 +5,25 @@
 Upstream-Status: OE [inappropriate]
 Signed-off-by: Armin Kuster <akuster808@gmail.com>
 
-Index: tpm2-tss-3.1.0/configure.ac
+Index: tpm2-tss-3.2.0/configure.ac
 ===================================================================
---- tpm2-tss-3.1.0.orig/configure.ac
-+++ tpm2-tss-3.1.0/configure.ac
-@@ -471,14 +471,6 @@ AM_CONDITIONAL(SYSD_SYSUSERS, test "x$sy
+--- tpm2-tss-3.2.0.orig/configure.ac
++++ tpm2-tss-3.2.0/configure.ac
+@@ -488,17 +488,6 @@
  AC_CHECK_PROG(systemd_tmpfiles, systemd-tmpfiles, yes)
  AM_CONDITIONAL(SYSD_TMPFILES, test "x$systemd_tmpfiles" = "xyes")
- # Check all tools used by make install
--AS_IF([test "$HOSTOS" = "Linux"],
--      [ERROR_IF_NO_PROG([groupadd])
--       ERROR_IF_NO_PROG([useradd])
--       ERROR_IF_NO_PROG([id])
--       ERROR_IF_NO_PROG([chown])
--       ERROR_IF_NO_PROG([chmod])
--       ERROR_IF_NO_PROG([mkdir])
--       ERROR_IF_NO_PROG([setfacl])])
  
+-# Check all tools used by make install
+-AS_IF([test "$HOSTOS" = "Linux"],
+-    [ AC_CHECK_PROG(useradd, useradd, yes)
+-      AC_CHECK_PROG(groupadd, groupadd, yes)
+-      AC_CHECK_PROG(adduser, adduser, yes)
+-      AC_CHECK_PROG(addgroup, addgroup, yes)
+-      AS_IF([test "x$addgroup" != "xyes" && test "x$groupadd" != "xyes" ],
+-         [AC_MSG_ERROR([addgroup or groupadd are needed.])])
+-      AS_IF([test "x$adduser" != "xyes" && test "x$useradd" != "xyes" ],
+-         [AC_MSG_ERROR([adduser or useradd are needed.])])])
+-
  AC_SUBST([PATH])
  
+ dnl --------- Doxy Gen -----------------------
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.1.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.2.0.bb
similarity index 90%
rename from meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.1.0.bb
rename to meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.2.0.bb
index ddcfb58..8440bb9 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.1.0.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_3.2.0.bb
@@ -10,7 +10,7 @@
            file://fixup_hosttools.patch \
            "
 
-SRC_URI[sha256sum] = "8900a6603f74310b749b65f23c3461cde6e2a23a5f61058b21004c25f9cf19e8"
+SRC_URI[sha256sum] = "48305e4144dcf6d10f3b25b7bccf0189fd2d1186feafd8cd68c6b17ecf0d7912"
 
 inherit autotools pkgconfig systemd useradd
 
@@ -26,6 +26,11 @@
 GROUPADD_PARAM:${PN} = "--system tss"
 USERADD_PARAM:${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss"
 
+do_configure:prepend() {
+    # do not extract the version number from git
+    sed -i -e 's/m4_esyscmd_s(\[git describe --tags --always --dirty\])/${PV}/' ${S}/configure.ac
+}
+
 do_install:append() {
     # Remove /run as it is created on startup
     rm -rf ${D}/run
diff --git a/meta-security/recipes-ids/aide/aide_0.17.3.bb b/meta-security/recipes-ids/aide/aide_0.17.3.bb
index fbfa8a7..b1fb58d 100644
--- a/meta-security/recipes-ids/aide/aide_0.17.3.bb
+++ b/meta-security/recipes-ids/aide/aide_0.17.3.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Advanced Intrusion Detection Environment"
 HOMEPAGE = "https://aide.github.io"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
 
 DEPENDS = "bison-native libpcre"
 
diff --git a/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb b/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb
index 853facf..b0759b1 100644
--- a/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb
+++ b/meta-security/recipes-ids/ossec/ossec-hids_3.6.0.bb
@@ -1,5 +1,5 @@
 SUMMARY = "A full platform to monitor and control your systems"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d625d1520b5e38faefb81cf9772badc9"
 
 
diff --git a/meta-security/recipes-ids/samhain/samhain.inc b/meta-security/recipes-ids/samhain/samhain.inc
index 5c1d6f5..df9e215 100644
--- a/meta-security/recipes-ids/samhain/samhain.inc
+++ b/meta-security/recipes-ids/samhain/samhain.inc
@@ -1,6 +1,6 @@
 DESCRIPTION = "Provides file integrity checking and log file monitoring/analysis"
 HOMEPAGE    = "http://www.la-samhna.de/samhain/"
-LICENSE     = "GPL-2.0-or-later"
+LICENSE     = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b"
 
 PV = "4.4.7"
diff --git a/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb b/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb
index 5bb0e3e..9149e89 100644
--- a/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb
+++ b/meta-security/recipes-ids/tripwire/tripwire_2.4.3.7.bb
@@ -3,7 +3,7 @@
 integrity tool useful for monitoring and alerting on specific file change(s) on a range of systems"
 HOMEPAGE="http://sourceforge.net/projects/tripwire"
 SECTION = "security Monitor/Admin"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1c069be8dbbe48e89b580ab4ed86c127"
 
 SRCREV = "6e64a9e5b70a909ec439bc5a099e3fcf38c614b0"
diff --git a/meta-security/recipes-mac/AppArmor/apparmor_3.0.4.bb b/meta-security/recipes-mac/AppArmor/apparmor_3.0.4.bb
index 8ad3c76..046a3a0 100644
--- a/meta-security/recipes-mac/AppArmor/apparmor_3.0.4.bb
+++ b/meta-security/recipes-mac/AppArmor/apparmor_3.0.4.bb
@@ -8,7 +8,7 @@
 HOMEAPAGE = "http://apparmor.net/"
 SECTION = "admin"
 
-LICENSE = "GPLv2 & GPLv2+ & BSD-3-Clause & LGPLv2.1+"
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later & BSD-3-Clause & LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fd57a4b0bc782d7b80fd431f10bbf9d0"
 
 DEPENDS = "bison-native apr gettext-native coreutils-native swig-native"
diff --git a/meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.4.bb b/meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.4.bb
index 08da24a..8d148bb 100644
--- a/meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.4.bb
+++ b/meta-security/recipes-mac/ccs-tools/ccs-tools_1.8.4.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "TOMOYO Linux is a Mandatory Access Control (MAC) implementation for Linux that can be used to increase the security of a system, while also being useful purely as a system analysis tool. \nTo start via command line add: \nsecurity=tomoyo TOMOYO_trigger=/usr/lib/systemd/systemd \nTo initialize: \n/usr/lib/ccs/init_policy"
 
 SECTION = "security"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING.ccs;md5=751419260aa954499f7abaabaa882bbe"
 
 DEPENDS = "ncurses"
diff --git a/meta-security/recipes-mac/smack/smack_1.3.1.bb b/meta-security/recipes-mac/smack/smack_1.3.1.bb
index 7a8ca78..6c52392 100644
--- a/meta-security/recipes-mac/smack/smack_1.3.1.bb
+++ b/meta-security/recipes-mac/smack/smack_1.3.1.bb
@@ -1,7 +1,7 @@
 DESCRIPTION = "Selection of tools for developers working with Smack"
 HOMEPAGE = "https://github.com/smack-team/smack"
 SECTION = "Security/Access Control"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
diff --git a/meta-security/recipes-perl/perl/lib-perl_0.63.bb b/meta-security/recipes-perl/perl/lib-perl_0.63.bb
index 7895864..4c964d5 100644
--- a/meta-security/recipes-perl/perl/lib-perl_0.63.bb
+++ b/meta-security/recipes-perl/perl/lib-perl_0.63.bb
@@ -4,7 +4,7 @@
 will find modules which are not located in the default search path."
 
 SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
 PR = "r0"
 
 LIC_FILES_CHKSUM = "file://README;beginline=26;endline=30;md5=94b119f1a7b8d611efc89b5d562a1a50"
diff --git a/meta-security/recipes-scanners/buck-security/buck-security_0.7.bb b/meta-security/recipes-scanners/buck-security/buck-security_0.7.bb
index 63e4d7a..881c2a3 100644
--- a/meta-security/recipes-scanners/buck-security/buck-security_0.7.bb
+++ b/meta-security/recipes-scanners/buck-security/buck-security_0.7.bb
@@ -2,7 +2,7 @@
 DESCRIPTION = "Buck-Security is a security scanner for Debian and Ubuntu Linux. It runs a couple of important checks and helps you to harden your Linux \
 system. This enables you to quickly overview the security status of your Linux system."
 SECTION = "security"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
 
 SRC_URI = "http://sourceforge.net/projects/buck-security/files/buck-security/buck-security_${PV}/${BPN}_${PV}.tar.gz"
diff --git a/meta-security/recipes-scanners/checksecurity/checksecurity_2.0.15.bb b/meta-security/recipes-scanners/checksecurity/checksecurity_2.0.15.bb
index 9a1d77a..e053a15 100644
--- a/meta-security/recipes-scanners/checksecurity/checksecurity_2.0.15.bb
+++ b/meta-security/recipes-scanners/checksecurity/checksecurity_2.0.15.bb
@@ -1,7 +1,7 @@
 SUMMARY = "basic system security checks"
 DESCRIPTION = "checksecurity is a simple package which will scan your system for several simple security holes."
 SECTION = "security"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
 
 SRC_URI = "http://ftp.de.debian.org/debian/pool/main/c/checksecurity/checksecurity_${PV}.tar.gz \
diff --git a/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.6.bb b/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.6.bb
index f76f1df..d3722c0 100644
--- a/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.6.bb
+++ b/meta-security/recipes-security/aircrack-ng/aircrack-ng_1.6.bb
@@ -1,7 +1,7 @@
 SUMMARY = "Aircrack-ng is a set of tools for auditing wireless networks"
 DESCRIPTION = "Aircrack-ng is an 802.11 WEP and WPA-PSK keys cracking program that can recover keys once enough data packets have been captured. It implements the standard FMS attack along with some optimizations like KoreK attacks, as well as the PTW attack, thus making the attack much faster compared to other WEP cracking tools."
 SECTION = "security"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
 
 LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=1fbd81241fe252ec0f5658a521ab7dd8"
 
diff --git a/meta-security/recipes-security/chipsec/chipsec_git.bb b/meta-security/recipes-security/chipsec/chipsec_git.bb
index 156be09..d6c3ff2 100644
--- a/meta-security/recipes-security/chipsec/chipsec_git.bb
+++ b/meta-security/recipes-security/chipsec/chipsec_git.bb
@@ -4,7 +4,7 @@
                of PC platforms including hardware, system firmware \
                (BIOS/UEFI), and platform components."
 
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=bc2d1f9b427be5fb63f6af9da56f7c5d"
 
 SRC_URI = "git://github.com/chipsec/chipsec.git;branch=master;protocol=https \
diff --git a/meta-security/recipes-security/libmspack/libmspack_1.9.1.bb b/meta-security/recipes-security/libmspack/libmspack_1.9.1.bb
index 65db10f..1b91f46 100644
--- a/meta-security/recipes-security/libmspack/libmspack_1.9.1.bb
+++ b/meta-security/recipes-security/libmspack/libmspack_1.9.1.bb
@@ -1,7 +1,7 @@
 SUMMARY = "A library for Microsoft compression formats"
 HOMEPAGE = "http://www.cabextract.org.uk/libmspack/"
 SECTION = "lib"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
 DEPENDS = ""
 
 LIC_FILES_CHKSUM = "file://COPYING.LIB;beginline=1;endline=2;md5=5b1fd1f66ef926b3c8a5bb00a72a28dd"
diff --git a/meta-security/recipes-security/ncrack/ncrack_0.7.bb b/meta-security/recipes-security/ncrack/ncrack_0.7.bb
index f151e4e..8e6b444 100644
--- a/meta-security/recipes-security/ncrack/ncrack_0.7.bb
+++ b/meta-security/recipes-security/ncrack/ncrack_0.7.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "https://nmap.org/ncrack"
 SECTION = "security"
 
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=66938a7e5b4c118eda78271de14874c2"
 
 SRCREV = "dc570e7e3cec1fb176c0168eaedc723084bd0426"
diff --git a/meta-security/recipes-security/paxctl/paxctl_0.9.bb b/meta-security/recipes-security/paxctl/paxctl_0.9.bb
index 55a0dca..5c9aff1 100644
--- a/meta-security/recipes-security/paxctl/paxctl_0.9.bb
+++ b/meta-security/recipes-security/paxctl/paxctl_0.9.bb
@@ -3,7 +3,7 @@
                kernel  patches  and secure distributions, such as \
                GrSecurity or Adamantix and Hardened Gen-too, respectively."
 HOMEPAGE = "https://pax.grsecurity.net/"	       
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://paxctl.c;beginline=1;endline=5;md5=0ddd065c61020dda79729e6bedaed2c7 \
                     file://paxctl-elf.c;beginline=1;endline=5;md5=99f453ce7f6d1687ee808982e2924813 \
 		   "
diff --git a/meta-security/recipes-security/redhat-security/redhat-security_1.0.bb b/meta-security/recipes-security/redhat-security/redhat-security_1.0.bb
index d6d4cea..c47688f 100644
--- a/meta-security/recipes-security/redhat-security/redhat-security_1.0.bb
+++ b/meta-security/recipes-security/redhat-security/redhat-security_1.0.bb
@@ -1,7 +1,7 @@
 SUMMARY = "redhat security tools"
 DESCRIPTION = "Tools used by redhat linux distribution for security checks"
 SECTION = "security"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
 
 SRC_URI = "file://find-chroot-py.sh \
diff --git a/poky/bitbake/bin/bitbake-diffsigs b/poky/bitbake/bin/bitbake-diffsigs
index cf4cc70..fe0f33e 100755
--- a/poky/bitbake/bin/bitbake-diffsigs
+++ b/poky/bitbake/bin/bitbake-diffsigs
@@ -11,6 +11,7 @@
 import os
 import sys
 import warnings
+
 warnings.simplefilter("default")
 import argparse
 import logging
@@ -27,6 +28,7 @@
 
 is_dump = myname == 'bitbake-dumpsig'
 
+
 def find_siginfo(tinfoil, pn, taskname, sigs=None):
     result = None
     tinfoil.set_event_mask(['bb.event.FindSigInfoResult',
@@ -52,6 +54,7 @@
         sys.exit(2)
     return result
 
+
 def find_siginfo_task(bbhandler, pn, taskname, sig1=None, sig2=None):
     """ Find the most recent signature files for the specified PN/task """
 
@@ -63,10 +66,10 @@
         if not sigfiles:
             logger.error('No sigdata files found matching %s %s matching either %s or %s' % (pn, taskname, sig1, sig2))
             sys.exit(1)
-        elif not sig1 in sigfiles:
+        elif sig1 not in sigfiles:
             logger.error('No sigdata files found matching %s %s with signature %s' % (pn, taskname, sig1))
             sys.exit(1)
-        elif not sig2 in sigfiles:
+        elif sig2 not in sigfiles:
             logger.error('No sigdata files found matching %s %s with signature %s' % (pn, taskname, sig2))
             sys.exit(1)
         latestfiles = [sigfiles[sig1], sigfiles[sig2]]
@@ -88,9 +91,9 @@
     recout = []
     if not hashfiles:
         recout.append("Unable to find matching sigdata for %s with hashes %s or %s" % (key, hash1, hash2))
-    elif not hash1 in hashfiles:
+    elif hash1 not in hashfiles:
         recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash1))
-    elif not hash2 in hashfiles:
+    elif hash2 not in hashfiles:
         recout.append("Unable to find matching sigdata for %s with hash %s" % (key, hash2))
     else:
         out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb, color=color)
@@ -110,36 +113,36 @@
 
 if is_dump:
     parser.add_argument("-t", "--task",
-            help="find the signature data file for the last run of the specified task",
-            action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
+                        help="find the signature data file for the last run of the specified task",
+                        action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
 
     parser.add_argument("sigdatafile1",
-            help="Signature file to dump. Not used when using -t/--task.",
-            action="store", nargs='?', metavar="sigdatafile")
+                        help="Signature file to dump. Not used when using -t/--task.",
+                        action="store", nargs='?', metavar="sigdatafile")
 else:
     parser.add_argument('-c', '--color',
-            help='Colorize the output (where %(metavar)s is %(choices)s)',
-            choices=['auto', 'always', 'never'], default='auto', metavar='color')
+                        help='Colorize the output (where %(metavar)s is %(choices)s)',
+                        choices=['auto', 'always', 'never'], default='auto', metavar='color')
 
     parser.add_argument('-d', '--dump',
-            help='Dump the last signature data instead of comparing (equivalent to using bitbake-dumpsig)',
-            action='store_true')
+                        help='Dump the last signature data instead of comparing (equivalent to using bitbake-dumpsig)',
+                        action='store_true')
 
     parser.add_argument("-t", "--task",
-            help="find the signature data files for the last two runs of the specified task and compare them",
-            action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
+                        help="find the signature data files for the last two runs of the specified task and compare them",
+                        action="store", dest="taskargs", nargs=2, metavar=('recipename', 'taskname'))
 
     parser.add_argument("-s", "--signature",
-            help="With -t/--task, specify the signatures to look for instead of taking the last two",
-            action="store", dest="sigargs", nargs=2, metavar=('fromsig', 'tosig'))
+                        help="With -t/--task, specify the signatures to look for instead of taking the last two",
+                        action="store", dest="sigargs", nargs=2, metavar=('fromsig', 'tosig'))
 
     parser.add_argument("sigdatafile1",
-            help="First signature file to compare (or signature file to dump, if second not specified). Not used when using -t/--task.",
-            action="store", nargs='?')
+                        help="First signature file to compare (or signature file to dump, if second not specified). Not used when using -t/--task.",
+                        action="store", nargs='?')
 
     parser.add_argument("sigdatafile2",
-            help="Second signature file to compare",
-            action="store", nargs='?')
+                        help="Second signature file to compare",
+                        action="store", nargs='?')
 
 options = parser.parse_args()
 if is_dump:
@@ -157,7 +160,8 @@
     with bb.tinfoil.Tinfoil() as tinfoil:
         tinfoil.prepare(config_only=True)
         if not options.dump and options.sigargs:
-            files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1], options.sigargs[0], options.sigargs[1])
+            files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1], options.sigargs[0],
+                                      options.sigargs[1])
         else:
             files = find_siginfo_task(tinfoil, options.taskargs[0], options.taskargs[1])
 
@@ -166,7 +170,8 @@
             output = bb.siggen.dump_sigfile(files[-1])
         else:
             if len(files) < 2:
-                logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (options.taskargs[0], options.taskargs[1]))
+                logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (
+                    options.taskargs[0], options.taskargs[1]))
                 sys.exit(1)
 
             # Recurse into signature comparison
diff --git a/poky/bitbake/lib/bb/checksum.py b/poky/bitbake/lib/bb/checksum.py
index fb8a77f..557793d 100644
--- a/poky/bitbake/lib/bb/checksum.py
+++ b/poky/bitbake/lib/bb/checksum.py
@@ -11,10 +11,13 @@
 import stat
 import bb.utils
 import logging
+import re
 from bb.cache import MultiProcessCache
 
 logger = logging.getLogger("BitBake.Cache")
 
+filelist_regex = re.compile(r'(?:(?<=:True)|(?<=:False))\s+')
+
 # mtime cache (non-persistent)
 # based upon the assumption that files do not change during bitbake run
 class FileMtimeCache(object):
@@ -109,7 +112,12 @@
             return dirchecksums
 
         checksums = []
-        for pth in filelist.split():
+        for pth in filelist_regex.split(filelist):
+            if not pth:
+                continue
+            pth = pth.strip()
+            if not pth:
+                continue
             exist = pth.split(":")[1]
             if exist == "False":
                 continue
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 08593d1..6da9291 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -744,19 +744,18 @@
                     taskdata[mc].add_unresolved(localdata[mc], self.recipecaches[mc])
                     mcdeps |= set(taskdata[mc].get_mcdepends())
                 new = False
-                for mc in self.multiconfigs:
-                    for k in mcdeps:
-                        if k in seen:
-                            continue
-                        l = k.split(':')
-                        depmc = l[2]
-                        if depmc not in self.multiconfigs:
-                            bb.fatal("Multiconfig dependency %s depends on nonexistent multiconfig configuration named configuration %s" % (k,depmc))
-                        else:
-                            logger.debug("Adding providers for multiconfig dependency %s" % l[3])
-                            taskdata[depmc].add_provider(localdata[depmc], self.recipecaches[depmc], l[3])
-                            seen.add(k)
-                            new = True
+                for k in mcdeps:
+                    if k in seen:
+                        continue
+                    l = k.split(':')
+                    depmc = l[2]
+                    if depmc not in self.multiconfigs:
+                        bb.fatal("Multiconfig dependency %s depends on nonexistent multiconfig configuration named configuration %s" % (k,depmc))
+                    else:
+                        logger.debug("Adding providers for multiconfig dependency %s" % l[3])
+                        taskdata[depmc].add_provider(localdata[depmc], self.recipecaches[depmc], l[3])
+                        seen.add(k)
+                        new = True
 
         for mc in self.multiconfigs:
             taskdata[mc].add_unresolved(localdata[mc], self.recipecaches[mc])
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 5dfe5ff..ac55717 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -839,6 +839,7 @@
                      'ALL_PROXY', 'all_proxy',
                      'GIT_PROXY_COMMAND',
                      'GIT_SSH',
+                     'GIT_SSH_COMMAND',
                      'GIT_SSL_CAINFO',
                      'GIT_SMART_HTTP',
                      'SSH_AUTH_SOCK', 'SSH_AGENT_PID',
diff --git a/poky/bitbake/lib/bb/fetch2/crate.py b/poky/bitbake/lib/bb/fetch2/crate.py
index f7e2354..f4ddc78 100644
--- a/poky/bitbake/lib/bb/fetch2/crate.py
+++ b/poky/bitbake/lib/bb/fetch2/crate.py
@@ -13,7 +13,6 @@
 import hashlib
 import json
 import os
-import shutil
 import subprocess
 import bb
 from   bb.fetch2 import logger, subprocess_setup, UnpackError
@@ -72,7 +71,7 @@
         ud.parm['downloadfilename'] = "%s-%s.crate" % (name, version)
         ud.parm['name'] = name
 
-        logger.debug(2, "Fetching %s to %s" % (ud.url, ud.parm['downloadfilename']))
+        logger.debug("Fetching %s to %s" % (ud.url, ud.parm['downloadfilename']))
 
     def unpack(self, ud, rootdir, d):
         """
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index 4d06a57..bdcfa49 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -74,6 +74,9 @@
 from   bb.fetch2 import logger
 
 
+sha1_re = re.compile(r'^[0-9a-f]{40}$')
+slash_re = re.compile(r"/+")
+
 class GitProgressHandler(bb.progress.LineFilterProgressHandler):
     """Extract progress information from git output"""
     def __init__(self, d):
@@ -249,8 +252,8 @@
         ud.setup_revisions(d)
 
         for name in ud.names:
-            # Ensure anything that doesn't look like a sha256 checksum/revision is translated into one
-            if not ud.revisions[name] or len(ud.revisions[name]) != 40  or (False in [c in "abcdef0123456789" for c in ud.revisions[name]]):
+            # Ensure any revision that doesn't look like a SHA-1 is translated into one
+            if not sha1_re.match(ud.revisions[name] or ''):
                 if ud.revisions[name]:
                     ud.unresolvedrev[name] = ud.revisions[name]
                 ud.revisions[name] = self.latest_revision(ud, d, name)
@@ -259,10 +262,10 @@
         if gitsrcname.startswith('.'):
             gitsrcname = gitsrcname[1:]
 
-        # for rebaseable git repo, it is necessary to keep mirror tar ball
-        # per revision, so that even the revision disappears from the
+        # For a rebaseable git repo, it is necessary to keep a mirror tar ball
+        # per revision, so that even if the revision disappears from the
         # upstream repo in the future, the mirror will remain intact and still
-        # contains the revision
+        # contain the revision
         if ud.rebaseable:
             for name in ud.names:
                 gitsrcname = gitsrcname + '_' + ud.revisions[name]
@@ -464,7 +467,7 @@
             with create_atomic(ud.fullmirror) as tfile:
                 mtime = runfetchcmd("git log --all -1 --format=%cD", d,
                         quiet=True, workdir=ud.clonedir)
-                runfetchcmd("tar -czf %s --owner pokybuild --group users --mtime \"%s\" ."
+                runfetchcmd("tar -czf %s --owner oe:0 --group oe:0 --mtime \"%s\" ."
                         % (tfile, mtime), d, workdir=ud.clonedir)
             runfetchcmd("touch %s.done" % ud.fullmirror, d)
 
@@ -697,7 +700,6 @@
         Return a unique key for the url
         """
         # Collapse adjacent slashes
-        slash_re = re.compile(r"/+")
         return "git:" + ud.host + slash_re.sub(".", ud.path) + ud.unresolvedrev[name]
 
     def _lsremote(self, ud, d, search):
diff --git a/poky/bitbake/lib/bb/fetch2/osc.py b/poky/bitbake/lib/bb/fetch2/osc.py
index d9ce443..99a529e 100644
--- a/poky/bitbake/lib/bb/fetch2/osc.py
+++ b/poky/bitbake/lib/bb/fetch2/osc.py
@@ -43,7 +43,7 @@
             ud.revision = ud.parm['rev']
         else:
             pv = d.getVar("PV", False)
-            rev = bb.fetch2.srcrev_internal_helper(ud, d)
+            rev = bb.fetch2.srcrev_internal_helper(ud, d, '')
             if rev:
                 ud.revision = rev
             else:
diff --git a/poky/bitbake/lib/bb/fetch2/ssh.py b/poky/bitbake/lib/bb/fetch2/ssh.py
index 4844530..8d082b3 100644
--- a/poky/bitbake/lib/bb/fetch2/ssh.py
+++ b/poky/bitbake/lib/bb/fetch2/ssh.py
@@ -32,6 +32,7 @@
 
 import re, os
 from bb.fetch2 import check_network_access, FetchMethod, ParameterError, runfetchcmd
+import urllib
 
 
 __pattern__ = re.compile(r'''
@@ -70,6 +71,7 @@
                 "git:// prefix with protocol=ssh", urldata.url)
         m = __pattern__.match(urldata.url)
         path = m.group('path')
+        path = urllib.parse.unquote(path)
         host = m.group('host')
         urldata.localpath = os.path.join(d.getVar('DL_DIR'),
                 os.path.basename(os.path.normpath(path)))
@@ -99,7 +101,7 @@
 
         if path[0] != '~':
             path = '/%s' % path
-        path = path.replace("%3A", ":")
+        path = urllib.parse.unquote(path)
 
         fr += ':%s' % path
 
@@ -139,7 +141,7 @@
 
         if path[0] != '~':
             path = '/%s' % path
-        path = path.replace("%3A", ":")
+        path = urllib.parse.unquote(path)
 
         cmd = 'ssh -o BatchMode=true %s %s [ -f %s ]' % (
             portarg,
diff --git a/poky/bitbake/lib/bb/msg.py b/poky/bitbake/lib/bb/msg.py
index c95a874..93575d8 100644
--- a/poky/bitbake/lib/bb/msg.py
+++ b/poky/bitbake/lib/bb/msg.py
@@ -133,7 +133,6 @@
         self.seen_errors = set()
 
     def filter(self, record):
-        msg = record.msg
         if record.levelno == bb.msg.BBLogFormatter.WARNONCE:
             if record.msg in self.seen_warnings:
                 return False
diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py
index 4b1b44c..9e0a0f5 100644
--- a/poky/bitbake/lib/bb/parse/ast.py
+++ b/poky/bitbake/lib/bb/parse/ast.py
@@ -223,7 +223,7 @@
             for flag in [ "func", "python" ]:
                 if data.getVarFlag(calledfunc, flag, False):
                     data.setVarFlag(func, flag, data.getVarFlag(calledfunc, flag, False))
-            for flag in [ "dirs" ]:
+            for flag in ["dirs", "cleandirs", "fakeroot"]:
                 if data.getVarFlag(func, flag, False):
                     data.setVarFlag(calledfunc, flag, data.getVarFlag(func, flag, False))
             data.setVarFlag(func, "filename", "autogenerated")
diff --git a/poky/bitbake/lib/bb/persist_data.py b/poky/bitbake/lib/bb/persist_data.py
index 9e20a83..ce84a15 100644
--- a/poky/bitbake/lib/bb/persist_data.py
+++ b/poky/bitbake/lib/bb/persist_data.py
@@ -208,7 +208,7 @@
 
     def __lt__(self, other):
         if not isinstance(other, Mapping):
-            raise NotImplemented
+            raise NotImplementedError()
 
         return len(self) < len(other)
 
diff --git a/poky/bitbake/lib/bb/providers.py b/poky/bitbake/lib/bb/providers.py
index 8c1c31a..e11a463 100644
--- a/poky/bitbake/lib/bb/providers.py
+++ b/poky/bitbake/lib/bb/providers.py
@@ -396,8 +396,8 @@
         return rproviders
 
     # Only search dynamic packages if we can't find anything in other variables
-    for pattern in dataCache.packages_dynamic:
-        pattern = pattern.replace(r'+', r"\+")
+    for pat_key in dataCache.packages_dynamic:
+        pattern = pat_key.replace(r'+', r"\+")
         if pattern in regexp_cache:
             regexp = regexp_cache[pattern]
         else:
@@ -408,7 +408,7 @@
                 raise
             regexp_cache[pattern] = regexp
         if regexp.match(rdepend):
-            rproviders += dataCache.packages_dynamic[pattern]
+            rproviders += dataCache.packages_dynamic[pat_key]
             logger.debug("Assuming %s is a dynamic package, but it may not exist" % rdepend)
 
     return rproviders
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index a7a8463..f34f156 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -1674,7 +1674,7 @@
             (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
             pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
             h = self.rqdata.runtaskentries[tid].hash
-            matches = bb.siggen.find_siginfo(pn, taskname, [], self.cfgData)
+            matches = bb.siggen.find_siginfo(pn, taskname, [], self.cooker.databuilder.mcdata[mc])
             match = None
             for m in matches:
                 if h in m:
@@ -2664,7 +2664,6 @@
             sq_revdeps_squash[point] = set()
             if point in rqdata.runq_setscene_tids:
                 sq_revdeps_squash[point] = tasks
-                tasks = set()
                 continue
             for dep in rqdata.runtaskentries[point].depends:
                 if point in sq_revdeps[dep]:
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index 19ef839..613956f 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -20,7 +20,6 @@
 import sys
 import time
 import select
-import signal
 import socket
 import subprocess
 import errno
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 1612b4e..9fa568f 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -40,7 +40,6 @@
     for sg in siggens:
         if desired == sg.name:
             return sg(d)
-            break
     else:
         logger.error("Invalid signature generator '%s', using default 'noop'\n"
                      "Available generators: %s", desired,
@@ -991,8 +990,8 @@
 
 
     if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
-        a = a_data['runtaskhashes']
-        b = b_data['runtaskhashes']
+        a = clean_basepaths(a_data['runtaskhashes'])
+        b = clean_basepaths(b_data['runtaskhashes'])
         changed, added, removed = dict_diff(a, b)
         if added:
             for dep in sorted(added):
@@ -1003,7 +1002,7 @@
                             #output.append("Dependency on task %s was replaced by %s with same hash" % (dep, bdep))
                             bdep_found = True
                 if not bdep_found:
-                    output.append(color_format("{color_title}Dependency on task %s was added{color_default} with hash %s") % (clean_basepath(dep), b[dep]))
+                    output.append(color_format("{color_title}Dependency on task %s was added{color_default} with hash %s") % (dep, b[dep]))
         if removed:
             for dep in sorted(removed):
                 adep_found = False
@@ -1013,11 +1012,11 @@
                             #output.append("Dependency on task %s was replaced by %s with same hash" % (adep, dep))
                             adep_found = True
                 if not adep_found:
-                    output.append(color_format("{color_title}Dependency on task %s was removed{color_default} with hash %s") % (clean_basepath(dep), a[dep]))
+                    output.append(color_format("{color_title}Dependency on task %s was removed{color_default} with hash %s") % (dep, a[dep]))
         if changed:
             for dep in sorted(changed):
                 if not collapsed:
-                    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]))
+                    output.append(color_format("{color_title}Hash for task dependency %s changed{color_default} from %s to %s") % (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 233ecae..1152e89 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -653,8 +653,10 @@
         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.uname, 'oe')
+            self.assertEqual(member.uid, 0)
+            self.assertEqual(member.gname, 'oe')
+            self.assertEqual(member.gid, 0)
             self.assertEqual(member.mtime, mtime)
 
 
diff --git a/poky/bitbake/lib/bb/tests/parse.py b/poky/bitbake/lib/bb/tests/parse.py
index 4d17f82..2898f9b 100644
--- a/poky/bitbake/lib/bb/tests/parse.py
+++ b/poky/bitbake/lib/bb/tests/parse.py
@@ -119,7 +119,7 @@
 EXTRA_OECONF:append = " c"
 """
 
-    def test_parse_overrides(self):
+    def test_parse_overrides2(self):
         f = self.parsehelper(self.overridetest2)
         d = bb.parse.handle(f.name, self.d)['']
         d.appendVar("EXTRA_OECONF", " d")
diff --git a/poky/bitbake/lib/bb/ui/buildinfohelper.py b/poky/bitbake/lib/bb/ui/buildinfohelper.py
index 0761f73..129bb32 100644
--- a/poky/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/poky/bitbake/lib/bb/ui/buildinfohelper.py
@@ -45,7 +45,7 @@
 import logging
 from datetime import datetime, timedelta
 
-from django.db import transaction, connection
+from django.db import transaction
 
 
 # pylint: disable=invalid-name
@@ -496,7 +496,7 @@
             if not parent_path:
                 parent_path = "/"
             parent_obj = self._cached_get(Target_File, target = target_obj, path = parent_path, inodetype = Target_File.ITYPE_DIRECTORY)
-            tf_obj = Target_File.objects.create(
+            Target_File.objects.create(
                         target = target_obj,
                         path = path,
                         size = size,
@@ -561,7 +561,7 @@
 
             parent_obj = Target_File.objects.get(target = target_obj, path = parent_path, inodetype = Target_File.ITYPE_DIRECTORY)
 
-            tf_obj = Target_File.objects.create(
+            Target_File.objects.create(
                         target = target_obj,
                         path = path,
                         size = size,
@@ -1062,27 +1062,6 @@
 
         return recipe_info
 
-    def _get_path_information(self, task_object):
-        self._ensure_build()
-
-        assert isinstance(task_object, Task)
-        build_stats_format = "{tmpdir}/buildstats/{buildname}/{package}/"
-        build_stats_path = []
-
-        for t in self.internal_state['targets']:
-            buildname = self.internal_state['build'].build_name
-            pe, pv = task_object.recipe.version.split(":",1)
-            if pe:
-                package = task_object.recipe.name + "-" + pe + "_" + pv
-            else:
-                package = task_object.recipe.name + "-" + pv
-
-            build_stats_path.append(build_stats_format.format(tmpdir=self.tmp_dir,
-                                                     buildname=buildname,
-                                                     package=package))
-
-        return build_stats_path
-
 
     ################################
     ## external available methods to store information
diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py
index 3f410fd..61cf0a3 100644
--- a/poky/bitbake/lib/bb/ui/knotty.py
+++ b/poky/bitbake/lib/bb/ui/knotty.py
@@ -877,7 +877,6 @@
                     state_force_shutdown()
 
             main.shutdown = main.shutdown + 1
-            pass
         except Exception as e:
             import traceback
             sys.stderr.write(traceback.format_exc())
diff --git a/poky/bitbake/lib/pyinotify.py b/poky/bitbake/lib/pyinotify.py
index 5c9b6d0..3c5dab0 100644
--- a/poky/bitbake/lib/pyinotify.py
+++ b/poky/bitbake/lib/pyinotify.py
@@ -595,24 +595,23 @@
         @type event: Event object
         @return: By convention when used from the ProcessEvent class:
                  - Returning False or None (default value) means keep on
-                 executing next chained functors (see chain.py example).
+                   executing next chained functors (see chain.py example).
                  - Returning True instead means do not execute next
                    processing functions.
         @rtype: bool
         @raise ProcessEventError: Event object undispatchable,
                                   unknown event.
         """
-        stripped_mask = event.mask - (event.mask & IN_ISDIR)