diff --git a/SOURCES/procps-ng-3.3.15-pgrep-uid-conversion-overflow.patch b/SOURCES/procps-ng-3.3.15-pgrep-uid-conversion-overflow.patch new file mode 100644 index 0000000..9c32823 --- /dev/null +++ b/SOURCES/procps-ng-3.3.15-pgrep-uid-conversion-overflow.patch @@ -0,0 +1,28 @@ +commit c833a6241893c7e566a5eed762661942e4cd90d3 +Author: Todd Lewis +Date: Mon Oct 29 18:33:48 2018 +0000 + + Fix user and group name to number conversion for uid/gid above 2^31. + +diff --git a/pgrep.c b/pgrep.c +index bde7448..8b82a54 100644 +--- a/pgrep.c ++++ b/pgrep.c +@@ -280,7 +280,7 @@ static int conv_uid (const char *restrict name, struct el *restrict e) + xwarnx(_("invalid user name: %s"), name); + return 0; + } +- e->num = pwd->pw_uid; ++ e->num = (int) pwd->pw_uid; + return 1; + } + +@@ -297,7 +297,7 @@ static int conv_gid (const char *restrict name, struct el *restrict e) + xwarnx(_("invalid group name: %s"), name); + return 0; + } +- e->num = grp->gr_gid; ++ e->num = (int) grp->gr_gid; + return 1; + } + diff --git a/SOURCES/procps-ng-3.3.15-pidof-show-worker-threads.patch b/SOURCES/procps-ng-3.3.15-pidof-show-worker-threads.patch new file mode 100644 index 0000000..bb470d9 --- /dev/null +++ b/SOURCES/procps-ng-3.3.15-pidof-show-worker-threads.patch @@ -0,0 +1,54 @@ +From 7dcb6b8eb6c69584d0d56797935f836bc06642f5 Mon Sep 17 00:00:00 2001 +From: Jan Rybar +Date: Tue, 7 Apr 2020 13:41:48 +0200 +Subject: [PATCH] pidof: show worker threads + +Reimplementation of pidof for procps toolset contains sort of deactivated code and does not return results for processes without task.cmdline entry (usually kernel worker threads). Old pidof and pgrep do that in comparison. Despite all perks provided by using pgrep instead, pidof should show those workers again. +--- + pidof.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/pidof.c b/pidof.c +index b0d08cc..90ecb13 100644 +--- a/pidof.c ++++ b/pidof.c +@@ -142,6 +142,7 @@ static void select_procs (void) + static int size = 0; + char *cmd_arg0, *cmd_arg0base; + char *cmd_arg1, *cmd_arg1base; ++ char *stat_cmd; + char *program_base; + char *root_link; + char *exe_link; +@@ -167,9 +168,10 @@ static void select_procs (void) + } + } + +- if (!is_omitted(task.XXXID) && task.cmdline && *task.cmdline) { ++ if (!is_omitted(task.XXXID)) { + +- cmd_arg0 = *task.cmdline; ++ cmd_arg0 = (task.cmdline && *task.cmdline) ? *task.cmdline : "\0"; ++ stat_cmd = task.cmd ? task.cmd : "\0"; + + /* processes starting with '-' are login shells */ + if (*cmd_arg0 == '-') { +@@ -191,12 +193,14 @@ static void select_procs (void) + !strcmp(program_base, cmd_arg0) || + !strcmp(program, cmd_arg0) || + ++ !strcmp(program, stat_cmd) || ++ + !strcmp(program, exe_link_base) || + !strcmp(program, exe_link)) + { + match = 1; + +- } else if (opt_scripts_too && *(task.cmdline+1)) { ++ } else if (opt_scripts_too && task.cmdline && *(task.cmdline+1)) { + + cmd_arg1 = *(task.cmdline+1); + +-- +2.25.2 + diff --git a/SOURCES/procps-ng-3.3.15-vmstat-watch-manpage.patch b/SOURCES/procps-ng-3.3.15-vmstat-watch-manpage.patch new file mode 100644 index 0000000..aa8d43c --- /dev/null +++ b/SOURCES/procps-ng-3.3.15-vmstat-watch-manpage.patch @@ -0,0 +1,41 @@ +commit 354b5a56bf2ea831427ab8268ec7101bd3870f8e +Author: Jan Rybar +Date: Thu Apr 30 17:06:18 2020 +0200 + + vmstat and watch manpage slight fixes + + vmstat - align wording with proc manpage to clarify ambiguities (rhbz#1796043) + watch - manpage presumes ntp tools are present by default (which they're not on rpm and deb distros, rhbz#1583669) + +diff --git a/vmstat.8 b/vmstat.8 +index e408bca..dcc1b1e 100644 +--- a/vmstat.8 ++++ b/vmstat.8 +@@ -93,7 +93,7 @@ Display help and exit. + .B "Procs" + .nf + r: The number of runnable processes (running or waiting for run time). +-b: The number of processes in uninterruptible sleep. ++b: The number of processes blocked waiting for I/O to complete. + .fi + .PP + .SS +diff --git a/watch.1 b/watch.1 +index 256c36b..e06e04e 100644 +--- a/watch.1 ++++ b/watch.1 +@@ -34,7 +34,7 @@ every + .I interval + seconds. Try it with + .B ntptime +-and notice how the fractional seconds stays (nearly) the same, as opposed to ++(if present) and notice how the fractional seconds stays (nearly) the same, as opposed to + normal mode where they continuously increase. + .TP + \fB\-t\fR, \fB\-\-no\-title\fR +@@ -190,4 +190,4 @@ watch uname \-r + .I \-p + isn't guaranteed to work across reboots, especially in the face of + .B ntpdate +-or other bootup time-changing mechanisms) ++(if present) or other bootup time-changing mechanisms) diff --git a/SPECS/procps-ng.spec b/SPECS/procps-ng.spec index 08fadf3..e8631d7 100644 --- a/SPECS/procps-ng.spec +++ b/SPECS/procps-ng.spec @@ -4,7 +4,7 @@ Summary: System and process monitoring utilities Name: procps-ng Version: 3.3.15 -Release: 1%{?dist} +Release: 3%{?dist} License: GPL+ and GPLv2 and GPLv2+ and GPLv3+ and LGPLv2+ Group: Applications/System URL: https://sourceforge.net/projects/procps-ng/ @@ -16,6 +16,10 @@ Source1: README.md # wget https://gitlab.com/procps-ng/procps/raw/e0784ddaed30d095bb1d9a8ad6b5a23d10a212c4/top/README.top Source2: README.top +Patch1: procps-ng-3.3.15-pidof-show-worker-threads.patch +Patch2: procps-ng-3.3.15-pgrep-uid-conversion-overflow.patch +Patch3: procps-ng-3.3.15-vmstat-watch-manpage.patch + BuildRequires: ncurses-devel BuildRequires: libtool BuildRequires: autoconf @@ -23,6 +27,7 @@ BuildRequires: automake BuildRequires: gcc BuildRequires: gettext-devel BuildRequires: systemd-devel +BuildRequires: git %if %{tests_enabled} BuildRequires: dejagnu @@ -83,7 +88,7 @@ Conflicts: man-pages-pl < 0.7-5 Internationalization pack for procps-ng %prep -%setup -q -n %{name}-%{version} +%autosetup -S git cp -p %{SOURCE1} . cp -p %{SOURCE2} top/ @@ -156,6 +161,19 @@ ln -s %{_bindir}/pidof %{buildroot}%{_sbindir}/pidof %files i18n -f %{name}.lang %changelog +* Wed Jul 08 2020 Jan Rybar - 3.3.15-3 +- pgrep: uid/gid conversion overflow +- vmstat: align manpage with procfs wording +- watch: manpage presumes NTP on system +- Resolves: rhbz#1827731 +- Resolves: rhbz#1829920 +- Resolves: rhbz#1583669 + +* Tue Apr 14 2020 Jan Rybar - 3.3.15-2 +- pidof: show kernel workers +- gating activated +- Resolves: rhbz#1803640 + * Wed Jul 04 2018 Jan Rybar - 3.3.15-1 - Rebase to 3.3.15 - Translated manual pages moved to -i18n subpackage