subtree updates

meta-raspberrypi: c57b464b88..45d56d82b7:
  Andrei Gherzan (8):
        linux-firmware-rpidistro: Fix wireless on Raspberry Pi 4
        sdcard_image-rpi.bbclass: Move SDIMG_KERNELIMAGE definitions to their machines
        raspberrypi0-2w.conf: Include the RPi 0-2w dtb for all 32-bit machines
        rpi-base.inc: Split IMAGE_BOOT_FILES for kernel image
        Add support for a ARMv7 machine supporting multiple Raspberry Pi boards
        ci: Add raspberrypi-armv7 to the build matrix
        Add support for a ARMv8 machine supporting multiple Raspberry Pi boards
        ci: Add raspberrypi-armv8 to the build matrix

  Chris Blättermann (1):
        meta-raspberrypi: Include the device tree for Raspberry Pi CM4S

  Khem Raj (2):
        rpidistro-vlc,rpidistro-ffmpeg: Limit scope to just rpi machines
        layers: Add langdale to LAYERSERIES_COMPAT

  Vincent Davis Jr (4):
        raspidistro-ffmpeg: add support for building raspidistro ffmpeg
        rpidistro-vlc: add rpidistro VLC build (with MMAL enabled)
        Add support for optional selection of vlc and ffmpeg
        docs: add info for raspberrypi distro vlc

  Vinicius Aquino (1):
        raspberrypi-firmware: Update to 20220830 snapshot

