From 058e73a6ff05dc3de442476a9eed8239be0381c421102d7c70c529132fd6271e Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Thu, 7 Dec 2023 14:33:30 +0000
Subject: [PATCH] Accepting request 1131612 from
 home:goldwynr:branches:Base:System

Update to 2.39.3 & bsc#1217651)

OBS-URL: https://build.opensuse.org/request/show/1131612
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=540
---
 ...te-clocks.txt-to-improve-performance.patch |  51 -------
 setterm-resize-uninit-flags.patch             |  39 ------
 tests-increase-delay-for-waitpid-test.patch   |  35 +++++
 util-linux-2.39.2.tar.sign                    |  16 ---
 util-linux-2.39.2.tar.xz                      |   3 -
 util-linux-2.39.3.tar.sign                    |  16 +++
 util-linux-2.39.3.tar.xz                      |   3 +
 util-linux.changes                            | 126 ++++++++++++++++++
 util-linux.spec                               |   6 +-
 9 files changed, 182 insertions(+), 113 deletions(-)
 delete mode 100644 libuuid-avoid-truncate-clocks.txt-to-improve-performance.patch
 delete mode 100644 setterm-resize-uninit-flags.patch
 create mode 100644 tests-increase-delay-for-waitpid-test.patch
 delete mode 100644 util-linux-2.39.2.tar.sign
 delete mode 100644 util-linux-2.39.2.tar.xz
 create mode 100644 util-linux-2.39.3.tar.sign
 create mode 100644 util-linux-2.39.3.tar.xz

