subtree updates

meta-security: a397a38ed9..53c5cc794f:
  Anton Antonov (2):
        Fix PACKAGECONFIG check in Parsec OEQA tests
        Flush caches after OEQA tests

  Armin Kuster (6):
        checksecurity: update to 2.0.16
        krill: forced to inclued fetch hashes.
        suricata: Fixup to work within the recent crate changes.
        suricata: Missed on crate depends
        parsec-tool: update SRC_URI hash
        parsec-service: fix SRC_URI hash

  Gowtham Suresh Kumar (2):
        meta-parsec: Disable RSA-OAEP OEQA tests for Parsec PKCS11 backend
        parsec-service: Update parsec recipes to 1.2.0 and parsec-tool to 0.6.0

  Patrick Williams (1):
        libwhisker2-perl: adjust perl-version variable

meta-openembedded: 17243e70c8..c5f330bc9a:
  Alex Yao (3):
        lcov: Fix Perl Path
        lcov: Upgrade 1.14 -> 1.16
        lcov: Fix homepage

  Ari Parkkila (1):
        python3-appdirs: add native and nativesdk to BBCLASSEXTEND

  Arsalan H. Awan (1):
        meta-networking/licenses/netperf: remove unused license

  Bartosz Golaszewski (11):
        reboot-mode: put the build artifacts in ${B}
        libgpiod: enable all features for ptest
        libgpiod: drop unneeded S assignment
        libgpiod: generalize the local files directories
        libgpiod: update to v2.0.1
        python3-gpiod: don't hardcode the project version in recipe
        python3-gpiod: add missing run-time dependencies
        libgpiod: install the libgpiosim header
        python3-gpiod: fetch sources from pypi
        libgpiod: fold libgpiod-src.inc into libgpiod.inc
        libgpiod: remove test executables from ${bindir}

  Chen Qi (1):
        android-tools: fix systemd service setting

  Enrico Scholz (1):
        sox: remove ffmpeg dependency

  Etienne Cordonnier (4):
        uutils-coreutils: Add crates checksum
        uutils-coreutils: remove obsolete comment
        uutils-coreutils: upgrade 0.0.17 -> 0.0.18
        uutils-coreutils: disable musl support

  Ever ATILANO (4):
        meta-python: python3-path: Add ptest
        meta-python: python3-lorem: Add ptest
        meta-oe: recipes-support: dc: Add ptest
        meta-oe: recipes-extended: bitwise: Add ptest

  Gianfranco Costamagna (1):
        vbxguestdrivers: upgrade 7.0.4 -> 7.0.8

  Jasper Orschulko (1):
        python3-gcovr: Add missing runtime dependency

  Jayanth Othayoth (1):
        etcd-cpp-apiv3: add recipe

  Johannes Kirchmair (1):
        redirect unwanted error message in nginx install

  Johannes Pointner (1):
        python3-pyzstd: add new recipe

  Kai Kang (16):
        xfce4-taskmanager: 1.5.2 -> 1.5.5
        xfce4-terminal: 1.0.0 -> 1.0.4
        syslog-ng: not deliver syslog-ng-update-virtualenv
        xfce4-notifyd: 0.6.3 -> 0.8.2
        xfce4-screenshooter: 1.9.10 -> 1.10.3
        thunar: 4.18.0 -> 4.18.4
        thunar-media-tags-plugin: 0.3.0 -> 0.4.0
        libxfce4util: 4.18.0 -> 4.18.1
        libxfce4ui: 4.18.0 -> 4.18.3
        xfce4-settings: 4.18.0 -> 4.18.2
        xfce4-session: 4.18.0 -> 4.18.2
        xfce4-panel: 4.18.0 -> 4.18.3
        thunar-archive-plugin: 0.5.0 -> 0.5.1
        xfce4-power-manager: 4.18.0 -> 4.18.1
        garcon: 4.18.0 -> 4.18.1
        xfce4-screensaver: 4.16.0 -> 4.18.1

  Khem Raj (36):
        krb5: Fix build with autoconf 2.72
        cyrus-sasl: Fix autoconf patch to work with new autoconf 2.72
        gmime: Update to 3.2.13
        imagemagick: Update to 7.1.1
        mpv: Upgrade to 0.35.1
        fwknop: Use pkg-config instead of gpgme-config
        fwknop: Fix AS_IF configure syntax
        libstemmer: Update to 2.2.0
        libidn: Update largefile m4 macros
        emacs: Fix build with autconf 2.72+
        ptest-packagelists-meta-oe: Remove minicoredumper from PTESTS_FAST_META_OE on musl
        poco: Remove pushd/popd from run-ptest
        surf: Fix build with gtkwebkit 2.40
        libio-pty-perl: Fix build with musl/clang
        meta-gnome: Update patch status for several recipes
        libnet-ssleay-perl: Fix patch upstream status
        meta-xfce: Fix missing upstream status in patches
        meta-multimedia: Fix missing upstream status in several patches
        meta-webserver: Fix missing upstream status on patches
        babl: Drop clang10 workaround for mips/rv64
        babl: Package /usr/lib/babl-0.1/ directory
        libtinyxml2: Add ptest support
        ptest-packagelists-meta-oe: Add libtinyxml2
        minifi-cpp: Always use stat on 64bit linux
        libdnet: Upgrade to 1.16.3
        python3-pyruvate: regenerate with updated bbclass
        monkey,webmin: Fix upstream patch status
        python3-pyruvate: Upgrade to 1.2.1
        onig: Ignore .debug directories while finding ptests
        python3-h5py: Fix TMPDIR references in dbg files
        python3-pandas: Fix TMPDIR references in dbg files
        fwupd: Do not emit build time paths into generated headers
        libcereal: Fix TMPDIR leaking into debug_str section
        xmlrpc-c: Upgrade to 1.59.01
        grilo: Fix buildpaths in generated header file
        python3-click: Fix ptest failure

  Leon Anavi (2):
        libpcsc-perl: Add recipe
        pcsc-tools: Add runtime dependencies

  Linus Jacobson (1):
        khronos-cts: Replace wayland feature dependancy with vulkan

  Markus Volk (40):
        nv-codec-headers: add clean target to Makefile
        flatpak: update 1.15.3 -> 1.15.4
        libcamera: re-introduce fix for gcc-13
        polkit-gnome: add recipe
        eog: update 43.2 -> 44.0
        evince: update 43.1 -> 44.0
        gdm: update 43.0 -> 44.0
        gnome-calculator: update 43.0.1 -> 44.0
        gnome-calendar: update 43.1 -> 44.0
        gnome-desktop: update 43 -> 44.0
        gnome-disk-utility: update 43.0 -> 44.0
        gnome-font-viewer: update 43.0 -> 44.0
        gnome-online-accounts: update 3.46.0 -> 3.48.0
        gnome-photos: update 43.0 -> 44.0
        gnome-session: update 43.0 -> 44.0
        gnome-settings-daemon: update 43.0 -> 44.0
        gnome-shell-extensions: update 43.1 -> 44.0
        gnome-software: update 43.4 -> 44.0
        gnome-terminal: update 3.46.7 -> 3.48.0
        gnome-text-editor: update 43.1 -> 44.0
        tracker-miners: update 3.4.2 -> 3.5.0
        zenity: update 3.43.0 -> 3.44.0
        xdg-desktop-portal-gnome: update 43.1 -> 44.0
        gedit: update 43.2 -> 44.2
        evolution-data-server: build oauth with gtk+3
        file-roller: set cpio path manually
        libdecor: update 1.1.0 -> 1.1.99
        freerdp: set PROXY_PLUGINDIR
        libnfs: add recipe
        pipewire: update 0.3.67 -> 0.3.68
        iwd: update 2.3 -> 2.4
        mozjs: update 102.5.0 -> 102.9.0
        glibmm: fix reproducibility issues
        adw-gtk3: add recipe
        xdg-desktop-portal-wlr: update
        pipewire: remove 'inherit gsettings'
        polkit: update SRC_URI
        webp-pixbuf-loader: update 0.2.0 -> 0.2.4
        udisks2: add PACKAGECONFIGs for btrfs,lvm2 and lsm
        pipewire: update 0.3.68 -> 0.3.70

  Martin Jansa (7):
        zsh: fix installed-vs-shipped with multilib
        restinio: fix S variable in multilib builds
        mongodb: fix chown user for multilib builds
        pahole: respect libdir
        lvgl,lv-lib-png,lv-drivers: fix installed-vs-shipped QA issue with multilib
        dleyna-{server,renderer}: fix dev-so QA issue with multilib
        lirc: fix do_install with multilib

  Mingli Yu (2):
        mcelog: improve the ptest output
        php: Fix GCC 12 -Og

  Peter Johennecken (1):
        nginx: added packagegroup for webdav module

  Peter Kjellerstedt (5):
        python3-crc32c: Correct the license information
        paho-mqtt-cpp: Improve the license information
        autossh: Correct the license information
        paho-mqtt-c: Improve the license information
        recipes: Remove double protocol= from SRC_URIs

  Peter Marko (1):
        ntp: whitelist CVE-2019-11331

  Petr Gotthard (2):
        cockpit: upgrade 276 -> 289
        nftables: upgrade 1.0.6 -> 1.0.7

  Randolph Sapp (1):
        glfw: add packageconfig and wayland dependencies

  Steffen Trumtrar (3):
        openocd: 0.11->0.12
        openocd: fix jimtcl url
        openocd: enable jtag-vpi and buspirate

  Tim Orling (11):
        cli11: do not inherit ptest
        span-lite: do not inherit ptest
        ptest-packagelists-meta-oe.inc: add ptest recipes
        meta-oe-ptest*-image: enable BBCLASSEXTEND parallel execution
        ptest-packagelists-meta-python.inc: add ptest recipes
        meta-python-ptest*-image: enable BBCLASSEXTEND parallel execution
        python3-aspectlib: fix ptest
        ptest-packagelists-meta-perl.inc: add ptest recipes
        recipes-perl/packagegroups: move to recipes-core/
        recipes-perl/images: move to recipes-core
        meta-perl-ptest*-image: enable BBCLASSEXTEND parallel execution

  Ulrich Ölmann (1):
        jwt-cpp: enable usage in an SDK

  Valeria Petrov (1):
        apache2: upgrade 2.4.56 -> 2.4.57

  Virendra Thakur (2):
        p7zip: fix for CVE-2018-5996
        p7zip: Fix for CVE-2016-9296

  Wang Mingyu (117):
        abseil-cpp: upgrade 20230125.1 -> 20230125.2
        libbytesize: upgrade 2.7 -> 2.8
        gegl: upgrade 0.4.42 -> 0.4.44
        ctags: upgrade 6.0.20230319.0 -> 6.0.20230402.0
        libdeflate: upgrade 1.17 -> 1.18
        libldb: upgrade 2.7.1 -> 2.7.2
        ndisc6: upgrade 1.0.6 -> 1.0.7
        libpfm4: upgrade 4.12.0 -> 4.13.0
        libtraceevent: upgrade 1.7.1 -> 1.7.2
        nginx: upgrade 1.23.3 -> 1.23.4
        links: upgrade 2.28 -> 2.29
        python3-pyproj: upgrade 3.4.1 -> 3.5.0
        ostree: upgrade 2023.1 -> 2023.2
        openvpn: upgrade 2.6.1 -> 2.6.2
        python3-aenum: upgrade 3.1.11 -> 3.1.12
        python3-argcomplete: upgrade 3.0.0 -> 3.0.5
        python3-cassandra-driver: upgrade 3.25.0 -> 3.26.0
        python3-astroid: upgrade 2.15.0 -> 2.15.1
        python3-cmake: upgrade 3.26.0 -> 3.26.1
        python3-dateparser: upgrade 1.1.7 -> 1.1.8
        python3-google-api-python-client: upgrade 2.81.0 -> 2.83.0
        python3-elementpath: upgrade 4.0.1 -> 4.1.0
        python3-googleapis-common-protos: upgrade 1.58.0 -> 1.59.0
        python3-httplib2: upgrade 0.21.0 -> 0.22.0
        python3-google-auth: upgrade 2.16.2 -> 2.17.1
        python3-ipython: upgrade 8.11.0 -> 8.12.0
        python3-imageio: upgrade 2.26.0 -> 2.27.0
        python3-pychromecast: upgrade 13.0.4 -> 13.0.6
        python3-jdatetime: upgrade 4.1.0 -> 4.1.1
        python3-luma-oled: upgrade 3.11.0 -> 3.12.0
        python3-pydantic: upgrade 1.10.6 -> 1.10.7
        python3-pymodbus: upgrade 3.2.1 -> 3.2.2
        python3-pymisp: upgrade 2.4.169.2 -> 2.4.169.3
        python3-pywbemtools: upgrade 1.1.1 -> 1.2.0
        python3-redis: upgrade 4.5.1 -> 4.5.4
        python3-regex: upgrade 2022.10.31 -> 2023.3.23
        python3-typeguard: upgrade 3.0.1 -> 3.0.2
        python3-sentry-sdk: upgrade 1.17.0 -> 1.18.0
        python3-rich: upgrade 13.3.2 -> 13.3.3
        python3-watchdog: upgrade 2.3.1 -> 3.0.0
        feh: upgrade 3.9.1 -> 3.10
        c-periphery: upgrade 2.3.1 -> 2.4.0
        grilo-plugins: upgrade 0.3.15 -> 0.3.16
        hwdata: upgrade 0.368 -> 0.369
        hwloc: upgrade 2.9.0 -> 2.9.1
        libconfig-tiny-perl: upgrade 2.28 -> 2.29
        mg: upgrade 20221112 -> 20230406
        python3-pillow: upgrade 9.4.0 -> 9.5.0
        python3-websockets: upgrade 10.4 -> 11.0.1
        poppler: upgrade 23.03.0 -> 23.04.0
        python3-alembic: upgrade 1.10.2 -> 1.10.3
        python3-astroid: upgrade 2.15.1 -> 2.15.2
        python3-coverage: upgrade 7.2.2 -> 7.2.3
        python3-google-api-python-client: upgrade 2.83.0 -> 2.84.0
        python3-google-auth: upgrade 2.17.1 -> 2.17.2
        python3-imgtool: upgrade 1.9.0 -> 1.10.0
        python3-pychromecast: upgrade 13.0.6 -> 13.0.7
        python3-simplejson: upgrade 3.18.4 -> 3.19.1
        python3-networkx: upgrade 3.0 -> 3.1
        tesseract: upgrade 5.3.0 -> 5.3.1
        python3-zeroconf: upgrade 0.47.4 -> 0.55.0
        python3-web3: upgrade 6.0.0 -> 6.1.0
        python3-sqlalchemy: upgrade 2.0.7 -> 2.0.9
        python3-sentry-sdk: upgrade 1.18.0 -> 1.19.1
        hdf5: Fix install conflict when enable multilib.
        capnproto: upgrade 0.10.3 -> 0.10.4
        ctags: upgrade 6.0.20230402.0 -> 6.0.20230416.0
        mctp: upgrade 1.0 -> 1.1
        php: upgrade 8.2.4 -> 8.2.5
        openvpn: upgrade 2.6.2 -> 2.6.3
        python3-croniter: upgrade 1.3.8 -> 1.3.14
        python3-diskcache: upgrade 5.4.0 -> 5.5.1
        python3-cmake: upgrade 3.26.1 -> 3.26.3
        python3-elementpath: upgrade 4.1.0 -> 4.1.1
        python3-google-api-python-client: upgrade 2.84.0 -> 2.85.0
        python3-google-auth: upgrade 2.17.2 -> 2.17.3
        python3-protobuf: upgrade 4.22.1 -> 4.22.3
        python3-web3: upgrade 6.1.0 -> 6.2.0
        python3-rich: upgrade 13.3.3 -> 13.3.4
        python3-pymisp: upgrade 2.4.169.3 -> 2.4.170
        python3-xlsxwriter: upgrade 3.0.9 -> 3.1.0
        python3-zeroconf: upgrade 0.55.0 -> 0.56.0
        remmina: upgrade 1.4.29 -> 1.4.30
        tbb: upgrade 2021.8.0 -> 2021.9.0
        sip: upgrade 6.7.7 -> 6.7.8
        tcpdump: upgrade 4.99.3 -> 4.99.4
        tcsh: upgrade 6.24.07 -> 6.24.10
        evolution-data-server: upgrade 3.48.0 -> 3.48.1
        babl: upgrade 0.1.102 -> 0.1.104
        gensio: upgrade 2.6.2 -> 2.6.4
        libopus: upgrade 1.3.1 -> 1.4
        network-manager-applet: upgrade 1.30.0 -> 1.32.0
        networkmanager: upgrade 1.42.4 -> 1.42.6
        opencl-headers: upgrade 2023.02.06 -> 2023.04.17
        c-periphery: upgrade 2.4.0 -> 2.4.1
        mbw: upgrade 1.5 -> 2.0
        libmodule-build-tiny-perl: upgrade 0.039 -> 0.043
        python3-periphery: upgrade 2.3.0 -> 2.4.1
        python3-astroid: upgrade 2.15.2 -> 2.15.3
        python3-diskcache: upgrade 5.5.1 -> 5.6.1
        python3-engineio: upgrade 4.4.0 -> 4.4.1
        python3-soupsieve: upgrade 2.4 -> 2.4.1
        python3-google-api-python-client: upgrade 2.85.0 -> 2.86.0
        python3-mock: upgrade 5.0.1 -> 5.0.2
        python3-pyalsaaudio: upgrade 0.9.2 -> 0.10.0
        python3-icu: upgrade 2.10.2 -> 2.11
        python3-pymisp: upgrade 2.4.170 -> 2.4.170.1
        python3-python-vlc: upgrade 3.0.18121 -> 3.0.18122
        python3-sentry-sdk: upgrade 1.19.1 -> 1.20.0
        python3-pyscaffold: upgrade 4.4 -> 4.4.1
        python3-websockets: upgrade 11.0.1 -> 11.0.2
        python3-tornado: upgrade 6.2 -> 6.3
        redis: upgrade 7.0.10 -> 7.0.11
        python3-xmlschema: upgrade 2.2.2 -> 2.2.3
        samba: upgrade 4.18.1 -> 4.18.2
        ser2net: upgrade 4.3.11 -> 4.3.12
        sip: upgrade 6.7.8 -> 6.7.9

  Wentao Zhang (2):
        jemalloc: include the missing shell scripts and source the corresponds shell scripts for some test cases.
        nss: fix failed test of nss.

  Wolfgang Meyer (2):
        qrencode: add PACKAGECONFIG for command line tools
        qrencode: enable native build

  Yi Zhao (1):
        samba: upgrade 4.18.0 -> 4.18.1

  Yogita Urade (1):
        dlt-daemon: fix CVE-2023-26257

  Zoltán Böszörményi (2):
        hplip: Fix installation and QA
        libgusb: Allow building in native mode

