poky: subtree update:2834c2f853..17aabc0127

Adam Romanek (3):
      bitbake: fetch/git: run gc in foreground to avoid race with tar
      bitbake: fetch2/s3: allow to use credentials from environment variables
      own-mirrors: Add support for s3:// scheme in SOURCE_MIRROR_URL

Alexander Kanavin (44):
      devtool upgrade: rebase override-only patches as well
      cmake: update 3.20.3 -> 3.20.4
      gnu-config: update to latest revision
      bash: update 5.1 -> 5.1.8
      dnf: updatee 4.7.0 -> 4.8.0
      vulkan-samples: update to latest revision
      bind: upgrade 9.16.16 -> 9.16.18
      bluez5: upgrade 5.58 -> 5.59
      dejagnu: upgrade 1.6.2 -> 1.6.3
      libdnf: upgrade 0.63.0 -> 0.63.1
      libpcre: upgrade 8.44 -> 8.45
      libxi: upgrade 1.7.10 -> 1.7.99.2
      mtools: upgrade 4.0.29 -> 4.0.31
      python3-git: upgrade 3.1.17 -> 3.1.18
      sqlite3: upgrade 3.35.5 -> 3.36.0
      vte: upgrade 0.64.1 -> 0.64.2
      x264: upgrade to latest revision
      python3: apply test skipping patch unconditionally
      pypi: set SRC_URI with _prepend, not with +=
      man-pages: upgrade 5.11 -> 5.12
      rt-tests: update 1.10 -> 2.1
      python3-iniparse: update 0.4 -> 0.5
      iputils: correct upstream version check
      texinfo: update 6.7 -> 6.8
      xserver-xorg: exclude development snapshots from upstream version checks
      xwayland: exclude development snapshots from upstream version checks
      devtool: correctly handle non-standard source tree locations in upgrades
      llvm: make upgradable via devtool
      xserver-xorg: update 1.20.11 -> 1.20.12
      libmodulemd: update 2.12.1 -> 2.13.0
      bluez5: upgrade 5.59 -> 5.60
      createrepo-c: upgrade 0.17.3 -> 0.17.4
      ethtool: upgrade 5.12 -> 5.13
      gtk+3: upgrade 3.24.29 -> 3.24.30
      harfbuzz: upgrade 2.8.1 -> 2.8.2
      iproute2: upgrade 5.12.0 -> 5.13.0
      libgit2: upgrade 1.1.0 -> 1.1.1
      mpg123: upgrade 1.28.0 -> 1.28.2
      mtools: upgrade 4.0.31 -> 4.0.32
      ruby: upgrade 3.0.1 -> 3.0.2
      stress-ng: upgrade 0.12.11 -> 0.12.12
      webkitgtk: upgrade 2.32.1 -> 2.32.2
      xwayland: upgrade 21.1.1 -> 21.1.2
      tcl: fix upstream version check

Alexey Brodkin (3):
      dpkg: Add ARC support
      default-distrovars.inc: Remove seccomp for ARC
      dhcpcd: add ARC support

Andreas Müller (4):
      libdrm: upgrade 2.4.106 -> 2.4.107
      mesa: upgrade 21.1.3 -> 21.1.4
      pango: upgrade 1.48.5 -> 1.48.7
      mesa: upgrade 21.1.4 -> 21.1.5

Andrej Valek (1):
      busybox: add tmpdir option into mktemp applet

Armin Kuster (1):
      maintainers.inc: remove myself as a Maintainer

Asfak Rahman (1):
      openssh: Remove temporary keys before generating new ones

Bruce Ashfield (24):
      linux-yocto/5.10: update to v5.10.46
      linux-yocto/5.10: features/nft_tables: refresh config options
      linux-yocto/5.4: update to v5.4.128
      linux-yocto/5.10: rcu: Fix stall-warning deadlock due to non-release of rcu_node ->lock
      linux-yocto/5.10: update to v5.10.47
      linux-yocto/5.4: update to v5.4.129
      linux-yocto/5.10: scsi-debug needs scsi-disk
      linux-libc-headers: update to 5.13
      kernel-devsrc: fix scripts/prepare for ARM64
      kernel-devsrc: fix scripts prepare for powerpc
      kernel-devsrc: powerpc64 add scripts prepare support
      linux-yocto: introduce 5.13 recipes
      linux-yocto/5.13: add devupstream support
      linux-yocto-rt/5.13: integrate -rt1
      linux-yocto: add vfat KERNEL_FEATURE when MACHINE_FEATURES include vfat
      linux-yocto/5.10: update to v5.10.49
      linux-yocto/5.4: update to v5.4.131
      linux-yocto/5.13: update to v5.13.2
      linux-yocto/5.10: update to v5.10.50
      linux-yocto/5.4: update to v5.4.132
      linux-yocto/5.13: update to v5.13.3
      linux-yocto/5.13: update to v5.13.4
      linux-yocto/5.10: update to v5.10.52
      linux-yocto/5.4: update to v5.4.134

Changhyeok Bae (1):
      iputils: Update to 20210202

Changqing Li (1):
      boost-build-native: workaround one rarely hang problem on fedora34

Christoph Muellner (1):
      ldconfig-native: Add RISC-V support

Damian Wrobel (1):
      gobject-introspection: Fix the license (add MIT)

Denys Dmytriyenko (1):
      bitbake: providers: replace newly added logger.warn() with logger.warning()

Fabio Berton (1):
      lib/oe/package_manager: Don't ignore installation failures in install_complementary

Florian Amstutz (1):
      devtool: deploy-target: Fix preserving attributes when using --strip

Jose Quaresma (3):
      glslang: upgrade 11.4.0 -> 11.5.0
      shaderc: upgrade 2021.0 -> 2021.1
      spirv-tools: upgrade 2021.1 -> 2021.2

Joshua Watt (3):
      ref-manual: Document BUILDHISTORY_PATH_PREFIX_STRIP
      bitbake: bitbake: Add piping compression library
      bitbake: server: Fix early parsing errors preventing zombie bitbake

Khem Raj (7):
      glib-2.0: Fix signature of close_range
      gnome-desktop-testing: Fix non-literal format string warning
      util-linux: Disable chfn-chsh on non-target builds
      libseccomp: Update to main branch
      systemd: Fix libseccomp testcase involving __NR_ppoll
      util-linux: Fix signature of close_range()
      gpgme: Use glibc provided closefrom API when available

Lee Chee Yang (1):
      qemu: fix CVE-2021-3527

Marek Vasut (2):
      pulseaudio: Drop pulseaudio-conf
      update-rc.d: update SRCREV to pull in fix for non-bash shell support

Mark Hatle (1):
      populate_sdk_ext: Error if trying to generate an eSDK from a mulitconfig

Max Krummenacher (1):
      xwayland: port packageconfig from xserver-xorg recipe

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

Michael Ho (1):
      sstate.bbclass: fix errors about read-only sstate mirrors

Mike Crowe (1):
      licence_image: Add lic-pkgs IMAGE_FEATURE

Mingli Yu (4):
      pulseaudio: check if NEON code can be compiled on arm
      perlcross: check the file if patched or not
      perl: correct libpth and glibpth
      parselogs.py: ignore rndr initialization failure

Patrick Williams (1):
      docs: remove image-mklibs references

Paul Barker (1):
      linux-yocto: Fix devupstream SRCREV assignment

Peter Bergin (1):
      Revert "libubootenv: inherit uboot-config"

Quentin Schulz (1):
      docs: replace remaining ``FOO`` by :term:`FOO`

Ralph Siemsen (1):
      oeqa/manual/toaster: fix small typo