diff --git a/libuuid-avoid-truncate-clocks.txt-to-improve-performance.patch b/libuuid-avoid-truncate-clocks.txt-to-improve-performance.patch
deleted file mode 100644
index 23a8bf4..0000000
--- a/libuuid-avoid-truncate-clocks.txt-to-improve-performance.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 1d98827edde4b88068d295bbd20c31333b2ad5d4 Mon Sep 17 00:00:00 2001
-From: Goldwyn Rodrigues <rgoldwyn@suse.de>
-Date: Tue, 10 Oct 2023 18:08:59 -0500
-Subject: [PATCH] libuuid: avoid truncate clocks.txt to improve performance
-
-Instead of explicitly truncating clocks.txt file, pad with
-whitespaces in the end of file.
-This is done to improve performance of libuuid on xfs
-filesystems. Instead of truncating the file, pad it with whitespaces.
-This is anyways used as a failsafe method in case truncate fails.
-
-The reason why this regression was introduced was because of:
-869ae85dae64 ("xfs: flush new eof page on truncate to avoid post-eof corruption")
-
-An attempt to move the clocks.txt to /run (tmpfs) has been attempted before
-[1] and with commit ab2e7dd17 ("libuuid: move clock state file from
-/var/lib to /var/run"). The latter was reverted.
-
-[1] https://www.spinics.net/lists/util-linux-ng/msg17331.html
-
-Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
-
-diff --git a/libuuid/src/gen_uuid.c b/libuuid/src/gen_uuid.c
-index db793c374..826cd2245 100644
---- a/libuuid/src/gen_uuid.c
-+++ b/libuuid/src/gen_uuid.c
-@@ -229,7 +229,6 @@ static int get_clock(uint32_t *clock_high, uint32_t *clock_low,
- 	struct timeval			tv;
- 	uint64_t			clock_reg;
- 	mode_t				save_umask;
--	int				len;
- 	int				ret = 0;
- 
- 	if (state_fd == -1)
-@@ -324,14 +323,10 @@ try_again:
- 
- 	if (state_fd >= 0) {
- 		rewind(state_f);
--		len = fprintf(state_f,
--			      "clock: %04x tv: %016ld %08ld adj: %08d\n",
-+		fprintf(state_f,
-+			      "clock: %04x tv: %016ld %08ld adj: %08d                   \n",
- 			      clock_seq, (long)last.tv_sec, (long)last.tv_usec, adjustment);
- 		fflush(state_f);
--		if (ftruncate(state_fd, len) < 0) {
--			fprintf(state_f, "                   \n");
--			fflush(state_f);
--		}
- 		rewind(state_f);
- 		flock(state_fd, LOCK_UN);
- 	}
diff --git a/setterm-resize-uninit-flags.patch b/setterm-resize-uninit-flags.patch
deleted file mode 100644
index 6e99d4c..0000000
--- a/setterm-resize-uninit-flags.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Chris Hofstaedtler <zeha@debian.org>
-Date: Mon, 30 Oct 2023 22:59:33 +0100
-Subject: setterm: avoid restoring flags from uninitialized memory
-References: https://salsa.debian.org/debian/util-linux/-/raw/master/debian/patches/debian/setterm-resize-uninit-flags.patch?inline=false
-
-Depending on the used compiler and flags, previously either F_SETFL was called
-with 0 or with a random value. Never with the intended previous flags.
-
-Signed-off-by: Chris Hofstaedtler <zeha@debian.org>
----
- term-utils/setterm.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/term-utils/setterm.c b/term-utils/setterm.c
-index 22afc76..a477d5d 100644
---- a/term-utils/setterm.c
-+++ b/term-utils/setterm.c
-@@ -846,7 +846,11 @@ static void tty_raw(struct termios *saved_attributes, int *saved_fl)
- {
- 	struct termios tattr;
- 
--	fcntl(STDIN_FILENO, F_GETFL, saved_fl);
-+	*saved_fl = fcntl(STDIN_FILENO, F_GETFL);
-+	if (*saved_fl == -1) {
-+		err(EXIT_FAILURE, _("fcntl failed: %s"),
-+		    strerror(errno));
-+	}
- 	tcgetattr(STDIN_FILENO, saved_attributes);
- 	fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK);
- 	memcpy(&tattr, saved_attributes, sizeof(struct termios));
-@@ -898,7 +902,7 @@ static int resizetty(void)
- 	ssize_t rc;
- 	struct winsize ws;
- 	struct termios saved_attributes;
--	int saved_fl;
-+	int saved_fl = 0;
- 
- 	if (!isatty(STDIN_FILENO))
- 		errx(EXIT_FAILURE, _("stdin does not refer to a terminal"));
diff --git a/tests-increase-delay-for-waitpid-test.patch b/tests-increase-delay-for-waitpid-test.patch
new file mode 100644
index 0000000..0bd9d70
--- /dev/null
+++ b/tests-increase-delay-for-waitpid-test.patch
@@ -0,0 +1,35 @@
+From 4524f5d6b7d90684f2b205e472cd65a682d5fab5 Mon Sep 17 00:00:00 2001
+From: Goldwyn Rodrigues <rgoldwyn@suse.de>
+Date: Wed, 29 Nov 2023 11:36:23 -0600
+Subject: [PATCH] tests: increase delay for waitpid test
+
+In some test executions on s390x, the waitpid test fails because 1
+gets printed before 2.
+
+[  557s] --- /home/abuild/rpmbuild/BUILD/util-linux-2.39.2/tests/expected/misc/waitpid-normal	2023-06-14 09:11:15.910887765 +0000
+[  557s] +++ /home/abuild/rpmbuild/BUILD/util-linux-2.39.2/tests/output/misc/waitpid-normal	2023-11-27 23:30:30.406675022 +0000
+[  557s] @@ -1,4 +1,4 @@
+[  557s]  3
+[  557s] -2
+[  557s]  1
+[  557s] +2
+[  557s]  4
+
+Increase the time to print 1, so the test numbers are printed in
+expected order.
+
+Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
+
+diff --git a/tests/ts/misc/waitpid b/tests/ts/misc/waitpid
+index daed74fe0..904222c05 100755
+--- a/tests/ts/misc/waitpid
++++ b/tests/ts/misc/waitpid
+@@ -24,7 +24,7 @@ ts_check_test_command "$TS_CMD_WAITPID"
+ 
+ ts_init_subtest normal
+ 
+-(sleep 0.2; echo 1 >> "$TS_OUTPUT") &
++(sleep 0.5; echo 1 >> "$TS_OUTPUT") &
+ BG1="$!"
+ 
+ (sleep 0.1; echo 2 >> "$TS_OUTPUT") &
diff --git a/util-linux-2.39.2.tar.sign b/util-linux-2.39.2.tar.sign
deleted file mode 100644
index 0de9c98..0000000
--- a/util-linux-2.39.2.tar.sign
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iQIzBAABCAAdFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmTd5c8ACgkQ5LcdXuw5
-woSKLA/+L8rMZSGrVE8uxxji92mUHqsrYuk3yP3kdEQL2cqE/7/kAwb3J8LHS9jO
-1eFLJBcJv7eqtO/n42Gl9HNQ2Lbs0wnZzBT1B+TDeF1+HXF6jM9DnvfszngDm6vP
-8lDlxv0rxaoBc1w6ajEhYheH4v+baXGsgAFxfbCGgL15AVHPiuA5x2DklOr79Miz
-xssPi3kdf4gb0P9iKCOZxkYORFYCCCdd1o7Rp1ZR5rIpClHzaXT21agIJVDAMIg/
-DQQCVkoy6AdG5iiv6C1x8Yrg2uKuLdeKOXYQkBigDdozuEChmn2FZy3Wdo/ZtadC
-IqWLZY++q453SpZR1OqX0oAlkFJ2CRP+mEMu/17TnHhdmrQ/b5J2cdjubZf4gOrA
-98Ihb7VLxib4M9Ipg9BR5abKRqKrNMW0TJ013Ar9sdaFXaISfdPZtIhDNu9lkSXF
-xzz+AZOOn70j0aYWiMmbys+Ixu8Vm3YtRtkp/eikp946kIZdIkcEg+5a9Ok5Dk1i
-gxFjQkm5bx4nuWjc5W3e0NjbTXu15vxmGn/cZLK5VI3Mx6U9v4yQVoATWZGeYirB
-7N798kvwNRJn6W3yY7Se8vHfkI5HD8M7LN607f6/8lgi4vLx5ffjShrp97peQlsX
-E/RDdQoYm0u/sGh9rezwvvmk+8Nnt5mUtlqS+eJVX6guJk2rT0M=
-=oAmP
------END PGP SIGNATURE-----
diff --git a/util-linux-2.39.2.tar.xz b/util-linux-2.39.2.tar.xz
deleted file mode 100644
index 9486ddb..0000000
--- a/util-linux-2.39.2.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:87abdfaa8e490f8be6dde976f7c80b9b5ff9f301e1b67e3899e1f05a59a1531f
-size 8362220
diff --git a/util-linux-2.39.3.tar.sign b/util-linux-2.39.3.tar.sign
new file mode 100644
index 0000000..e9c061b
--- /dev/null
+++ b/util-linux-2.39.3.tar.sign
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmVuLVMACgkQ5LcdXuw5
+woTWRg/+KBoZc5EjgFEUQMGzblNyuqrvcFqCbhEcoaEEMtEKPrQGVZgwgs+SZcel
+n0ygCOes7M/nNmAvn4dVM8sZRvEPKjdRFErmghNuWKfZLbE9szadNcnPunmzZ1Nc
+Cd2E1R6bo0B5X3tZ4ISW3keAnWKlnRucPIrW2qZiWT36LfJT4s9vZ/dyAnJ3eAtQ
+aFgUVMWRwDFYYr79iXq6Wq60bHbxw1HT+KrpoLEkjIXN+DmuSffVQfjmCpamT1UH
+oGgUGDhrUFr8XRUC0q07n1CxxgirjlR+KeLDiNAXuzGTWK2naBYCtCwGJpxM5Dvd
+cyKenmCC1Ie+cl9m3w7MfP7WgtoPogpttEiZ1lsLJcDEbeuAu1z+O/B52YwOi7O3
+WLpe6bqW/dQsAljC6q2UMZrwnRjK7Zr5CwkTlV/o0DuCmAidcoXEZAcVQDvY1H6k
+uYD9NFtQotS0ufOFH08AJxBYWVznbmiNG7NdGeMm/ysfe807fQYD25FYhP4/r4jt
+k6qWnfDrt9OooFNx6e7s2cBZSkTmJzJ8nxGv0a4WgOhZ6hnLpx/Cv2RIpux5DeMq
+wOuWuMDF9lOVWiv6iWiuy8shQ+hGF4+riFy8LfqJZf94wqZmp0tA8CHKFSDI99iC
+ci4tz2MEpQqeVeEx1sd18DRjkXycs5Wmy7ZAUtqnR1rUxKbhVLo=
+=4wcm
+-----END PGP SIGNATURE-----
diff --git a/util-linux-2.39.3.tar.xz b/util-linux-2.39.3.tar.xz
new file mode 100644
index 0000000..813c9b0
--- /dev/null
+++ b/util-linux-2.39.3.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7b6605e48d1a49f43cc4b4cfc59f313d0dd5402fa40b96810bd572e167dfed0f
+size 8526168
diff --git a/util-linux.changes b/util-linux.changes
index d001a81..627c628 100644
--- a/util-linux.changes
+++ b/util-linux.changes
@@ -1,3 +1,129 @@
+-------------------------------------------------------------------
+Thu Dec  7 13:22:16 UTC 2023 - Goldwyn Rodrigues <rgoldwyn@suse.com>
+
+- Increase delay in waitpid test (bsc1217651)
+  * tests-increase-delay-for-waitpid-test.patch
+
+-------------------------------------------------------------------
+Thu Dec  7 13:02:30 UTC 2023 - Goldwyn Rodrigues <rgoldwyn@suse.com>
+
+Changes between v2.39.2 and v2.39.3
+-----------------------------------
+
+autotools:
+   - fix AC_DEFINE_UNQUOTED() use  [Karel Zak]
+   - fix librtas check  [Karel Zak]
+   - fix typos  [Karel Zak]
+blkid:
+   - fix call to err_exclusive_options  [Thomas Weißschuh]
+blkpr:
+   - store return value of getopt_long in int  [Thomas Weißschuh]
+build-sys:
+   - fix libmount/src/hooks.c use  [Karel Zak]
+disk-utils:
+   - add SPDX and Copyright notices  [Karel Zak]
+docs:
+   - add SPDX to boilerplate.c  [Karel Zak]
+   - update AUTHORS file  [Karel Zak]
+   - use HTTPS for GitHub clone URLs  [Jakub Wilk]
+include:
+   - add DragonFlyBSD GPT partition types  [Thomas Weißschuh]
+include/audit-arch:
+   - add missing SPDX  [Karel Zak]
+ldattach:
+   - don't call exit() from signal handler  [Thomas Weißschuh]
+lib/env:
+   - avoid underflow of read_all_alloc() return value  [Thomas Weißschuh]
+lib/idcache:
+   - always gracefully handle null cache  [Thomas Weißschuh]
+lib/path:
+   - Set errno in case of fgets failure  [Tobias Stoeckmann]
+   - fix possible out of boundary access  [Tobias Stoeckmann]
+   - fix typos  [Tobias Stoeckmann]
+   - set errno in case of error  [Tobias Stoeckmann]
+libblkid:
+   - (bcachefs) adapt to major.minor version  [Thomas Weißschuh]
+   - (bcachefs) add support for sub-device labels  [Thomas Weißschuh]
+   - (bcachefs) fix compiler warning [-Werror=sign-compare]  [Karel Zak]
+   - (bcachefs) fix not detecting large superblocks  [Colin Gillespie]
+   - (bcachefs) fix size validation  [Thomas Weißschuh]
+   - (jmicron_raid) avoid modifying shared buffer  [Thomas Weißschuh]
+   - (jmicron_raid) use checksum APIs  [Thomas Weißschuh]
+   - (ntfs) validate that sector_size is a power of two  [Thomas Weißschuh]
+   - (probe) handle probe without chain gracefully  [Thomas Weißschuh]
+   - (vfat) avoid modifying shared buffer  [Thomas Weißschuh]
+   - (vxfs) report endianness  [Thomas Weißschuh]
+   - (zonefs) avoid modifying shared buffer  [Thomas Weißschuh]
+   - avoid memory leak of cachefile path  [Thomas Weißschuh]
+   - exfat  fix fail to find volume label  [Yuezhang Mo]
+   - reset errno before calling probefuncs  [Thomas Weißschuh]
+libfdisk:
+   - handle allocation failure in fdisk_new_partition  [Thomas Weißschuh]
+   - reset errno before calling read()  [Thomas Weißschuh]
+libmount:
+   - Fix regression when mounting with atime  [Filipe Manana]
+   - accept '\' as escape for options separator  [Karel Zak]
+   - fix possible NULL dereference [coverity scan]  [Karel Zak]
+   - fix statx() includes  [Karel Zak]
+   - gracefully handle NULL path in mnt_resolve_target()  [Thomas Weißschuh]
+   - improve mnt_table_next_child_fs()  [Karel Zak]
+   - make.stx_mnt_id use more robust  [Karel Zak]
+   - report statx in features list  [Karel Zak]
+libsmartcols:
+   - handle nameless tables in export format  [Thomas Weißschuh]
+libuuid:
+   - avoid truncate clocks.txt to improve performance  [Goldwyn Rodrigues]
+libuuid/src/gen_uuid.c:
+   - fix cs_min declaration  [Fabrice Fontaine]
+login:
+   - Use pid_t for child_pid  [Tobias Stoeckmann]
+   - move comment  [Tobias Stoeckmann]
+losetup:
+   - fix JSON MAJ MIN  [Karel Zak]
+lscpu:
+   - Use 4K buffer size instead of BUFSIZ  [Khem Raj]
+   - fix caches separator for --parse=<list>  [Karel Zak]
+   - Add Phytium FTC862 cpu model. fix:
+lsfd:
+   - (man) fix the form for the optional argument of --inet option  [Masatake YAMATO]
+   - avoid undefined behavior  [Thomas Weißschuh]
+   - fix memory leak in append_filter_expr()  [Karel Zak]
+lslogins:
+   - (man) fix -y option formatting  [Thomas Weißschuh]
+   - fix realloc() loop allocation size  [Thomas Weißschuh]
+meson:
+   - install wall executable with group 'tty'  [Christian Hesse]
+   - install write executable with group 'tty'  [Christian Hesse]
+more:
+   - avoid out-of-bound access  [Thomas Weißschuh]
+po:
+   - add ro.po (from translationproject.org)  [Remus-Gabriel Chelu]
+   - merge changes  [Karel Zak]
+   - update es.po (from translationproject.org)  [Antonio Ceballos Roa]
+po-man:
+   - merge changes  [Karel Zak]
+script-playutils:
+   - close filestream in case ignore_line() fails  [Thomas Weißschuh]
+setpriv:
+   - fix group argument completion  [Thomas Weißschuh]
+setterm:
+   - avoid restoring flags from uninitialized memory  [Chris Hofstaedtler]
+tests:
+   - add ts_skip_docker  [Thomas Weißschuh]
+   - skip broken tests on docker  [Thomas Weißschuh]
+umount:
+   - handle bindmounts during --recursive  [Thomas Weißschuh]
+
+- Add Phytium FTC310 & FTC664 support  [zuoqian]
+- Fix man page for col to correct documentation error  [Connor-GH]
+- Update col.c to fix option mistake  [Connor-GH]
+- Use empty libuser config file.  [Anatoly Pugachev]
+
+- Remove upstream patch
+   * libuuid-avoid-truncate-clocks.txt-to-improve-performance.patch
+   * setterm-resize-uninit-flags.patch
+
+
 -------------------------------------------------------------------
 Tue Nov 28 10:51:47 UTC 2023 - Thorsten Kukuk <kukuk@suse.com>
 
diff --git a/util-linux.spec b/util-linux.spec
index 5b549d7..6d90a5c 100644
--- a/util-linux.spec
+++ b/util-linux.spec
@@ -85,7 +85,7 @@ Group:          Development/Languages/Python
 %endif
 # ulbuild == python
 
-Version:        2.39.2
+Version:        2.39.3
 Release:        0
 License:        GPL-2.0-or-later
 URL:            https://www.kernel.org/pub/linux/utils/util-linux/
@@ -110,9 +110,7 @@ Patch3:         util-linux-bash-completion-su-chsh-l.patch
 Patch4:         0001-Revert-libblkid-try-LUKS2-first-when-probing.patch
 Patch5:         util-linux-fix-tests-with-64k-pagesize.patch
 Patch6:         use-logind-not-utmp.patch
-Patch7:         setterm-resize-uninit-flags.patch
-# bsc#1207987 - regression fix for clock.txt on xfs (upstreamed)
-Patch8:         libuuid-avoid-truncate-clocks.txt-to-improve-performance.patch
+Patch7:         tests-increase-delay-for-waitpid-test.patch
 
 BuildRequires:  audit-devel
 BuildRequires:  bc