From: Clemens Gruber <clemens.gruber@pqgruber.com>
To: ptxdist@pengutronix.de
Cc: Michael Olbrich <m.olbrich@pengutronix.de>
Subject: [ptxdist] [PATCH v2] procps: switch from procps to procps-ng
Date: Mon, 6 Jul 2015 19:47:12 +0200 [thread overview]
Message-ID: <20150706174711.GA1717@pqgruber.com> (raw)
The procps package is unmaintained, therefore switch to procps-ng, which
is used by many major distributions.
Cc: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
Changes from V1:
- Add ncurses select to sub options
- Replace Sourceforge with Gitlab URL
- Add autogen.sh
- Remove patches from old procps
- Select SYSTEMD and default to INITMETHOD_SYSTEMD
- Fix pidof call in chrony scripts (pidof moved to /usr/bin)
---
patches/procps-3.2.8/0001-slabtop_once.patch | 125 -----
patches/procps-3.2.8/0002-free.1.patch | 112 -----
patches/procps-3.2.8/0003-output_sort_time.patch | 102 ----
patches/procps-3.2.8/0004-pmap.1.patch | 57 ---
patches/procps-3.2.8/0005-10_ps.1.patch | 72 ---
patches/procps-3.2.8/0006-skill.1.patch | 125 -----
patches/procps-3.2.8/0007-skill_perror.patch | 25 -
patches/procps-3.2.8/0008-slabtop_1.patch | 106 ----
patches/procps-3.2.8/0009-sysctl.8.patch | 157 ------
patches/procps-3.2.8/0010-sysctl_options.patch | 57 ---
patches/procps-3.2.8/0011-tload.1.patch | 26 -
patches/procps-3.2.8/0012-top_irix.patch | 53 --
patches/procps-3.2.8/0013-top_no_openproc.patch | 30 --
patches/procps-3.2.8/0014-top_stdin_eof.patch | 29 --
patches/procps-3.2.8/0015-top_uid_length.patch | 26 -
patches/procps-3.2.8/0016-uptime.1.patch | 57 ---
patches/procps-3.2.8/0017-vmstat.8.patch | 119 -----
patches/procps-3.2.8/0018-watch.1.patch | 112 -----
patches/procps-3.2.8/0019-w_time.patch | 26 -
patches/procps-3.2.8/0020-kill.1.patch | 157 ------
patches/procps-3.2.8/0021-kill_warncr.patch | 35 --
patches/procps-3.2.8/0022-module_mk_shared.patch | 26 -
patches/procps-3.2.8/0023-sysinfo_elfnote.patch | 32 --
patches/procps-3.2.8/0024-top.1.patch | 427 ----------------
patches/procps-3.2.8/0025-top_c_resize.patch | 86 ----
patches/procps-3.2.8/0026-w-bassman.patch | 99 ----
patches/procps-3.2.8/0027-top.1_cpustates.patch | 60 ---
patches/procps-3.2.8/0028-watch_8bitchar.patch | 26 -
.../procps-3.2.8/0029-library_map_freeproc.patch | 26 -
patches/procps-3.2.8/0030-pgrep_start_time.patch | 27 -
patches/procps-3.2.8/0031-readproc_c.patch | 35 --
patches/procps-3.2.8/0032-sysinfo_7_numbers.patch | 46 --
patches/procps-3.2.8/0033-tload_no_optargs.patch | 27 -
patches/procps-3.2.8/0034-w.1.patch | 80 ---
patches/procps-3.2.8/0035-w_columns.patch | 41 --
patches/procps-3.2.8/0036-watch_exec_beep.patch | 271 ----------
patches/procps-3.2.8/0037-path_max.patch | 87 ----
patches/procps-3.2.8/0038-w_envlength.patch | 183 -------
patches/procps-3.2.8/0039-gnu-kbsd-version.patch | 47 --
patches/procps-3.2.8/0040-pgrep_c_option.patch | 96 ----
patches/procps-3.2.8/0041-ps_cgroup_display.patch | 175 -------
.../procps-3.2.8/0042-watch_precision_time.patch | 226 ---------
patches/procps-3.2.8/0043-watch_unicode.patch | 311 ------------
.../0044-complain_unmounted_proc.patch | 29 --
patches/procps-3.2.8/0045-ps_supgid_display.patch | 475 ------------------
patches/procps-3.2.8/0046-makefile_dev_null.patch | 25 -
patches/procps-3.2.8/0047-pgrep.1.patch | 218 --------
patches/procps-3.2.8/0048-ps_size_sz.patch | 40 --
patches/procps-3.2.8/0049-top_mintime.patch | 27 -
| 159 ------
.../procps-3.2.8/0051-pgrep_usage_exitcode.patch | 26 -
patches/procps-3.2.8/0052-ps_1_options.patch | 557 ---------------------
patches/procps-3.2.8/0053-top_highlight.patch | 29 --
patches/procps-3.2.8/0054-top_nohz.patch | 25 -
patches/procps-3.2.8/0055-vmstat_part_format.patch | 94 ----
.../procps-3.2.8/0056-readproc_double_free.patch | 32 --
patches/procps-3.2.8/0057-vmstat_units.patch | 70 ---
patches/procps-3.2.8/0058-skill_null_argv.patch | 25 -
patches/procps-3.2.8/0059-skill_multiarg.patch | 25 -
.../0060-proc_version_constructor.patch | 52 --
patches/procps-3.2.8/0061-pmaps_smaps.patch | 150 ------
patches/procps-3.2.8/0062-top_numeric_args.patch | 109 ----
patches/procps-3.2.8/0063-top_1_swap.patch | 34 --
patches/procps-3.2.8/0064-w_userproc.patch | 25 -
.../procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch | 31 --
patches/procps-3.2.8/0066-ps_1_flt_output.patch | 40 --
patches/procps-3.2.8/0067-watch_ansi_colour.patch | 193 -------
patches/procps-3.2.8/0068-top_username_parse.patch | 25 -
...69-don-t-install-stuff-that-was-not-built.patch | 31 --
...ame-registers-option-due-to-ICE-on-gcc-4..patch | 25 -
.../0071-fix-build-with-make-3.82.patch | 36 --
patches/procps-3.2.8/series | 71 ---
patches/procps-ng-3.3.10/autogen.sh | 2 +
projectroot/etc/init.d/chrony | 10 +-
projectroot/usr/bin/chrony_command | 2 +-
projectroot/usr/bin/chrony_stat | 2 +-
rules/procps.in | 164 ++++--
rules/procps.make | 106 ++--
78 files changed, 215 insertions(+), 6791 deletions(-)
delete mode 100644 patches/procps-3.2.8/0001-slabtop_once.patch
delete mode 100644 patches/procps-3.2.8/0002-free.1.patch
delete mode 100644 patches/procps-3.2.8/0003-output_sort_time.patch
delete mode 100644 patches/procps-3.2.8/0004-pmap.1.patch
delete mode 100644 patches/procps-3.2.8/0005-10_ps.1.patch
delete mode 100644 patches/procps-3.2.8/0006-skill.1.patch
delete mode 100644 patches/procps-3.2.8/0007-skill_perror.patch
delete mode 100644 patches/procps-3.2.8/0008-slabtop_1.patch
delete mode 100644 patches/procps-3.2.8/0009-sysctl.8.patch
delete mode 100644 patches/procps-3.2.8/0010-sysctl_options.patch
delete mode 100644 patches/procps-3.2.8/0011-tload.1.patch
delete mode 100644 patches/procps-3.2.8/0012-top_irix.patch
delete mode 100644 patches/procps-3.2.8/0013-top_no_openproc.patch
delete mode 100644 patches/procps-3.2.8/0014-top_stdin_eof.patch
delete mode 100644 patches/procps-3.2.8/0015-top_uid_length.patch
delete mode 100644 patches/procps-3.2.8/0016-uptime.1.patch
delete mode 100644 patches/procps-3.2.8/0017-vmstat.8.patch
delete mode 100644 patches/procps-3.2.8/0018-watch.1.patch
delete mode 100644 patches/procps-3.2.8/0019-w_time.patch
delete mode 100644 patches/procps-3.2.8/0020-kill.1.patch
delete mode 100644 patches/procps-3.2.8/0021-kill_warncr.patch
delete mode 100644 patches/procps-3.2.8/0022-module_mk_shared.patch
delete mode 100644 patches/procps-3.2.8/0023-sysinfo_elfnote.patch
delete mode 100644 patches/procps-3.2.8/0024-top.1.patch
delete mode 100644 patches/procps-3.2.8/0025-top_c_resize.patch
delete mode 100644 patches/procps-3.2.8/0026-w-bassman.patch
delete mode 100644 patches/procps-3.2.8/0027-top.1_cpustates.patch
delete mode 100644 patches/procps-3.2.8/0028-watch_8bitchar.patch
delete mode 100644 patches/procps-3.2.8/0029-library_map_freeproc.patch
delete mode 100644 patches/procps-3.2.8/0030-pgrep_start_time.patch
delete mode 100644 patches/procps-3.2.8/0031-readproc_c.patch
delete mode 100644 patches/procps-3.2.8/0032-sysinfo_7_numbers.patch
delete mode 100644 patches/procps-3.2.8/0033-tload_no_optargs.patch
delete mode 100644 patches/procps-3.2.8/0034-w.1.patch
delete mode 100644 patches/procps-3.2.8/0035-w_columns.patch
delete mode 100644 patches/procps-3.2.8/0036-watch_exec_beep.patch
delete mode 100644 patches/procps-3.2.8/0037-path_max.patch
delete mode 100644 patches/procps-3.2.8/0038-w_envlength.patch
delete mode 100644 patches/procps-3.2.8/0039-gnu-kbsd-version.patch
delete mode 100644 patches/procps-3.2.8/0040-pgrep_c_option.patch
delete mode 100644 patches/procps-3.2.8/0041-ps_cgroup_display.patch
delete mode 100644 patches/procps-3.2.8/0042-watch_precision_time.patch
delete mode 100644 patches/procps-3.2.8/0043-watch_unicode.patch
delete mode 100644 patches/procps-3.2.8/0044-complain_unmounted_proc.patch
delete mode 100644 patches/procps-3.2.8/0045-ps_supgid_display.patch
delete mode 100644 patches/procps-3.2.8/0046-makefile_dev_null.patch
delete mode 100644 patches/procps-3.2.8/0047-pgrep.1.patch
delete mode 100644 patches/procps-3.2.8/0048-ps_size_sz.patch
delete mode 100644 patches/procps-3.2.8/0049-top_mintime.patch
delete mode 100644 patches/procps-3.2.8/0050-vmstat_headers.patch
delete mode 100644 patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch
delete mode 100644 patches/procps-3.2.8/0052-ps_1_options.patch
delete mode 100644 patches/procps-3.2.8/0053-top_highlight.patch
delete mode 100644 patches/procps-3.2.8/0054-top_nohz.patch
delete mode 100644 patches/procps-3.2.8/0055-vmstat_part_format.patch
delete mode 100644 patches/procps-3.2.8/0056-readproc_double_free.patch
delete mode 100644 patches/procps-3.2.8/0057-vmstat_units.patch
delete mode 100644 patches/procps-3.2.8/0058-skill_null_argv.patch
delete mode 100644 patches/procps-3.2.8/0059-skill_multiarg.patch
delete mode 100644 patches/procps-3.2.8/0060-proc_version_constructor.patch
delete mode 100644 patches/procps-3.2.8/0061-pmaps_smaps.patch
delete mode 100644 patches/procps-3.2.8/0062-top_numeric_args.patch
delete mode 100644 patches/procps-3.2.8/0063-top_1_swap.patch
delete mode 100644 patches/procps-3.2.8/0064-w_userproc.patch
delete mode 100644 patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch
delete mode 100644 patches/procps-3.2.8/0066-ps_1_flt_output.patch
delete mode 100644 patches/procps-3.2.8/0067-watch_ansi_colour.patch
delete mode 100644 patches/procps-3.2.8/0068-top_username_parse.patch
delete mode 100644 patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch
delete mode 100644 patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch
delete mode 100644 patches/procps-3.2.8/0071-fix-build-with-make-3.82.patch
delete mode 100644 patches/procps-3.2.8/series
create mode 100755 patches/procps-ng-3.3.10/autogen.sh
diff --git a/patches/procps-3.2.8/0001-slabtop_once.patch b/patches/procps-3.2.8/0001-slabtop_once.patch
deleted file mode 100644
index 5d8a451..0000000
--- a/patches/procps-3.2.8/0001-slabtop_once.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From cc53eb8aee12e32861e6073d9e6bd7d015a15c55 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 01/70] slabtop_once
-
----
- slabtop.c | 45 ++++++++++++++++++++++++++-------------------
- 1 files changed, 26 insertions(+), 19 deletions(-)
-
-diff --git a/slabtop.c b/slabtop.c
-index 36025e2..5c9d31e 100644
---- a/slabtop.c
-+++ b/slabtop.c
-@@ -268,11 +268,13 @@ static void parse_input(char c)
- }
- }
-
-+#define print_line(fmt, args...) if (run_once) printf(fmt, ## args); else printw(fmt, ## args)
- int main(int argc, char *argv[])
- {
- int o;
- unsigned short old_rows;
- struct slab_info *slab_list = NULL;
-+ int run_once=0;
-
- struct option longopts[] = {
- { "delay", 1, NULL, 'd' },
-@@ -306,6 +308,7 @@ int main(int argc, char *argv[])
- sort_func = set_sort_func(optarg[0]);
- break;
- case 'o':
-+ run_once=1;
- delay = 0;
- break;
- case 'V':
-@@ -322,11 +325,13 @@ int main(int argc, char *argv[])
- if (tcgetattr(0, &saved_tty) == -1)
- perror("tcgetattr");
-
-- initscr();
-- term_size(0);
- old_rows = rows;
-- resizeterm(rows, cols);
-- signal(SIGWINCH, term_size);
-+ term_size(0);
-+ if (!run_once) {
-+ initscr();
-+ resizeterm(rows, cols);
-+ signal(SIGWINCH, term_size);
-+ }
- signal(SIGINT, sigint_handler);
-
- do {
-@@ -340,13 +345,13 @@ int main(int argc, char *argv[])
- if (get_slabinfo(&slab_list, &stats))
- break;
-
-- if (old_rows != rows) {
-+ if (!run_once && old_rows != rows) {
- resizeterm(rows, cols);
- old_rows = rows;
- }
-
- move(0,0);
-- printw( " Active / Total Objects (%% used) : %d / %d (%.1f%%)\n"
-+ print_line( " Active / Total Objects (%% used) : %d / %d (%.1f%%)\n"
- " Active / Total Slabs (%% used) : %d / %d (%.1f%%)\n"
- " Active / Total Caches (%% used) : %d / %d (%.1f%%)\n"
- " Active / Total Size (%% used) : %.2fK / %.2fK (%.1f%%)\n"
-@@ -361,14 +366,14 @@ int main(int argc, char *argv[])
- slab_list = slabsort(slab_list);
-
- attron(A_REVERSE);
-- printw( "%6s %6s %4s %8s %6s %8s %10s %-23s\n",
-+ print_line( "%6s %6s %4s %8s %6s %8s %10s %-23s\n",
- "OBJS", "ACTIVE", "USE", "OBJ SIZE", "SLABS",
- "OBJ/SLAB", "CACHE SIZE", "NAME");
- attroff(A_REVERSE);
-
- curr = slab_list;
- for (i = 0; i < rows - 8 && curr->next; i++) {
-- printw("%6u %6u %3u%% %7.2fK %6u %8u %9uK %-23s\n",
-+ print_line("%6u %6u %3u%% %7.2fK %6u %8u %9uK %-23s\n",
- curr->nr_objs, curr->nr_active_objs, curr->use,
- curr->obj_size / 1024.0, curr->nr_slabs,
- curr->objs_per_slab, (unsigned)(curr->cache_size / 1024),
-@@ -376,22 +381,24 @@ int main(int argc, char *argv[])
- curr = curr->next;
- }
-
-- refresh();
- put_slabinfo(slab_list);
-
-- FD_ZERO(&readfds);
-- FD_SET(0, &readfds);
-- tv.tv_sec = delay;
-- tv.tv_usec = 0;
-- if (select(1, &readfds, NULL, NULL, &tv) > 0) {
-- if (read(0, &c, 1) != 1)
-- break;
-- parse_input(c);
-- }
-+ if (!run_once) {
-+ refresh();
-+ FD_ZERO(&readfds);
-+ FD_SET(0, &readfds);
-+ tv.tv_sec = delay;
-+ tv.tv_usec = 0;
-+ if (select(1, &readfds, NULL, NULL, &tv) > 0) {
-+ if (read(0, &c, 1) != 1)
-+ break;
-+ parse_input(c);
-+ }
-+ }
- } while (delay);
-
- tcsetattr(0, TCSAFLUSH, &saved_tty);
- free_slabinfo(slab_list);
-- endwin();
-+ if (!run_once) endwin();
- return 0;
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0002-free.1.patch b/patches/procps-3.2.8/0002-free.1.patch
deleted file mode 100644
index 14bcb0f..0000000
--- a/patches/procps-3.2.8/0002-free.1.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 5f41954db84ec43205b71f79a98c46d24d55cca9 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 02/70] free.1
-
----
- free.1 | 76 ++++++++++++++++++++++++++++++++++++++++-----------------------
- 1 files changed, 48 insertions(+), 28 deletions(-)
-
-diff --git a/free.1 b/free.1
-index 954c8d9..cae1241 100644
---- a/free.1
-+++ b/free.1
-@@ -1,47 +1,67 @@
- .\" -*-Nroff-*-
- .\" This page Copyright (C) 1993 Matt Welsh, mdw@sunsite.unc.edu.
- .\" Freely distributable under the terms of the GPL
--.TH FREE 1 "20 Mar 1993 " "Cohesive Systems" "Linux User's Manual"
-+.TH FREE 1 "5 Oct 2009 " "Cohesive Systems" "Linux User's Manual"
- .SH NAME
- free \- Display amount of free and used memory in the system
- .SH SYNOPSIS
--.BR "free " [ "\-b" " | " "\-k" " | " "\-m" "] [" "\-o" "] [" "\-s"
--.I delay
--.RB "] [" "\-t" "] [" "\-V" ]
-+.B free
-+.RB [ \-b | \-k | \-m | \-g ]
-+.RB [ \-c
-+.IR count ]
-+.RB [ \-l ]
-+.RB [ \-o ]
-+.RB [ \-t ]
-+.RB [ \-s
-+.IR delay ]
-+.RB [ \-V ]
- .SH DESCRIPTION
- \fBfree\fP displays the total amount of free and used physical and swap
- memory in the system, as well as the buffers used by the kernel.
- The shared memory column should be ignored; it is obsolete.
--.SS Options
--The \fB-b\fP switch displays the amount of memory in bytes; the
--\fB-k\fP switch (set by default) displays it in kilobytes; the \fB-m\fP
--switch displays it in megabytes.
--.PP
--The \fB-t\fP switch displays a line containing the totals.
--.PP
--The \fB-o\fP switch disables the display of a "buffer adjusted" line.
--If the -o option is not specified, \fBfree\fP subtracts buffer memory
--from the used memory and adds it to the free memory reported.
--.PP
--The \fB-s\fP switch activates continuous polling \fIdelay\fP seconds apart. You
-+.SS OPTIONS
-+.TP
-+\fB\-b\fR
-+Display the amount of memory in bytes.
-+.TP
-+\fB\-c\fR \fIcount\fR
-+Display the result \fIcount\fR times. Requires the \fB\-s\fR option.
-+.TP
-+\fB\-g\fR
-+Display the amount of memory in gigabytes.
-+.TP
-+\fB\-k\fR
-+Display the amount of memory in kilobytes. This is the default.
-+.TP
-+\fB\-l\fR
-+Show detailed low and high memory statistics.
-+.TP
-+\fB\-m\fR
-+Display the amount of memory in megabytes.
-+.TP
-+\fB\-o\fR
-+Display the output in old format, the only difference being this option
-+will disable the display of the "buffer adjusted" line.
-+.TP
-+\fB\-s\fR
-+Continuously display the result \fIdelay\fP seconds apart. You
- may actually specify any floating point number for \fIdelay\fP,
- .BR usleep (3)
- is used for microsecond resolution delay times.
--.PP
--The \fB\-V\fP displays version information.
-+.TP
-+\fB\-t\fR
-+Display a line showing the column totals.
-+.TP
-+\fB\-V\fR
-+Display version information.
- .SH FILES
--.ta
--.IR /proc/meminfo "\-\- memory information"
-+.nf
-+/proc/meminfo memory information
- .fi
--
--.SH "SEE ALSO"
--.BR ps (1),
--.BR slabtop (1),
--.BR vmstat (8),
--.BR top(1)
--
- .SH AUTHORS
- Written by Brian Edmonds.
-
- Send bug reports to <albert@users.sf.net>
--
-+.SH "SEE ALSO"
-+.BR ps "(1), " slabtop "(1), " top "(1), " vmstat (8).
-+.\"{{{}}}
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0003-output_sort_time.patch b/patches/procps-3.2.8/0003-output_sort_time.patch
deleted file mode 100644
index 91b4c45..0000000
--- a/patches/procps-3.2.8/0003-output_sort_time.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 42fd812b1fde2aa3c05cd67282f7cdfcf8f7e7b8 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 03/70] output_sort_time
-
-===================================================================
----
- ps/output.c | 29 +++++++++++++++++++++++------
- 1 files changed, 23 insertions(+), 6 deletions(-)
-
-diff --git a/ps/output.c b/ps/output.c
-index 87bf9de..b4fb3df 100644
---- a/ps/output.c
-+++ b/ps/output.c
-@@ -110,6 +110,20 @@ static int sr_ ## NAME (const proc_t* P, const proc_t* Q) { \
- return (int)(P->NAME) - (int)(Q->NAME); \
- }
-
-+#define cook_time(P) (P->utime + P->stime) / Hertz
-+
-+#define cook_etime(P) seconds_since_boot - (unsigned long)(P->start_time / Hertz)
-+
-+#define CMP_COOKED_TIME(NAME) \
-+static int sr_ ## NAME (const proc_t* P, const proc_t* Q) { \
-+ unsigned long p_time,q_time; \
-+ p_time=cook_ ##NAME (P); \
-+ q_time=cook_ ##NAME (Q); \
-+ if (p_time < q_time) return -1; \
-+ if (p_time > q_time) return 1; \
-+ return 0; \
-+}
-+
- CMP_INT(rtprio)
- CMP_SMALL(sched)
- CMP_INT(cutime)
-@@ -185,6 +199,9 @@ CMP_SMALL(pcpu)
-
- CMP_SMALL(state)
-
-+CMP_COOKED_TIME(time)
-+CMP_COOKED_TIME(etime)
-+
- /* approximation to: kB of address space that could end up in swap */
- static int sr_swapable(const proc_t* P, const proc_t* Q) {
- unsigned long p_swapable = P->vm_data + P->vm_stack;
-@@ -408,7 +425,7 @@ static int pr_etime(char *restrict const outbuf, const proc_t *restrict const pp
- unsigned long t;
- unsigned dd,hh,mm,ss;
- char *cp = outbuf;
-- t = seconds_since_boot - (unsigned long)(pp->start_time / Hertz);
-+ t = cook_etime(pp);
- ss = t%60;
- t /= 60;
- mm = t%60;
-@@ -476,7 +493,7 @@ static int pr_time(char *restrict const outbuf, const proc_t *restrict const pp)
- unsigned long t;
- unsigned dd,hh,mm,ss;
- int c;
-- t = (pp->utime + pp->stime) / Hertz;
-+ t = cook_time(pp);
- ss = t%60;
- t /= 60;
- mm = t%60;
-@@ -1286,7 +1303,7 @@ static const format_struct format_array[] = {
- {"alarm", "ALARM", pr_alarm, sr_alarm, 5, 0, LNX, AN|RIGHT},
- {"argc", "ARGC", pr_nop, sr_nop, 4, 0, LNX, PO|RIGHT},
- {"args", "COMMAND", pr_args, sr_cmd, 27, ARG, U98, PO|UNLIMITED}, /*command*/
--{"atime", "TIME", pr_time, sr_nop, 8, 0, SOE, ET|RIGHT}, /*cputime*/ /* was 6 wide */
-+{"atime", "TIME", pr_time, sr_time, 8, 0, SOE, ET|RIGHT}, /*cputime*/ /* was 6 wide */
- {"blocked", "BLOCKED", pr_sigmask, sr_nop, 9, 0, BSD, TO|SIGNAL}, /*sigmask*/
- {"bnd", "BND", pr_nop, sr_nop, 1, 0, AIX, TO|RIGHT},
- {"bsdstart", "START", pr_bsdstart, sr_nop, 6, 0, LNX, ET|RIGHT},
-@@ -1305,7 +1322,7 @@ static const format_struct format_array[] = {
- {"cp", "CP", pr_cp, sr_pcpu, 3, 0, DEC, ET|RIGHT}, /*cpu*/
- {"cpu", "CPU", pr_nop, sr_nop, 3, 0, BSD, AN|RIGHT}, /* FIXME ... HP-UX wants this as the CPU number for SMP? */
- {"cpuid", "CPUID", pr_psr, sr_nop, 5, 0, BSD, TO|RIGHT}, // OpenBSD: 8 wide!
--{"cputime", "TIME", pr_time, sr_nop, 8, 0, DEC, ET|RIGHT}, /*time*/
-+{"cputime", "TIME", pr_time, sr_time, 8, 0, DEC, ET|RIGHT}, /*time*/
- {"cstime", "-", pr_nop, sr_cstime, 1, 0, LNX, AN|RIGHT},
- {"ctid", "CTID", pr_nop, sr_nop, 5, 0, SUN, ET|RIGHT}, // resource contracts?
- {"cursig", "CURSIG", pr_nop, sr_nop, 6, 0, DEC, AN|RIGHT},
-@@ -1320,7 +1337,7 @@ static const format_struct format_array[] = {
- {"end_code", "E_CODE", pr_nop, sr_end_code, 8, 0, LNx, PO|RIGHT},
- {"environ","ENVIRONMENT",pr_nop, sr_nop, 11, ENV, LNx, PO|UNLIMITED},
- {"esp", "ESP", pr_esp, sr_kstk_esp, 8, 0, LNX, TO|RIGHT},
--{"etime", "ELAPSED", pr_etime, sr_nop, 11, 0, U98, ET|RIGHT}, /* was 7 wide */
-+{"etime", "ELAPSED", pr_etime, sr_etime, 11, 0, U98, ET|RIGHT}, /* was 7 wide */
- {"euid", "EUID", pr_euid, sr_euid, 5, 0, LNX, ET|RIGHT},
- {"euser", "EUSER", pr_euser, sr_euser, 8, USR, LNX, ET|USER},
- {"f", "F", pr_flag, sr_flags, 1, 0, XXX, ET|RIGHT}, /*flags*/
-@@ -1463,7 +1480,7 @@ static const format_struct format_array[] = {
- {"tdev", "TDEV", pr_nop, sr_nop, 4, 0, XXX, AN|RIGHT},
- {"thcount", "THCNT", pr_nlwp, sr_nlwp, 5, 0, AIX, PO|RIGHT},
- {"tid", "TID", pr_thread, sr_tid, 5, 0, AIX, TO|PIDMAX|RIGHT},
--{"time", "TIME", pr_time, sr_nop, 8, 0, U98, ET|RIGHT}, /*cputime*/ /* was 6 wide */
-+{"time", "TIME", pr_time, sr_time, 8, 0, U98, ET|RIGHT}, /*cputime*/ /* was 6 wide */
- {"timeout", "TMOUT", pr_nop, sr_nop, 5, 0, LNX, AN|RIGHT}, // 2.0.xx era
- {"tmout", "TMOUT", pr_nop, sr_nop, 5, 0, LNX, AN|RIGHT}, // 2.0.xx era
- {"tname", "TTY", pr_tty8, sr_tty, 8, 0, DEC, PO|LEFT},
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0004-pmap.1.patch b/patches/procps-3.2.8/0004-pmap.1.patch
deleted file mode 100644
index c47f1c4..0000000
--- a/patches/procps-3.2.8/0004-pmap.1.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 2dc52f7e8cd2779504b9d2d361c25144695e65b5 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 04/70] pmap.1
-
-===================================================================
----
- pmap.1 | 24 ++++++++++++++----------
- 1 files changed, 14 insertions(+), 10 deletions(-)
-
-diff --git a/pmap.1 b/pmap.1
-index a91d0e8..de03e87 100644
---- a/pmap.1
-+++ b/pmap.1
-@@ -10,25 +10,29 @@
- pmap \- report memory map of a process
-
- .SH SYNOPSIS
--.nf
--pmap [ -x | -d ] [ -q ] pids...
--pmap -V
--.fi
-+.B pmap
-+.RB [ \-x | \-d ]
-+.RB [ \-q ]
-+.I pid
-+\& ...
-+.br
-+.B pmap \-V
-
- .SH DESCRIPTION
- The pmap command reports the memory map of a process or processes.
-
- .SH "GENERAL OPTIONS"
- .TS
--l l l.
---x extended Show the extended format.
---d device Show the device format.
---q quiet Do not display some header/footer lines.
---V show version Displays version of program.
-+lB l l.
-+\-x extended Show the extended format.
-+\-d device Show the device format.
-+\-q quiet Do not display some header/footer lines.
-+\-V show version Displays version of program.
- .TE
-
- .SH "SEE ALSO"
--ps(1) pgrep(1)
-+.BR ps(1),
-+.BR pgrep(1)
-
- .SH STANDARDS
- No standards apply, but pmap looks an awful lot like a SunOS command.
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0005-10_ps.1.patch b/patches/procps-3.2.8/0005-10_ps.1.patch
deleted file mode 100644
index 6cc3657..0000000
--- a/patches/procps-3.2.8/0005-10_ps.1.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From bc20fbffd9fd7f94ef02ad570dd697c4b6b75a16 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 05/70] 10_ps.1
-
-pri field explained
---no-heading comment is an alias for --no-headers
-Removed setproctitle(1) reference
-Bug-Debian: http://bugs.debian.org/465761
-Bug-Debian: http://bugs.debian.org/529045
----
- ps/ps.1 | 17 ++++++++---------
- 1 files changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/ps/ps.1 b/ps/ps.1
-index 64953d5..0f896bf 100644
---- a/ps/ps.1
-+++ b/ps/ps.1
-@@ -18,19 +18,13 @@
- .nh
- .if n .ss 12 0
- .\"
--.\" See /usr/share/groff/current/tmac/an-old.tmac for what these do.
--.\" Setting them to zero provides extra space, but only do that for
--.\" plain text output. PostScript and such will remain indented.
--.if n .nr IN 0n
--.if n .nr an-prevailing-indent 0n
--.\"
- .\"
- .\" ColSize is used for the format spec table.
- .\" It's the left margin, minus the right, minus
- .\" the space needed for the 1st two columns.
- .\" Making it messy: inches, ens, points, scaled points...
- .\"
--.nr ColSize ((\n(.lu-\n(.iu/\n(.Hu-20u)n)
-+.nr ColSize ((\n(.lu-\n(.iu/\n(.Hu-26u)n)
- .\"
- .\" This is for command options
- .nr OptSize (16u)
-@@ -499,7 +493,7 @@ parent process repeatedly forks off short\-lived children to do work.
- .opt c
- Show the true command name. This is derived from the name of the
- executable file, rather than from the argv value. Command arguments
--and any modifications to them (see\ \fIsetproctitle\fR(3)) are
-+and any modifications to them are
- thus not shown. This option
- effectively turns the \fBargs\fR format keyword into the \fBcomm\fR
- format keyword; it is useful with the \fB\-f\fR format option and with
-@@ -588,7 +582,8 @@ ASCII art process tree
- repeat header lines, one per page of output
-
- .opt \-\-no\-headers
--print no header line at all
-+print no header line at all. \-\-no\-heading is an alias for this
-+option.
-
- .opt \-\-lines \ n
- set screen height
-@@ -1159,6 +1154,10 @@ ppid PPID T{
- parent process ID.
- T}
-
-+pri PRI T{
-+priority of the process. Higher number means lower priority
-+T}
-+
- psr PSR T{
- processor that process is currently assigned to.
- T}
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0006-skill.1.patch b/patches/procps-3.2.8/0006-skill.1.patch
deleted file mode 100644
index 3896e5b..0000000
--- a/patches/procps-3.2.8/0006-skill.1.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 25e97f620d09a704305bd42042f69b76c58cd64a Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 06/70] skill.1
-
-===================================================================
----
- skill.1 | 63 ++++++++++++++++++++++++++++++++++-----------------------------
- 1 files changed, 34 insertions(+), 29 deletions(-)
-
-diff --git a/skill.1 b/skill.1
-index a4fc274..a56b969 100644
---- a/skill.1
-+++ b/skill.1
-@@ -11,37 +11,38 @@
- skill, snice \- send a signal or report process status
-
- .SH SYNOPSIS
--.nf
--skill [signal to send] [options] process selection criteria
--snice [new priority] [options] process selection criteria
--.fi
-+.B skill
-+.RI [ "signal to send" ]
-+.RI [ options ]
-+.I process selection criteria
-+.br
-+.B snice
-+.RI [ "new priority" ]
-+.RI [ options ]
-+.I process selection criteria
-
- .SH DESCRIPTION
- These tools are probably obsolete and unportable. The command
- syntax is poorly defined. Consider using the killall, pkill,
- and pgrep commands instead.
-
--The default signal for skill is TERM. Use -l or -L to list available signals.
-+The default signal for skill is TERM. Use \-l or \-L to list available signals.
- Particularly useful signals include HUP, INT, KILL, STOP, CONT, and 0.
--Alternate signals may be specified in three ways: -9 -SIGKILL -KILL.
-+Alternate signals may be specified in three ways: \-9 \-SIGKILL \-KILL.
-
- The default priority for snice is +4. (snice +4 ...)
--Priority numbers range from +20 (slowest) to -20 (fastest).
-+Priority numbers range from +20 (slowest) to \-20 (fastest).
- Negative priority numbers are restricted to administrative users.
-
- .SH "GENERAL OPTIONS"
- .TS
--l l l.
---f fast mode This is not currently useful.
---i interactive use T{
--You will be asked to approve each action.
--T}
---v verbose output T{
--Display information about selected processes.
--T}
---w warnings enabled This is not currently useful.
---n no action This only displays the process ID.
---V show version Displays version of program.
-+lB l l.
-+\-f fast mode This is not currently useful.
-+\-i interactive use You will be asked to approve each action.
-+\-v verbose output Display information about selected processes.
-+\-w warnings enabled This is not currently useful.
-+\-n no action This only displays the process ID.
-+\-V show version Displays version of program.
- .TE
-
- .SH "PROCESS SELECTION OPTIONS"
-@@ -49,11 +50,11 @@ Selection criteria can be: terminal, user, pid, command.
- The options below may be used to ensure correct interpretation.
- Do not blame Albert for this interesting interface.
- .TS
--l l.
---t The next argument is a terminal (tty or pty).
---u The next argument is a username.
---p The next argument is a process ID number.
---c The next argument is a command name.
-+lB l.
-+\-t The next argument is a terminal (tty or pty).
-+\-u The next argument is a username.
-+\-p The next argument is a process ID number.
-+\-c The next argument is a command name.
- .TE
-
- .SH SIGNALS
-@@ -63,7 +64,6 @@ When known, numbers and default behavior are shown.
- lB rB lB lB
- lfCW r l l.
- Name Num Action Description
--.TH
- 0 0 n/a exit code indicates if a signal may be sent
- ALRM 14 exit
- HUP 1 exit
-@@ -104,15 +104,20 @@ XFSZ core core dump may fail
- lB lB
- lfCW l.
- Command Description
--.TC
- snice seti crack +7 Slow down seti and crack
--skill -KILL -v /dev/pts/* Kill users on new-style PTY devices
--skill -STOP viro lm davem Stop 3 users
--snice -17 root bash Give priority to root's shell
-+skill \-KILL \-v /dev/pts/* Kill users on new-style PTY devices
-+skill \-STOP viro lm davem Stop 3 users
-+snice \-17 root bash Give priority to root's shell
- .TE
-
- .SH "SEE ALSO"
--killall(1) pkill(1) kill(1) renice(1) nice(1) signal(7) kill(2)
-+.BR killall (1),
-+.BR pkill (1),
-+.BR kill (1),
-+.BR renice (1),
-+.BR nice(1),
-+.BR kill(2),
-+.BR signal(7)
-
- .SH STANDARDS
- No standards apply.
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0007-skill_perror.patch b/patches/procps-3.2.8/0007-skill_perror.patch
deleted file mode 100644
index c38ca2b..0000000
--- a/patches/procps-3.2.8/0007-skill_perror.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 680328798808b3d7201341a63e00c89e9d1bdb1a Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 07/70] skill_perror
-
-===================================================================
----
- skill.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/skill.c b/skill.c
-index 96cc386..54d4c48 100644
---- a/skill.c
-+++ b/skill.c
-@@ -317,6 +317,7 @@ no_more_args:
- // The standard says we return non-zero if an error occurs. Thus if
- // killing two processes gives 0 for one and EPERM for the other,
- // we are required to return both zero and non-zero. Quantum kill???
-+ perror("kill");
- exitvalue = 1;
- continue;
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0008-slabtop_1.patch b/patches/procps-3.2.8/0008-slabtop_1.patch
deleted file mode 100644
index 2b62492..0000000
--- a/patches/procps-3.2.8/0008-slabtop_1.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 1900641c9966032ac791bfb53f045c5c298b6d32 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 08/70] slabtop_1
-
-===================================================================
----
- slabtop.1 | 35 ++++++++++++++++++++---------------
- 1 files changed, 20 insertions(+), 15 deletions(-)
-
-diff --git a/slabtop.1 b/slabtop.1
-index 11f277e..7e27980 100644
---- a/slabtop.1
-+++ b/slabtop.1
-@@ -7,36 +7,39 @@
- slabtop \- display kernel slab cache information in real time
-
- .SH SYNOPSIS
--.BI "slabtop [ " options " ] "
-+.B slabtop
-+.RI [ options ]
-
- .SH DESCRIPTION
--.BR slabtop (1)
-+.B slabtop
- displays detailed kernel slab cache information in real time. It displays a
- listing of the top caches sorted by one of the listed sort criteria. It also
- displays a statistics header filled with slab layer information.
-
- .SH OPTIONS
- Normal invocation of
--.BR slabtop (1)
-+.B slabtop
- does not require any options. The behavior, however, can be fine-tuned by
- specifying one or more of the following flags:
- .TP
--.B \-\^\-delay=n, \-d n
--Refresh the display every n seconds. By default,
--.BR slabtop (1)
-+.B \-\-delay=\fIn\fR, \fB\-d \fIn
-+Refresh the display every
-+.I n
-+in seconds. By default,
-+.B slabtop
- refreshes the display every three seconds. To exit the program, hit
- .BR q.
- .TP
--.B \-\^\-sort=S, \-s S
--Sort by S, where S is one of the sort criteria.
-+.B \-\-sort=\fIS\fR, \fB\-s\fR \fIS
-+Sort by \fIS\fR, where \fIS\fR is one of the sort criteria.
- .TP
--.B \-\^\-once, \-o
-+.B \-\-once\fR, \fB\-o
- Display the output once and then exit.
- .TP
--.B \-\^\-version, \-V
-+.B \-\-version\fR, \fB\-V
- Display version information and exit.
- .TP
--.B \-\^\-help
-+.B \-\-help
- Display usage information and exit.
-
- .SH SORT CRITERIA
-@@ -78,7 +81,7 @@ sort by object size
- sort by cache utilization
-
- .SH COMMANDS
--.BR slabtop (1)
-+.B slabtop
- accepts keyboard commands from the user during use. The following are
- supported. In the case of letters, both cases are accepted.
-
-@@ -94,7 +97,9 @@ Refresh the screen.
- Quit the program.
-
- .SH FILES
--.IR /proc/slabinfo " \-\- slab information"
-+.TP
-+.I /proc/slabinfo
-+slab information
-
- .SH "SEE ALSO"
- .BR free (1),
-@@ -104,7 +109,7 @@ Quit the program.
-
- .SH NOTES
- Currently,
--.BR slabtop (1)
-+.B slabtop
- requires a 2.4 or later kernel (specifically, a version 1.1 or later
- .IR /proc/slabinfo ).
- Kernel 2.2 should be supported in the future.
-@@ -116,7 +121,7 @@ file is tracking information about used slab physical memory.
- .SH AUTHORS
- Written by Chris Rivera and Robert Love.
-
--.BR slabtop (1)
-+.B slabtop
- was inspired by Martin Bligh's perl script,
- .BR vmtop .
- The procps package is maintained by Albert Cahalan <albert@users.sf.net>.
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0009-sysctl.8.patch b/patches/procps-3.2.8/0009-sysctl.8.patch
deleted file mode 100644
index 73322e4..0000000
--- a/patches/procps-3.2.8/0009-sysctl.8.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From 9dc2b36cc4ac6e49f0eeb2cc701376a7ce33fa13 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 09/70] sysctl.8
-
-cleanup sysctl man page
-Bug-Debian: http://bugs.debian.org/297144
-Bug-Debian: http://bugs.debian.org/282168
----
- sysctl.8 | 90 ++++++++++++++++++++++++++++++++++++++++++--------------------
- 1 files changed, 61 insertions(+), 29 deletions(-)
-
-diff --git a/sysctl.8 b/sysctl.8
-index e26c4fb..3bb46d7 100644
---- a/sysctl.8
-+++ b/sysctl.8
-@@ -10,76 +10,108 @@
- .SH NAME
- sysctl \- configure kernel parameters at runtime
- .SH SYNOPSIS
--.B "sysctl [-n] [-e] variable ..."
-+.B sysctl
-+.RB [ \-n ]
-+.RB [ \-e ]
-+.I variable
-+\&...
- .br
--.B "sysctl [-n] [-e] [-q] -w variable=value ..."
-+.B sysctl
-+.RB [ \-n ]
-+.RB [ \-e ]
-+.RB [ \-q ]
-+.B \-w
-+.IR variable = value
-+\&...
- .br
--.B "sysctl [-n] [-e] [-q] -p <filename>"
-+.B sysctl
-+.RB [ \-n ]
-+.RB [ \-e ]
-+.RB [ \-q ]
-+.B \-p
-+.RI [ filename ]
- .br
--.B "sysctl [-n] [-e] -a"
-+.B sysctl
-+.RB [ \-n ]
-+.RB [ \-e ]
-+.B \-a
- .br
--.B "sysctl [-n] [-e] -A"
-+.B sysctl
-+.RB [ \-n ]
-+.RB [ \-e ]
-+.B \-A
- .SH DESCRIPTION
- .B sysctl
- is used to modify kernel parameters at runtime. The parameters available
- are those listed under /proc/sys/. Procfs is required for
--.B sysctl(8)
-+.B sysctl
- support in Linux. You can use
--.B sysctl(8)
-+.B sysctl
- to both read and write sysctl data.
- .SH PARAMETERS
- .TP
--.B "variable"
-+.I variable
- The name of a key to read from. An example is kernel.ostype. The '/'
- separator is also accepted in place of a '.'.
- .TP
--.B "variable=value"
--To set a key, use the form variable=value, where variable is the key and
--value is the value to set it to. If the value contains quotes or characters
-+.IR variable = value
-+To set a key, use the form
-+.IR variable = value
-+where
-+.I variable
-+is the key and
-+.I value
-+is the value to set it to. If the value contains quotes or characters
- which are parsed by the shell, you may need to enclose the value in double
--quotes. This requires the -w parameter to use.
-+quotes. This requires the
-+.B \-w
-+parameter to use.
- .TP
--.B "-n"
-+.B \-n
- Use this option to disable printing of the key name when printing values.
- .TP
--.B "-e"
-+.B \-e
- Use this option to ignore errors about unknown keys.
- .TP
--.B "-N"
-+.B \-N
- Use this option to only print the names. It may be useful with shells that
- have programmable completion.
- .TP
--.B "-q"
-+.B \-q
- Use this option to not display the values set to stdout.
- .TP
--.B "-w"
-+.B \-w
- Use this option when you want to change a sysctl setting.
- .TP
--.B "-p"
-+.B \-p
- Load in sysctl settings from the file specified or /etc/sysctl.conf if none given.
- Specifying \- as filename means reading data from standard input.
- .TP
--.B "-a"
-+.B \-a
- Display all values currently available.
- .TP
--.B "-A"
-+.B \-A
- Display all values currently available in table form.
- .SH EXAMPLES
--.TP
--/sbin/sysctl -a
--.TP
--/sbin/sysctl -n kernel.hostname
--.TP
--/sbin/sysctl -w kernel.domainname="example.com"
--.TP
--/sbin/sysctl -p /etc/sysctl.conf
-+/sbin/sysctl \-a
-+.br
-+/sbin/sysctl \-n kernel.hostname
-+.br
-+/sbin/sysctl \-w kernel.domainname="example.com"
-+.br
-+/sbin/sysctl \-p /etc/sysctl.conf
- .SH FILES
- .I /proc/sys
-+.br
- .I /etc/sysctl.conf
- .SH SEE ALSO
- .BR sysctl.conf (5)
- .SH BUGS
--The -A parameter behaves just as -a does.
-+The
-+.B \-A
-+parameter behaves just as
-+.B \-a
-+does.
- .SH AUTHOR
- George Staikos, <staikos@0wned.org>
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0010-sysctl_options.patch b/patches/procps-3.2.8/0010-sysctl_options.patch
deleted file mode 100644
index ae896ce..0000000
--- a/patches/procps-3.2.8/0010-sysctl_options.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 70cba9b7a33e2ce32045324b3fbe8fa901cfe9d2 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 10/70] sysctl_options
-
-===================================================================
----
- sysctl.c | 12 ++++++++++--
- 1 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/sysctl.c b/sysctl.c
-index 1470df9..4024f71 100644
---- a/sysctl.c
-+++ b/sysctl.c
-@@ -421,6 +421,7 @@ int main(int argc, char *argv[]) {
- const char *me = (const char *)basename(argv[0]);
- bool SwitchesAllowed = true;
- bool WriteMode = false;
-+ bool DisplayAllOpt = false;
- int ReturnCode = 0;
- const char *preloadfile = DEFAULT_PRELOAD;
-
-@@ -486,8 +487,8 @@ int main(int argc, char *argv[]) {
- case 'a': // string and integer values (for Linux, all of them)
- case 'A': // same as -a -o
- case 'X': // same as -a -x
-- SwitchesAllowed = false;
-- return DisplayAll(PROC_PATH);
-+ DisplayAllOpt = true;
-+ break;
- case 'V':
- fprintf(stdout, "sysctl (%s)\n",procps_version);
- exit(0);
-@@ -502,6 +503,8 @@ int main(int argc, char *argv[]) {
- } else {
- if (NameOnly && Quiet) // nonsense
- return Usage(me);
-+ if (DisplayAllOpt) // We cannot have values with -a
-+ return Usage(me);
- SwitchesAllowed = false;
- if (WriteMode || index(*argv, '='))
- ReturnCode = WriteSetting(*argv);
-@@ -509,6 +512,11 @@ int main(int argc, char *argv[]) {
- ReturnCode = ReadSetting(*argv);
- }
- }
-+ if (DisplayAllOpt) {
-+ if (Quiet)
-+ return Usage(me);
-+ return DisplayAll(PROC_PATH);
-+ }
-
- return ReturnCode;
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0011-tload.1.patch b/patches/procps-3.2.8/0011-tload.1.patch
deleted file mode 100644
index abee2e8..0000000
--- a/patches/procps-3.2.8/0011-tload.1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 151b90caee59a7e1d4d5cf3cd6c38515e0cdac21 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 11/70] tload.1
-
-===================================================================
----
- tload.1 | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/tload.1 b/tload.1
-index ef82b01..8ec8c43 100644
---- a/tload.1
-+++ b/tload.1
-@@ -39,7 +39,7 @@ The
- .BI "\-d" " delay"
- option sets the time argument for an
- .BR alarm (2);
--if -d 0 is specified, the alarm is set to 0, which will never send the
-+if \-d 0 is specified, the alarm is set to 0, which will never send the
- .B SIGALRM
- and update the display.
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0012-top_irix.patch b/patches/procps-3.2.8/0012-top_irix.patch
deleted file mode 100644
index 334798e..0000000
--- a/patches/procps-3.2.8/0012-top_irix.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 8d8c23f4cae6eb9de188d7261a23adff0b14954c Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 12/70] top_irix
-
-===================================================================
----
- top.c | 15 +++++++++++++--
- 1 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/top.c b/top.c
-index 6d4a7cc..c7e7553 100644
---- a/top.c
-+++ b/top.c
-@@ -1783,7 +1783,8 @@ static void configs_read (void)
- confighlp(Winstk[i].rc.fieldscur);
- }
-
-- if(Rc.mode_irixps && smp_num_cpus>1){
-+ if(Rc.mode_irixps && smp_num_cpus>1 &&
-+ !(CHKw(Curwin, Show_THREADS))) {
- // good for 100 CPUs per process
- pcpu_max_value = 9999.0;
- Fieldstab[P_CPU].fmts = " %4.0f";
-@@ -2570,6 +2571,15 @@ static void do_key (unsigned c)
- case 'H':
- if (VIZCHKc) {
- TOGw(Curwin, Show_THREADS);
-+ if(Rc.mode_irixps && smp_num_cpus>1 &&
-+ !(CHKw(Curwin, Show_THREADS))){
-+ // good for 100 CPUs per process
-+ pcpu_max_value = 9999.0;
-+ Fieldstab[P_CPU].fmts = " %4.0f";
-+ } else {
-+ pcpu_max_value = 99.9;
-+ Fieldstab[P_CPU].fmts = " %#4.1f";
-+ }
- show_msg(fmtmk("Show threads %s"
- , CHKw(Curwin, Show_THREADS) ? "On" : "Off"));
- }
-@@ -2626,7 +2636,8 @@ static void do_key (unsigned c)
- Rc.mode_irixps = !Rc.mode_irixps;
- show_msg(fmtmk("Irix mode %s", Rc.mode_irixps ? "On" : "Off"));
- #endif
-- if(Rc.mode_irixps && smp_num_cpus>1){
-+ if(Rc.mode_irixps && smp_num_cpus>1 &&
-+ !(CHKw(Curwin, Show_THREADS))){
- // good for 100 CPUs per process
- pcpu_max_value = 9999.0;
- Fieldstab[P_CPU].fmts = " %4.0f";
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0013-top_no_openproc.patch b/patches/procps-3.2.8/0013-top_no_openproc.patch
deleted file mode 100644
index 4b953ed..0000000
--- a/patches/procps-3.2.8/0013-top_no_openproc.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 9b25ed7c35e2c33e585b893052bcf6d8283b5eca Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 13/70] top_no_openproc
-
-===================================================================
----
- top.c | 6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/top.c b/top.c
-index c7e7553..72056a1 100644
---- a/top.c
-+++ b/top.c
-@@ -1106,6 +1106,12 @@ static proc_t **procs_refresh (proc_t **table, int flags)
- else
- PT = openproc(flags);
-
-+ if (PT==NULL) {
-+ std_err(strerror(errno));
-+ exit(1);
-+ }
-+
-+
- // i) Allocated Chunks: *Existing* table; refresh + reuse
- if (!(CHKw(Curwin, Show_THREADS))) {
- while (curmax < savmax) {
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0014-top_stdin_eof.patch b/patches/procps-3.2.8/0014-top_stdin_eof.patch
deleted file mode 100644
index e09a1e4..0000000
--- a/patches/procps-3.2.8/0014-top_stdin_eof.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 694d025649a5536d0d30ed6e91d0a87ec85dc7aa Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 14/70] top_stdin_eof
-
-===================================================================
----
- top.c | 5 ++---
- 1 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/top.c b/top.c
-index 72056a1..beaca0a 100644
---- a/top.c
-+++ b/top.c
-@@ -3408,9 +3408,8 @@ int main (int dont_care_argc, char *argv[])
- // check 1st, in case tv zeroed (by sig handler) before it got set
- rc = chin(0, &c, 1);
- if (rc <= 0) {
-- // EOF is pretty much a "can't happen" except for a kernel bug.
-- // We should quickly die via SIGHUP, and thus not spin here.
-- // if (rc == 0) end_pgm(0); /* EOF from terminal */
-+ if (rc == 0) end_pgm(0); /* EOF from terminal, may happen if top
-+ * erroneously gets detached from it. */
- fcntl(STDIN_FILENO, F_SETFL, file_flags);
- select(1, &fs, NULL, NULL, &tv);
- fcntl(STDIN_FILENO, F_SETFL, O_NONBLOCK|file_flags);
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0015-top_uid_length.patch b/patches/procps-3.2.8/0015-top_uid_length.patch
deleted file mode 100644
index de5a0ff..0000000
--- a/patches/procps-3.2.8/0015-top_uid_length.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 2bd08f4ab9b3e6b5dcd1a0d7d7dfd25a5355bc92 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 15/70] top_uid_length
-
-===================================================================
----
- top.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/top.c b/top.c
-index beaca0a..53cab05 100644
---- a/top.c
-+++ b/top.c
-@@ -1237,7 +1237,7 @@ static FLD_t Fieldstab[] = {
- { "AaAa", " PID", " %5u", -1, -1, SF(PID), "Process Id", L_NONE },
- { "BbBb", " PPID", " %5u", -1, -1, SF(PPD), "Parent Process Pid", L_EITHER },
- { "CcQq", " RUSER ", " %-8.8s", -1, -1, SF(URR), "Real user name", L_RUSER },
-- { "DdCc", " UID", " %4u", -1, -1, SF(UID), "User Id", L_NONE },
-+ { "DdCc", " UID", " %5u", -1, -1, SF(UID), "User Id", L_NONE },
- { "EeDd", " USER ", " %-8.8s", -1, -1, SF(URE), "User Name", L_EUSER },
- { "FfNn", " GROUP ", " %-8.8s", -1, -1, SF(GRP), "Group Name", L_GROUP },
- { "GgGg", " TTY ", " %-8.8s", 8, -1, SF(TTY), "Controlling Tty", L_stat },
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0016-uptime.1.patch b/patches/procps-3.2.8/0016-uptime.1.patch
deleted file mode 100644
index 9c2da06..0000000
--- a/patches/procps-3.2.8/0016-uptime.1.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From b79e4c42592ff040817fd722c6083b2ebe40c289 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 16/70] uptime.1
-
-===================================================================
----
- uptime.1 | 23 ++++++++++++++++++-----
- 1 files changed, 18 insertions(+), 5 deletions(-)
-
-diff --git a/uptime.1 b/uptime.1
-index 3aae739..a3da7c7 100644
---- a/uptime.1
-+++ b/uptime.1
-@@ -6,7 +6,8 @@ uptime \- Tell how long the system has been running.
- .SH SYNOPSIS
- .B uptime
- .br
--.BR uptime " [" "\-V" ]
-+.B uptime
-+.RB [ \-V ]
- .SH DESCRIPTION
- .B uptime
- gives a one line display of the following information.
-@@ -14,13 +15,25 @@ The current time,
- how long the system has been running,
- how many users are currently logged on,
- and the system load averages for the past 1, 5, and 15 minutes.
--.sp
-+
- This is the same information contained in the header line displayed by
- .BR w (1).
-+.sp
-+System load averages is the average number of processes that are either
-+in a runnable or uninterruptable state. A process in a runnable state is
-+either using the CPU or waiting to use the CPU. A process in
-+uninterruptable state is waiting for some I/O access, eg waiting for
-+disk. The averages are taken over the three time intervals.
-+Load averages are not normalized for the number of CPUs in a system, so
-+a load average of 1 means a single CPU system is loaded all the time
-+while on a 4 CPU system it means it was idle 75% of the time.
- .SH FILES
--.IR /var/run/utmp " information about who is currently logged on"
--.br
--.IR /proc " process information"
-+.TP
-+.I /var/run/utmp
-+information about who is currently logged on
-+.TP
-+.I /proc
-+process information
- .SH AUTHORS
- .B uptime
- was written by Larry Greenfield <greenfie@gauss.rutgers.edu> and
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0017-vmstat.8.patch b/patches/procps-3.2.8/0017-vmstat.8.patch
deleted file mode 100644
index af404a7..0000000
--- a/patches/procps-3.2.8/0017-vmstat.8.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From e0d2fe1828af05117a04e167cf77a26f7dcf1209 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 17/70] vmstat.8
-
-Removes pslab as it doesnt appear
----
- vmstat.8 | 37 ++++++++++++++++++++-----------------
- 1 files changed, 20 insertions(+), 17 deletions(-)
-
-diff --git a/vmstat.8 b/vmstat.8
-index c059ec0..c97826f 100644
---- a/vmstat.8
-+++ b/vmstat.8
-@@ -1,6 +1,6 @@
- .\" This page Copyright (C) 1994 Henry Ware <al172@yfn.ysu.edu>
- .\" Distributed under the GPL, Copyleft 1994.
--.TH VMSTAT 8 "27 July 1994 " "Throatwobbler Ginkgo Labs" "Linux Administrator's Manual"
-+.TH VMSTAT 8 "2009 Jan 9" "Throatwobbler Ginkgo Labs" "Linux Administrator's Manual"
- .SH NAME
- vmstat \- Report virtual memory statistics
- .SH SYNOPSIS
-@@ -22,32 +22,35 @@ vmstat \- Report virtual memory statistics
- .RB [ "\-d"]
- .br
- .B vmstat
-+.RB [ "\-D"]
-+.br
-+.B vmstat
- .RB [ "\-p disk partition"]
- .br
- .B vmstat
- .RB [ "\-V" ]
- .SH DESCRIPTION
- \fBvmstat\fP reports information about processes, memory, paging,
--block IO, traps, and cpu activity.
-+block IO, traps, disks and cpu activity.
-
- The first report produced gives averages since the last reboot. Additional
- reports give information on a sampling period of length \fIdelay\fP.
- The process and memory reports are instantaneous in either case.
-
- .SS Options
--The \fB-a\fP switch displays active/inactive memory, given a 2.5.41 kernel or better.
-+The \fB\-a\fP switch displays active/inactive memory, given a 2.5.41 kernel or better.
- .PP
--The \fB-f\fP switch displays the number of forks since boot.
-+The \fB\-f\fP switch displays the number of forks since boot.
- This includes the fork, vfork, and clone system calls, and is
- equivalent to the total number of tasks created. Each process
- is represented by one or more tasks, depending on thread usage.
- This display does not repeat.
- .PP
--The \fB-m\fP displays slabinfo.
-+The \fB\-m\fP displays slabinfo.
- .PP
--The \fB-n\fP switch causes the header to be displayed only once rather than periodically.
-+The \fB\-n\fP switch causes the header to be displayed only once rather than periodically.
- .PP
--The \fB-s\fP switch displays a table of various event counters
-+The \fB\-s\fP switch displays a table of various event counters
- and memory statistics. This display does not repeat.
- .PP
- .I delay
-@@ -58,13 +61,15 @@ only one report is printed with the average values since boot.
- is the number of updates. If no count is specified and delay is
- defined, \fIcount\fP defaults to infinity.
- .PP
--The \fB-d\fP reports disk statistics (2.5.70 or above required)
-+The \fB\-d\fP reports disk statistics (2.5.70 or above required)
-+.PP
-+The \fB-D\fP reports some summary statistics about disk activity.
- .PP
--The \fB-p\fP followed by some partition name for detailed statistics (2.5.70 or above required)
-+The \fB\-p\fP followed by some partition name for detailed statistics (2.5.70 or above required)
- .PP
--The \fB-S\fP followed by k or K or m or M switches outputs between 1000, 1024, 1000000, or 1048576 bytes
-+The \fB\-S\fP followed by k or K or m or M switches outputs between 1000, 1024, 1000000, or 1048576 bytes
- .PP
--The \fB-V\fP switch results in displaying version information.
-+The \fB\-V\fP switch results in displaying version information.
- .PP
- .SH FIELD DESCRIPTION FOR VM MODE
- .SS
-@@ -81,8 +86,8 @@ swpd: the amount of virtual memory used.
- free: the amount of idle memory.
- buff: the amount of memory used as buffers.
- cache: the amount of memory used as cache.
--inact: the amount of inactive memory. (-a option)
--active: the amount of active memory. (-a option)
-+inact: the amount of inactive memory. (\-a option)
-+active: the amount of active memory. (\-a option)
- .fi
- .PP
- .SS
-@@ -110,9 +115,9 @@ cs: The number of context switches per second.
- .B "CPU "
- These are percentages of total CPU time.
- .nf
--us: Time spent running non-kernel code. (user time, including nice time)
-+us: Time spent running non\-kernel code. (user time, including nice time)
- sy: Time spent running kernel code. (system time)
--id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
-+id: Time spent idle. Prior to Linux 2.5.41, this includes IO\-wait time.
- wa: Time spent waiting for IO. Prior to Linux 2.5.41, included in idle.
- st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
-
-@@ -161,8 +166,6 @@ num: Number of currently active objects
- total: Total number of available objects
- size: Size of each object
- pages: Number of pages with at least one active object
--totpages: Total number of allocated pages
--pslab: Number of pages per slab
- .fi
-
- .SH NOTES
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0018-watch.1.patch b/patches/procps-3.2.8/0018-watch.1.patch
deleted file mode 100644
index 43a7901..0000000
--- a/patches/procps-3.2.8/0018-watch.1.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 61e92daf921b7a85ac8693341f8890658c61f047 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 18/70] watch.1
-
-===================================================================
----
- watch.1 | 47 ++++++++++++++++++++++++++++-------------------
- 1 files changed, 28 insertions(+), 19 deletions(-)
-
-diff --git a/watch.1 b/watch.1
-index 41323f4..1616794 100644
---- a/watch.1
-+++ b/watch.1
-@@ -1,45 +1,54 @@
--.TH WATCH 1 "1999 Apr 3" " " "Linux User's Manual"
-+.TH WATCH 1 "2009 May 11" " " "Linux User's Manual"
- .SH NAME
- watch \- execute a program periodically, showing output fullscreen
- .SH SYNOPSIS
-+.na
- .B watch
--.I [\-dhvt] [\-n <seconds>] [\-\-differences[=cumulative]] [\-\-help] [\-\-interval=<seconds>] [\-\-no\-title] [\-\-version] <command>
-+.RB [ \-dhvt ]
-+.RB [ \-n
-+.IR seconds ]
-+.RB [ \-\-differences[=\fIcumulative\fP]]
-+.RB [ \-\-help ]
-+.RB [ \-\-interval=\fIseconds\fP]
-+.RB [ \-\-no\-title ]
-+.RB [ \-\-version ]
-+.I command
- .SH DESCRIPTION
--.BR watch
-+.B watch
- runs
- .I command
- repeatedly, displaying its output (the first screenfull). This allows you to
- watch the program output change over time. By default, the program is run
- every 2 seconds; use
--.I -n
-+.B \-n
- or
--.I --interval
-+.B \-\-interval
- to specify a different interval.
- .PP
- The
--.I -d
-+.B \-d
- or
--.I --differences
--flag will highlight the differences between successive updates. The
--.I --cumulative
--option makes highlighting "sticky", presenting a running display of all
-+.B \-\-differences
-+flag will highlight the differences between successive updates. Using
-+.B \-\-differences=\fIcumulative\fP
-+makes highlighting "sticky", presenting a running display of all
- positions that have ever changed. The
--.I -t
-+.B \-t
- or
--.I --no-title
-+.B \-\-no\-title
- option turns off the header showing the interval, command, and current
- time at the top of the display, as well as the following blank line.
- .PP
--.BR watch
-+.B watch
- will run until interrupted.
- .SH NOTE
- Note that
- .I command
--is given to "sh -c"
-+is given to "sh \-c"
- which means that you may need to use extra quoting to get the desired effect.
- .PP
- Note that POSIX option processing is used (i.e., option processing stops at
--the first non-option argument). This means that flags after
-+the first non\-option argument). This means that flags after
- .I command
- don't get interpreted by
- .BR watch
-@@ -61,20 +70,20 @@ watch \-d 'ls \-l | fgrep joe'
- To see the effects of quoting, try these out
- .IP
- watch echo $$
--.IP
-+.br
- watch echo '$$'
--.IP
-+.br
- watch echo "'"'$$'"'"
- .PP
- You can watch for your administrator to install the latest kernel with
- .IP
--watch uname -r
-+watch uname \-r
- .PP
- (Just kidding.)
- .SH BUGS
- Upon terminal resize, the screen will not be correctly repainted until the
- next scheduled update. All
--.I --differences
-+.B \-\-differences
- highlighting is lost on that update as well.
- .PP
- Non-printing characters are stripped from program output. Use "cat -v" as
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0019-w_time.patch b/patches/procps-3.2.8/0019-w_time.patch
deleted file mode 100644
index 1320cbe..0000000
--- a/patches/procps-3.2.8/0019-w_time.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 57506edfb12bcb7b14d8614d9e79872beeca05a9 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:45 +0100
-Subject: [PATCH 19/70] w_time
-
-===================================================================
----
- w.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/w.c b/w.c
-index 1b2a0fc..a6b1b25 100644
---- a/w.c
-+++ b/w.c
-@@ -83,7 +83,7 @@ static void print_time_ival7(time_t t, int centi_sec, FILE* fout) {
- else if (t > 60) /* > 1 minute */
- fprintf(fout, " %2lu:%02u ", t/60, (unsigned) t%60);
- else
-- fprintf(fout, " %2lu.%02us", t, centi_sec);
-+ fprintf(fout, " %2lu.%02us", t, centi_sec);
- }
-
- /**** stat the device file to get an idle time */
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0020-kill.1.patch b/patches/procps-3.2.8/0020-kill.1.patch
deleted file mode 100644
index 217a549..0000000
--- a/patches/procps-3.2.8/0020-kill.1.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From 05403f8eb1a2fb4d0c03034633e8626fffb33687 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 20/70] kill.1
-
-Changed may to cannot or might
-Bug-Debian: http://bugs.debian.org/375739
----
- kill.1 | 86 +++++++++++++++++++++++++++------------------------------------
- 1 files changed, 37 insertions(+), 49 deletions(-)
-
-diff --git a/kill.1 b/kill.1
-index aef9dbf..df1bdd7 100644
---- a/kill.1
-+++ b/kill.1
-@@ -10,23 +10,18 @@
- kill \- send a signal to a process
-
- .SH SYNOPSIS
--.TS
--l l.
--kill pid ... Send SIGTERM to every process listed.
--kill -signal pid ... Send a signal to every process listed.
--kill -s signal pid ... Send a signal to every process listed.
--kill -l List all signal names.
--kill -L List all signal names in a nice table.
--kill -l signal Convert a signal number into a name.
--kill -V,--version Show version of program
--.TE
-+\fBkill\fR [ \-\fBsignal\fR | \-s \fBsignal\fR ] \fBpid\fR ...
-+.br
-+\fBkill\fR [ \-L | -V, \-\-version ]
-+.br
-+\fBkill\fR \-l [ \fBsignal\fR ]
-
- .SH DESCRIPTION
--The default signal for kill is TERM. Use -l or -L to list available signals.
-+The default signal for kill is TERM. Use \-l or \-L to list available signals.
- Particularly useful signals include HUP, INT, KILL, STOP, CONT, and 0.
--Alternate signals may be specified in three ways: -9 -SIGKILL -KILL.
-+Alternate signals may be specified in three ways: \-9 \-SIGKILL \-KILL.
- Negative PID values may be used to choose whole process groups; see the
--PGID column in ps command output. A PID of -1 is special; it indicates
-+PGID column in ps command output. A PID of \-1 is special; it indicates
- all processes except the kill process itself and init.
-
- .SH SIGNALS
-@@ -37,12 +32,11 @@ When known constant, numbers and default behavior are shown.
- lB rB lB lB
- lfCW r l l.
- Name Num Action Description
--.TH
- 0 0 n/a exit code indicates if a signal may be sent
- ALRM 14 exit
- HUP 1 exit
- INT 2 exit
--KILL 9 exit this signal may not be blocked
-+KILL 9 exit cannot be blocked
- PIPE 13 exit
- POLL exit
- PROF exit
-@@ -50,15 +44,15 @@ TERM 15 exit
- USR1 exit
- USR2 exit
- VTALRM exit
--STKFLT exit may not be implemented
--PWR ignore may exit on some systems
-+STKFLT exit might not be implemented
-+PWR ignore might exit on some systems
- WINCH ignore
- CHLD ignore
- URG ignore
--TSTP stop may interact with the shell
--TTIN stop may interact with the shell
--TTOU stop may interact with the shell
--STOP stop this signal may not be blocked
-+TSTP stop might interact with the shell
-+TTIN stop might interact with the shell
-+TTOU stop might interact with the shell
-+STOP stop cannot be blocked
- CONT restart continue if stopped, otherwise ignore
- ABRT 6 core
- FPE 8 core
-@@ -66,11 +60,11 @@ ILL 4 core
- QUIT 3 core
- SEGV 11 core
- TRAP 5 core
--SYS core may not be implemented
--EMT core may not be implemented
--BUS core core dump may fail
--XCPU core core dump may fail
--XFSZ core core dump may fail
-+SYS core might not be implemented
-+EMT core might not be implemented
-+BUS core core dump might fail
-+XCPU core core dump might fail
-+XFSZ core core dump might fail
- .TE
-
- .SH NOTES
-@@ -79,36 +73,30 @@ You may need to run the command described here as /bin/kill to solve
- the conflict.
-
- .SH EXAMPLES
--
--.SS
--.B "kill -9 -1"
--.nf
-+.TP
-+.B kill \-9 \-1
- Kill all processes you can kill.
--.fi
--.PP
--.SS
--.B "kill -l 11"
--.nf
-+.TP
-+.B kill \-l 11
- Translate number 11 into a signal name.
--.fi
--.PP
--.SS
--.B "kill -L"
--.nf
-+.TP
-+.B kill -L
- List the available signal choices in a nice table.
--.fi
--.PP
--.SS
--.B "kill 123 543 2341 3453"
--.nf
-+.TP
-+.B kill 123 543 2341 3453
- Send the default signal, SIGTERM, to all those processes.
--.fi
--.PP
-+
- .SH "SEE ALSO"
--pkill(1) skill(1) kill(2) renice(1) nice(1) signal(7) killall(1)
-+.BR pkill (1),
-+.BR skill (1),
-+.BR kill (2),
-+.BR renice (1),
-+.BR nice (1),
-+.BR signal (7),
-+.BR killall (1).
-
- .SH STANDARDS
--This command meets appropriate standards. The -L flag is Linux-specific.
-+This command meets appropriate standards. The \-L flag is Linux-specific.
-
- .SH AUTHOR
- Albert Cahalan <albert@users.sf.net> wrote kill in 1999 to replace a
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0021-kill_warncr.patch b/patches/procps-3.2.8/0021-kill_warncr.patch
deleted file mode 100644
index f48ba80..0000000
--- a/patches/procps-3.2.8/0021-kill_warncr.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 07d93d1f2f5a299d4279a0fe3b69efeb943509dd Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 21/70] kill_warncr
-
-===================================================================
----
- skill.c | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/skill.c b/skill.c
-index 54d4c48..c8af9fd 100644
---- a/skill.c
-+++ b/skill.c
-@@ -128,7 +128,7 @@ static void check_proc(int pid){
- sprintf(buf, "/proc/%d/stat", pid); /* pid (cmd) state ppid pgrp session tty */
- fd = open(buf,O_RDONLY);
- if(fd==-1){ /* process exited maybe */
-- if(pids && w_flag) printf("WARNING: process %d could not be found.",pid);
-+ if(pids && w_flag) printf("WARNING: process %d could not be found.\n",pid);
- return;
- }
- fstat(fd, &statbuf);
-@@ -342,7 +342,7 @@ static void skillsnice_usage(void){
- }else{
- fprintf(stderr,
- "Usage: snice [new priority] [options] process selection criteria\n"
-- "Example: snice netscape crack +7\n"
-+ "Example: snice +7 netscape crack \n"
- "\n"
- "The default priority is +4. (snice +4 ...)\n"
- "Priority numbers range from +20 (slowest) to -20 (fastest).\n"
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0022-module_mk_shared.patch b/patches/procps-3.2.8/0022-module_mk_shared.patch
deleted file mode 100644
index 975e291..0000000
--- a/patches/procps-3.2.8/0022-module_mk_shared.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 20aef92ce98efb9afc8da15135a11dc84e311d54 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 22/70] module_mk_shared
-
-===================================================================
----
- proc/module.mk | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/proc/module.mk b/proc/module.mk
-index af20334..c4e85b4 100644
---- a/proc/module.mk
-+++ b/proc/module.mk
-@@ -17,7 +17,7 @@
- # numbers for future use, the ELF soname can be set equal to the
- # file name until some future date when a stable ABI is declared.
-
--SHARED := 1
-+SHARED ?= 1
-
- # for lib$(NAME).so and /usr/include/($NAME) and such
- NAME := proc
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0023-sysinfo_elfnote.patch b/patches/procps-3.2.8/0023-sysinfo_elfnote.patch
deleted file mode 100644
index ec03cd4..0000000
--- a/patches/procps-3.2.8/0023-sysinfo_elfnote.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 8df7dcb845f80d7ebb46a5942a684164577b5bee Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 23/70] sysinfo_elfnote
-
-===================================================================
----
- proc/sysinfo.c | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/proc/sysinfo.c b/proc/sysinfo.c
-index cd59534..473634f 100644
---- a/proc/sysinfo.c
-+++ b/proc/sysinfo.c
-@@ -221,12 +221,13 @@ static void init_libproc(void){
- // _SC_NPROCESSORS_ONLN returns 1, which should work OK
- smp_num_cpus = sysconf(_SC_NPROCESSORS_ONLN);
- if(smp_num_cpus<1) smp_num_cpus=1; /* SPARC glibc is buggy */
--
-+#ifdef __linux__
- if(linux_version_code > LINUX_VERSION(2, 4, 0)){
- Hertz = find_elf_note(AT_CLKTCK);
- if(Hertz!=NOTE_NOT_FOUND) return;
- fputs("2.4+ kernel w/o ELF notes? -- report this\n", stderr);
- }
-+#endif
- old_Hertz_hack();
- }
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0024-top.1.patch b/patches/procps-3.2.8/0024-top.1.patch
deleted file mode 100644
index b636ff4..0000000
--- a/patches/procps-3.2.8/0024-top.1.patch
+++ /dev/null
@@ -1,427 +0,0 @@
-From 12fb3382a3002090ab811a779556522560f2669d Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 24/70] top.1
-
-Fix page fault description because storage may not be disk
-Author: Craig Small <csmall@debian.org>
----
- top.1 | 110 ++++++++++++++++++++++++++++++++---------------------------------
- 1 files changed, 54 insertions(+), 56 deletions(-)
-
-diff --git a/top.1 b/top.1
-index aeee3c9..b0cec2d 100644
---- a/top.1
-+++ b/top.1
-@@ -42,7 +42,7 @@
- .ds EM \ \fB\-\-\ \fR
- \# - these two are for chuckles, makes great grammar
- .ds Me top
--.ds ME \fBtop\fR
-+.ds NE \fBtop\fR
- \# - other misc strings for consistent usage/emphasis
- .ds F \fIOff\fR
- .ds O \fIOn\fR
-@@ -85,7 +85,7 @@ top \- display Linux tasks
- .\" ----------------------------------------------------------------------
- .SH SYNOPSIS
- .\" ----------------------------------------------------------------------
--\*(ME \-\fBhv\fR | \-\fBbcHisS\fR \-\fBd\fI delay\fR \-\fBn\fI
-+\*(NE \-\fBhv\fR | \-\fBbcHisS\fR \-\fBd\fI delay\fR \-\fBn\fI
- iterations\fR \-\fBp\fI pid\fR [,\fI pid\fR ...]
-
- The traditional switches '-' and whitespace are optional.
-@@ -94,7 +94,7 @@ The traditional switches '-' and whitespace are optional.
- .\" ----------------------------------------------------------------------
- .SH DESCRIPTION
- .\" ----------------------------------------------------------------------
--The \*(ME program provides a dynamic real-time view of a running system.
-+The \*(NE program provides a dynamic real-time view of a running system.
- It can display\fB system\fR summary information as well as a list of\fB
- tasks\fR currently being managed by the Linux kernel.
- The types of system summary information shown and the types, order and
-@@ -104,7 +104,7 @@ that configuration can be made persistent across restarts.
- The program provides a limited interactive interface for process
- manipulation as well as a much more extensive interface for personal
- configuration \*(EM encompassing every aspect of its operation.
--And while \*(ME is referred to throughout this document, you are free
-+And while \*(NE is referred to throughout this document, you are free
- to name the program anything you wish.
- That new name, possibly an alias, will then be reflected on \*(Me's display
- and used when reading and writing a \*(CF.
-@@ -190,7 +190,7 @@ command-line.
- 'I' - Irix mode On\ \ (no, 'solaris' smp)
- * 'p' - PID monitoring Off
- * 's' - Secure mode Off (unsecured)
-- 'B' - Bold disable Off
-+ 'B' - Bold enable Off
- \fISummary_Area_defaults\fR
- 'l' - Load Avg/Uptime On\ \ (thus program name)
- 't' - Task/Cpu states On\ \ (1+1 lines, see '1')
-@@ -413,16 +413,14 @@ The swapped out portion of a task's total \*(MV image.
- q:\fB RES\fR \*(EM Resident size (kb)
- The non-swapped \*(MP a task has used.
-
--RES = CODE + DATA.
--
- .TP 3
- r:\fB CODE\fR \*(EM Code size (kb)
--The amount of \*(MP devoted to executable code, also known as
-+The amount of \*(MV devoted to executable code, also known as
- the 'text resident set' size or TRS.
-
- .TP 3
- s:\fB DATA\fR \*(EM Data+Stack size (kb)
--The amount of \*(MP devoted to other than executable code, also known as
-+The amount of \*(MV devoted to other than executable code, also known as
- the 'data resident set' size or DRS.
-
- .TP 3
-@@ -436,8 +434,8 @@ u:\fB nFLT\fR \*(EM Page Fault count
- The number of\fB major\fR page faults that have occurred for a task.
- A page fault occurs when a process attempts to read from or write to a virtual
- page that is not currently present in its address space.
--A major page fault is when disk access is involved in making that
--page available.
-+A major page fault is when backing storage access (such as a disk) is involved
-+in making that page available.
-
- .TP 3
- v:\fB nDRT\fR \*(EM Dirty Pages count
-@@ -504,7 +502,7 @@ and 'Order fields' screens.
- .\" ......................................................................
- .SS 2b. SELECTING and ORDERING Columns
- .\" ----------------------------------------------------------------------
--After pressing the \*(CIs 'f' (Fields select) or \'o' (Order fields) you will
-+After pressing the \*(CIs 'f' (Fields select) or 'o' (Order fields) you will
- be shown a screen containing the current \fBfields string\fR followed by names
- and descriptions for all fields.
-
-@@ -580,7 +578,7 @@ Use either of these keys if you have a large delay interval and wish to
- see current status,
-
- .TP 7
--\ \ \'\fB?\fR\' or \'\fBh\fR\' :\fIHelp\fR
-+\ \ \<\fB?\fR\> or \<\fBh\fR\> :\fIHelp\fR
- There are two help levels available.
- The first will provide a reminder of all the basic \*(CIs.
- If \*(Me is\fI secured\fR, that screen will be abbreviated.
-@@ -589,7 +587,7 @@ Typing 'h' or '?' on that help screen will take you to help for those \*(CIs
- applicable to \*(AM.
-
- .TP 7
--\ \ \'\fB=\fR\' :\fIExit_Task_Limits\fR
-+\ \ \<\fB=\fR\> :\fIExit_Task_Limits\fR
- Removes restrictions on which tasks are shown.
- This command will reverse any 'i' (idle tasks) and 'n' (max tasks) commands
- that might be active.
-@@ -599,13 +597,13 @@ See the '-p' \*(CO for a discussion of PID monitoring.
- When operating in \*(AM this command has a slightly broader meaning.
-
- .TP 7
--\ \ \'\fBA\fR\' :\fIAlternate_Display_Mode_toggle\fR
-+\ \ \<\fBA\fR\> :\fIAlternate_Display_Mode_toggle\fR
- This command will switch between \*(FM and \*(AM.
--\*(XT 4. ALTERNATE\-DISPLAY Mode and the 'G' \*(CI for insight into
--\*(CWs and field groups.
-+\*(XT 4. ALTERNATE\-DISPLAY Mode and the 'G' \*(CI for insight
-+into \*(CWs and field groups.
-
- .TP 7
--\ \ \'\fBB\fR\' :\fIBold_Disable/Enable_toggle\fR
-+\ \ \<\fBB\fR\> :\fIBold_Disable/Enable_toggle\fR
- This command will influence use of the 'bold' terminfo capability and
- alters\fB both\fR the \*(SA and \*(TA for the \*(CW.
- While it is intended primarily for use with dumb terminals, it can be
-@@ -617,7 +615,7 @@ Thus, unless the 'x' and/or 'y' toggles are using reverse for emphasis,
- there will be no visual confirmation that they are even on.
-
- .TP 7
--*\ \'\fBd\fR\' or \'\fBs\fR\' :\fIChange_Delay_Time_interval\fR
-+*\ \<\fBd\fR\> or \<\fBs\fR\> :\fIChange_Delay_Time_interval\fR
- You will be prompted to enter the delay time, in seconds, between
- display updates.
-
-@@ -631,32 +629,32 @@ If at any time you wish to know the current delay time, simply ask for help
- and view the system summary on the second line.
-
- .TP 7
--\ \ \'\fBG\fR\' :\fIChoose_Another_Window/Field_Group\fR
-+\ \ \<\fBG\fR\> :\fIChoose_Another_Window/Field_Group\fR
- You will be prompted to enter a number between 1 and 4 designating the
- window/field group which should be made the \*(CW.
- You will soon grow comfortable with these 4 windows, especially after
- experimenting with \*(AM.
-
- .TP 7
--\ \ \'\fBI\fR\' :\fIIrix/Solaris_Mode_toggle\fR
-+\ \ \<\fBI\fR\> :\fIIrix/Solaris_Mode_toggle\fR
- When operating in 'Solaris mode' ('I' toggled \*F), a task's \*(Pu usage
- will be divided by the total number of \*(PUs.
- After issuing this command, you'll be informed of the new state of this toggle.
-
- .TP 7
--\ \ \'\fBu\fR\' :\fIselect a user\fR
-+\ \ \<\fBu\fR\> :\fIselect a user\fR
- You will be prompted for a UID or username. Only processes
- belonging to the selected user will be displayed. This option
- matches on the effective UID.
-
- .TP 7
--\ \ \'\fBU\fR\' :\fIselect a user\fR
-+\ \ \<\fBU\fR\> :\fIselect a user\fR
- You will be prompted for a UID or username. Only processes
- belonging to the selected user will be displayed. This option
- matches on the real, effective, saved, and filesystem UID.
-
- .TP 7
--*\ \'\fBk\fR\' :\fIKill_a_task\fR
-+*\ \<\fBk\fR\> :\fIKill_a_task\fR
- You will be prompted for a PID and then the signal to send.
- The default signal, as reflected in the prompt, is SIGTERM.
- However, you can send any signal, via number or name.
-@@ -667,24 +665,24 @@ depending on your progress:
- 2) at the signal prompt, type 0
-
- .TP 7
--\ \ \'\fBq\fR\' :\fIQuit\fR
-+\ \ \<\fBq\fR\> :\fIQuit\fR
-
- .TP 7
--*\ \'\fBr\fR\' :\fIRenice_a_Task\fR
-+*\ \<\fBr\fR\> :\fIRenice_a_Task\fR
- You will be prompted for a PID and then the value to nice it to.
- Entering a positive value will cause a process to lose priority.
- Conversely, a negative value will cause a process to be viewed more
- favorably by the kernel.
-
- .TP 7
--\ \ \'\fBW\fR\' :\fIWrite_the_Configuration_File\fR
-+\ \ \<\fBW\fR\> :\fIWrite_the_Configuration_File\fR
- This will save all of your options and toggles plus the current
- display mode and delay time.
- By issuing this command just before quitting \*(Me, you will be able restart
- later in exactly that same state.
-
- .TP 7
--\ \ \'\fBZ\fR\' :\fIChange_Color_Mapping
-+\ \ \<\fBZ\fR\> :\fIChange_Color_Mapping
- This key will take you to a separate screen where you can change the
- colors for the \*(CW, or for all windows.
- For details regarding this \*(CI \*(Xt 3d. COLOR Mapping.
-@@ -700,25 +698,25 @@ They affect the beginning lines of your display and will determine the position
- of messages and prompts.
-
- These commands always impact just the \*(CW/field group.
--\*(XT 4. ALTERNATE\-DISPLAY Mode and the 'G' \*(CI for insight into
--\*(CWs and field groups.
-+\*(XT 4. ALTERNATE\-DISPLAY Mode and the 'G' \*(CI for insight
-+into \*(CWs and field groups.
-
- .TP 7
--\ \ \'\fBl\fR\' :\fIToggle_Load_Average/Uptime\fR \*(EM On/Off
-+\ \ \<\fBl\fR\> :\fIToggle_Load_Average/Uptime\fR \*(EM On/Off
- This is also the line containing the program name (possibly an alias) when
- operating in \*(FM or the \*(CW name when operating in \*(AM.
-
- .TP 7
--\ \ \'\fBm\fR\' :\fIToggle_Memory/Swap_Usage\fR \*(EM On/Off
-+\ \ \<\fBm\fR\> :\fIToggle_Memory/Swap_Usage\fR \*(EM On/Off
- This command affects two \*(SA lines.
-
- .TP 7
--\ \ \'\fBt\fR\' :\fIToggle_Task/Cpu_States\fR \*(EM On/Off
-+\ \ \<\fBt\fR\> :\fIToggle_Task/Cpu_States\fR \*(EM On/Off
- This command affects from 2 to many \*(SA lines, depending on the state
- of the '1' toggle and whether or not \*(Me is running under true SMP.
-
- .TP 7
--\ \ \'\fB1\fR\' :\fIToggle_Single/Separate_Cpu_States\fR \*(EM On/Off
-+\ \ \<\fB1\fR\> :\fIToggle_Single/Separate_Cpu_States\fR \*(EM On/Off
- This command affects how the 't' command's Cpu States portion is shown.
- Although this toggle exists primarily to serve massively-parallel SMP machines,
- it is not restricted to solely SMP environments.
-@@ -750,12 +748,12 @@ global 'B' (bold disable) toggle.
- .in
-
- .TP 7
--\ \ \'\fBb\fR\' :\fIBold/Reverse_toggle\fR
-+\ \ \<\fBb\fR\> :\fIBold/Reverse_toggle\fR
- This command will impact how the 'x' and 'y' toggles are displayed.
- Further, it will only be available when at least one of those toggles is \*O.
-
- .TP 7
--\ \ \'\fBx\fR\' :\fIColumn_Highlight_toggle\fR
-+\ \ \<\fBx\fR\> :\fIColumn_Highlight_toggle\fR
- Changes highlighting for the current sort field.
- You probably don't need a constant visual reminder of the sort field and
- \*(Me hopes that you always run with 'column highlight' \*F, due to the cost
-@@ -765,7 +763,7 @@ If you forget which field is being sorted this command can serve as a quick
- visual reminder.
-
- .TP 7
--\ \ \'\fBy\fR\' :\fIRow_Highlight_toggle\fR
-+\ \ \<\fBy\fR\> :\fIRow_Highlight_toggle\fR
- Changes highlighting for "running" tasks.
- For additional insight into this task state, \*(Xt 2a. DESCRIPTIONS of Fields,
- Process Status.
-@@ -774,7 +772,7 @@ Use of this provision provides important insight into your system's health.
- The only costs will be a few additional tty escape sequences.
-
- .TP 7
--\ \ \'\fBz\fR\' :\fIColor/Monochrome_toggle\fR
-+\ \ \<\fBz\fR\> :\fIColor/Monochrome_toggle\fR
- Switches the \*(CW between your last used color scheme and the older form
- of black-on-white or white-on-black.
- This command will alter\fB both\fR the \*(SA and \*(TA but does not affect the
-@@ -785,20 +783,20 @@ state of the 'x', 'y' or 'b' toggles.
- .B CONTENT\fR of \*(TW
- .PD 0
- .TP 7
--\ \ \'\fBc\fR\' :\fICommand_Line/Program_Name_toggle\fR
-+\ \ \<\fBc\fR\> :\fICommand_Line/Program_Name_toggle\fR
- This command will be honored whether or not the 'Command' column
- is currently visible.
- Later, should that field come into view, the change you applied will be seen.
-
- .TP 7
--\ \ \'\fBf\fR\' and \'\fBo\fR\' :\fIFields_select\fR or \fIOrder_fields\fR
-+\ \ \<\fBf\fR\> and \<\fBo\fR\> :\fIFields_select\fR or \fIOrder_fields\fR
- These keys display separate screens where you can change which
- fields are displayed and their order.
- For additional information on these \*(CIs
- \*(Xt 2b. SELECTING and ORDERING Columns.
-
- .TP 7
--\ \ \'\fBH\fR\' :\fIThreads_toggle\fR
-+\ \ \<\fBS\fR\> :\fICumulative_Time_Mode_toggle\fR
- When this toggle is \*O, all individual threads will be displayed. Otherwise, \*(Me displays a summation of all threads in a process.
-
- .TP 7
-@@ -818,7 +816,7 @@ If you wish to know in advance whether or not 'Cumulative mode' is in
- effect, simply ask for help and view the window summary on the second line.
-
- .TP 7
--\ \ \'\fBu\fR\' :\fIShow_Specific_User_Only\fR
-+\ \ \<\fBu\fR\> :\fIShow_Specific_User_Only\fR
- You will be prompted to enter the name of the user to display.
- Thereafter, in that \*(TW only matching User ID's will be shown, or possibly
- no tasks will be shown.
-@@ -831,7 +829,7 @@ just press <Enter> at the prompt, without providing a name.
- .B SIZE\fR of \*(TW
- .PD 0
- .TP 7
--\ \ \'\fBi\fR\' :\fIIdle_Processes_toggle\fR
-+\ \ \<\fBi\fR\> :\fIIdle_Processes_toggle\fR
- Displays all tasks or just active tasks.
- When this toggle is \*F, idled or zombied processes will not be displayed.
-
-@@ -839,7 +837,7 @@ If this command is applied to the last \*(TD when in \*(AM, then it will not
- affect the window's size, as all prior \*(TDs will have already been painted.
-
- .TP 7
--\ \ \'\fBn\fR\' or \'#\' :\fISet_Maximum_Tasks\fR
-+\ \ \<\fBn\fR\> or \<\fB#\fR\> :\fISet_Maximum_Tasks\fR
- You will be prompted to enter the number of tasks to display.
- The lessor of your number and available screen rows will be used.
-
-@@ -878,12 +876,12 @@ The sort field might\fI not\fR be visible because:
- .in
-
- .TP 7
--\ \ \'\fB<\fR\' :\fIMove_Sort_Field_Left\fR
-+\ \ \<\fB<\fR\> :\fIMove_Sort_Field_Left\fR
- Moves the sort column to the left unless the current sort field is
- the first field being displayed.
-
- .TP 7
--\ \ \'\fB>\fR\' :\fIMove_Sort_Field_Right\fR
-+\ \ \<\fB>\fR\> :\fIMove_Sort_Field_Right\fR
- Moves the sort column to the right unless the current sort field is
- the last field being displayed.
-
-@@ -894,7 +892,7 @@ the current sort field is visible.
- .in
-
- .TP 7
--\ \ \'\fBF\fR\' or \'\fBO\fR\' :\fISelect_Sort_Field\fR
-+\ \ \<\fBF\fR\> or \<\fBO\fR\> :\fISelect_Sort_Field\fR
- These keys display a separate screen where you can change which field
- is used as the sort column.
-
-@@ -907,7 +905,7 @@ This \*(CI can be a convenient way to simply verify the current sort field,
- when running \*(Me with column highlighting turned \*F.
-
- .TP 7
--\ \ \'\fBR\fR\' :\fIReverse/Normal_Sort_Field_toggle\fR
-+\ \ \<\fBR\fR\> :\fIReverse/Normal_Sort_Field_toggle\fR
- Using this \*(CI you can alternate between high-to-low and low-to-high sorts.
-
- .PP
-@@ -984,7 +982,7 @@ know what window is the \*(CW.
- .\" ......................................................................
- .SS 4b. COMMANDS for Windows
- .TP 7
--\ \ \'\fB-\fR\' and \'\fB_\fR\' :\fIShow/Hide_Window(s)_toggles\fR
-+\ \ \<\fB-\fR\> and \<\fB_\fR\> :\fIShow/Hide_Window(s)_toggles\fR
- The '-' key turns the \*(CW's \*(TD \*O and \*F.
- When \*O, that \*(TA will show a minimum of the columns header you've
- established with the 'f' and 'o' commands.
-@@ -998,7 +996,7 @@ If all 4 \*(TDs are currently visible, this \*(CI will leave the \*(SA
- as the only display element.
-
- .TP 7
--*\ \'\fB=\fR\' and \'\fB+\fR\' :\fIEqualize_(re-balance)_Window(s)\fR
-+*\ \<\fB=\fR\> and \<\fB+\fR\> :\fIEqualize_(re-balance)_Window(s)\fR
- The '=' key forces the \*(CW's \*(TD to be visible.
- It also reverses any 'i' (idle tasks) and 'n' (max tasks) commands that might
- be active.
-@@ -1009,7 +1007,7 @@ They will also have retained any customizations you had previously applied,
- except for the 'i' (idle tasks) and 'n' (max tasks) commands.
-
- .TP 7
--*\ \'\fBA\fR\' :\fIAlternate_Display_Mode_toggle\fR
-+*\ \<\fBA\fR\> :\fIAlternate_Display_Mode_toggle\fR
- This command will switch between \*(FM and \*(AM.
-
- The first time you issue this command, all four \*(TDs will be shown.
-@@ -1017,7 +1015,7 @@ Thereafter when you switch modes, you will see only the \*(TD(s) you've
- chosen to make visible.
-
- .TP 7
--*\ \'\fBa\fR\' and \'\fBw\fR\' :\fINext_Window_Forward/Backward\fR
-+*\ \<\fBa\fR\> and \<\fBw\fR\> :\fINext_Window_Forward/Backward\fR
- This will change the \*(CW, which in turn changes the window to which
- commands are directed.
- These keys act in a circular fashion so you can reach any desired \*(CW
-@@ -1028,7 +1026,7 @@ whenever the \*(CW name loses its emphasis/color, that's a reminder
- the \*(TD is \*F and many commands will be restricted.
-
- .TP 7
--*\ \'\fBG\fR\' :\fIChoose_Another_Window/Field_Group\fR
-+*\ \<\fBG\fR\> :\fIChoose_Another_Window/Field_Group\fR
- You will be prompted to enter a number between 1 and 4 designating the
- window/field group which should be made the \*(CW.
-
-@@ -1037,15 +1035,15 @@ In \*(AM, it is simply a less convenient alternative to the 'a' and 'w'
- commands.
-
- .TP 7
--\ \ \'\fBg\fR\' :\fIChange_Window/Field_Group_Name\fR
-+\ \ \<\fBg\fR\> :\fIChange_Window/Field_Group_Name\fR
- You will be prompted for a new name to be applied to the \*(CW.
- It does not require that the window name be visible
- (the 'l' toggle to be \*O).
-
- .IP "*" 3
- The \*(CIs shown with an \*(AS have use beyond \*(AM.
-- \'=', 'A', 'G' are always available
-- \'a', 'w' act the same when color mapping
-+ '=', 'A', 'G' are always available
-+ 'a', 'w' act the same when color mapping
-
-
- .\" ----------------------------------------------------------------------
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0025-top_c_resize.patch b/patches/procps-3.2.8/0025-top_c_resize.patch
deleted file mode 100644
index 38a58df..0000000
--- a/patches/procps-3.2.8/0025-top_c_resize.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 6a2fce1a2b052f033f8f8c36c76aa4530b2887b1 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 25/70] top_c_resize
-
-a few (read: 3 or less) lines.
----
- top.c | 9 ++++++---
- top.h | 13 +++++++++++--
- 2 files changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/top.c b/top.c
-index 53cab05..6cc1a93 100644
---- a/top.c
-+++ b/top.c
-@@ -140,7 +140,7 @@ static int Cap_can_goto = 0;
- are exploited in a macro and represent 90% of our optimization.
- The Stdout_buf is transparent to our code and regardless of whose
- buffer is used, stdout is flushed at frame end or if interactive. */
--static char *Pseudo_scrn;
-+static PSEUDO_SCREEN_t Pseudo_scrn;
- static int Pseudo_row, Pseudo_cols, Pseudo_size;
- #ifndef STDOUT_IOLBF
- // less than stdout's normal buffer but with luck mostly '\n' anyway
-@@ -2431,7 +2431,10 @@ static void wins_resize (void)
- Pseudo_cols = Screen_cols + CLRBUFSIZ + 1;
- if (Batch) Pseudo_size = ROWBUFSIZ + 1;
- else Pseudo_size = Pseudo_cols * Screen_rows;
-- Pseudo_scrn = alloc_r(Pseudo_scrn, Pseudo_size);
-+ if( Pseudo_scrn.buf == NULL || Pseudo_size > Pseudo_scrn.mem_size ) {
-+ Pseudo_scrn.buf = alloc_r(Pseudo_scrn.buf, Pseudo_size);
-+ Pseudo_scrn.mem_size = Pseudo_size;
-+ }
-
- // force rebuild of column headers AND libproc/readproc requirements
- Frames_libflags = 0;
-@@ -3315,7 +3318,7 @@ static void frame_make (void)
- // reframewins(), who also builds each window's column headers
- if (!Frames_libflags) {
- reframewins();
-- memset(Pseudo_scrn, '\0', Pseudo_size);
-+ memset(Pseudo_scrn.buf, '\0', Pseudo_size);
- }
- Pseudo_row = Msg_row = scrlins = 0;
- ppt = summary_show();
-diff --git a/top.h b/top.h
-index b4ac079..8cf8538 100644
---- a/top.h
-+++ b/top.h
-@@ -135,7 +135,7 @@ do { \
- int _len = 1 + snprintf(_str, sizeof(_str), fmt, ## arg); \
- putp ( Batch ? _str : \
- ({ \
-- char *restrict const _pse = &Pseudo_scrn[Pseudo_row++ * Pseudo_cols]; \
-+ char *restrict const _pse = &Pseudo_scrn.buf[Pseudo_row++ * Pseudo_cols]; \
- memcmp(_pse, _str, _len) ? memcpy(_pse, _str, _len) : "\n"; \
- }) \
- ); \
-@@ -149,7 +149,11 @@ do { \
- int _len = 1 + snprintf(_str, sizeof(_str), fmt, ## arg); \
- if (Batch) _ptr = _str; \
- else { \
-- _ptr = &Pseudo_scrn[Pseudo_row++ * Pseudo_cols]; \
-+ if (Pseudo_row * Pseudo_cols + _len > Pseudo_size) { \
-+ Pseudo_scrn.buf = realloc(Pseudo_scrn.buf, Pseudo_row * Pseudo_cols + _len); \
-+ Pseudo_scrn.mem_size = Pseudo_size = Pseudo_row * Pseudo_cols + _len; \
-+ } \
-+ _ptr = &Pseudo_scrn.buf[Pseudo_row++ * Pseudo_cols]; \
- if (memcmp(_ptr, _str, _len)) { \
- memcpy(_ptr, _str, _len); \
- } else { \
-@@ -237,6 +241,11 @@ typedef struct RCF_t { // the complete rcfile (new style)
- RCW_t win [4]; // a 'WIN_t.rc' for each of the 4 windows
- } RCF_t;
-
-+typedef struct PSEUDO_SCREEN_t {
-+ char *buf;
-+ int mem_size;
-+} PSEUDO_SCREEN_t;
-+
- // The scaling 'type' used with scale_num() -- this is how
- // the passed number is interpreted should scaling be necessary
- enum scale_num {
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0026-w-bassman.patch b/patches/procps-3.2.8/0026-w-bassman.patch
deleted file mode 100644
index f82be15..0000000
--- a/patches/procps-3.2.8/0026-w-bassman.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 651c5b2622859ce190a6bee53dc6abfd491fa380 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 26/70] w-bassman
-
-===================================================================
----
- w.1 | 5 ++++-
- w.c | 16 +++++++++++++++-
- 2 files changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/w.1 b/w.1
-index d57a9b5..84786e6 100644
---- a/w.1
-+++ b/w.1
-@@ -5,7 +5,7 @@
- w \- Show who is logged on and what they are doing.
- .SH SYNOPSIS
- .B w \-
--.RB [ husfV ]
-+.RB [ husfVo ]
- .RI [ user ]
- .SH DESCRIPTION
- .B "w "
-@@ -55,6 +55,9 @@ field is shown by default.
- .B "\-V "
- Display version information.
- .TP 0.5i
-+.B "\-o "
-+Old style output. Prints blank space for idle times less than one minute.
-+.TP 0.5i
- .B "user "
- Show information about the specified user only.
-
-diff --git a/w.c b/w.c
-index a6b1b25..91fe8b1 100644
---- a/w.c
-+++ b/w.c
-@@ -30,6 +30,7 @@
- #include <termios.h>
-
- static int ignoreuser = 0; /* for '-u' */
-+static int oldstyle = 0; /* for '-o' */
- static proc_t **procs; /* our snapshot of the process table */
-
- typedef struct utmp utmp_t;
-@@ -76,6 +77,16 @@ static void print_time_ival7(time_t t, int centi_sec, FILE* fout) {
- printf(" ? ");
- return;
- }
-+ if (oldstyle) {
-+ if (t >= 48*60*60) /* > 2 days */
-+ fprintf(fout, " %2ludays", t/(24*60*60));
-+ else if (t >= 60*60) /* > 1 hour */
-+ fprintf(fout, " %2lu:%02u ", t/(60*60), (unsigned) ((t/60)%60));
-+ else if (t > 60) /* > 1 minute */
-+ fprintf(fout, " %2lu:%02um", t/60, (unsigned) t%60);
-+ else
-+ fprintf(fout, " ");
-+ } else {
- if (t >= 48*60*60) /* > 2 days */
- fprintf(fout, " %2ludays", t/(24*60*60));
- else if (t >= 60*60) /* > 1 hour */
-@@ -84,6 +95,7 @@ static void print_time_ival7(time_t t, int centi_sec, FILE* fout) {
- fprintf(fout, " %2lu:%02u ", t/60, (unsigned) t%60);
- else
- fprintf(fout, " %2lu.%02us", t, centi_sec);
-+ }
- }
-
- /**** stat the device file to get an idle time */
-@@ -239,7 +251,7 @@ int main(int argc, char **argv) {
- #endif
-
- setlocale(LC_ALL, "");
-- for (args=0; (ch = getopt(argc, argv, "hlusfV")) != EOF; args++)
-+ for (args=0; (ch = getopt(argc, argv, "hlusfVo")) != EOF; args++)
- switch (ch) {
- case 'h': header = 0; break;
- case 'l': longform = 1; break;
-@@ -247,6 +259,7 @@ int main(int argc, char **argv) {
- case 'f': from = !from; break;
- case 'V': display_version(); exit(0);
- case 'u': ignoreuser = 1; break;
-+ case 'o': oldstyle = 1; break;
- default:
- printf("usage: w -hlsufV [user]\n"
- " -h skip header\n"
-@@ -254,6 +267,7 @@ int main(int argc, char **argv) {
- " -s short listing\n"
- " -u ignore uid of processes\n"
- " -f toggle FROM field (default %s)\n"
-+ " -o old-style output\n"
- " -V display version\n", FROM_STRING);
- exit(1);
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0027-top.1_cpustates.patch b/patches/procps-3.2.8/0027-top.1_cpustates.patch
deleted file mode 100644
index ce3374e..0000000
--- a/patches/procps-3.2.8/0027-top.1_cpustates.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From e7c71a7a9f743f102e01f2e1104ab0e5417f8f34 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 27/70] top.1_cpustates
-
-===================================================================
----
- top.1 | 36 ++++++++++++++++++++++++++++++++++++
- 1 files changed, 36 insertions(+), 0 deletions(-)
-
-diff --git a/top.1 b/top.1
-index b0cec2d..0ce1c62 100644
---- a/top.1
-+++ b/top.1
-@@ -537,6 +537,42 @@ You\fI move\fR a field to the\fB left\fR by pressing the corresponding\fB
- upper case\fR letter and to the\fB right\fR with the\fB lower case\fR
- letter.
-
-+.\" ......................................................................
-+.SS 2c. CPU States
-+.\" ----------------------------------------------------------------------
-+The CPU states are shown in the Summary Area. They are always shown as a
-+percentage and are for the time between now and the last refresh.
-+
-+.TP 3
-+\fB us\fR \*(EM User CPU time
-+The time the CPU has spent running users' processes that are not
-+niced.
-+
-+.TP 3
-+\fB sy\fR \*(EM System CPU time
-+The time the CPU has spent running the kernel and its processes.
-+
-+.TP 3
-+\fB ni\fR \*(EM Nice CPU time
-+The time the CPU has spent running users' proccess that have been
-+niced.
-+
-+.TP 3
-+\fB wa\fR \*(EM iowait
-+Amount of time the CPU has been waiting for I/O to complete.
-+
-+.TP 3
-+\fB hi\fR \*(EM Hardware IRQ
-+The amount of time the CPU has been servicing hardware interrupts.
-+
-+.TP 3
-+\fB si\fR \*(EM Software Interrupts
-+The amount of time the CPU has been servicing software interrupts.
-+
-+.TP 3
-+\fB st\fR \*(EM Steal Time
-+The amount of CPU 'stolen' from this virtual machine by the hypervisor
-+for other tasks (such as running another virtual machine).
-
- .\" ----------------------------------------------------------------------
- .SH 3. INTERACTIVE Commands
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0028-watch_8bitchar.patch b/patches/procps-3.2.8/0028-watch_8bitchar.patch
deleted file mode 100644
index 2b3c473..0000000
--- a/patches/procps-3.2.8/0028-watch_8bitchar.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a91e6470c2f1f6bbe481988fbf2a6af6bb87fd6c Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 28/70] watch_8bitchar
-
-===================================================================
----
- watch.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/watch.c b/watch.c
-index 5841168..eb5ce92 100644
---- a/watch.c
-+++ b/watch.c
-@@ -297,7 +297,7 @@ main(int argc, char *argv[])
- move(y, x);
- if (option_differences) {
- chtype oldch = inch();
-- char oldc = oldch & A_CHARTEXT;
-+ unsigned char oldc = oldch & A_CHARTEXT;
- attr = !first_screen
- && ((char)c != oldc
- ||
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0029-library_map_freeproc.patch b/patches/procps-3.2.8/0029-library_map_freeproc.patch
deleted file mode 100644
index a949d44..0000000
--- a/patches/procps-3.2.8/0029-library_map_freeproc.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 9dc737cb6dfc072605c3c4e0afb02fa85d2b0b14 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 29/70] library_map_freeproc
-
-===================================================================
----
- proc/library.map | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/proc/library.map b/proc/library.map
-index a38627b..154061b 100644
---- a/proc/library.map
-+++ b/proc/library.map
-@@ -7,7 +7,7 @@ global:
-
- readproc; readtask; readproctab; readproctab2; look_up_our_self; escape_command;
- escape_str; escape_strlist;
-- openproc; closeproc;
-+ openproc; closeproc; freeproc;
- tty_to_dev; dev_to_tty; open_psdb_message; open_psdb; lookup_wchan;
- display_version; procps_version; linux_version_code;
- Hertz; smp_num_cpus; have_privs;
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0030-pgrep_start_time.patch b/patches/procps-3.2.8/0030-pgrep_start_time.patch
deleted file mode 100644
index d97c076..0000000
--- a/patches/procps-3.2.8/0030-pgrep_start_time.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 5206f75b80699216ad3677f500a93e3d2323b623 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 30/70] pgrep_start_time
-
-===================================================================
----
- pgrep.c | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/pgrep.c b/pgrep.c
-index bbb7cd1..609cabd 100644
---- a/pgrep.c
-+++ b/pgrep.c
-@@ -430,7 +430,8 @@ static union el * select_procs (int *num)
- preg = do_regcomp();
-
- if (opt_newest) saved_start_time = 0ULL;
-- if (opt_oldest) saved_start_time = ~0ULL;
-+ else
-+ saved_start_time = ~0ULL;
- if (opt_newest) saved_pid = 0;
- if (opt_oldest) saved_pid = INT_MAX;
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0031-readproc_c.patch b/patches/procps-3.2.8/0031-readproc_c.patch
deleted file mode 100644
index 89c9455..0000000
--- a/patches/procps-3.2.8/0031-readproc_c.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 49aba46c22ec4af297566165dda611fe6c3c792b Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 31/70] readproc_c
-
-return if unable to open /proc
----
- proc/readproc.c | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/proc/readproc.c b/proc/readproc.c
-index 4fad11d..0386a63 100644
---- a/proc/readproc.c
-+++ b/proc/readproc.c
-@@ -173,7 +173,7 @@ ENTER(0x220);
- // examine a field name (hash and compare)
- base:
- if(unlikely(!*S)) break;
-- entry = table[63 & (asso[S[3]] + asso[S[2]] + asso[S[0]])];
-+ entry = table[63 & (asso[(int)S[3]] + asso[(int)S[2]] + asso[(int)S[0]])];
- colon = strchr(S, ':');
- if(unlikely(!colon)) break;
- if(unlikely(colon[1]!='\t')) break;
-@@ -942,6 +942,8 @@ proc_t** readproctab(int flags, ...) {
- else
- PT = openproc(flags);
- va_end(ap);
-+ if (!PT)
-+ return 0;
- do { /* read table: */
- tab = xrealloc(tab, (n+1)*sizeof(proc_t*));/* realloc as we go, using */
- tab[n] = readproc_direct(PT, NULL); /* final null to terminate */
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0032-sysinfo_7_numbers.patch b/patches/procps-3.2.8/0032-sysinfo_7_numbers.patch
deleted file mode 100644
index 9d7da0e..0000000
--- a/patches/procps-3.2.8/0032-sysinfo_7_numbers.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 6f469982d7c74ca22b7345f5bc8b956f583a9783 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 32/70] sysinfo_7_numbers
-
-===================================================================
----
- proc/sysinfo.c | 7 ++++---
- 1 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/proc/sysinfo.c b/proc/sysinfo.c
-index 473634f..8dbabdf 100644
---- a/proc/sysinfo.c
-+++ b/proc/sysinfo.c
-@@ -124,24 +124,25 @@ int uptime(double *restrict uptime_secs, double *restrict idle_secs) {
- unsigned long long Hertz;
-
- static void old_Hertz_hack(void){
-- unsigned long long user_j, nice_j, sys_j, other_j; /* jiffies (clock ticks) */
-+ unsigned long long user_j, nice_j, sys_j, other_j, wait_j, hirq_j, sirq_j, stol_j; /* jiffies (clock ticks) */
- double up_1, up_2, seconds;
- unsigned long long jiffies;
- unsigned h;
- char *restrict savelocale;
-
-+ wait_j = hirq_j = sirq_j = stol_j = 0;
- savelocale = setlocale(LC_NUMERIC, NULL);
- setlocale(LC_NUMERIC, "C");
- do{
- FILE_TO_BUF(UPTIME_FILE,uptime_fd); sscanf(buf, "%lf", &up_1);
- /* uptime(&up_1, NULL); */
- FILE_TO_BUF(STAT_FILE,stat_fd);
-- sscanf(buf, "cpu %Lu %Lu %Lu %Lu", &user_j, &nice_j, &sys_j, &other_j);
-+ sscanf(buf, "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu", &user_j, &nice_j, &sys_j, &other_j, &wait_j, &hirq_j, &sirq_j, &stol_j);
- FILE_TO_BUF(UPTIME_FILE,uptime_fd); sscanf(buf, "%lf", &up_2);
- /* uptime(&up_2, NULL); */
- } while((long long)( (up_2-up_1)*1000.0/up_1 )); /* want under 0.1% error */
- setlocale(LC_NUMERIC, savelocale);
-- jiffies = user_j + nice_j + sys_j + other_j;
-+ jiffies = user_j + nice_j + sys_j + other_j + wait_j + hirq_j + sirq_j + stol_j ;
- seconds = (up_1 + up_2) / 2;
- h = (unsigned)( (double)jiffies/seconds/smp_num_cpus );
- /* actual values used by 2.4 kernels: 32 64 100 128 1000 1024 1200 */
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0033-tload_no_optargs.patch b/patches/procps-3.2.8/0033-tload_no_optargs.patch
deleted file mode 100644
index 4f8283d..0000000
--- a/patches/procps-3.2.8/0033-tload_no_optargs.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From baaed0489bc1273633e918e085ff28b85e41a3c6 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 33/70] tload_no_optargs
-
-===================================================================
----
- tload.c | 3 ---
- 1 files changed, 0 insertions(+), 3 deletions(-)
-
-diff --git a/tload.c b/tload.c
-index 1d346bb..cece48c 100644
---- a/tload.c
-+++ b/tload.c
-@@ -30,9 +30,6 @@ static int fd=1;
- static int dly=5;
- static jmp_buf jb;
-
--extern int optind;
--extern char *optarg;
--
- static void alrm(int signo)
- {
- (void)signo;
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0034-w.1.patch b/patches/procps-3.2.8/0034-w.1.patch
deleted file mode 100644
index 6d9aa03..0000000
--- a/patches/procps-3.2.8/0034-w.1.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From ee43ea4717fd1629956fa6b7968f134ef1fdf236 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 34/70] w.1
-
-Make note of the time formats
-Bug-Debian: http://bugs.debian.org/414906
----
- w.1 | 27 ++++++++++++++++++++-------
- 1 files changed, 20 insertions(+), 7 deletions(-)
-
-diff --git a/w.1 b/w.1
-index 84786e6..a13cc81 100644
---- a/w.1
-+++ b/w.1
-@@ -4,26 +4,26 @@
- .SH NAME
- w \- Show who is logged on and what they are doing.
- .SH SYNOPSIS
--.B w \-
--.RB [ husfVo ]
-+.B w
-+.RB [ \-husfVo ]
- .RI [ user ]
- .SH DESCRIPTION
--.B "w "
-+.B w
- displays information about the users currently on the machine,
- and their processes.
- The header shows, in this order, the current time,
- how long the system has been running,
- how many users are currently logged on,
- and the system load averages for the past 1, 5, and 15 minutes.
--.sp
-+
- The following entries are displayed for each user:
- login name, the tty name, the remote host, login time, idle time, JCPU, PCPU,
- and the command line of their current process.
--.sp
-+
- The JCPU time is the time used by all processes attached to the tty. It
- does not include past background jobs, but does include currently
- running background jobs.
--.sp
-+
- The PCPU time is the time used by the current process, named in the "what"
- field.
-
-@@ -35,7 +35,7 @@ Don't print the header.
- .TP 0.5i
- .B "\-u "
- Ignores the username while figuring out the current process and cpu
--times. To demonstrate this, do a "su" and do a "w" and a "w -u".
-+times. To demonstrate this, do a "su" and do a "w" and a "w \-u".
- .TP 0.5i
- .B "\-s "
- Use the short format.
-@@ -70,6 +70,19 @@ information about who is currently logged on
- process information
- .PP
-
-+.SH NOTES
-+The output for Idle, JCPU and PCPU times vaires depending on if you use
-+the \-o (old style) option or not. These formats can be confusing if you
-+switch between the old style and standard. In the following paragraphs
-+days are DD, hours HH, minutes MM, seconds SS and 100ths of seconds CC.
-+
-+The standard format is DDdays, HH:MMm, MM:SS or SS.CC if the times are
-+greater than 2 days, 1hour, or 1 minute respectively.
-+
-+For the \-o option, the output will be either DDdays, HH:MM, MM:SSm or
-+blank if the times are greater than 2 days, 1 hour or 1 minute
-+respectively.
-+
- .SH "SEE ALSO"
- .BR free (1),
- .BR ps (1),
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0035-w_columns.patch b/patches/procps-3.2.8/0035-w_columns.patch
deleted file mode 100644
index 1ad19bd..0000000
--- a/patches/procps-3.2.8/0035-w_columns.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 6b8ebd31ac38cd8465f9d9a4c5a335b1d76e04bf Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 35/70] w_columns
-
-===================================================================
----
- w.c | 8 ++++++--
- 1 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/w.c b/w.c
-index 91fe8b1..2077338 100644
---- a/w.c
-+++ b/w.c
-@@ -241,10 +241,10 @@ static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) {
-
- /***** main */
- int main(int argc, char **argv) {
-- char *user = NULL;
-+ char *user = NULL, *p;
- utmp_t *u;
- struct winsize win;
-- int header=1, longform=1, from=1, args, maxcmd=80, ch;
-+ int header=1, longform=1, from=1, args, maxcmd, ch;
-
- #ifndef W_SHOWFROM
- from = 0;
-@@ -277,6 +277,10 @@ int main(int argc, char **argv) {
-
- if (ioctl(1, TIOCGWINSZ, &win) != -1 && win.ws_col > 0)
- maxcmd = win.ws_col;
-+ else if (p = getenv("COLUMNS"))
-+ maxcmd = atoi(p);
-+ else
-+ maxcmd = 80;
- if (maxcmd < 71) {
- fprintf(stderr, "%d column window is too narrow\n", maxcmd);
- exit(1);
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0036-watch_exec_beep.patch b/patches/procps-3.2.8/0036-watch_exec_beep.patch
deleted file mode 100644
index 8099e4a..0000000
--- a/patches/procps-3.2.8/0036-watch_exec_beep.patch
+++ /dev/null
@@ -1,271 +0,0 @@
-From 42dd0d6fabd0e3bb134afaddc07a1c02905ecc36 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 36/70] watch_exec_beep
-
-Adds -errexit flag now too #183346
-Author: Mordechai T. Abzug <morty@frakir.org>
-Bug-Debian: http://bugs.debian.org/410967
-Bug-Debian: http://bugs.debian.org/183346
-Reviewed-by: Craig Small <csmall@debian.org>
----
- watch.1 | 33 +++++++++++++++++++---
- watch.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
- 2 files changed, 116 insertions(+), 10 deletions(-)
-
-diff --git a/watch.1 b/watch.1
-index 1616794..802ab84 100644
---- a/watch.1
-+++ b/watch.1
-@@ -4,10 +4,13 @@ watch \- execute a program periodically, showing output fullscreen
- .SH SYNOPSIS
- .na
- .B watch
--.RB [ \-dhvt ]
-+.RB [ \-bdehvtx ]
- .RB [ \-n
- .IR seconds ]
-+.RB [ \-\-beep ]
- .RB [ \-\-differences[=\fIcumulative\fP]]
-+.RB [ \-\-errexit ]
-+.RB [ \-\-exec ]
- .RB [ \-\-help ]
- .RB [ \-\-interval=\fIseconds\fP]
- .RB [ \-\-no\-title ]
-@@ -17,7 +20,8 @@ watch \- execute a program periodically, showing output fullscreen
- .B watch
- runs
- .I command
--repeatedly, displaying its output (the first screenfull). This allows you to
-+repeatedly, displaying its output and errors (the first screenfull). This
-+allows you to
- watch the program output change over time. By default, the program is run
- every 2 seconds; use
- .B \-n
-@@ -37,15 +41,33 @@ positions that have ever changed. The
- or
- .B \-\-no\-title
- option turns off the header showing the interval, command, and current
--time at the top of the display, as well as the following blank line.
-+time at the top of the display, as well as the following blank line. The
-+.I \-b
-+or
-+.I \-\-beep
-+option causes the command to beep if it has a non-zero exit.
- .PP
- .B watch
--will run until interrupted.
-+will normally run until interrupted. If you want
-+.B watch
-+to exit on an error from the program running use the
-+.I \-e
-+or
-+.I \-\-errexit
-+options, which will cause
-+.B watch
-+to exit if the return value from the program is non-zero.
-+
- .SH NOTE
- Note that
- .I command
- is given to "sh \-c"
- which means that you may need to use extra quoting to get the desired effect.
-+You can disable this with the
-+.I -x
-+or
-+.I --exec
-+option, which passes the command to exec(2) instead.
- .PP
- Note that POSIX option processing is used (i.e., option processing stops at
- the first non\-option argument). This means that flags after
-@@ -93,4 +115,5 @@ The original
- .B watch
- was written by Tony Rems <rembo@unisoft.com> in 1991, with mods and
- corrections by Francois Pinard. It was reworked and new features added by
--Mike Coleman <mkc@acm.org> in 1999.
-+Mike Coleman <mkc@acm.org> in 1999. The beep, exec, and error handling
-+features were added by Morty Abzug <morty@frakir.org> in 2008.
-diff --git a/watch.c b/watch.c
-index eb5ce92..acb152f 100644
---- a/watch.c
-+++ b/watch.c
-@@ -8,6 +8,7 @@
- * Mike Coleman <mkc@acm.org>.
- *
- * Changes by Albert Cahalan, 2002-2003.
-+ * stderr handling, exec, and beep option added by Morty Abzug, 2008
- */
-
- #define VERSION "0.2.0"
-@@ -35,13 +36,16 @@ static struct option longopts[] = {
- {"differences", optional_argument, 0, 'd'},
- {"help", no_argument, 0, 'h'},
- {"interval", required_argument, 0, 'n'},
-+ {"beep", no_argument, 0, 'b'},
-+ {"errexit", no_argument, 0, 'e'},
-+ {"exec", no_argument, 0, 'x'},
- {"no-title", no_argument, 0, 't'},
- {"version", no_argument, 0, 'v'},
- {0, 0, 0, 0}
- };
-
- static char usage[] =
-- "Usage: %s [-dhntv] [--differences[=cumulative]] [--help] [--interval=<n>] [--no-title] [--version] <command>\n";
-+ "Usage: %s [-bdhntvx] [--beep] [--differences[=cumulative]] [--exec] [--help] [--interval=<n>] [--no-title] [--version] <command>\n";
-
- static char *progname;
-
-@@ -140,28 +144,44 @@ main(int argc, char *argv[])
- int optc;
- int option_differences = 0,
- option_differences_cumulative = 0,
-+ option_exec = 0,
-+ option_beep = 0,
-+ option_errexit = 0,
- option_help = 0, option_version = 0;
- double interval = 2;
- char *command;
-+ char **command_argv;
- int command_length = 0; /* not including final \0 */
-+ int pipefd[2];
-+ int status;
-+ pid_t child;
-
- setlocale(LC_ALL, "");
- progname = argv[0];
-
-- while ((optc = getopt_long(argc, argv, "+d::hn:vt", longopts, (int *) 0))
-+ while ((optc = getopt_long(argc, argv, "+bed::hn:vtx", longopts, (int *) 0))
- != EOF) {
- switch (optc) {
-+ case 'b':
-+ option_beep = 1;
-+ break;
- case 'd':
- option_differences = 1;
- if (optarg)
- option_differences_cumulative = 1;
- break;
-+ case 'e':
-+ option_errexit = 1;
-+ break;
- case 'h':
- option_help = 1;
- break;
- case 't':
- show_title = 0;
- break;
-+ case 'x':
-+ option_exec = 1;
-+ break;
- case 'n':
- {
- char *str;
-@@ -191,18 +211,23 @@ main(int argc, char *argv[])
-
- if (option_help) {
- fprintf(stderr, usage, progname);
-+ fputs(" -b, --beep\t\t\t\tbeep if the command has a non-zero exit\n", stderr);
- fputs(" -d, --differences[=cumulative]\thighlight changes between updates\n", stderr);
- fputs("\t\t(cumulative means highlighting is cumulative)\n", stderr);
-+ fputs(" -e, --errexit\t\t\t\texit watch if the command has a non-zero exit\n", stderr);
- fputs(" -h, --help\t\t\t\tprint a summary of the options\n", stderr);
- fputs(" -n, --interval=<seconds>\t\tseconds to wait between updates\n", stderr);
- fputs(" -v, --version\t\t\t\tprint the version number\n", stderr);
- fputs(" -t, --no-title\t\t\tturns off showing the header\n", stderr);
-+ fputs(" -x, --exec\t\t\t\tpass command to exec instead of sh\n", stderr);
- exit(0);
- }
-
- if (optind >= argc)
- do_usage();
-
-+ command_argv=&(argv[optind]); /* save for later */
-+
- command = strdup(argv[optind++]);
- command_length = strlen(command);
- for (; optind < argc; optind++) {
-@@ -261,11 +286,57 @@ main(int argc, char *argv[])
- free(header);
- }
-
-- if (!(p = popen(command, "r"))) {
-- perror("popen");
-+ /* allocate pipes */
-+ if (pipe(pipefd)<0) {
-+ perror("pipe");
-+ do_exit(7);
-+ }
-+
-+ /* flush stdout and stderr, since we're about to do fd stuff */
-+ fflush(stdout);
-+ fflush(stderr);
-+
-+ /* fork to prepare to run command */
-+ child=fork();
-+
-+ if (child<0) { /* fork error */
-+ perror("fork");
- do_exit(2);
-+ } else if (child==0) { /* in child */
-+ close (pipefd[0]); /* child doesn't need read side of pipe */
-+ close (1); /* prepare to replace stdout with pipe */
-+ if (dup2 (pipefd[1], 1)<0) { /* replace stdout with write side of pipe */
-+ perror("dup2");
-+ exit(3);
-+ }
-+ dup2(1, 2); /* stderr should default to stdout */
-+
-+ if (option_exec) { /* pass command to exec instead of system */
-+ if (execvp(command_argv[0], command_argv)==-1) {
-+ perror("exec");
-+ exit(4);
-+ }
-+ } else {
-+ status=system(command); /* watch manpage promises sh quoting */
-+
-+ /* propagate command exit status as child exit status */
-+ if (!WIFEXITED(status)) { /* child exits nonzero if command does */
-+ exit(1);
-+ } else {
-+ exit(WEXITSTATUS(status));
-+ }
-+ }
-+
-+ }
-+
-+ /* otherwise, we're in parent */
-+ close(pipefd[1]); /* close write side of pipe */
-+ if ((p=fdopen(pipefd[0], "r"))==NULL) {
-+ perror("fdopen");
-+ do_exit(5);
- }
-
-+
- for (y = show_title; y < height; y++) {
- int eolseen = 0, tabpending = 0;
- for (x = 0; x < width; x++) {
-@@ -313,7 +384,19 @@ main(int argc, char *argv[])
- oldeolseen = eolseen;
- }
-
-- pclose(p);
-+ fclose(p);
-+
-+ /* harvest child process and get status, propagated from command */
-+ if (waitpid(child, &status, 0)<0) {
-+ perror("waitpid");
-+ do_exit(8);
-+ };
-+
-+ /* if child process exited in error, beep if option_beep is set */
-+ if ((!WIFEXITED(status) || WEXITSTATUS(status))) {
-+ if (option_beep) beep();
-+ if (option_errexit) do_exit(8);
-+ }
-
- first_screen = 0;
- refresh();
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0037-path_max.patch b/patches/procps-3.2.8/0037-path_max.patch
deleted file mode 100644
index 986846c..0000000
--- a/patches/procps-3.2.8/0037-path_max.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 3bf20a04ddbdf435e20a190dc45cabb5d02c7b68 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 37/70] path_max
-
-===================================================================
----
- proc/readproc.c | 2 +-
- pwdx.c | 20 ++++++++++++++++----
- 2 files changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/proc/readproc.c b/proc/readproc.c
-index 0386a63..d3e85a3 100644
---- a/proc/readproc.c
-+++ b/proc/readproc.c
-@@ -1036,7 +1036,7 @@ proc_data_t *readproctab2(int(*want_proc)(proc_t *buf), int(*want_task)(proc_t *
- * and filled out proc_t structure.
- */
- proc_t * get_proc_stats(pid_t pid, proc_t *p) {
-- static char path[PATH_MAX], sbuf[1024];
-+ static char path[32], sbuf[1024];
- struct stat statbuf;
-
- sprintf(path, "/proc/%d", pid);
-diff --git a/pwdx.c b/pwdx.c
-index cb96a52..3e88f3c 100644
---- a/pwdx.c
-+++ b/pwdx.c
-@@ -35,7 +35,6 @@ static void version(void)
-
- int main(int argc, char* argv[])
- {
-- char buf[PATH_MAX+1];
- regex_t re;
- int i;
-
-@@ -59,6 +58,7 @@ int main(int argc, char* argv[])
-
- for (i = 1; i < argc; i++) {
- if (regexec(&re, argv[i], 0, NULL, 0) != 0) {
-+ char buf[27 + strlen (argv[i]) + 1]; // Constant 27 is the length of the error string "pwdx: ... "
- snprintf(buf, sizeof buf, "pwdx: invalid process id: %s\n", argv[i]);
- die(buf);
- }
-@@ -68,9 +68,13 @@ int main(int argc, char* argv[])
-
- regfree(&re);
-
-+ int alloclen = 128;
-+ char *pathbuf = malloc(alloclen);
-+
- for (i = 1; i < argc; i++) {
-- char * s = buf;
-+ char * s;
- int len;
-+ char buf[10 + strlen(argv[i]) + 1]; // Constant 10 is the length of strings "/proc/" + "/cwd" + 1
-
- // At this point, all arguments are in the form /proc/nnnn
- // or nnnn, so a simple check based on the first char is
-@@ -82,14 +86,22 @@ int main(int argc, char* argv[])
-
- // buf contains /proc/nnnn/cwd symlink name on entry, the
- // target of that symlink on return
-- if ((len = readlink(buf, buf, PATH_MAX)) < 0) {
-+ while ((len = readlink(buf, pathbuf, alloclen)) == alloclen) {
-+ alloclen *= 2;
-+ pathbuf = realloc(pathbuf, alloclen);
-+ }
-+
-+ if (len < 0) {
- s = strerror(errno == ENOENT ? ESRCH : errno);
- } else {
-- buf[len] = 0;
-+ pathbuf[len] = 0;
-+ s = pathbuf;
- }
-
- printf("%s: %s\n", argv[i], s);
- }
-
-+ free(pathbuf);
-+
- return 0;
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0038-w_envlength.patch b/patches/procps-3.2.8/0038-w_envlength.patch
deleted file mode 100644
index 501e86a..0000000
--- a/patches/procps-3.2.8/0038-w_envlength.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From fcc63581dff12b8d5603c0787091af1a1f1d7c89 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 38/70] w_envlength
-
-===================================================================
----
- w.1 | 10 +++++++++-
- w.c | 53 ++++++++++++++++++++++++++++++++++++-----------------
- 2 files changed, 45 insertions(+), 18 deletions(-)
-
-diff --git a/w.1 b/w.1
-index a13cc81..d51e490 100644
---- a/w.1
-+++ b/w.1
-@@ -1,6 +1,6 @@
- .\" -*-Nroff-*-
- .\"
--.TH W 1 "8 Dec 1993 " " " "Linux User's Manual"
-+.TH W 1 "5 October 2009 " " " "Linux User's Manual"
- .SH NAME
- w \- Show who is logged on and what they are doing.
- .SH SYNOPSIS
-@@ -61,6 +61,14 @@ Old style output. Prints blank space for idle times less than one minute.
- .B "user "
- Show information about the specified user only.
-
-+.SH ENVIRONMENT
-+.TP
-+PROCPS_USERLEN
-+Override the default width of the username column. Defaults to 8.
-+.TP
-+PROCPS_FROMLEN
-+Override the default width of the from column. Defaults to 16.
-+
- .SH FILES
- .TP
- .I /var/run/utmp
-diff --git a/w.c b/w.c
-index 2077338..48a02be 100644
---- a/w.c
-+++ b/w.c
-@@ -44,20 +44,19 @@ typedef struct utmp utmp_t;
- /* Uh... same thing as UT_NAMESIZE */
- #define USERSZ (sizeof u->ut_user)
-
-+/* Arbitary setting, not too big for the screen, max host size */
-+#define HOSTSZ 40
-+
-
- /* This routine is careful since some programs leave utmp strings
-- * unprintable. Always outputs at least 16 chars padded with spaces
-+ * unprintable. Always outputs at least fromlen chars padded with spaces
- * on the right if necessary.
- */
--static void print_host(const char *restrict host, int len) {
-+static void print_host(const char *restrict host, int len, const int fromlen) {
- const char *last;
- int width = 0;
-
-- /* FIXME: there should really be a way to configure this... */
-- /* for now, we'll just limit it to the 16 that the libc5 version
-- * of utmp uses.
-- */
-- if (len > 16) len = 16;
-+ if (len > fromlen) len = fromlen;
- last = host + len;
- for ( ; host < last ; host++){
- if (isprint(*host) && *host != ' ') {
-@@ -68,7 +67,8 @@ static void print_host(const char *restrict host, int len) {
- }
- }
- // space-fill, and a '-' too if needed to ensure the column exists
-- if(width < 16) fputs("- "+width, stdout);
-+ while(width++ < fromlen)
-+ fputc(' ',stdout);
- }
-
- /***** compact 7 char format for time intervals (belongs in libproc?) */
-@@ -180,7 +180,7 @@ static const proc_t *getproc(const utmp_t *restrict const u, const char *restric
-
-
- /***** showinfo */
--static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) {
-+static void showinfo(utmp_t *u, int formtype, int maxcmd, int from, const int userlen, const int fromlen) {
- unsigned long long jcpu;
- int ut_pid_found;
- unsigned i;
-@@ -205,9 +205,9 @@ static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) {
-
- strncpy(uname, u->ut_user, USERSZ); /* force NUL term for printf */
- if (formtype) {
-- printf("%-9.8s%-9.8s", uname, u->ut_line);
-+ printf("%-*.*s%-9.8s", userlen+1, userlen, uname, u->ut_line);
- if (from)
-- print_host(u->ut_host, sizeof u->ut_host);
-+ print_host(u->ut_host, sizeof u->ut_host, fromlen);
- print_logintime(u->ut_time, stdout);
- if (*u->ut_line == ':') /* idle unknown for xdm logins */
- printf(" ?xdm? ");
-@@ -220,9 +220,9 @@ static void showinfo(utmp_t *u, int formtype, int maxcmd, int from) {
- } else
- printf(" ? ");
- } else {
-- printf("%-9.8s%-9.8s", u->ut_user, u->ut_line);
-+ printf("%-*.*s%-9.8s", userlen+1, userlen, u->ut_user, u->ut_line);
- if (from)
-- print_host(u->ut_host, sizeof u->ut_host);
-+ print_host(u->ut_host, sizeof u->ut_host, fromlen);
- if (*u->ut_line == ':') /* idle unknown for xdm logins */
- printf(" ?xdm? ");
- else
-@@ -245,6 +245,9 @@ int main(int argc, char **argv) {
- utmp_t *u;
- struct winsize win;
- int header=1, longform=1, from=1, args, maxcmd, ch;
-+ int userlen = 8;
-+ int fromlen = 16;
-+ char *env_var;
-
- #ifndef W_SHOWFROM
- from = 0;
-@@ -275,6 +278,22 @@ int main(int argc, char **argv) {
- if ((argv[optind]))
- user = (argv[optind]);
-
-+ /* Get user field length from environment */
-+ if ( (env_var = getenv("PROCPS_USERLEN")) != NULL) {
-+ userlen = atoi(env_var);
-+ if (userlen < 8 || userlen > USERSZ) {
-+ fprintf(stderr, "User length environment PROCPS_USERLEN must be between 8 and %d, ignoring.\n", USERSZ);
-+ userlen=8;
-+ }
-+ }
-+ /* Get from field length from environment */
-+ if ( (env_var = getenv("PROCPS_FROMLEN")) != NULL) {
-+ fromlen = atoi(env_var);
-+ if (fromlen < 8 || fromlen > HOSTSZ) {
-+ fprintf(stderr, "From length environment PROCPS_FROMLEN must be between 8 and %d, ignoring.\n", HOSTSZ);
-+ fromlen=16;
-+ }
-+ }
- if (ioctl(1, TIOCGWINSZ, &win) != -1 && win.ws_col > 0)
- maxcmd = win.ws_col;
- else if (p = getenv("COLUMNS"))
-@@ -285,7 +304,7 @@ int main(int argc, char **argv) {
- fprintf(stderr, "%d column window is too narrow\n", maxcmd);
- exit(1);
- }
-- maxcmd -= 29 + (from ? 16 : 0) + (longform ? 20 : 0);
-+ maxcmd -= 21 + userlen + (from ? fromlen : 0) + (longform ? 20 : 0);
- if (maxcmd < 3)
- fprintf(stderr, "warning: screen width %d suboptimal.\n", win.ws_col);
-
-@@ -293,7 +312,7 @@ int main(int argc, char **argv) {
-
- if (header) { /* print uptime and headers */
- print_uptime();
-- printf("USER TTY ");
-+ printf("%-*s TTY ",userlen,"USER");
- if (from)
- printf("FROM ");
- if (longform)
-@@ -309,14 +328,14 @@ int main(int argc, char **argv) {
- u = getutent();
- if (unlikely(!u)) break;
- if (u->ut_type != USER_PROCESS) continue;
-- if (!strncmp(u->ut_user, user, USERSZ)) showinfo(u, longform, maxcmd, from);
-+ if (!strncmp(u->ut_user, user, USERSZ)) showinfo(u, longform, maxcmd, from, userlen, fromlen);
- }
- } else {
- for (;;) {
- u = getutent();
- if (unlikely(!u)) break;
- if (u->ut_type != USER_PROCESS) continue;
-- if (*u->ut_user) showinfo(u, longform, maxcmd, from);
-+ if (*u->ut_user) showinfo(u, longform, maxcmd, from, userlen, fromlen);
- }
- }
- endutent();
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0039-gnu-kbsd-version.patch b/patches/procps-3.2.8/0039-gnu-kbsd-version.patch
deleted file mode 100644
index 01f0417..0000000
--- a/patches/procps-3.2.8/0039-gnu-kbsd-version.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 9f1caa3ae8d638b24356f4d4e12b3c88aa2451a9 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 39/70] gnu-kbsd-version
-
-===================================================================
----
- proc/version.c | 20 ++++++++++++++------
- 1 files changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/proc/version.c b/proc/version.c
-index 69bae4f..96ffb7f 100644
---- a/proc/version.c
-+++ b/proc/version.c
-@@ -35,15 +35,23 @@ int linux_version_code;
-
- static void init_Linux_version(void) __attribute__((constructor));
- static void init_Linux_version(void) {
-- static struct utsname uts;
- int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
-+ FILE *fp;
-+ char buf[256];
-
-- if (uname(&uts) == -1) /* failure implies impending death */
-- exit(1);
-- if (sscanf(uts.release, "%d.%d.%d", &x, &y, &z) < 3)
-+ if ( (fp=fopen("/proc/version","r")) == NULL) /* failure implies impending death */
-+ exit(1);
-+ if (fgets(buf, 256, fp) == NULL) {
-+ fprintf(stderr, "Cannot read kernel version from /proc/version\n");
-+ fclose(fp);
-+ exit(1);
-+ }
-+ fclose(fp);
-+ if (sscanf(buf, "Linux version %d.%d.%d", &x, &y, &z) < 3)
- fprintf(stderr, /* *very* unlikely to happen by accident */
- "Non-standard uts for running kernel:\n"
-- "release %s=%d.%d.%d gives version code %d\n",
-- uts.release, x, y, z, LINUX_VERSION(x,y,z));
-+ "release %s=%d.%d.%d gives version code %d\n",
-+ buf,
-+ x, y, z, LINUX_VERSION(x,y,z));
- linux_version_code = LINUX_VERSION(x, y, z);
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0040-pgrep_c_option.patch b/patches/procps-3.2.8/0040-pgrep_c_option.patch
deleted file mode 100644
index 76f2bb6..0000000
--- a/patches/procps-3.2.8/0040-pgrep_c_option.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 1eddc716164481ece7fd1c00850e9891b4d55269 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 40/70] pgrep_c_option
-
-===================================================================
----
- pgrep.1 | 5 ++++-
- pgrep.c | 20 ++++++++++++++------
- 2 files changed, 18 insertions(+), 7 deletions(-)
-
-diff --git a/pgrep.1 b/pgrep.1
-index ae2edc2..9152799 100644
---- a/pgrep.1
-+++ b/pgrep.1
-@@ -7,7 +7,7 @@
- pgrep, pkill \- look up or signal processes based on name and other attributes
-
- .SH SYNOPSIS
--pgrep [\-flvx] [\-d \fIdelimiter\fP] [\-n|\-o] [\-P \fIppid\fP,...] [\-g \fIpgrp\fP,...]
-+pgrep [\-cflvx] [\-d \fIdelimiter\fP] [\-n|\-o] [\-P \fIppid\fP,...] [\-g \fIpgrp\fP,...]
- .br
- [\-s \fIsid\fP,...] [\-u \fIeuid\fP,...] [\-U \fIuid\fP,...] [\-G \fIgid\fP,...]
- .br
-@@ -38,6 +38,9 @@ to each process instead of listing them on stdout.
-
- .SH OPTIONS
- .TP
-+\-c
-+Suppress normal output; instead print a count of matching processes.
-+.TP
- \-d \fIdelimiter\fP
- Sets the string used to delimit each process ID in the output (by
- default a newline). (\fBpgrep\fP only.)
-diff --git a/pgrep.c b/pgrep.c
-index 609cabd..33cbed8 100644
---- a/pgrep.c
-+++ b/pgrep.c
-@@ -54,6 +54,7 @@ static int opt_oldest = 0;
- static int opt_newest = 0;
- static int opt_negate = 0;
- static int opt_exact = 0;
-+static int opt_count = 0;
- static int opt_signal = SIGTERM;
- static int opt_lock = 0;
- static int opt_case = 0;
-@@ -79,7 +80,7 @@ static int usage (int opt)
- if (i_am_pkill)
- fprintf (fp, "Usage: pkill [-SIGNAL] [-fvx] ");
- else
-- fprintf (fp, "Usage: pgrep [-flvx] [-d DELIM] ");
-+ fprintf (fp, "Usage: pgrep [-cflvx] [-d DELIM] ");
- fprintf (fp, "[-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]\n"
- "\t[-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] "
- "[PATTERN]\n");
-@@ -565,7 +566,7 @@ static void parse_opts (int argc, char **argv)
- strcat (opts, "ld:");
- }
-
-- strcat (opts, "LF:fnovxP:g:s:u:U:G:t:?V");
-+ strcat (opts, "LF:cfnovxP:g:s:u:U:G:t:?V");
-
- while ((opt = getopt (argc, argv, opts)) != -1) {
- switch (opt) {
-@@ -613,6 +614,9 @@ static void parse_opts (int argc, char **argv)
- exit(EXIT_SUCCESS);
- // case 'c': // Solaris: match by contract ID
- // break;
-+ case 'c':
-+ opt_count = 1;
-+ break;
- case 'd': // Solaris: change the delimiter
- opt_delim = strdup (optarg);
- break;
-@@ -724,10 +728,14 @@ int main (int argc, char *argv[])
- procs[i].num, strerror (errno));
- }
- } else {
-- if (opt_long)
-- output_strlist(procs,num);
-- else
-- output_numlist(procs,num);
-+ if (opt_count) {
-+ fprintf(stdout, "%ld\n", num);
-+ } else {
-+ if (opt_long)
-+ output_strlist (procs,num);
-+ else
-+ output_numlist (procs,num);
-+ }
- }
- return !num; // exit(EXIT_SUCCESS) if match, otherwise exit(EXIT_FAILURE)
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0041-ps_cgroup_display.patch b/patches/procps-3.2.8/0041-ps_cgroup_display.patch
deleted file mode 100644
index 3e1a346..0000000
--- a/patches/procps-3.2.8/0041-ps_cgroup_display.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From e4eb468ea41f912a0d76c194c06549449e21ea8c Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 41/70] ps_cgroup_display
-
-===================================================================
----
- proc/readproc.c | 15 ++++++++++++++-
- proc/readproc.h | 3 +++
- ps/display.c | 11 +++++++----
- ps/output.c | 23 ++++++++++++++++++++++-
- 4 files changed, 46 insertions(+), 6 deletions(-)
-
-diff --git a/proc/readproc.c b/proc/readproc.c
-index d3e85a3..19d99b2 100644
---- a/proc/readproc.c
-+++ b/proc/readproc.c
-@@ -598,6 +598,17 @@ static proc_t* simple_readproc(PROCTAB *restrict const PT, proc_t *restrict cons
- p->environ = file2strvec(path, "environ");
- else
- p->environ = NULL;
-+
-+ if(linux_version_code>=LINUX_VERSION(2,6,24) && (flags & PROC_FILLCGROUP)) {
-+ p->cgroup = file2strvec(path, "cgroup"); /* read /proc/#/cgroup */
-+ if(p->cgroup && *p->cgroup) {
-+ int i = strlen(*p->cgroup);
-+ if( (*p->cgroup)[i-1]=='\n' )
-+ (*p->cgroup)[i-1] = ' '; //little hack to remove trailing \n
-+ }
-+ }
-+ else
-+ p->cgroup = NULL;
-
- return p;
- next_proc:
-@@ -686,7 +697,7 @@ static proc_t* simple_readtask(PROCTAB *restrict const PT, const proc_t *restric
- t->cmdline = p->cmdline; // better not free these until done with all threads!
- t->environ = p->environ;
- #endif
--
-+ t->cgroup = p->cgroup;
- t->ppid = p->ppid; // ought to put the per-task ppid somewhere
-
- return t;
-@@ -896,6 +907,8 @@ void freeproc(proc_t* p) {
- free((void*)*p->cmdline);
- if (p->environ)
- free((void*)*p->environ);
-+ if (p->cgroup)
-+ free((void*)*p->cgroup);
- free(p);
- }
-
-diff --git a/proc/readproc.h b/proc/readproc.h
-index a953b29..3a9aecf 100644
---- a/proc/readproc.h
-+++ b/proc/readproc.h
-@@ -139,6 +139,7 @@ typedef struct proc_t {
- tpgid, // stat terminal process group id
- exit_signal, // stat might not be SIGCHLD
- processor; // stat current (or most recent?) CPU
-+ char **cgroup; // cgroup current cgroup, looks like a classic filepath
- } proc_t;
-
- // PROCTAB: data structure holding the persistent information readproc needs
-@@ -239,6 +240,8 @@ extern proc_t * get_proc_stats(pid_t pid, proc_t *p);
-
- #define PROC_LOOSE_TASKS 0x0200 // threat threads as if they were processes
-
-+#define PROC_FILLCGROUP 0x0400 // alloc and fill in `cgroup`
-+
- // Obsolete, consider only processes with one of the passed:
- #define PROC_PID 0x1000 // process id numbers ( 0 terminated)
- #define PROC_UID 0x4000 // user id numbers ( length needed )
-diff --git a/ps/display.c b/ps/display.c
-index 4574b9c..3d6bbde 100644
---- a/ps/display.c
-+++ b/ps/display.c
-@@ -223,8 +223,7 @@ static unsigned task_format_needs;
-
- #define needs_for_format (proc_format_needs|task_format_needs)
-
--#define PROC_ONLY_FLAGS (PROC_FILLENV|PROC_FILLARG|PROC_FILLCOM|PROC_FILLMEM)
--
-+#define PROC_ONLY_FLAGS (PROC_FILLENV|PROC_FILLARG|PROC_FILLCOM|PROC_FILLMEM|PROC_FILLCGROUP)
- /***** munge lists and determine openproc() flags */
- static void lists_and_needs(void){
- check_headers();
-@@ -342,6 +341,7 @@ static void simple_spew(void){
- }
- if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
- if(buf.environ) free((void*)*buf.environ); // ought to reuse
-+ if(buf.cgroup) free((void*)*buf.cgroup);
- }
- break;
- case TF_show_proc|TF_loose_tasks: // H option
-@@ -354,6 +354,7 @@ static void simple_spew(void){
- }
- if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
- if(buf.environ) free((void*)*buf.environ); // ought to reuse
-+ if(buf.cgroup) free((void*)*buf.cgroup);
- }
- break;
- case TF_show_proc|TF_show_task: // m and -m options
-@@ -366,7 +367,8 @@ static void simple_spew(void){
- }
- if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
- if(buf.environ) free((void*)*buf.environ); // ought to reuse
-- }
-+ if(buf.cgroup) free((void*)*buf.cgroup);
-+ }
- break;
- case TF_show_task: // -L and -T options
- while(readproc(ptp,&buf)){
-@@ -377,7 +379,8 @@ static void simple_spew(void){
- }
- if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
- if(buf.environ) free((void*)*buf.environ); // ought to reuse
-- }
-+ if(buf.cgroup) free((void*)*buf.cgroup);
-+ }
- break;
- }
- closeproc(ptp);
-diff --git a/ps/output.c b/ps/output.c
-index b4fb3df..a165ed5 100644
---- a/ps/output.c
-+++ b/ps/output.c
-@@ -376,6 +376,26 @@ static int pr_args(char *restrict const outbuf, const proc_t *restrict const pp)
- return max_rightward-rightward;
- }
-
-+static int pr_cgroup(char *restrict const outbuf,const proc_t *restrict const pp) {
-+ if(pp->cgroup && *pp->cgroup) {
-+ char *endp = outbuf;
-+ int rightward=max_rightward;
-+ if(forest_prefix){
-+ int fh = forest_helper(outbuf);
-+ endp += fh;
-+ rightward -= fh;
-+ }
-+ if(rightward>1){
-+ *endp++ = ' ';
-+ rightward--;
-+ endp += escape_str(endp, *pp->cgroup, OUTBUF_SIZE, &rightward);
-+ }
-+ return max_rightward-rightward;
-+ }
-+ else
-+ return pr_nop(outbuf,pp);
-+}
-+
- /* "ucomm" is the same thing: short unless -f */
- static int pr_comm(char *restrict const outbuf, const proc_t *restrict const pp){
- char *endp = outbuf;
-@@ -1274,7 +1294,7 @@ static int pr_t_left2(char *restrict const outbuf, const proc_t *restrict const
- #define GRP PROC_FILLGRP /* gid_t -> group names */
- #define WCH PROC_FILLWCHAN /* do WCHAN lookup */
-
--
-+#define CGRP PROC_FILLCGROUP /* read cgroup */
- /* TODO
- * pull out annoying BSD aliases into another table (to macro table?)
- * add sorting functions here (to unify names)
-@@ -1310,6 +1330,7 @@ static const format_struct format_array[] = {
- {"bsdtime", "TIME", pr_bsdtime, sr_nop, 6, 0, LNX, ET|RIGHT},
- {"c", "C", pr_c, sr_pcpu, 2, 0, SUN, ET|RIGHT},
- {"caught", "CAUGHT", pr_sigcatch, sr_nop, 9, 0, BSD, TO|SIGNAL}, /*sigcatch*/
-+{"cgroup", "CGROUP", pr_cgroup, sr_nop, 27, CGRP, LNX, PO|UNLIMITED},
- {"class", "CLS", pr_class, sr_sched, 3, 0, XXX, TO|LEFT},
- {"cls", "CLS", pr_class, sr_sched, 3, 0, HPU, TO|RIGHT}, /*says HPUX or RT*/
- {"cmaj_flt", "-", pr_nop, sr_cmaj_flt, 1, 0, LNX, AN|RIGHT},
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0042-watch_precision_time.patch b/patches/procps-3.2.8/0042-watch_precision_time.patch
deleted file mode 100644
index a5c047d..0000000
--- a/patches/procps-3.2.8/0042-watch_precision_time.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From 6c6919c283c78b453320c344889de5892449b11c Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 42/70] watch_precision_time
-
-===================================================================
----
- watch.1 | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
- watch.c | 31 +++++++++++++++++++++++++++++--
- 2 files changed, 80 insertions(+), 5 deletions(-)
-
-diff --git a/watch.1 b/watch.1
-index 802ab84..40e6c8e 100644
---- a/watch.1
-+++ b/watch.1
-@@ -4,7 +4,7 @@ watch \- execute a program periodically, showing output fullscreen
- .SH SYNOPSIS
- .na
- .B watch
--.RB [ \-bdehvtx ]
-+.RB [ \-bdehpvtx ]
- .RB [ \-n
- .IR seconds ]
- .RB [ \-\-beep ]
-@@ -14,6 +14,7 @@ watch \- execute a program periodically, showing output fullscreen
- .RB [ \-\-help ]
- .RB [ \-\-interval=\fIseconds\fP]
- .RB [ \-\-no\-title ]
-+.RB [ \-\-precise ]
- .RB [ \-\-version ]
- .I command
- .SH DESCRIPTION
-@@ -27,7 +28,24 @@ every 2 seconds; use
- .B \-n
- or
- .B \-\-interval
--to specify a different interval.
-+to specify a different interval. Normally, this interval is interpreted
-+as the amout of time between the completion of one run of
-+.I command
-+and the beginning of the next run. However, with the
-+.I \-p
-+or
-+.I \-\-precise
-+option, you can make
-+.BR watch
-+attempt to run
-+.I command
-+every
-+.I interval
-+seconds. Try it with
-+.B ntptime
-+and notice how the fractional seconds stays
-+(nearly) the same, as opposed to normal mode where they continuously
-+increase.
- .PP
- The
- .B \-d
-@@ -97,11 +115,21 @@ watch echo '$$'
- .br
- watch echo "'"'$$'"'"
- .PP
-+To see the effect of precision time keeping, try adding
-+.I \-p
-+to
-+.IP
-+watch \-n 10 sleep 1
-+.PP
- You can watch for your administrator to install the latest kernel with
- .IP
- watch uname \-r
- .PP
--(Just kidding.)
-+(Note that
-+.I \-p
-+isn't guaranteed to work across reboots, especially in the face of
-+.B ntpdate
-+or other bootup time-changing mechanisms)
- .SH BUGS
- Upon terminal resize, the screen will not be correctly repainted until the
- next scheduled update. All
-@@ -110,6 +138,22 @@ highlighting is lost on that update as well.
- .PP
- Non-printing characters are stripped from program output. Use "cat -v" as
- part of the command pipeline if you want to see them.
-+.PP
-+.I \-\-precise
-+mode doesn't yet have advanced temporal distortion technology to
-+compensate for a
-+.I command
-+that takes more than
-+.I interval
-+seconds to execute.
-+.B watch
-+also can get into a state where it rapid-fires as many executions of
-+.I command
-+as it can to catch up from a previous executions running longer than
-+.I interval
-+(for example,
-+.B netstat
-+taking ages on a DNS lookup).
- .SH AUTHORS
- The original
- .B watch
-@@ -117,3 +161,7 @@ was written by Tony Rems <rembo@unisoft.com> in 1991, with mods and
- corrections by Francois Pinard. It was reworked and new features added by
- Mike Coleman <mkc@acm.org> in 1999. The beep, exec, and error handling
- features were added by Morty Abzug <morty@frakir.org> in 2008.
-+On a not so dark and stormy morning
-+in March of 2003, Anthony DeRobertis <asd@suespammers.org> got sick of
-+his watches that should update every minute eventually updating many
-+seconds after the minute started, and added microsecond precision.
-diff --git a/watch.c b/watch.c
-index acb152f..c7369b6 100644
---- a/watch.c
-+++ b/watch.c
-@@ -21,6 +21,7 @@
- #include <stdlib.h>
- #include <string.h>
- #include <sys/ioctl.h>
-+#include <sys/time.h>
- #include <time.h>
- #include <unistd.h>
- #include <termios.h>
-@@ -39,13 +40,14 @@ static struct option longopts[] = {
- {"beep", no_argument, 0, 'b'},
- {"errexit", no_argument, 0, 'e'},
- {"exec", no_argument, 0, 'x'},
-+ {"precise", no_argument, 0, 'p'},
- {"no-title", no_argument, 0, 't'},
- {"version", no_argument, 0, 'v'},
- {0, 0, 0, 0}
- };
-
- static char usage[] =
-- "Usage: %s [-bdhntvx] [--beep] [--differences[=cumulative]] [--exec] [--help] [--interval=<n>] [--no-title] [--version] <command>\n";
-+ "Usage: %s [-bdhnptvx] [--beep] [--differences[=cumulative]] [--exec] [--help] [--interval=<n>] [--no-title] [--version] <command>\n";
-
- static char *progname;
-
-@@ -54,6 +56,7 @@ static int height = 24, width = 80;
- static int screen_size_changed = 0;
- static int first_screen = 1;
- static int show_title = 2; // number of lines used, 2 or 0
-+static int precise_timekeeping = 0;
-
- #define min(x,y) ((x) > (y) ? (y) : (x))
-
-@@ -138,6 +141,15 @@ get_terminal_size(void)
- }
- }
-
-+/* get current time in usec */
-+typedef unsigned long long watch_usec_t;
-+#define USECS_PER_SEC (1000000ull)
-+watch_usec_t get_time_usec() {
-+ struct timeval now;
-+ gettimeofday(&now, NULL);
-+ return USECS_PER_SEC*now.tv_sec + now.tv_usec;
-+}
-+
- int
- main(int argc, char *argv[])
- {
-@@ -152,6 +164,8 @@ main(int argc, char *argv[])
- char *command;
- char **command_argv;
- int command_length = 0; /* not including final \0 */
-+ watch_usec_t next_loop; /* next loop time in us, used for precise time
-+ keeping only */
- int pipefd[2];
- int status;
- pid_t child;
-@@ -159,7 +173,7 @@ main(int argc, char *argv[])
- setlocale(LC_ALL, "");
- progname = argv[0];
-
-- while ((optc = getopt_long(argc, argv, "+bed::hn:vtx", longopts, (int *) 0))
-+ while ((optc = getopt_long(argc, argv, "+bed::hn:pvtx", longopts, (int *) 0))
- != EOF) {
- switch (optc) {
- case 'b':
-@@ -194,6 +208,9 @@ main(int argc, char *argv[])
- interval = ~0u/1000000;
- }
- break;
-+ case 'p':
-+ precise_timekeeping = 1;
-+ break;
- case 'v':
- option_version = 1;
- break;
-@@ -217,6 +234,7 @@ main(int argc, char *argv[])
- fputs(" -e, --errexit\t\t\t\texit watch if the command has a non-zero exit\n", stderr);
- fputs(" -h, --help\t\t\t\tprint a summary of the options\n", stderr);
- fputs(" -n, --interval=<seconds>\t\tseconds to wait between updates\n", stderr);
-+ fputs(" -p, --precise\t\t\t\tprecise timing, ignore command run time\n", stderr);
- fputs(" -v, --version\t\t\t\tprint the version number\n", stderr);
- fputs(" -t, --no-title\t\t\tturns off showing the header\n", stderr);
- fputs(" -x, --exec\t\t\t\tpass command to exec instead of sh\n", stderr);
-@@ -256,6 +274,9 @@ main(int argc, char *argv[])
- noecho();
- cbreak();
-
-+ if (precise_timekeeping)
-+ next_loop = get_time_usec();
-+
- for (;;) {
- time_t t = time(NULL);
- char *ts = ctime(&t);
-@@ -400,6 +421,12 @@ main(int argc, char *argv[])
-
- first_screen = 0;
- refresh();
-+ if (precise_timekeeping) {
-+ watch_usec_t cur_time = get_time_usec();
-+ next_loop += USECS_PER_SEC*interval;
-+ if (cur_time < next_loop)
-+ usleep(next_loop - cur_time);
-+ } else
- usleep(interval * 1000000);
- }
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0043-watch_unicode.patch b/patches/procps-3.2.8/0043-watch_unicode.patch
deleted file mode 100644
index 734eba6..0000000
--- a/patches/procps-3.2.8/0043-watch_unicode.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-From 82851661382a9411a8b288ffb374488ab4a13649 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 43/70] watch_unicode
-
----
- AUTHORS | 1 +
- Makefile | 5 +-
- watch.1 | 12 +++++
- watch.c | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++----------
- 4 files changed, 135 insertions(+), 25 deletions(-)
-
-diff --git a/AUTHORS b/AUTHORS
-index 0860b24..d861b4b 100644
---- a/AUTHORS
-+++ b/AUTHORS
-@@ -47,4 +47,5 @@ Charles Blake
- watch:
- Tony Rems <rembo@unisoft.com>
- Mike Coleman <mkc@acm.org>
-+Jarrod Lowe <procps@rrod.net>
-
-diff --git a/Makefile b/Makefile
-index 09fb3ed..06728fc 100644
---- a/Makefile
-+++ b/Makefile
-@@ -68,6 +68,7 @@ TARFILES := AUTHORS BUGS NEWS README TODO COPYING COPYING.LIB \
- _TARFILES := Makefile
-
- CURSES := -lncurses
-+CURSESW := -lncursesw
-
- # This seems about right for the dynamic library stuff.
- # Something like this is probably needed to make the SE Linux
-@@ -119,7 +120,7 @@ ifneq ($(MAKECMDGOALS),beta)
- # Unlike the kernel one, this check_gcc goes all the way to
- # producing an executable. There might be a -m64 that works
- # until you go looking for a 64-bit curses library.
--check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
-+check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) $(CURSESW) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
-
- # Be 64-bit if at all possible. In a cross-compiling situation, one may
- # do "make m64=-m32 lib64=lib" to produce 32-bit executables. DO NOT
-@@ -250,7 +251,7 @@ slabtop top: % : %.o $(LIBPROC)
- $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
-
- watch: % : %.o
-- $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSES)
-+ $(CC) $(ALL_CFLAGS) $^ $(ALL_LDFLAGS) -o $@ $(CURSESW)
-
- ############ progX --> progY
-
-diff --git a/watch.1 b/watch.1
-index 40e6c8e..c5f17c4 100644
---- a/watch.1
-+++ b/watch.1
-@@ -139,6 +139,17 @@ highlighting is lost on that update as well.
- Non-printing characters are stripped from program output. Use "cat -v" as
- part of the command pipeline if you want to see them.
- .PP
-+Combining Characters that are supposed to display on the character at the
-+last column on the screen may display one column early, or they may not
-+display at all.
-+.PP
-+Combining Characters never count as different in
-+.I \-\-differences
-+mode. Only the base character counts.
-+.PP
-+Blank lines directly after a line which ends in the last column do not
-+display.
-+.PP
- .I \-\-precise
- mode doesn't yet have advanced temporal distortion technology to
- compensate for a
-@@ -165,3 +176,4 @@ On a not so dark and stormy morning
- in March of 2003, Anthony DeRobertis <asd@suespammers.org> got sick of
- his watches that should update every minute eventually updating many
- seconds after the minute started, and added microsecond precision.
-+Unicode support was added in 2009 by Jarrod Lowe <procps@rrod.net>.
-diff --git a/watch.c b/watch.c
-index c7369b6..7ab57ab 100644
---- a/watch.c
-+++ b/watch.c
-@@ -9,14 +9,16 @@
- *
- * Changes by Albert Cahalan, 2002-2003.
- * stderr handling, exec, and beep option added by Morty Abzug, 2008
-+ * Unicode Support added by Jarrod Lowe <procps@rrod.net> in 2009.
- */
-
--#define VERSION "0.2.0"
-+#define VERSION "0.3.0"
-
-+#include <wchar.h>
- #include <ctype.h>
- #include <getopt.h>
- #include <signal.h>
--#include <ncurses.h>
-+#include <ncursesw/ncurses.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -27,6 +29,7 @@
- #include <termios.h>
- #include <locale.h>
- #include "proc/procps.h"
-+#include <errno.h>
-
- #ifdef FORCE_8BIT
- #undef isprint
-@@ -150,6 +153,32 @@ watch_usec_t get_time_usec() {
- return USECS_PER_SEC*now.tv_sec + now.tv_usec;
- }
-
-+// read a wide character from a popen'd stream
-+#define MAX_ENC_BYTES 16
-+wint_t my_getwc(FILE *s);
-+wint_t my_getwc(FILE *s) {
-+ char i[MAX_ENC_BYTES]; //assuming no encoding ever consumes more than 16 bytes
-+ int byte = 0;
-+ int convert;
-+ int x;
-+ wchar_t rval;
-+ while(1) {
-+ i[byte] = getc(s);
-+ if (i[byte]==EOF) { return WEOF; }
-+ byte++;
-+ errno = 0;
-+ mbtowc(NULL, NULL, 0);
-+ convert = mbtowc(&rval, i, byte);
-+ x = errno;
-+ if(convert > 0) { return rval; } //legal conversion
-+ if(byte == MAX_ENC_BYTES) {
-+ while(byte > 1) { ungetc(i[--byte], s); } //at least *try* to fix up
-+ errno = -EILSEQ;
-+ return WEOF;
-+ }
-+ }
-+}
-+
- int
- main(int argc, char *argv[])
- {
-@@ -162,8 +191,11 @@ main(int argc, char *argv[])
- option_help = 0, option_version = 0;
- double interval = 2;
- char *command;
-+ wchar_t *wcommand = NULL;
- char **command_argv;
- int command_length = 0; /* not including final \0 */
-+ int wcommand_columns = 0; /* not including final \0 */
-+ int wcommand_characters = 0; /* not including final \0 */
- watch_usec_t next_loop; /* next loop time in us, used for precise time
- keeping only */
- int pipefd[2];
-@@ -259,6 +291,23 @@ main(int argc, char *argv[])
- command[command_length] = '\0';
- }
-
-+ // convert to wide for printing purposes
-+ //mbstowcs(NULL, NULL, 0);
-+ wcommand_characters = mbstowcs(NULL, command, 0);
-+ if(wcommand_characters < 0) {
-+ fprintf(stderr, "Unicode Handling Error\n");
-+ exit(1);
-+ }
-+ wcommand = (wchar_t*)malloc((wcommand_characters+1) * sizeof(wcommand));
-+ if(wcommand == NULL) {
-+ fprintf(stderr, "Unicode Handling Error (malloc)\n");
-+ exit(1);
-+ }
-+ mbstowcs(wcommand, command, wcommand_characters+1);
-+ wcommand_columns = wcswidth(wcommand, -1);
-+
-+
-+
- get_terminal_size();
-
- /* Catch keyboard interrupts so we can put tty back in a sane state. */
-@@ -298,12 +347,44 @@ main(int argc, char *argv[])
- if (show_title) {
- // left justify interval and command,
- // right justify time, clipping all to fit window width
-- asprintf(&header, "Every %.1fs: %.*s",
-- interval, min(width - 1, command_length), command);
-- mvaddstr(0, 0, header);
-- if (strlen(header) > (size_t) (width - tsl - 1))
-- mvaddstr(0, width - tsl - 4, "... ");
-- mvaddstr(0, width - tsl + 1, ts);
-+
-+ int hlen = asprintf(&header, "Every %.1fs: ", interval);
-+
-+ // the rules:
-+ // width < tsl : print nothing
-+ // width < tsl + hlen + 1: print ts
-+ // width = tsl + hlen + 1: print header, ts
-+ // width < tsl + hlen + 4: print header, ..., ts
-+ // width < tsl + hlen + wcommand_columns: print header, truncated wcommand, ..., ts
-+ // width > "": print header, wcomand, ts
-+ // this is slightly different from how it used to be
-+ if(width >= tsl) {
-+ if(width >= tsl + hlen + 1) {
-+ mvaddstr(0, 0, header);
-+ if(width >= tsl + hlen + 2) {
-+ if(width < tsl + hlen + 4) {
-+ mvaddstr(0, width - tsl - 4, "... ");
-+ }else{
-+ if(width < tsl + hlen + wcommand_columns) {
-+ // print truncated
-+ int avail_columns = width - tsl - hlen;
-+ int using_columns = wcommand_columns;
-+ int using_characters = wcommand_characters;
-+ while(using_columns > avail_columns - 4) {
-+ using_characters--;
-+ using_columns = wcswidth(wcommand, using_characters);
-+ }
-+ mvaddnwstr(0, hlen, wcommand, using_characters);
-+ mvaddstr(0, width - tsl - 4, "... ");
-+ }else{
-+ mvaddwstr(0, hlen, wcommand);
-+ }
-+ }
-+ }
-+ }
-+ mvaddstr(0, width - tsl + 1, ts);
-+ }
-+
- free(header);
- }
-
-@@ -360,47 +441,62 @@ main(int argc, char *argv[])
-
- for (y = show_title; y < height; y++) {
- int eolseen = 0, tabpending = 0;
-+ wint_t carry = WEOF;
- for (x = 0; x < width; x++) {
-- int c = ' ';
-+ wint_t c = L' ';
- int attr = 0;
-
- if (!eolseen) {
- /* if there is a tab pending, just spit spaces until the
- next stop instead of reading characters */
- if (!tabpending)
-- do
-- c = getc(p);
-- while (c != EOF && !isprint(c)
-- && c != '\n'
-- && c != '\t');
-- if (c == '\n')
-+ do {
-+ if(carry == WEOF) {
-+ c = my_getwc(p);
-+ }else{
-+ c = carry;
-+ carry = WEOF;
-+ }
-+ }while (c != WEOF && !isprint(c) && c<128
-+ && wcwidth(c) == 0
-+ && c != L'\n'
-+ && c != L'\t');
-+ if (c == L'\n')
- if (!oldeolseen && x == 0) {
- x = -1;
- continue;
- } else
- eolseen = 1;
-- else if (c == '\t')
-+ else if (c == L'\t')
- tabpending = 1;
-- if (c == EOF || c == '\n' || c == '\t')
-- c = ' ';
-+ if (x==width-1 && wcwidth(c)==2) {
-+ y++;
-+ x = -1; //process this double-width
-+ carry = c; //character on the next line
-+ continue; //because it won't fit here
-+ }
-+ if (c == WEOF || c == L'\n' || c == L'\t')
-+ c = L' ';
- if (tabpending && (((x + 1) % 8) == 0))
- tabpending = 0;
- }
- move(y, x);
- if (option_differences) {
-- chtype oldch = inch();
-- unsigned char oldc = oldch & A_CHARTEXT;
-+ cchar_t oldc;
-+ in_wch(&oldc);
- attr = !first_screen
-- && ((char)c != oldc
-+ && ((wchar_t)c != oldc.chars[0]
- ||
- (option_differences_cumulative
-- && (oldch & A_ATTRIBUTES)));
-+ && (oldc.attr & A_ATTRIBUTES)));
- }
- if (attr)
- standout();
-- addch(c);
-+ addnwstr((wchar_t*)&c,1);
- if (attr)
- standend();
-+ if(wcwidth(c) == 0) { x--; }
-+ if(wcwidth(c) == 2) { x++; }
- }
- oldeolseen = eolseen;
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0044-complain_unmounted_proc.patch b/patches/procps-3.2.8/0044-complain_unmounted_proc.patch
deleted file mode 100644
index 113a103..0000000
--- a/patches/procps-3.2.8/0044-complain_unmounted_proc.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From daae1481360c99edbabcf87a544eedd0dda14cc6 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 44/70] complain_unmounted_proc
-
-exiting silently.
----
- proc/version.c | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/proc/version.c b/proc/version.c
-index 96ffb7f..7930367 100644
---- a/proc/version.c
-+++ b/proc/version.c
-@@ -39,8 +39,10 @@ static void init_Linux_version(void) {
- FILE *fp;
- char buf[256];
-
-- if ( (fp=fopen("/proc/version","r")) == NULL) /* failure implies impending death */
-+ if ( (fp=fopen("/proc/version","r")) == NULL) {
-+ fprintf(stderr, "Cannot find /proc/version - is /proc mounted?\n");
- exit(1);
-+ }
- if (fgets(buf, 256, fp) == NULL) {
- fprintf(stderr, "Cannot read kernel version from /proc/version\n");
- fclose(fp);
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0045-ps_supgid_display.patch b/patches/procps-3.2.8/0045-ps_supgid_display.patch
deleted file mode 100644
index 749ed53..0000000
--- a/patches/procps-3.2.8/0045-ps_supgid_display.patch
+++ /dev/null
@@ -1,475 +0,0 @@
-From 3fb4f51883525e888571d72d30929dd2b912154d Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 45/70] ps_supgid_display
-
-===================================================================
----
- proc/library.map | 2 +-
- proc/readproc.c | 135 ++++++++++++++++++++++++++++++++++++++----------------
- proc/readproc.h | 12 ++++-
- ps/display.c | 34 ++++++++++++--
- ps/output.c | 47 +++++++++++++++++++
- ps/ps.1 | 10 ++++
- 6 files changed, 195 insertions(+), 45 deletions(-)
-
-diff --git a/proc/library.map b/proc/library.map
-index 154061b..8d69cd5 100644
---- a/proc/library.map
-+++ b/proc/library.map
-@@ -7,7 +7,7 @@ global:
-
- readproc; readtask; readproctab; readproctab2; look_up_our_self; escape_command;
- escape_str; escape_strlist;
-- openproc; closeproc; freeproc;
-+ openproc; closeproc; freeproc; allocsupgrp; freesupgrp;
- tty_to_dev; dev_to_tty; open_psdb_message; open_psdb; lookup_wchan;
- display_version; procps_version; linux_version_code;
- Hertz; smp_num_cpus; have_privs;
-diff --git a/proc/readproc.c b/proc/readproc.c
-index 19d99b2..9660799 100644
---- a/proc/readproc.c
-+++ b/proc/readproc.c
-@@ -20,6 +20,7 @@
- #include <errno.h>
- #include <stdarg.h>
- #include <string.h>
-+#include <limits.h>
- #include <unistd.h>
- #include <signal.h>
- #include <fcntl.h>
-@@ -85,63 +86,68 @@ static void status2proc(char *S, proc_t *restrict P, int is_proc){
- long Threads = 0;
- long Tgid = 0;
- long Pid = 0;
-+ int hash = 0;
-+ int isupgid = 0;
-
-- static const unsigned char asso[] =
-+ static const unsigned char asso[] =
- {
-- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-- 61, 61, 61, 61, 61, 61, 61, 61, 15, 61,
-- 61, 61, 61, 61, 61, 61, 30, 3, 5, 5,
-- 61, 5, 61, 8, 61, 61, 3, 61, 10, 61,
-- 6, 61, 13, 0, 30, 25, 0, 61, 61, 61,
-- 61, 61, 61, 61, 61, 61, 61, 3, 61, 13,
-- 0, 0, 61, 30, 61, 25, 61, 61, 61, 0,
-- 61, 61, 61, 61, 5, 61, 0, 61, 61, 61,
-- 0, 61, 61, 61, 61, 61, 61, 61
-+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-+ 66, 66, 66, 66, 66, 66, 66, 66, 0, 66,
-+ 66, 66, 66, 66, 66, 66, 3, 30, 20, 30,
-+ 66, 25, 66, 20, 66, 66, 30, 66, 25, 66,
-+ 0, 66, 8, 10, 3, 18, 5, 66, 66, 66,
-+ 66, 66, 66, 66, 66, 66, 66, 3, 66, 10,
-+ 0, 0, 66, 25, 66, 5, 66, 66, 66, 25,
-+ 66, 5, 66, 66, 0, 66, 0, 0, 66, 66,
-+ 25, 66, 66, 66, 66, 66, 66, 66
- };
-
- static const status_table_struct table[] = {
-- F(VmStk)
-+ F(Pid)
- NUL NUL
-- F(State)
-+ F(Threads)
-+ NUL
-+ F(PPid)
-+ NUL NUL
-+ F(Tgid)
- NUL
-- F(VmExe)
- F(ShdPnd)
-+ NUL NUL
-+ F(State)
- NUL
-- F(VmData)
-+ F(VmStk)
-+ NUL NUL
-+ F(Uid)
- NUL
-- F(Name)
-+ F(VmSize)
- NUL NUL
- F(VmRSS)
-- NUL NUL
-- F(VmLck)
-- NUL NUL NUL
-+ NUL
- F(Gid)
-- F(Pid)
-- NUL NUL NUL
-- F(VmSize)
- NUL NUL
-- F(VmLib)
-- NUL NUL
-- F(PPid)
-- NUL
-- F(SigCgt)
-+ F(VmData)
- NUL
-- F(Threads)
-+ F(Groups)
-+ NUL NUL NUL NUL
- F(SigPnd)
-+ NUL NUL
-+ F(SigBlk)
- NUL
-+ F(VmLib)
-+ NUL NUL NUL NUL
-+ F(VmLck)
-+ NUL NUL NUL NUL
-+ F(Name)
-+ NUL NUL NUL NUL
- F(SigIgn)
-- NUL
-- F(Uid)
-- NUL NUL NUL NUL NUL NUL NUL NUL NUL
-- NUL NUL NUL NUL NUL
-- F(Tgid)
- NUL NUL NUL NUL
-- F(SigBlk)
-- NUL NUL NUL
-+ F(VmExe)
-+ NUL NUL NUL NUL
-+ F(SigCgt)
- };
-
- #undef F
-@@ -157,6 +163,9 @@ ENTER(0x220);
- P->vm_exe = 0;
- P->vm_lib = 0;
- P->nlwp = 0;
-+ P->nsupgid = 0;
-+ P->supgid = NULL;
-+ P->supgrp = NULL;
- P->signal[0] = '\0'; // so we can detect it as missing for very old kernels
-
- goto base;
-@@ -173,7 +182,9 @@ ENTER(0x220);
- // examine a field name (hash and compare)
- base:
- if(unlikely(!*S)) break;
-- entry = table[63 & (asso[(int)S[3]] + asso[(int)S[2]] + asso[(int)S[0]])];
-+ hash = asso[S[3]] + asso[S[2]] + asso[S[0]];
-+ if (hash > 65) continue;
-+ entry = table[hash];
- colon = strchr(S, ':');
- if(unlikely(!colon)) break;
- if(unlikely(colon[1]!='\t')) break;
-@@ -271,6 +282,21 @@ ENTER(0x220);
- P->sgid = strtol(S,&S,10);
- P->fgid = strtol(S,&S,10);
- continue;
-+ case_Groups:
-+ isupgid = 0;
-+ if (*S != '\n'){ // Is there any supplementary group ?
-+ P->supgid = (int *) xmalloc(0x0004 * sizeof(int));
-+ int vctsize = 0x0004;
-+ while (S[1] != '\n' && isupgid<INT_MAX){ // There is one blank before '\n'
-+ if (isupgid == vctsize){
-+ vctsize *= 2;
-+ P->supgid = (int *)xrealloc(P->supgid,vctsize * sizeof(int));
-+ }
-+ P->supgid[isupgid++] = strtol(S,&S,10);
-+ P->nsupgid++;
-+ }
-+ }
-+ continue;
- case_VmData:
- P->vm_data = strtol(S,&S,10);
- continue;
-@@ -589,6 +615,13 @@ static proc_t* simple_readproc(PROCTAB *restrict const PT, proc_t *restrict cons
- }
- }
-
-+ if (flags & PROC_FILLSUPGRP && p->nsupgid > 0){
-+ allocsupgrp(p);
-+ int i;
-+ for (i=0; i < p->nsupgid; i++)
-+ memcpy(p->supgrp[i], group_from_gid(p->supgid[i]), P_G_SZ);
-+ }
-+
- if ((flags & PROC_FILLCOM) || (flags & PROC_FILLARG)) /* read+parse /proc/#/cmdline */
- p->cmdline = file2strvec(path, "cmdline");
- else
-@@ -683,6 +716,13 @@ static proc_t* simple_readtask(PROCTAB *restrict const PT, const proc_t *restric
- }
- }
-
-+ if (flags & PROC_FILLSUPGRP && t->nsupgid > 0){
-+ allocsupgrp(t);
-+ int i;
-+ for (i=0; i < t->nsupgid; i++)
-+ memcpy(t->supgrp[i], group_from_gid(t->supgid[i]), P_G_SZ);
-+ }
-+
- #if 0
- if ((flags & PROC_FILLCOM) || (flags & PROC_FILLARG)) /* read+parse /proc/#/cmdline */
- t->cmdline = file2strvec(path, "cmdline");
-@@ -897,6 +937,23 @@ void closeproc(PROCTAB* PT) {
- }
- }
-
-+// allocate memory for supgrp
-+void allocsupgrp(proc_t *p) {
-+ if (!p || p->nsupgid == 0) return;
-+ p->supgrp = (char**)xmalloc(p->nsupgid * sizeof(char*));
-+ int i;
-+ for (i=0; i<p->nsupgid; i++)
-+ p->supgrp[i] = (char*)xmalloc(P_G_SZ * sizeof(char));
-+}
-+
-+// free memory allocated for supgrp
-+void freesupgrp(proc_t *p) {
-+ int i;
-+ for (i=0; i<p->nsupgid; i++)
-+ if (p->supgrp[i]) free(p->supgrp[i]);
-+ free(p->supgrp);
-+}
-+
- // deallocate the space allocated by readproc if the passed rbuf was NULL
- void freeproc(proc_t* p) {
- if (!p) /* in case p is NULL */
-diff --git a/proc/readproc.h b/proc/readproc.h
-index 3a9aecf..ac166ca 100644
---- a/proc/readproc.h
-+++ b/proc/readproc.h
-@@ -122,6 +122,7 @@ typedef struct proc_t {
- egroup[P_G_SZ], // status effective group name
- sgroup[P_G_SZ], // status saved group name
- fgroup[P_G_SZ], // status filesystem group name
-+ **supgrp, // status supplementary groups
- cmd[16]; // stat,status basename of executable file in call to exec(2)
- struct proc_t
- *ring, // n/a thread group ring
-@@ -137,6 +138,8 @@ typedef struct proc_t {
- suid, sgid, // status saved
- fuid, fgid, // status fs (used for file access only)
- tpgid, // stat terminal process group id
-+ nsupgid, // status number of supplementary groups
-+ *supgid, // status supplementary gid's
- exit_signal, // stat might not be SIGCHLD
- processor; // stat current (or most recent?) CPU
- char **cgroup; // cgroup current cgroup, looks like a classic filepath
-@@ -198,6 +201,12 @@ extern proc_t** readproctab(int flags, ... /* same as openproc */ );
- // clean-up open files, etc from the openproc()
- extern void closeproc(PROCTAB* PT);
-
-+// allocate memory for supgrp
-+extern void allocsupgrp(proc_t *p);
-+
-+// free memory allocated for supgrp
-+extern void freesupgrp(proc_t *p);
-+
- // retrieve the next process matching the criteria set by the openproc()
- extern proc_t* readproc(PROCTAB *restrict const PT, proc_t *restrict p);
- extern proc_t* readtask(PROCTAB *restrict const PT, const proc_t *restrict const p, proc_t *restrict t);
-@@ -237,8 +246,9 @@ extern proc_t * get_proc_stats(pid_t pid, proc_t *p);
- #define PROC_FILLSTAT 0x0040 // read stat -- currently unconditional
- #define PROC_FILLWCHAN 0x0080 // look up WCHAN name
- #define PROC_FILLARG 0x0100 // alloc and fill in `cmdline'
-+#define PROC_FILLSUPGRP 0x0200 // resolve supplementary group id number -> group name
-
--#define PROC_LOOSE_TASKS 0x0200 // threat threads as if they were processes
-+#define PROC_LOOSE_TASKS 0x0400 // threat threads as if they were processes
-
- #define PROC_FILLCGROUP 0x0400 // alloc and fill in `cgroup`
-
-diff --git a/ps/display.c b/ps/display.c
-index 3d6bbde..6ef5d58 100644
---- a/ps/display.c
-+++ b/ps/display.c
-@@ -342,6 +342,8 @@ static void simple_spew(void){
- if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
- if(buf.environ) free((void*)*buf.environ); // ought to reuse
- if(buf.cgroup) free((void*)*buf.cgroup);
-+ if(buf.nsupgid > 0 && buf.supgid) free(buf.supgid);
-+ if((ptp->flags & PROC_FILLSUPGRP) && buf.nsupgid>0 && buf.supgrp) freesupgrp(&buf);
- }
- break;
- case TF_show_proc|TF_loose_tasks: // H option
-@@ -349,12 +351,16 @@ static void simple_spew(void){
- proc_t buf2;
- // must still have the process allocated
- while(readtask(ptp,&buf,&buf2)){
-- if(!want_this_proc(&buf)) continue;
-- show_one_proc(&buf2, task_format_list);
-+ if(want_this_proc(&buf)) show_one_proc(&buf2, task_format_list);
-+ if(buf2.nsupgid > 0 && buf2.supgid && buf.supgid!=buf2.supgid) free(buf2.supgid);
-+ if((ptp->flags & PROC_FILLSUPGRP) && buf2.nsupgid>0 && buf2.supgrp && buf.supgrp!=buf2.supgrp)
-+ freesupgrp(&buf2);
- }
- if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
- if(buf.environ) free((void*)*buf.environ); // ought to reuse
- if(buf.cgroup) free((void*)*buf.cgroup);
-+ if(buf.nsupgid > 0 && buf.supgid) free(buf.supgid);
-+ if((ptp->flags & PROC_FILLSUPGRP) && buf.nsupgid>0 && buf.supgrp) freesupgrp(&buf);
- }
- break;
- case TF_show_proc|TF_show_task: // m and -m options
-@@ -363,11 +369,18 @@ static void simple_spew(void){
- proc_t buf2;
- show_one_proc(&buf, proc_format_list);
- // must still have the process allocated
-- while(readtask(ptp,&buf,&buf2)) show_one_proc(&buf2, task_format_list);
-+ while(readtask(ptp,&buf,&buf2)){
-+ show_one_proc(&buf2, task_format_list);
-+ if(buf2.nsupgid > 0 && buf2.supgid && buf.supgid!=buf2.supgid) free(buf2.supgid);
-+ if(ptp->flags & PROC_FILLSUPGRP && buf2.nsupgid>0 && buf2.supgrp && buf.supgrp!=buf2.supgrp)
-+ freesupgrp(&buf2);
-+ }
- }
- if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
- if(buf.environ) free((void*)*buf.environ); // ought to reuse
- if(buf.cgroup) free((void*)*buf.cgroup);
-+ if(buf.nsupgid > 0 && buf.supgid) free(buf.supgid);
-+ if((ptp->flags & PROC_FILLSUPGRP) && buf.nsupgid>0 && buf.supgrp) freesupgrp(&buf);
- }
- break;
- case TF_show_task: // -L and -T options
-@@ -375,11 +388,18 @@ static void simple_spew(void){
- if(want_this_proc(&buf)){
- proc_t buf2;
- // must still have the process allocated
-- while(readtask(ptp,&buf,&buf2)) show_one_proc(&buf2, task_format_list);
-+ while(readtask(ptp,&buf,&buf2)){
-+ show_one_proc(&buf2, task_format_list);
-+ if(buf2.nsupgid > 0 && buf2.supgid && buf.supgid!=buf2.supgid) free(buf2.supgid);
-+ if(ptp->flags & PROC_FILLSUPGRP && buf2.nsupgid>0 && buf2.supgrp && buf.supgrp!=buf2.supgrp)
-+ freesupgrp(&buf2);
-+ }
- }
- if(buf.cmdline) free((void*)*buf.cmdline); // ought to reuse
- if(buf.environ) free((void*)*buf.environ); // ought to reuse
- if(buf.cgroup) free((void*)*buf.cgroup);
-+ if(buf.nsupgid > 0 && buf.supgid) free(buf.supgid);
-+ if((ptp->flags & PROC_FILLSUPGRP) && buf.nsupgid>0 && buf.supgrp) freesupgrp(&buf);
- }
- break;
- }
-@@ -542,6 +562,12 @@ static void fancy_spew(void){
- qsort(processes, n, sizeof(proc_t*), compare_two_procs);
- if(forest_type) show_forest(n);
- else show_proc_array(ptp,n);
-+ int i;
-+ for (i=0; i<n; i++)
-+ if (processes[i]->nsupgid>0 && processes[i]->supgid) free(processes[i]->supgid);
-+ if (ptp->flags & PROC_FILLSUPGRP)
-+ for (i=0; i<n; i++)
-+ if (processes[i]->nsupgid>0 && processes[i]->supgrp) freesupgrp(processes[i]);
- closeproc(ptp);
- }
-
-diff --git a/ps/output.c b/ps/output.c
-index a165ed5..1a196ff 100644
---- a/ps/output.c
-+++ b/ps/output.c
-@@ -211,6 +211,32 @@ static int sr_swapable(const proc_t* P, const proc_t* Q) {
- return 0;
- }
-
-+static int sr_supgid(const proc_t* P, const proc_t* Q){
-+ int i;
-+ for (i = 0; i < INT_MAX; i++){
-+ if (P->nsupgid == i){
-+ if (Q->nsupgid == i) return 0;
-+ else return -1;
-+ }
-+ if (Q->nsupgid == i) return 1;
-+ if (P->supgid[i] != Q->supgid[i]) return P->supgid[i] - Q->supgid[i];
-+ }
-+ return 0;
-+}
-+
-+static int sr_supgrp(const proc_t* P, const proc_t* Q){
-+ int i;
-+ for (i = 0; i < INT_MAX; i++){
-+ if (P->nsupgid == i){
-+ if (Q->nsupgid == i) return 0;
-+ else return -1;
-+ }
-+ if (Q->nsupgid == i) return 1;
-+ int cmp = strncmp(P->supgrp[i],Q->supgrp[i],P_G_SZ);
-+ if (cmp != 0) return cmp;
-+ }
-+ return 0;
-+}
-
- /***************************************************************************/
- /************ Lots of format functions, starting with the NOP **************/
-@@ -1062,6 +1088,24 @@ static int pr_fuid(char *restrict const outbuf, const proc_t *restrict const pp)
- return snprintf(outbuf, COLWID, "%d", pp->fuid);
- }
-
-+static int pr_supgid(char *restrict const outbuf, const proc_t *restrict const pp){
-+ if (pp->nsupgid == 0) return snprintf(outbuf,2,"-");
-+ int rest = COLWID;
-+ int i = 0;
-+ for (i = 0; i < pp->nsupgid && rest > 5; i++)
-+ rest-= snprintf(outbuf+COLWID-rest, rest, "%d ", pp->supgid[i]);
-+ return COLWID-rest;
-+}
-+
-+static int pr_supgrp(char *restrict const outbuf, const proc_t *restrict const pp){
-+ if (pp->nsupgid == 0) return snprintf(outbuf,2,"-");
-+ int rest = COLWID;
-+ int i = 0;
-+ for (i = 0; i < pp->nsupgid && rest > sizeof( pp->supgrp[i] ) + 1; i++)
-+ rest-= snprintf(outbuf+COLWID-rest, rest, "%s ", pp->supgrp[i]);
-+ return COLWID-rest;
-+}
-+
- // The Open Group Base Specifications Issue 6 (IEEE Std 1003.1, 2004 Edition)
- // requires that user and group names print as decimal numbers if there is
- // not enough room in the column, so tough luck if you don't like it.
-@@ -1293,6 +1337,7 @@ static int pr_t_left2(char *restrict const outbuf, const proc_t *restrict const
- #define USR PROC_FILLUSR /* uid_t -> user names */
- #define GRP PROC_FILLGRP /* gid_t -> group names */
- #define WCH PROC_FILLWCHAN /* do WCHAN lookup */
-+#define SUPGRP PROC_FILLSUPGRP /* supgid -> supplementary group names */
-
- #define CGRP PROC_FILLCGROUP /* read cgroup */
- /* TODO
-@@ -1490,6 +1535,8 @@ static const format_struct format_array[] = {
- {"status", "STATUS", pr_nop, sr_nop, 6, 0, DEC, AN|RIGHT},
- {"stime", "STIME", pr_stime, sr_stime, 5, 0, XXX, ET|RIGHT}, /* was 6 wide */
- {"suid", "SUID", pr_suid, sr_suid, 5, 0, LNx, ET|RIGHT},
-+{"supgid", "SUPGID", pr_supgid, sr_supgid, 27, 0, LNX, PO|UNLIMITED},
-+{"supgrp", "SUPGRP", pr_supgrp, sr_supgrp, 27, SUPGRP, LNX, PO|UNLIMITED},
- {"suser", "SUSER", pr_suser, sr_suser, 8, USR, LNx, ET|USER},
- {"svgid", "SVGID", pr_sgid, sr_sgid, 5, 0, XXX, ET|RIGHT},
- {"svgroup", "SVGROUP", pr_sgroup, sr_sgroup, 8, GRP, LNX, ET|USER},
-diff --git a/ps/ps.1 b/ps/ps.1
-index 0f896bf..90fabbc 100644
---- a/ps/ps.1
-+++ b/ps/ps.1
-@@ -1303,6 +1303,16 @@ suid SUID T{
- saved user\ ID. (alias\ \fBsvuid\fR).
- T}
-
-+supgid SUPGID T{
-+gid of supplementary groups, see
-+.BR getgroups (2).
-+T}
-+
-+supgrp SUPGRP T{
-+names of supplementary groups, see
-+.BR getgroups (2).
-+T}
-+
- suser SUSER T{
- saved user name. This will be the textual user\ ID,
- if\ it can be obtained and the field width permits,
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0046-makefile_dev_null.patch b/patches/procps-3.2.8/0046-makefile_dev_null.patch
deleted file mode 100644
index 4d8e92c..0000000
--- a/patches/procps-3.2.8/0046-makefile_dev_null.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 817acf1db736315bcc89082fe12fe41a4a9492d2 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 46/70] makefile_dev_null
-
----
- Makefile | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 06728fc..abddb6e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -120,7 +120,7 @@ ifneq ($(MAKECMDGOALS),beta)
- # Unlike the kernel one, this check_gcc goes all the way to
- # producing an executable. There might be a -m64 that works
- # until you go looking for a 64-bit curses library.
--check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) $(CURSESW) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
-+check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o will_this_file_really_exist.tmp $(CURSES) $(CURSESW) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ; rm -f will_this_file_really_exist.tmp)
-
- # Be 64-bit if at all possible. In a cross-compiling situation, one may
- # do "make m64=-m32 lib64=lib" to produce 32-bit executables. DO NOT
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0047-pgrep.1.patch b/patches/procps-3.2.8/0047-pgrep.1.patch
deleted file mode 100644
index 7df5d69..0000000
--- a/patches/procps-3.2.8/0047-pgrep.1.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-From c55f0fd0d7758cc170ef72fce0d4a66d3200906f Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 47/70] pgrep.1
-
-Uses .BR for see also section #437678
----
- pgrep.1 | 98 +++++++++++++++++++++++++++++++++++++-------------------------
- 1 files changed, 58 insertions(+), 40 deletions(-)
-
-diff --git a/pgrep.1 b/pgrep.1
-index 9152799..257a6ce 100644
---- a/pgrep.1
-+++ b/pgrep.1
-@@ -2,35 +2,39 @@
- .\" Licensed under version 2 of the GNU General Public License.
- .\" Copyright 2000 Kjetil Torgrim Homme
- .\"
--.TH PGREP 1 "June 25, 2000" "Linux" "Linux User's Manual"
-+.TH PGREP 1 "October 5, 2007" "Linux" "Linux User's Manual"
- .SH NAME
- pgrep, pkill \- look up or signal processes based on name and other attributes
-
- .SH SYNOPSIS
--pgrep [\-cflvx] [\-d \fIdelimiter\fP] [\-n|\-o] [\-P \fIppid\fP,...] [\-g \fIpgrp\fP,...]
--.br
-- [\-s \fIsid\fP,...] [\-u \fIeuid\fP,...] [\-U \fIuid\fP,...] [\-G \fIgid\fP,...]
--.br
-- [\-t \fIterm\fP,...] [\fIpattern\fP]
--
--pkill [\-\fIsignal\fP] [\-fvx] [\-n|\-o] [\-P \fIppid\fP,...] [\-g \fIpgrp\fP,...]
--.br
-- [\-s \fIsid\fP,...] [\-u \fIeuid\fP,...] [\-U \fIuid\fP,...] [\-G \fIgid\fP,...]
--.br
-- [\-t \fIterm\fP,...] [\fIpattern\fP]
-+.na
-+\fBpgrep\fR [\fB\-cflvx\fR] [\fB\-d\ \fIdelimiter\fR] [\fB\-n\fR|\fB\-o\fR] \
-+[\fB\-P\ \fIppid\fR,...] [\fB\-g\ \fIpgrp\fR,...] [\fB\-s\ \fIsid\fR,...] \
-+[\fB\-u\ \fIeuid\fR,...] [\fB\-U\ \fIuid\fR,...] [\fB\-G\ \fIgid\fR,...] \
-+[\fB\-t\ \fIterm\fR,...] [\fIpattern\fR]
-+
-+.HP
-+\fBpkill\fR [\fB\-\fIsignal\fR] [\fB\-fvx\fR] [\fB\-n\fR|\fB\-o\fR] \
-+[\fB\-P\ \fIppid\fR,...] [\fB\-g\ \fIpgrp\fR,...] [\fB\-s\ \fIsid\fR,...] \
-+[\fB\-u\ \fIeuid\fR,...] [\fB\-U\ \fIuid\fR,...] [\fB\-G\ \fIgid\fR,...] \
-+[\fB\-t\ \fIterm\fR,...] [\fIpattern\fR]
-
- .SH DESCRIPTION
- \fBpgrep\fP looks through the currently running processes and lists the
- process IDs which matches the selection criteria to stdout. All
- the criteria have to match. For example,
-
--pgrep -u root sshd
-+.IP
-+$ pgrep \-u root sshd
-
-+.PP
- will only list the processes called \fBsshd\fP AND owned by \fBroot\fP.
- On the other hand,
-
--pgrep -u root,daemon
-+.IP
-+$ pgrep \-u root,daemon
-
-+.PP
- will list the processes owned by \fBroot\fP OR \fBdaemon\fP.
-
- \fBpkill\fP will send the specified signal (by default \fBSIGTERM\fP)
-@@ -38,18 +42,18 @@ to each process instead of listing them on stdout.
-
- .SH OPTIONS
- .TP
--\-c
-+\fB\-c\fR
- Suppress normal output; instead print a count of matching processes.
- .TP
--\-d \fIdelimiter\fP
-+\fB\-d \fIdelimiter\fP
- Sets the string used to delimit each process ID in the output (by
- default a newline). (\fBpgrep\fP only.)
- .TP
--\-f
-+\fB\-f\fR
- The \fIpattern\fP is normally only matched against the process name.
--When \-f is set, the full command line is used.
-+When \fB\-f\fR is set, the full command line is used.
- .TP
--\-g \fIpgrp\fP,...
-+\fB\-g \fIpgrp\fP,...
- Only match processes in the process group IDs listed. Process group 0
- is translated into \fBpgrep\fP's or \fBpkill\fP's own process group.
- .TP
-@@ -57,40 +61,40 @@ is translated into \fBpgrep\fP's or \fBpkill\fP's own process group.
- Only match processes whose real group ID is listed. Either the
- numerical or symbolical value may be used.
- .TP
--\-l
-+\fB\-l\fR
- List the process name as well as the process ID. (\fBpgrep\fP only.)
- .TP
--\-n
-+\fB\-n\fR
- Select only the newest (most recently started) of the matching
- processes.
- .TP
--\-o
-+\fB\-o\fR
- Select only the oldest (least recently started) of the matching
- processes.
- .TP
--\-P \fIppid\fP,...
-+\fB\-P \fIppid\fP,...
- Only match processes whose parent process ID is listed.
- .TP
--\-s \fIsid\fP,...
-+\fB\-s \fIsid\fP,...
- Only match processes whose process session ID is listed. Session ID 0
- is translated into \fBpgrep\fP's or \fBpkill\fP's own session ID.
- .TP
--\-t \fIterm\fP,...
-+\fB\-t \fIterm\fP,...
- Only match processes whose controlling terminal is listed. The
- terminal name should be specified without the "/dev/" prefix.
- .TP
--\-u \fIeuid\fP,...
-+\fB\-u \fIeuid\fP,...
- Only match processes whose effective user ID is listed. Either the
- numerical or symbolical value may be used.
- .TP
--\-U \fIuid\fP,...
-+\fB\-U \fIuid\fP,...
- Only match processes whose real user ID is listed. Either the
- numerical or symbolical value may be used.
- .TP
--\-v
-+\fB\-v\fR
- Negates the matching.
- .TP
--\-x
-+\fB\-x\fR
- Only match processes whose name (or command line if \-f is specified)
- \fBexactly\fP match the \fIpattern\fP.
- .TP
-@@ -107,32 +111,40 @@ process names or command lines.
- .SH EXAMPLES
- Example 1: Find the process ID of the \fBnamed\fP daemon:
-
--unix$ pgrep \-u root named
-+.IP
-+$ pgrep \-u root named
-
-+.PP
- Example 2: Make \fBsyslog\fP reread its configuration file:
-
--unix$ pkill \-HUP syslogd
-+.IP
-+$ pkill \-HUP syslogd
-
-+.PP
- Example 3: Give detailed information on all \fBxterm\fP processes:
-
--unix$ ps \-fp $(pgrep \-d, \-x xterm)
-+.IP
-+$ ps \-fp $(pgrep \-d, \-x xterm)
-
-+.PP
- Example 4: Make all \fBnetscape\fP processes run nicer:
-
--unix$ renice +4 `pgrep netscape`
-+.IP
-+$ renice +4 `pgrep netscape`
-
- .SH "EXIT STATUS"
-+.PD 0
- .TP
--.I "0"
-+.I 0
- One or more processes matched the criteria.
- .TP
--.I "1"
-+.I 1
- No processes matched.
- .TP
--.I "2"
-+.I 2
- Syntax error in the command line.
- .TP
--.I "3"
-+.I 3
- Fatal error: out of memory etc.
-
- .SH NOTES
-@@ -144,13 +156,19 @@ The running \fBpgrep\fP or \fBpkill\fP process will never report
- itself as a match.
-
- .SH BUGS
--The options \-n and \-o and \-v can not be combined. Let me know if
--you need to do this.
-+The options \fB\-n\fP and \fB\-o\fP and \fB\-v\fP can not be combined.
-+Let me know if you need to do this.
-
- Defunct processes are reported.
-
- .SH "SEE ALSO"
--ps(1) regex(7) signal(7) killall(1) skill(1) kill(1) kill(2)
-+.BR ps (1),
-+.BR regex (7),
-+.BR signal (7),
-+.BR killall (1),
-+.BR skill (1),
-+.BR kill (1),
-+.BR kill (2)
-
- .SH STANDARDS
- \fBpkill\fP and \fBpgrep\fP were introduced in Sun's Solaris 7. This
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0048-ps_size_sz.patch b/patches/procps-3.2.8/0048-ps_size_sz.patch
deleted file mode 100644
index e75c732..0000000
--- a/patches/procps-3.2.8/0048-ps_size_sz.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 941c8bea2133a9155df6fddb3666d528cab2034e Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 48/70] ps_size_sz
-
-===================================================================
----
- ps/output.c | 2 +-
- ps/ps.1 | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ps/output.c b/ps/output.c
-index 1a196ff..f9a29ce 100644
---- a/ps/output.c
-+++ b/ps/output.c
-@@ -1522,7 +1522,7 @@ static const format_struct format_array[] = {
- {"sigcatch", "CAUGHT", pr_sigcatch, sr_nop, 9, 0, XXX, TO|SIGNAL}, /*caught*/
- {"sigignore", "IGNORED", pr_sigignore,sr_nop, 9, 0, XXX, TO|SIGNAL}, /*ignored*/
- {"sigmask", "BLOCKED", pr_sigmask, sr_nop, 9, 0, XXX, TO|SIGNAL}, /*blocked*/
--{"size", "SZ", pr_swapable, sr_swapable, 5, 0, SCO, PO|RIGHT},
-+{"size", "SIZE", pr_swapable, sr_swapable, 5, 0, SCO, PO|RIGHT},
- {"sl", "SL", pr_nop, sr_nop, 3, 0, XXX, AN|RIGHT},
- {"spid", "SPID", pr_thread, sr_tid, 5, 0, SGI, TO|PIDMAX|RIGHT},
- {"stackp", "STACKP", pr_stackp, sr_start_stack, 8, 0, LNX, PO|RIGHT}, /*start_stack*/
-diff --git a/ps/ps.1 b/ps/ps.1
-index 90fabbc..ad347ad 100644
---- a/ps/ps.1
-+++ b/ps/ps.1
-@@ -1254,7 +1254,7 @@ sigmask BLOCKED T{
- see\ \fBblocked\fR. (alias\ \fBblocked\fR,\ \fBsig_block\fR).
- T}
-
--size SZ T{
-+size SIZE T{
- approximate amount of swap space that would be required
- if the process were to dirty all writable pages and then
- be swapped out.
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0049-top_mintime.patch b/patches/procps-3.2.8/0049-top_mintime.patch
deleted file mode 100644
index 9909d3b..0000000
--- a/patches/procps-3.2.8/0049-top_mintime.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From cf99e9bb004f6c6eb649d34bea8221bc7501d106 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 49/70] top_mintime
-
-===================================================================
----
- top.c | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/top.c b/top.c
-index 6cc1a93..f6880b5 100644
---- a/top.c
-+++ b/top.c
-@@ -2552,7 +2552,8 @@ static void do_key (unsigned c)
- else {
- float tmp =
- get_float(fmtmk("Change delay from %.1f to", Rc.delay_time));
-- if (tmp > -1) Rc.delay_time = tmp;
-+ if (tmp == 0.0) show_msg("\aNot valid");
-+ else if (tmp > 0) Rc.delay_time = tmp;
- }
- break;
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0050-vmstat_headers.patch b/patches/procps-3.2.8/0050-vmstat_headers.patch
deleted file mode 100644
index 8434d24..0000000
--- a/patches/procps-3.2.8/0050-vmstat_headers.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-From a45013a749f144819a9a10cb5b5bb2455ca04703 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 50/70] vmstat_headers
-
-getopt replacement
-Author: Liu Xing <liuxing@cn.fujitsu.com>
-Author: Michael Tokarev <mjt@corpit.ru>
-Bug-Debian: http://bugs.debian.org/436805
-Bug-Debian: http://bugs.debian.org/408088
----
- vmstat.c | 80 ++++++++++++++++++++++++++-----------------------------------
- 1 files changed, 34 insertions(+), 46 deletions(-)
-
-diff --git a/vmstat.c b/vmstat.c
-index f022928..e0d3c23 100644
---- a/vmstat.c
-+++ b/vmstat.c
-@@ -29,14 +29,15 @@
- #include "proc/sysinfo.h"
- #include "proc/version.h"
-
--static unsigned long dataUnit=1024;
--static char szDataUnit [16];
- #define UNIT_B 1
- #define UNIT_k 1000
- #define UNIT_K 1024
- #define UNIT_m 1000000
- #define UNIT_M 1048576
-
-+static unsigned long dataUnit=UNIT_K;
-+static char szDataUnit[3] = "K";
-+
- #define VMSTAT 0
- #define DISKSTAT 0x00000001
- #define VMSUMSTAT 0x00000002
-@@ -354,6 +355,7 @@ static void diskformat(void){
- if ((fDiskstat=fopen("/proc/diskstats", "rb"))){
- fclose(fDiskstat);
- ndisks=getdiskstat(&disks,&partitions);
-+ if (!moreheaders) diskheader();
- for(k=0; k<ndisks; k++){
- if (moreheaders && ((k%height)==0)) diskheader();
- printf(format,
-@@ -424,6 +426,7 @@ static void slabformat (void){
- return;
- }
-
-+ if (!moreheaders) slabheader();
- nSlab = getslabinfo(&slabs);
- for(k=0; k<nSlab; k++){
- if (moreheaders && ((k%height)==0)) slabheader();
-@@ -582,12 +585,10 @@ static int winhi(void) {
- ////////////////////////////////////////////////////////////////////////////
-
- int main(int argc, char *argv[]) {
-- char partition[16];
-- argc=0; /* redefined as number of integer arguments */
-- for (argv++;*argv;argv++) {
-- if ('-' ==(**argv)) {
-- switch (*(++(*argv))) {
--
-+ char *partition = NULL;
-+ int c;
-+
-+ while((c = getopt(argc, argv, "VdafmDnp:S:s")) != EOF) switch(c) {
- case 'V':
- display_version();
- exit(0);
-@@ -603,7 +604,7 @@ int main(int argc, char *argv[]) {
- fork_format();
- exit(0);
- case 'm':
-- statMode |= SLABSTAT;
-+ statMode |= SLABSTAT;
- break;
- case 'D':
- statMode |= DISKSUMSTAT;
-@@ -614,53 +615,40 @@ int main(int argc, char *argv[]) {
- break;
- case 'p':
- statMode |= PARTITIONSTAT;
-- if (argv[1]){
-- char *cp = *++argv;
-- if(!memcmp(cp,"/dev/",5)) cp += 5;
-- snprintf(partition, sizeof partition, "%s", cp);
-- }else{
-- fprintf(stderr, "-p requires an argument\n");
-- exit(EXIT_FAILURE);
-- }
-+ partition = optarg;
-+ if (memcmp(partition, "/dev/", 5) == 0) partition += 5;
- break;
- case 'S':
-- if (argv[1]){
-- ++argv;
-- if (!strcmp(*argv, "k")) dataUnit=UNIT_k;
-- else if (!strcmp(*argv, "K")) dataUnit=UNIT_K;
-- else if (!strcmp(*argv, "m")) dataUnit=UNIT_m;
-- else if (!strcmp(*argv, "M")) dataUnit=UNIT_M;
-- else {fprintf(stderr, "-S requires k, K, m or M (default is kb)\n");
-- exit(EXIT_FAILURE);
-- }
-- strcpy(szDataUnit, *argv);
-- }else {fprintf(stderr, "-S requires an argument\n");
-- exit(EXIT_FAILURE);
-- }
-+ switch(optarg[0]) {
-+ case 'b': case 'B': dataUnit = UNIT_B; break;
-+ case 'k': dataUnit = UNIT_k; break;
-+ case 'K': dataUnit = UNIT_K; break;
-+ case 'm': dataUnit = UNIT_m; break;
-+ case 'M': dataUnit = UNIT_M; break;
-+ default:
-+ fprintf(stderr, "-S requires k, K, m or M (default is kb)\n");
-+ exit(EXIT_FAILURE);
-+ }
-+ szDataUnit[0] = optarg[0];
- break;
- case 's':
-- statMode |= VMSUMSTAT;
-+ statMode |= VMSUMSTAT;
- break;
- default:
- /* no other aguments defined yet. */
- usage();
-- }
-- }else{
-- argc++;
-- switch (argc) {
-- case 1:
-- if ((sleep_time = atoi(*argv)) == 0)
-+ }
-+
-+ if (optind < argc) {
-+ if ((sleep_time = atoi(argv[optind++])) == 0)
- usage();
-- num_updates = ULONG_MAX;
-- break;
-- case 2:
-- num_updates = atol(*argv);
-- break;
-- default:
-- usage();
-- } /* switch */
-+ num_updates = ULONG_MAX;
- }
--}
-+ if (optind < argc)
-+ num_updates = atol(argv[optind++]);
-+ if (optind < argc)
-+ usage();
-+
- if (moreheaders) {
- int tmp=winhi()-3;
- height=((tmp>0)?tmp:22);
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch b/patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch
deleted file mode 100644
index 19e6aae..0000000
--- a/patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a8346dc7b4d1da04928b2885a5a9564234eb025e Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 51/70] pgrep_usage_exitcode
-
-===================================================================
----
- pgrep.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/pgrep.c b/pgrep.c
-index 33cbed8..36eccb6 100644
---- a/pgrep.c
-+++ b/pgrep.c
-@@ -681,7 +681,7 @@ static void parse_opts (int argc, char **argv)
- // case 'z': // Solaris: match by zone ID
- // break;
- case '?':
-- usage (opt);
-+ usage (optopt?optopt:opt);
- break;
- }
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0052-ps_1_options.patch b/patches/procps-3.2.8/0052-ps_1_options.patch
deleted file mode 100644
index 2ebd0c0..0000000
--- a/patches/procps-3.2.8/0052-ps_1_options.patch
+++ /dev/null
@@ -1,557 +0,0 @@
-From 19b2d182a4b75edaeb9c8ee163d7abb30a5cd0e9 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 52/70] ps_1_options
-
-===================================================================
----
- ps/ps.1 | 335 ++++++++++++++++++++++++++++++++-------------------------------
- 1 files changed, 169 insertions(+), 166 deletions(-)
-
-diff --git a/ps/ps.1 b/ps/ps.1
-index ad347ad..6ba31dc 100644
---- a/ps/ps.1
-+++ b/ps/ps.1
-@@ -158,20 +158,6 @@ Print only the name of PID 42:
- .PP
- .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- .SH "SIMPLE PROCESS SELECTION"
--.opt \-A
--Select all processes. Identical to \fB\-e\fR.
--
--.opt \-N
--Select all processes except those that fulfill the specified conditions.
--(negates the selection) Identical to \fB\-\-deselect\fR.
--
--.opt T
--Select all processes associated with this terminal. Identical to the
--\fBt\fR option without any argument.
--
--.opt \-a
--Select all processes except both session leaders (see \fIgetsid\fR(2)) and
--processes not associated with a terminal.
-
- .opt a
- Lift the BSD\-style "only yourself" restriction, which is imposed upon
-@@ -183,9 +169,20 @@ An alternate description is that this option causes \fBps\fR to
- list all processes with a terminal (tty),
- or to list all processes when used together with the \fBx\fR option.
-
-+.opt \-A
-+Select all processes. Identical to \fB\-e\fR.
-+
-+.opt \-a
-+Select all processes except both session leaders (see \fIgetsid\fR(2)) and
-+processes not associated with a terminal.
-+
- .opt \-d
- Select all processes except session leaders.
-
-+.opt \-\-deselect
-+Select all processes except those that fulfill the specified conditions.
-+(negates the selection) Identical to \fB\-N\fR.
-+
- .opt \-e
- Select all processes. Identical to \fB\-A\fR.
-
-@@ -194,11 +191,20 @@ Select all processes. Identical to \fB\-A\fR.
- .\" add in the group leaders -- at least according to the SunOS 4
- .\" man page on the FreeBSD site. Uh oh. I think I had tested SunOS
- .\" though, so maybe the code is correct.
-+
- .opt g
- Really all, even session leaders. This flag is obsolete and may be
- discontinued in a future release. It is normally implied by the \fBa\fR flag,
- and is only useful when operating in the sunos4 personality.
-
-+.opt \-N
-+Select all processes except those that fulfill the specified conditions.
-+(negates the selection) Identical to \fB\-\-deselect\fR.
-+
-+.opt T
-+Select all processes associated with this terminal. Identical to the
-+\fBt\fR option without any argument.
-+
- .opt r
- Restrict the selection to only running processes.
-
-@@ -212,10 +218,6 @@ An alternate description is that this option causes \fBps\fR to
- list all processes owned by you (same EUID as \fBps\fR),
- or to list all processes when used together with the \fBa\fR option.
-
--.opt \-\-deselect
--Select all processes except those that fulfill the specified conditions.
--(negates the selection) Identical to \fB\-N\fR.
--
- .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- .PD
- .PP
-@@ -224,6 +226,13 @@ These options accept a single argument in the form of a blank\-separated
- or comma\-separated list. They can be used multiple times.
- For\ example:\ \fBps\ \-p\ "1\ 2"\ \-p\ 3,4\fR
- .P
-+
-+.opt \-\fI123\fR
-+Identical to \fB\-\-sid\ \fI123\fR.
-+
-+.opt \fI123\fR
-+Identical to \fB\-\-pid\ \fI123\fR.
-+
- .opt \-C \ cmdlist
- Select by command name.
- .br
-@@ -237,24 +246,6 @@ This selects the processes whose real group name or ID is in the
- \fIgrplist\fR list. The real group ID identifies the group of the user
- who created the process, see \fIgetgid\fR(2).
-
--.opt U \ userlist
--Select by effective user ID (EUID) or name.
--.br
--This selects the processes whose effective user name
--or ID is in \fIuserlist\fR.
--The effective user\ ID describes the user whose file
--access permissions are used by the process
--(see\ \fIgeteuid\fR(2)).
--Identical to \fB\-u\fR and\ \fB\-\-user\fR.
--
--.opt \-U \ userlist
--select by real user ID (RUID) or name.
--.br
--It selects the processes whose real user name or ID is in the
--\fIuserlist\fR list.
--The real user ID identifies the user who created the process,
--see\ \fIgetuid\fR(2).
--
- .opt \-g \ grplist
- Select by session OR by effective group name.
- .br
-@@ -266,6 +257,17 @@ is completely numeric (as\ sessions\ are).
- Group ID numbers will work only when some group names are also specified.
- See the \fB\-s\fR and \fB\-\-group\fR options.
-
-+.opt \-\-Group \ grplist
-+Select by real group ID (RGID) or name. Identical to \fB\-G\fR.
-+
-+.opt \-\-group \ grplist
-+Select by effective group ID (EGID) or name.
-+.br
-+This selects the processes whose effective group name or ID is in
-+\fIgrouplist\fR. The effective group ID describes the group whose file
-+access permissions are used by the process (see\ \fIgeteuid\fR(2)).
-+The \fB\-g\fR option is often an alternative to\ \fB\-\-group\fR.
-+
- .opt p \ pidlist
- Select by process ID. Identical to \fB\-p\fR and\ \fB\-\-pid\fR.
-
-@@ -275,12 +277,25 @@ Select by PID.
- This selects the processes whose process ID numbers appear in
- \fIpidlist\fR. Identical to \fBp\fR and\ \fB\-\-pid\fR.
-
-+.opt \-\-pid \ pidlist
-+Select by process\ ID. Identical to \fB\-p\fR\ and\ \fBp\fR.
-+
-+.opt \-\-ppid \ pidlist
-+Select by parent process\ ID.
-+This selects the processes
-+with a parent\ process\ ID in \fRpidlist\fR.
-+That\ is, it selects processes that are children
-+of those listed in \fRpidlist\fR.
-+
- .opt \-s \ sesslist
- Select by session ID.
- .br
- This selects the processes
- with a session ID specified in\ \fIsesslist\fR.
-
-+.opt \-\-sid \ sesslist
-+Select by session\ ID. Identical to\ \fB\-s\fR.
-+
- .opt t \ ttylist
- Select by tty. Nearly identical to \fB\-t\fR and \fB\-\-tty\fR,
- but can also be used with an empty \fIttylist\fR to indicate
-@@ -297,6 +312,27 @@ Terminals (ttys, or screens for text output) can be specified in several
- forms: /dev/ttyS1, ttyS1, S1.
- A\ plain "\-" may be used to select processes not attached to any terminal.
-
-+.opt \-\-tty \ ttylist
-+Select by terminal. Identical to \fB\-t\fR and\ \fBt\fR.
-+
-+.opt U \ userlist
-+Select by effective user ID (EUID) or name.
-+.br
-+This selects the processes whose effective user name
-+or ID is in \fIuserlist\fR.
-+The effective user\ ID describes the user whose file
-+access permissions are used by the process
-+(see\ \fIgeteuid\fR(2)).
-+Identical to \fB\-u\fR and\ \fB\-\-user\fR.
-+
-+.opt \-U \ userlist
-+select by real user ID (RUID) or name.
-+.br
-+It selects the processes whose real user name or ID is in the
-+\fIuserlist\fR list.
-+The real user ID identifies the user who created the process,
-+see\ \fIgetuid\fR(2).
-+
- .opt \-u \ userlist
- Select by effective user ID (EUID) or name.
- .br
-@@ -305,46 +341,13 @@ This selects the processes whose effective user name or ID is in
- access permissions are used by the process (see\ \fIgeteuid\fR(2)).
- Identical to \fBU\fR and \fB\-\-user\fR.
-
--.opt \-\-Group \ grplist
--Select by real group ID (RGID) or name. Identical to \fB\-G\fR.
--
- .opt \-\-User \ userlist
- Select by real user ID (RUID) or name. Identical to \fB\-U\fR.
-
--.opt \-\-group \ grplist
--Select by effective group ID (EGID) or name.
--.br
--This selects the processes whose effective group name or ID is in
--\fIgrouplist\fR. The effective group ID describes the group whose file
--access permissions are used by the process (see\ \fIgeteuid\fR(2)).
--The \fB\-g\fR option is often an alternative to\ \fB\-\-group\fR.
--
--.opt \-\-pid \ pidlist
--Select by process\ ID. Identical to \fB\-p\fR\ and\ \fBp\fR.
--
--.opt \-\-ppid \ pidlist
--Select by parent process\ ID.
--This selects the processes
--with a parent\ process\ ID in \fRpidlist\fR.
--That\ is, it selects processes that are children
--of those listed in \fRpidlist\fR.
--
--.opt \-\-sid \ sesslist
--Select by session\ ID. Identical to\ \fB\-s\fR.
--
--.opt \-\-tty \ ttylist
--Select by terminal. Identical to \fB\-t\fR and\ \fBt\fR.
--
- .opt \-\-user \ userlist
- Select by effective user ID (EUID) or name.
- Identical to \fB\-u\fR and\ \fBU\fR.
-
--.opt \-\fI123\fR
--Identical to \fB\-\-sid\ \fI123\fR.
--
--.opt \fI123\fR
--Identical to \fB\-\-pid\ \fI123\fR.
--
- .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- .PD
- .PP
-@@ -353,38 +356,12 @@ These options are used to choose the information displayed by \fBps\fR.
- The output may differ by personality.
- .PP
-
--.opt \-F
--extra full format. See the \fB\-f\fR option, which \fB\-F\fR implies.
--
--.opt \-O \ format
--is like \fB\-o\fR, but preloaded with some default columns.
--Identical to \fB\-o\ pid,\fIformat\fB,state,tname,time,command\fR
--or \fB\-o\ pid,\fIformat\fB,tname,time,cmd\fR, see\ \fB\-o\fR\ below.
--
--.opt O \ format
--is preloaded \fBo\fR (overloaded).
--.br
--The BSD \fBO\fR option can act like \fB\-O\fR (user\-defined output
--format with some common fields predefined) or can be used to specify
--sort order. Heuristics are used to determine the behavior of this
--option. To ensure that the desired behavior is obtained (sorting or
--formatting), specify the option in some other way
--(e.g. with \fB\-O\fR or \fB\-\-sort\fR).
--When used as a formatting option, it is identical to \fB\-O\fR, with the
--BSD\ personality.
--
--.opt \-M
--Add a column of security data. Identical to \fBZ\fR. (for\ SE\ Linux)
--
--.opt X
--Register format.
--
--.opt Z
--Add a column of security data. Identical to \fB\-M\fR. (for\ SE\ Linux)
--
- .opt \-c
- Show different scheduler information for the \fB\-l\fR option.
-
-+.opt \-\-context
-+Display security context format. (for\ SE\ Linux)
-+
- .opt \-f
- does full\-format listing. This option can be combined with many
- other UNIX\-style options to add additional columns. It also causes
-@@ -393,6 +370,12 @@ NLWP (number of threads) and LWP (thread ID) columns will be added.
- See the \fBc\fR option, the format keyword \fBargs\fR, and the
- format keyword \fBcomm\fR.
-
-+.opt \-F
-+extra full format. See the \fB\-f\fR option, which \fB\-F\fR implies.
-+
-+.opt \-\-format \ format
-+user\-defined format. Identical to \fB\-o\fR and \fBo\fR.
-+
- .opt j
- BSD job control format.
-
-@@ -405,6 +388,26 @@ display BSD long format.
- .opt \-l
- long format. The \fB\-y\fR option is often useful with this.
-
-+.opt \-M
-+Add a column of security data. Identical to \fBZ\fR. (for\ SE\ Linux)
-+
-+.opt O \ format
-+is preloaded \fBo\fR (overloaded).
-+.br
-+The BSD \fBO\fR option can act like \fB\-O\fR (user\-defined output
-+format with some common fields predefined) or can be used to specify
-+sort order. Heuristics are used to determine the behavior of this
-+option. To ensure that the desired behavior is obtained (sorting or
-+formatting), specify the option in some other way
-+(e.g. with \fB\-O\fR or \fB\-\-sort\fR).
-+When used as a formatting option, it is identical to \fB\-O\fR, with the
-+BSD\ personality.
-+
-+.opt \-O \ format
-+is like \fB\-o\fR, but preloaded with some default columns.
-+Identical to \fB\-o\ pid,\fIformat\fB,state,tname,time,command\fR
-+or \fB\-o\ pid,\fIformat\fB,tname,time,cmd\fR, see\ \fB\-o\fR\ below.
-+
- .opt o \ format
- specify user\-defined format. Identical to \fB\-o\fR and
- \fB\-\-format\fR.
-@@ -440,15 +443,15 @@ display user\-oriented format
- .opt v
- display virtual memory format
-
-+.opt X
-+Register format.
-+
- .opt \-y
- Do not show flags; show rss in place of addr.
- This option can only be used with \fB\-l\fR.
-
--.opt \-\-format \ format
--user\-defined format. Identical to \fB\-o\fR and \fBo\fR.
--
--.opt \-\-context
--Display security context format. (for\ SE\ Linux)
-+.opt Z
-+Add a column of security data. Identical to \fB\-M\fR. (for\ SE\ Linux)
-
- .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- .PD
-@@ -459,37 +462,6 @@ Display security context format. (for\ SE\ Linux)
- .\" .B C
- .\" use raw CPU time for %CPU instead of decaying average
-
--.opt \-H
--show process hierarchy (forest)
--
--.opt N \ namelist
--Specify namelist file. Identical to \fB\-n\fR, see \fB\-n\fR above.
--
--.opt O \ order
--Sorting order. (overloaded)
--.br
--The BSD \fBO\fR option can act like \fB\-O\fR (user\-defined output
--format with some common fields predefined) or can be used to specify
--sort order. Heuristics are used to determine the behavior of this
--option. To ensure that the desired behavior is obtained (sorting or
--formatting), specify the option in some other way (e.g. with \fB\-O\fR
--or \fB\-\-sort\fR).
--
--For sorting, obsolete BSD \fBO\fR option syntax is
--\fBO\fR[\fB+\fR|\fB\-\fR]\fIk1\fR[,[\fB+\fR|\fB\-\fR]\fIk2\fR[,...]].
--It orders the processes listing according to the multilevel sort specified by
--the sequence of one\-letter short keys \fIk1\fR, \fIk2\fR, ... described
--in the \fBOBSOLETE SORT KEYS\fR section below.
--The\ "+" is currently optional,
--merely re\-iterating the default direction on a key,
--but may help to distinguish an \fBO\fR sort from an \fBO\fR format.
--The\ "\-" reverses direction only on the key it precedes.
--
--.opt S
--Sum up some information, such as CPU usage, from dead child processes
--into their parent. This is useful for examining a system where a
--parent process repeatedly forks off short\-lived children to do work.
--
- .opt c
- Show the true command name. This is derived from the name of the
- executable file, rather than from the argv value. Command arguments
-@@ -502,12 +474,24 @@ display the command arguments.
- See the \fB\-f\fR option, the format keyword \fBargs\fR, and the
- format keyword \fBcomm\fR.
-
-+.opt \-\-cols \ n
-+set screen width
-+
-+.opt \-\-columns \ n
-+set screen width
-+
-+.opt \-\-cumulative
-+include some dead child process data (as a sum with the parent)
-+
- .opt e
- Show the environment after the command.
-
- .opt f
- ASCII\-art process hierarchy (forest)
-
-+.opt \-\-forest
-+ASCII art process tree
-+
- .opt h
- No header. (or, one header per screen in the BSD personality)
- .br
-@@ -521,6 +505,12 @@ current personality, you can use the long options \fB\-\-headers\fR
- and \fB\-\-no\-headers\fR to enable printing headers each page or
- disable headers entirely, respectively.
-
-+.opt \-H
-+show process hierarchy (forest)
-+
-+.opt \-\-headers
-+repeat header lines, one per page of output
-+
- .opt k \ spec
- specify sorting order. Sorting syntax is
- [\fB+\fR|\fB\-\fR]\fIkey\fR[,[\fB+\fR|\fB\-\fR]\fIkey\fR[,...]]
-@@ -557,40 +547,47 @@ Without this option, the default search path for the namelist is:
- .br
- /System.map
-
-+.opt \-\-lines \ n
-+set screen height
-+
- .opt n
- Numeric output for WCHAN and USER. (including all types of UID and GID)
-
--.opt \-w
--Wide output. Use this option twice for unlimited width.
--
--.opt w
--Wide output. Use this option twice for unlimited width.
--
--.opt \-\-cols \ n
--set screen width
--
--.opt \-\-columns \ n
--set screen width
--
--.opt \-\-cumulative
--include some dead child process data (as a sum with the parent)
-+.opt N \ namelist
-+Specify namelist file. Identical to \fB\-n\fR, see \fB\-n\fR above.
-
--.opt \-\-forest
--ASCII art process tree
-+.opt O \ order
-+Sorting order. (overloaded)
-+.br
-+The BSD \fBO\fR option can act like \fB\-O\fR (user\-defined output
-+format with some common fields predefined) or can be used to specify
-+sort order. Heuristics are used to determine the behavior of this
-+option. To ensure that the desired behavior is obtained (sorting or
-+formatting), specify the option in some other way (e.g. with \fB\-O\fR
-+or \fB\-\-sort\fR).
-
--.opt \-\-headers
--repeat header lines, one per page of output
-+For sorting, obsolete BSD \fBO\fR option syntax is
-+\fBO\fR[\fB+\fR|\fB\-\fR]\fIk1\fR[,[\fB+\fR|\fB\-\fR]\fIk2\fR[,...]].
-+It orders the processes listing according to the multilevel sort specified by
-+the sequence of one\-letter short keys \fIk1\fR, \fIk2\fR, ... described
-+in the \fBOBSOLETE SORT KEYS\fR section below.
-+The\ "+" is currently optional,
-+merely re\-iterating the default direction on a key,
-+but may help to distinguish an \fBO\fR sort from an \fBO\fR format.
-+The\ "\-" reverses direction only on the key it precedes.
-
- .opt \-\-no\-headers
- print no header line at all. \-\-no\-heading is an alias for this
- option.
-
--.opt \-\-lines \ n
--set screen height
--
- .opt \-\-rows \ n
- set screen height
-
-+.opt S
-+Sum up some information, such as CPU usage, from dead child processes
-+into their parent. This is useful for examining a system where a
-+parent process repeatedly forks off short\-lived children to do work.
-+
- .opt \-\-sort \ spec
- specify sorting order. Sorting syntax is
- [\fB+\fR|\fB\-\fR]\fIkey\fR[,[\fB+\fR|\fB\-\fR]\fIkey\fR[,...]]
-@@ -599,6 +596,12 @@ The\ "+" is optional since default direction is increasing numerical or
- lexicographic order. Identical to\ \fBk\fR.
- For example: \fBps\ jax\ \-\-sort=uid,\-ppid,+pid\fR
-
-+.opt w
-+Wide output. Use this option twice for unlimited width.
-+
-+.opt \-w
-+Wide output. Use this option twice for unlimited width.
-+
- .opt \-\-width \ n
- set screen width
-
-@@ -614,35 +617,35 @@ Show threads as if they were processes
- .opt \-L
- Show threads, possibly with LWP and NLWP columns
-
--.opt \-T
--Show threads, possibly with SPID column
--
- .opt m
- Show threads after processes
-
- .opt \-m
- Show threads after processes
-
-+.opt \-T
-+Show threads, possibly with SPID column
-+
- .\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- .PD
- .PP
- .SH "OTHER INFORMATION"
- .PD 0
-
-+.opt \-\-help
-+Print a help message.
-+
-+.opt \-\-info
-+Print debugging info.
-+
- .opt L
- List all format specifiers.
-
--.opt \-V
--Print the procps version.
--
- .opt V
- Print the procps version.
-
--.opt \-\-help
--Print a help message.
--
--.opt \-\-info
--Print debugging info.
-+.opt \-V
-+Print the procps version.
-
- .opt \-\-version
- Print the procps version.
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0053-top_highlight.patch b/patches/procps-3.2.8/0053-top_highlight.patch
deleted file mode 100644
index 2621f17..0000000
--- a/patches/procps-3.2.8/0053-top_highlight.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8408efa4ad9bf469b957b3e84c13593499d9ed64 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 53/70] top_highlight
-
-===================================================================
----
- top.c | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/top.c b/top.c
-index f6880b5..d86a311 100644
---- a/top.c
-+++ b/top.c
-@@ -3054,9 +3054,10 @@ static proc_t **summary_show (void)
- snprintf(_z, sizeof(_z), f, ## va); \
- snprintf(cbuf, sizeof(cbuf), "%s%s%s", \
- q->capclr_rowhigh, \
-- _z, \
-+ _z+advance, \
- !(CHKw(q, Show_HIROWS) && 'R' == p->state) ? q->capclr_rownorm : "" \
- ); \
-+ advance=0; \
- pad += q->len_rowhigh; \
- if (!(CHKw(q, Show_HIROWS) && 'R' == p->state)) pad += q->len_rownorm; \
- } \
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0054-top_nohz.patch b/patches/procps-3.2.8/0054-top_nohz.patch
deleted file mode 100644
index 2b6ec5a..0000000
--- a/patches/procps-3.2.8/0054-top_nohz.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c09814258383e1c032c6df12ae96d5e56386daef Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 54/70] top_nohz
-
-===================================================================
----
- top.c | 1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/top.c b/top.c
-index d86a311..ea33989 100644
---- a/top.c
-+++ b/top.c
-@@ -2916,6 +2916,7 @@ static void summaryhlp (CPU_t *cpu, const char *pfx)
- s_frme = cpu->s - cpu->s_sav;
- n_frme = cpu->n - cpu->n_sav;
- i_frme = TRIMz(cpu->i - cpu->i_sav);
-+ if ((u_frme == 0) && (i_frme == 0)) i_frme = 100.0;
- w_frme = cpu->w - cpu->w_sav;
- x_frme = cpu->x - cpu->x_sav;
- y_frme = cpu->y - cpu->y_sav;
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0055-vmstat_part_format.patch b/patches/procps-3.2.8/0055-vmstat_part_format.patch
deleted file mode 100644
index 3146ac8..0000000
--- a/patches/procps-3.2.8/0055-vmstat_part_format.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From f619f8629a5915c900f984c1caf44241ff077f32 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 55/70] vmstat_part_format
-
----
- proc/sysinfo.c | 22 +++++++++++++++++++---
- proc/sysinfo.h | 2 +-
- vmstat.c | 2 +-
- 3 files changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/proc/sysinfo.c b/proc/sysinfo.c
-index 8dbabdf..444ee5b 100644
---- a/proc/sysinfo.c
-+++ b/proc/sysinfo.c
-@@ -796,6 +796,18 @@ unsigned int getpartitions_num(struct disk_stat *disks, int ndisks){
- }
-
- /////////////////////////////////////////////////////////////////////////////
-+static int is_disk(char *dev)
-+{
-+ char syspath[PATH_MAX];
-+ char *slash;
-+
-+ while ((slash = strchr(dev, '/')))
-+ *slash = '!';
-+ snprintf(syspath, sizeof(syspath), "/sys/block/%s", dev);
-+ return !(access(syspath, F_OK));
-+}
-+
-+/////////////////////////////////////////////////////////////////////////////
-
- unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **partitions){
- FILE* fd;
-@@ -803,6 +815,7 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
- int cPartition = 0;
- int fields;
- unsigned dummy;
-+ char devname[PATH_MAX];
-
- *disks = NULL;
- *partitions = NULL;
-@@ -815,8 +828,9 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
- fclose(fd);
- break;
- }
-- fields = sscanf(buff, " %*d %*d %*s %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %u", &dummy);
-- if (fields == 1){
-+ fields = sscanf(buff, " %*d %*d %15s %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %u",
-+ &devname, &dummy);
-+ if (fields == 2 && is_disk(devname)){
- (*disks) = realloc(*disks, (cDisk+1)*sizeof(struct disk_stat));
- sscanf(buff, " %*d %*d %15s %u %u %llu %u %u %u %llu %u %u %u %u",
- //&disk_major,
-@@ -839,7 +853,9 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
- }else{
- (*partitions) = realloc(*partitions, (cPartition+1)*sizeof(struct partition_stat));
- fflush(stdout);
-- sscanf(buff, " %*d %*d %15s %u %llu %u %u",
-+ sscanf(buff, (fields == 2)
-+ ? " %*d %*d %15s %u %*u %llu %*u %u %*u %llu %*u %*u %*u %*u"
-+ : " %*d %*d %15s %u %llu %u %llu",
- //&part_major,
- //&part_minor,
- (*partitions)[cPartition].partition_name,
-diff --git a/proc/sysinfo.h b/proc/sysinfo.h
-index e30a38b..494c4b3 100644
---- a/proc/sysinfo.h
-+++ b/proc/sysinfo.h
-@@ -113,7 +113,7 @@ typedef struct partition_stat{
- unsigned parent_disk; // index into a struct disk_stat array
- unsigned reads;
- unsigned writes;
-- unsigned requested_writes;
-+ unsigned long long requested_writes;
- }partition_stat;
-
- extern unsigned int getpartitions_num(struct disk_stat *disks, int ndisks);
-diff --git a/vmstat.c b/vmstat.c
-index e0d3c23..e81a4ac 100644
---- a/vmstat.c
-+++ b/vmstat.c
-@@ -286,7 +286,7 @@ static int diskpartition_format(const char* partition_name){
- struct disk_stat *disks;
- struct partition_stat *partitions, *current_partition=NULL;
- unsigned long ndisks, j, k, npartitions;
-- const char format[] = "%20u %10llu %10u %10u\n";
-+ const char format[] = "%20u %10llu %10u %10llu\n";
-
- fDiskstat=fopen("/proc/diskstats","rb");
- if(!fDiskstat){
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0056-readproc_double_free.patch b/patches/procps-3.2.8/0056-readproc_double_free.patch
deleted file mode 100644
index 8a3084b..0000000
--- a/patches/procps-3.2.8/0056-readproc_double_free.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 0a7cff0b81b32033591436d2bbc65f5c54e8fa3a Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 56/70] readproc_double_free
-
----
- proc/readproc.c | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/proc/readproc.c b/proc/readproc.c
-index 9660799..4203071 100644
---- a/proc/readproc.c
-+++ b/proc/readproc.c
-@@ -828,6 +828,7 @@ proc_t* readproc(PROCTAB *restrict const PT, proc_t *restrict p) {
-
- saved_p = p;
- if(!p) p = xcalloc(p, sizeof *p); /* passed buf or alloced mem */
-+ else memset(p, 0, sizeof *p);
-
- for(;;){
- // fills in the path, plus p->tid and p->tgid
-@@ -856,6 +857,7 @@ proc_t* readtask(PROCTAB *restrict const PT, const proc_t *restrict const p, pro
-
- saved_t = t;
- if(!t) t = xcalloc(t, sizeof *t); /* passed buf or alloced mem */
-+ else memset(t, 0, sizeof *t);
-
- // 1. got to fake a thread for old kernels
- // 2. for single-threaded processes, this is faster (but must patch up stuff that differs!)
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0057-vmstat_units.patch b/patches/procps-3.2.8/0057-vmstat_units.patch
deleted file mode 100644
index ef2bb3e..0000000
--- a/patches/procps-3.2.8/0057-vmstat_units.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From cc3d82aca91e1910e5dacb56f2b50e23eab66d73 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 57/70] vmstat_units
-
-to stop some overflows of some kernel variables
-Bug-Debian: http://bugs.debian.org/558134
-Bug-Debian: http://bugs.debian.org/558361
----
- proc/sysinfo.c | 2 +-
- vmstat.8 | 3 ++-
- vmstat.c | 8 ++++----
- 3 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/proc/sysinfo.c b/proc/sysinfo.c
-index 444ee5b..382c8dc 100644
---- a/proc/sysinfo.c
-+++ b/proc/sysinfo.c
-@@ -606,7 +606,7 @@ void meminfo(void){
- );
- head = tail+1;
- if(!found) goto nextline;
-- *(found->slot) = strtoul(head,&tail,10);
-+ *(found->slot) = (unsigned long)strtoull(head,&tail,10);
- nextline:
- tail = strchr(head, '\n');
- if(!tail) break;
-diff --git a/vmstat.8 b/vmstat.8
-index c97826f..486224b 100644
---- a/vmstat.8
-+++ b/vmstat.8
-@@ -67,7 +67,8 @@ The \fB-D\fP reports some summary statistics about disk activity.
- .PP
- The \fB\-p\fP followed by some partition name for detailed statistics (2.5.70 or above required)
- .PP
--The \fB\-S\fP followed by k or K or m or M switches outputs between 1000, 1024, 1000000, or 1048576 bytes
-+The \fB\-S\fP followed by k or K or m or M switches changes the units of
-+ouput from bytes to outputs between 1000, 1024, 1000000, or 1048576 bytes. Note this does not change the swap (si/so) or block (bi/bo) fields.
- .PP
- The \fB\-V\fP switch results in displaying version information.
- .PP
-diff --git a/vmstat.c b/vmstat.c
-index e81a4ac..cbbb094 100644
---- a/vmstat.c
-+++ b/vmstat.c
-@@ -209,8 +209,8 @@ static void new_format(void) {
- unitConvert(kb_swap_used), unitConvert(kb_main_free),
- unitConvert(a_option?kb_inactive:kb_main_buffers),
- unitConvert(a_option?kb_active:kb_main_cached),
-- (unsigned)( (*pswpin * unitConvert(kb_per_page) * hz + divo2) / Div ),
-- (unsigned)( (*pswpout * unitConvert(kb_per_page) * hz + divo2) / Div ),
-+ (unsigned)( (*pswpin * kb_per_page * hz + divo2) / Div ),
-+ (unsigned)( (*pswpout * kb_per_page * hz + divo2) / Div ),
- (unsigned)( (*pgpgin * hz + divo2) / Div ),
- (unsigned)( (*pgpgout * hz + divo2) / Div ),
- (unsigned)( (*intr * hz + divo2) / Div ),
-@@ -258,8 +258,8 @@ static void new_format(void) {
- unitConvert(kb_swap_used),unitConvert(kb_main_free),
- unitConvert(a_option?kb_inactive:kb_main_buffers),
- unitConvert(a_option?kb_active:kb_main_cached),
-- (unsigned)( ( (pswpin [tog] - pswpin [!tog])*unitConvert(kb_per_page)+sleep_half )/sleep_time ), /*si*/
-- (unsigned)( ( (pswpout[tog] - pswpout[!tog])*unitConvert(kb_per_page)+sleep_half )/sleep_time ), /*so*/
-+ (unsigned)( ( (pswpin [tog] - pswpin [!tog])*kb_per_page+sleep_half )/sleep_time ), /*si*/
-+ (unsigned)( ( (pswpout[tog] - pswpout[!tog])*kb_per_page+sleep_half )/sleep_time ), /*so*/
- (unsigned)( ( pgpgin [tog] - pgpgin [!tog] +sleep_half )/sleep_time ), /*bi*/
- (unsigned)( ( pgpgout[tog] - pgpgout[!tog] +sleep_half )/sleep_time ), /*bo*/
- (unsigned)( ( intr [tog] - intr [!tog] +sleep_half )/sleep_time ), /*in*/
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0058-skill_null_argv.patch b/patches/procps-3.2.8/0058-skill_null_argv.patch
deleted file mode 100644
index 69b0029..0000000
--- a/patches/procps-3.2.8/0058-skill_null_argv.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 52ec990a0823501e28015c2e9607dc6cfc7542ba Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 58/70] skill_null_argv
-
----
- skill.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/skill.c b/skill.c
-index c8af9fd..d9a1af9 100644
---- a/skill.c
-+++ b/skill.c
-@@ -307,7 +307,7 @@ no_more_args:
- long pid;
- char *endp;
- pid = strtol(argv[argc],&endp,10);
-- if(!*endp){
-+ if(!*endp && (endp != argv[argc])){
- if(!kill((pid_t)pid,signo)) continue;
- // The UNIX standard contradicts itself. If at least one process
- // is matched for each PID (as if processes could share PID!) and
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0059-skill_multiarg.patch b/patches/procps-3.2.8/0059-skill_multiarg.patch
deleted file mode 100644
index 32a3ada..0000000
--- a/patches/procps-3.2.8/0059-skill_multiarg.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 26cd8eee99742fd69b006b4b8467aefc230ae61d Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 59/70] skill_multiarg
-
----
- skill.c | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/skill.c b/skill.c
-index d9a1af9..2d90ad0 100644
---- a/skill.c
-+++ b/skill.c
-@@ -464,6 +464,8 @@ selection_collection:
- switch(force){ /* fall through each data type */
- default: skillsnice_usage();
- case 0: /* not forced */
-+ if (argptr && argptr[0] == '-') /* its the next argument not a parameter */
-+ continue;
- case 't':
- if(argc){
- struct stat sbuf;
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0060-proc_version_constructor.patch b/patches/procps-3.2.8/0060-proc_version_constructor.patch
deleted file mode 100644
index 5a4d271..0000000
--- a/patches/procps-3.2.8/0060-proc_version_constructor.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 5b7bf25c0b54723789abfd5f46779ae6ae49e2c3 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 60/70] proc_version_constructor
-
----
- proc/sysinfo.c | 1 +
- proc/version.c | 3 +--
- proc/version.h | 1 +
- 3 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/proc/sysinfo.c b/proc/sysinfo.c
-index 382c8dc..c804f49 100644
---- a/proc/sysinfo.c
-+++ b/proc/sysinfo.c
-@@ -213,6 +213,7 @@ static int check_for_privs(void){
- static void init_libproc(void) __attribute__((constructor));
- static void init_libproc(void){
- have_privs = check_for_privs();
-+ init_Linux_version(); /* Must be called before we check code */
- // ought to count CPUs in /proc/stat instead of relying
- // on glibc, which foolishly tries to parse /proc/cpuinfo
- //
-diff --git a/proc/version.c b/proc/version.c
-index 7930367..cc215bc 100644
---- a/proc/version.c
-+++ b/proc/version.c
-@@ -33,8 +33,7 @@ void display_version(void) {
-
- int linux_version_code;
-
--static void init_Linux_version(void) __attribute__((constructor));
--static void init_Linux_version(void) {
-+void init_Linux_version(void) {
- int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
- FILE *fp;
- char buf[256];
-diff --git a/proc/version.h b/proc/version.h
-index 3769b84..04a75e9 100644
---- a/proc/version.h
-+++ b/proc/version.h
-@@ -14,6 +14,7 @@
-
- EXTERN_C_BEGIN
-
-+void init_Linux_version(void); /* Get Linux version */
- extern void display_version(void); /* display suite version */
- extern const char procps_version[]; /* global buf for suite version */
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0061-pmaps_smaps.patch b/patches/procps-3.2.8/0061-pmaps_smaps.patch
deleted file mode 100644
index fde2358..0000000
--- a/patches/procps-3.2.8/0061-pmaps_smaps.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 37502350f47277ad647ed77ad75e345b76e313c5 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 61/70] pmaps_smaps
-
----
- pmap.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------
- 1 files changed, 68 insertions(+), 18 deletions(-)
-
-diff --git a/pmap.c b/pmap.c
-index 6b865fc..3dcb81e 100644
---- a/pmap.c
-+++ b/pmap.c
-@@ -126,24 +126,37 @@ static int one_proc(proc_t *p){
- char buf[32];
- char mapbuf[9600];
- char cmdbuf[512];
-+ FILE *fp;
- unsigned long total_shared = 0ul;
- unsigned long total_private_readonly = 0ul;
- unsigned long total_private_writeable = 0ul;
-
-+ char *cp2=NULL;
-+ unsigned long long rss = 0ull;
-+ unsigned long long private_dirty = 0ull;
-+ unsigned long long shared_dirty = 0ull;
-+ unsigned long long total_rss = 0ull;
-+ unsigned long long total_private_dirty = 0ull;
-+ unsigned long long total_shared_dirty = 0ull;
-+
- // Overkill, but who knows what is proper? The "w" prog
- // uses the tty width to determine this.
- int maxcmd = 0xfffff;
-
- sprintf(buf,"/proc/%u/maps",p->tgid);
-- if(!freopen(buf, "r", stdin)) return 1;
-+ if ( (fp = fopen(buf, "r")) == NULL) return 1;
-+ if (x_option) {
-+ sprintf(buf,"/proc/%u/smaps",p->tgid);
-+ if ( (fp = freopen(buf, "r", fp)) == NULL) return 1;
-+ }
-
- escape_command(cmdbuf, p, sizeof cmdbuf, &maxcmd, ESC_ARGS|ESC_BRACKETS);
- printf("%u: %s\n", p->tgid, cmdbuf);
-
- if(!q_option && (x_option|d_option)){
- if(x_option){
-- if(sizeof(KLONG)==4) printf("Address Kbytes RSS Anon Locked Mode Mapping\n");
-- else printf("Address Kbytes RSS Anon Locked Mode Mapping\n");
-+ if(sizeof(KLONG)==4) printf("Address Kbytes RSS Dirty Mode Mapping\n");
-+ else printf("Address Kbytes RSS Dirty Mode Mapping\n");
- }
- if(d_option){
- if(sizeof(KLONG)==4) printf("Address Kbytes Mode Offset Device Mapping\n");
-@@ -151,12 +164,54 @@ static int one_proc(proc_t *p){
- }
- }
-
-- while(fgets(mapbuf,sizeof mapbuf,stdin)){
-+ while(fgets(mapbuf,sizeof mapbuf,fp)){
- char flags[32];
- char *tmp; // to clean up unprintables
-- unsigned KLONG start, end, diff;
-+ unsigned KLONG start, end, diff=0;
- unsigned long long file_offset, inode;
- unsigned dev_major, dev_minor;
-+ unsigned long long smap_value;
-+ char smap_key[20];
-+
-+ /* hex values are lower case or numeric, keys are upper */
-+ if (mapbuf[0] >= 'A' && mapbuf[0] <= 'Z') {
-+ /* Its a key */
-+ if (sscanf(mapbuf,"%20[^:]: %llu", smap_key, &smap_value) == 2) {
-+ if (strncmp("Rss", smap_key, 3) == 0) {
-+ rss = smap_value;
-+ total_rss += smap_value;
-+ continue;
-+ }
-+ if (strncmp("Shared_Dirty", smap_key, 12) == 0) {
-+ shared_dirty = smap_value;
-+ total_shared_dirty += smap_value;
-+ continue;
-+ }
-+ if (strncmp("Private_Dirty", smap_key, 13) == 0) {
-+ private_dirty = smap_value;
-+ total_private_dirty += smap_value;
-+ continue;
-+ }
-+ if (strncmp("Swap", smap_key, 4) == 0) { /*doesnt matter as long as last*/
-+ printf(
-+ (sizeof(KLONG)==8)
-+ ? "%016"KLF"x %7lu %7llu %7llu %s %s\n"
-+ : "%08lx %7lu %7llu %7llu %s %s\n",
-+ start,
-+ (unsigned long)(diff>>10),
-+ rss,
-+ (private_dirty + shared_dirty),
-+ flags,
-+ cp2
-+ );
-+ /* reset some counters */
-+ rss = shared_dirty = private_dirty = 0ull;
-+ continue;
-+ }
-+ /* Other keys */
-+ continue;
-+ }
-+ }
- sscanf(mapbuf,"%"KLF"x-%"KLF"x %31s %Lx %x:%x %Lu", &start, &end, flags, &file_offset, &dev_major, &dev_minor, &inode);
-
- if(start > range_high)
-@@ -186,16 +241,9 @@ static int one_proc(proc_t *p){
- flags[5] = '\0';
-
- if(x_option){
-- const char *cp = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
-- printf(
-- (sizeof(KLONG)==8)
-- ? "%016"KLF"x %7lu - - - %s %s\n"
-- : "%08lx %7lu - - - %s %s\n",
-- start,
-- (unsigned long)(diff>>10),
-- flags,
-- cp
-- );
-+ cp2 = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
-+ /* printed with the keys */
-+ continue;
- }
- if(d_option){
- const char *cp = mapping_name(p, start, diff, mapbuf, 0, dev_major, dev_minor, inode);
-@@ -232,10 +280,12 @@ static int one_proc(proc_t *p){
- if(!q_option){
- if(x_option){
- if(sizeof(KLONG)==8){
-- printf("---------------- ------ ------ ------ ------\n");
-+ printf("---------------- ------ ------ ------\n");
- printf(
-- "total kB %15ld - - -\n",
-- (total_shared + total_private_writeable + total_private_readonly) >> 10
-+ "total kB %15ld %7llu %7llu\n",
-+ (total_shared + total_private_writeable + total_private_readonly) >> 10,
-+ total_rss, (total_shared_dirty+total_private_dirty)
-+
- );
- }else{
- printf("-------- ------- ------- ------- -------\n");
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0062-top_numeric_args.patch b/patches/procps-3.2.8/0062-top_numeric_args.patch
deleted file mode 100644
index d148774..0000000
--- a/patches/procps-3.2.8/0062-top_numeric_args.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 3742765f0bf30142c8f7d1510a86b0babe80e6e6 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 62/70] top_numeric_args
-
----
- top.c | 48 ++++++++++++++++++++++++++++++++++++------------
- 1 files changed, 36 insertions(+), 12 deletions(-)
-
-diff --git a/top.c b/top.c
-index ea33989..e194244 100644
---- a/top.c
-+++ b/top.c
-@@ -32,6 +32,7 @@
- #include <stdarg.h>
- #include <stdio.h>
- #include <stdlib.h>
-+#include <math.h>
- #include <string.h>
-
- // Foul POS defines all sorts of stuff...
-@@ -1825,8 +1826,12 @@ static void parse_args (char **args)
-
- while (*args) {
- const char *cp = *(args++);
-+ if (*cp!='-') {
-+ std_err(fmtmk("unknown argument '%c'\nusage:\t%s%s" , *cp, Myname, usage));
-+ }
-
-- while (*cp) {
-+ for(++cp; *cp; cp++) {
-+ char *end;
- switch (*cp) {
- case '\0':
- case '-':
-@@ -1842,8 +1847,15 @@ static void parse_args (char **args)
- else if (*args) cp = *args++;
- else std_err("-d requires argument");
- /* a negative delay will be dealt with shortly... */
-- if (sscanf(cp, "%f", &tmp_delay) != 1)
-- std_err(fmtmk("bad delay '%s'", cp));
-+ errno=0;
-+ if (( (fabs(tmp_delay=strtod(cp, &end))==HUGE_VAL &&
-+ errno==ERANGE) ||
-+ (tmp_delay==0 && errno!=0) ||
-+ end==cp ||
-+ end!=cp+strlen(cp))) {
-+ std_err(fmtmk("bad delay '%s'", cp));
-+ }
-+ cp=-1+end;
- break;
- case 'H':
- TOGw(Curwin, Show_THREADS);
-@@ -1859,8 +1871,15 @@ static void parse_args (char **args)
- if (cp[1]) cp++;
- else if (*args) cp = *args++;
- else std_err("-n requires argument");
-- if (sscanf(cp, "%d", &Loops) != 1 || Loops < 1)
-- std_err(fmtmk("bad iterations arg '%s'", cp));
-+ errno=0;
-+ if ((((Loops=strtol(cp, &end, 0))==LONG_MIN ||
-+ Loops==LONG_MAX) &&
-+ errno==ERANGE) ||
-+ end==cp ||
-+ end!=cp+strlen(cp) || Loops<1) {
-+ std_err(fmtmk("bad iterations arg '%s'", cp));
-+ }
-+ cp=-1+end;
- break;
- case 'p':
- do {
-@@ -1868,11 +1887,19 @@ static void parse_args (char **args)
- selection_type = 'p';
- if (cp[1]) cp++;
- else if (*args) cp = *args++;
-- else std_err("-p argument missing");
-+ else std_err("-p requires argument");
- if (Monpidsidx >= MONPIDMAX)
- std_err(fmtmk("pid limit (%d) exceeded", MONPIDMAX));
-- if (sscanf(cp, "%d", &Monpids[Monpidsidx]) != 1 || Monpids[Monpidsidx] < 0)
-- std_err(fmtmk("bad pid '%s'", cp));
-+ errno=0;
-+ if ((((Monpids[Monpidsidx]=strtol(cp, &end, 0))==LONG_MIN ||
-+ Monpids[Monpidsidx]==LONG_MAX) &&
-+ errno==ERANGE) ||
-+ end==cp ||
-+ Monpids[Monpidsidx]<1) {
-+ std_err(fmtmk("bad pid '%s'", cp));
-+ }
-+ cp=-1+end;
-+
- if (!Monpids[Monpidsidx])
- Monpids[Monpidsidx] = getpid();
- Monpidsidx++;
-@@ -1918,10 +1945,7 @@ static void parse_args (char **args)
- , *cp, Myname, usage));
-
- } /* end: switch (*cp) */
--
-- /* advance cp and jump over any numerical args used above */
-- if (*cp) cp += strspn(&cp[1], "- ,.1234567890") + 1;
-- } /* end: while (*cp) */
-+ } /* end: for (; *cp) */
- } /* end: while (*args) */
-
- /* fixup delay time, maybe... */
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0063-top_1_swap.patch b/patches/procps-3.2.8/0063-top_1_swap.patch
deleted file mode 100644
index e488385..0000000
--- a/patches/procps-3.2.8/0063-top_1_swap.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6a4504ffe207c72f1f4646f46db4d4076e154c89 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 63/70] top_1_swap
-
----
- top.1 | 8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/top.1 b/top.1
-index 0ce1c62..5b44828 100644
---- a/top.1
-+++ b/top.1
-@@ -401,13 +401,13 @@ A task's currently used share of available \*(MP.
- o:\fB VIRT\fR \*(EM Virtual Image (kb)
- The total amount of \*(MV used by the task.
- It includes all code, data and shared libraries plus pages that have been
--swapped out.
--
--VIRT = SWAP + RES.
-+swapped out and pages that have been mapped but not used.
-
- .TP 3
- p:\fB SWAP\fR \*(EM Swapped size (kb)
--The swapped out portion of a task's total \*(MV image.
-+Memory that is not resident but is present in a task. This is memory that
-+has been swapped out but could include additional non-resident memory.
-+This column is calculated by subtracting \*(MP from \*(MV.
-
- .TP 3
- q:\fB RES\fR \*(EM Resident size (kb)
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0064-w_userproc.patch b/patches/procps-3.2.8/0064-w_userproc.patch
deleted file mode 100644
index d16462f..0000000
--- a/patches/procps-3.2.8/0064-w_userproc.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3350dba35edadb332e7e86baaa514c19c8067223 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 64/70] w_userproc
-
----
- w.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/w.c b/w.c
-index 48a02be..107b9fc 100644
---- a/w.c
-+++ b/w.c
-@@ -171,7 +171,7 @@ static const proc_t *getproc(const utmp_t *restrict const u, const char *restric
- secondbest = tmp;
- }
- if(!ignoreuser && uid != tmp->euid && uid != tmp->ruid) continue;
-- if(tmp->tgid != tmp->tpgid) continue;
-+ if(tmp->pgrp != tmp->tpgid) continue;
- if(best && tmp->start_time <= best->start_time) continue;
- best = tmp;
- }
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch b/patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch
deleted file mode 100644
index 7b79288..0000000
--- a/patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From df11ed5cbcac1bcf18799bf5c4df7b0c6a26b639 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:46 +0100
-Subject: [PATCH 65/70] sysinfo_kfreebsd_hertz
-
----
- proc/sysinfo.c | 8 ++++++++
- 1 files changed, 8 insertions(+), 0 deletions(-)
-
-diff --git a/proc/sysinfo.c b/proc/sysinfo.c
-index c804f49..65d94d7 100644
---- a/proc/sysinfo.c
-+++ b/proc/sysinfo.c
-@@ -230,6 +230,14 @@ static void init_libproc(void){
- fputs("2.4+ kernel w/o ELF notes? -- report this\n", stderr);
- }
- #endif
-+#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__)
-+ /* On FreeBSD the Hertz hack is unrelaible, there is no ELF note and
-+ * Hertz isn't defined in asm/params.h
-+ * See Debian Bug #460331
-+ */
-+ Hertz = 100;
-+ return;
-+#endif
- old_Hertz_hack();
- }
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0066-ps_1_flt_output.patch b/patches/procps-3.2.8/0066-ps_1_flt_output.patch
deleted file mode 100644
index a8e9e60..0000000
--- a/patches/procps-3.2.8/0066-ps_1_flt_output.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From bb71519ca889076afa450fcfd15229c49ba44442 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:47 +0100
-Subject: [PATCH 66/70] ps_1_flt_output
-
----
- ps/ps.1 | 10 +++++++++-
- 1 files changed, 9 insertions(+), 1 deletions(-)
-
-diff --git a/ps/ps.1 b/ps/ps.1
-index 6ba31dc..f07dc82 100644
---- a/ps/ps.1
-+++ b/ps/ps.1
-@@ -4,7 +4,7 @@
- .\" Quick hack conversion by Albert Cahalan, 1998.
- .\" Licensed under version 2 of the Gnu General Public License.
- .\"
--.TH PS 1 "July 28, 2004" "Linux" "Linux User's Manual"
-+.TH PS 1 "February 25, 2010" "Linux" "Linux User's Manual"
- .\"
- .\" To render this page:
- .\" groff -t -b -man -X -P-resolution -P100 -Tps ps.1 &
-@@ -1084,6 +1084,14 @@ lwp (light weight process, or thread) ID of the lwp being reported.
- (alias\ \fBspid\fR,\ \fBtid\fR).
- T}
-
-+maj_flt MAJFLT T{
-+The number of major page faults that have occured with this process.
-+T}
-+
-+min_flt MINFLT T{
-+The number of minor page faults that have occured with this process.
-+T}
-+
- ni NI T{
- nice value. This ranges from 19 (nicest) to \-20 (not\ nice to\ others),
- see\ \fInice\fR(1). (alias\ \fBnice\fR).
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0067-watch_ansi_colour.patch b/patches/procps-3.2.8/0067-watch_ansi_colour.patch
deleted file mode 100644
index 3d0b01f..0000000
--- a/patches/procps-3.2.8/0067-watch_ansi_colour.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From cda40ddb76fa6619d86bf675ae0cc816f16f26c9 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:47 +0100
-Subject: [PATCH 67/70] watch_ansi_colour
-
----
- watch.1 | 7 ++++-
- watch.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 96 insertions(+), 4 deletions(-)
-
-diff --git a/watch.1 b/watch.1
-index c5f17c4..aecbfeb 100644
---- a/watch.1
-+++ b/watch.1
-@@ -1,4 +1,4 @@
--.TH WATCH 1 "2009 May 11" " " "Linux User's Manual"
-+.TH WATCH 1 "2010 Mar 01" " " "Linux User's Manual"
- .SH NAME
- watch \- execute a program periodically, showing output fullscreen
- .SH SYNOPSIS
-@@ -8,6 +8,7 @@ watch \- execute a program periodically, showing output fullscreen
- .RB [ \-n
- .IR seconds ]
- .RB [ \-\-beep ]
-+.RB [ \-\-color ]
- .RB [ \-\-differences[=\fIcumulative\fP]]
- .RB [ \-\-errexit ]
- .RB [ \-\-exec ]
-@@ -75,6 +76,10 @@ or
- options, which will cause
- .B watch
- to exit if the return value from the program is non-zero.
-+.PP
-+By default \fBwatch\fR will normally not pass escape characters, however
-+if you use the \fI\-\-c\fR or \fI\-\-color\fR option, then
-+\fBwatch\fR will interpret ANSI color sequences for the foreground.
-
- .SH NOTE
- Note that
-diff --git a/watch.c b/watch.c
-index 7ab57ab..af7229e 100644
---- a/watch.c
-+++ b/watch.c
-@@ -37,6 +37,7 @@
- #endif
-
- static struct option longopts[] = {
-+ {"color", no_argument, 0, 'c' },
- {"differences", optional_argument, 0, 'd'},
- {"help", no_argument, 0, 'h'},
- {"interval", required_argument, 0, 'n'},
-@@ -50,7 +51,7 @@ static struct option longopts[] = {
- };
-
- static char usage[] =
-- "Usage: %s [-bdhnptvx] [--beep] [--differences[=cumulative]] [--exec] [--help] [--interval=<n>] [--no-title] [--version] <command>\n";
-+ "Usage: %s [-bcdhnptvx] [--beep] [--color] [--differences[=cumulative]] [--exec] [--help] [--interval=<n>] [--no-title] [--version] <command>\n";
-
- static char *progname;
-
-@@ -62,6 +63,74 @@ static int show_title = 2; // number of lines used, 2 or 0
- static int precise_timekeeping = 0;
-
- #define min(x,y) ((x) > (y) ? (y) : (x))
-+#define MAX_ANSIBUF 10
-+
-+static void init_ansi_colors(void)
-+{
-+ int i;
-+ short ncurses_colors[] = {
-+ COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE,
-+ COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE };
-+
-+ for (i=0; i< 8; i++)
-+ init_pair(i+1, ncurses_colors[i], -1);
-+}
-+
-+static void set_ansi_attribute(const int attrib)
-+{
-+ switch (attrib)
-+ {
-+ case -1:
-+ return;
-+ case 0:
-+ standend();
-+ return;
-+ case 1:
-+ attrset(A_BOLD);
-+ return;
-+ }
-+ if (attrib >= 30 && attrib <= 37) {
-+ color_set(attrib-29,NULL);
-+ return;
-+ }
-+}
-+
-+static void process_ansi(FILE *fp)
-+{
-+ int i,c, num1, num2;
-+ char buf[MAX_ANSIBUF];
-+ char *nextnum;
-+
-+
-+ c= getc(fp);
-+ if (c != '[') {
-+ ungetc(c, fp);
-+ return;
-+ }
-+ for(i=0; i<MAX_ANSIBUF; i++)
-+ {
-+ c = getc(fp);
-+ if (c == 'm') //COLOUR SEQUENCE ENDS in 'm'
-+ {
-+ buf[i] = '\0';
-+ break;
-+ }
-+ if (c < '0' && c > '9' && c != ';')
-+ {
-+ while(--i >= 0)
-+ ungetc(buf[i],fp);
-+ return;
-+ }
-+ buf[i] = (char)c;
-+ }
-+ num1 = strtol(buf, &nextnum, 10);
-+ if (nextnum != buf && nextnum[0] != '\0')
-+ num2 = strtol(nextnum+1, NULL, 10);
-+ else
-+ num2 = -1;
-+ set_ansi_attribute(num1);
-+ set_ansi_attribute(num2);
-+}
-
- static void do_usage(void) NORETURN;
- static void do_usage(void)
-@@ -187,6 +256,7 @@ main(int argc, char *argv[])
- option_differences_cumulative = 0,
- option_exec = 0,
- option_beep = 0,
-+ option_color = 0,
- option_errexit = 0,
- option_help = 0, option_version = 0;
- double interval = 2;
-@@ -205,12 +275,15 @@ main(int argc, char *argv[])
- setlocale(LC_ALL, "");
- progname = argv[0];
-
-- while ((optc = getopt_long(argc, argv, "+bed::hn:pvtx", longopts, (int *) 0))
-+ while ((optc = getopt_long(argc, argv, "+bced::hn:pvtx", longopts, (int *) 0))
- != EOF) {
- switch (optc) {
- case 'b':
- option_beep = 1;
- break;
-+ case 'c':
-+ option_color = 1;
-+ break;
- case 'd':
- option_differences = 1;
- if (optarg)
-@@ -319,6 +392,14 @@ main(int argc, char *argv[])
- /* Set up tty for curses use. */
- curses_started = 1;
- initscr();
-+ if (option_color) {
-+ if (has_colors()) {
-+ start_color();
-+ use_default_colors();
-+ init_ansi_colors();
-+ } else
-+ option_color = 0;
-+ }
- nonl();
- noecho();
- cbreak();
-@@ -460,7 +541,13 @@ main(int argc, char *argv[])
- }while (c != WEOF && !isprint(c) && c<128
- && wcwidth(c) == 0
- && c != L'\n'
-- && c != L'\t');
-+ && c != L'\t'
-+ && (c != L'\033' || option_color != 1));
-+ if (c == L'\033' && option_color == 1) {
-+ x--;
-+ process_ansi(p);
-+ continue;
-+ }
- if (c == L'\n')
- if (!oldeolseen && x == 0) {
- x = -1;
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0068-top_username_parse.patch b/patches/procps-3.2.8/0068-top_username_parse.patch
deleted file mode 100644
index 0ebcf61..0000000
--- a/patches/procps-3.2.8/0068-top_username_parse.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 9c1f9f99a5826be5069fc0ef66a8d3ada4e488b2 Mon Sep 17 00:00:00 2001
-From: http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz <info@debian.org>
-Date: Fri, 19 Mar 2010 21:58:47 +0100
-Subject: [PATCH 68/70] top_username_parse
-
----
- top.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/top.c b/top.c
-index e194244..62f4077 100644
---- a/top.c
-+++ b/top.c
-@@ -1924,7 +1924,7 @@ static void parse_args (char **args)
- errmsg = parse_uid(cp, &selection_uid);
- if (errmsg) std_err(errmsg);
- selection_type = 'u';
-- cp += snprintf(Curwin->colusrnam, USRNAMSIZ-1, "%s", cp); // FIXME: junk
-+ cp += snprintf(Curwin->colusrnam, USRNAMSIZ-1, "%s", cp)-1; // FIXME: junk
- } while(0);
- break;
- case 'U':
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch b/patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch
deleted file mode 100644
index b7f3a83..0000000
--- a/patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 97bc8fbfedfc3d823891ec6497c187cb8e1ace06 Mon Sep 17 00:00:00 2001
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Date: Fri, 19 Mar 2010 21:59:28 +0100
-Subject: [PATCH 69/70] don't install stuff that was not built
-
-We don't built everything in ptxdist. This Patch makes sure that
-'make install' won't fail if 'skill' or 'pgrep' is not there.
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
----
- Makefile | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index abddb6e..5efabb3 100644
---- a/Makefile
-+++ b/Makefile
-@@ -229,8 +229,8 @@ $(MANFILES) : all
- $(install) --mode a=r $(notdir $@) $@
-
- install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
-- cd $(usr/bin) && $(ln_f) skill snice
-- cd $(usr/proc/bin) && $(ln_f) pgrep pkill
-+ cd $(usr/bin) && test ! -f skill || $(ln_f) skill snice
-+ cd $(usr/proc/bin) && test ! -f pgrep || $(ln_f) pgrep pkill
-
- ############ prog.c --> prog.o
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch b/patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch
deleted file mode 100644
index fa5f509..0000000
--- a/patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 88fe43f463b9a2ad6ae5ac4be85de66af7b142ef Mon Sep 17 00:00:00 2001
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Date: Fri, 19 Mar 2010 22:03:13 +0100
-Subject: [PATCH 70/70] remove -frename-registers option, due to ICE on gcc-4.3.1
-
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
----
- Makefile | 1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 5efabb3..a83df5e 100644
---- a/Makefile
-+++ b/Makefile
-@@ -142,7 +142,6 @@ ALL_CFLAGS += $(call check_gcc,-Wstrict-aliasing,)
- # if not debugging, enable things that could confuse gdb
- ifeq (,$(findstring -g,$(filter -g%,$(CFLAGS))))
- ALL_CFLAGS += $(call check_gcc,-fweb,)
--ALL_CFLAGS += $(call check_gcc,-frename-registers,)
- ALL_CFLAGS += $(call check_gcc,-fomit-frame-pointer,)
- endif
-
---
-1.7.0
-
diff --git a/patches/procps-3.2.8/0071-fix-build-with-make-3.82.patch b/patches/procps-3.2.8/0071-fix-build-with-make-3.82.patch
deleted file mode 100644
index 9a963fe..0000000
--- a/patches/procps-3.2.8/0071-fix-build-with-make-3.82.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7d6a81c2324575ad7d6f394e98b5ae231e99ab5d Mon Sep 17 00:00:00 2001
-From: George McCollister <george.mccollister@gmail.com>
-Date: Tue, 23 Aug 2011 13:51:43 -0500
-Subject: [PATCH 71/71] fix build with make 3.82
-
-I pulled this patch from upstream.
-http://procps.cvs.sourceforge.net/viewvc/procps/procps/Makefile?r1=1.70&r2=1.71
-
-Revision 1.71
-Mon Feb 28 02:51:09 2011 UTC (5 months, 3 weeks ago) by albert
-Branch: MAIN
-CVS Tags: HEAD
-Changes since 1.70: +1 -1 lines
-possible to build with make 3.82 gen303120 -- thanks Elias Pipping
-
-Signed-off-by: George McCollister <george.mccollister@gmail.com>
----
- Makefile | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index a83df5e..c1bf8f3 100644
---- a/Makefile
-+++ b/Makefile
-@@ -174,7 +174,7 @@ INSTALL := $(BINFILES) $(MANFILES)
- # want this rule first, use := on ALL, and ALL not filled in yet
- all: do_all
-
---include */module.mk
-+-include proc/module.mk ps/module.mk
-
- do_all: $(ALL)
-
---
-1.7.6
-
diff --git a/patches/procps-3.2.8/series b/patches/procps-3.2.8/series
deleted file mode 100644
index 7bceef9..0000000
--- a/patches/procps-3.2.8/series
+++ /dev/null
@@ -1,71 +0,0 @@
-0001-slabtop_once.patch
-0002-free.1.patch
-0003-output_sort_time.patch
-0004-pmap.1.patch
-0005-10_ps.1.patch
-0006-skill.1.patch
-0007-skill_perror.patch
-0008-slabtop_1.patch
-0009-sysctl.8.patch
-0010-sysctl_options.patch
-0011-tload.1.patch
-0012-top_irix.patch
-0013-top_no_openproc.patch
-0014-top_stdin_eof.patch
-0015-top_uid_length.patch
-0016-uptime.1.patch
-0017-vmstat.8.patch
-0018-watch.1.patch
-0019-w_time.patch
-0020-kill.1.patch
-0021-kill_warncr.patch
-0022-module_mk_shared.patch
-0023-sysinfo_elfnote.patch
-0024-top.1.patch
-0025-top_c_resize.patch
-0026-w-bassman.patch
-0027-top.1_cpustates.patch
-0028-watch_8bitchar.patch
-0029-library_map_freeproc.patch
-0030-pgrep_start_time.patch
-0031-readproc_c.patch
-0032-sysinfo_7_numbers.patch
-0033-tload_no_optargs.patch
-0034-w.1.patch
-0035-w_columns.patch
-0036-watch_exec_beep.patch
-0037-path_max.patch
-0038-w_envlength.patch
-0039-gnu-kbsd-version.patch
-0040-pgrep_c_option.patch
-0041-ps_cgroup_display.patch
-0042-watch_precision_time.patch
-0043-watch_unicode.patch
-0044-complain_unmounted_proc.patch
-0045-ps_supgid_display.patch
-0046-makefile_dev_null.patch
-0047-pgrep.1.patch
-0048-ps_size_sz.patch
-0049-top_mintime.patch
-0050-vmstat_headers.patch
-0051-pgrep_usage_exitcode.patch
-0052-ps_1_options.patch
-0053-top_highlight.patch
-0054-top_nohz.patch
-0055-vmstat_part_format.patch
-0056-readproc_double_free.patch
-0057-vmstat_units.patch
-0058-skill_null_argv.patch
-0059-skill_multiarg.patch
-0060-proc_version_constructor.patch
-0061-pmaps_smaps.patch
-0062-top_numeric_args.patch
-0063-top_1_swap.patch
-0064-w_userproc.patch
-0065-sysinfo_kfreebsd_hertz.patch
-0066-ps_1_flt_output.patch
-0067-watch_ansi_colour.patch
-0068-top_username_parse.patch
-0069-don-t-install-stuff-that-was-not-built.patch
-0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch
-0071-fix-build-with-make-3.82.patch
diff --git a/patches/procps-ng-3.3.10/autogen.sh b/patches/procps-ng-3.3.10/autogen.sh
new file mode 100755
index 0000000..ddae563
--- /dev/null
+++ b/patches/procps-ng-3.3.10/autogen.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec ./autogen.sh
diff --git a/projectroot/etc/init.d/chrony b/projectroot/etc/init.d/chrony
index e7e937a..7fab5ed 100644
--- a/projectroot/etc/init.d/chrony
+++ b/projectroot/etc/init.d/chrony
@@ -63,7 +63,7 @@ stop_proc() {
set_online(){
message_n "Setting NTP server ONLINE ... "
- /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ /usr/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
/usr/bin/chronyc <<-EOF
password $PASSWORD
online
@@ -76,7 +76,7 @@ set_online(){
set_offline(){
message_n "Setting NTP server OFFLINE ... "
- /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ /usr/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
/usr/bin/chronyc <<-EOF
password $PASSWORD
offline
@@ -86,7 +86,7 @@ set_offline(){
}
set_rtc(){
- /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ /usr/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
if [ "$RTC_IOCTL" == "incomplete" ] ; then
# We are running on a system with limited rtc support,
# so we cannot let the ntp client do the job.
@@ -109,7 +109,7 @@ set_rtc(){
}
status(){
- /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ /usr/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
cat <<-EOF | /usr/bin/chronyc
password $PASSWORD
tracking
@@ -118,7 +118,7 @@ status(){
}
statistics(){
- /bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+ /usr/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
cat <<-EOF | /usr/bin/chronyc
password $PASSWORD
sourcestats
diff --git a/projectroot/usr/bin/chrony_command b/projectroot/usr/bin/chrony_command
index 03a18d0..742b953 100644
--- a/projectroot/usr/bin/chrony_command
+++ b/projectroot/usr/bin/chrony_command
@@ -19,7 +19,7 @@ bailout(){
KEY=$(awk '$1 ~ /^commandkey$/ { print $2; exit}' /etc/chrony/chrony.conf)
PASSWORD=`awk '$1 ~ /^'$KEY'$/ {print $2; exit}' /etc/chrony/chrony.keys`
-/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+/usr/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
/usr/bin/chronyc <<-EOF
password $PASSWORD
$command
diff --git a/projectroot/usr/bin/chrony_stat b/projectroot/usr/bin/chrony_stat
index e86d396..2277416 100644
--- a/projectroot/usr/bin/chrony_stat
+++ b/projectroot/usr/bin/chrony_stat
@@ -81,7 +81,7 @@ esac
done
}
-/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
+/usr/bin/pidof chronyd > /dev/null || bailout " chronyd is not running "
case $1 in
--help)
diff --git a/rules/procps.in b/rules/procps.in
index baf6514..0c60e4b 100644
--- a/rules/procps.in
+++ b/rules/procps.in
@@ -4,31 +4,109 @@ menuconfig PROCPS
tristate
prompt "procps "
select GCCLIBS_GCC_S
- select NCURSES if PROCPS_TOP
- select NCURSES if PROCPS_SLABTOP
+ select NCURSES if PROCPS_USES_NCURSES
+ select PROCPS_USES_NCURSES if PROCPS_SLABTOP || PROCPS_TOP || PROCPS_WATCH
+ select SYSTEMD if PROCPS_WITH_SYSTEMD
help
- The procps package contains a set of system utilities that provide
- system information.
+ Contains a set of system utilities that provide information out of the
+ pseudo-filesystem most commonly located at /proc. The programs generally
+ concentrate on the structures that describe the running processes.
+ Note: procps-ng is used instead of the older and unmaintained procps.
if PROCPS
-config PROCPS_TOP
+config PROCPS_USES_NCURSES
bool
- prompt "top"
- depends on !BUSYBOX_TOP || ALLYES
+
+config PROCPS_WITH_SYSTEMD
+ bool
+ prompt "Enable systemd support"
+ default INITMETHOD_SYSTEMD
+ select SYSTEMD
help
- The top program provides a dynamic real-time view of a running
- system.
- Note: This command enlarges your system by the ncurses library.
+ Enable systemd support to show information about systemd units, slices
+ and containers in tools like ps. Recommended when using systemd.
-comment "busybox' top is selected!"
- depends on BUSYBOX_TOP
+config PROCPS_FREE
+ bool
+ prompt "free"
+ depends on !BUSYBOX_FREE || ALLYES
+ help
+ The free program reports the amount of free and used memory.
+
+comment "busybox' free is selected!"
+ depends on BUSYBOX_FREE
+
+config PROCPS_PGREP
+ bool
+ prompt "pgrep"
+ depends on !BUSYBOX_PGREP || ALLYES
+ help
+ The pgrep program can look up processes based on name and other
+ attributes.
+
+comment "busybox' pgrep is selected!"
+ depends on BUSYBOX_PGREP
+
+config PROCPS_PIDOF
+ bool
+ prompt "pidof"
+ depends on !BUSYBOX_PIDOF || ALLYES
+ help
+ The pidof program can list the pids of running processes.
+
+comment "busybox' pidof is selected!"
+ depends on BUSYBOX_PIDOF
+
+config PROCPS_PKILL
+ bool
+ prompt "pkill"
+ depends on !BUSYBOX_PKILL || ALLYES
+ help
+ The pkill program can kill processes based on name and other
+ attributes.
+
+comment "busybox' pkill is selected!"
+ depends on BUSYBOX_PKILL
+
+config PROCPS_PMAP
+ bool
+ prompt "pmap"
+ depends on !BUSYBOX_PMAP || ALLYES
+ help
+ The pmap program reports the memory map of a process.
+
+comment "busybox' pmap is selected!"
+ depends on BUSYBOX_PMAP
+
+config PROCPS_PS
+ bool
+ prompt "ps"
+ depends on !BUSYBOX_PS || ALLYES
+ help
+ The ps program can analyse the states of all processes running
+ on the system. It stands for process status.
+
+comment "busybox' ps is selected!"
+ depends on BUSYBOX_PS
+
+config PROCPS_PWDX
+ bool
+ prompt "pwdx"
+ depends on !BUSYBOX_PWDX || ALLYES
+ help
+ The pwdx program reports the current directory of a process.
+
+comment "busybox' pwdx is selected!"
+ depends on BUSYBOX_PWDX
config PROCPS_SLABTOP
bool
prompt "slabtop"
+ select PROCPS_USES_NCURSES
help
- display kernel slab cache information in real time
+ The slabtop program displays kernel slab cache information in
+ real time.
Note: This command enlarges your system by the ncurses library.
config PROCPS_SYSCTL
@@ -36,22 +114,49 @@ config PROCPS_SYSCTL
prompt "sysctl"
depends on !BUSYBOX_BB_SYSCTL || ALLYES
help
- configure kernel parameters at runtime
+ The sysctl program configures kernel parameters at runtime.
comment "busybox' sysctl is selected!"
depends on BUSYBOX_BB_SYSCTL
-config PROCPS_PS
+config PROCPS_TOP
bool
- prompt "ps"
- depends on !BUSYBOX_PS || ALLYES
+ prompt "top"
+ select PROCPS_USES_NCURSES
+ depends on !BUSYBOX_TOP || ALLYES
help
- ps stands for process status. With this command you
- analyse current states of all processes running on
- the system
+ The top program provides a dynamic real-time view of a running
+ system.
+ Note: This command enlarges your system by the ncurses library.
-comment "busybox' ps is selected!"
- depends on BUSYBOX_PS
+config PROCPS_TOP_MODERN
+ bool
+ prompt "use modern startup defaults for top"
+ depends on PROCPS_TOP
+ help
+ Use the modern color scheme defaults and the new CPU load representation
+ for multiple cores.
+ If this option is disabled, the original top layout is used.
+
+comment "busybox' top is selected!"
+ depends on BUSYBOX_TOP
+
+config PROCPS_UPTIME
+ bool
+ prompt "uptime"
+ depends on !BUSYBOX_UPTIME || ALLYES
+ help
+ The uptime program displays the system uptime.
+
+comment "busybox' uptime is selected!"
+ depends on BUSYBOX_UPTIME
+
+config PROCPS_VMSTAT
+ bool
+ prompt "vmstat"
+ help
+ vmstat reports information about processes, memory,
+ paging, block IO, traps, disks and cpu activity.
config PROCPS_W
bool
@@ -59,14 +164,17 @@ config PROCPS_W
help
Show who is logged on and what they are doing.
-config PROCPS_PGREP
+config PROCPS_WATCH
bool
- prompt "pgrep"
- depends on !BUSYBOX_PGREP || ALLYES
+ prompt "watch"
+ select PROCPS_USES_NCURSES
+ depends on !BUSYBOX_WATCH || ALLYES
help
- look up processes based on name and other attributes
+ The watch program can execute a program periodically, displaying the
+ output fullscreen.
+ Note: This command enlarges your system by the ncurses library.
-comment "busybox' pgrep is selected!"
- depends on BUSYBOX_PGREP
+comment "busybox' watch is selected!"
+ depends on BUSYBOX_WATCH
endif
diff --git a/rules/procps.make b/rules/procps.make
index 5d9c03a..78e8991 100644
--- a/rules/procps.make
+++ b/rules/procps.make
@@ -2,7 +2,8 @@
#
# Copyright (C) 2003 by Ixia Corporation, by Milan Bobde
# 2007 by Pengutronix e.K.
-# 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+# 2009 by Marc Kleine-Budde <mkl@pengutronix.de>
+# 2015 by Clemens Gruber <clemens.gruber@pqgruber.com>
#
# See CREDITS for details about who has contributed to this project.
#
@@ -18,43 +19,44 @@ PACKAGES-$(PTXCONF_PROCPS) += procps
#
# Paths and names
#
-PROCPS_VERSION := 3.2.8
-PROCPS_MD5 := 9532714b6846013ca9898984ba4cd7e0
-PROCPS := procps-$(PROCPS_VERSION)
+PROCPS_VERSION := 3.3.10
+PROCPS_MD5 := cfceaadf895aa23deb3ab2f1e0adf96e
+PROCPS := procps-ng-$(PROCPS_VERSION)
PROCPS_SUFFIX := tar.gz
-PROCPS_URL := http://procps.sourceforge.net/$(PROCPS).$(PROCPS_SUFFIX)
+PROCPS_URL := https://gitlab.com/procps-ng/procps/repository/archive.$(PROCPS_SUFFIX)?ref=v$(PROCPS_VERSION)
PROCPS_SOURCE := $(SRCDIR)/$(PROCPS).$(PROCPS_SUFFIX)
PROCPS_DIR := $(BUILDDIR)/$(PROCPS)
PROCPS_LICENSE := GPLv2 (tools), LGPLv2 (libs)
PROCPS_LICENSE_FILES := \
- file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db
# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------
-# build only the required parts
-PROCPS_ALL-$(PTXCONF_PROCPS_TOP) += $(PROCPS_PKGDIR)/usr/bin/top
-PROCPS_ALL-$(PTXCONF_PROCPS_SLABTOP) += $(PROCPS_PKGDIR)/usr/bin/slabtop
-PROCPS_ALL-$(PTXCONF_PROCPS_SYSCTL) += $(PROCPS_PKGDIR)/sbin/sysctl
-PROCPS_ALL-$(PTXCONF_PROCPS_W) += $(PROCPS_PKGDIR)/usr/bin/w
-PROCPS_ALL-$(PTXCONF_PROCPS_PGREP) += $(PROCPS_PKGDIR)/usr/bin/pgrep
+PROCPS_CONF_ENV := \
+ $(CROSS_ENV) \
+ $(call ptx/ncurses, PTXCONF_PROCPS_USES_NCURSES)
-PROCPS_PATH := PATH=$(CROSS_PATH)
-PROCPS_MAKEVARS := \
- CC="$(CROSS_CC)" \
- CFLAGS=-O2 \
- CPPFLAGS='$(CROSS_CPPFLAGS)' \
- LDFLAGS='$(CROSS_LDFLAGS)' \
- lib64=$(CROSS_LIB_DIR) \
- ldconfig=true \
- MANFILES="" \
- BINFILES="$(PROCPS_ALL-y)"
+#
+# autoconf
+#
+PROCPS_CONF_TOOL := autoconf
+PROCPS_CONF_OPT := \
+ $(CROSS_AUTOCONF_USR) \
+ --enable-shared \
+ --disable-static \
+ --disable-nls \
+ --disable-rpath \
+ --disable-kill \
+ --$(call ptx/endis, PROCPS_TOP_MODERN)-modern-top \
+ --prefix=/ \
+ --without-libiconv-prefix \
+ --without-libintl-prefix \
+ --$(call ptx/wwo, PTXCONF_PROCPS_USES_NCURSES)-ncurses \
+ --$(call ptx/wwo, PTXCONF_PROCPS_WITH_SYSTEMD)-systemd
-$(STATEDIR)/procps.prepare:
- @$(call targetinfo)
- @$(call touch)
# ----------------------------------------------------------------------------
# Target-Install
@@ -66,14 +68,38 @@ $(STATEDIR)/procps.targetinstall:
@$(call install_init, procps)
@$(call install_fixup, procps,PRIORITY,optional)
@$(call install_fixup, procps,SECTION,base)
- @$(call install_fixup, procps,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
+ @$(call install_fixup, procps,AUTHOR,"Clemens Gruber <clemens.gruber@pqgruber.com>")
@$(call install_fixup, procps,DESCRIPTION,missing)
- @$(call install_lib, procps, 0, 0, 0644, libproc-3.2.8)
+ @$(call install_lib, procps, 0, 0, 0644, libprocps)
-ifdef PTXCONF_PROCPS_TOP
- @$(call install_copy, procps, 0, 0, 0755, -,\
- /usr/bin/top)
+ifdef PTXCONF_PROCPS_FREE
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /usr/bin/free)
+endif
+ifdef PTXCONF_PROCPS_PGREP
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /usr/bin/pgrep)
+endif
+ifdef PTXCONF_PROCPS_PIDOF
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /usr/bin/pidof)
+endif
+ifdef PTXCONF_PROCPS_PKILL
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /usr/bin/pkill)
+endif
+ifdef PTXCONF_PROCPS_PMAP
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /usr/bin/pmap)
+endif
+ifdef PTXCONF_PROCPS_PS
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /bin/ps)
+endif
+ifdef PTXCONF_PROCPS_PWDX
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /usr/bin/pwdx)
endif
ifdef PTXCONF_PROCPS_SLABTOP
@$(call install_copy, procps, 0, 0, 0755, -, \
@@ -82,21 +108,29 @@ endif
ifdef PTXCONF_PROCPS_SYSCTL
@$(call install_copy, procps, 0, 0, 0755, -, \
/sbin/sysctl)
-
@$(call install_alternative, procps, 0, 0, 0644, /etc/sysctl.conf, n)
endif
-ifdef PTXCONF_PROCPS_PS
+ifdef PTXCONF_PROCPS_TOP
@$(call install_copy, procps, 0, 0, 0755, -, \
- /bin/ps)
+ /usr/bin/top)
+endif
+ifdef PTXCONF_PROCPS_UPTIME
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /usr/bin/uptime)
+endif
+ifdef PTXCONF_PROCPS_VMSTAT
+ @$(call install_copy, procps, 0, 0, 0755, -, \
+ /usr/bin/vmstat)
endif
ifdef PTXCONF_PROCPS_W
@$(call install_copy, procps, 0, 0, 0755, -, \
/usr/bin/w)
endif
-ifdef PTXCONF_PROCPS_PGREP
+ifdef PTXCONF_PROCPS_WATCH
@$(call install_copy, procps, 0, 0, 0755, -, \
- /usr/bin/pgrep)
+ /usr/bin/watch)
endif
+
@$(call install_finish, procps)
@$(call touch)
--
2.4.5
--
ptxdist mailing list
ptxdist@pengutronix.de
reply other threads:[~2015-07-06 17:47 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150706174711.GA1717@pqgruber.com \
--to=clemens.gruber@pqgruber.com \
--cc=m.olbrich@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox