[Buildroot] [git commit branch/2019.11.x] package/util-linux: upgrade to version 2.35.1

Peter Korsgaard peter at korsgaard.com
Sat Mar 7 20:22:51 UTC 2020


commit: https://git.buildroot.net/buildroot/commit/?id=a2387332dc1c9972911793b238fdb414ac26e005
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2019.11.x

Drop patches already applied upstream and, consequently, AUTORECONF.

util-linux 2.35.1 Release Notes
===============================

build-sys:
   - add --disable-hwclock-gplv3  [Karel Zak]
chrt:
   - Use sched_setscheduler system call directly  [jonnyh64]
lib/randutils:
   - use explicit data types for bit ops  [Karel Zak]
libfdisk:
   - fix __copy_partition()  [Karel Zak]
   - make sure we use NULL after free  [Karel Zak]
libmount:
   - fix x- options use for non-root users  [Karel Zak]
po:
   - update uk.po (from translationproject.org)  [Yuri Chornoivan]
sfdisk:
   - make sure we do not overlap on --move  [Karel Zak]
   - remove broken step alignment for --move  [Karel Zak]

Signed-off-by: Carlos Santos <unixmania at gmail.com>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
(cherry picked from commit 3052da3eac8c80e7375341a48bca4cf0ee12e60b)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 ...fdisk-make-sure-we-do-not-overlap-on-move.patch |  71 -----------
 ...isk-remove-broken-step-alignment-for-move.patch |  62 ----------
 .../0006-build-sys-add-disable-hwclock-gplv3.patch | 105 ----------------
 ...ount-fix-x-options-use-for-non-root-users.patch | 137 ---------------------
 package/util-linux/util-linux.hash                 |   2 +-
 package/util-linux/util-linux.mk                   |   6 +-
 6 files changed, 3 insertions(+), 380 deletions(-)