poky: 0907793d5e..cce6db2a59:
  Alex Kiernan (2):
        cargo_common.bbclass: Support local github repos
        rust: Upgrade 1.68.1 -> 1.68.2

  Alexander Kanavin (5):
        rust: do not run separate build/install steps
        rust: install llvm item only once
        rust: update 1.67.1 -> 1.68.1
        ffmpeg: update 5.1.2 -> 6.0
        meta/recipes: ensure all recipes have a SUMMARY

  Arslan Ahmad (1):
        kernel-fitimage: Fix the default dtb config check

  Bartosz Golaszewski (5):
        python3-pyproject-hooks: add missing run-time dependencies
        python3-packaging: add missing run-time dependencies
        python3-manifest: add tomllib
        python3-manifest: add ensurepip
        python3-build: add missing run-time dependencies

  Bruce Ashfield (7):
        kernel: improve initramfs bundle processing time
        linux-yocto/6.1: update to v6.1.23
        linux-yocto/5.15: update to v5.15.106
        linux-yocto/6.1: update to v6.1.24
        linux-yocto/5.15: update to v5.15.107
        linux-yocto/6.1: update to v6.1.25
        linux-yocto/5.15: update to v5.15.108

  Chen Qi (1):
        bitbake: runqueue: fix PSI check calculation

  Chris Elledge (1):
        busybox: move hwclock init earlier in startup

  Denys Dmytriyenko (2):
        xz: upgrade 5.4.1 -> 5.4.2
        grep: upgrade 3.9 -> 3.10

  Dit Kozmaj (2):
        wic: use part_name when defined
        selftest: wic: Add test for --part-name argument

  Dmitry Baryshkov (1):
        linux-firmware: upgrade 20230210 -> 20230404

  Enrico Jörns (10):
        oeqa/selftest/cases/runqemu: update imports
        oeqa/targetcontrol: fix misspelled RuntimeError
        oeqa/targetcontrol: do not set dump_host_cmds redundantly
        oeqa/targetcontrol: remove unused imports
        oeqa/utils/commands: fix usage of undefined EPIPE
        oeqa/utils/commands: remove unused imports
        oeqa/utils/qemurunner: replace hard-coded user 'root' in debug output
        oeqa/utils/qemurunner: limit precision of timing debugging output
        oeqa/utils/qemurunner: fix undefined TimeoutExpired
        oeqa: whitespace and indentation cleanups

  Enrico Scholz (2):
        bitbake: fetch2/crate: create versioned 'name' entries
        bitbake: cooker: do not abort on single ctrl-c

  Fabio Estevam (1):
        u-boot: Upgrade to 2023.04

  Frank WOLFF (1):
        logrotate: add ptest support

  Frederic Martinsons (6):
        cargo_common.bbclass: add support of user in url for patch
        devtool: add support for multiple git url inside a cargo based recipe
        patch: support of git patches when the source uri contained subpath parameter
        meta-selftest: provide a recipe for zvariant
        cargo-update-recipe-crates: force name overrides
        bitbake: fetch2: Display all missing checksum at once

  Geoffrey GIRY (1):
        cve-extra-exclusions: ignore inapplicable linux-yocto CVEs

  Jan Vermaete (1):
        cve-update-nvd2-native: added the missing http import

  Kai Kang (2):
        libnotify: remove dependency dbus
        bitbake: bitbake: ConfHandler: Allow variable flag name with a single character

  Khem Raj (16):
        e2fsprogs: Define 64bit off_t on rv32
        ffmpeg: Disable asm and rvv on riscv32
        cargo: Fix build on musl/riscv
        musl: Update to latest trunk
        systemd: Refresh a musl patch to remove patch-fuzz with 253.3
        musl-locales: Add Canadian French (fr_CA) locale support
        gawk: Disable known ptest fails on musl
        gawk: Remove redundant patch
        gawk: Add skipped.txt to emit test to ignore
        libxml2: Disable icu tests on musl
        apt-util: Fix ptest on musl
        lua: Disable locale dependent tests on musl
        attr: Disable attr.test on musl
        acl: Disable misc.test on musl
        fts: Fix typo in summary
        m4: Do not munge locale in ptests for musl

  Lee Chee Yang (2):
        migration-guides: add release-notes for 4.0.9
        release-notes-4.2: update RC3 changes

  Luca Ceresoli (1):
        devicetree.bbclass: fix typo

  Marek Vasut (1):
        cpio: Fix wrong CRC with ASCII CRC for large files

  Mark Asselstine (2):
        oeqa/selftest/bblogging: uncomment python stdout checks
        python3-psutil: fix-up -tests runtime dependencies

  Mark Hatle (1):
        sanity.bbclass: Update minimum gcc version to 8.0

  Markus Volk (1):
        at-spi2-core: update 2.46.0 -> 2.48.0

  Marta Rybczynska (1):
        cve-update-nvd2-native: new CVE database fetcher

  Martin Jansa (8):
        selftest: imagefeatures.py: don't mix tabs and spaces for indentation
        selftest: runqemu: better check for ROOTFS: in the log
        selftest: runqemu: use better error message when asserts fail
        runqemu: respect IMAGE_LINK_NAME
        python3-cryptography-crates.inc: regenerate with updated bbclass
        python3-bcrypt-crates.inc: regenerate with updated bbclass
        selftest: efibootpartition.py: fix QEMU_USE_KVM usage
        populate_sdk_ext.bbclass: set METADATA_REVISION with an DISTRO override

  Michael Opdenacker (20):
        manuals: update disk space requirements
        manuals: add rm_work disk space data
        manuals: add minimum RAM requirements
        ref-manual: release-process.rst: update testing section
        ref-manual: release-process.rst: major updates
        manuals: add "LTS" term
        manuals: improve and fix target for supported distros
        ref-manual: variables: document VOLATILE_TMP_DIR
        migration-guides: update 4.2 migration and release notes
        ref-manual: classes.rst: document devicetree.bbclass
        ref-manual: remove unused and obsolete file
        ref-manual: variables.rst: add wikipedia shortcut for "getty"
        overview-manual: update section about source archives
        manuals: document SPDX_CUSTOM_ANNOTATION_VARS
        overview-manual: development-environment: update text and screenshots
        ref-manual: add "Mixin" term
        migration-guides: release-notes-4.0.9.rst: add missing SPDX info
        migration-guides: fixes and improvements to 4.2 release notes
        manuals: expand init manager documentation
        ref-manual: variables.rst: document KERNEL_DANGLING_FEATURES_WARN_ONLY

  Mikko Rapeli (2):
        oeqa ping.py: avoid busylooping failing ping command
        oeqa ping.py: fail test if target IP address has not been set

  Mingli Yu (3):
        report-error: catch Nothing PROVIDES error
        bitbake: event: add bb.event.ParseError
        report-error: make it catch ParseError error

  Ola x Nilsson (2):
        patch.py: Use shlex instead of deprecated pipe
        package: Use shlex instead of deprecated pipe

  Pascal Bach (1):
        cmake: add CMAKE_SYSROOT to generated toolchain file

  Paul Eggleton (20):
        bitbake: bitbake-user-manual: document BB_CACHEDIR
        bitbake: bitbake-user-manual: add addpylib and BB_GLOBAL_PYMODULES
        bitbake: bitbake-user-manual: add BB_HASH_CODEPARSER_VALS
        ref-manual: add new SDK_ZIP_OPTIONS variable
        ref-manual: Add new RUST_CHANNEL variable
        ref-manual: update for IMAGE_MACHINE_SUFFIX addition
        dev/ref-manual: Remove references to INC_PR
        ref-manual: add BB_CACHEDIR
        migration-guides: Add coverage of addpylib directive
        ref-manual: Remove references to package_tar class
        ref-manual: add missing QA checks from previous releases
        ref-manual: document new patch-status-* QA checks
        ref-manual: add FIT_CONF_DEFAULT_DTB
        ref-manual: add section link also to buildtools-extended entry
        ref-manual: add SDK_ARCHIVE_TYPE
        ref-manual: move Initramfs entry from variables to terms
        dev/ref-manual: Document INIT_MANAGER
        migration-guides: extend migration guide for 4.2
        release-notes-4.1: fix some CVE links
        release-notes-4.2: add release notes

  Pavel Zhukov (2):
        scripts/rpm2cpio.sh: Use bzip2 instead of bunzip2
        scripts/runqemu: Add possibility to disable network

  Pawan Badganchi (1):
        tiff: Add fix for CVE-2022-4645

  Peter Kjellerstedt (1):
        cargo-update-recipe-crates.bbclass: Do not add name= to crate:// URIs

  Petr Kubizňák (12):
        harfbuzz: depend on glib-2.0-native
        json-glib: depend on glib-2.0-native
        libgudev: depend on glib-2.0-native
        at-spi2-core: depend on glib-2.0-native
        avahi: add missing dependencies
        graphene: add gobject-types PACKAGECONFIG
        python3-pygobject: depend on gobject-introspection
        gconf: add missing dependencies
        webkitgtk: add missing dependencies
        libnotify: depend on glib-2.0-native
        vte: depend on glib-2.0-native
        gobject-introspection: reduce dependencies

  Piotr Łobacz (1):
        libarchive: Enable acls, xattr for native as well as target

  Qiu Tingting (1):
        coreutils: Delete gcc sysroot parameter for ptest on target

  Randolph Sapp (1):
        wic/bootimg-efi: if fixed-size is set then use that for mkdosfs

  Richard Purdie (11):
        oeqa/loader: Ensure module names don't contain uppercase characters
        zvariant: Exclude from world for now to avoid reproducibility issues
        xdg-utils: Add a patch for CVE-2020-27748
        cve-extra-exclusions.inc: Exclude some issues not present in linux-yocto
        xdg-utils: Fix CVE number
        bitbake: bitbake: Bump to version 2.4.0
        build-appliance-image: Update to master head revision
        poky.conf: Bump version for 4.2 mickledore release
        build-appliance-image: Update to master head revision
        build-appliance-image: Update to master head revision
        cve-exclusions: Document some further linux-yocto CVE statuses

  Ross Burton (11):
        llvm: remove redundant CMake variables
        libgit2: clean up CMake variables
        webkitgtk: clean up Python variables
        oeqa/runtime: clean up deprecated backslash expansion
        classes-recipe/setuptools3-base: clean up FILES assignments
        bind: don't package non-existant .la files into -staticdev
        gstreamer1.0-plugins: package the internal libraries explicitly
        Increase minimum GCC version to 8.0
        machine/qemuarm*: don't explicitly set vmalloc
        screen: backport fix for CVE-2023-24626
        go: backport fix for CVE-2023-24537

  Soumya (1):
        shadow: Fix can not print full login timeout message

  Svend Meyland Nicolaisen (1):
        bitbake: npmsw fetcher: Avoid instantiating Fetch class if url list is empty

  Thomas De Schampheleire (3):
        qemu: make tracetool-generated output reproducible
        qemu: retain default trace backend if 'ust' is not enabled
        qemu: rename deprecated --enable-trace-backend configure option

  Thomas Roos (2):
        oeqa/selftest: Use SSTATE_DIR of parent build dir
        oeqa/utils/metadata.py: Fix running oe-selftest running with no distro set

  Tobias Hagelborn (1):
        lib/oe/gpg_sign.py: Avoid race when creating .sig files in detach_sign

  Ulrich Ölmann (3):
        kernel-dev: fix typos
        ref-manual: classes.rst: fix typo
        bitbake: bitbake-user-manual: fix BB_RUNFMT's default value

  Wang Mingyu (46):
        apr: upgrade 1.7.2 -> 1.7.3
        bind: upgrade 9.18.12 -> 9.18.13
        cracklib: upgrade 2.9.10 -> 2.9.11
        libhandy: upgrade 1.8.1 -> 1.8.2
        libpcap: upgrade 1.10.3 -> 1.10.4
        libsdl2: upgrade 2.26.3 -> 2.26.5
        libsoup: upgrade 3.2.2 -> 3.4.0
        mpg123: upgrade 1.31.2 -> 1.31.3
        acpica: upgrade 20220331 -> 20230331
        ccache: upgrade 4.7.4 -> 4.8
        libcap: upgrade 2.67 -> 2.68
        man-pages: upgrade 6.03 -> 6.04
        mtools: upgrade 4.0.42 -> 4.0.43
        pango: upgrade 1.50.13 -> 1.50.14
        ruby: upgrade 3.2.1 -> 3.2.2
        spirv-headers: upgrade 1.3.239.0 -> 1.3.243.0
        spirv-tools: upgrade 1.3.239.0 -> 1.3.243.0
        sqlite3: upgrade 3.41.0 -> 3.41.2
        texinfo: upgrade 7.0.2 -> 7.0.3
        wayland: upgrade 1.21.0 -> 1.22.0
        wpebackend-fdo: upgrade 1.14.0 -> 1.14.2
        xserver-xorg: upgrade 21.1.7 -> 21.1.8
        xwayland: upgrade 22.1.8 -> 23.1.1
        vala: upgrade 0.56.4 -> 0.56.6
        python3-cython: upgrade 0.29.33 -> 0.29.34
        python3-hypothesis: upgrade 6.68.2 -> 6.71.0
        python3-importlib-metadata: upgrade 6.0.0 -> 6.2.0
        python3-installer: upgrade 0.6.0 -> 0.7.0
        python3-markdown: upgrade 3.4.1 -> 3.4.3
        python3-pathspec: upgrade 0.11.0 -> 0.11.1
        python3-pygobject: upgrade 3.42.2 -> 3.44.1
        python3-pyopenssl: upgrade 23.0.0 -> 23.1.1
        python3-pytz: upgrade 2022.7.1 -> 2023.3
        python3-setuptools: upgrade 67.6.0 -> 67.6.1
        mesa: upgrade 23.0.0 -> 23.0.2
        systemd: upgrade 253.1 -> 253.3
        libgit2: upgrade 1.6.3 -> 1.6.4
        libsolv: upgrade 0.7.23 -> 0.7.24
        libxml2: upgrade 2.10.3 -> 2.10.4
        boost: upgrade 1.81.0 -> 1.82.0
        ofono: upgrade 2.0 -> 2.1
        python3-dtschema: upgrade 2023.1 -> 2023.4
        python3-packaging: upgrade 23.0 -> 23.1
        python3-pytest: upgrade 7.2.2 -> 7.3.1
        stress-ng: upgrade 0.15.06 -> 0.15.07
        gdb: Fix conflict of sframe-spec.info

  Wentao Zhang (1):
        python3: Fix failing sysconfig.py test on x86(64 bit) using lib64 as baselib by updating test_sysconfig for posix_user purelib

  Xiangyu Chen (1):
        shadow: backport patch to fix CVE-2023-29383

  Yoann Congal (4):
        cve-extra-exclusions: ignore inapplicable linux-yocto CVEs
        cve-exclusions_6.1: ignore patched CVE-2022-38457 & CVE-2022-40133
        cve-extra-exclusion: ignore disputed CVE-2023-23005
        cve-extra-exclusions: linux-yocto: ignore fixed CVE-2023-1652 & CVE-2023-1829

  Zhixiong Chi (1):
        libpam: Fix the xtests/tst-pam_motd[1|3] failures

  bkylerussell@gmail.com (1):
        kernel-devsrc: depend on python3-core instead of python3