meta-openembedded: a755af4fb5..0782ea454a:
  Adrian Freihofer (1):
        networkmanager: update 1.38.0 -> 1.40.0

  Alejandro Enedino Hernandez Samaniego (1):
        emacs: Update to version 28.2

  Alex Kiernan (2):
        libcoap: Fix gnutls/openssl/mbedtls PACKAGECONFIG conflicts
        libcoap: Upgrade 4.3.0 -> 4.3.1

  Alexander Kanavin (7):
        mozjs-91: update to 91.13.0
        collectd: add a python PACKAGECONFIG, off by default
        zbar: disable python3 support as incompatible with py 3.11
        libsigrockdecode: add python 3.11 compatibility
        minifi-cpp: disable python support as incompatible with python 3.11
        mozjs-91: backport a python 3.11 compatibility patch
        mozjs-78: remove the recipe

  Andreas Müller (1):
        octave: upgrade 7.1.0 -> 7.2.0

  Andrej Kozemcak (1):
        squid: upgrade 4.15 -> 5.7

  Andres Beltran (1):
        Make graph dependencies optional

  Bernhard Messerklinger (1):
        libconfig-tiny-perl: add recipe

  Chen Qi (2):
        passwdqc: fix the libpasswdqc FILES setting
        polkit: refresh patch

  Frank de Brabander (1):
        ntp: add missing runtime dependency on libgcc for sntp

  Gianfranco Costamagna (1):
        vboxguestdrivers: upgrade 6.1.36 -> 6.1.38

  Hitendra Prajapati (1):
        wireshark: CVE-2022-3190 Infinite loop in legacy style dissector

  Howard Cochran (1):
        ufw: Fix "could not find required binary 'iptables'"

  Ivan Maidanski (1):
        bdwgc: Fix typo in EXTRA_OECONF and remove unneeded extra CFLAGS

  Jan Vermaete (1):
        makeself: upate anonymous git access and dropped man page.

  Khem Raj (140):
        gtk+: Fix function signature of create_menu()
        ippool: Fix build with clang15
        corosync: Upgrade to 3.1.6
        dlm: Upgrade to 4.1.1
        dante: Upgrade to 1.4.3
        ez-ipupdate: Fix build with clang
        openflow: Include sys/stat.h for fchmod
        nautilus: Backport a patch to fix build with clang-15
        mctp: Update to latest tip of trunk
        ypbind-mt: Upgrade to 2.7.2
        packagegroup-meta-networking: Remove ypbind-mt on musl
        fping: Fix build with musl
        iscsi-initiator-utils: Upgrade to 2.1.7
        radvd: Fix build on musl
        linux-atm: Include missing string.h
        memcached: Upgrade to 1.6.17
        openlldp: Upgrade to 1.1.0
        ettercap: Pass -D_GNU_SOURCE
        rdma-core: Fix build with musl
        openl2tp: Provide prototype for l2tp_api_rpc_check_request
        iscsi-initiator-utils: Avoid hardcoding sed to /usr/bin/sed
        toybox: Remove mount.h conflict fix
        libuser: Upgrade to 0.63
        gnome-keyring: Upgrade to 42.1
        folks: Disable LTO and implicit-function-declaration as error
        libgtop: Fix build with clang
        ot-daemon,ot-br-posix: Fix mbedtls module builds
        libcurses-perl: Fix main prototype in testtyp.c
        rasdaemon: Upgrade to 0.6.8
        psqlodbc: Upgrade to 13.02.0000
        soci: Fix build with clang 15
        geany-plugins: Fix type error found with clang 15
        nlohmann-fifo: Update to tip of trunk
        xfce4-dev-tools: Fix configure check for libX11
        frr: Fix configure check for libreadline
        quagga: Fix AC_CHECK_LIB for libreadline
        libutempter: Upgrade to 1.2.2-alt1
        libuio: Update to latest tip of trunk
        serial-forward: Correct typo in specifying string.h header
        mcelog: Upgrade to v189
        fvwm: Disable int-conversion and implicit-int warnings as errors
        hddtemp: Add missing prototype for ata_get_powermode in sata.c
        nana: Include stdlib.h form exit() and abort() functions
        libsmi: Fix build with clang 15
        ckermit: Fix build with clang
        linuxptp: Include string.h for strncpy()
        wifi-test-suite: Fix build with clang
        xf86-video-nouveau: Do not treat implicit-function-declaration as error
        android-tools: Add protoype declaration for  b64_pton
        libio-pty-perl: Fix build on musl
        xrdp: Fix build with clang-15
        libpwquality: Do not use fgetpwent_r on musl
        lmbench: Add patch to fix typo including string.h header
        lxdm: Fix msghdr initialization on musl
        zabbix: Upgrade to 6.2.2
        epeg: Fix AC_CHECK_LIB for libjpeg and libexif
        gensio: Fix AC_CHECK_LIB for libwrap
        pam-plugin-ccreds: Fix AC_CHECK_LIB for libdb
        sblim-sfcb: Fix AC_CHECK_LIB tests for various libraries
        rdfind: Fix AC_CHECK_LIB for libnettle
        srecord: Fix AC_CHECK_LIB for gpg-error
        tokyocabinet: Fix AC_CHECK_LIB test functions
        libcereal: Do not use uniform_int_distribution<char> template
        raptor2: Match reutrn type from RAPTOR_ASSERT_OBJECT_POINTER_RETURN_VALUE
        pam-ssh-agent-auth: Fix __progname configure check
        daemontools: Fix build with clang15 and musl
        pmtools: Update patch to include string.h and function prototype for main
        uw-imap: Fix build with clang/musl
        libx86: Fix pointer typecasting in assignment
        obconf: Add fixes for missing function prototypes
        sblim-sfcc: Fix build with clang
        sblim-sfcb: Add missing headers file for clang/musl
        sanlock: Add missing prototype for mem* functions
        geis: Add missing prototypes to functions
        libgxim: Enable debug mode
        hplip: Upgrade to 3.22.6
        scsirastools: Pass -D_LARGEFILE64_SOURCE via CFLAGS
        con2fbmap: Include string.h for strerror
        directfb-examples: Fix pthread_t assignment type
        uml-utilities: Add missing headers for exit and str+ functions
        oprofile: Fix configure check for perf_events support
        libmcrypt: Suppress implicit-int warnings as errors
        gtkperf: Define prototype for setup_appdata
        cyrus-sasl: Fix time.h detection logic in configure
        enscript: Include string.h form str* function prototypes
        glm: Disable clang specific warnings
        mg: Upgrade to 20220614 release
        gphoto2: Upgrade to 2.5.28
        ipmiutil: Add missing headers for protypes of free/malloc/atoi
        cdrkit: Add missing header for function prototypes
        fluentbit: Drop redundant patch
        minifi-cpp: Disable gnu extention of strerror_r when using musl
        augeas: Check for __GLIBC__ to use gnu extention for strerror_r
        nlohmann-fifo: Disable cpp11 shuffle with clang/libc++
        ipmitool: Update to 1.8.19
        autofs: Backport innetgr and strerror_r musl patches
        linux-atm: Remove AC_CHECK_LIB for libresolv
        hdf5: Upgrade to 1.13.2
        openldap: Fix configure check for pthread_detach
        libimobiledevice: Explicitly pass -D_GNU_SOURCE via cflags
        jq: Upgrade to latest and fix configure tests
        lcdproc: Fix build on non-x86 and arm architectures
        libsmi: Define _DEFAULT_SOURCE for timegm API
        tftp-hpa: Fix includes for bsd_signal()
        sblim-sfcb: Include config.h before using CONFIG_ERROR_H
        minifi-cpp: Disable lto.
        ntp: Fix check for pthread_detach
        netkit-telnet: Add time.h from strftime/time prototypes
        passwdqc: Upgrade to 2.0.2
        lmbench: Fix build time tests and use the scripts/build
        mcpp: Fix build with clang
        ot-br-posix: Fix unused variable error
        sthttpd: Define _GNU_SOURCE if HAVE_SIGSET is set
        libesmtp: Enable gnu strerror_r on glibc
        android-tools: Use local strlcpy implementation on glibc
        uw-imap: Avoid programs using gets()
        matplotlib: Upgrade to 3.5.3
        cockpit: Update to 276
        geary: Fix build with clang
        toybox: Fix build on 32bit arches with 64bit time_t defaults
        libcdio: Define _LARGEFILE64_SOURCE
        rocksdb: Upgrade to 7.5.3 release
        fwupd: Upgrade to 1.8.4
        luajit: Use builtin for __clear_cache on clang
        kexec-tools-klibc: Fix type mismatch in calls to dtb_set_initrd on mips
        minifi-cpp: Fix build on musl
        aom: Provide missing function prototypes
        vulkan-cts,opengl-es-cts: Upgrade to1.3.3.1 and 3.2.8 respectively
        python3-lxml: Delete
        fwupd: Fix tostring() call to not have xml_declaration param
        sox: Enable -D_FILE_OFFSET_BITS=64 and depend on libtool
        rdfind: Fix patch-fuzz warnings
        fwupd: Drop sqlite3 from default deps
        sqlite: Drop sqlite2 recipe
        wvstreams: Add missing dependency on boost
        jack: Upgrade to 1.19.21
        python3-grpcio-tools: Disable clang's musttail attribute on mips
        fwupd: Replace python3.7 patch with upstreamed one
        mdio-tools,mdio-netlink: Upgrade recipes to 1.2.0
        python3-requests-unixsocket: Fix override syntax

  Lei Maohui (5):
        fltk: Fix buildpaths warning.
        exiv2: Fix buildpaths warning.
        tracker-miners: Fix buildpaths warning.
        gexiv2: Fix buildpaths warning.
        mariadb: Fix buildpaths warning.

  Leon Anavi (24):
        python3-imageio: Upgrade 2.21.1 -> 2.21.2
        python3-prompt-toolkit: Upgrade 3.0.30 -> 3.0.31
        python3-haversine: Upgrade 2.6.0 -> 2.7.0
        python3-transitions: Upgrade 0.8.11 -> 0.9.0
        python3-astroid: Upgrade 2.12.5 -> 2.12.9
        python3-imageio: Upgrade 2.21.2 -> 2.21.3
        python3-portion: Upgrade 2.2.0 -> 2.3.0
        python3-networkx: Upgrade 2.8.5 -> 2.8.6
        python3-prettytable: Upgrade 3.3.0 -> 3.4.1
        python3-pydantic: Upgrade 1.9.1 -> 1.10.2
        python3-soupsieve: Upgrade 2.3.1 -> 2.3.2.post1
        python3-awesomeversion: Upgrade 22.8.0 -> 22.9.0
        python3-ujson: Upgrade 5.4.0 -> 5.5.0
        python3-marshmallow: Upgrade 3.17.1 -> 3.18.0
        python3-elementpath: Upgrade 3.0.1 -> 3.0.2
        python3-traitlets: Upgrade 5.3.0 -> 5.4.0
        python3-joblib: Upgrade 1.1.0 -> 1.2.0
        python3-astroid: Upgrade 2.12.9 -> 2.12.10
        python3-imageio: Upgrade 2.21.3 -> 2.22.0
        python3-email-validator: Upgrade 1.2.1 -> 1.3.0
        python3-termcolor: Upgrade 1.1.0 -> 2.0.1
        python3-aiohttp: Upgrade 3.8.1 -> 3.8.3
        python3-pytz-deprecation-shim: Runtime dependencies
        python3-license-expression: Upgrade 21.6.14 -> 30.0.0

  Luca Boccassi (1):
        dbus-broker: update to v32

  Markus Volk (4):
        pipewire: update 0.3.56 -> 0.3.57
        flatbuffers: upgrade 2.0.6 -> 2.0.8
        appstream-glib: fix manpage generation
        jansson: use cmake instead of autotools

  Martin Jansa (2):
        lvm2: use bfd even with ld-is-gold in DISTRO_FEATURES
        libcec: fix runtime dependencies for ${PN}-examples

  Ming Liu (1):
        libusbgx: add PACKAGECONFIG to make build predicable

  Mingli Yu (2):
        python3-pyzmq: Fix buildpaths issue
        python3-pyzmq: Add RDEPENDS for python3-pyzmq-ptest

  Naveen Saini (1):
        ocl-icd: add nativesdk support

  Ovidiu Panait (1):
        redis: build with USE_SYSTEMD=yes when systemd is enabled

  Patrick Williams (1):
        unifex: remove recipe

  Philippe Coval (3):
        lvgl: Add dialog-lvgl recipe as demo example
        pim435: Relocate sources to eclipse
        ot-br-posix: Add dep to ipset as used by firewall

  Riyaz Khan (2):
        sdbus-c++: Upgrade sdbus-c++ 1.1.0 to 1.2.0
        sdbus-c++-tools: Upgrade sdbus-c++-tools 1.1.0 to 1.2.0

  Sergio Prado (1):
        polkit: refresh patch to fix warning

  Steffen Olsen (1):
        postgreql: Fix pg_config not working after buildpaths patch

  Vincent Davis Jr (1):
        cglm: New recipe for cglm-0.8.5

  Wang Mingyu (16):
        abseil-cpp: upgrade 20220623.0 -> 20220623.1
        chrony: upgrade 4.2 -> 4.3
        ctags: upgrade 5.9.20220821.0 -> 5.9.20220828.0
        fio: upgrade 3.31 -> 3.32
        libblockdev: upgrade 2.26 -> 2.27
        libdev-checklib-perl: upgrade 1.14 -> 1.16
        lvm2/libdevmapper: upgrade 2.03.11 -> 2.03.16
        libforms: upgrade 1.2.3 -> 1.2.4
        python3-astroid: upgrade 2.12.4 -> 2.12.5
        python3-colorlog: upgrade 6.6.0 -> 6.7.0
        python3-django: upgrade 3.2.12 -> 4.1
        python3-google-api-core: upgrade 2.8.2 -> 2.10.0
        python3-google-api-python-client: upgrade 2.57.0 -> 2.58.0
        python3-grpcio: upgrade 1.48.0 -> 1.48.1
        python3-grpcio-tools: upgrade 1.48.0 -> 1.48.1
        cli11: upgrade 1.9.1 -> 2.2.0

  Xu Huan (5):
        python3-greenlet: upgrade 1.1.2 -> 1.1.3
        python3-marshmallow: upgrade 3.17.0 -> 3.17.1
        python3-pyudev: upgrade 0.23.2 -> 0.24.0
        python3-websocket-client: upgrade 1.3.3 -> 1.4.0
        python3-xmlschema: upgrade 2.0.2 -> 2.0.3

  Yi Zhao (1):
        tcpreplay: fix buildpaths issue

  Zheng Qiu (2):
        jq: add ptest
        rsyslog: update 8.2206->8.2208

  hongxu (1):
        python3-h5py: fix wrong file driver version

  wangmy (78):
        fuse3: upgrade 3.11.0 -> 3.12.0
        xfstests: upgrade 2022.08.07 -> 2022.08.21
        gnome-bluetooth: upgrade 42.3 -> 42.4
        libadwaita: upgrade 1.1.4 -> 1.1.5
        networkmanager-openvpn: upgrade 1.8.18 -> 1.10.0
        open-isns: upgrade 0.101 -> 0.102
        boost-sml: upgrade 1.1.5 -> 1.1.6
        ctags: upgrade 5.9.20220828.0 -> 5.9.20220904.0
        hwdata: upgrade 0.361 -> 0.362
        modemmanager: upgrade 1.18.10 -> 1.18.12
        php: upgrade 8.1.9 -> 8.1.10
        poppler: upgrade 22.08.0 -> 22.09.0
        syslog-ng: upgrade 3.37.1 -> 3.38.1
        libio-socket-ssl-perl: upgrade 2.074 -> 2.075
        python3-aiofiles: upgrade 0.8.0 -> 22.1.0
        python3-antlr4-runtime: upgrade 4.10 -> 4.11.1
        python3-croniter: upgrade 1.3.5 -> 1.3.7
        python3-google-api-python-client: upgrade 2.58.0 -> 2.60.0
        python3-langtable: upgrade 0.0.58 -> 0.0.59
        python3-oauthlib: upgrade 3.2.0 -> 3.2.1
        python3-pymetno: upgrade 0.9.0 -> 0.10.0
        python3-sqlalchemy: upgrade 1.4.40 -> 1.4.41
        python3-twisted: upgrade 22.4.0 -> 22.8.0
        python3-websocket-client: upgrade 1.4.0 -> 1.4.1
        python3-xmlschema: upgrade 2.0.3 -> 2.0.4
        libadwaita: upgrade 1.1.5 -> 1.2.0
        bats: upgrade 1.7.0 -> 1.8.0
        ctags: upgrade 5.9.20220904.0 -> 5.9.20220911.0
        iceauth: upgrade 1.0.8 -> 1.0.9
        iwd: upgrade 1.29 -> 1.30
        libblockdev: upgrade 2.27 -> 2.28
        libjcat: upgrade 0.1.11 -> 0.1.12
        libpfm4: upgrade 4.11.0 -> 4.12.0
        libxmlb: upgrade 0.3.9 -> 0.3.10
        neon: upgrade 0.32.2 -> 0.32.4
        setxkbmap: upgrade 1.3.2 -> 1.3.3
        xclock: upgrade 1.0.9 -> 1.1.1
        xkbutils: upgrade 1.0.4 -> 1.0.5
        xlsfonts: upgrade 1.0.6 -> 1.0.7
        xmag: upgrade 1.0.6 -> 1.0.7
        xwud: upgrade 1.0.5 -> 1.0.6
        python3-cachecontrol: upgrade 0.12.11 -> 0.12.12
        python3-cantools: upgrade 37.1.2 -> 37.2.0
        python3-eth-typing: upgrade 3.1.0 -> 3.2.0
        python3-fasteners: upgrade 0.17.3 -> 0.18
        python3-flask-socketio: upgrade 5.3.0 -> 5.3.1
        python3-google-api-core: upgrade 2.10.0 -> 2.10.1
        python3-google-api-python-client: upgrade 2.60.0 -> 2.61.0
        python3-grpcio-tools: upgrade 1.48.1 -> 1.49.0
        python3-grpcio: upgrade 1.48.1 -> 1.49.0
        python3-jsonrpcserver: upgrade 5.0.8 -> 5.0.9
        python3-protobuf: upgrade 4.21.5 -> 4.21.6
        xfstests: upgrade 2022.08.21 -> 2022.09.04
        gnome-font-viewer: upgrade 42.0 -> 43.0
        tracker: upgrade 3.3.3 -> 3.4.0
        yelp-xsl: upgrade 42.0 -> 42.1
        dnsmasq: upgrade 2.86 -> 2.87
        unbound: upgrade 1.16.2 -> 1.16.3
        cairomm-1.16: upgrade 1.16.1 -> 1.16.2
        ctags: upgrade 5.9.20220911.0 -> 5.9.20220925.0
        libgee: upgrade 0.20.5 -> 0.20.6
        libpeas: upgrade 1.32.0 -> 1.34.0
        opencl-headers: upgrade 2022.05.18 -> 2022.09.23
        pangomm-2.48: upgrade 2.50.0 -> 2.50.1
        thrift: upgrade 0.16.0 -> 0.17.0
        zabbix: upgrade 6.2.2 -> 6.2.3
        python3-djangorestframework: upgrade 3.13.1 -> 3.14.0
        python3-google-api-python-client: upgrade 2.61.0 -> 2.62.0
        python3-google-auth: upgrade 2.11.0 -> 2.11.1
        python3-grpcio-tools: upgrade 1.49.0 -> 1.49.1
        python3-grpcio: upgrade 1.49.0 -> 1.49.1
        python3-h11: upgrade 0.13.0 -> 0.14.0
        python3-humanize: upgrade 4.3.0 -> 4.4.0
        python3-langtable: upgrade 0.0.59 -> 0.0.60
        python3-ldap: upgrade 3.4.2 -> 3.4.3
        python3-pandas: upgrade 1.4.4 -> 1.5.0
        python3-path: upgrade 16.4.0 -> 16.5.0
        python3-xmlschema: upgrade 2.0.4 -> 2.1.0

  zhengrq.fnst (8):
        python3-astroid: upgrade 2.12.2 -> 2.12.4
        python3-flatbuffers: upgrade 2.0.6 -> 2.0.7
        python3-flask-socketio: upgrade 5.2.0 -> 5.3.0
        python3-gnupg: upgrade 0.4.9 -> 0.5.0
        python3-natsort: upgrade 8.1.0 -> 8.2.0
        python3-sympy: upgrade 1.10.1 -> 1.11.1
        python3-pandas: upgrade 1.4.3 -> 1.4.4
        python3-parsimonious: upgrade 0.9.0 -> 0.10.0

  zhengruoqin (15):
        wolfssl: upgrade 5.4.0 -> 5.5.0
        ser2net: upgrade 4.3.7 -> 4.3.8
        tree: upgrade 2.0.3 -> 2.0.4
        xorgxrdp: upgrade 0.2.18 -> 0.9.19
        python3-zeroconf: upgrade 0.39.0 -> 0.39.1
        smarty: upgrade 4.2.0 -> 4.2.1
        python3-pycocotools: upgrade 2.0.4 -> 2.0.5
        python3-pyproj: upgrade 3.3.1 -> 3.4.0
        python3-pyzmq: upgrade 23.2.1 -> 24.0.0
        python3-regex: upgrade 2022.8.17 -> 2022.9.13
        python3-pyjwt: upgrade 2.4.0 -> 2.5.0
        python3-pyscaffold: upgrade 4.3 -> 4.3.1
        python3-pyzmq: upgrade 24.0.0 -> 24.0.1
        python3-sqlparse: upgrade 0.4.2 -> 0.4.3
        python3-web3: upgrade 5.30.0 -> 5.31.0

