diff --git a/0001-login-lastlog-create.patch b/0001-login-lastlog-create.patch new file mode 100644 index 0000000000000000000000000000000000000000..7a476626a6e57763470c3005c548c02d129c543a --- /dev/null +++ b/0001-login-lastlog-create.patch @@ -0,0 +1,25 @@ +From f7630f198bc0cf21cbe0cb3f46bc245d0ffd01dc Mon Sep 17 00:00:00 2001 +From: openEuler Buildteam +Date: Sat, 25 Jul 2020 17:36:05 +0800 +Subject: [PATCH] login lastlog create + +--- + login-utils/login.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/login-utils/login.c b/login-utils/login.c +index 186a5ff..943a349 100644 +--- a/login-utils/login.c ++++ b/login-utils/login.c +@@ -585,7 +585,7 @@ static void log_lastlog(struct login_context *cxt) + sa.sa_handler = SIG_IGN; + sigaction(SIGXFSZ, &sa, &oldsa_xfsz); + +- fd = open(_PATH_LASTLOG, O_RDWR, 0); ++ fd = open(_PATH_LASTLOG, O_RDWR | O_CREAT, 0); + if (fd < 0) + goto done; + offset = cxt->pwd->pw_uid * sizeof(ll); +-- +2.23.0 + diff --git a/2.28-login-lastlog-create.patch b/2.28-login-lastlog-create.patch deleted file mode 100644 index 869543ed0c24ece822c3e246e8e66905450210cf..0000000000000000000000000000000000000000 --- a/2.28-login-lastlog-create.patch +++ /dev/null @@ -1,12 +0,0 @@ -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 - sa.sa_handler = SIG_IGN; - sigaction(SIGXFSZ, &sa, &oldsa_xfsz); - -- fd = open(_PATH_LASTLOG, O_RDWR, 0); -+ fd = open(_PATH_LASTLOG, O_RDWR | O_CREAT, 0); - if (fd < 0) - goto done; - 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 51bd864c6552725b3c3984b19530d1f587ead01c..c7583e6433e74741e9cdf28fa0a2e8e61e01b8e9 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ %define compldir %{_datadir}/bash-completion/completions/ Name: util-linux -Version: 2.35.2 +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 @@ -34,11 +34,7 @@ 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: 0001-login-lastlog-create.patch %description The util-linux package contains a random collection of files that @@ -296,8 +292,8 @@ fi %ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/mtab %{_unitdir}/fstrim.* %{_bindir}/{cal,chrt,col,colcrt,colrm,column,chmem,dmesg,eject,fallocate,fincore,findmnt,choom} -%{_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}/{flock,getopt,hexdump,ionice,ipcmk,ipcrm,ipcs,isosize,kill,last,lastb,logger,irqtop} +%{_bindir}/{look,lsblk,lscpu,lsipc,lslocks,lslogins,lsmem,lsns,mcookie,mesg,more,mountpoint,lsirq} %{_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,hardlink} %{_sbindir}/{addpart,agetty,blkdiscard,blkid,blkzone,blockdev,chcpu,ctrlaltdel,delpart,fdisk} @@ -305,8 +301,8 @@ fi %{_sbindir}/{mkfs.minix,mkswap,nologin,partx,pivot_root,readprofile,resizepart,rfkill,rtcwake} %{_sbindir}/{runuser,sulogin,swaplabel,swapoff,swapon,switch_root,wipefs,zramctl} %{_sbindir}/{clock,fdformat,hwclock,cfdisk,sfdisk} -%{compldir}/{addpart,blkdiscard,blkid,blkzone,blockdev,cal,chcpu,chmem,chrt,col} -%{compldir}/{colcrt,colrm,column,ctrlaltdel,delpart,dmesg,eject,fallocate,fdisk} +%{compldir}/{addpart,blkdiscard,blkid,blkzone,blockdev,cal,chcpu,chmem,chrt,col,irqtop} +%{compldir}/{colcrt,colrm,column,ctrlaltdel,delpart,dmesg,eject,fallocate,fdisk,lsirq} %{compldir}/{fincore,findfs,findmnt,flock,fsck,fsck.cramfs,fsck.minix,fsfreeze} %{compldir}/{fstrim,getopt,hexdump,ionice,ipcmk,ipcrm,ipcs,isosize,last,ldattach} %{compldir}/{logger,look,losetup,lsblk,lscpu,lsipc,lslocks,lslogins,lsmem,lsns} @@ -367,8 +363,8 @@ fi %exclude %{_datadir}/doc/util-linux/getopt/* %doc README NEWS Documentation/deprecated.txt %doc %attr(0644,-,-) misc-utils/getopt-*.{bash,tcsh} -%{_mandir}/man1/{chfn.1*,chsh.1*,cal.1*,chrt.1*,col.1*,colcrt.1*,colrm.1*,column.1*,dmesg.1*,eject.1*} -%{_mandir}/man1/{fallocate.1*,fincore.1*,flock.1*,getopt.1*,hexdump.1*,ionice.1*,ipcmk.1*,ipcrm.1*,ipcs.1*} +%{_mandir}/man1/{chfn.1*,chsh.1*,cal.1*,chrt.1*,col.1*,colcrt.1*,colrm.1*,column.1*,dmesg.1*,eject.1*,irqtop.1*} +%{_mandir}/man1/{fallocate.1*,fincore.1*,flock.1*,getopt.1*,hexdump.1*,ionice.1*,ipcmk.1*,ipcrm.1*,ipcs.1*,lsirq.1*} %{_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*} @@ -385,7 +381,13 @@ fi %{_mandir}/man8/{swapoff.8*,swapon.8*,switch_root.8*,umount.8*,wdctl.8.gz,wipefs.8*,zramctl.8*} %changelog -* Thu Jul 23 2020 yang_zhuang_zhuang - 2.35.2-1 +* Sat Jul 25 2020 shenyangyang - 2.36-1 +- Type:enhancement +- ID:NA +- SUG:NA +- DESC:upgrade to 2.36 + +* Tue Jul 21 2020 yang_zhuang_zhuang - 2.35.2-1 - Type:enhancement - ID:NA - SUG:NA