meta-raspberrypi: 3afdbbf782..bf948e0aa8:
  Jesse Visser (2):
        recipe-bsp: Add support for Raspberry Pi Camera Module v3
        docs: Update extra build config Raspberry Pi Camera Module section

  Rodrigo M. Duarte (1):
        python3-adafruit-blinka: Fix the correct python recipes path in dynamic-layer sub-dir

meta-arm: 9b6c8c95e4..c60d7865dd:
  Adam Johnston (3):
        arm-bsp/optee: Update OP-TEE TA devkit to 3.20 for N1SDP
        CI: Remove ts-smm-gateway from N1SDP
        arm-bsp/trusted-firmware-a: Update N1SDP to v2.8.0

  Denys Dmytriyenko (4):
        optee-os-tadevkit: remove old unused patches
        optee-client: add 3.20.0 version
        optee-test: add 3.20.0 version
        optee-examples: add 3.20.0 version

  Emekcan Aras (4):
        arm-bsp/trusted-firmware-m: apply patches correctly from external repos
        arm-bsp/trusted-firmware-m: Switch to TF-M BL1 in Corstone1000
        arm-bsp/corstone1000: add OTP config for fvp
        arm-bsp/trusted-firmware-m: Increase assets number for corstone1000

  Jon Mason (8):
        CI: dev kernel allow failure
        arm/linux-yocto: remove IP_VS config fragment
        CI: update to the latest kas version
        CI: track mickledore branch
        arm-bsp/tc1: Fix signed u-boot
        arm-bsp/tc1: Add FVP support
        arm/trusted-firmware-m-scripts: relocate to tfm directory
        arm-bsp/tc1: disable signed kernel image

  Peter Hoyes (1):
        arm/scp-firmware: Add support for components other than SCP, MCP

  Ross Burton (8):
        arm/scp-firmware: add recipe for 2.11
        arm-bsp/scp-firmware: move all machines to SCP 2.11
        arm/scp-firmware: remove 2.10 recipe
        arm/trusted-firmware-m: add the tf-m-extras repository that some machines need
        arm/trusted-firmware-m: clean up environment flags
        arm/trusted-firmware-m: package .elf files in PN-dbg
        arm-bsp/trusted-firmware-m: enable for Total Compute on RSS
        CI: add TF-M to TC build

  Rui Miguel Silva (1):
        arm-bsp/corstone1000: tf-m set/get fwu, private metadata using gpt

  Xueliang Zhong (3):
        arm-bsp/n1sdp-board-firmware: update to newer SHA
        arm-bsp/optee-os: N1SDP support for optee-os 3.20
        arm-bsp/n1sdp: use edk2-firmware 202211 version

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I68eb48f27b781da34c4a7636f9b3bb1507b46416
diff --git a/meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.3.1.bb b/meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.1.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.3.1.bb
rename to meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.1.bb
index b5bdcd5..3379ba1 100644
--- a/meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/c-periphery/c-periphery_2.4.1.bb
@@ -6,10 +6,10 @@
 SECTION = "libs"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4097ec544cf01e9c7cfc4bdf8e4ed887"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be30d45bdc453f70a494c149c2168289"
 
 SRC_URI = "git://github.com/vsergeev/c-periphery;protocol=https;branch=master"
-SRCREV = "23bfa4ab481edbad82a69ee385fc58ce03b63084"
+SRCREV = "6c5302cf8255c9bb75e535c566a8f1d94cfded5d"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_2.3.2.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_2.3.2.bb
index b9ff914..7c6b254 100644
--- a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_2.3.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_2.3.2.bb
@@ -15,11 +15,10 @@
 
 do_configure:prepend() {
     mkdir -p ${S}/tests/catch2
-    cp ${DL_DIR}/catch.hpp ${S}/tests/catch2/catch.hpp 
+    cp ${DL_DIR}/catch.hpp ${S}/tests/catch2/catch.hpp
 }
 
 inherit cmake
-inherit ptest
 
 # cli11 is a header only C++ library, so the main package will be empty.
 RDEPENDS:${PN}-dev = ""
diff --git a/meta-openembedded/meta-oe/recipes-support/dc/double-conversion_3.2.1.bb b/meta-openembedded/meta-oe/recipes-support/dc/double-conversion_3.2.1.bb
index cc54dc6..92466f6 100644
--- a/meta-openembedded/meta-oe/recipes-support/dc/double-conversion_3.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/dc/double-conversion_3.2.1.bb
@@ -10,9 +10,32 @@
 
 SRC_URI = " \
         git://github.com/google/double-conversion.git;protocol=https;branch=master \
+        file://run-ptest \
 "
 SRCREV = "af09fd65fcf24eee95dc62813ba9123414635428"
 
-inherit cmake
+inherit cmake ptest
 
 EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
+
+# These ptest use ctest (provided by cmake)
+RDEPENDS:${PN}-ptest += "cmake"
+# Build tests only if ptest is enabled
+EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTING=ON', '', d)}"
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/test
+    cp -rf ${B}/test ${D}${PTEST_PATH}
+    install -m 0644 ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}/
+    files="
+        CTestTestfile.cmake
+        test/CTestTestfile.cmake
+        test/cmake_install.cmake
+        test/cctest/CTestTestfile.cmake
+        test/cctest/cmake_install.cmake
+    "
+    for file in $files; do
+        sed -i -e "s|${B}|${PTEST_PATH}|g" -e "s|${S}|${PTEST_PATH}|g" -e "s|${WORKDIR}/recipe-sysroot-native||g" "${D}${PTEST_PATH}/${file}"
+    done
+
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/dc/files/run-ptest b/meta-openembedded/meta-oe/recipes-support/dc/files/run-ptest
new file mode 100644
index 0000000..9240a3f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/dc/files/run-ptest
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# This script runs tests taken from the github CI for the Double-Conversion library.
+# For more information, please see: https://github.com/google/double-conversion/blob/master/.github/workflows/ci.yml#L60
+
+# Count the number of failed tests
+NUM_FAILS=0
+
+# Run all tests using ctest
+ctest -V
+
+# VCount the number of failed tests by checking the LastTest.log file generated by ctest
+NUM_FAILS=$(grep -c "Failed" Testing/Temporary/LastTest.log)
+
+# Run the tests directly as well, just in case we forgot to add it to ctest
+test/cctest/cctest
+if [ $? -ne 0 ]; then
+    # If the test failed, increment the number of failed tests
+    NUM_FAILS=$(expr $NUM_FAILS + 1)
+fi
+
+# Return the number of failed tests
+exit $NUM_FAILS
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb
index 7b0a422..df210ef 100644
--- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb
@@ -5,6 +5,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
 
 SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz \
+           file://0001-largefile.m4-Update-from-latest-gnulib.patch \
           "
 SRC_URI:append:class-target = " file://usemake-docfile-native.patch"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/files/0001-largefile.m4-Update-from-latest-gnulib.patch b/meta-openembedded/meta-oe/recipes-support/emacs/files/0001-largefile.m4-Update-from-latest-gnulib.patch
new file mode 100644
index 0000000..72c0c0e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/files/0001-largefile.m4-Update-from-latest-gnulib.patch
@@ -0,0 +1,390 @@
+From c2bea3d033b5abd44698722d8eedc2b87373b33b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 2 Apr 2023 10:42:43 -0700
+Subject: [PATCH] largefile.m4: Update from latest gnulib
+
+brings in latest largefile specific changes which autoconf 2.72+ requires
+
+Upstream-Status: Inappropriate [Drop it with new emacs release which has it]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ m4/largefile.m4 | 330 ++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 263 insertions(+), 67 deletions(-)
+
+diff --git a/m4/largefile.m4 b/m4/largefile.m4
+index 3e8b5e3..7fb81b8 100644
+--- a/m4/largefile.m4
++++ b/m4/largefile.m4
+@@ -1,7 +1,7 @@
+ # Enable large files on systems where this is not the default.
+ # Enable support for files on Linux file systems with 64-bit inode numbers.
+ 
+-# Copyright 1992-1996, 1998-2022 Free Software Foundation, Inc.
++# Copyright 1992-1996, 1998-2023 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -10,8 +10,9 @@
+ # It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this
+ # setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko
+ # and ftello in C++ mode as well.
++# Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038.
+ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+-[
++ m4_ifndef([AC_SYS_YEAR2038], [[
+   AC_REQUIRE([AC_CANONICAL_HOST])
+   AC_FUNC_FSEEKO
+   case "$host_os" in
+@@ -20,10 +21,10 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+         [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).])
+       ;;
+   esac
+-])
++ ]])
++)
+ 
+-# Work around a problem in Autoconf through at least 2.71 on glibc 2.34+
+-# with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
++# Work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+ m4_version_prereq([2.70], [], [
+@@ -43,33 +44,258 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
+ ])
+ ])# m4_version_prereq 2.70
+ 
++# Support AC_SYS_YEAR2038, even if Autoconf 2.71 or earlier.
++# This code is taken from Autoconf master.
++m4_ifndef([AC_SYS_YEAR2038], [
++
++# _AC_SYS_YEAR2038_TEST_CODE
++# --------------------------
++# C code used to probe for time_t that can represent time points more
++# than 2**31 - 1 seconds after the epoch.  With the usual Unix epoch,
++# these correspond to dates after 2038-01-18 22:14:07 +0000 (Gregorian),
++# hence the name.
++AC_DEFUN([_AC_SYS_YEAR2038_TEST_CODE],
++[[
++  #include <time.h>
++  /* Check that time_t can represent 2**32 - 1 correctly.  */
++  #define LARGE_TIME_T \\
++    ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
++  int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
++                           && LARGE_TIME_T % 65537 == 0)
++                          ? 1 : -1];
++]])
++
++# _AC_SYS_YEAR2038_OPTIONS
++# ------------------------
++# List of known ways to enable support for large time_t.  If you change
++# this list you probably also need to change the AS_CASE at the end of
++# _AC_SYS_YEAR2038_PROBE.
++m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
++    ["none needed"]                   dnl 64-bit and newer 32-bit Unix
++    ["-D_TIME_BITS=64"]               dnl glibc 2.34 with some 32-bit ABIs
++    ["-D__MINGW_USE_VC2005_COMPAT"]   dnl 32-bit MinGW
++    ["-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"]
++                                      dnl 32-bit MinGW (misconfiguration)
++))
++
++# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED])
++# -----------------------------------------
++# Subroutine of AC_SYS_YEAR2038.  Probe for time_t that can represent
++# time points more than 2**31 - 1 seconds after the epoch (dates after
++# 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
++# to one of the values in the _AC_SYS_YEAR2038_OPTIONS list, or to
++# "support not detected" if none of them worked.  Then, set compilation
++# options and #defines as necessary to enable large time_t support.
++#
++# Note that we do not test whether mktime, localtime, etc. handle
++# large values of time_t correctly, as that would require use of
++# AC_TRY_RUN.  Note also that some systems only support large time_t
++# together with large off_t.
++#
++# If support is not detected, the behavior depends on which of the
++# top-level AC_SYS_YEAR2038 macros was used (see below).
++#
++# If you change this macro you may also need to change
++# _AC_SYS_YEAR2038_OPTIONS.
++AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
++[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038],
++  [ac_cv_sys_year2038_opts],
++  [ac_save_CPPFLAGS="$CPPFLAGS"
++  ac_opt_found=no
++  for ac_opt in _AC_SYS_YEAR2038_OPTIONS; do
++    AS_IF([test x"$ac_opt" != x"none needed"],
++      [CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"])
++    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_YEAR2038_TEST_CODE])],
++      [ac_cv_sys_year2038_opts="$ac_opt"
++      ac_opt_found=yes])
++    test $ac_opt_found = no || break
++  done
++  CPPFLAGS="$ac_save_CPPFLAGS"
++  test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected"])
++
++ac_have_year2038=yes
++AS_CASE([$ac_cv_sys_year2038_opts],
++  ["none needed"], [],
++  ["support not detected"],
++    [ac_have_year2038=no
++     AS_CASE([$enable_year2038],
++      [yes],
++        [# If we're not cross compiling and 'touch' works with a large
++        # timestamp, then we can presume the system supports wider time_t
++        # *somehow* and we just weren't able to detect it.  One common
++        # case that we deliberately *don't* probe for is a system that
++        # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
++        # wide time_t.  (It would be inappropriate for us to override an
++        # intentional use of -m32.)  Error out, demanding use of
++        # --disable-year2038 if this is intentional.
++        AS_IF([test $cross_compiling = no],
++          [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
++            [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
++              [*'Feb  7  2106'* | *'Feb  7 17:10'*],
++              [AC_MSG_FAILURE(m4_text_wrap(
++      [this system appears to support timestamps after January 2038,
++       but no mechanism for enabling wide 'time_t' was detected.
++       Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.)
++       To proceed with 32-bit time_t, configure with '--disable-year2038'.],
++      [], [], [55]))])])])])],
++
++  ["-D_TIME_BITS=64"],
++    [AC_DEFINE([_TIME_BITS], [64],
++      [Number of bits in time_t, on hosts where this is settable.])],
++
++  ["-D__MINGW_USE_VC2005_COMPAT=1"],
++    [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
++      [Define to 1 on platforms where this makes time_t a 64-bit type.])],
+ 
+-# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
+-#                               CACHE-VAR,
+-#                               DESCRIPTION,
+-#                               PROLOGUE, [FUNCTION-BODY])
+-# --------------------------------------------------------
+-m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
+-[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
+-[while :; do
+-  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+-    [AC_LANG_PROGRAM([$5], [$6])],
+-    [$3=no; break])
+-  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+-    [AC_LANG_PROGRAM([#undef $1
+-#define $1 $2
+-$5], [$6])],
+-    [$3=$2; break])
+-  $3=unknown
+-  break
+-done])
+-case $$3 in #(
+-  no | unknown) ;;
+-  *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);;
+-esac
+-rm -rf conftest*[]dnl
+-])# _AC_SYS_LARGEFILE_MACRO_VALUE
++  ["-U_USE_32_BIT_TIME_T"*],
++    [AC_MSG_FAILURE(m4_text_wrap(
++      [the 'time_t' type is currently forced to be 32-bit.
++       It will stop working after January 2038.
++       Remove _USE_32BIT_TIME_T from the compiler flags.],
++      [], [], [55]))],
++
++  [AC_MSG_ERROR(
++    [internal error: bad value for \$ac_cv_sys_year2038_opts])])
++])
++
++# _AC_SYS_YEAR2038_ENABLE
++# -----------------------
++# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN.
++# Depending on which of the YEAR2038 macros was used, add either an
++# --enable-year2038, or a --disable-year2038, or no option at all to
++# the configure script.  Note that this is expanded very late and
++# therefore there cannot be any code in the AC_ARG_ENABLE.  The
++# default value for enable_year2038 is emitted unconditionally
++# because the generated code always looks at this variable.
++m4_define([_AC_SYS_YEAR2038_ENABLE],
++[m4_divert_text([DEFAULTS],
++  m4_provide_if([AC_SYS_YEAR2038],
++    [enable_year2038=yes],
++    [enable_year2038=no]))]dnl
++[AC_ARG_ENABLE([year2038],
++  m4_provide_if([AC_SYS_YEAR2038],
++    [AS_HELP_STRING([--disable-year2038],
++      [do not support timestamps after 2038])],
++    [AS_HELP_STRING([--enable-year2038],
++      [support timestamps after 2038])]))])
++
++# _AC_SYS_YEAR2038_OPT_IN
++# -----------------------
++# If the --enable-year2038 option is given to configure, attempt to
++# detect and activate support for large time_t on 32-bit systems.
++# This macro is automatically invoked by AC_SYS_LARGEFILE when large
++# *file* support is detected.  It does not AC_REQUIRE AC_SYS_LARGEFILE
++# to avoid a dependency loop, and is therefore unsafe to expose as a
++# documented macro.
++AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
++[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
++  AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
++  AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
++])])
++
++# AC_SYS_YEAR2038
++# ---------------
++# Attempt to detect and activate support for large time_t.
++# On systems where time_t is not always 64 bits, this probe can be
++# skipped by passing the --disable-year2038 option to configure.
++AC_DEFUN([AC_SYS_YEAR2038],
++[AC_REQUIRE([AC_SYS_LARGEFILE])]dnl
++[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
++  AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
++  AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
++])])
++
++# _AC_SYS_LARGEFILE_TEST_CODE
++# ---------------------------
++# C code used to probe for large file support.
++m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
++[@%:@include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++    We can't simply define LARGE_OFF_T to be 9223372036854775807,
++    since some C++ compilers masquerading as C compilers
++    incorrectly reject 9223372036854775807.  */
++@%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
++  int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
++		       && LARGE_OFF_T % 2147483647 == 1)
++		      ? 1 : -1]];[]dnl
++])
++
++# _AC_SYS_LARGEFILE_OPTIONS
++# -------------------------
++# List of known ways to enable support for large files.  If you change
++# this list you probably also need to change the AS_CASE at the end of
++# _AC_SYS_LARGEFILE_PROBE.
++m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize(
++    ["none needed"]                   dnl Most current systems
++    ["-D_FILE_OFFSET_BITS=64"]        dnl X/Open LFS spec
++    ["-D_LARGE_FILES=1"]              dnl AIX (which versions?)
++    ["-n32"]                          dnl Irix 6.2 w/ SGI compiler
++))
++
++# _AC_SYS_LARGEFILE_PROBE
++# -----------------------
++# Subroutine of AC_SYS_LARGEFILE. Probe for large file support and set
++# the cache variable ac_cv_sys_largefile_opts to one of the values in
++# the _AC_SYS_LARGEFILE_OPTIONS list, or to "support not detected" if
++# none of the options in that list worked.  Then, set compilation
++# options and #defines as necessary to enable large file support.
++#
++# If large file support is not detected, the behavior depends on which of
++# the top-level AC_SYS_LARGEFILE macros was used (see below).
++#
++# If you change this macro you may also need to change
++# _AC_SYS_LARGEFILE_OPTIONS.
++AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
++[AC_CACHE_CHECK([for $CC option to enable large file support],
++  [ac_cv_sys_largefile_opts],
++  [ac_save_CC="$CC"
++  ac_opt_found=no
++  for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do
++    AS_IF([test x"$ac_opt" != x"none needed"],
++      [CC="$ac_save_CC $ac_opt"])
++    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])],
++      [ac_cv_sys_largefile_opts="$ac_opt"
++      ac_opt_found=yes])
++    test $ac_opt_found = no || break
++  done
++  CC="$ac_save_CC"
++  test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
++
++ac_have_largefile=yes
++AS_CASE([$ac_cv_sys_largefile_opts],
++  ["none needed"], [],
++  ["support not detected"],
++    [ac_have_largefile=no],
++
++  ["-D_FILE_OFFSET_BITS=64"],
++    [AC_DEFINE([_FILE_OFFSET_BITS], [64],
++      [Number of bits in a file offset, on hosts where this is settable.])],
++
++  ["-D_LARGE_FILES=1"],
++    [AC_DEFINE([_LARGE_FILES], [1],
++      [Define to 1 on platforms where this makes off_t a 64-bit type.])],
++
++  ["-n32"],
++    [CC="$CC -n32"],
++
++  [AC_MSG_ERROR(
++    [internal error: bad value for \$ac_cv_sys_largefile_opts])])
++
++_AC_SYS_YEAR2038_OPT_IN
++])
+ 
++# _AC_SYS_LARGEFILE_ENABLE
++# ------------------------
++# Subroutine of AC_SYS_LARGEFILE.  Note that this
++# is expanded very late and therefore there cannot be any code in the
++# AC_ARG_ENABLE.  The default value for enable_largefile is emitted
++# unconditionally because the generated shell code always looks at
++# this variable.
++m4_define([_AC_SYS_LARGEFILE_ENABLE],
++[m4_divert_text([DEFAULTS],
++  enable_largefile=yes)]dnl
++[AC_ARG_ENABLE([largefile],
++  [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])
+ 
+ # AC_SYS_LARGEFILE
+ # ----------------
+@@ -80,44 +306,14 @@ rm -rf conftest*[]dnl
+ # Additionally, on Linux file systems with 64-bit inodes a file that happens
+ # to have a 64-bit inode number cannot be accessed by 32-bit applications on
+ # Linux x86/x86_64.  This can occur with file systems such as XFS and NFS.
++# This macro allows configuration to continue if the system doesn't support
++# large files.
+ AC_DEFUN([AC_SYS_LARGEFILE],
+-[AC_ARG_ENABLE(largefile,
+-               [  --disable-largefile     omit support for large files])
+-AS_IF([test "$enable_largefile" != no],
+- [AC_CACHE_CHECK([for special C compiler options needed for large files],
+-    ac_cv_sys_largefile_CC,
+-    [ac_cv_sys_largefile_CC=no
+-     if test "$GCC" != yes; then
+-       ac_save_CC=$CC
+-       while :; do
+-         # IRIX 6.2 and later do not support large files by default,
+-         # so use the C compiler's -n32 option if that helps.
+-         AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
+-         AC_COMPILE_IFELSE([], [break])
+-         CC="$CC -n32"
+-         AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
+-         break
+-       done
+-       CC=$ac_save_CC
+-       rm -f conftest.$ac_ext
+-    fi])
+-  if test "$ac_cv_sys_largefile_CC" != no; then
+-    CC=$CC$ac_cv_sys_largefile_CC
+-  fi
+-
+-  _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
+-    ac_cv_sys_file_offset_bits,
+-    [Number of bits in a file offset, on hosts where this is settable.],
+-    [_AC_SYS_LARGEFILE_TEST_INCLUDES])
+-  AS_CASE([$ac_cv_sys_file_offset_bits],
+-    [unknown],
+-      [_AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1],
+-         [ac_cv_sys_large_files],
+-         [Define for large files, on AIX-style hosts.],
+-         [_AC_SYS_LARGEFILE_TEST_INCLUDES])],
+-    [64],
+-      [gl_YEAR2038_BODY([])])])
+-])# AC_SYS_LARGEFILE
++[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
++  AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE])
++  AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
++])])
++])# m4_ifndef AC_SYS_YEAR2038
+ 
+ # Enable large files on systems where this is implemented by Gnulib, not by the
+ # system headers.
+-- 
+2.40.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.10.0.bb b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.10.0.bb
index a1bf67c..0fc779a 100644
--- a/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.10.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/freerdp/freerdp_2.10.0.bb
@@ -28,6 +28,7 @@
     -DBUILD_STATIC_LIBS=OFF \
     -DCMAKE_POSITION_INDEPENDANT_CODE=ON \
     -DWITH_MANPAGES=OFF \