meta-security: 10fdc2b13a..824d2762f6:
  Armin Kuster (4):
        suricata: fix compile issue
        cryptmount: fix systemd service install
        update sssd to 2.7.4
        update chipsec to 1.8.8

poky: 9b1db65e7d..5200799866:
  Alejandro Hernandez Samaniego (1):
        rootfs.py: dont try to list installed packages for baremetal images

  Alexander Kanavin (15):
        selftest/cases/bblayers.py: build python3-jsonschema only once
        oe-setup-builddir: do not suggest local.conf as a source of examples
        init-system-helpers: exclude experimental tags from version check
        ref-manual: correct the location of default configuration template
        dev-manual: common-tasks.rst: drop the output of 'bitbake-layers --help'
        common-tasks.rst: describe the layer setup tooling
        dev-manual: common-tasks.rst: describe the newly added layer setup and template config commands
        dev-manual: common-tasks.rst: rewrite the section about configuration templates
        github-releases: add a class that consolidates version checks
        meta: fix version checks in all github recipes using the github-releases class
        virglrenderer: use https for fetching from gitlab
        local.conf.sample: correct the location of public hashserv
        scripts/oe-setup-builddir: do not read TEMPLATECONF from templateconf.cfg
        rpm: update 4.18.0-rc1 -> 4.18.0-release
        tzdata: update to 2022d

  Alexandre Belloni (2):
        runqemu: display host uptime when starting
        oeqa/runtime/dnf: fix typo

  Andrei Gherzan (6):
        depmodwrapper-cross: Take into consideration kernel package name
        kernel.bbclass: Pass the kernel package name to depmodwrapper
        kernel-module-split.bbclass: Pass the kernel package name to depmodwrapper
        rootfs.py: Run depmod(wrapper) against each compiled kernel
        rootfs.py: Drop FAKEROOT support in exec function
        grub: Allow build on armv7ve/a with softfp

  Aryaman Gupta (1):
        bitbake: doc: bitbake-user-manual: Add definition for BB_PRESSURE_MAX variables

  Bob Henz (1):
        systemd-systemctl: Fix WantedBy processing

  Bruce Ashfield (11):
        linux-yocto/5.15: update to v5.15.63
        linux-yocto/5.19: update to v5.19.5
        linux-yocto/5.19: update to v5.19.7
        linux-yocto/5.15: update to v5.15.65
        kern-tools: fix queue processing in relative TOPDIR configurations
        kern-tools: allow 'y' or 'm' to avoid config audit warnings
        linux-yocto/5.19: update to v5.19.9
        linux-yocto/5.15: update to v5.15.68
        linux-yocto/5.19: cfg: fix ACPI warnings for -tiny
        linux-yocto/5.15: cfg: fix ACPI warnings for -tiny
        linux-yocto/5.19: fix gcc-11 warning

  Changhyeok Bae (2):
        iproute2: Unset CLEANBROKEN
        iproute2: merge .inc into .bb

  Changqing Li (1):
        parselogs.py: ignore systemd-logind warning message

  Chen Qi (2):
        shadow-securetty: allow ttyS4 for amd-snowyowl-64
        useradd-example: do not use unsupported clear text password

  Daniel Gomez (3):
        rootfs-postcommands: Remove dropbear inconsistent comment
        gtk-icon-cache: Fix GTKIC_CMD if-else condition
        dropbear: Add enable-x11-forwarding PACKAGECONFIG option

  Daniel McGregor (2):
        coreutils: add openssl PACKAGECONFIG
        gcc: set the default target arch

  Denys Dmytriyenko (1):
        glibc-locale: explicitly remove empty dirs in ${libdir}

  Dmitry Baryshkov (2):
        linux-firmware: upgrade 20220708 -> 20220913
        linux-firmware: package new Qualcomm firmware

  Etienne Cordonnier (2):
        python3: add PACKAGECONFIG[editline]
        opkg: add option for zstd support

  Fabio Estevam (1):
        README.hardware.md: Fix the tftp example

  Florin Diaconescu (1):
        expat: upgrade 2.4.8 -> 2.4.9

  He Zhe (2):
        lttng-tools: Disable on qemuriscv32
        lttng-tools: Disable on riscv32

  Johan Korsnes (1):
        ref-manual: variables: document KERNEL_IMAGETYPES

  John Edward Broadbent (1):
        externalsrc: git submodule--helper list unsupported

  Jose Quaresma (2):
        bitbake: lib/bb: warning when the debug message is invalid
        bitbake: fetch2/crate fixup c212b0f3 loglevel

  Joshua Watt (2):
        oeqa: qemurunner: Report UNIX Epoch timestamp on login
        bitbake: bitbake: Fix a few more logger debug() calls

  Kai Kang (2):
        binutils: handle symlink files for gprofng
        binutils: another way to clear GPROFNG_ALTS for clang and musl

  Khem Raj (20):
        autoconf: Update K & R stype functions
        webkitgtk: Update to 2.6.37
        rust: Use variable to specify extra tools to install
        boost: Refrain bjam from poking into host includes
        gobject-introspection: Do not hardcode objdump name
        binutils-cross-canadian: Do not package gprofng.rc
        webkitgtk: Fix build on 32bit arm
        python3-lxml: Add recipe
        bitbake.conf: Define TC_CXX_RUNTIME
        rust: Use libc++ runtime when using clang with llvm runtime
        glibc: Upgrade to tip of 2.36 branch
        binutils: Ignore CVE-2022-38126 CVE-2022-38127
        inetutils: Fix remote DoS vulnerability in inetutils-telnetd
        curl: Add missing perl modules in ptest rdepends
        elfutils: Enable ptests on musl targets
        grub: Apply backports to fix build with clang on x86
        apt: Fix type mismatches and ptest builds
        linux-yocto: Enable mdio for qemu
        gcompat: Add __getauxval wrapper needed on aarch64
        ref-manual: Define TC_CXX_RUNTIME

  Konrad Weihmann (1):
        python3-idna: migrate to flit-core

  Kristian Amlie (1):
        externalsrc: Don't wipe out src dir when EXPORT_FUNCTIONS is used.

  Leon Anavi (1):
        python3-manifest.json: Add zoneinfo

  Markus Volk (5):
        squashfs-tools: build with lzo support
        libsdl2: update 2.0.22 -> 2.24.0
        libdrm: upgrade 2.4.112 -> 2.4.113
        mesa: upgrade 22.1.6 -> 22.2.0
        virglrenderer: upgrade 0.9.1 -> 0.10.3

  Martin Jansa (3):
        webkitgtk: fix gstreamer include paths
        libxml2: Port gentest.py to Python-3
        create-pull-request: don't switch the git remote protocol to git://

  Mattias Jernberg (1):
        bitbake: utils: Add enable_loopback_networking()

  Michael Opdenacker (8):
        bitbake: bitbake-user-manual: mention pydevshell in OE
        dev-manual: common-tasks.rst: refer to Python functions in BitBake manual
        ref-manual: features.rst: add missing default distro features
        ref-manual: variables.rst: remove BBPATH
        ref-manual: structure.rst: add reference to the contents of the build directory
        ref-manual: structure.rst: improve information about build/cache/
        ref-manual: variables.rst: correct templateconf.cfg file name
        ref-manual: structure.rst: add more subsection levels

  Mikko Rapeli (7):
        u-boot: switch from append to += in SRC_URI
        glibc-tests: use += instead of :append
        go-native: switch from SRC_URI:append to SRC_URI +=
        python3-rfc3986-validator: switch from SRC_URI:append to SRC_URI +=
        linux-libc-headers: switch from SRC_URI:append to SRC_URI +=
        common-tasks.rst: remove SRC_URI:append from examples
        kernel-dev/common.rst: remove SRC_URI:append from examples

  Mingli Yu (1):
        busybox: add devmem 128-bit support

  Otavio Salvador (2):
        bitbake: toaster: fix kirkstone version
        rust-hello-world: move to recipes-extended

  Pascal Bach (1):
        bitbake: fetch2/ssh.py: fix checkstatus

  Paulo Neves (2):
        watchdog: Remove unneeded tirpc dependency
        bitbake: fetch2: Remove unneeded conditional

  Pavel Zhukov (1):
        core-image.bbclass: Exclude openssh complementary packages

  Peter Bergin (1):
        rootfs-postcommands.bbclass: avoid moving ssh host keys if etc is writable

  Peter Kjellerstedt (6):
        cairo: Adapt the license information based on what is being built
        oe-setup-builddir: Correct when validation of the templates dir is run
        oe-setup-builddir: Simplify error handling
        oe-setup-builddir: Avoid shellcheck warnings
        oe-setup-builddir: Keep templateconf.cfg relative if $TEMPLATECONF is
        oe-setup-builddir: Always update templateconf.cfg

  Petr Vorel (1):
        ltp: Update list of tests not buildable on musl

  Richard Purdie (54):
        bitbake: wget: Avoid bad checksum race issues
        bitbake: asyncrpc/client: Fix unix domain socket chdir race issues
        build-appliance-image: Update to master head revision
        sstate: Fix sstate file mirroring checksum issue
        bitbake: fetch2: Ensure mirror tarballs don't enforce checksum
        qemu: Upgrade 7.0.0 -> 7.1.0
        qemurunner: Update to match qmp changes
        build-appliance-image: Update to master head revision
        vim: Upgrade 9.0.0341 -> 9.0.0453
        selftest/qemurunner: Work around possible control character contamination
        oetest: Drop unused variable
        oetest: Drop getResults usage from oeRuntimeTest
        oeqa/utils/decorators: Drop unused decorators
        oeqa/utils/decorators: Drop getResults
        autoconf-archive: upgrade 2022.02.11 -> 2022.09.03
        ofono: upgrade 1.34 -> 2.0
        ccache: upgrade 4.6.2 -> 4.6.3
        btrfs-tools: upgrade 5.19 -> 5.19.1
        dnf: upgrade 4.13.0 -> 4.14.0
        git: upgrade 2.37.2 -> 2.37.3
        ell: upgrade 0.52 -> 0.53
        file: upgrade 5.42 -> 5.43
        ninja: upgrade 1.11.0 -> 1.11.1
        libcomps: upgrade 0.1.18 -> 0.1.19
        python3-hatchling: upgrade 1.8.1 -> 1.9.0
        meson: upgrade 0.63.1 -> 0.63.2
        python3-idna: upgrade 3.3 -> 3.4
        librepo: upgrade 1.14.4 -> 1.14.5
        python3-hypothesis: upgrade 6.46.11 -> 6.54.5
        python3-numpy: upgrade 1.23.2 -> 1.23.3
        libdnf: upgrade 0.68.0 -> 0.69.0
        python3-psutil: upgrade 5.9.1 -> 5.9.2
        ffmpeg: upgrade 5.1 -> 5.1.1
        repo: upgrade 2.29.1 -> 2.29.2
        nghttp2: upgrade 1.48.0 -> 1.49.0
        libjitterentropy: upgrade 3.4.0 -> 3.4.1
        sqlite3: upgrade 3.39.2 -> 3.39.3
        diffoscope: upgrade 220 -> 221
        python3-certifi: upgrade 2022.6.15 -> 2022.9.14
        libpng: upgrade 1.6.37 -> 1.6.38
        numactl: upgrade 2.0.14 -> 2.0.15
        rpm: Upgrade 4.17.1 -> 4.18rc1
        perf: Fix for recent kernel upgrades
        oeqa/runtime/virgl: Update test to match new mesa version
        vim: Upgrade 9.0.453 -> 9.0.541
        vim: Upgrade 9.0.0541 -> 9.0.0598
        qemu: Add patch to address arm qemu upgrade issues
        layer.conf: Update to use langdale as the core layer name
        poky: Update to 4.1 version
        poky: Update to match poky version numbers
        bitbake: bitbake: Bump to version 2.2.0
        build-appliance-image: Update to master head revision
        go: Fix reproducibility failures
        build-appliance-image: Update to master head revision

  Robert Joslyn (6):
        xorg-lib-common: Add variable to set tarball type
        libxfont2: Update 2.0.5 to 2.0.6
        libxau: Update 1.0.9 to 1.0.10
        libfontenc: Update 1.1.4 to 1.1.6
        flac: Update 1.3.4 to 1.4.0
        tzdata: Update from 2022b to 2022c

  Ross Burton (16):
        meta-selftest/poison: improve sysroot poisoning test case
        gcc-cross: pass -Werror=poison-system-directories to compiler stages
        gcc: remove obsolete 0012-export-CPP.patch
        xmlto: remove redundant patches
        tiff: backport fix for CVE-2022-2953
        gcc: remove obsolete poisoned calloc workaround
        gcc: remove obsolete MinGW patch
        oeqa/selftest/debuginfod: don't re-use the database
        libgcrypt: disable bench-slope test case
        libxml2: don't override XML_CATALOG_FILES in xmllint wrapper if already set
        glibc: mark a CVE where we have merged the fix
        qemu: re-add the fix for CVE-2022-1050
        qemu: fix CVE-2022-2962
        dnf: add dummy packages for testing
        oeqa/runtime/dnf: use dnf-test packages
        Revert "wic/plugins/images/direct: Allow changes in fstab on rootfs"

  Ruiqiang Hao (1):
        tune-neoversen2: support tune-neoversen2 base on armv9a

  Samuli Piippo (2):
        Revert "gcc-cross-canadian: Add symlink to real-ld alongside other symlinks"
        gcc-cross-canadian: add default plugin linker

  Stefano Babic (1):
        libubootenv: upgrade 0.3.2 -> 0.3.3

  Sundeep KOKKONDA (1):
        rust-cross-canadian: Fix for the issue caused by using sdk shell

  Teoh Jay Shen (1):
        bind: upgrade 9.18.6 -> 9.18.7

  Tom Hochstein (2):
        cmake: Fix CMAKE_SYSTEM_PROCESSOR setting for SDK
        connman: Drop redundant nfsroot handling

  Ulrich Ölmann (5):
        icecc.bbclass: fix typos
        icecc.bbclass: delete 'rm' command
        manuals: fix paths to default templates & clean up whitespaces
        icecc.bbclass: fix filename of recipe in comment
        manuals: fix typos in the context of 'icecc' & clean up whitespaces

  Vyacheslav Yurkov (5):
        oeqa/selftest: drop image_feature test from overlayfs
        classes: Update overlayfs classes to use new bitbake functionality
        files: overlayfs-etc: refactor preinit template
        classes: files: Extend overlayfs-etc class
        oeqa/selftest: Add lower layer test for overlayfs-etc

  niko.mauno@vaisala.com (2):
        systemd: Add 'no-dns-fallback' PACKAGECONFIG option
        systemd: Fix unwritable /var/lock when no sysvinit handling

  pgowda (4):
        rust: Add linker configurations for cross compilation
        rust: Enable verbose-tests to get the test results in readable format
        binutils : CVE-2022-38533
        binutils : Fix CVE-2022-38128

  wangmy (9):
        cracklib: upgrade 2.9.7 -> 2.9.8
        kmscube: upgrade to latest revision
        piglit: upgrade to latest revision
        python3-dtschema: upgrade 2022.8.1 -> 2022.8.3
        python3-mako: upgrade 1.2.1 -> 1.2.2
        python3-pathspec: upgrade 0.9.0 -> 0.10.1
        python3-pytest: upgrade 7.1.2 -> 7.1.3
        vala: upgrade 0.56.2 -> 0.56.3
        less: upgrade 600 -> 608

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I1705b78d8a5ef5762fe770a69ed9b866fac52ccf
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index 0b9911e..890ba5f 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -173,14 +173,8 @@
         bb.utils.rename(self.image_rootfs + '-orig', self.image_rootfs)
 
     def _exec_shell_cmd(self, cmd):