diff --git a/package/util-linux/0001-sfdisk-make-sure-we-do-not-overlap-on-move.patch b/package/util-linux/0001-sfdisk-make-sure-we-do-not-overlap-on-move.patch
deleted file mode 100644
index 115e9425fd..0000000000
--- a/package/util-linux/0001-sfdisk-make-sure-we-do-not-overlap-on-move.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 2b26438c4bf90b7836111cc49d847ee89e49bfa8 Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Thu, 23 Jan 2020 12:44:58 +0100
-Subject: [PATCH] sfdisk: make sure we do not overlap on --move
-
-The area we need to move does not have to be aligned to optimal I/O
-size (step size) -- we need to be sure we do not move data
-after/before the area.
-
-Addresses: https://github.com/karelzak/util-linux/issues/938
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- disk-utils/sfdisk.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
-index 0601c3bcf..8f2edb87f 100644
---- a/disk-utils/sfdisk.c
-+++ b/disk-utils/sfdisk.c
-@@ -374,7 +374,7 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
- 	int ok = 0, fd, backward = 0;
- 	fdisk_sector_t nsectors, from, to, step, i, prev;
- 	size_t io, ss, step_bytes, cc;
--	uintmax_t src, dst;
-+	uintmax_t src, dst, nbytes;
- 	int errsv, progress = 0;
- 	struct timeval prev_time;
- 	uint64_t bytes_per_sec = 0;
-@@ -409,6 +409,7 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
- 	from = fdisk_partition_get_start(orig_pa);
- 	to = fdisk_partition_get_start(pa);
- 
-+
- 	if ((to >= from && from + nsectors >= to) ||
- 	    (from >= to && to + nsectors >= from)) {
- 		/* source and target overlay, check if we need to copy
-@@ -434,6 +435,8 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
- 	while (nsectors % step)
- 		step--;
- 
-+	nbytes = nsectors * ss;
-+
- 	DBG(MISC, ul_debug(" step: %ju (%zu bytes)", (uintmax_t)step, step_bytes));
- 
- #if defined(POSIX_FADV_SEQUENTIAL) && defined(HAVE_POSIX_FADVISE)
-@@ -504,7 +507,7 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
- 	gettimeofday(&prev_time, NULL);
- 	prev = 0;
- 
--	for (cc = 1, i = 0; i < nsectors; i += step, cc++) {
-+	for (cc = 1, i = 0; i < nsectors && nbytes > 0; i += step, cc++) {
- 		ssize_t rc;
- 
- 		if (backward)
-@@ -512,6 +515,13 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
- 
- 		DBG(MISC, ul_debug("#%05zu: src=%ju dst=%ju", cc, src, dst));
- 
-+		if (nbytes < step_bytes) {
-+			DBG(MISC, ul_debug(" aligning step from %ju to %ju",
-+						step_bytes, nbytes));
-+			step_bytes = nbytes;
-+		}
-+		nbytes -= step_bytes;
-+
- 		if (!sf->noact) {
- 			/* read source */
- 			if (lseek(fd, src, SEEK_SET) == (off_t) -1)
--- 
-2.18.2
-
diff --git a/package/util-linux/0002-sfdisk-remove-broken-step-alignment-for-move.patch b/package/util-linux/0002-sfdisk-remove-broken-step-alignment-for-move.patch
deleted file mode 100644
index ea0e638e38..0000000000
--- a/package/util-linux/0002-sfdisk-remove-broken-step-alignment-for-move.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 9fabc6d5fae3da9106d41c40af6fbef6265ae11b Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Thu, 23 Jan 2020 15:07:32 +0100
-Subject: [PATCH] sfdisk: remove broken step alignment for --move
-
-* remove unnecessary and broken step alignment
-* improve reported information in move log
-* improve final progress bar update
-
-Addresses: https://github.com/karelzak/util-linux/issues/938
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- disk-utils/sfdisk.c | 13 ++++---------
- 1 file changed, 4 insertions(+), 9 deletions(-)
-
-diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
-index 8f2edb87f..bb6e1c6df 100644
---- a/disk-utils/sfdisk.c
-+++ b/disk-utils/sfdisk.c
-@@ -430,11 +430,6 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
- 		step_bytes = io;
- 
- 	step = step_bytes / ss;
--
--	/* align the step (note that nsectors does not have to be power of 2) */
--	while (nsectors % step)
--		step--;
--
- 	nbytes = nsectors * ss;
- 
- 	DBG(MISC, ul_debug(" step: %ju (%zu bytes)", (uintmax_t)step, step_bytes));
-@@ -485,15 +480,15 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
- 		fprintf(f, "# Disk: %s\n", devname);
- 		fprintf(f, "# Partition: %zu\n", partno + 1);
- 		fprintf(f, "# Operation: move data\n");
-+		fprintf(f, "# Sector size: %zu\n", ss);
- 		fprintf(f, "# Original start offset (sectors/bytes): %ju/%ju\n",
- 			(uintmax_t)from, (uintmax_t)from * ss);
- 		fprintf(f, "# New start offset (sectors/bytes): %ju/%ju\n",
- 			(uintmax_t)to, (uintmax_t)to * ss);
- 		fprintf(f, "# Area size (sectors/bytes): %ju/%ju\n",
- 			(uintmax_t)nsectors, (uintmax_t)nsectors * ss);
--		fprintf(f, "# Sector size: %zu\n", ss);
--		fprintf(f, "# Step size (in bytes): %zu\n", step_bytes);
--		fprintf(f, "# Steps: %ju\n", (uintmax_t)(nsectors / step));
-+				fprintf(f, "# Step size (sectors/bytes): %zu/%zu\n", step, step_bytes);
-+		fprintf(f, "# Steps: %ju\n", ((uintmax_t) nsectors / step) + 1);
- 		fprintf(f, "#\n");
- 		fprintf(f, "# <step>: <from> <to> (step offsets in bytes)\n");
- 	}
-@@ -584,7 +579,7 @@ static int move_partition_data(struct sfdisk *sf, size_t partno, struct fdisk_pa
- 			fputc(' ', stdout);
- 		fflush(stdout);
- 		fputc('\r', stdout);
--		fprintf(stdout, _("Moved %ju from %ju sectors (%.3f%%)."),
-+		fprintf(stdout, _("Moved %ju from %ju sectors (%.0f%%)."),
- 				i, nsectors,
- 				100.0 / ((double) nsectors/(i+1)));
- 		fputc('\n', stdout);
--- 
-2.18.2
-
diff --git a/package/util-linux/0006-build-sys-add-disable-hwclock-gplv3.patch b/package/util-linux/0006-build-sys-add-disable-hwclock-gplv3.patch
deleted file mode 100644
index e8ed2186a5..0000000000
--- a/package/util-linux/0006-build-sys-add-disable-hwclock-gplv3.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From e8c21c894e69ba0c72ecf69e8297cb20ec5f9c1e Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Mon, 27 Jan 2020 16:17:10 +0100
-Subject: [PATCH] build-sys: add --disable-hwclock-gplv3
-
-The currently used date/time parser (for hwclock --set --date <date>)
-is gnulib based code with GPLv3.
-
-This patch allows to avoid this code and replace it with minimalistic
-date/time parser.
-
-Addresses: https://github.com/karelzak/util-linux/issues/891
-Reported-by: Carlos Santos <unixmania at gmail.com>
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- configure.ac            |  9 +++++++++
- sys-utils/Makemodule.am |  5 ++++-
- sys-utils/hwclock.c     | 17 ++++++++++++++---
- 3 files changed, 27 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 84b375543..960e2016d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1558,6 +1558,15 @@ AS_IF([test "x$build_hwclock_cmos" = xyes ], [
-     AC_DEFINE([USE_HWCLOCK_CMOS], [1], [Define to 1 if want to use CMOS clock.])
- ])
- 
-+AC_ARG_ENABLE([hwclock_gplv3],
-+  AS_HELP_STRING([--disable-hwclock-gplv3], [do not use datetime parsing GPLv3 code]),
-+  [], [enable_hwclock_gplv3=yes]
-+)
-+AM_CONDITIONAL([USE_HWCLOCK_GPLv3_DATETIME], [test "x$enable_hwclock_gplv3" = xyes])
-+AS_IF([test "x$enable_hwclock_gplv3" = xyes ], [
-+    AC_DEFINE([USE_HWCLOCK_GPLv3_DATETIME], [1], [use datetime parsing GPLv3 code to hwclock])
-+])
-+
- 
- UL_BUILD_INIT([mkfs], [yes])
- AM_CONDITIONAL([BUILD_MKFS], [test "x$build_mkfs" = xyes])
-diff --git a/sys-utils/Makemodule.am b/sys-utils/Makemodule.am
-index baf851e5b..07228f75f 100644
---- a/sys-utils/Makemodule.am
-+++ b/sys-utils/Makemodule.am
-@@ -451,8 +451,11 @@ dist_man_MANS += \
- PATHFILES += sys-utils/hwclock.8
- hwclock_SOURCES = \
- 	sys-utils/hwclock.c \
--	sys-utils/hwclock.h \
-+	sys-utils/hwclock.h
-+if USE_HWCLOCK_GPLv3_DATETIME
-+hwclock_SOURCES += \
- 	sys-utils/hwclock-parse-date.y
-+endif
- hwclock_LDADD = $(LDADD) libcommon.la -lm
- hwclock_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/sys-utils
- if USE_HWCLOCK_CMOS
-diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c
-index 15fc19afd..e736da717 100644
---- a/sys-utils/hwclock.c
-+++ b/sys-utils/hwclock.c
-@@ -3,6 +3,7 @@
-  *
-  * Since 7a3000f7ba548cf7d74ac77cc63fe8de228a669e (v2.30) hwclock is linked
-  * with parse_date.y from gnullib. This gnulib code is distributed with GPLv3.
-+ * Use --disable-hwclock-gplv3 to exclude this code.
-  *
-  *
-  * clock.c was written by Charles Hedrick, hedrick at cs.rutgers.edu, Apr 1992
-@@ -1170,7 +1171,6 @@ int main(int argc, char **argv)
- 	};
- 	struct timeval startup_time;
- 	struct adjtime adjtime = { 0 };
--	struct timespec when = { 0 };
- 	/*
- 	 * The time we started up, in seconds into the epoch, including
- 	 * fractions.
-@@ -1398,11 +1398,22 @@ int main(int argc, char **argv)
- 
- 	if (ctl.set || ctl.predict) {
- 		if (!ctl.date_opt) {
--		warnx(_("--date is required for --set or --predict"));
--		exit(EXIT_FAILURE);
-+			warnx(_("--date is required for --set or --predict"));
-+			exit(EXIT_FAILURE);
- 		}
-+#ifdef USE_HWCLOCK_GPLv3_DATETIME
-+		/* date(1) compatible GPLv3 parser */
-+		struct timespec when = { 0 };
-+
- 		if (parse_date(&when, ctl.date_opt, NULL))
- 			set_time = when.tv_sec;
-+#else
-+		/* minimalistic GPLv2 based parser */
-+		usec_t usec;
-+
-+		if (parse_timestamp(ctl.date_opt, &usec) == 0)
-+			set_time = (time_t) (usec / 1000000);
-+#endif
- 		else {
- 			warnx(_("invalid date '%s'"), ctl.date_opt);
- 			exit(EXIT_FAILURE);
--- 
-2.18.2
-
diff --git a/package/util-linux/0007-libmount-fix-x-options-use-for-non-root-users.patch b/package/util-linux/0007-libmount-fix-x-options-use-for-non-root-users.patch
deleted file mode 100644
index 3572fc0908..0000000000
--- a/package/util-linux/0007-libmount-fix-x-options-use-for-non-root-users.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 88f04bf9e637b14ff5274e4c4981e43ab2c40c2b Mon Sep 17 00:00:00 2001
-From: Karel Zak <kzak at redhat.com>
-Date: Tue, 28 Jan 2020 10:45:07 +0100
-Subject: [PATCH] libmount: fix x- options use for non-root users
-
-libmount returns EPERM for all X- and x- mount options for non-root
-users when evaluate X-mount.mkdir. It's bug, we need to be sensitive
-to only X-mount.mkdir and only if the target directory is missing.
-
-Addresses: https://github.com/karelzak/util-linux/issues/941
-Signed-off-by: Karel Zak <kzak at redhat.com>
----
- libmount/src/context.c | 41 ++++++++++++++++++++++-------------------
- sys-utils/mount.8      |  6 +++---
- 2 files changed, 25 insertions(+), 22 deletions(-)
-
-diff --git a/libmount/src/context.c b/libmount/src/context.c
-index 6c536cc15..91fe8e4bf 100644
---- a/libmount/src/context.c
-+++ b/libmount/src/context.c
-@@ -1855,49 +1855,48 @@ end:
- 	return rc;
- }
- 
--/* create a mountpoint if X-mount.mkdir[=<mode>] specified */
--static int mkdir_target(const char *tgt, struct libmnt_fs *fs)
-+static int is_mkdir_required(const char *tgt, struct libmnt_fs *fs, mode_t *mode, int *rc)
- {
- 	char *mstr = NULL;
- 	size_t mstr_sz = 0;
--	mode_t mode = 0;
- 	struct stat st;
--	int rc;
- 
- 	assert(tgt);
- 	assert(fs);
-+	assert(mode);
-+	assert(rc);
-+
-+	*mode = 0;
-+	*rc = 0;
- 
- 	if (mnt_optstr_get_option(fs->user_optstr, "X-mount.mkdir", &mstr, &mstr_sz) != 0 &&
- 	    mnt_optstr_get_option(fs->user_optstr, "x-mount.mkdir", &mstr, &mstr_sz) != 0)   	/* obsolete */
- 		return 0;
- 
--	DBG(CXT, ul_debug("mkdir %s (%s) wanted", tgt, mstr));
--
- 	if (mnt_stat_mountpoint(tgt, &st) == 0)
- 		return 0;
- 
-+	DBG(CXT, ul_debug("mkdir %s (%s) wanted", tgt, mstr));
-+
- 	if (mstr && mstr_sz) {
- 		char *end = NULL;
- 
- 		errno = 0;
--		mode = strtol(mstr, &end, 8);
-+		*mode = strtol(mstr, &end, 8);
- 
- 		if (errno || !end || mstr + mstr_sz != end) {
- 			DBG(CXT, ul_debug("failed to parse mkdir mode '%s'", mstr));
--			return -MNT_ERR_MOUNTOPT;
-+			*rc = -MNT_ERR_MOUNTOPT;
-+			return 0;
- 		}
- 	}
- 
--	if (!mode)
--		mode = S_IRWXU |			/* 0755 */
-+	if (!*mode)
-+		*mode = S_IRWXU |			/* 0755 */
- 		       S_IRGRP | S_IXGRP |
- 		       S_IROTH | S_IXOTH;
- 
--	rc = mkdir_p(tgt, mode);
--	if (rc)
--		DBG(CXT, ul_debug("mkdir %s failed: %m", tgt));
--
--	return rc;
-+	return 1;
- }
- 
- int mnt_context_prepare_target(struct libmnt_context *cxt)
-@@ -1905,6 +1904,7 @@ int mnt_context_prepare_target(struct libmnt_context *cxt)
- 	const char *tgt, *prefix;
- 	int rc = 0;
- 	struct libmnt_ns *ns_old;
-+	mode_t mode = 0;
- 
- 	assert(cxt);
- 	assert(cxt->fs);
-@@ -1946,12 +1946,15 @@ int mnt_context_prepare_target(struct libmnt_context *cxt)
- 	/* X-mount.mkdir target */
- 	if (cxt->action == MNT_ACT_MOUNT
- 	    && (cxt->user_mountflags & MNT_MS_XCOMMENT ||
--		cxt->user_mountflags & MNT_MS_XFSTABCOMM)) {
-+		cxt->user_mountflags & MNT_MS_XFSTABCOMM)
-+	    && is_mkdir_required(tgt, cxt->fs, &mode, &rc)) {
- 
- 		/* supported only for root or non-suid mount(8) */
--		if (!mnt_context_is_restricted(cxt))
--			rc = mkdir_target(tgt, cxt->fs);
--		else
-+		if (!mnt_context_is_restricted(cxt)) {
-+			rc = mkdir_p(tgt, mode);
-+			if (rc)
-+				DBG(CXT, ul_debug("mkdir %s failed: %m", tgt));
-+		} else
- 			rc = -EPERM;
- 	}
- 
-diff --git a/sys-utils/mount.8 b/sys-utils/mount.8
-index 3e57251ed..698b0f011 100644
---- a/sys-utils/mount.8
-+++ b/sys-utils/mount.8
-@@ -1306,14 +1306,14 @@ functionality have been extended to keep existing fstab configurations usable
- without a change.
- .TP
- .BR X-mount.mkdir [ = \fImode\fR ]
--Allow to make a target directory (mountpoint).  The optional argument
-+Allow to make a target directory (mountpoint) if it does not exit yet.
-+The optional argument
- .I mode
- specifies the filesystem access mode used for
- .BR mkdir (2)
- in octal notation.  The default mode is 0755.  This functionality is supported
- only for root users or when mount executed without suid permissions.  The option
--is also supported as x-mount.mkdir, this notation is deprecated for mount.mkdir
--since v2.30.
-+is also supported as x-mount.mkdir, this notation is deprecated since v2.30.
- 
- .SH "FILESYSTEM-SPECIFIC MOUNT OPTIONS"
- You should consult the respective man page for the filesystem first.
--- 
-2.18.2
-
diff --git a/package/util-linux/util-linux.hash b/package/util-linux/util-linux.hash
index a5a9099125..f9a3d1e867 100644
--- a/package/util-linux/util-linux.hash
+++ b/package/util-linux/util-linux.hash
@@ -1,5 +1,5 @@
 # From https://www.kernel.org/pub/linux/utils/util-linux/v2.35/sha256sums.asc
-sha256 b3081b560268c1ec3367e035234e91616fa7923a0afc2b1c80a2a6d8b9dfe2c9  util-linux-2.35.tar.xz
+sha256 d9de3edd287366cd908e77677514b9387b22bc7b88f45b83e1922c3597f1d7f9  util-linux-2.35.1.tar.xz
 # License files, locally calculated
 sha256 869660b5269f4f40a8a679da7f403ea3a6e71d46087aab5e14871b09bcb55955  README.licensing
 sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d  Documentation/licenses/COPYING.BSD-3-Clause
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index b867a670a4..549442232e 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -5,13 +5,11 @@
 ################################################################################
 
 UTIL_LINUX_VERSION_MAJOR = 2.35
-UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR)
+UTIL_LINUX_VERSION_MINOR = 1
+UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).$(UTIL_LINUX_VERSION_MINOR)
 UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz
 UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR)
 
-# 0006-build-sys-add-disable-hwclock-gplv3.patch
-UTIL_LINUX_AUTORECONF = YES
-
 # README.licensing claims that some files are GPL-2.0 only, but this is not
 # true. Some files are GPL-3.0+ but only in tests and optionally in hwclock
 # (but we disable that option). rfkill uses an ISC-style license.


More information about the buildroot mailing list