Richard Purdie (26):
      package_pkgdata: Avoid task hash mismatches for generic task changes
      selftest/fetch: Avoid occasional selftest failure from poor temp file name choice
      kernel: Fix interaction when packaging disabled
      kernel-devicetree: Fix interaction when packaging disabled
      python3-pip/python3-pbr: Drop obsolete md5sum at upgrade
      oeqa/selftest/runcmd: Tweal test timeouts
      bash: Fix a rare make race build failure
      sstate/staging: Handle directory creation race issue
      oeqa/selftest/archiver: Allow tests to ignore empty directories
      dwarfsrcfiles: Avoid races over debug-link files
      oeqa/selftest/multiprocesslauch: Fix test race
      runqemu: Remove potential lock races around tap device handling
      glibc-testsuite: Fix build failures when directly running recipe
      license: Drop adding RRECOMMENDS for license packages
      report-error: Drop pointless inherit
      pseudo: Add uninative configuration sanity check
      pseudo: Update to latest version including statx fix
      sstate: Drop pseudo exclusion
      oeqa/qemurunner: Handle files no longer existing gracefully
      python3: Add a fix for a make install race
      Add README link to README.poky
      README.OE-Core/README.qemu: Move to markdown format
      bitbake: data_smart/parse: Allow ':' characters in variable/function names
      zstd: Include pzstd in the build
      buildtools-tarball: Add lz4 and ztsd (including pzstd)
      build-appliance-image: Update to master head revision

Ross Burton (29):
      glibc: backport MTE improvements from master
      glibc: re-enable memory tagging
      libgudev: fix SRC_URI
      cantarell-fonts: fix SRC_URI
      shadow: generate alternative links for chfn and chsh
      util-linux: build chfn and chsh
      util-linux: add missing ptest dependencies
      util-linux: backport test suite fixes
      util-linux: rewrite the ptest integration
      glib-2.0: fix g-file-into modification time test
      oeqa/selftest/recipetool: update socat version to fix failing download
      parted: improve ptest execution
      tcl: suffix all Tcl man pages instead of using alternatives
      tcl: EXTRA_OECONF already passes --libdir, don't do it again
      tcl: mark a patch as upstreamable
      tcl: use tcl-core instead of patching out packages
      tcl: use AUTOTOOLS_SCRIPT_PATH
      tcl: remove redundant file creation
      tcl: detect tests that error as well as fail
      tcl: clock.test needs a timezone to be set
      tcl: fix race in interp.test
      parted: remove obsolete patch
      parted: fix ptest RRECOMMENDS
      busybox: support mounting swap via labels
      meta: remove redundant ${libdir}/cmake from FILES_${PN}-dev
      cups: update to 2.3.3op2
      parted: skip tests that need vfat support
      avahi: fix CVE-2021-36217, crash on pinging '.local'
      parted: add device mappper PACKAGECONFIG

Sakib Sajal (3):
      buildstats.bbclass: log host data on failure to task specific file
      oe-time-dd-test.sh: add options and refactor
      scripts/oe-time-dd-test.sh: run "uptime" on each iteration

Saul Wold (4):
      qemurunner: Add info log for qemu startup
      oeqa/qemurunner: add support qmp cmd args
      oeqa/dump.py: Add support for QMP command arguments
      testimage.bbclass: Add dump-guest-memory cmd

Scott Weaver (1):
      meta-skeleton: update to satisfy yocto-check-layer tests

Tim Orling (6):
      python3-importlib-metadata: upgrade 4.5.0 -> 4.6.0
      python3-packaging: upgrade 20.9 -> 21.0
      python3-hypothesis: upgrade 6.14.0 -> 6.14.1
      python3-zipp: upgrade 3.4.1 -> 3.5.0
      at-spi2-core: upgrade 2.40.2 -> 2.40.3
      python3-hypothesis: upgrade 6.14.1 -> 6.14.3

Tony Tascioglu (1):
      valgrind: skip flaky ptest fb_test_amd64

Trevor Gamblin (2):
      python3-pip: upgrade 20.0.2 -> 21.1.2
      python3-pip: add multiprocessing to RDEPENDS