-        fakerootcmd = self.d.getVar('FAKEROOT')
-        if fakerootcmd is not None:
-            exec_cmd = [fakerootcmd, cmd]
-        else:
-            exec_cmd = cmd
-
         try:
-            subprocess.check_output(exec_cmd, stderr=subprocess.STDOUT)
+            subprocess.check_output(cmd, stderr=subprocess.STDOUT)
         except subprocess.CalledProcessError as e:
             return("Command '%s' returned %d:\n%s" % (e.cmd, e.returncode, e.output))
 
@@ -325,19 +319,29 @@
             bb.note("No Kernel Modules found, not running depmod")
             return
 
-        kernel_abi_ver_file = oe.path.join(self.d.getVar('PKGDATA_DIR'), "kernel-depmod",
-                                           'kernel-abiversion')
-        if not os.path.exists(kernel_abi_ver_file):
-            bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file)
+        pkgdatadir = self.d.getVar('PKGDATA_DIR')
 
-        with open(kernel_abi_ver_file) as f:
-            kernel_ver = f.read().strip(' \n')
+        # PKGDATA_DIR can include multiple kernels so we run depmod for each
+        # one of them.
+        for direntry in os.listdir(pkgdatadir):
+            match = re.match('(.*)-depmod', direntry)
+            if not match:
+                continue
+            kernel_package_name = match.group(1)
 