+    -DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \
 "
 
 PACKAGECONFIG ??= " \
diff --git a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.0.bb b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.0.bb
index 4feec61..d0ff2ef 100644
--- a/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hdf5/hdf5_1.14.0.bb
@@ -7,7 +7,7 @@
 LICENSE = "HDF5"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ac1039f6bf7c9ab2b3693836f46d0735"
 
-inherit cmake siteinfo qemu
+inherit cmake siteinfo qemu multilib_header
 
 DEPENDS += "qemu-native"
 
@@ -44,6 +44,7 @@
     # Used for generating config files on target
     install -m 755 ${B}/bin/H5detect ${D}${bindir}
     install -m 755 ${B}/bin/H5make_libsettings ${D}${bindir}
+    oe_multilib_header H5pubconf.h
 }
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.368.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.369.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.368.bb
rename to meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.369.bb
index 786cc00..c20e243 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.368.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_0.369.bb
@@ -5,7 +5,7 @@
 LICENSE = "GPL-2.0-or-later | XFree86-1.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
 
-SRCREV = "0e25d93ac6433791edbb9d28b3f8eae0cf5e46ff"
+SRCREV = "ced93f9d1c15e45e35378e82b8da96027e58174a"
 SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick/0001-m4-Use-autconf-provided-AC_FUNC_FSEEKO.patch b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick/0001-m4-Use-autconf-provided-AC_FUNC_FSEEKO.patch
new file mode 100644
index 0000000..6b225a1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick/0001-m4-Use-autconf-provided-AC_FUNC_FSEEKO.patch
@@ -0,0 +1,42 @@
+From 0912e49d58c2a5f455fabf76ab7dc61cfc44cfb9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 30 Mar 2023 20:50:26 -0700
+Subject: [PATCH] m4: Use autconf provided AC_FUNC_FSEEKO
+
+This helps in building with autoconf 2.72
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ m4/ac_func_fseeko.m4 | 18 +-----------------
+ 1 file changed, 1 insertion(+), 17 deletions(-)
+
+diff --git a/m4/ac_func_fseeko.m4 b/m4/ac_func_fseeko.m4
+index eaeabb978..f9b8859cf 100644
+--- a/m4/ac_func_fseeko.m4
++++ b/m4/ac_func_fseeko.m4
+@@ -53,20 +53,4 @@
+ # --------------
+ AN_FUNCTION([ftello], [AC_FUNC_FSEEKO])
+ AN_FUNCTION([fseeko], [AC_FUNC_FSEEKO])
+-AC_DEFUN([AC_FUNC_FSEEKO],
+-[_AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 1,
+-   [ac_cv_sys_largefile_source],
+-   [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).],
+-   [[#include <sys/types.h> /* for off_t */
+-     #include <stdio.h>]],
+-   [[int (*fp) (FILE *, off_t, int) = fseeko;
+-     return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);]])
+-
+-# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
+-# in glibc 2.1.3, but that breaks too many other things.
+-# If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
+-if test $ac_cv_sys_largefile_source != unknown; then
+-  AC_DEFINE(HAVE_FSEEKO, 1,
+-    [Define to 1 if fseeko (and presumably ftello) exists and is declared.])
+-fi
+-])# AC_FUNC_FSEEKO
++AC_FUNC_FSEEKO
+-- 
+2.40.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
rename to meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb
index b6344a3..07434c0 100644
--- a/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
+++ b/meta-openembedded/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb
@@ -4,23 +4,27 @@
 DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \
 editing raster and vector image files. It can read and write over 200 image file formats."
 LICENSE = "ImageMagick"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b97c12a9213df1499565d69b92c73dd7 \
-                    file://NOTICE;md5=d8b9d2ccf273687ad12ebd06e5d8478f"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ac58ac14f9d9d02cafd2d81ef38fb2cc \
+                    file://NOTICE;md5=bcbf1f1897b40ec8df39700cb560e9ed"
 # FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
 DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
 
 BASE_PV := "${PV}"
-PV .= "-62"
-SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https"
-SRCREV = "35b4991eb0939a327f3489988c366e21068b0178"
+PV .= "-5"
+SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https \
+           file://0001-m4-Use-autconf-provided-AC_FUNC_FSEEKO.patch"
+SRCREV = "2d24be538f286962c355cf422bb525375ac77998"
 
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig update-alternatives
+export ac_cv_sys_file_offset_bits="64"
 
 # xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
 # if someone needs xml support then fix it first
-EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --disable-openmp --without-xml --disable-opencl"
+EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl \
+                --disable-openmp --without-xml --disable-opencl \
+                --enable-largefile"
 
 PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
 PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus"