Yi Zhao (1):
      libffi: disable use of static exec trampolines

Zoltán Böszörményi (1):
      tzdata: Allow controlling zoneinfo binary format

Zqiang (1):
      ifupdown: Skip wrong test item

bkylerussell@gmail.com (1):
      gstreamer: add libgst packages to PACKAGES_DYNAMIC

jbouchard (1):
      Use the label provided when formating a dos partition

wangmy (19):
      libcap: upgrade 2.50 -> 2.51
      libhandy: upgrade 1.2.2 -> 1.2.3
      libva: upgrade 2.11.0 -> 2.12.0
      libxcrypt: upgrade 4.4.22 -> 4.4.23
      python3-numpy: upgrade 1.20.3 -> 1.21.0
      python3-pbr: upgrade 5.4.4 -> 5.6.0
      cmake: upgrade 3.20.4 -> 3.20.5
      gpgme: upgrade 1.15.1 -> 1.16.0
      libglu: upgrade 9.0.1 -> 9.0.2
      stress-ng: upgrade 0.12.10 -> 0.12.11
      xf86-input-libinput: upgrade 1.0.1 -> 1.1.0
      vulkan-headers: upgrade 1.2.176 -> 1.2.182
      vulkan-loader: upgrade 1.2.176 -> 1.2.182
      vulkan-tools: upgrade 1.2.176 -> 1.2.182
      gnome-desktop-testing: upgrade 2018.1 -> 2021.1
      python3-importlib-metadata: upgrade 4.6.0 -> 4.6.1
      u-boot: upgrade 2021.04 -> 2021.07
      python3-setuptools: upgrade 57.0.0 -> 57.1.0
      btrfs-tools: upgrade 5.12.1 -> 5.13

zangrc (1):
      python3-pip: upgrade 21.1.2 -> 21.1.3

zhengruoqin (3):
      libffi: upgrade 3.3 -> 3.4.2
      python3: upgrade 3.9.5 -> 3.9.6
      python3-pathlib2: upgrade 2.3.5 -> 2.3.6

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: If493204235c3a1ce4e7fe65438168512d17a900e
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index 9d7d8a2..0648366 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -36,5 +36,12 @@
            file://display_testname_for_subtest.patch \
            file://avoid_parallel_tests.patch \
            file://8a3a74160b96498d672e3652827aa7e6d7f3a120.patch \
+           file://tests-kill.patch \
+           file://tests-blkdiscard.patch \
+           file://tests-ul.patch \
+           file://tests-eject.patch \
+           file://tests-lscpu.patch \
+           file://0001-login-fix-close_range-use.patch \
            "
+
 SRC_URI[sha256sum] = "bd07b7e98839e0359842110525a3032fdb8eaf3a90bedde3dd1652d32d15cce5"