-        versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver)
+            kernel_abi_ver_file = oe.path.join(pkgdatadir, direntry, kernel_package_name + '-abiversion')
+            if not os.path.exists(kernel_abi_ver_file):
+                bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file)
 
-        bb.utils.mkdirhier(versioned_modules_dir)
+            with open(kernel_abi_ver_file) as f:
+                kernel_ver = f.read().strip(' \n')
 
-        self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver])
+            versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver)
+
+            bb.utils.mkdirhier(versioned_modules_dir)
+
+            bb.note("Running depmodwrapper for %s ..." % versioned_modules_dir)
+            self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver, kernel_package_name])
 
     """
     Create devfs:
@@ -386,6 +390,10 @@
 
 
 def image_list_installed_packages(d, rootfs_dir=None):
+    # Theres no rootfs for baremetal images
+    if bb.data.inherits_class('baremetal-image', d):
+        return ""
+
     if not rootfs_dir:
         rootfs_dir = d.getVar('IMAGE_ROOTFS')
 
diff --git a/poky/meta/lib/oeqa/oetest.py b/poky/meta/lib/oeqa/oetest.py
index 9c84466..cf417db 100644
--- a/poky/meta/lib/oeqa/oetest.py
+++ b/poky/meta/lib/oeqa/oetest.py
@@ -28,7 +28,7 @@
     import oeqa.sdkext
 except ImportError:
     pass
-from oeqa.utils.decorators import LogResults, gettag, getResults
+from oeqa.utils.decorators import LogResults, gettag
 
 logger = logging.getLogger("BitBake")
 
@@ -57,7 +57,6 @@
 @LogResults
 class oeTest(unittest.TestCase):
 
-    pscmd = "ps"
     longMessage = True
 
     @classmethod
@@ -110,20 +109,6 @@
     def tearDown(self):
         # Uninstall packages in the DUT
         self.tc.install_uninstall_packages(self.id(), False)
-
-        res = getResults()
-        # If a test fails or there is an exception dump
-        # for QemuTarget only
-        if (type(self.target).__name__ == "QemuTarget" and
-                (self.id() in res.getErrorList() or
-                self.id() in  res.getFailList())):
-            self.tc.host_dumper.create_dir(self._testMethodName)
-            self.tc.host_dumper.dump_host()
-            self.target.target_dumper.dump_target(
-                    self.tc.host_dumper.dump_dir)
-            print ("%s dump data stored in %s" % (self._testMethodName,
-                     self.tc.host_dumper.dump_dir))
-
         self.tearDownLocal()
 
     # Method to be run after tearDown and implemented by child classes
@@ -398,11 +383,6 @@
     def _get_test_suites_required(self):
         return [t for t in self.d.getVar("TEST_SUITES").split() if t != "auto"]
 
-    def loadTests(self):
-        super(RuntimeTestContext, self).loadTests()
-        if oeTest.hasPackage("procps"):
-            oeRuntimeTest.pscmd = "ps -ef"
-
     def extract_packages(self):
         """
         Find packages that will be needed during runtime.
diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py
index a8e23e5..410d456 100644
--- a/poky/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py
@@ -75,48 +75,43 @@
     def test_dnf_makecache(self):
         self.dnf_with_repo('makecache')
 
-
-# Does not work when repo is specified on the command line
-#    @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
-#    def test_dnf_repolist(self):
-#        self.dnf_with_repo('repolist')
-
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
     def test_dnf_repoinfo(self):
         self.dnf_with_repo('repoinfo')
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
     def test_dnf_install(self):
-        output = self.dnf_with_repo('list run-postinsts-dev')
-        if 'Installed Packages' in output:
-            self.dnf_with_repo('remove -y run-postinsts-dev')
-        self.dnf_with_repo('install -y run-postinsts-dev')
+        self.dnf_with_repo('remove -y dnf-test-*')
+        self.dnf_with_repo('install -y dnf-test-dep')
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_install'])
     def test_dnf_install_dependency(self):
-        self.dnf_with_repo('remove -y run-postinsts')
-        self.dnf_with_repo('install -y run-postinsts-dev')
+        self.dnf_with_repo('remove -y dnf-test-*')
+        self.dnf_with_repo('install -y dnf-test-main')
+        output = self.dnf('list --installed dnf-test-*')
+        self.assertIn("dnf-test-main.", output)
+        self.assertIn("dnf-test-dep.", output)
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_install_dependency'])
     def test_dnf_install_from_disk(self):
-        self.dnf_with_repo('remove -y run-postinsts-dev')
-        self.dnf_with_repo('install -y --downloadonly run-postinsts-dev')
-        status, output = self.target.run('find /var/cache/dnf -name run-postinsts-dev*rpm', 1500)
+        self.dnf_with_repo('remove -y dnf-test-dep')
+        self.dnf_with_repo('install -y --downloadonly dnf-test-dep')
+        status, output = self.target.run('find /var/cache/dnf -name dnf-test-dep*rpm')
         self.assertEqual(status, 0, output)
         self.dnf_with_repo('install -y %s' % output)
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_install_from_disk'])
     def test_dnf_install_from_http(self):
-        output = subprocess.check_output('%s %s -name run-postinsts-dev*' % (bb.utils.which(os.getenv('PATH'), "find"),
+        output = subprocess.check_output('%s %s -name dnf-test-dep*' % (bb.utils.which(os.getenv('PATH'), "find"),
                                                                            os.path.join(self.tc.td['WORKDIR'], 'oe-testimage-repo')), shell=True).decode("utf-8")
         rpm_path = output.split("/")[-2] + "/" + output.split("/")[-1]
         url = 'http://%s:%s/%s' %(self.target.server_ip, self.repo_server.port, rpm_path)
-        self.dnf_with_repo('remove -y run-postinsts-dev')
+        self.dnf_with_repo('remove -y dnf-test-dep')
         self.dnf_with_repo('install -y %s' % url)
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_install'])
     def test_dnf_reinstall(self):
-        self.dnf_with_repo('reinstall -y run-postinsts-dev')
+        self.dnf_with_repo('reinstall -y dnf-test-main')
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
     @skipIfInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when not enable usrmerge')
@@ -139,14 +134,14 @@
         self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500)
         self.target.run('cp /bin/sh %s/bin' % rootpath, 1500)
         self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500)
-        self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath)
+        self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox' % rootpath)
         status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
         self.assertEqual(0, status, output)
         status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
         self.assertEqual(0, status, output)
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
-    @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmege')
+    @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmerge')
     @OEHasPackage('busybox')
     def test_dnf_installroot_usrmerge(self):
         rootpath = '/home/root/chroot/test'
@@ -171,7 +166,7 @@
         self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500)
         self.target.run('cp /bin/sh %s/bin' % rootpath, 1500)
         self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500)
-        self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath)
+        self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox' % rootpath)
         status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
         self.assertEqual(0, status, output)
         status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
@@ -179,15 +174,8 @@
 
     @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
     def test_dnf_exclude(self):
-        excludepkg = 'curl-dev'
-        self.dnf_with_repo('install -y curl*')
-        self.dnf('list %s' % excludepkg, 0)
-        #Avoid remove dependencies to skip some errors on different archs and images
-        self.dnf_with_repo('remove --setopt=clean_requirements_on_remove=0 -y curl*')
-        #check curl-dev is not installed adter removing all curl occurrences
-        status, output = self.target.run('dnf list --installed | grep %s'% excludepkg, 1500)
-        self.assertEqual(1, status, "%s was not removed,  is listed as installed"%excludepkg)
-        self.dnf_with_repo('install -y --exclude=%s --exclude=curl-staticdev curl*' % excludepkg)
-        #check curl-dev is not installed after being excluded
-        status, output = self.target.run('dnf list --installed | grep %s'% excludepkg , 1500)
-        self.assertEqual(1, status, "%s was not excluded, is listed as installed"%excludepkg)
+        self.dnf_with_repo('remove -y dnf-test-*')
+        self.dnf_with_repo('install -y --exclude=dnf-test-dep dnf-test-*')
+        output = self.dnf('list --installed dnf-test-*')
+        self.assertIn("dnf-test-main.", output)
+        self.assertNotIn("dnf-test-dev.", output)
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index e16c230..e67d375 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -67,6 +67,8 @@
     "was skipped because of a failed condition check",
     "was skipped because all trigger condition checks failed",
     "xf86OpenConsole: Switching VT failed",
