diff --git a/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch b/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch new file mode 100644 index 0000000000000000000000000000000000000000..eca67e6b7087efaa333170fd434a8f9f0e3cf9e2 --- /dev/null +++ b/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch @@ -0,0 +1,42 @@ +From 430952f254cddf1ccb47a5f8caf5b5cd64193c3a Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 10 Aug 2020 11:37:32 +0200 +Subject: [PATCH] libfdisk: fix last free sector detection if partition size + specified + +We need to skip useless gaps between partition if the gap is no large +enough for a new partition. Unfortunately, the current code checks +size of the gap, but does not care for location of the gap -- this is +good enough for dialog driven partitioning, but it's pretty bad if +start of the partition is explicitly specified (e.g. sfdisk). + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1860461 +Signed-off-by: Karel Zak +--- + libfdisk/src/dos.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libfdisk/src/dos.c b/libfdisk/src/dos.c +index 176969883..890e33a26 100644 +--- a/libfdisk/src/dos.c ++++ b/libfdisk/src/dos.c +@@ -1274,14 +1274,14 @@ static int add_partition(struct fdisk_context *cxt, size_t n, + fdisk_sector_t last; + + rc = find_last_free(cxt, is_logical, start, limit, &last); +- + if (rc == 0 && last - start + 1 < fdisk_partition_get_size(pa)) { + DBG(LABEL, ul_debug("DOS: area <%ju,%ju> too small [wanted=%ju aval=%ju]", + (uintmax_t) start, (uintmax_t) last, + fdisk_partition_get_size(pa), + last - start)); + +- if (fdisk_partition_has_start(pa)) ++ if (fdisk_partition_has_start(pa) ++ && fdisk_partition_get_start(pa) <= last) + rc = -ENOSPC; + else { + start = last + 1; +-- +2.25.4 + diff --git a/2.28-login-lastlog-create.patch b/2.36-login-lastlog-create.patch similarity index 34% rename from 2.28-login-lastlog-create.patch rename to 2.36-login-lastlog-create.patch index 869543ed0c24ece822c3e246e8e66905450210cf..e2523d3aaadd1d9cb4a527db65491ac04a3566f5 100644 --- a/2.28-login-lastlog-create.patch +++ b/2.36-login-lastlog-create.patch @@ -1,7 +1,7 @@ -diff -up util-linux-2.28/login-utils/login.c.kzak util-linux-2.28/login-utils/login.c ---- util-linux-2.28/login-utils/login.c.kzak 2016-03-08 14:28:16.724156218 +0100 -+++ util-linux-2.28/login-utils/login.c 2016-04-26 12:45:29.235326017 +0200 -@@ -510,7 +510,7 @@ static void log_lastlog(struct login_con +diff -up util-linux-2.36/login-utils/login.c.kzak util-linux-2.36/login-utils/login.c +--- util-linux-2.36/login-utils/login.c.kzak 2020-07-23 14:13:26.777030764 +0200 ++++ util-linux-2.36/login-utils/login.c 2020-07-23 14:11:22.793686983 +0200 +@@ -585,7 +585,7 @@ static void log_lastlog(struct login_con sa.sa_handler = SIG_IGN; sigaction(SIGXFSZ, &sa, &oldsa_xfsz); @@ -9,4 +9,4 @@ diff -up util-linux-2.28/login-utils/login.c.kzak util-linux-2.28/login-utils/lo + fd = open(_PATH_LASTLOG, O_RDWR | O_CREAT, 0); if (fd < 0) goto done; - + offset = cxt->pwd->pw_uid * sizeof(ll); diff --git a/Do-not-excute-Utmp-testcases.patch b/Do-not-excute-Utmp-testcases.patch new file mode 100644 index 0000000000000000000000000000000000000000..8850484577259aaa33fad2b97e42e4d769c8d068 --- /dev/null +++ b/Do-not-excute-Utmp-testcases.patch @@ -0,0 +1,26 @@ +From b629f0e02c2ac6283012131404380acc56beb5e8 Mon Sep 17 00:00:00 2001 +From: yang_zhuang_zhuang +Date: Mon, 2 Nov 2020 17:17:13 +0800 +Subject: Do not excute Utmp testcases. + +The compilation environment and test cases are vulnerable.As a result,the Utmp testcase fail to be compiled.Therefore,the Utmp testcases are commented out. +--- + tests/commands.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/commands.sh b/tests/commands.sh +index 5f34452..ad3edb2 100644 +--- a/tests/commands.sh ++++ b/tests/commands.sh +@@ -100,7 +100,7 @@ TS_CMD_SWAPOFF=${TS_CMD_SWAPOFF:-"${ts_commandsdir}swapoff"} + TS_CMD_SWAPON=${TS_CMD_SWAPON:-"${ts_commandsdir}swapon"} + TS_CMD_UL=${TS_CMD_UL-"${ts_commandsdir}ul"} + TS_CMD_UMOUNT=${TS_CMD_UMOUNT:-"${ts_commandsdir}umount"} +-TS_CMD_UTMPDUMP=${TS_CMD_UTMPDUMP-"${ts_commandsdir}utmpdump"} ++#TS_CMD_UTMPDUMP=${TS_CMD_UTMPDUMP-"${ts_commandsdir}utmpdump"} + TS_CMD_UUIDD=${TS_CMD_UUIDD-"${ts_commandsdir}uuidd"} + TS_CMD_UUIDGEN=${TS_CMD_UUIDGEN-"${ts_commandsdir}uuidgen"} + TS_CMD_UUIDPARSE=${TS_CMD_UUIDPARSE-"${ts_commandsdir}uuidparse"} +-- +1.8.3.1 + diff --git a/libmount-move-already-mounted-code-to-separate-funct.patch b/libmount-move-already-mounted-code-to-separate-funct.patch deleted file mode 100644 index b14cfdc8f060672672776d87b484096af82da915..0000000000000000000000000000000000000000 --- a/libmount-move-already-mounted-code-to-separate-funct.patch +++ /dev/null @@ -1,95 +0,0 @@ -From acd229fc2afe0c402cca3b21e0490be71dec2725 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 3 Mar 2020 10:55:28 +0100 -Subject: [PATCH] libmount: move "already mounted" code to separate function - -Signed-off-by: Karel Zak ---- - libmount/src/context_mount.c | 54 +++++++++++++++++++++++++++++--------------- - 1 file changed, 36 insertions(+), 18 deletions(-) - -diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c -index 088d132..0c4b765 100644 ---- a/libmount/src/context_mount.c -+++ b/libmount/src/context_mount.c -@@ -1119,6 +1119,36 @@ int mnt_context_do_mount(struct libmnt_context *cxt) - return res; - } - -+/* -+ * Returns mountinfo FS entry of context source patch if the source is already -+ * mounted. This function is used for "already mounted" message or to get FS of -+ * re-used loop device. -+ */ -+static struct libmnt_fs *get_already_mounted_source(struct libmnt_context *cxt) -+{ -+ const char *src; -+ struct libmnt_table *tb; -+ -+ assert(cxt); -+ -+ src = mnt_fs_get_srcpath(cxt->fs); -+ -+ if (src && mnt_context_get_mtab(cxt, &tb) == 0) { -+ struct libmnt_iter itr; -+ struct libmnt_fs *fs; -+ -+ mnt_reset_iter(&itr, MNT_ITER_FORWARD); -+ while (mnt_table_next_fs(tb, &itr, &fs) == 0) { -+ const char *s = mnt_fs_get_srcpath(fs), -+ *t = mnt_fs_get_target(fs); -+ -+ if (t && s && mnt_fs_streq_srcpath(fs, src)) -+ return fs; -+ } -+ } -+ return NULL; -+} -+ - /** - * mnt_context_finalize_mount: - * @cxt: context -@@ -1721,34 +1751,22 @@ int mnt_context_get_mount_excode( - break; - - case EBUSY: -- { -- struct libmnt_table *tb; -- - if (!buf) - break; - if (mflags & MS_REMOUNT) { - snprintf(buf, bufsz, _("mount point is busy")); - break; - } -- if (src && mnt_context_get_mtab(cxt, &tb) == 0) { -- struct libmnt_iter itr; -- struct libmnt_fs *fs; -- -- mnt_reset_iter(&itr, MNT_ITER_FORWARD); -- while (mnt_table_next_fs(tb, &itr, &fs) == 0) { -- const char *s = mnt_fs_get_srcpath(fs), -- *t = mnt_fs_get_target(fs); -- -- if (t && s && mnt_fs_streq_srcpath(fs, src)) { -- snprintf(buf, bufsz, _("%s already mounted on %s"), s, t); -- break; -- } -- } -+ if (src) { -+ struct libmnt_fs *fs = get_already_mounted_source(cxt); -+ -+ if (fs && mnt_fs_get_target(fs)) -+ snprintf(buf, bufsz, _("%s already mounted on %s"), -+ src, mnt_fs_get_target(fs)); - } - if (!*buf) - snprintf(buf, bufsz, _("%s already mounted or mount point busy"), src); - break; -- } - case ENOENT: - if (tgt && lstat(tgt, &st)) { - if (buf) --- -1.8.3.1 - diff --git a/libmount-parser-fix-memory-leak-on-error-before-end-.patch b/libmount-parser-fix-memory-leak-on-error-before-end-.patch deleted file mode 100644 index e50e2340ab3c1f0f76d531ac707d85c35724b35b..0000000000000000000000000000000000000000 --- a/libmount-parser-fix-memory-leak-on-error-before-end-.patch +++ /dev/null @@ -1,114 +0,0 @@ -From fe0d12d4f82269096f8d0cffc51ca9590814c284 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Fri, 26 Jun 2020 12:59:32 +0200 -Subject: [PATCH 821/863] libmount: (parser) fix memory leak on error before - end-of-file - -Let's simplify the loop where we add FS to the table. The optimization -for recoverable errors is a fragile overkill. The new code always -allocates and unrefs FS for each loop. - -Addresses: https://github.com/karelzak/util-linux/pull/1068 -Signed-off-by: Karel Zak ---- - libmount/src/fs.c | 2 +- - libmount/src/tab_parse.c | 49 ++++++++++++++++++++++++++---------------------- - 2 files changed, 28 insertions(+), 23 deletions(-) - -diff --git a/libmount/src/fs.c b/libmount/src/fs.c -index bcc8273..52f937a 100644 ---- a/libmount/src/fs.c -+++ b/libmount/src/fs.c -@@ -39,7 +39,7 @@ struct libmnt_fs *mnt_new_fs(void) - - fs->refcount = 1; - INIT_LIST_HEAD(&fs->ents); -- /*DBG(FS, ul_debugobj(fs, "alloc"));*/ -+ DBG(FS, ul_debugobj(fs, "alloc")); - return fs; - } - -diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c -index 3b52f6b..e3f30c2 100644 ---- a/libmount/src/tab_parse.c -+++ b/libmount/src/tab_parse.c -@@ -703,7 +703,6 @@ static int __table_parse_stream(struct libmnt_table *tb, FILE *f, const char *fi - int rc = -1; - int flags = 0; - pid_t tid = -1; -- struct libmnt_fs *fs = NULL; - struct libmnt_parser pa = { .line = 0 }; - - assert(tb); -@@ -723,19 +722,25 @@ static int __table_parse_stream(struct libmnt_table *tb, FILE *f, const char *fi - if (filename && strcmp(filename, _PATH_PROC_MOUNTS) == 0) - flags = MNT_FS_KERNEL; - -- while (!feof(f)) { -- if (!fs) { -- fs = mnt_new_fs(); -- if (!fs) -- goto err; -+ do { -+ struct libmnt_fs *fs; -+ -+ if (feof(f)) { -+ DBG(TAB, ul_debugobj(tb, "end-of-file")); -+ break; - } -+ fs = mnt_new_fs(); -+ if (!fs) -+ goto err; - -+ /* parse */ - rc = mnt_table_parse_next(&pa, tb, fs); - -- if (!rc && tb->fltrcb && tb->fltrcb(fs, tb->fltrcb_data)) -- rc = 1; /* filtered out by callback... */ -+ if (rc != 0 && tb->fltrcb && tb->fltrcb(fs, tb->fltrcb_data)) -+ rc = 1; /* error filtered out by callback... */ - -- if (!rc) { -+ /* add to the table */ -+ if (rc == 0) { - rc = mnt_table_add_fs(tb, fs); - fs->flags |= flags; - -@@ -746,21 +751,21 @@ static int __table_parse_stream(struct libmnt_table *tb, FILE *f, const char *fi - } - } - -- if (rc) { -- if (rc > 0) { -- mnt_reset_fs(fs); -- assert(fs->refcount == 1); -- continue; /* recoverable error, reuse fs*/ -- } -+ /* remove refernece (or deallocate on error) */ -+ mnt_unref_fs(fs); - -- mnt_unref_fs(fs); -- if (feof(f)) -- break; -- goto err; /* fatal error */ -+ /* recoverable error */ -+ if (rc > 0) { -+ DBG(TAB, ul_debugobj(tb, "recoverable error (continue)")); -+ continue; - } -- mnt_unref_fs(fs); -- fs = NULL; -- } -+ -+ /* fatal errors */ -+ if (rc < 0 && !feof(f)) { -+ DBG(TAB, ul_debugobj(tb, "fatal error")); -+ goto err; -+ } -+ } while (1); - - DBG(TAB, ul_debugobj(tb, "%s: stop parsing (%d entries)", - filename, mnt_table_get_nents(tb))); --- -1.8.3.1 - diff --git a/libmount-try-read-only-mount-on-write-protected-supe.patch b/libmount-try-read-only-mount-on-write-protected-supe.patch deleted file mode 100644 index 5c47ed05638de796e41989856a38449e54c0cbca..0000000000000000000000000000000000000000 --- a/libmount-try-read-only-mount-on-write-protected-supe.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 11b916cdabd9f57a4cddf10fd743af2165930dcd Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 3 Mar 2020 11:39:10 +0100 -Subject: [PATCH] libmount: try read-only mount on write-protected superblock - too - -The classic mount(8) behavior is to try read-only on write-protected devices -if the first mount syscall attempt ends with EACCES. - -It seems we can implement this feature also for EBUSY if the same mount source -is already mounted with "ro" superblock option. - -The typical use-case is iso image (always read-only) mounted on two places. - -Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1809124 -Signed-off-by: Karel Zak ---- - libmount/src/context_mount.c | 21 ++++++++++++++++++--- - sys-utils/mount.8 | 13 +++++++++---- - 2 files changed, 27 insertions(+), 7 deletions(-) - -diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c -index 0c4b765..efd7050 100644 ---- a/libmount/src/context_mount.c -+++ b/libmount/src/context_mount.c -@@ -1149,6 +1149,18 @@ static struct libmnt_fs *get_already_mounted_source(struct libmnt_context *cxt) - return NULL; - } - -+/* -+ * Checks if source filesystem superblock is already ro-mounted. Note that we -+ * care about FS superblock as VFS node is irrelevant here. -+ */ -+static int is_source_already_rdonly(struct libmnt_context *cxt) -+{ -+ struct libmnt_fs *fs = get_already_mounted_source(cxt); -+ const char *opts = fs ? mnt_fs_get_fs_options(fs) : NULL; -+ -+ return opts && mnt_optstr_get_option(opts, "ro", NULL, NULL) == 0; -+} -+ - /** - * mnt_context_finalize_mount: - * @cxt: context -@@ -1250,11 +1262,14 @@ again: - rc = mnt_context_update_tabs(cxt); - - /* -- * Read-only device; try mount filesystem read-only -+ * Read-only device or already read-only mounted FS. -+ * Try mount the filesystem read-only. - */ - if ((rc == -EROFS && !mnt_context_syscall_called(cxt)) /* before syscall; rdonly loopdev */ - || mnt_context_get_syscall_errno(cxt) == EROFS /* syscall failed with EROFS */ -- || mnt_context_get_syscall_errno(cxt) == EACCES) /* syscall failed with EACCES */ -+ || mnt_context_get_syscall_errno(cxt) == EACCES /* syscall failed with EACCES */ -+ || (mnt_context_get_syscall_errno(cxt) == EBUSY /* already ro-mounted FS */ -+ && is_source_already_rdonly(cxt))) - { - unsigned long mflags = 0; - -@@ -1630,7 +1645,7 @@ int mnt_context_get_mount_excode( - * Libmount success && syscall success. - */ - if (buf && mnt_context_forced_rdonly(cxt)) -- snprintf(buf, bufsz, _("WARNING: device write-protected, mounted read-only")); -+ snprintf(buf, bufsz, _("WARNING: source write-protected, mounted read-only")); - return MNT_EX_SUCCESS; - } - -diff --git a/sys-utils/mount.8 b/sys-utils/mount.8 -index 698b0f0..eddf05a 100644 ---- a/sys-utils/mount.8 -+++ b/sys-utils/mount.8 -@@ -931,12 +931,17 @@ Mount the partition that has the specified - Verbose mode. - .TP - .BR \-w , " \-\-rw" , " \-\-read\-write" --Mount the filesystem read/write. The read-write is kernel default. A synonym is -+Mount the filesystem read/write. The read-write is kernel default and -+.BR mount (8) -+default is to try read-only if the previous mount syscall with read-write flags -+on write-protected devices of filesystems failed. -+.sp -+A synonym is - .BR "\-o rw" . - --Note that specify \fB\-w\fR on command line forces \fBmount\fR command --to never try read-only mount on write-protected devices. The default is --try read-only if the previous mount syscall with read-write flags failed. -+Note that specify \fB\-w\fR on command line forces \fBmount\fR command to never -+try read-only mount on write-protected devices or already mounted read-only -+filesystems. - .TP - .BR \-V , " \-\-version" - Display version information and exit. --- -1.8.3.1 - diff --git a/tests-Fix-mountpoint-test-failure-in-build-chroots.patch b/tests-Fix-mountpoint-test-failure-in-build-chroots.patch deleted file mode 100644 index 774eef9f9267d1f465745baf5b327bd9f219d8a3..0000000000000000000000000000000000000000 --- a/tests-Fix-mountpoint-test-failure-in-build-chroots.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 3e9395811708b5ebcf2c5079ff0cb6d18694a3cc Mon Sep 17 00:00:00 2001 -From: Mark Hindley -Date: Mon, 22 Jun 2020 23:52:09 +0000 -Subject: [PATCH 819/863] tests: Fix mountpoint test failure in build chroots. - -The test assumed that / was a mountpoint. This is not always the case, for -example in pbuilder/cowbuilder chroots. So use / if findmnt verifies it is a -mountpoint, otherwise use the first mountpoint found. Skip the test if no -mountpoints are found. - -Signed-off-by: Mark Hindley ---- - tests/expected/misc/mountpoint-default | 2 +- - tests/expected/misc/mountpoint-nofollow | 2 +- - tests/ts/misc/mountpoint | 15 +++++++++++---- - 3 files changed, 13 insertions(+), 6 deletions(-) - -diff --git a/tests/expected/misc/mountpoint-default b/tests/expected/misc/mountpoint-default -index 9a7ac6a..ca75055 100644 ---- a/tests/expected/misc/mountpoint-default -+++ b/tests/expected/misc/mountpoint-default -@@ -1,2 +1,2 @@ --./symlink-to-root is a mountpoint -+./symlink-to-mountpoint is a mountpoint - 0 -diff --git a/tests/expected/misc/mountpoint-nofollow b/tests/expected/misc/mountpoint-nofollow -index 1ba1749..03d2b5d 100644 ---- a/tests/expected/misc/mountpoint-nofollow -+++ b/tests/expected/misc/mountpoint-nofollow -@@ -1,2 +1,2 @@ --./symlink-to-root is not a mountpoint -+./symlink-to-mountpoint is not a mountpoint - 1 -diff --git a/tests/ts/misc/mountpoint b/tests/ts/misc/mountpoint -index 1b391c3..e52ccb2 100755 ---- a/tests/ts/misc/mountpoint -+++ b/tests/ts/misc/mountpoint -@@ -7,16 +7,23 @@ TS_DESC="mountpoint" - ts_init "$*" - - ts_check_test_command "$TS_CMD_MOUNTPOINT" -+ts_check_test_command "$TS_CMD_FINDMNT" - --ln -s / ./symlink-to-root -+# / is not always a mountpoint (chroots etc.), so check if it is and otherwise -+# fallback to the first available mountpoint. -+FIRST_MOUNTPOINT=$($TS_CMD_FINDMNT -no TARGET / || $TS_CMD_FINDMNT -fno TARGET) -+ -+[ -z "$FIRST_MOUNTPOINT" ] && ts_skip "no mountpoint found for symlink tests" -+ -+ln -s $FIRST_MOUNTPOINT ./symlink-to-mountpoint - - ts_init_subtest "default" --$TS_CMD_MOUNTPOINT ./symlink-to-root >> $TS_OUTPUT 2>> $TS_ERRLOG -+$TS_CMD_MOUNTPOINT ./symlink-to-mountpoint >> $TS_OUTPUT 2>> $TS_ERRLOG - echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG - ts_finalize_subtest - - ts_init_subtest "nofollow" --$TS_CMD_MOUNTPOINT --nofollow ./symlink-to-root >> $TS_OUTPUT 2>> $TS_ERRLOG -+$TS_CMD_MOUNTPOINT --nofollow ./symlink-to-mountpoint >> $TS_OUTPUT 2>> $TS_ERRLOG - echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG - ts_finalize_subtest - -@@ -25,5 +32,5 @@ $TS_CMD_MOUNTPOINT --devno --nofollow / >> $TS_OUTPUT 2>> $TS_ERRLOG - echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG - ts_finalize_subtest - --rm -f ./symlink-to-root -+rm -f ./symlink-to-mountpoint - ts_finalize --- -1.8.3.1 - diff --git a/util-linux-2.35.2.tar.xz b/util-linux-2.36.tar.xz similarity index 41% rename from util-linux-2.35.2.tar.xz rename to util-linux-2.36.tar.xz index 30eb8f31ca23b8c98e638a961f249d53e377c123..8ce04d19a08e6adb274d393d2d6ac40b7775ac46 100644 Binary files a/util-linux-2.35.2.tar.xz and b/util-linux-2.36.tar.xz differ diff --git a/util-linux.spec b/util-linux.spec index 5884d179fd3e5b98703836b93ee53a3e86701f6c..05ca2dbb1bdae08cea4c4a777747d6353d9ae5e6 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,9 +1,9 @@ %define compldir %{_datadir}/bash-completion/completions/ -%global upstream_major 2.35 +%global upstream_major 2.36 Name: util-linux -Version: 2.35.2 -Release: 4 +Version: 2.36 +Release: 1 Summary: A random collection of Linux utilities License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git @@ -35,11 +35,9 @@ Provides: /bin/dmesg /bin/kill /bin/more /bin/mount /bin/umount /sbin/blki Provides: /sbin/blockdev /sbin/findfs /sbin/fsck /sbin/nologin Obsoletes: eject <= 2.1.5 rfkill <= 0.5 util-linux-ng < 2.19 hardlink <= 1:1.3-9 -Patch0: 2.28-login-lastlog-create.patch -Patch1: libmount-move-already-mounted-code-to-separate-funct.patch -Patch2: libmount-try-read-only-mount-on-write-protected-supe.patch -Patch3: libmount-parser-fix-memory-leak-on-error-before-end-.patch -Patch4: tests-Fix-mountpoint-test-failure-in-build-chroots.patch +Patch0: 2.36-login-lastlog-create.patch +Patch1: 0001-libfdisk-fix-last-free-sector-detection-if-partition.patch +Patch2: Do-not-excute-Utmp-testcases.patch %description The util-linux package contains a random collection of files that @@ -300,7 +298,7 @@ fi %{_bindir}/{flock,getopt,hexdump,ionice,ipcmk,ipcrm,ipcs,isosize,kill,last,lastb,logger,hardlink} %{_bindir}/{look,lsblk,lscpu,lsipc,lslocks,lslogins,lsmem,lsns,mcookie,mesg,more,mountpoint} %{_bindir}/{namei,nsenter,prlimit,raw,rename,renice,rev,script,scriptreplay,setarch,setpriv} -%{_bindir}/{setsid,setterm,taskset,ul,unshare,utmpdump,uuidgen,uuidparse,wall,wdctl,whereis,scriptlive} +%{_bindir}/{setsid,setterm,taskset,ul,unshare,utmpdump,uuidgen,uuidparse,wall,wdctl,whereis,scriptlive,irqtop,lsirq} %{_sbindir}/{addpart,agetty,blkdiscard,blkid,blkzone,blockdev,chcpu,ctrlaltdel,delpart,fdisk} %{_sbindir}/{findfs,fsck,fsck.cramfs,fsck.minix,fsfreeze,fstrim,ldattach,losetup,mkfs,mkfs.cramfs} %{_sbindir}/{mkfs.minix,mkswap,nologin,partx,pivot_root,readprofile,resizepart,rfkill,rtcwake} @@ -316,7 +314,7 @@ fi %{compldir}/{resizepart,rev,rfkill,rtcwake,runuser,script,scriptreplay,setarch} %{compldir}/{setpriv,setsid,setterm,su,swaplabel,swapoff,swapon,taskset,ul,unshare} %{compldir}/{utmpdump,uuidgen,uuidparse,wall,wdctl,whereis,wipefs,write,zramctl} -%{compldir}/{fdformat,hwclock,cfdisk,sfdisk,scriptlive} +%{compldir}/{fdformat,hwclock,cfdisk,sfdisk,scriptlive,irqtop,lsirq} %files -n libfdisk %license Documentation/licenses/COPYING.LGPL-2.1* libfdisk/COPYING @@ -373,7 +371,7 @@ fi %{_mandir}/man1/{kill.1*,last.1*,lastb.1*,logger.1*,login.1*,look.1*,lscpu.1*,lsipc.1*,lslogins.1*,lsmem.1*} %{_mandir}/man1/{mcookie.1*,mesg.1*,more.1*,mountpoint.1*,namei.1*,nsenter.1*,prlimit.1*,rename.1*,renice.1*} %{_mandir}/man1/{rev.1*,runuser.1*,script.1*,scriptreplay.1*,setpriv.1*,setsid.1*,setterm.1*,su.1*,taskset.1*} -%{_mandir}/man1/{ul.1*,unshare.1*,utmpdump.1.gz,uuidgen.1*,uuidparse.1*,wall.1*,whereis.1*,write.1*,choom.1*,scriptlive*,hardlink.1*} +%{_mandir}/man1/{ul.1*,unshare.1*,utmpdump.1.gz,uuidgen.1*,uuidparse.1*,wall.1*,whereis.1*,write.1*,choom.1*,scriptlive*,hardlink.1*,irqtop.1*,lsirq.1*} %{_mandir}/man3/{libblkid.3*,uuid.3*,uuid_clear.3*,uuid_compare.3*,uuid_copy.3*,uuid_generate.3*,uuid_generate_random.3*} %{_mandir}/man3/{uuid_generate_time_safe.3*,uuid_is_null.3*,uuid_parse.3*,uuid_time.3*,uuid_unparse.3*,uuid_generate_time.3*} %{_mandir}/man5/{fstab.5*,terminal-colors.d.5*,adjtime_config.5.*} @@ -386,6 +384,12 @@ fi %{_mandir}/man8/{swapoff.8*,swapon.8*,switch_root.8*,umount.8*,wdctl.8.gz,wipefs.8*,zramctl.8*} %changelog +* Mon Nov 2 2020 yangzhuangzhuang - 2.36-1 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:update version to 2.36 + * Thu Oct 29 2020 Liquor - 2.35.2-4 - Type:requirement - ID:NA