diff --git a/poky/meta/recipes-core/util-linux/util-linux/0001-login-fix-close_range-use.patch b/poky/meta/recipes-core/util-linux/util-linux/0001-login-fix-close_range-use.patch
new file mode 100644
index 0000000..7a47597
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/0001-login-fix-close_range-use.patch
@@ -0,0 +1,62 @@
+From 76ae0badd3fd7c8653fa4d3c78d2dcfcec51d23d Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Wed, 14 Jul 2021 17:25:57 +0200
+Subject: [PATCH] login: fix close_range() use
+
+This new syscall comes with three arguments (see kernel commit
+278a5fbaed89dacd04e9d052f4594ffd0e0585de). Not sure why util-linux
+assume only two.
+
+Upstream-Status: Backport [https://github.com/karelzak/util-linux/commit/b8d99a618baffb4fc03cda4c40e29778b6d77ad4]
+Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1981729
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ include/fileutils.h | 4 ++--
+ lib/fileutils.c     | 2 +-
+ login-utils/login.c | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/include/fileutils.h b/include/fileutils.h
+index ad54b95..f86426b 100644
+--- a/include/fileutils.h
++++ b/include/fileutils.h
+@@ -82,9 +82,9 @@ static inline struct dirent *xreaddir(DIR *dp)
+ # if defined(SYS_close_range)
+ #  include <sys/types.h>
+ #  ifndef HAVE_CLOSE_RANGE
+-static inline int close_range(unsigned int first, unsigned int last)
++static inline int close_range(unsigned int first, unsigned int last, int flags)
+ {
+-	return syscall(SYS_close_range, first, last);
++	return syscall(SYS_close_range, first, last, flags);
+ }
+ #  endif
+ #  define HAVE_CLOSE_RANGE 1
+diff --git a/lib/fileutils.c b/lib/fileutils.c
+index 846b718..a979b03 100644
+--- a/lib/fileutils.c
++++ b/lib/fileutils.c
+@@ -189,7 +189,7 @@ int main(int argc, char *argv[])
+ 		ignore_result( dup(STDIN_FILENO) );
+
+ # ifdef HAVE_CLOSE_RANGE
+-		close_range(STDERR_FILENO + 1, ~0U);
++		close_range(STDERR_FILENO + 1, ~0U, 0);
+ # else
+ 		ul_close_all_fds(STDERR_FILENO + 1, ~0U);
+ # endif
+diff --git a/login-utils/login.c b/login-utils/login.c
+index 7fefd05..94a042d 100644
+--- a/login-utils/login.c
++++ b/login-utils/login.c
+@@ -1358,7 +1358,7 @@ static void initialize(int argc, char **argv, struct login_context *cxt)
+ #endif
+ 	}
+ #ifdef HAVE_CLOSE_RANGE
+-	close_range(STDERR_FILENO + 1, ~0U);
++	close_range(STDERR_FILENO + 1, ~0U, 0);
+ #else
+ 	ul_close_all_fds(STDERR_FILENO + 1, ~0U);
+ #endif
+--
+2.32.0
diff --git a/poky/meta/recipes-core/util-linux/util-linux/run-ptest b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
index e135ee5..3a910be 100644
--- a/poky/meta/recipes-core/util-linux/util-linux/run-ptest
+++ b/poky/meta/recipes-core/util-linux/util-linux/run-ptest
@@ -13,31 +13,12 @@
 export bindir=$(dirname $current_path)
 export PATH=$bindir/bin:$PATH
 
-cd tests || exit 1                                                          
-
-comps=$(find ts/ -type f -perm -111 -regex ".*/[^\.~]*" |  sort)
-
-
-echo
-echo "-------------------- util-linux regression tests --------------------"
-echo
-echo "                    For development purpose only.                    "
-echo "                 Don't execute on production system!                 "
-echo
-
-res=0
-count=0
-for ts in $comps; 
-do 
-   $ts | sed -u '{        
+./tests/run.sh --use-system-commands --parsable --show-diff | sed -u '{
       s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/                              
       s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/                
       s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/               
-   }' 
-done
-
+   }'
 
 if [ "x$UDEV_PID" != "x" ]; then
     /etc/init.d/udev start
 fi