+    "Failed to read LoaderConfigTimeoutOneShot variable, ignoring: Operation not supported",
+    "Failed to read LoaderEntryOneShot variable, ignoring: Operation not supported",
     ]
 
 video_related = [
diff --git a/poky/meta/lib/oeqa/selftest/cases/bblayers.py b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
index c6bd5a1..b048948 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -14,7 +14,9 @@
 
 class BitbakeLayers(OESelftestTestCase):
 
-    def setUpLocal(self):
+    @classmethod
+    def setUpClass(cls):
+        super(BitbakeLayers, cls).setUpClass()
         bitbake("python3-jsonschema-native")
         bitbake("-c addto_recipe_sysroot python3-jsonschema-native")
 
diff --git a/poky/meta/lib/oeqa/selftest/cases/debuginfod.py b/poky/meta/lib/oeqa/selftest/cases/debuginfod.py
index 01359ec..3c40119 100644
--- a/poky/meta/lib/oeqa/selftest/cases/debuginfod.py
+++ b/poky/meta/lib/oeqa/selftest/cases/debuginfod.py
@@ -10,16 +10,24 @@
 from oeqa.selftest.case import OESelftestTestCase
 from oeqa.utils.commands import bitbake, get_bb_var, runqemu
 
+
 class Debuginfod(OESelftestTestCase):
     def test_debuginfod(self):
-        self.write_config("""
+        self.write_config(
+            """
 DISTRO_FEATURES:append = " debuginfod"
 CORE_IMAGE_EXTRA_INSTALL += "elfutils"
-        """)
+        """
+        )
         bitbake("core-image-minimal elfutils-native:do_addto_recipe_sysroot")
 
         native_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "elfutils-native")
-        cmd = [os.path.join(native_sysroot, "usr", "bin", "debuginfod"), "--verbose", get_bb_var("DEPLOY_DIR")]
+        cmd = [
+            os.path.join(native_sysroot, "usr", "bin", "debuginfod"),
+            "--verbose",
+            "--database=:memory:",
+            get_bb_var("DEPLOY_DIR"),
+        ]
         for format in get_bb_var("PACKAGE_CLASSES").split():
             if format == "package_deb":
                 cmd.append("--scan-deb-dir")
@@ -36,7 +44,10 @@
             debuginfod = subprocess.Popen(cmd)
 
             with runqemu("core-image-minimal", runqemuparams="nographic") as qemu:
-                cmd = "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/debuginfod" % (qemu.server_ip, port)
+                cmd = (
+                    "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/debuginfod"
+                    % (qemu.server_ip, port)
+                )
                 status, output = qemu.run_serial(cmd)
                 # This should be more comprehensive
                 self.assertIn("/.cache/debuginfod_client/", output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
index bff22f2..57a8c8b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
+++ b/poky/meta/lib/oeqa/selftest/cases/overlayfs.py
@@ -333,24 +333,14 @@
         self.assertTrue("overlayfs-etc" in res.output, msg=res.output)
         self.assertTrue("package-management" in res.output, msg=res.output)
 
-    def test_image_feature_is_missing_class_included(self):
-        configAppend = """
-INHERIT += "overlayfs-etc"
-"""
-        self.run_check_image_feature(configAppend)
-
     def test_image_feature_is_missing(self):
-        self.run_check_image_feature()
-
-    def run_check_image_feature(self, appendToConfig=""):
         """
         Summary:   Overlayfs-etc class is not applied when image feature is not set
-                   even if we inherit it directly,
         Expected:  Image is created successfully but /etc is not an overlay
         Author:    Vyacheslav Yurkov <uvv.mail@gmail.com>
         """
 
-        config = f"""
+        config = """
 DISTRO_FEATURES:append = " systemd"
 
 # Use systemd as init manager
@@ -366,7 +356,6 @@
 # Image configuration for overlayfs-etc
 OVERLAYFS_ETC_MOUNT_POINT = "/data"
 OVERLAYFS_ETC_DEVICE = "/dev/sda3"
-{appendToConfig}
 """
 
         self.write_config(config)
@@ -392,7 +381,84 @@
         Author:    Vyacheslav Yurkov <uvv.mail@gmail.com>
         """
 
-        config = """
+        config = self.get_working_config()
+
+        args = {
+            'OVERLAYFS_INIT_OPTION': "" if origInit else "init=/sbin/preinit",
+            'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': int(origInit == True)
+        }
+
+        self.write_config(config.format(**args))
+
+        bitbake('core-image-minimal')
+        testFile = "/etc/my-test-data"
+
+        with runqemu('core-image-minimal', image_fstype='wic', discard_writes=False) as qemu:
+            status, output = qemu.run_serial("/bin/mount")
+
+            line = getline_qemu(output, "/dev/sda3")
+            self.assertTrue("/data" in output, msg=output)
+
+            line = getline_qemu(output, "upperdir=/data/overlay-etc/upper")
+            self.assertTrue(line and line.startswith("/data/overlay-etc/upper on /etc type overlay"), msg=output)
+
+            # check that lower layer is not available
+            status, output = qemu.run_serial("ls -1 /data/overlay-etc/lower")
+            line = getline_qemu(output, "No such file or directory")
+            self.assertTrue(line, msg=output)
+
+            status, output = qemu.run_serial("touch " + testFile)
+            status, output = qemu.run_serial("sync")
+            status, output = qemu.run_serial("ls -1 " + testFile)
+            line = getline_qemu(output, testFile)
+            self.assertTrue(line and line.startswith(testFile), msg=output)
+
+        # Check that file exists in /etc after reboot
+        with runqemu('core-image-minimal', image_fstype='wic') as qemu:
+            status, output = qemu.run_serial("ls -1 " + testFile)
+            line = getline_qemu(output, testFile)
+            self.assertTrue(line and line.startswith(testFile), msg=output)
+
+    def test_lower_layer_access(self):
+        """
+        Summary:   Test that lower layer of /etc is available read-only when configured
+        Expected:  Can't write to lower layer. The files on lower and upper different after
+                   modification
+        Author:    Vyacheslav Yurkov <uvv.mail@gmail.com>
+        """
+
+        config = self.get_working_config()
+
+        configLower = """
+OVERLAYFS_ETC_EXPOSE_LOWER = "1"
+IMAGE_INSTALL:append = " overlayfs-user"
+"""
+        testFile = "lower-layer-test.txt"
+
+        args = {
+            'OVERLAYFS_INIT_OPTION': "",
+            'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': 1
+        }
+
+        self.write_config(config.format(**args))
+
+        self.append_config(configLower)
+        bitbake('core-image-minimal')
+
+        with runqemu('core-image-minimal', image_fstype='wic') as qemu:
+            status, output = qemu.run_serial("echo \"Modified in upper\" > /etc/" + testFile)
+            status, output = qemu.run_serial("diff /etc/" + testFile + " /data/overlay-etc/lower/" + testFile)
+            line = getline_qemu(output, "Modified in upper")
+            self.assertTrue(line, msg=output)
+            line = getline_qemu(output, "Original file")
+            self.assertTrue(line, msg=output)
+
+            status, output = qemu.run_serial("touch /data/overlay-etc/lower/ro-test.txt")
+            line = getline_qemu(output, "Read-only file system")
+            self.assertTrue(line, msg=output)
+
+    def get_working_config(self):
+        return """
 DISTRO_FEATURES:append = " systemd"
 
 # Use systemd as init manager
@@ -414,34 +480,3 @@
 OVERLAYFS_ETC_DEVICE = "/dev/sda3"
 OVERLAYFS_ETC_USE_ORIG_INIT_NAME = "{OVERLAYFS_ETC_USE_ORIG_INIT_NAME}"
 """
-
-        args = {
-            'OVERLAYFS_INIT_OPTION': "" if origInit else "init=/sbin/preinit",
-            'OVERLAYFS_ETC_USE_ORIG_INIT_NAME': int(origInit == True)
-        }
-
-        self.write_config(config.format(**args))
-
-        bitbake('core-image-minimal')
-        testFile = "/etc/my-test-data"
-
-        with runqemu('core-image-minimal', image_fstype='wic', discard_writes=False) as qemu:
-            status, output = qemu.run_serial("/bin/mount")
-
-            line = getline_qemu(output, "/dev/sda3")
-            self.assertTrue("/data" in output, msg=output)
-
-            line = getline_qemu(output, "upperdir=/data/overlay-etc/upper")
-            self.assertTrue(line and line.startswith("/data/overlay-etc/upper on /etc type overlay"), msg=output)
-
-            status, output = qemu.run_serial("touch " + testFile)
-            status, output = qemu.run_serial("sync")
-            status, output = qemu.run_serial("ls -1 " + testFile)
-            line = getline_qemu(output, testFile)
-            self.assertTrue(line and line.startswith(testFile), msg=output)
-
-        # Check that file exists in /etc after reboot
-        with runqemu('core-image-minimal', image_fstype='wic') as qemu:
-            status, output = qemu.run_serial("ls -1 " + testFile)
-            line = getline_qemu(output, testFile)
-            self.assertTrue(line and line.startswith(testFile), msg=output)
diff --git a/poky/meta/lib/oeqa/utils/decorators.py b/poky/meta/lib/oeqa/utils/decorators.py
index aabf411..ea90164 100644
--- a/poky/meta/lib/oeqa/utils/decorators.py
+++ b/poky/meta/lib/oeqa/utils/decorators.py
@@ -16,91 +16,6 @@
 import signal
 from functools import wraps
 
-#get the "result" object from one of the upper frames provided that one of these upper frames is a unittest.case frame
-class getResults(object):
-    def __init__(self):
-        #dynamically determine the unittest.case frame and use it to get the name of the test method
-        ident = threading.current_thread().ident
-        upperf = sys._current_frames()[ident]
-        while (upperf.f_globals['__name__'] != 'unittest.case'):
-            upperf = upperf.f_back
-
-        def handleList(items):
-            ret = []
-            # items is a list of tuples, (test, failure) or (_ErrorHandler(), Exception())
-            for i in items:
-                s = i[0].id()
-                #Handle the _ErrorHolder objects from skipModule failures
-                if "setUpModule (" in s:
-                    ret.append(s.replace("setUpModule (", "").replace(")",""))
-                else:
-                    ret.append(s)
-                # Append also the test without the full path
-                testname = s.split('.')[-1]
-                if testname:
-                    ret.append(testname)
-            return ret
-        self.faillist = handleList(upperf.f_locals['result'].failures)
-        self.errorlist = handleList(upperf.f_locals['result'].errors)
-        self.skiplist = handleList(upperf.f_locals['result'].skipped)
-
-    def getFailList(self):
-        return self.faillist
-
-    def getErrorList(self):
-        return self.errorlist
-
-    def getSkipList(self):
-        return self.skiplist
-
-class skipIfFailure(object):
-
-    def __init__(self,testcase):
-        self.testcase = testcase
-
-    def __call__(self,f):
-        @wraps(f)
-        def wrapped_f(*args, **kwargs):
-            res = getResults()
-            if self.testcase in (res.getFailList() or res.getErrorList()):
-                raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
-            return f(*args, **kwargs)
-        wrapped_f.__name__ = f.__name__
-        return wrapped_f
-
-class skipIfSkipped(object):
-
-    def __init__(self,testcase):
-        self.testcase = testcase
-
-    def __call__(self,f):
-        @wraps(f)
-        def wrapped_f(*args, **kwargs):
-            res = getResults()
-            if self.testcase in res.getSkipList():
-                raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
-            return f(*args, **kwargs)
-        wrapped_f.__name__ = f.__name__
-        return wrapped_f
-
-class skipUnlessPassed(object):
-
-    def __init__(self,testcase):
-        self.testcase = testcase
-
-    def __call__(self,f):
-        @wraps(f)
-        def wrapped_f(*args, **kwargs):
-            res = getResults()
-            if self.testcase in res.getSkipList() or \
-                    self.testcase in res.getFailList() or \
-                    self.testcase in res.getErrorList():
-                raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
-            return f(*args, **kwargs)
-        wrapped_f.__name__ = f.__name__
-        wrapped_f._depends_on = self.testcase
-        return wrapped_f
-
 class testcase(object):
     def __init__(self, test_case):
         self.test_case = test_case
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 4c3d201..6a85f57 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -85,7 +85,7 @@
         accepted_patterns = ['search_reached_prompt', 'send_login_user', 'search_login_succeeded', 'search_cmd_finished']
         default_boot_patterns = defaultdict(str)
         # Default to the usual paterns used to communicate with the target
-        default_boot_patterns['search_reached_prompt'] = b' login:'
+        default_boot_patterns['search_reached_prompt'] = ' login:'
         default_boot_patterns['send_login_user'] = 'root\n'
         default_boot_patterns['search_login_succeeded'] = r"root@[a-zA-Z0-9\-]+:~#"
         default_boot_patterns['search_cmd_finished'] = r"[a-zA-Z0-9]+@[a-zA-Z0-9\-]+:~#"
@@ -109,12 +109,15 @@
             sock.close()
             raise
 
+    def decode_qemulog(self, todecode):
+        # Sanitize the data received from qemu as it may contain control characters
+        msg = todecode.decode("utf-8", errors='ignore')
+        msg = re_control_char.sub('', msg)
+        return msg
+
     def log(self, msg):
         if self.logfile:
-            # It is needed to sanitize the data received from qemu
-            # because is possible to have control characters
-            msg = msg.decode("utf-8", errors='ignore')
-            msg = re_control_char.sub('', msg)
+            msg = self.decode_qemulog(msg)
             self.msg += msg
             with codecs.open(self.logfile, "a", encoding="utf-8") as f:
                 f.write("%s" % msg)
@@ -188,8 +191,8 @@
         importlib.invalidate_caches()
         try:
             qmp = importlib.import_module("qmp")
-        except:
-            self.logger.error("qemurunner: qmp.py missing, please ensure it's installed")
+        except Exception as e:
+            self.logger.error("qemurunner: qmp.py missing, please ensure it's installed (%s)" % str(e))
             return False
         # Path relative to tmpdir used as cwd for qemu below to avoid unix socket path length issues
         qmp_file = "." + next(tempfile._get_candidate_names())
@@ -325,7 +328,8 @@
         try:
             os.chdir(os.path.dirname(qmp_port))
             try:
-               self.qmp = qmp.QEMUMonitorProtocol(os.path.basename(qmp_port))
+               from qmp.legacy import QEMUMonitorProtocol
+               self.qmp = QEMUMonitorProtocol(os.path.basename(qmp_port))
             except OSError as msg:
                 self.logger.warning("Failed to initialize qemu monitor socket: %s File: %s" % (msg, msg.filename))
                 return False
@@ -467,13 +471,15 @@
                             self.log(data)
 
                         data = b''
-                        if self.boot_patterns['search_reached_prompt'] in bootlog:
+
+                        decodedlog = self.decode_qemulog(bootlog)
+                        if self.boot_patterns['search_reached_prompt'] in decodedlog:
                             self.server_socket = qemusock
                             stopread = True
                             reachedlogin = True
-                            self.logger.debug("Reached login banner in %s seconds (%s)" %
+                            self.logger.debug("Reached login banner in %s seconds (%s, %s)" %
                                               (time.time() - (endtime - self.boottime),
-                                              time.strftime("%D %H:%M:%S")))
+                                              time.strftime("%D %H:%M:%S"), time.time()))
                     else:
                         # no need to check if reachedlogin unless we support multiple connections
                         self.logger.debug("QEMU socket disconnected before login banner reached. (%s)" %
@@ -487,10 +493,10 @@
                 self.logger.warning("Target didn't reach login banner in %d seconds (%s)" %
                                   (self.boottime, time.strftime("%D %H:%M:%S")))
             tail = lambda l: "\n".join(l.splitlines()[-25:])
-            bootlog = bootlog.decode("utf-8")
+            bootlog = self.decode_qemulog(bootlog)
             # in case bootlog is empty, use tail qemu log store at self.msg
             lines = tail(bootlog if bootlog else self.msg)
-            self.logger.warning("Last 25 lines of text:\n%s" % lines)
+            self.logger.warning("Last 25 lines of text (%d):\n%s" % (len(bootlog), lines))
             self.logger.warning("Check full boot log: %s" % self.logfile)
             self._dump_host()
             self.stop()