diff --git a/meta-openembedded/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch b/meta-openembedded/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch
deleted file mode 100644
index 9ac0770..0000000
--- a/meta-openembedded/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch
+++ /dev/null
@@ -1,898 +0,0 @@
-From ec3e1f411c332cbc2f2bc7ab7e2175ebf918b37a Mon Sep 17 00:00:00 2001
-From: Peter Oberparleiter <oberpar@linux.ibm.com>
-Date: Fri, 24 May 2019 16:56:52 +0200
-Subject: [PATCH 1/2] geninfo: Add intermediate text format support
-
-This change adds support for parsing the output of gcov's intermediate
-text file format as implemented by GCC versions 5 to 8.  The use of the
-gcov intermediate format should increase processing speed. It also
-provides branch coverage data when using the --initial command line
-option.
-
-Users can control whether geninfo uses the intermediate format via the
-geninfo_intermediate configuration file option. Valid values are:
-
-     0: Use normal text format
-     1: Use intermediate format
-  auto: Use intermediate format if available. This is the default.
-
-Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
----
- bin/geninfo  | 567 ++++++++++++++++++++++++++++++++++++++++++++-------
- lcovrc       |   3 +
- man/lcovrc.5 |  24 +++
- 3 files changed, 521 insertions(+), 73 deletions(-)
-
-Upstream-Status: Backport
-Download URL: https://github.com/linux-test-project/lcov/commit/ebfeb3e179e450c69c3532f98cd5ea1fbf6ccba7
-
-diff --git a/bin/geninfo b/bin/geninfo
-index f41eaec..0276666 100755
---- a/bin/geninfo
-+++ b/bin/geninfo
-@@ -54,6 +54,8 @@ use warnings;
- use File::Basename; 
- use File::Spec::Functions qw /abs2rel catdir file_name_is_absolute splitdir
- 			      splitpath catpath/;
-+use File::Temp qw(tempfile tempdir);
-+use File::Copy qw(copy);
- use Getopt::Long;
- use Digest::MD5 qw(md5_base64);
- use Cwd qw/abs_path/;
-@@ -163,13 +165,13 @@ sub solve_relative_path($$);
- sub read_gcov_header($);
- sub read_gcov_file($);
- sub info(@);
-+sub process_intermediate($$$);
- sub map_llvm_version($);
- sub version_to_str($);
- sub get_gcov_version();
- sub system_no_output($@);
- sub read_config($);
- sub apply_config($);
--sub get_exclusion_data($);
- sub apply_exclusion_data($$);
- sub process_graphfile($$);
- sub filter_fn_name($);
-@@ -264,6 +266,8 @@ our $gcno_split_crc;
- our $func_coverage = 1;
- our $br_coverage = 0;
- our $rc_auto_base = 1;
-+our $rc_intermediate = "auto";
-+our $intermediate;
- our $excl_line = "LCOV_EXCL_LINE";
- our $excl_br_line = "LCOV_EXCL_BR_LINE";
- 
-@@ -331,6 +335,7 @@ if ($config || %opt_rc)
- 		"geninfo_compat"		=> \$opt_compat,
- 		"geninfo_adjust_src_path"	=> \$rc_adjust_src_path,
- 		"geninfo_auto_base"		=> \$rc_auto_base,
-+		"geninfo_intermediate"		=> \$rc_intermediate,
- 		"lcov_function_coverage"	=> \$func_coverage,
- 		"lcov_branch_coverage"		=> \$br_coverage,
- 		"lcov_excl_line"		=> \$excl_line,
-@@ -460,15 +465,38 @@ if (system_no_output(3, $gcov_tool, "--help") == -1)
- }
- 
- ($gcov_version, $gcov_version_string) = get_gcov_version();
-+$gcov_caps = get_gcov_capabilities();
-+
-+# Determine intermediate mode
-+if ($rc_intermediate eq "0") {
-+	$intermediate = 0;
-+} elsif ($rc_intermediate eq "1") {
-+	$intermediate = 1;
-+} elsif (lc($rc_intermediate) eq "auto") {
-+	# Use intermediate format if supported by gcov
-+	$intermediate = $gcov_caps->{'intermediate-format'} ? 1 : 0;
-+} else {
-+	die("ERROR: invalid value for geninfo_intermediate: ".
-+	    "'$rc_intermediate'\n");
-+}
-+
-+if ($intermediate) {
-+	info("Using intermediate gcov format\n");
-+	if ($opt_derive_func_data) {
-+		warn("WARNING: --derive-func-data is not compatible with ".
-+		     "intermediate format - ignoring\n");
-+		$opt_derive_func_data = 0;
-+	}
-+}
- 
- # Determine gcov options
--$gcov_caps = get_gcov_capabilities();
- push(@gcov_options, "-b") if ($gcov_caps->{'branch-probabilities'} &&
- 			      ($br_coverage || $func_coverage));
- push(@gcov_options, "-c") if ($gcov_caps->{'branch-counts'} &&
- 			      $br_coverage);
- push(@gcov_options, "-a") if ($gcov_caps->{'all-blocks'} &&
--			      $opt_gcov_all_blocks && $br_coverage);
-+			      $opt_gcov_all_blocks && $br_coverage &&
-+			      !$intermediate);
- if ($gcov_caps->{'hash-filenames'})
- {
- 	push(@gcov_options, "-x");
-@@ -599,7 +627,7 @@ foreach my $entry (@data_directory) {
- 	gen_info($entry);
- }
- 
--if ($initial && $br_coverage) {
-+if ($initial && $br_coverage && !$intermediate) {
- 	warn("Note: --initial does not generate branch coverage ".
- 	     "data\n");
- }
-@@ -768,6 +796,7 @@ sub gen_info($)
- 	my $prefix;
- 	my $type;
- 	my $ext;
-+	my $tempdir;
- 
- 	if ($initial) {
- 		$type = "graph";
-@@ -798,16 +827,22 @@ sub gen_info($)
- 		$prefix = "";
- 	}
- 
-+	$tempdir = tempdir(CLEANUP => 1);
-+
- 	# Process all files in list
- 	foreach $file (@file_list) {
- 		# Process file
--		if ($initial) {
-+		if ($intermediate) {
-+			process_intermediate($file, $prefix, $tempdir);
-+		} elsif ($initial) {
- 			process_graphfile($file, $prefix);
- 		} else {
- 			process_dafile($file, $prefix);
- 		}
- 	}
- 
-+	unlink($tempdir);
-+
- 	# Report whether files were excluded.
- 	if (%excluded_files) {
- 		info("Excluded data for %d files due to include/exclude options\n",
-@@ -1058,10 +1093,12 @@ sub process_dafile($$)
- 
- 	# Try to find base directory automatically if requested by user
- 	if ($rc_auto_base) {
--		$base_dir = find_base_from_graph($base_dir, $instr, $graph);
-+		$base_dir = find_base_from_source($base_dir,
-+			[ keys(%{$instr}), keys(%{$graph}) ]);
- 	}
- 
--	($instr, $graph) = adjust_graph_filenames($base_dir, $instr, $graph);
-+	adjust_source_filenames($instr, $base_dir);
-+	adjust_source_filenames($graph, $base_dir);
- 
- 	# Set $object_dir to real location of object files. This may differ
- 	# from $da_dir if the graph file is just a link to the "real" object
-@@ -2017,6 +2054,299 @@ sub read_gcov_file($)
- }
- 
- 
-+#
-+# read_intermediate_text(gcov_filename, data)
-+#
-+# Read gcov intermediate text format in GCOV_FILENAME and add the resulting
-+# data to DATA in the following format:
-+#
-+# data:      source_filename -> file_data
-+# file_data: concatenated lines of intermediate text data
-+#
-+
-+sub read_intermediate_text($$)
-+{
-+	my ($gcov_filename, $data) = @_;
-+	my $fd;
-+	my $filename;
-+
-+	open($fd, "<", $gcov_filename) or
-+		die("ERROR: Could not read $gcov_filename: $!\n");
-+	while (my $line = <$fd>) {
-+		if ($line =~ /^file:(.*)$/) {
-+			$filename = $1;
-+			chomp($filename);
-+		} elsif (defined($filename)) {
-+			$data->{$filename} .= $line;
-+		}
-+	}
-+	close($fd);
-+}
-+
-+
-+#
-+# intermediate_text_to_info(fd, data, srcdata)
-+#
-+# Write DATA in info format to file descriptor FD.
-+#
-+# data:      filename -> file_data:
-+# file_data: concatenated lines of intermediate text data
-+#
-+# srcdata:   filename -> [ excl, brexcl, checksums ]
-+# excl:      lineno -> 1 for all lines for which to exclude all data
-+# brexcl:    lineno -> 1 for all lines for which to exclude branch data
-+# checksums: lineno -> source code checksum
-+#
-+# Note: To simplify processing, gcov data is not combined here, that is counts
-+#       that appear multiple times for the same lines/branches are not added.
-+#       This is done by lcov/genhtml when reading the data files.
-+#
-+
-+sub intermediate_text_to_info($$$)
-+{
-+	my ($fd, $data, $srcdata) = @_;
-+	my $branch_num = 0;
-+	my $c;
-+
-+	return if (!%{$data});
-+
-+	print($fd "TN:$test_name\n");
-+	for my $filename (keys(%{$data})) {
-+		my ($excl, $brexcl, $checksums);
-+
-+		if (defined($srcdata->{$filename})) {
-+			($excl, $brexcl, $checksums) = @{$srcdata->{$filename}};
-+		}
-+
-+		print($fd "SF:$filename\n");
-+		for my $line (split(/\n/, $data->{$filename})) {
-+			if ($line =~ /^lcount:(\d+),(\d+),?/) {
-+				# lcount:<line>,<count>
-+				# lcount:<line>,<count>,<has_unexecuted_blocks>
-+				if ($checksum && exists($checksums->{$1})) {
-+					$c = ",".$checksums->{$1};
-+				} else {
-+					$c = "";
-+				}
-+				print($fd "DA:$1,$2$c\n") if (!$excl->{$1});
-+
-+				# Intermediate text format does not provide
-+				# branch numbers, and the same branch may appear
-+				# multiple times on the same line (e.g. in
-+				# template instances). Synthesize a branch
-+				# number based on the assumptions:
-+				# a) the order of branches is fixed across
-+				#    instances
-+				# b) an instance starts with an lcount line
-+				$branch_num = 0;
-+			} elsif ($line =~ /^function:(\d+),(\d+),([^,]+)$/) {
-+				next if (!$func_coverage || $excl->{$1});
-+
-+				# function:<line>,<count>,<name>
-+				print($fd "FN:$1,$3\n");
-+				print($fd "FNDA:$2,$3\n");
-+			} elsif ($line =~ /^function:(\d+),\d+,(\d+),([^,]+)$/) {
-+				next if (!$func_coverage || $excl->{$1});
-+
-+				# function:<start_line>,<end_line>,<count>,
-+				#          <name>
-+				print($fd "FN:$1,$3\n");
-+				print($fd "FNDA:$2,$3\n");
-+			} elsif ($line =~ /^branch:(\d+),(taken|nottaken|notexec)/) {
-+				next if (!$br_coverage || $excl->{$1} ||
-+					 $brexcl->{$1});
-+
-+				# branch:<line>,taken|nottaken|notexec
-+				if ($2 eq "taken") {
-+					$c = 1;
-+				} elsif ($2 eq "nottaken") {
-+					$c = 0;
-+				} else {
-+					$c = "-";
-+				}
-+				print($fd "BRDA:$1,0,$branch_num,$c\n");
-+				$branch_num++;
-+			}
-+		}
-+		print($fd "end_of_record\n");
-+	}
-+}
-+
-+
-+sub get_output_fd($$)
-+{
-+	my ($outfile, $file) = @_;
-+	my $fd;
-+
-+	if (!defined($outfile)) {
-+		open($fd, ">", "$file.info") or
-+			die("ERROR: Cannot create file $file.info: $!\n");
-+	} elsif ($outfile eq "-") {
-+		open($fd, ">&STDOUT") or
-+			die("ERROR: Cannot duplicate stdout: $!\n");
-+	} else {
-+		open($fd, ">>", $outfile) or
-+			die("ERROR: Cannot write to file $outfile: $!\n");
-+	}
-+
-+	return $fd;
-+}
-+
-+
-+#
-+# print_gcov_warnings(stderr_file, is_graph, map)
-+#
-+# Print GCOV warnings in file STDERR_FILE to STDERR. If IS_GRAPH is non-zero,
-+# suppress warnings about missing as these are expected. Replace keys found
-+# in MAP with their values.
-+#
-+
-+sub print_gcov_warnings($$$)
-+{
-+	my ($stderr_file, $is_graph, $map) = @_;
-+	my $fd;
-+
-+	if (!open($fd, "<", $stderr_file)) {
-+		warn("WARNING: Could not open GCOV stderr file ".
-+		     "$stderr_file: $!\n");
-+		return;
-+	}
-+	while (my $line = <$fd>) {
-+		next if ($is_graph && $line =~ /cannot open data file/);
-+
-+		for my $key (keys(%{$map})) {
-+			$line =~ s/\Q$key\E/$map->{$key}/g;
-+		}
-+
-+		print(STDERR $line);
-+	}
-+	close($fd);
-+}
-+
-+
-+#
-+# process_intermediate(file, dir, tempdir)
-+#
-+# Create output for a single file (either a data file or a graph file) using
-+# gcov's intermediate option.
-+#
-+
-+sub process_intermediate($$$)
-+{
-+	my ($file, $dir, $tempdir) = @_;
-+	my ($fdir, $fbase, $fext);
-+	my $data_file;
-+	my $errmsg;
-+	my %data;
-+	my $fd;
-+	my $base;
-+	my $srcdata;
-+	my $is_graph = 0;
-+	my ($out, $err, $rc);
-+
-+	info("Processing %s\n", abs2rel($file, $dir));
-+
-+	$file = solve_relative_path($cwd, $file);
-+	($fdir, $fbase, $fext) = split_filename($file);
-+
-+	$is_graph = 1 if (".$fext" eq $graph_file_extension);
-+
-+	if ($is_graph) {
-+		# Process graph file - copy to temp directory to prevent
-+		# accidental processing of associated data file
-+		$data_file = "$tempdir/$fbase$graph_file_extension";
-+		if (!copy($file, $data_file)) {
-+			$errmsg = "ERROR: Could not copy file $file";
-+			goto err;
-+		}
-+	} else {
-+		# Process data file in place
-+		$data_file = $file;
-+	}
-+
-+	# Change directory
-+	if (!chdir($tempdir)) {
-+		$errmsg = "Could not change to directory $tempdir: $!";
-+		goto err;
-+	}
-+
-+	# Run gcov on data file
-+	($out, $err, $rc) = system_no_output(1 + 2 + 4, $gcov_tool,
-+					     $data_file, @gcov_options, "-i");
-+	defined($out) && unlink($out);
-+	if (defined($err)) {
-+		print_gcov_warnings($err, $is_graph, {
-+			$data_file => $file,
-+		});
-+		unlink($err);
-+	}
-+	if ($rc) {
-+		$errmsg = "GCOV failed for $file";
-+		goto err;
-+	}
-+
-+	if ($is_graph) {
-+		# Remove graph file copy
-+		unlink($data_file);
-+	}
-+
-+	# Parse resulting file(s)
-+	for my $gcov_filename (glob("*.gcov")) {
-+		read_intermediate_text($gcov_filename, \%data);
-+		unlink($gcov_filename);
-+	}
-+
-+	if (!%data) {
-+		warn("WARNING: GCOV did not produce any data for $file\n");
-+		return;
-+	}
-+
-+	# Determine base directory
-+	if (defined($base_directory)) {
-+		$base = $base_directory;
-+	} else {
-+		$base = $fdir;
-+
-+		if (is_compat($COMPAT_MODE_LIBTOOL)) {
-+			# Avoid files from .libs dirs
-+			$base =~ s/\.libs$//;
-+		}
-+
-+		# Try to find base directory automatically if requested by user
-+		if ($rc_auto_base) {
-+			$base = find_base_from_source($base, [ keys(%data) ]);
-+		}
-+	}
-+
-+	# Apply base file name to relative source files
-+	adjust_source_filenames(\%data, $base);
-+
-+	# Remove excluded source files
-+	filter_source_files(\%data);
-+
-+	# Get data on exclusion markers and checksums if requested
-+	if (!$no_markers || $checksum) {
-+		$srcdata = get_all_source_data(keys(%data));
-+	}
-+
-+	# Generate output
-+	$fd = get_output_fd($output_filename, $file);
-+	intermediate_text_to_info($fd, \%data, $srcdata);
-+	close($fd);
-+
-+	chdir($cwd);
-+
-+	return;
-+
-+err:
-+	if ($ignore[$ERROR_GCOV]) {
-+		warn("WARNING: $errmsg!\n");
-+	} else {
-+		die("ERROR: $errmsg!\n")
-+	}
-+}
-+
-+
- # Map LLVM versions to the version of GCC gcov which they emulate.
- 
- sub map_llvm_version($)
-@@ -2151,8 +2481,12 @@ sub int_handler()
- #
- #   MODE & 1: suppress STDOUT
- #   MODE & 2: suppress STDERR
-+#   MODE & 4: redirect to temporary files instead of suppressing
- #
--# Return 0 on success, non-zero otherwise.
-+# Return (stdout, stderr, rc):
-+#    stdout: path to tempfile containing stdout or undef
-+#    stderr: path to tempfile containing stderr or undef
-+#    0 on success, non-zero otherwise
- #
- 
- sub system_no_output($@)
-@@ -2161,14 +2495,31 @@ sub system_no_output($@)
- 	my $result;
- 	local *OLD_STDERR;
- 	local *OLD_STDOUT;
-+	my $stdout_file;
-+	my $stderr_file;
-+	my $fd;
- 
- 	# Save old stdout and stderr handles
- 	($mode & 1) && open(OLD_STDOUT, ">>&", "STDOUT");
- 	($mode & 2) && open(OLD_STDERR, ">>&", "STDERR");
- 
--	# Redirect to /dev/null
--	($mode & 1) && open(STDOUT, ">", "/dev/null");
--	($mode & 2) && open(STDERR, ">", "/dev/null");
-+	if ($mode & 4) {
-+		# Redirect to temporary files
-+		if ($mode & 1) {
-+			($fd, $stdout_file) = tempfile(UNLINK => 1);
-+			open(STDOUT, ">", $stdout_file) || warn("$!\n");
-+			close($fd);
-+		}
-+		if ($mode & 2) {
-+			($fd, $stderr_file) = tempfile(UNLINK => 1);
-+			open(STDERR, ">", $stderr_file) || warn("$!\n");
-+			close($fd);
-+		}
-+	} else {
-+		# Redirect to /dev/null
-+		($mode & 1) && open(STDOUT, ">", "/dev/null");
-+		($mode & 2) && open(STDERR, ">", "/dev/null");
-+	}
-  
- 	debug("system(".join(' ', @_).")\n");
- 	system(@_);
-@@ -2181,8 +2532,18 @@ sub system_no_output($@)
- 	# Restore old handles
- 	($mode & 1) && open(STDOUT, ">>&", "OLD_STDOUT");
- 	($mode & 2) && open(STDERR, ">>&", "OLD_STDERR");
-+
-+	# Remove empty output files
-+	if (defined($stdout_file) && -z $stdout_file) {
-+		unlink($stdout_file);
-+		$stdout_file = undef;
-+	}
-+	if (defined($stderr_file) && -z $stderr_file) {
-+		unlink($stderr_file);
-+		$stderr_file = undef;
-+	}
-  
--	return $result;
-+	return ($stdout_file, $stderr_file, $result);
- }
- 
- 
-@@ -2260,23 +2621,28 @@ sub apply_config($)
- 
- 
- #
--# get_exclusion_data(filename)
-+# get_source_data(filename)
- #
--# Scan specified source code file for exclusion markers and return
--#   linenumber -> 1
--# for all lines which should be excluded.
-+# Scan specified source code file for exclusion markers and checksums. Return
-+#   ( excl, brexcl, checksums ) where
-+#   excl:      lineno -> 1 for all lines for which to exclude all data
-+#   brexcl:    lineno -> 1 for all lines for which to exclude branch data
-+#   checksums: lineno -> source code checksum
- #
- 
--sub get_exclusion_data($)
-+sub get_source_data($)
- {
- 	my ($filename) = @_;
- 	my %list;
- 	my $flag = 0;
-+	my %brdata;
-+	my $brflag = 0;
-+	my %checksums;
- 	local *HANDLE;
- 
- 	if (!open(HANDLE, "<", $filename)) {
- 		warn("WARNING: could not open $filename\n");
--		return undef;
-+		return;
- 	}
- 	while (<HANDLE>) {
- 		if (/$EXCL_STOP/) {
-@@ -2287,14 +2653,62 @@ sub get_exclusion_data($)
- 		if (/$excl_line/ || $flag) {
- 			$list{$.} = 1;
- 		}
-+		if (/$EXCL_BR_STOP/) {
-+			$brflag = 0;
-+		} elsif (/$EXCL_BR_START/) {
-+			$brflag = 1;
-+		}
-+		if (/$excl_br_line/ || $brflag) {
-+			$brdata{$.} = 1;
-+		}
-+		if ($checksum) {
-+			chomp();
-+			$checksums{$.} = md5_base64($_);
-+		}
- 	}
- 	close(HANDLE);
- 
--	if ($flag) {
-+	if ($flag || $brflag) {
- 		warn("WARNING: unterminated exclusion section in $filename\n");
- 	}
- 
--	return \%list;
-+	return (\%list, \%brdata, \%checksums);
-+}
-+
-+
-+#
-+# get_all_source_data(filenames)
-+#
-+# Scan specified source code files for exclusion markers and return
-+#   filename -> [ excl, brexcl, checksums ]
-+#   excl:      lineno -> 1 for all lines for which to exclude all data
-+#   brexcl:    lineno -> 1 for all lines for which to exclude branch data
-+#   checksums: lineno -> source code checksum
-+#
-+
-+sub get_all_source_data(@)
-+{
-+	my @filenames = @_;
-+	my %data;
-+	my $failed = 0;
-+
-+	for my $filename (@filenames) {
-+		my @d;
-+		next if (exists($data{$filename}));
-+
-+		@d = get_source_data($filename);
-+		if (@d) {
-+			$data{$filename} = [ @d ];
-+		} else {
-+			$failed = 1;
-+		}
-+	}
-+
-+	if ($failed) {
-+		warn("WARNING: some exclusion markers may be ignored\n");
-+	}
-+
-+	return \%data;
- }
- 
- 
-@@ -2318,35 +2732,17 @@ sub apply_exclusion_data($$)
- {
- 	my ($instr, $graph) = @_;
- 	my $filename;
--	my %excl_data;
--	my $excl_read_failed = 0;
-+	my $excl_data;
- 
--	# Collect exclusion marker data
--	foreach $filename (sort_uniq_lex(keys(%{$graph}), keys(%{$instr}))) {
--		my $excl = get_exclusion_data($filename);
--
--		# Skip and note if file could not be read
--		if (!defined($excl)) {
--			$excl_read_failed = 1;
--			next;
--		}
--
--		# Add to collection if there are markers
--		$excl_data{$filename} = $excl if (keys(%{$excl}) > 0);
--	}
--
--	# Warn if not all source files could be read
--	if ($excl_read_failed) {
--		warn("WARNING: some exclusion markers may be ignored\n");
--	}
-+	($excl_data) = get_all_source_data(keys(%{$graph}), keys(%{$instr}));
- 
- 	# Skip if no markers were found
--	return ($instr, $graph) if (keys(%excl_data) == 0);
-+	return ($instr, $graph) if (!%$excl_data);
- 
- 	# Apply exclusion marker data to graph
--	foreach $filename (keys(%excl_data)) {
-+	foreach $filename (keys(%$excl_data)) {
- 		my $function_data = $graph->{$filename};
--		my $excl = $excl_data{$filename};
-+		my $excl = $excl_data->{$filename}->[0];
- 		my $function;
- 
- 		next if (!defined($function_data));
-@@ -2384,9 +2780,9 @@ sub apply_exclusion_data($$)
- 	}
- 
- 	# Apply exclusion marker data to instr
--	foreach $filename (keys(%excl_data)) {
-+	foreach $filename (keys(%$excl_data)) {
- 		my $line_data = $instr->{$filename};
--		my $excl = $excl_data{$filename};
-+		my $excl = $excl_data->{$filename}->[0];
- 		my $line;
- 		my @new_data;
- 
-@@ -2468,10 +2864,12 @@ sub process_graphfile($$)
- 
- 	# Try to find base directory automatically if requested by user
- 	if ($rc_auto_base) {
--		$base_dir = find_base_from_graph($base_dir, $instr, $graph);
-+		$base_dir = find_base_from_source($base_dir,
-+			[ keys(%{$instr}), keys(%{$graph}) ]);
- 	}
- 
--	($instr, $graph) = adjust_graph_filenames($base_dir, $instr, $graph);
-+	adjust_source_filenames($instr, $base_dir);
-+	adjust_source_filenames($graph, $base_dir);
- 
- 	if (!$no_markers) {
- 		# Apply exclusion marker data to graph file data
-@@ -2767,11 +3165,11 @@ sub parent_dir($)
- }
- 
- #
--# find_base_from_graph(base_dir, instr, graph)
-+# find_base_from_source(base_dir, source_files)
- #
--# Try to determine the base directory of the graph file specified by INSTR
--# and GRAPH. The base directory is the base for all relative filenames in
--# the graph file. It is defined by the current working directory at time
-+# Try to determine the base directory of the object file built from
-+# SOURCE_FILES. The base directory is the base for all relative filenames in
-+# the gcov data. It is defined by the current working directory at time
- # of compiling the source file.
- #
- # This function implements a heuristic which relies on the following
-@@ -2781,16 +3179,16 @@ sub parent_dir($)
- # - files by the same name are not present in multiple parent directories
- #
- 
--sub find_base_from_graph($$$)
-+sub find_base_from_source($$)
- {
--	my ($base_dir, $instr, $graph) = @_;
-+	my ($base_dir, $source_files) = @_;
- 	my $old_base;
- 	my $best_miss;
- 	my $best_base;
- 	my %rel_files;
- 
- 	# Determine list of relative paths
--	foreach my $filename (keys(%{$instr}), keys(%{$graph})) {
-+	foreach my $filename (@$source_files) {
- 		next if (file_name_is_absolute($filename));
- 
- 		$rel_files{$filename} = 1;
-@@ -2829,17 +3227,17 @@ sub find_base_from_graph($$$)
- }
- 
- #
--# adjust_graph_filenames(base_dir, instr, graph)
-+# adjust_source_filenames(hash, base_dir)
- #
--# Make relative paths in INSTR and GRAPH absolute and apply
--# geninfo_adjust_src_path setting to graph file data.
-+# Transform all keys of HASH to absolute form and apply requested
-+# transformations.
- #
- 
--sub adjust_graph_filenames($$$)
-+sub adjust_source_filenames($$$)
- {
--	my ($base_dir, $instr, $graph) = @_;
-+	my ($hash, $base_dir) = @_;
- 
--	foreach my $filename (keys(%{$instr})) {
-+	foreach my $filename (keys(%{$hash})) {
- 		my $old_filename = $filename;
- 
- 		# Convert to absolute canonical form
-@@ -2851,28 +3249,50 @@ sub adjust_graph_filenames($$$)
- 		}
- 
- 		if ($filename ne $old_filename) {
--			$instr->{$filename} = delete($instr->{$old_filename});
-+			$hash->{$filename} = delete($hash->{$old_filename});
- 		}
- 	}
-+}
- 
--	foreach my $filename (keys(%{$graph})) {
--		my $old_filename = $filename;
- 
--		# Make absolute
--		# Convert to absolute canonical form
--		$filename = solve_relative_path($base_dir, $filename);
-+#
-+# filter_source_files(hash)
-+#
-+# Remove unwanted source file data from HASH.
-+#
- 
--		# Apply adjustment
--		if (defined($adjust_src_pattern)) {
--			$filename =~ s/$adjust_src_pattern/$adjust_src_replace/g;
-+sub filter_source_files($)
-+{
-+	my ($hash) = @_;
-+
-+	foreach my $filename (keys(%{$hash})) {
-+		# Skip external files if requested
-+		goto del if (!$opt_external && is_external($filename));
-+
-+		# Apply include patterns
-+		if (@include_patterns) {
-+			my $keep;
-+
-+			foreach my $pattern (@include_patterns) {
-+				if ($filename =~ (/^$pattern$/)) {
-+					$keep = 1;
-+					last;
-+				}
-+			}
-+			goto del if (!$keep);
- 		}
- 
--		if ($filename ne $old_filename) {
--			$graph->{$filename} = delete($graph->{$old_filename});
-+		# Apply exclude patterns
-+		foreach my $pattern (@exclude_patterns) {
-+			goto del if ($filename =~ (/^$pattern$/));
- 		}
--	}
-+		next;
- 
--	return ($instr, $graph);
-+del:
-+		# Remove file data
-+		delete($hash->{$filename});
-+		$excluded_files{$filename} = 1;
-+	}
- }
- 
- #
-@@ -3784,6 +4204,7 @@ sub get_gcov_capabilities()
- 		'c' => 'branch-counts',
- 		'f' => 'function-summaries',
- 		'h' => 'help',
-+		'i' => 'intermediate-format',
- 		'l' => 'long-file-names',
- 		'n' => 'no-output',
- 		'o' => 'object-directory',
-diff --git a/lcovrc b/lcovrc
-index 40f364f..bd4bc3b 100644
---- a/lcovrc
-+++ b/lcovrc
-@@ -134,6 +134,9 @@ genhtml_desc_html=0
- # when collecting coverage data.
- geninfo_auto_base = 1
- 
-+# Use gcov intermediate format? Valid values are 0, 1, auto
-+geninfo_intermediate = auto
-+
- # Directory containing gcov kernel files
- # lcov_gcov_dir = /proc/gcov
- 
-diff --git a/man/lcovrc.5 b/man/lcovrc.5
-index f20d273..bf0ce7a 100644
---- a/man/lcovrc.5
-+++ b/man/lcovrc.5
-@@ -223,6 +223,11 @@ geninfo_compat_libtool = 0
- geninfo_auto_base = 1
- .br
- 
-+# Use gcov intermediate format? Valid values are 0, 1, auto
-+.br
-+geninfo_intermediate = auto
-+.br
-+
- # Directory containing gcov kernel files
- .br
- lcov_gcov_dir = /proc/gcov
-@@ -789,6 +794,25 @@ located, and in addition, is different between files of the same project.
- Default is 1.
- .PP
- 
-+.BR geninfo_intermediate " ="
-+.IR 0 | 1 | auto
-+.IP
-+Specify whether to use gcov intermediate format
-+.br
-+
-+Use this option to control whether geninfo should use the gcov intermediate
-+format while collecting coverage data. The use of the gcov intermediate format
-+should increase processing speed. It also provides branch coverage data when
-+using the \-\-initial command line option.
-+.br
-+
-+Valid values are 0 for off, 1 for on, and "auto" to let geninfo automatically
-+use immediate format when supported by gcov.
-+.br
-+
-+Default is "auto".
-+.PP
-+
- .BR lcov_gcov_dir " ="
- .I path_to_kernel_coverage_data
- .IP
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch b/meta-openembedded/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch
deleted file mode 100644
index 7b18063..0000000
--- a/meta-openembedded/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From e13b2b6f8443da660cafa0679c3b16240843ce9f Mon Sep 17 00:00:00 2001
-From: Peter Oberparleiter <oberpar@linux.ibm.com>
-Date: Fri, 24 May 2019 17:16:56 +0200
-Subject: [PATCH 2/2] geninfo: Add intermediate JSON format support
-
-This change adds support for parsing the output of gcov's intermediate
-JSON file format as implemented by GCC version 9.
-
-Note: The way that the intermediate file format support is implemented
-in geninfo removes the need to parse .gcno files directly. Since geninfo
-does not include support for parsing GCC 9 .gcno files, using the
-intermediate format is the only option for geninfo to collect coverage
-data generated by GCC version 9.
-
-Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
----
- bin/geninfo | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 160 insertions(+), 2 deletions(-)
-
-Upstream-Status: Backport
-Download URL: https://github.com/linux-test-project/lcov/commit/75fbae1cfc5027f818a0bb865bf6f96fab3202da
-
-diff --git a/bin/geninfo b/bin/geninfo
-index 0276666..cceb782 100755
---- a/bin/geninfo
-+++ b/bin/geninfo
-@@ -59,6 +59,9 @@ use File::Copy qw(copy);
- use Getopt::Long;
- use Digest::MD5 qw(md5_base64);
- use Cwd qw/abs_path/;
-+use PerlIO::gzip;
-+use JSON qw(decode_json);
-+
- if( $^O eq "msys" )
- {
- 	require File::Spec::Win32;
-@@ -474,7 +477,8 @@ if ($rc_intermediate eq "0") {
- 	$intermediate = 1;
- } elsif (lc($rc_intermediate) eq "auto") {
- 	# Use intermediate format if supported by gcov
--	$intermediate = $gcov_caps->{'intermediate-format'} ? 1 : 0;
-+	$intermediate = ($gcov_caps->{'intermediate-format'} ||
-+			 $gcov_caps->{'json-format'}) ? 1 : 0;
- } else {
- 	die("ERROR: invalid value for geninfo_intermediate: ".
- 	    "'$rc_intermediate'\n");
-@@ -2084,6 +2088,48 @@ sub read_intermediate_text($$)
- }
- 
- 
-+#
-+# read_intermediate_json(gcov_filename, data, basedir_ref)
-+#
-+# Read gcov intermediate JSON format in GCOV_FILENAME and add the resulting
-+# data to DATA in the following format:
-+#
-+# data:      source_filename -> file_data
-+# file_data: GCOV JSON data for file
-+#
-+# Also store the value for current_working_directory to BASEDIR_REF.
-+#
-+
-+sub read_intermediate_json($$$)
-+{
-+	my ($gcov_filename, $data, $basedir_ref) = @_;
-+	my $fd;
-+	my $text;
-+	my $json;
-+
-+	open($fd, "<:gzip", $gcov_filename) or
-+		die("ERROR: Could not read $gcov_filename: $!\n");
-+	local $/;
-+	$text = <$fd>;
-+	close($fd);
-+
-+	$json = decode_json($text);
-+	if (!defined($json) || !exists($json->{"files"}) ||
-+	    ref($json->{"files"} ne "ARRAY")) {
-+		die("ERROR: Unrecognized JSON output format in ".
-+		    "$gcov_filename\n");
-+	}
-+
-+	$$basedir_ref = $json->{"current_working_directory"};
-+
-+	for my $file (@{$json->{"files"}}) {
-+		my $filename = $file->{"file"};
-+
-+		$data->{$filename} = $file;
-+	}
-+}
-+
-+
- #
- # intermediate_text_to_info(fd, data, srcdata)
- #
-@@ -2173,6 +2219,104 @@ sub intermediate_text_to_info($$$)
- }
- 
- 
-+#
-+# intermediate_json_to_info(fd, data, srcdata)
-+#
-+# Write DATA in info format to file descriptor FD.
-+#
-+# data:      filename -> file_data:
-+# file_data: GCOV JSON data for file
-+#
-+# srcdata:   filename -> [ excl, brexcl, checksums ]
-+# excl:      lineno -> 1 for all lines for which to exclude all data
-+# brexcl:    lineno -> 1 for all lines for which to exclude branch data
-+# checksums: lineno -> source code checksum
-+#
-+# Note: To simplify processing, gcov data is not combined here, that is counts
-+#       that appear multiple times for the same lines/branches are not added.
-+#       This is done by lcov/genhtml when reading the data files.
-+#
-+
-+sub intermediate_json_to_info($$$)
-+{
-+	my ($fd, $data, $srcdata) = @_;
-+	my $branch_num = 0;
-+
-+	return if (!%{$data});
-+
-+	print($fd "TN:$test_name\n");
-+	for my $filename (keys(%{$data})) {
-+		my ($excl, $brexcl, $checksums);
-+		my $file_data = $data->{$filename};
-+
-+		if (defined($srcdata->{$filename})) {
-+			($excl, $brexcl, $checksums) = @{$srcdata->{$filename}};
-+		}
-+
-+		print($fd "SF:$filename\n");
-+
-+		# Function data
-+		if ($func_coverage) {
-+			for my $d (@{$file_data->{"functions"}}) {
-+				my $line = $d->{"start_line"};
-+				my $count = $d->{"execution_count"};
-+				my $name = $d->{"name"};
-+
-+				next if (!defined($line) || !defined($count) ||
-+					 !defined($name) || $excl->{$line});
-+
-+				print($fd "FN:$line,$name\n");
-+				print($fd "FNDA:$count,$name\n");
-+			}
-+		}
-+
-+		# Line data
-+		for my $d (@{$file_data->{"lines"}}) {
-+			my $line = $d->{"line_number"};
-+			my $count = $d->{"count"};
-+			my $c;
-+			my $branches = $d->{"branches"};
-+			my $unexec = $d->{"unexecuted_block"};
-+
-+			next if (!defined($line) || !defined($count) ||
-+				 $excl->{$line});
-+
-+			if (defined($unexec) && $unexec && $count == 0) {
-+				$unexec = 1;
-+			} else {
-+				$unexec = 0;
-+			}
-+
-+			if ($checksum && exists($checksums->{$line})) {
-+				$c = ",".$checksums->{$line};
-+			} else {
-+				$c = "";
-+			}
-+			print($fd "DA:$line,$count$c\n");
-+
-+			$branch_num = 0;
-+			# Branch data
-+			if ($br_coverage && !$brexcl->{$line}) {
-+				for my $b (@$branches) {
-+					my $brcount = $b->{"count"};
-+
-+					if (!defined($brcount) || $unexec) {
-+						$brcount = "-";
-+					}
-+					print($fd "BRDA:$line,0,$branch_num,".
-+					      "$brcount\n");
-+
-+					$branch_num++;
-+				}
-+			}
-+
-+		}
-+
-+		print($fd "end_of_record\n");
-+	}
-+}
-+
-+
- sub get_output_fd($$)
- {
- 	my ($outfile, $file) = @_;
-@@ -2243,6 +2387,8 @@ sub process_intermediate($$$)
- 	my $srcdata;
- 	my $is_graph = 0;
- 	my ($out, $err, $rc);
-+	my $json_basedir;
-+	my $json_format;
- 
- 	info("Processing %s\n", abs2rel($file, $dir));
- 
-@@ -2296,6 +2442,12 @@ sub process_intermediate($$$)
- 		unlink($gcov_filename);
- 	}
- 
-+	for my $gcov_filename (glob("*.gcov.json.gz")) {
-+		read_intermediate_json($gcov_filename, \%data, \$json_basedir);
-+		unlink($gcov_filename);
-+		$json_format = 1;
-+	}
-+
- 	if (!%data) {
- 		warn("WARNING: GCOV did not produce any data for $file\n");
- 		return;
-@@ -2304,6 +2456,8 @@ sub process_intermediate($$$)
- 	# Determine base directory
- 	if (defined($base_directory)) {
- 		$base = $base_directory;
-+	} elsif (defined($json_basedir)) {
-+		$base = $json_basedir;
- 	} else {
- 		$base = $fdir;
- 
-@@ -2331,7 +2485,11 @@ sub process_intermediate($$$)
- 
- 	# Generate output
- 	$fd = get_output_fd($output_filename, $file);
--	intermediate_text_to_info($fd, \%data, $srcdata);
-+	if ($json_format) {
-+		intermediate_json_to_info($fd, \%data, $srcdata);
-+	} else {
-+		intermediate_text_to_info($fd, \%data, $srcdata);
-+	}
- 	close($fd);
- 
- 	chdir($cwd);
--- 
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.16.bb
similarity index 76%
rename from meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
rename to meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.16.bb
index 47062cc..22d6881 100755
--- a/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.14.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lcov/lcov_1.16.bb
@@ -1,5 +1,5 @@
 SUMMARY = "A graphical front-end for gcov"
-HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php"
+HOMEPAGE = "https://github.com/linux-test-project/lcov"
 DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \
 tool gcov. It collects gcov data for multiple source files and creates \
 HTML pages containing the source code annotated with coverage information. \
@@ -9,8 +9,6 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
 RDEPENDS:${PN} += " \
-    libjson-perl \
-    libperlio-gzip-perl \
     perl \
     perl-module-filehandle \
     perl-module-getopt-std \
@@ -48,18 +46,12 @@
     gcov \
     gcov-symlinks \
 "
-
-SRC_URI = " \
-           http://downloads.sourceforge.net/ltp/${BP}.tar.gz \
-           file://0001-geninfo-Add-intermediate-text-format-support.patch \
-           file://0002-geninfo-Add-intermediate-JSON-format-support.patch \
-	   "
-
-SRC_URI[md5sum] = "0220d01753469f83921f8f41ae5054c1"
-SRC_URI[sha256sum] = "14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a"
+SRC_URI = "https://github.com/linux-test-project/lcov/releases/download/v${PV}/lcov-${PV}.tar.gz"
+SRC_URI[md5sum] = "bfee0cef50d7b7bd1df03bfadf68dcef"
+SRC_URI[sha256sum] = "987031ad5528c8a746d4b52b380bc1bffe412de1f2b9c2ba5224995668e3240b"
 
 do_install() {
-    oe_runmake install PREFIX=${D}${prefix} CFG_DIR=${D}${sysconfdir}
+    oe_runmake install PREFIX=${D}${prefix} CFG_DIR=${D}${sysconfdir} LCOV_PERL_PATH="/usr/bin/env perl"
 }
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.7.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.8.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.7.bb
rename to meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.8.bb
index c83ee92..0afe8a6 100644
--- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.8.bb
@@ -9,7 +9,7 @@
 S = "${WORKDIR}/git"
 B = "${S}"
 
-SRCREV = "0f47dde41f92f00b12160387659501edefd05b38"
+SRCREV = "12b8e6bff611eecb0343ee8a765151e7d9d3547b"
 SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master;protocol=https"
 
 inherit gettext autotools pkgconfig python3native
diff --git a/meta-openembedded/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch b/meta-openembedded/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch
new file mode 100644
index 0000000..9396cc5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch
@@ -0,0 +1,38 @@
+From 03bbb1b055c41ec652470f775b55a7cf80d664ef Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 17 Apr 2023 16:46:12 -0700
+Subject: [PATCH] doctest: Do not use unnamed class
+
+When compiling with clang this results in emitting absolute path into
+debug info, especially .debug_str section has
+
+~(unnamed class at /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/git/unittests/doctest.h:6428:5)
+(unnamed class at /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/git/unittests/doctest.h:6428:5)
+
+Therefore use a name for the class instead and help get rid of this
+absolute path in debug info. This fixes
+
+File /usr/lib/libcereal/ptest/tests/.debug/test_unordered_map in package libcereal-dbg contains reference to TMPDIR
+
+Upstream-Status: Submitted [https://github.com/USCiLab/cereal/pull/788]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unittests/doctest.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/unittests/doctest.h b/unittests/doctest.h
+index cd5b44d6..e6d8f7f9 100644
+--- a/unittests/doctest.h
++++ b/unittests/doctest.h
+@@ -6424,7 +6424,7 @@ void Context::setCout(std::ostream* out) { p->cout = out; }
+ static class DiscardOStream : public std::ostream
+ {
+ private:
+-    class : public std::streambuf
++    class discardBufStream: public std::streambuf
+     {
+     private:
+         // allowing some buffering decreases the amount of calls to overflow
+-- 
+2.40.0
+
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 f159275..c5f26ec 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
@@ -21,6 +21,7 @@
 SRC_URI = "git://github.com/USCiLab/cereal.git;branch=master;protocol=https \
            file://0001-sandbox-Do-not-use-int8_t-in-std-uniform_int_distrib.patch \
            file://0001-cmake-Use-idirafter-instead-of-isystem.patch \
+           file://0001-doctest-Do-not-use-unnamed-class.patch \
            file://run-ptest \
 "
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-1.6.4/run-ptest b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-1.x/run-ptest
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-1.6.4/run-ptest
rename to meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-1.x/run-ptest
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.0/run-ptest b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.0/run-ptest
rename to meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-src.inc b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-src.inc
deleted file mode 100644
index 6bab4c1..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-src.inc
+++ /dev/null
@@ -1 +0,0 @@
-SRC_URI += "https://www.kernel.org/pub/software/libs/libgpiod/libgpiod-${PV}.tar.xz"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
index abb6544..0329caa 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -1,11 +1,12 @@
 SUMMARY = "C library and tools for interacting with the linux GPIO character device"
 AUTHOR = "Bartosz Golaszewski <brgl@bgdev.pl>"
 
-require libgpiod-src.inc
-
 inherit autotools pkgconfig ptest
 
-SRC_URI += "file://run-ptest"
+SRC_URI += " \
+    https://www.kernel.org/pub/software/libs/libgpiod/libgpiod-${PV}.tar.xz \
+    file://run-ptest \
+"
 
 PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
 
@@ -29,17 +30,18 @@
     ${bindir}/gpioset \
     ${bindir}/gpiomon \
 "
-FILES:${PN}-ptest += " \
-    ${bindir}/gpiod-test \
-    ${bindir}/gpio-tools-test \
-    ${bindir}/gpio-tools-test.bats \
-    ${bindir}/gpiod-cxx-test \
-"
 FILES:libgpiodcxx = "${libdir}/libgpiodcxx.so.*"
 
 RRECOMMENDS:${PN}-ptest += "coreutils"
 RDEPENDS:${PN}-ptest += "bats"
 
+do_install:append() {
+    rm -f ${D}${bindir}/gpiod-test
+    rm -f ${D}${bindir}/gpio-tools-test
+    rm -f ${D}${bindir}/gpio-tools-test.bats
+    rm -f ${D}${bindir}/gpiod-cxx-test
+}
+
 do_install_ptest() {
     install -d ${D}${PTEST_PATH}/tests/
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb
index df0e3f1..b28aa8e 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb
@@ -5,6 +5,8 @@
 
 SRC_URI[sha256sum] = "7b146e12f28fbca3df7557f176eb778c5ccf952ca464698dba8a61b2e1e3f9b5"
 
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-1.x:"
+
 inherit python3native
 
 PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.1.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.1.bb
new file mode 100644
index 0000000..337554c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.1.bb
@@ -0,0 +1,27 @@
+require libgpiod.inc
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
+LIC_FILES_CHKSUM = " \
+    file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \
+    file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \
+"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-2.x:"
+
+SRC_URI[sha256sum] = "b5367d28d045b36007a4ffd42cceda4c358737ef4f2ce22b0c1d05ec57a38392"
+
+# Enable all project features for ptest
+PACKAGECONFIG[tests] = "--enable-tests --enable-tools --enable-bindings-cxx --enable-gpioset-interactive,--disable-tests,kmod util-linux glib-2.0 catch2 libedit"
+PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit"
+
+PACKAGES =+ "${PN}-ptest-dev"
+FILES:${PN}-tools += "${bindir}/gpionotify"
+FILES:${PN}-ptest += "${libdir}/libgpiosim.so.*"
+FILES:${PN}-ptest-dev += "${includedir}/gpiosim.h"
+
+RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim"
+
+do_install_ptest:append() {
+    install -m 0644 ${S}/tests/gpiosim/gpiosim.h ${D}${includedir}/gpiosim.h
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.bb
deleted file mode 100644
index becc9ad..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require libgpiod.inc
-
-LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
-LIC_FILES_CHKSUM = " \
-    file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \
-    file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \
-"
-
-SRC_URI[sha256sum] = "f74cbf82038b3cb98ebeb25bce55ee2553be28194002d2a9889b9268cce2dd07"
-
-S = "${WORKDIR}/libgpiod-2.0"
-
-# We must enable gpioset-interactive for all gpio-tools tests to pass
-PACKAGECONFIG[tests] = "--enable-tests --enable-gpioset-interactive,--disable-tests,kmod util-linux glib-2.0 catch2 libedit"
-PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit"
-
-FILES:${PN}-tools += "${bindir}/gpionotify"
-FILES:${PN}-ptest += "${libdir}/libgpiosim.so.*"
-
-RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb
index c208a20..491b6a7 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb
@@ -6,9 +6,13 @@
 
 inherit meson gobject-introspection gtk-doc gettext vala
 
-PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)}"
+PACKAGECONFIG:class-target ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)}"
 PACKAGECONFIG[vapi] = "-Dvapi=true,-Dvapi=false"
 
+EXTRA_OEMESON:append:class-native = " -Dtests=false -Dintrospection=false"
+
 SRC_URI = "git://github.com/hughsie/libgusb.git;branch=main;protocol=https"
 SRCREV = "332d5b987ffecb824426e88518e05547faf2b520"
 S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb
index 2db16e1..53882b2 100644
--- a/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e16cf0e247d84f8999bf55865a9c98cf"
 
-SRC_URI = "git://github.com/js-cookie/js-cookie.git;protocol=http;branch=master;protocol=https"
+SRC_URI = "git://github.com/js-cookie/js-cookie.git;protocol=https;branch=master"
 
 SRCREV = "0ba77141dd215782cc7770347a457906908c66ff"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch b/meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
index 37c5c3d..2529d5d 100644
--- a/meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
+++ b/meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
@@ -8,7 +8,7 @@
 
 Stolen from [1]
 
-[1] https://aur.archlinux.org/cgit/aur.git/commit/dynamiclib.patch?h=snowball-git&id=a9cbf4f42f3661e4b8f791cd4374233821716ea1
+[1] https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/snowball/trunk/dynamiclib.diff
 
 Upstream-Status: Pending
 
@@ -19,36 +19,33 @@
  2 files changed, 11 insertions(+), 2 deletions(-)
  create mode 100644 libstemmer/symbol.map
 
-diff --git a/GNUmakefile b/GNUmakefile
-index cbd6ff7..a85230b 100644
 --- a/GNUmakefile
 +++ b/GNUmakefile
-@@ -162,10 +162,10 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.o)
+@@ -170,12 +170,12 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.
  JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
  JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
  
 -CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
 +CFLAGS=-O2 -fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations
- CPPFLAGS=-Iinclude
+ CPPFLAGS=
  
--all: snowball libstemmer.o stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
-+all: snowball libstemmer.o libstemmer.so stemwords $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
+ INCLUDES=-Iinclude
  
- clean:
- 	rm -f $(COMPILER_OBJECTS) $(RUNTIME_OBJECTS) \
-@@ -212,6 +212,9 @@ libstemmer/libstemmer.o: libstemmer/modules.h $(C_LIB_HEADERS)
- libstemmer.o: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
+-all: snowball$(EXEEXT) libstemmer.a stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++all: snowball$(EXEEXT) libstemmer.a libstemmer.so stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
+ 
+ algorithms.mk: libstemmer/mkalgorithms.pl libstemmer/modules.txt
+ 	libstemmer/mkalgorithms.pl algorithms.mk libstemmer/modules.txt
+@@ -225,6 +225,9 @@ libstemmer/libstemmer.o: libstemmer/modu
+ libstemmer.a: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
  	$(AR) -cru $@ $^
  
 +libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
 +	$(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^
 +
- stemwords: $(STEMWORDS_OBJECTS) libstemmer.o
- 	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+ examples/%.o: examples/%.c
+ 	$(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) -c -o $@ $<
  
-diff --git a/libstemmer/symbol.map b/libstemmer/symbol.map
-new file mode 100644
-index 0000000..7a3d423
 --- /dev/null
 +++ b/libstemmer/symbol.map
 @@ -0,0 +1,6 @@
@@ -58,6 +55,3 @@
 +    local:
 +        *;
 +};
--- 
-2.20.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer_git.bb b/meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer_2.2.0.bb
similarity index 72%
rename from meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer_git.bb
rename to meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer_2.2.0.bb
index 7f0706e..be2935a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libstemmer/libstemmer_2.2.0.bb
@@ -3,21 +3,18 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=19139aaf3c8c8fa1ca6edd59c072fb9f"
 
-DEPENDS:class-target = "${BPN}-native"
+DEPENDS:append:class-target = " ${BPN}-native"
 
-SRC_URI = "\
-    git://github.com/snowballstem/snowball.git;branch=master;protocol=https \
-    file://0001-Build-so-lib.patch \
-"
-SRCREV = "4764395431c8f2a0b4fe18b816ab1fc966a45837"
+SRC_URI = "git://github.com/snowballstem/snowball.git;branch=master;protocol=https \
+           file://0001-Build-so-lib.patch \
+           "
+SRCREV = "48a67a2831005f49c48ec29a5837640e23e54e6b"
 S = "${WORKDIR}/git"
-PV = "2.1.0"
+
 LIBVER = "0.0.0"
 
 inherit lib_package
 
-BBCLASSEXTEND = "native"
-
 do_compile:prepend:class-target() {
     # use native tools
     sed -i 's:./snowball :snowball :g' ${S}/GNUmakefile
@@ -34,5 +31,7 @@
     ln -s libstemmer.so.${LIBVER} ${D}${libdir}/libstemmer.so
 
     install -d ${D}${includedir}
-	install -m 644 ${S}/include/*.h ${D}${includedir}
+    install -m 644 ${S}/include/*.h ${D}${includedir}
 }
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/files/run-ptest b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/files/run-ptest
new file mode 100644
index 0000000..8709126
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/files/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+for i in `ls xmltest`; do
+    ./$i
+    if [ $? -eq 0 ]; then
+        echo "PASS: $i"
+    else
+        echo "FAIL: $i"
+    fi
+done
diff --git a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_9.0.0.bb b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_9.0.0.bb
index 7f20598..7ef4d89 100644
--- a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_9.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_9.0.0.bb
@@ -4,14 +4,22 @@
 LICENSE = "Zlib"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd"
 
-SRC_URI = "git://github.com/leethomason/tinyxml2.git;branch=master;protocol=https"
-
 SRCREV = "1dee28e51f9175a31955b9791c74c430fe13dc82"
+SRC_URI = "git://github.com/leethomason/tinyxml2.git;branch=master;protocol=https \
+           file://run-ptest"
 
 S = "${WORKDIR}/git"
 
-inherit cmake
+inherit meson ptest
+
+EXTRA_OEMESON += "${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true', '', d)}"
+
+CXXFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE"
+
+do_install_ptest() {
+    install -Dm 0755 ${B}/xmltest ${D}${PTEST_PATH}/xmltest
+    install -d ${D}${PTEST_PATH}/resources/out
+    install -Dm 0644 ${B}/resources/*.xml ${D}${PTEST_PATH}/resources/
+}
 
 BBCLASSEXTEND = "native"
-
-EXTRA_OECMAKE += "-Dtinyxml2_SHARED_LIBS=YES"
diff --git a/meta-openembedded/meta-oe/recipes-support/links/links_2.28.bb b/meta-openembedded/meta-oe/recipes-support/links/links_2.29.bb
similarity index 78%
rename from meta-openembedded/meta-oe/recipes-support/links/links_2.28.bb
rename to meta-openembedded/meta-oe/recipes-support/links/links_2.29.bb
index a36393f..e3a15d1 100644
--- a/meta-openembedded/meta-oe/recipes-support/links/links_2.28.bb
+++ b/meta-openembedded/meta-oe/recipes-support/links/links_2.29.bb
@@ -8,4 +8,4 @@
                 --without-libtiff --without-svgalib --with-fb \
                 --without-directfb --without-pmshell --without-atheos \
                 --without-x"
-SRC_URI[sha256sum] = "2fd5499b13dee59457c132c167b8495c40deda75389489c6cccb683193f454b4"
+SRC_URI[sha256sum] = "22aa96c0b38e1a6f8f7ed9d7a4167a47fc37246097759ef6059ecf8f9ead7998"
diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/run-ptest b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/run-ptest
index ba7a2c7..320240f 100644
--- a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog/run-ptest
@@ -1,3 +1,9 @@
 #!/bin/sh
 
-make -C tests test
+make -C tests test | sed -e '/\[PASS\]/ s/^/PASS: /g' \
+                         -e '/\[FAIL\]/ s/^/FAIL: /g' \
+                         -e '/\[IGNORE\]/ s/^/SKIP: /g' \
+                         -e 's/IGNORE:/SKIP:/' \
+                         -e 's/: \[PASS\]//' \
+                         -e 's/: \[FAIL\]//' \
+                         -e 's/: \[IGNORE\]//'
diff --git a/meta-openembedded/meta-oe/recipes-support/mg/mg_20221112.bb b/meta-openembedded/meta-oe/recipes-support/mg/mg_20230406.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-support/mg/mg_20221112.bb
rename to meta-openembedded/meta-oe/recipes-support/mg/mg_20230406.bb
index 2d0afe8..8d61b7f 100644
--- a/meta-openembedded/meta-oe/recipes-support/mg/mg_20221112.bb
+++ b/meta-openembedded/meta-oe/recipes-support/mg/mg_20230406.bb
@@ -1,11 +1,11 @@
 SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
 HOMEPAGE = "http://homepage.boetes.org/software/mg/"
 LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://version.c;md5=43616508f42ab3fdb082c5f932bd2eb4"
+LIC_FILES_CHKSUM = "file://version.c;md5=36d8ace99e6cd003132975a9266d3f77"
 DEPENDS = "ncurses libbsd"
 SECTION = "console/editors"
 
-SRCREV = "5dbacce10b4cc5fe0785840c09398fc5b19fb96a"
+SRCREV = "4e6d2de9582cfe7f0977be4ce9532e3d33c5be15"
 SRC_URI = "git://github.com/hboetes/mg;branch=master;protocol=https \
            file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \
            file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-Bug-1750624-Pin-validation-date-for-PayPalEE-test-ce.patch b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-Bug-1750624-Pin-validation-date-for-PayPalEE-test-ce.patch
new file mode 100644
index 0000000..d905bf1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-Bug-1750624-Pin-validation-date-for-PayPalEE-test-ce.patch
@@ -0,0 +1,64 @@
+From 1109c1b8259ad840ac1688d533f76ca268c67b6b Mon Sep 17 00:00:00 2001
+From: "John M. Schanck" <jschanck@mozilla.com>
+Date: Sat, 5 Feb 2022 11:12:43 +0000
+Subject: [PATCH] Bug 1750624 - Pin validation date for PayPalEE test cert.
+ r=nss-reviewers,bbeurdouche,rrelyea
+
+Differential Revision: https://phabricator.services.mozilla.com/D136289
+
+--HG--
+extra : moz-landing-system : lando
+
+Upstream-Status: Backport
+
+---
+ tests/chains/chains.sh               | 6 +++++-
+ tests/chains/scenarios/realcerts.cfg | 1 +
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/tests/chains/chains.sh b/tests/chains/chains.sh
+index 32c7ef54c..e13ae52f9 100755
+--- a/nss/tests/chains/chains.sh
++++ b/nss/tests/chains/chains.sh
+@@ -917,7 +917,7 @@ verify_cert()
+     done
+ 
+     VFY_OPTS_TNAME="${DB_OPT} ${ENGINE} ${TRUST_AND_DB_OPT} ${REV_OPTS} ${FETCH_OPT} ${USAGE_OPT} ${POLICY_OPT} ${TRUST_OPT}"
+-    VFY_OPTS_ALL="${DB_OPT} ${ENGINE} -vv ${TRUST_AND_DB_OPT} ${REV_OPTS} ${FETCH_OPT} ${USAGE_OPT} ${POLICY_OPT} ${VFY_CERTS} ${TRUST_OPT}"
++    VFY_OPTS_ALL="${DB_OPT} ${ENGINE} -vv ${VFY_TIME_OPT} ${TRUST_AND_DB_OPT} ${REV_OPTS} ${FETCH_OPT} ${USAGE_OPT} ${POLICY_OPT} ${VFY_CERTS} ${TRUST_OPT}"
+ 
+     TESTNAME="Verifying certificate(s) ${VFY_LIST} with flags ${VFY_OPTS_TNAME}"
+     echo "${SCRIPTNAME}: ${TESTNAME}"
+@@ -1118,6 +1118,7 @@ parse_config()
+             ;;
+         "verify")
+             VERIFY="${VALUE}"
++            VFY_TIME_OPT=
+             TRUST=
+             TRUST_AND_DB=
+             POLICY=
+@@ -1126,6 +1127,9 @@ parse_config()
+             REV_OPTS=
+             USAGE_OPT=
+             ;;
++        "at_time")
++            VFY_TIME_OPT="-b ${VALUE}"
++            ;;
+         "cert")
+             VERIFY="${VERIFY} ${VALUE}"
+             ;;
+diff --git a/tests/chains/scenarios/realcerts.cfg b/tests/chains/scenarios/realcerts.cfg
+index 305443fc3..f8b0fc452 100644
+--- a/nss/tests/chains/scenarios/realcerts.cfg
++++ b/nss/tests/chains/scenarios/realcerts.cfg
+@@ -22,6 +22,7 @@ verify TestUser51:x
+ 
+ verify PayPalEE:x
+   policy OID.2.16.840.1.114412.2.1 
++  at_time 2201010000Z
+   result pass
+ 
+ verify BrAirWaysBadSig:x
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
index 4a9482f..a7048f0 100644
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.74.bb
@@ -32,6 +32,7 @@
            file://system-pkcs11.txt \
            file://nss-fix-nsinstall-build.patch \
            file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \
+           file://0001-Bug-1750624-Pin-validation-date-for-PayPalEE-test-ce.patch \
            "
 SRC_URI[sha256sum] = "88928811f9f40f87d42e2eaccdf6e454562e51486067f2ddbe90aa47ea6cd056"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest b/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest
index 2574d7e..fbce336 100755
--- a/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-support/onig/onig/run-ptest
@@ -17,7 +17,7 @@
 status="${workdir}/failed"
 touch "${status}"
 
-find tests/ -perm -111 -type f -exec sh -c '
+find tests/ -perm -111 -type f ! -path "tests/.debug/*" -exec sh -c '
     workdir="${1}"
     status="${2}"
     t="${3}"
diff --git a/meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.6.2.bb b/meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.6.2.bb
index 26faade..b71fb04 100644
--- a/meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.6.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.6.2.bb
@@ -13,4 +13,12 @@
 
 DEPENDS = "pcsc-lite"
 
+RDEPENDS:${PN} += " \
+	${@bb.utils.contains('DISTRO_FEATURES','systemd','pcsc-lite-systemd', 'pcsc-lite', d)} \
+	perl \
+	perl-module-getopt-std \
+	perl-module-file-stat \
+	libpcsc-perl \
+"
+
 FILES:${PN} += "${datadir}/pcsc/smartcard_list.txt"
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/run-ptest b/meta-openembedded/meta-oe/recipes-support/poco/poco/run-ptest
index c479f7a..c9896ea 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/run-ptest
@@ -1,9 +1,8 @@
 #!/bin/sh
 while read runner; do
-  pushd . >/dev/null
+  oldpath=`pwd` >/dev/null
   cd bin
   echo Testing $runner
   ./$runner-testrunner -all
-  popd >/dev/null
+  cd $oldpath >/dev/null
 done < testrunners
-
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-cmake-Do-not-use-isystem.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-cmake-Do-not-use-isystem.patch
index 44a2296..b4e3fb0 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-cmake-Do-not-use-isystem.patch
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-cmake-Do-not-use-isystem.patch
@@ -1,4 +1,4 @@
-From 51a2a1e4d8ca4040a6a7eac398cb704da35f39e5 Mon Sep 17 00:00:00 2001
+From 04686340c4cd375a17d60d31bf6943367cc33214 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 21 Jan 2023 03:09:08 -0800
 Subject: [PATCH] cmake: Do not use -isystem
@@ -28,6 +28,7 @@
 issue is addressed
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  CMakeLists.txt         |  4 ++--
  glib/CMakeLists.txt    |  4 ++--
@@ -38,7 +39,7 @@
  6 files changed, 16 insertions(+), 16 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4768ac8..cdc014d 100644
+index c6c757c..5f1c540 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -603,10 +603,10 @@ add_library(poppler ${poppler_SRCS})
@@ -53,7 +54,7 @@
 +  target_include_directories(poppler  PRIVATE ${LCMS2_INCLUDE_DIR})
  endif()
  generate_export_header(poppler BASE_NAME poppler-private EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/poppler_private_export.h")
- set_target_properties(poppler PROPERTIES VERSION 126.0.0 SOVERSION 126)
+ set_target_properties(poppler PROPERTIES VERSION 127.0.0 SOVERSION 127)
 diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
 index 52e8687..08ab39a 100644
 --- a/glib/CMakeLists.txt
@@ -187,6 +188,3 @@
  endif()
  install(TARGETS pdftops DESTINATION bin)
  install(FILES pdftops.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
--- 
-2.39.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.03.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.03.0.bb
rename to meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
index 165e155..19bdce4 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.03.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
@@ -8,7 +8,7 @@
            file://basename-include.patch \
            file://0001-cmake-Do-not-use-isystem.patch \
            "
-SRC_URI[sha256sum] = "b04148bf849c1965ada7eff6be4685130e3a18a84e0cce73bf9bc472ec32f2b4"
+SRC_URI[sha256sum] = "b6d893dc7dcd4138b9e9df59a13c59695e50e80dc5c2cacee0674670693951a1"
 
 DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb b/meta-openembedded/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb
index 20e77c6..4c34368 100644
--- a/meta-openembedded/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb
@@ -10,9 +10,9 @@
 S = "${WORKDIR}/git"
 
 do_compile() {
-    ${CC} ${CFLAGS} ${LDFLAGS} reboot-mode.c -o reboot-mode
+    ${CC} ${CFLAGS} ${LDFLAGS} ${S}/reboot-mode.c -o ${B}/reboot-mode
 }
 
 do_install() {
-    install -D -m 0755 ${S}/reboot-mode ${D}${bindir}/reboot-mode
+    install -D -m 0755 ${B}/reboot-mode ${D}${bindir}/reboot-mode
 }
diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.29.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.30.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.29.bb
rename to meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.30.bb
index a92a3b2..c22eaf1 100644
--- a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.29.bb
+++ b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.4.30.bb
@@ -25,7 +25,7 @@
 DEPENDS:append:libc-musl = " libexecinfo"
 LDFLAGS:append:libc-musl = " -lexecinfo"
 
-SRCREV = "fb19eb5f11f206ffb442a9e0c519cb0f2cb3fd8b"
+SRCREV = "61ea9b6681104cadf0a3f8c25bd3e5685ee6691a"
 SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=master"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.3.bb b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.3.bb
index 0d9a8c9..15380f5 100644
--- a/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/span-lite/span-lite_0.10.3.bb
@@ -9,4 +9,3 @@
 S = "${WORKDIR}/git"
 
 inherit cmake
-inherit ptest
diff --git a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.0.1.bb b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.0.1.bb
index 4521593..650c7bd 100644
--- a/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng_4.0.1.bb
@@ -85,6 +85,10 @@
     # Remove /var/run as it is created on startup
     rm -rf ${D}${localstatedir}/run
 
+    # it causes install conflict when multilib enabled
+    # since python support is disabled, not deliver it
+    rm -f ${D}${bindir}/syslog-ng-update-virtualenv
+
     # support for systemd
     if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
         install -m 644 ${WORKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf
diff --git a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.8.0.bb b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.9.0.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.8.0.bb
rename to meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.9.0.bb
index 5606d38..028291c 100644
--- a/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.8.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/tbb/tbb_2021.9.0.bb
@@ -12,7 +12,7 @@
 PE = "1"
 
 BRANCH = "onetbb_2021"
-SRCREV = "c9497714821c3d443ee44c732609eb6850195ffb"
+SRCREV = "a00cc3b8b5fb4d8115e9de56bf713157073ed68c"
 SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \
             file://0001-CMakeLists.txt-exclude-riscv64-riscv32.patch \
 "
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.4.bb b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.4.bb
index 3de5557..2030063 100644
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/udisks/udisks2_2.9.4.bb
@@ -35,6 +35,12 @@
     touch ${S}/build-aux/config.rpath
 }
 
+PACKAGECONFIG ?= ""
+
+PACKAGECONFIG[lvm2] = "--enable-lvm2,--disable-lvm2,lvm2"
+PACKAGECONFIG[btrfs] = "--enable-btrfs,--disable-btrfs,,btrfs-tools"
+PACKAGECONFIG[lsm] = "--enable-lsm,--disable-lsm,libstoragemgmt"
+
 FILES:${PN} += " \
     ${datadir}/dbus-1/ \
     ${datadir}/polkit-1 \
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.4.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb
similarity index 97%
rename from meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.4.bb
rename to meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb
index 91f5ae0..ed3e429 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.8.bb
@@ -15,7 +15,7 @@
     file://Makefile.utils \
 "
 
-SRC_URI[sha256sum] = "58951f7d1bcda836c5e50ca0a6b13f0e61a07a904f476526a831df3d9bfe5b17"
+SRC_URI[sha256sum] = "c305fbe480f507eac7c36893ead66dffaacda944f19c3813a4533e9c39bae237"
 
 S ?= "${WORKDIR}/vbox_module"
 S:task-patch = "${WORKDIR}/${VBOX_NAME}"