-
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-blkdiscard.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-blkdiscard.patch
new file mode 100644
index 0000000..34b07a4
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-blkdiscard.patch
@@ -0,0 +1,31 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 45fe65d934df2c938701f1c3cd3e0a6f3bdf25e6 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 29 Jun 2021 18:10:40 +0100
+Subject: [PATCH] tests/blkdiscard: check correct log file for errors
+
+When checking if the discard ioctl is supported, look in stderr not stdout.
+
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/ts/blkdiscard/offsets | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/ts/blkdiscard/offsets b/tests/ts/blkdiscard/offsets
+index 9dddc35e2..5e724d51b 100755
+--- a/tests/ts/blkdiscard/offsets
++++ b/tests/ts/blkdiscard/offsets
+@@ -48,7 +48,7 @@ ts_log "testing offsets with full block size"
+ run_tscmd $TS_CMD_BLKDISCARD -v $DEVICE
+ if [ "$?" != "0" ]; then
+ 	# Skip the rest? For example loop backing files on NFS seem unsupported.
+-	grep -q "BLKDISCARD ioctl failed: Operation not supported" "$TS_OUTPUT" \
++	grep -q "BLKDISCARD ioctl failed: Operation not supported" "$TS_ERRLOG" \
+ 		&& ts_skip "BLKDISCARD not supported"
+ fi
+ run_tscmd $TS_CMD_BLKDISCARD -v -o 1 $DEVICE
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-eject.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-eject.patch
new file mode 100644
index 0000000..51e914d
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-eject.patch
@@ -0,0 +1,56 @@
+Upstream-Status: Submitted [https://github.com/karelzak/util-linux/pull/1375]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From dd956268ba89fc1caf83c45c3c495f34d261e0e2 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Thu, 1 Jul 2021 20:44:31 +0100
+Subject: [PATCH] test/eject: guard asan LD_PRELOAD with use-system-commands
+ check
+
+This test tries to add asan to LD_PRELOAD because the just-built eject
+will call the host /bin/umount, and apparently asan doesn't like this.
+
+However, if ldd isn't present, this fails as the path to asan is the
+error message saying that ldd isn't present.
+
+As the asan workaround is only needed when executing the binaries that
+have just been built and not the system binaries, only use it if the
+test is on the built binaries.
+
+Closes #1373.
+
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/ts/eject/umount | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/tests/ts/eject/umount b/tests/ts/eject/umount
+index a829d46c0..2be281ee3 100755
+--- a/tests/ts/eject/umount
++++ b/tests/ts/eject/umount
+@@ -60,13 +60,15 @@ function deinit_device {
+ 	ts_scsi_debug_rmmod
+ }
+ 
+-# As the eject binary execl()s an uninstrumented /bin/umount binary, we need
+-# to explicitly $LD_PRELOAD the ASan's runtime DSO, otherwise ASan will complain.
+-# Since all three utilities used by this test (eject, fdisk, mount) are just
+-# libtool wrappers, let's check the kill binary instead, which should have
+-# the needed DSO information.
+-ASAN_RT_PATH="$(ts_get_asan_rt_path "$TS_CMD_KILL")"
+-[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
++if [ "$TS_USE_SYSTEM_COMMANDS" != "yes" ]; then
++	# As the eject binary execl()s an uninstrumented /bin/umount binary, we need
++	# to explicitly $LD_PRELOAD the ASan's runtime DSO, otherwise ASan will complain.
++	# Since all three utilities used by this test (eject, fdisk, mount) are just
++	# libtool wrappers, let's check the kill binary instead, which should have
++	# the needed DSO information.
++	ASAN_RT_PATH="$(ts_get_asan_rt_path "$TS_CMD_KILL")"
++	[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
++fi
+ 
+ ts_init_subtest "by-disk"
+ init_device
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-kill.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-kill.patch
new file mode 100644
index 0000000..fa49fd4
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-kill.patch
@@ -0,0 +1,88 @@
+Don't hardcode the use of /bin/kill, as this could be kill.procps.  Instead ask
+the shell what kill binary to use, which will be the symlink in
+/usr/lib/util-linux/ptest/bin/.
+
+Upstream-Status: Backport [https://github.com/karelzak/util-linux/pull/1367]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From e3f8a88cf688dffacb5f6033a8d24e2db40f75f6 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Tue, 29 Jun 2021 16:34:20 +0100
+Subject: [PATCH] Don't hardcode /bin
+
+---
+ tests/ts/kill/all_processes  | 2 +-
+ tests/ts/kill/name_to_number | 2 +-
+ tests/ts/kill/options        | 2 +-
+ tests/ts/kill/print_pid      | 2 +-
+ tests/ts/kill/queue          | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/tests/ts/kill/all_processes b/tests/ts/kill/all_processes
+index 0b137574d..b2280777f 100755
+--- a/tests/ts/kill/all_processes
++++ b/tests/ts/kill/all_processes
+@@ -22,7 +22,7 @@ ts_skip_nonroot
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+diff --git a/tests/ts/kill/name_to_number b/tests/ts/kill/name_to_number
+index 9f4881cb7..8a7f4bef0 100755
+--- a/tests/ts/kill/name_to_number
++++ b/tests/ts/kill/name_to_number
+@@ -20,7 +20,7 @@ ts_init "$*"
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+diff --git a/tests/ts/kill/options b/tests/ts/kill/options
+index 2788c70a2..10653a543 100755
+--- a/tests/ts/kill/options
++++ b/tests/ts/kill/options
+@@ -20,7 +20,7 @@ ts_init "$*"
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+diff --git a/tests/ts/kill/print_pid b/tests/ts/kill/print_pid
+index 6926a3714..6e2db3711 100755
+--- a/tests/ts/kill/print_pid
++++ b/tests/ts/kill/print_pid
+@@ -20,7 +20,7 @@ ts_init "$*"
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+diff --git a/tests/ts/kill/queue b/tests/ts/kill/queue
+index 18f10e8c2..6c9e9efc9 100755
+--- a/tests/ts/kill/queue
++++ b/tests/ts/kill/queue
+@@ -20,7 +20,7 @@ ts_init "$*"
+ 
+ # make sure we do not use shell built-in command
+ if [ "$TS_USE_SYSTEM_COMMANDS" == "yes" ]; then
+-	TS_CMD_KILL="/bin/kill"
++	TS_CMD_KILL="$(which kill)"
+ fi
+ 
+ ts_check_test_command "$TS_CMD_KILL"
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-lscpu.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-lscpu.patch
new file mode 100644
index 0000000..36a19bd
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-lscpu.patch
@@ -0,0 +1,42 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From c2ca2837a27a3f1344904037ea691bfdbb288f02 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Fri, 2 Jul 2021 13:12:13 +0200
+Subject: [PATCH] lscpu: don't use DMI if executed with --sysroot
+
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ sys-utils/lscpu-arm.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c
+index d52765f9d..c7128094c 100644
+--- a/sys-utils/lscpu-arm.c
++++ b/sys-utils/lscpu-arm.c
+@@ -322,7 +322,8 @@ static void arm_decode(struct lscpu_cxt *cxt, struct lscpu_cputype *ct)
+ 
+ 	arm_ids_decode(ct);
+ 	arm_rXpY_decode(ct);
+-	if (cxt->is_cluster)
++
++	if (!cxt->noalive && cxt->is_cluster)
+ 		ct->nr_socket_on_cluster = get_number_of_physical_sockets_from_dmi();
+ }
+ 
+@@ -330,8 +331,9 @@ static int is_cluster_arm(struct lscpu_cxt *cxt)
+ {
+ 	struct stat st;
+ 
+-	if (!(strcmp(cxt->arch->name, "aarch64")) &&
+-	     (stat(_PATH_ACPI_PPTT, &st) < 0) && (cxt->ncputypes == 1))
++	if (!cxt->noalive
++	    && strcmp(cxt->arch->name, "aarch64") == 0
++	    && stat(_PATH_ACPI_PPTT, &st) < 0 && cxt->ncputypes == 1)
+ 		return 1;
+ 	else
+ 		return 0;
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux/tests-ul.patch b/poky/meta/recipes-core/util-linux/util-linux/tests-ul.patch
new file mode 100644
index 0000000..6896393
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux/tests-ul.patch
@@ -0,0 +1,35 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From b1c71f19ea404e74d36ca5b8fbb0484043cdaef3 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 30 Jun 2021 11:25:01 +0100
+Subject: [PATCH] tests: mark ul/ul as a known failure
+
+As with ul/basic, this test produces different output when ran under
+different terminals, which isn't very useful.
+
+Set TS_KNOWN_FAIL so that these problems don't cause the test to fail.
+
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ tests/ts/ul/ul | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/ts/ul/ul b/tests/ts/ul/ul
+index b856e33db..c707658ac 100755
+--- a/tests/ts/ul/ul
++++ b/tests/ts/ul/ul
+@@ -20,6 +20,9 @@ ts_init "$*"
+ 
+ ts_check_test_command "$TS_CMD_UL"
+ 
++# This test provides different result on some terminals and virtual machines
++TS_KNOWN_FAIL="yes"
++
+ printf "a\x08ab\x5F\x08c\\n\\ttab\\f\\b\\r" |
+ 	$TS_CMD_UL -t xterm >> $TS_OUTPUT 2>> $TS_ERRLOG
+ 
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.37.bb b/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
index 9a50c75..2548b72 100644
--- a/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.37.bb
@@ -71,7 +71,7 @@
     --enable-mount --enable-partx --enable-raw --enable-rfkill \
     --enable-unshare --enable-write \
     \
-    --disable-bfs --disable-chfn-chsh --disable-login \
+    --disable-bfs --disable-login \
     --disable-makeinstall-chown --disable-minix --disable-newgrp \
     --disable-use-tty-group --disable-vipw \
     \
@@ -91,7 +91,7 @@
 # build host versions during development
 #
 PACKAGECONFIG ?= "pcre2"
-PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG_class-target ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'chfn-chsh pam', '', d)}"
 PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam,"
 # Respect the systemd feature for uuidd
 PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd"
@@ -102,6 +102,7 @@
 # PCRE support in hardlink
 PACKAGECONFIG[pcre2] = ",,libpcre2"
 PACKAGECONFIG[cryptsetup] = "--with-cryptsetup,--without-cryptsetup,cryptsetup"
+PACKAGECONFIG[chfn-chsh] = "--enable-chfn-chsh,--disable-chfn-chsh,"
 
 EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'"
 
@@ -132,8 +133,8 @@
 RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev"
 
 RDEPENDS_${PN}-bash-completion += "${PN}-lsblk"
-RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz"
-RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug"
+RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs findutils grep iproute2 kmod mdadm procps sed socat which xz"
+RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug kernel-module-sd-mod kernel-module-loop"
 RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff"
 ALLOW_EMPTY_${PN}-swaponoff = "1"
 
@@ -209,6 +210,8 @@
 ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
 ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev"
 ALTERNATIVE_LINK_NAME[cal] = "${bindir}/cal"
+ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn"
+ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh"
 ALTERNATIVE_LINK_NAME[chrt] = "${bindir}/chrt"
 ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
 ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
@@ -278,25 +281,10 @@
     cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/
     cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH}
 
-    # The original paths of executables to be tested point to a local folder containing
-    # the executables. We want to test the installed executables, not the local copies.
-    # So strip the paths, the executables will be located via "which"
-    sed  -i \
-         -e '/^TS_CMD/ s|$top_builddir/||g' \
-         -e '/^TS_HELPER/ s|$top_builddir|${PTEST_PATH}|g' \
-         ${D}${PTEST_PATH}/tests/commands.sh
+    sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest
 
-    # Change 'if [ ! -x "$1" ]' to 'if [ ! -x "`which $1 2>/dev/null`"]'
-    sed -i -e \
-        '/^\tif[[:space:]]\[[[:space:]]![[:space:]]-x[[:space:]]"$1"/s|$1|`which $1 2>/dev/null`|g' \
-         ${D}${PTEST_PATH}/tests/functions.sh
-
-    # Running "kill" without the the complete path would use the shell's built-in kill
-    sed -i -e \
-         '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \
-         ${D}${PTEST_PATH}/tests/commands.sh
-
-
-    sed -i 's|@base_sbindir@|${base_sbindir}|g'       ${D}${PTEST_PATH}/run-ptest
-
+    # chfn needs PAM
+    if ! ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then
+        rm -rf ${D}${PTEST_PATH}/tests/ts/chfn
+    fi
 }