summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2010-03-19 22:04:36 +0100
committerMarc Kleine-Budde <mkl@pengutronix.de>2010-03-19 22:04:36 +0100
commit762f813a3bf8bb34c0dfb0fdb98f45bdf6801cbf (patch)
treedfbc9bfa4aea2ba084f22e6847591ed031ca7a81
parentd3a71c59004fea795a1c0789cdf088133f68fa2d (diff)
downloadptxdist-762f813a3bf8bb34c0dfb0fdb98f45bdf6801cbf.tar.gz
ptxdist-762f813a3bf8bb34c0dfb0fdb98f45bdf6801cbf.tar.xz
[procps] import recent debian patches
http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-8.debian.tar.gz Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--patches/procps-3.2.8/0001-slabtop_once.patch125
-rw-r--r--patches/procps-3.2.8/0002-free.1.patch112
-rw-r--r--patches/procps-3.2.8/0003-output_sort_time.patch (renamed from patches/procps-3.2.8/10_output_sort_time.dpatch)41
-rw-r--r--patches/procps-3.2.8/0004-pmap.1.patch (renamed from patches/procps-3.2.8/10_pmap.1.dpatch)25
-rw-r--r--patches/procps-3.2.8/0005-10_ps.1.patch (renamed from patches/procps-3.2.8/10_ps.1.dpatch)48
-rw-r--r--patches/procps-3.2.8/0006-skill.1.patch (renamed from patches/procps-3.2.8/10_skill.1.dpatch)31
-rw-r--r--patches/procps-3.2.8/0007-skill_perror.patch25
-rw-r--r--patches/procps-3.2.8/0008-slabtop_1.patch (renamed from patches/procps-3.2.8/10_slabtop.dpatch)37
-rw-r--r--patches/procps-3.2.8/0009-sysctl.8.patch (renamed from patches/procps-3.2.8/10_sysctl.8.dpatch)34
-rw-r--r--patches/procps-3.2.8/0010-sysctl_options.patch (renamed from patches/procps-3.2.8/10_sysctl_options.dpatch)33
-rw-r--r--patches/procps-3.2.8/0011-tload.1.patch26
-rw-r--r--patches/procps-3.2.8/0012-top_irix.patch (renamed from patches/procps-3.2.8/10_top_irix.dpatch)33
-rw-r--r--patches/procps-3.2.8/0013-top_no_openproc.patch30
-rw-r--r--patches/procps-3.2.8/0014-top_stdin_eof.patch (renamed from patches/procps-3.2.8/10_top_stdineof.dpatch)27
-rw-r--r--patches/procps-3.2.8/0015-top_uid_length.patch (renamed from patches/procps-3.2.8/10_top_uid_length.dpatch)27
-rw-r--r--patches/procps-3.2.8/0016-uptime.1.patch (renamed from patches/procps-3.2.8/10_uptime.1.dpatch)33
-rw-r--r--patches/procps-3.2.8/0017-vmstat.8.patch (renamed from patches/procps-3.2.8/10_vmstat.8.dpatch)46
-rw-r--r--patches/procps-3.2.8/0018-watch.1.patch (renamed from patches/procps-3.2.8/10_watch.1.dpatch)28
-rw-r--r--patches/procps-3.2.8/0019-w_time.patch26
-rw-r--r--patches/procps-3.2.8/0020-kill.1.patch (renamed from patches/procps-3.2.8/20_kill.1.dpatch)50
-rw-r--r--patches/procps-3.2.8/0021-kill_warncr.patch (renamed from patches/procps-3.2.8/20_kill_warncr.dpatch)29
-rw-r--r--patches/procps-3.2.8/0022-module_mk_shared.patch26
-rw-r--r--patches/procps-3.2.8/0023-sysinfo_elfnote.patch32
-rw-r--r--patches/procps-3.2.8/0024-top.1.patch (renamed from patches/procps-3.2.8/20_top_manpage.dpatch)103
-rw-r--r--patches/procps-3.2.8/0025-top_c_resize.patch (renamed from patches/procps-3.2.8/20_top_c_resize.dpatch)43
-rw-r--r--patches/procps-3.2.8/0026-w-bassman.patch (renamed from patches/procps-3.2.8/20_w-bassman.dpatch)46
-rw-r--r--patches/procps-3.2.8/0027-top.1_cpustates.patch (renamed from patches/procps-3.2.8/30_top.1_cpustate.dpatch)29
-rw-r--r--patches/procps-3.2.8/0028-watch_8bitchar.patch26
-rw-r--r--patches/procps-3.2.8/0029-library_map_freeproc.patch26
-rw-r--r--patches/procps-3.2.8/0030-pgrep_start_time.patch27
-rw-r--r--patches/procps-3.2.8/0031-readproc_c.patch35
-rw-r--r--patches/procps-3.2.8/0032-sysinfo_7_numbers.patch (renamed from patches/procps-3.2.8/30_sysinfo_7numbers.dpatch)27
-rw-r--r--patches/procps-3.2.8/0033-tload_no_optargs.patch27
-rw-r--r--patches/procps-3.2.8/0034-w.1.patch (renamed from patches/procps-3.2.8/30_w.1.dpatch)35
-rw-r--r--patches/procps-3.2.8/0035-w_columns.patch41
-rw-r--r--patches/procps-3.2.8/0036-watch_exec_beep.patch (renamed from patches/procps-3.2.8/30_watch_exec_beep.dpatch)68
-rw-r--r--patches/procps-3.2.8/0037-path_max.patch (renamed from patches/procps-3.2.8/35_path_max.dpatch)48
-rw-r--r--patches/procps-3.2.8/0038-w_envlength.patch183
-rw-r--r--patches/procps-3.2.8/0039-gnu-kbsd-version.patch (renamed from patches/procps-3.2.8/40_gnu-kbsd-version.dpatch)27
-rw-r--r--patches/procps-3.2.8/0040-pgrep_c_option.patch (renamed from patches/procps-3.2.8/40_pgrep_coption.dpatch)45
-rw-r--r--patches/procps-3.2.8/0041-ps_cgroup_display.patch (renamed from patches/procps-3.2.8/40_ps_cgroup_display.dpatch)79
-rw-r--r--patches/procps-3.2.8/0042-watch_precision_time.patch (renamed from patches/procps-3.2.8/40_watch_precision_time.dpatch)67
-rw-r--r--patches/procps-3.2.8/0043-watch_unicode.patch311
-rw-r--r--patches/procps-3.2.8/0044-complain_unmounted_proc.patch29
-rw-r--r--patches/procps-3.2.8/0045-ps_supgid_display.patch475
-rw-r--r--patches/procps-3.2.8/0046-makefile_dev_null.patch25
-rw-r--r--patches/procps-3.2.8/0047-pgrep.1.patch (renamed from patches/procps-3.2.8/50_pgrep.1.dpatch)49
-rw-r--r--patches/procps-3.2.8/0048-ps_size_sz.patch40
-rw-r--r--patches/procps-3.2.8/0049-top_mintime.patch27
-rw-r--r--patches/procps-3.2.8/0050-vmstat_headers.patch (renamed from patches/procps-3.2.8/50_vmstat_headers.dpatch)40
-rw-r--r--patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch26
-rw-r--r--patches/procps-3.2.8/0052-ps_1_options.patch557
-rw-r--r--patches/procps-3.2.8/0053-top_highlight.patch (renamed from patches/procps-3.2.8/55_top_highlight.dpatch)27
-rw-r--r--patches/procps-3.2.8/0054-top_nohz.patch25
-rw-r--r--patches/procps-3.2.8/0055-vmstat_part_format.patch (renamed from patches/procps-3.2.8/65_fix_partition_format.dpatch)53
-rw-r--r--patches/procps-3.2.8/0056-readproc_double_free.patch32
-rw-r--r--patches/procps-3.2.8/0057-vmstat_units.patch70
-rw-r--r--patches/procps-3.2.8/0058-skill_null_argv.patch25
-rw-r--r--patches/procps-3.2.8/0059-skill_multiarg.patch25
-rw-r--r--patches/procps-3.2.8/0060-proc_version_constructor.patch52
-rw-r--r--patches/procps-3.2.8/0061-pmaps_smaps.patch150
-rw-r--r--patches/procps-3.2.8/0062-top_numeric_args.patch109
-rw-r--r--patches/procps-3.2.8/0063-top_1_swap.patch34
-rw-r--r--patches/procps-3.2.8/0064-w_userproc.patch25
-rw-r--r--patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch31
-rw-r--r--patches/procps-3.2.8/0066-ps_1_flt_output.patch40
-rw-r--r--patches/procps-3.2.8/0067-watch_ansi_colour.patch193
-rw-r--r--patches/procps-3.2.8/0068-top_username_parse.patch25
-rw-r--r--patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch (renamed from patches/procps-3.2.8/fix-install.diff)15
-rw-r--r--patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch25
-rw-r--r--patches/procps-3.2.8/10_free.1.dpatch66
-rw-r--r--patches/procps-3.2.8/10_skill_perror.dpatch18
-rw-r--r--patches/procps-3.2.8/10_tload.1.dpatch19
-rw-r--r--patches/procps-3.2.8/10_top_no_openproc.dpatch23
-rw-r--r--patches/procps-3.2.8/10_w_time.dpatch19
-rw-r--r--patches/procps-3.2.8/20_Makefile_lib64.dpatch53
-rw-r--r--patches/procps-3.2.8/20_module_mk_shared.dpatch36
-rw-r--r--patches/procps-3.2.8/20_sysinfo_c.dpatch25
-rw-r--r--patches/procps-3.2.8/20_watch_8bitchar.dpatch19
-rw-r--r--patches/procps-3.2.8/30_library_map_freeproc.dpatch35
-rw-r--r--patches/procps-3.2.8/30_pgrep_start_time.dpatch36
-rw-r--r--patches/procps-3.2.8/30_readproc_c.dpatch45
-rw-r--r--patches/procps-3.2.8/30_tload_no_optargs.dpatch36
-rw-r--r--patches/procps-3.2.8/30_w-columns.dpatch34
-rw-r--r--patches/procps-3.2.8/45_proc_complain_unmounted_proc.dpatch21
-rw-r--r--patches/procps-3.2.8/50_dev_null_makefile_fix.dpatch19
-rw-r--r--patches/procps-3.2.8/50_top_mintime.dpatch20
-rw-r--r--patches/procps-3.2.8/55_pgrep_usage_exitcode.dpatch17
-rw-r--r--patches/procps-3.2.8/60_top_nohz.dpatch18
-rw-r--r--patches/procps-3.2.8/README8
-rw-r--r--patches/procps-3.2.8/fix-unknown-HZ-arm-diff38
-rw-r--r--patches/procps-3.2.8/remove-rename-registers.diff23
-rw-r--r--patches/procps-3.2.8/series122
93 files changed, 3961 insertions, 1230 deletions
diff --git a/patches/procps-3.2.8/0001-slabtop_once.patch b/patches/procps-3.2.8/0001-slabtop_once.patch
new file mode 100644
index 000000000..5d8a45195
--- /dev/null
+++ b/patches/procps-3.2.8/0001-slabtop_once.patch
@@ -0,0 +1,125 @@
+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
new file mode 100644
index 000000000..14bcb0f51
--- /dev/null
+++ b/patches/procps-3.2.8/0002-free.1.patch
@@ -0,0 +1,112 @@
+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/10_output_sort_time.dpatch b/patches/procps-3.2.8/0003-output_sort_time.patch
index ca71b281f..91b4c4519 100644
--- a/patches/procps-3.2.8/10_output_sort_time.dpatch
+++ b/patches/procps-3.2.8/0003-output_sort_time.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_output_sort_time.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: More ps time sorting #508435
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
---- procps-3.2.7~/ps/output.c 2006-06-19 09:27:02.000000000 +1000
-+++ procps-3.2.7/ps/output.c 2009-01-07 17:52:09.000000000 +1100
-@@ -110,6 +110,20 @@
+===================================================================
+---
+ 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); \
}
@@ -29,7 +33,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
CMP_INT(rtprio)
CMP_SMALL(sched)
CMP_INT(cutime)
-@@ -185,6 +199,9 @@
+@@ -185,6 +199,9 @@ CMP_SMALL(pcpu)
CMP_SMALL(state)
@@ -39,7 +43,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
/* 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 @@
+@@ -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;
@@ -48,7 +52,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
ss = t%60;
t /= 60;
mm = t%60;
-@@ -476,7 +493,7 @@
+@@ -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;
@@ -57,7 +61,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
ss = t%60;
t /= 60;
mm = t%60;
-@@ -1277,7 +1294,7 @@
+@@ -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*/
@@ -66,7 +70,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"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},
-@@ -1296,7 +1313,7 @@
+@@ -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!
@@ -75,7 +79,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"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},
-@@ -1311,7 +1328,7 @@
+@@ -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},
@@ -84,7 +88,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"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*/
-@@ -1455,7 +1472,7 @@
+@@ -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},
@@ -93,3 +97,6 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"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/10_pmap.1.dpatch b/patches/procps-3.2.8/0004-pmap.1.patch
index 10e9ae44f..c47f1c4c3 100644
--- a/patches/procps-3.2.8/10_pmap.1.dpatch
+++ b/patches/procps-3.2.8/0004-pmap.1.patch
@@ -1,13 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_pmap.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup pmap.1 manual page #282168
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/pmap.1 procps-3.2.7/pmap.1
---- procps-3.2.7~/pmap.1 2004-01-29 13:39:08.000000000 +1100
-+++ procps-3.2.7/pmap.1 2006-06-26 11:48:23.000000000 +1000
+===================================================================
+---
+ 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
@@ -48,3 +52,6 @@ diff -urNad procps-3.2.7~/pmap.1 procps-3.2.7/pmap.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/10_ps.1.dpatch b/patches/procps-3.2.8/0005-10_ps.1.patch
index 8f20d0df2..6cc3657b0 100644
--- a/patches/procps-3.2.8/10_ps.1.dpatch
+++ b/patches/procps-3.2.8/0005-10_ps.1.patch
@@ -1,17 +1,22 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_ps.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: ps.1 normal indent widths
-## DP: pri field explained #465761
-## DP: --no-heading comment is an alias for --no-headers
-## DP: Removed setproctitle(1) reference #529045
+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
-@DPATCH@
-diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
---- procps-3.2.8~/ps/ps.1 2009-05-28 17:40:42.000000000 +1000
-+++ procps-3.2.8/ps/ps.1 2009-05-28 17:41:32.000000000 +1000
-@@ -18,12 +18,6 @@
+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
.\"
@@ -24,7 +29,15 @@ diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
.\"
.\" ColSize is used for the format spec table.
.\" It's the left margin, minus the right, minus
-@@ -499,7 +493,7 @@
+ .\" 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
@@ -33,7 +46,7 @@ diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
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 @@
+@@ -588,7 +582,8 @@ ASCII art process tree
repeat header lines, one per page of output
.opt \-\-no\-headers
@@ -43,7 +56,7 @@ diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
.opt \-\-lines \ n
set screen height
-@@ -1159,6 +1154,10 @@
+@@ -1159,6 +1154,10 @@ ppid PPID T{
parent process ID.
T}
@@ -54,3 +67,6 @@ diff -urNad procps-3.2.8~/ps/ps.1 procps-3.2.8/ps/ps.1
psr PSR T{
processor that process is currently assigned to.
T}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_skill.1.dpatch b/patches/procps-3.2.8/0006-skill.1.patch
index 56ca5bc97..3896e5b7c 100644
--- a/patches/procps-3.2.8/10_skill.1.dpatch
+++ b/patches/procps-3.2.8/0006-skill.1.patch
@@ -1,13 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_skill.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup man page #282168
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
---- procps-3.2.7~/skill.1 2008-04-07 11:12:27.000000000 +1000
-+++ procps-3.2.7/skill.1 2008-04-07 11:13:03.000000000 +1000
+===================================================================
+---
+ 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
@@ -65,7 +69,7 @@ diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
.TE
.SH "PROCESS SELECTION OPTIONS"
-@@ -49,11 +50,11 @@
+@@ -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
@@ -82,7 +86,7 @@ diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
.TE
.SH SIGNALS
-@@ -63,7 +64,6 @@
+@@ -63,7 +64,6 @@ When known, numbers and default behavior are shown.
lB rB lB lB
lfCW r l l.
Name Num Action Description
@@ -90,7 +94,7 @@ diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
0 0 n/a exit code indicates if a signal may be sent
ALRM 14 exit
HUP 1 exit
-@@ -104,15 +104,20 @@
+@@ -104,15 +104,20 @@ XFSZ core core dump may fail
lB lB
lfCW l.
Command Description
@@ -116,3 +120,6 @@ diff -urNad procps-3.2.7~/skill.1 procps-3.2.7/skill.1
.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
new file mode 100644
index 000000000..c38ca2ba7
--- /dev/null
+++ b/patches/procps-3.2.8/0007-skill_perror.patch
@@ -0,0 +1,25 @@
+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/10_slabtop.dpatch b/patches/procps-3.2.8/0008-slabtop_1.patch
index 6aef08650..2b624927b 100644
--- a/patches/procps-3.2.8/10_slabtop.dpatch
+++ b/patches/procps-3.2.8/0008-slabtop_1.patch
@@ -1,13 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_slabtop.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup slabtop man page #282168
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
---- procps-3.2.7~/slabtop.1 2006-06-18 15:10:24.000000000 +1000
-+++ procps-3.2.7/slabtop.1 2006-06-26 12:31:42.000000000 +1000
+===================================================================
+---
+ 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
@@ -34,7 +38,7 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
-Refresh the display every n seconds. By default,
-.BR slabtop (1)
+.B \-\-delay=\fIn\fR, \fB\-d \fIn
-+Refresh the display every
++Refresh the display every
+.I n
+in seconds. By default,
+.B slabtop
@@ -59,7 +63,7 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
Display usage information and exit.
.SH SORT CRITERIA
-@@ -78,7 +81,7 @@
+@@ -78,7 +81,7 @@ sort by object size
sort by cache utilization
.SH COMMANDS
@@ -68,18 +72,18 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
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 @@
+@@ -94,7 +97,9 @@ Refresh the screen.
Quit the program.
.SH FILES
-.IR /proc/slabinfo " \-\- slab information"
+.TP
-+.I /proc/slabinfo
++.I /proc/slabinfo
+slab information
.SH "SEE ALSO"
.BR free (1),
-@@ -104,7 +109,7 @@
+@@ -104,7 +109,7 @@ Quit the program.
.SH NOTES
Currently,
@@ -88,7 +92,7 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
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 @@
+@@ -116,7 +121,7 @@ file is tracking information about used slab physical memory.
.SH AUTHORS
Written by Chris Rivera and Robert Love.
@@ -97,3 +101,6 @@ diff -urNad procps-3.2.7~/slabtop.1 procps-3.2.7/slabtop.1
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/10_sysctl.8.dpatch b/patches/procps-3.2.8/0009-sysctl.8.patch
index 7d9ec3e6f..73322e48a 100644
--- a/patches/procps-3.2.8/10_sysctl.8.dpatch
+++ b/patches/procps-3.2.8/0009-sysctl.8.patch
@@ -1,14 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_sysctl_8.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: -p flag has OPTIONAL filename (#297144)
-## DP: cleanup ssysctl man page #282168
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/sysctl.8 procps-3.2.7/sysctl.8
---- procps-3.2.7~/sysctl.8 2006-06-26 09:44:20.000000000 +1000
-+++ procps-3.2.7/sysctl.8 2006-06-26 12:42:08.000000000 +1000
+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
@@ -130,7 +135,7 @@ diff -urNad procps-3.2.7~/sysctl.8 procps-3.2.7/sysctl.8
+.br
+/sbin/sysctl \-w kernel.domainname="example.com"
+.br
-+/sbin/sysctl \-p /etc/sysctl.conf
++/sbin/sysctl \-p /etc/sysctl.conf
.SH FILES
.I /proc/sys
+.br
@@ -139,11 +144,14 @@ diff -urNad procps-3.2.7~/sysctl.8 procps-3.2.7/sysctl.8
.BR sysctl.conf (5)
.SH BUGS
-The -A parameter behaves just as -a does.
-+The
++The
+.B \-A
-+parameter behaves just as
++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/10_sysctl_options.dpatch b/patches/procps-3.2.8/0010-sysctl_options.patch
index 1616bdb7c..ae896cee2 100644
--- a/patches/procps-3.2.8/10_sysctl_options.dpatch
+++ b/patches/procps-3.2.8/0010-sysctl_options.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_sysctl_options.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix up some option processing
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
---- procps-3.2.7~/sysctl.c 2008-08-10 10:57:23.000000000 +1000
-+++ procps-3.2.7/sysctl.c 2008-08-10 10:59:11.000000000 +1000
-@@ -421,6 +421,7 @@
+===================================================================
+---
+ 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;
@@ -16,7 +20,7 @@ diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
int ReturnCode = 0;
const char *preloadfile = DEFAULT_PRELOAD;
-@@ -486,8 +487,8 @@
+@@ -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
@@ -27,7 +31,7 @@ diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
case 'V':
fprintf(stdout, "sysctl (%s)\n",procps_version);
exit(0);
-@@ -502,6 +503,8 @@
+@@ -502,6 +503,8 @@ int main(int argc, char *argv[]) {
} else {
if (NameOnly && Quiet) // nonsense
return Usage(me);
@@ -36,7 +40,7 @@ diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
SwitchesAllowed = false;
if (WriteMode || index(*argv, '='))
ReturnCode = WriteSetting(*argv);
-@@ -509,6 +512,11 @@
+@@ -509,6 +512,11 @@ int main(int argc, char *argv[]) {
ReturnCode = ReadSetting(*argv);
}
}
@@ -48,3 +52,6 @@ diff -urNad procps-3.2.7~/sysctl.c procps-3.2.7/sysctl.c
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
new file mode 100644
index 000000000..abee2e8cb
--- /dev/null
+++ b/patches/procps-3.2.8/0011-tload.1.patch
@@ -0,0 +1,26 @@
+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/10_top_irix.dpatch b/patches/procps-3.2.8/0012-top_irix.patch
index 0d3f49950..334798ee0 100644
--- a/patches/procps-3.2.8/10_top_irix.dpatch
+++ b/patches/procps-3.2.8/0012-top_irix.patch
@@ -1,24 +1,28 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_top_irix.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Change formal of IRix mode when showing threads #459890
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2008-04-07 08:43:08.000000000 +1000
-+++ procps-3.2.7/top.c 2008-04-07 08:45:23.000000000 +1000
-@@ -1774,7 +1774,8 @@
+===================================================================
+---
+ 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 &&
++ 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";
-@@ -2561,6 +2562,15 @@
+@@ -2570,6 +2571,15 @@ static void do_key (unsigned c)
case 'H':
if (VIZCHKc) {
TOGw(Curwin, Show_THREADS);
@@ -34,7 +38,7 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
show_msg(fmtmk("Show threads %s"
, CHKw(Curwin, Show_THREADS) ? "On" : "Off"));
}
-@@ -2617,7 +2627,8 @@
+@@ -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
@@ -44,3 +48,6 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
// 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
new file mode 100644
index 000000000..4b953ed9e
--- /dev/null
+++ b/patches/procps-3.2.8/0013-top_no_openproc.patch
@@ -0,0 +1,30 @@
+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/10_top_stdineof.dpatch b/patches/procps-3.2.8/0014-top_stdin_eof.patch
index 2eb50b06e..e09a1e46e 100644
--- a/patches/procps-3.2.8/10_top_stdineof.dpatch
+++ b/patches/procps-3.2.8/0014-top_stdin_eof.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_top_stdineof.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Check for stdin eof if term closes #458986
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2008-08-10 00:24:40.000000000 +1000
-+++ procps-3.2.7/top.c 2008-08-10 10:09:49.000000000 +1000
-@@ -3382,9 +3382,8 @@
+===================================================================
+---
+ 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) {
@@ -20,3 +24,6 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
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/10_top_uid_length.dpatch b/patches/procps-3.2.8/0015-top_uid_length.patch
index 77befc5e2..de5a0ff23 100644
--- a/patches/procps-3.2.8/10_top_uid_length.dpatch
+++ b/patches/procps-3.2.8/0015-top_uid_length.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_top_uid_length.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Make the uid length 5 not 4 #426782
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2009-01-08 10:22:37.000000000 +1100
-+++ procps-3.2.7/top.c 2009-01-08 10:23:07.000000000 +1100
-@@ -1222,7 +1222,7 @@
+===================================================================
+---
+ 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 },
@@ -17,3 +21,6 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
{ "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/10_uptime.1.dpatch b/patches/procps-3.2.8/0016-uptime.1.patch
index e9ae0064e..9c2da06dc 100644
--- a/patches/procps-3.2.8/10_uptime.1.dpatch
+++ b/patches/procps-3.2.8/0016-uptime.1.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_uptime.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup uptime man page #282168
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/uptime.1 procps-3.2.7/uptime.1
---- procps-3.2.7~/uptime.1 2006-06-26 09:37:50.000000000 +1000
-+++ procps-3.2.7/uptime.1 2006-06-26 12:45:06.000000000 +1000
-@@ -6,7 +6,8 @@
+===================================================================
+---
+ 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
@@ -18,7 +22,7 @@ diff -urNad procps-3.2.7~/uptime.1 procps-3.2.7/uptime.1
.SH DESCRIPTION
.B uptime
gives a one line display of the following information.
-@@ -14,13 +15,25 @@
+@@ -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.
@@ -27,7 +31,7 @@ diff -urNad procps-3.2.7~/uptime.1 procps-3.2.7/uptime.1
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
++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
@@ -43,8 +47,11 @@ diff -urNad procps-3.2.7~/uptime.1 procps-3.2.7/uptime.1
+.I /var/run/utmp
+information about who is currently logged on
+.TP
-+.I /proc
++.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/10_vmstat.8.dpatch b/patches/procps-3.2.8/0017-vmstat.8.patch
index f3cca9627..af404a7db 100644
--- a/patches/procps-3.2.8/10_vmstat.8.dpatch
+++ b/patches/procps-3.2.8/0017-vmstat.8.patch
@@ -1,14 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_vmstat.8.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fixes groff problems
-## DP: Removes pslab as it doesnt appear
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
---- procps-3.2.7~/vmstat.8 2009-01-08 10:26:34.000000000 +1100
-+++ procps-3.2.7/vmstat.8 2009-01-09 12:23:21.000000000 +1100
+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.
@@ -17,7 +20,7 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
.SH NAME
vmstat \- Report virtual memory statistics
.SH SYNOPSIS
-@@ -22,32 +22,35 @@
+@@ -22,32 +22,35 @@ vmstat \- Report virtual memory statistics
.RB [ "\-d"]
.br
.B vmstat
@@ -59,27 +62,27 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
and memory statistics. This display does not repeat.
.PP
.I delay
-@@ -58,13 +61,15 @@
+@@ -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)
++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-D\fP reports some summary statistics about disk activity.
++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\-p\fP followed by some partition name for detailed statistics (2.5.70 or above required)
++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\-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.
.PP
.SH FIELD DESCRIPTION FOR VM MODE
.SS
-@@ -81,8 +86,8 @@
+@@ -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.
@@ -90,7 +93,7 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
.fi
.PP
.SS
-@@ -110,9 +115,9 @@
+@@ -110,9 +115,9 @@ cs: The number of context switches per second.
.B "CPU "
These are percentages of total CPU time.
.nf
@@ -102,7 +105,7 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
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 @@
+@@ -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
@@ -111,3 +114,6 @@ diff -urNad procps-3.2.7~/vmstat.8 procps-3.2.7/vmstat.8
.fi
.SH NOTES
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/10_watch.1.dpatch b/patches/procps-3.2.8/0018-watch.1.patch
index d0666a7b5..43a790193 100644
--- a/patches/procps-3.2.8/10_watch.1.dpatch
+++ b/patches/procps-3.2.8/0018-watch.1.patch
@@ -1,14 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_watch.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup of manual page
-## DP: cumulative is a parameter not option #527193
+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
-@DPATCH@
-diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
---- procps-3.2.8~/watch.1 2009-05-11 22:40:13.000000000 +1000
-+++ procps-3.2.8/watch.1 2009-05-11 22:46:33.000000000 +1000
+===================================================================
+---
+ 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"
@@ -79,7 +82,7 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
.I command
don't get interpreted by
.BR watch
-@@ -61,20 +70,20 @@
+@@ -61,20 +70,20 @@ watch \-d 'ls \-l | fgrep joe'
To see the effects of quoting, try these out
.IP
watch echo $$
@@ -104,3 +107,6 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
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
new file mode 100644
index 000000000..1320cbe19
--- /dev/null
+++ b/patches/procps-3.2.8/0019-w_time.patch
@@ -0,0 +1,26 @@
+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/20_kill.1.dpatch b/patches/procps-3.2.8/0020-kill.1.patch
index 25727d7e2..217a5499a 100644
--- a/patches/procps-3.2.8/20_kill.1.dpatch
+++ b/patches/procps-3.2.8/0020-kill.1.patch
@@ -1,31 +1,18 @@
-#! /bin/sh -e
-## 20_kill.1.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix kill.1 manual page
-## DP: Changed may to cannot or might #375739
+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
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+Changed may to cannot or might
+Bug-Debian: http://bugs.debian.org/375739
+---
+ kill.1 | 86 +++++++++++++++++++++++++++------------------------------------
+ 1 files changed, 37 insertions(+), 49 deletions(-)
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
-diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
---- procps-3.2.7~/kill.1 2009-01-09 17:04:24.000000000 +1100
-+++ procps-3.2.7/kill.1 2009-01-09 17:11:37.000000000 +1100
+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
@@ -58,7 +45,7 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
all processes except the kill process itself and init.
.SH SIGNALS
-@@ -37,12 +32,11 @@
+@@ -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
@@ -72,7 +59,7 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
PIPE 13 exit
POLL exit
PROF exit
-@@ -50,15 +44,15 @@
+@@ -50,15 +44,15 @@ TERM 15 exit
USR1 exit
USR2 exit
VTALRM exit
@@ -94,7 +81,7 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
CONT restart continue if stopped, otherwise ignore
ABRT 6 core
FPE 8 core
-@@ -66,11 +60,11 @@
+@@ -66,11 +60,11 @@ ILL 4 core
QUIT 3 core
SEGV 11 core
TRAP 5 core
@@ -111,7 +98,7 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
.TE
.SH NOTES
-@@ -79,36 +73,30 @@
+@@ -79,36 +73,30 @@ You may need to run the command described here as /bin/kill to solve
the conflict.
.SH EXAMPLES
@@ -165,3 +152,6 @@ diff -urNad procps-3.2.7~/kill.1 procps-3.2.7/kill.1
.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/20_kill_warncr.dpatch b/patches/procps-3.2.8/0021-kill_warncr.patch
index 9efeff1e2..f48ba80d1 100644
--- a/patches/procps-3.2.8/20_kill_warncr.dpatch
+++ b/patches/procps-3.2.8/0021-kill_warncr.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_kill_warncr.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Add CR to warning line #331419
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/skill.c procps-3.2.7/skill.c
---- procps-3.2.7~/skill.c 2004-09-09 23:49:38.000000000 +1000
-+++ procps-3.2.7/skill.c 2006-06-26 22:40:17.000000000 +1000
-@@ -128,7 +128,7 @@
+===================================================================
+---
+ 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 */
@@ -17,7 +21,7 @@ diff -urNad procps-3.2.7~/skill.c procps-3.2.7/skill.c
return;
}
fstat(fd, &statbuf);
-@@ -333,7 +333,7 @@
+@@ -342,7 +342,7 @@ static void skillsnice_usage(void){
}else{
fprintf(stderr,
"Usage: snice [new priority] [options] process selection criteria\n"
@@ -26,3 +30,6 @@ diff -urNad procps-3.2.7~/skill.c procps-3.2.7/skill.c
"\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
new file mode 100644
index 000000000..975e29104
--- /dev/null
+++ b/patches/procps-3.2.8/0022-module_mk_shared.patch
@@ -0,0 +1,26 @@
+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
new file mode 100644
index 000000000..ec03cd49d
--- /dev/null
+++ b/patches/procps-3.2.8/0023-sysinfo_elfnote.patch
@@ -0,0 +1,32 @@
+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/20_top_manpage.dpatch b/patches/procps-3.2.8/0024-top.1.patch
index 901f580f2..b636ff49f 100644
--- a/patches/procps-3.2.8/20_top_manpage.dpatch
+++ b/patches/procps-3.2.8/0024-top.1.patch
@@ -1,32 +1,18 @@
-#! /bin/sh -e
-## 20_top_manpage by Randy Hron
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix bold in top manual page
-## DP: Fix page fault description because storage may not be disk
-## DP{ Used NE and not ME as a defined as it clashes wirh something
+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
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+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(-)
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
-diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
---- procps-3.2.7~/top.1 2009-01-09 17:45:51.000000000 +1100
-+++ procps-3.2.7/top.1 2009-01-09 18:07:32.000000000 +1100
+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
@@ -36,7 +22,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
\# - other misc strings for consistent usage/emphasis
.ds F \fIOff\fR
.ds O \fIOn\fR
-@@ -85,7 +85,7 @@
+@@ -85,7 +85,7 @@ top \- display Linux tasks
.\" ----------------------------------------------------------------------
.SH SYNOPSIS
.\" ----------------------------------------------------------------------
@@ -45,7 +31,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
iterations\fR \-\fBp\fI pid\fR [,\fI pid\fR ...]
The traditional switches '-' and whitespace are optional.
-@@ -94,7 +94,7 @@
+@@ -94,7 +94,7 @@ The traditional switches '-' and whitespace are optional.
.\" ----------------------------------------------------------------------
.SH DESCRIPTION
.\" ----------------------------------------------------------------------
@@ -54,7 +40,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -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.
@@ -63,7 +49,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -190,7 +190,7 @@ command-line.
'I' - Irix mode On\ \ (no, 'solaris' smp)
* 'p' - PID monitoring Off
* 's' - Secure mode Off (unsecured)
@@ -72,7 +58,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
\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 @@
+@@ -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.
@@ -91,7 +77,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
the 'data resident set' size or DRS.
.TP 3
-@@ -436,8 +434,8 @@
+@@ -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.
@@ -102,7 +88,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
.TP 3
v:\fB nDRT\fR \*(EM Dirty Pages count
-@@ -504,7 +502,7 @@
+@@ -504,7 +502,7 @@ and 'Order fields' screens.
.\" ......................................................................
.SS 2b. SELECTING and ORDERING Columns
.\" ----------------------------------------------------------------------
@@ -111,7 +97,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
be shown a screen containing the current \fBfields string\fR followed by names
and descriptions for all fields.
-@@ -580,7 +578,7 @@
+@@ -580,7 +578,7 @@ Use either of these keys if you have a large delay interval and wish to
see current status,
.TP 7
@@ -120,7 +106,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -589,7 +587,7 @@ Typing 'h' or '?' on that help screen will take you to help for those \*(CIs
applicable to \*(AM.
.TP 7
@@ -129,7 +115,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -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
@@ -147,7 +133,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -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
@@ -156,7 +142,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
You will be prompted to enter the delay time, in seconds, between
display updates.
-@@ -631,32 +629,32 @@
+@@ -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
@@ -194,7 +180,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -667,24 +665,24 @@ depending on your progress:
2) at the signal prompt, type 0
.TP 7
@@ -223,7 +209,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -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.
@@ -255,7 +241,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -750,12 +748,12 @@ global 'B' (bold disable) toggle.
.in
.TP 7
@@ -270,7 +256,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -765,7 +763,7 @@ If you forget which field is being sorted this command can serve as a quick
visual reminder.
.TP 7
@@ -279,7 +265,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Changes highlighting for "running" tasks.
For additional insight into this task state, \*(Xt 2a. DESCRIPTIONS of Fields,
Process Status.
-@@ -774,7 +772,7 @@
+@@ -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
@@ -288,7 +274,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -785,20 +783,20 @@ state of the 'x', 'y' or 'b' toggles.
.B CONTENT\fR of \*(TW
.PD 0
.TP 7
@@ -312,7 +298,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -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
@@ -321,7 +307,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -831,7 +829,7 @@ just press <Enter> at the prompt, without providing a name.
.B SIZE\fR of \*(TW
.PD 0
.TP 7
@@ -330,7 +316,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Displays all tasks or just active tasks.
When this toggle is \*F, idled or zombied processes will not be displayed.
-@@ -839,7 +837,7 @@
+@@ -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
@@ -339,7 +325,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -878,12 +876,12 @@ The sort field might\fI not\fR be visible because:
.in
.TP 7
@@ -354,7 +340,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Moves the sort column to the right unless the current sort field is
the last field being displayed.
-@@ -894,7 +892,7 @@
+@@ -894,7 +892,7 @@ the current sort field is visible.
.in
.TP 7
@@ -363,7 +349,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
These keys display a separate screen where you can change which field
is used as the sort column.
-@@ -907,7 +905,7 @@
+@@ -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
@@ -372,7 +358,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
Using this \*(CI you can alternate between high-to-low and low-to-high sorts.
.PP
-@@ -984,7 +982,7 @@
+@@ -984,7 +982,7 @@ know what window is the \*(CW.
.\" ......................................................................
.SS 4b. COMMANDS for Windows
.TP 7
@@ -381,7 +367,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -998,7 +996,7 @@ If all 4 \*(TDs are currently visible, this \*(CI will leave the \*(SA
as the only display element.
.TP 7
@@ -390,7 +376,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -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
@@ -399,7 +385,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -1017,7 +1015,7 @@ Thereafter when you switch modes, you will see only the \*(TD(s) you've
chosen to make visible.
.TP 7
@@ -408,7 +394,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -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
@@ -417,7 +403,7 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
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 @@
+@@ -1037,15 +1035,15 @@ In \*(AM, it is simply a less convenient alternative to the 'a' and 'w'
commands.
.TP 7
@@ -436,3 +422,6 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
.\" ----------------------------------------------------------------------
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/20_top_c_resize.dpatch b/patches/procps-3.2.8/0025-top_c_resize.patch
index 4cc9c6c51..38a58df16 100644
--- a/patches/procps-3.2.8/20_top_c_resize.dpatch
+++ b/patches/procps-3.2.8/0025-top_c_resize.patch
@@ -1,13 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20top_resize_terminal.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Prevent top from segfaulting when the display is shrinked to only
-## DP: a few (read: 3 or less) lines.
+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
-@DPATCH@
---- procps-3.2.7.orig/top.c 2006-06-25 08:41:48.000000000 +0200
-+++ procps-3.2.7/top.c 2007-08-06 03:27:28.000000000 +0200
-@@ -140,7 +140,7 @@
+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. */
@@ -16,7 +22,7 @@
static int Pseudo_row, Pseudo_cols, Pseudo_size;
#ifndef STDOUT_IOLBF
// less than stdout's normal buffer but with luck mostly '\n' anyway
-@@ -2415,7 +2415,10 @@
+@@ -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;
@@ -28,7 +34,7 @@
// force rebuild of column headers AND libproc/readproc requirements
Frames_libflags = 0;
-@@ -3289,7 +3292,7 @@
+@@ -3315,7 +3318,7 @@ static void frame_make (void)
// reframewins(), who also builds each window's column headers
if (!Frames_libflags) {
reframewins();
@@ -37,9 +43,11 @@
}
Pseudo_row = Msg_row = scrlins = 0;
ppt = summary_show();
---- procps-3.2.7.orig/top.h 2006-06-25 08:41:48.000000000 +0200
-+++ procps-3.2.7/top.h 2007-08-06 03:27:28.000000000 +0200
-@@ -135,7 +135,7 @@
+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 : \
({ \
@@ -48,7 +56,7 @@
memcmp(_pse, _str, _len) ? memcpy(_pse, _str, _len) : "\n"; \
}) \
); \
-@@ -149,7 +149,11 @@
+@@ -149,7 +149,11 @@ do { \
int _len = 1 + snprintf(_str, sizeof(_str), fmt, ## arg); \
if (Batch) _ptr = _str; \
else { \
@@ -61,7 +69,7 @@
if (memcmp(_ptr, _str, _len)) { \
memcpy(_ptr, _str, _len); \
} else { \
-@@ -237,6 +241,11 @@
+@@ -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;
@@ -73,3 +81,6 @@
// 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/20_w-bassman.dpatch b/patches/procps-3.2.8/0026-w-bassman.patch
index cc68ab72a..f82be150e 100644
--- a/patches/procps-3.2.8/20_w-bassman.dpatch
+++ b/patches/procps-3.2.8/0026-w-bassman.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_w-bassman.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: w-bassman emulation with -o flag
-## DP: Was from #45947, corrected for #414906
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
---- procps-3.2.7~/w.1 2009-01-09 16:24:17.000000000 +1100
-+++ procps-3.2.7/w.1 2009-01-09 16:24:55.000000000 +1100
+===================================================================
+---
+ 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
@@ -18,7 +22,7 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
.RI [ user ]
.SH DESCRIPTION
.B "w "
-@@ -55,6 +55,9 @@
+@@ -55,6 +55,9 @@ field is shown by default.
.B "\-V "
Display version information.
.TP 0.5i
@@ -28,9 +32,10 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
.B "user "
Show information about the specified user only.
-diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
---- procps-3.2.7~/w.c 2009-01-09 16:24:54.000000000 +1100
-+++ procps-3.2.7/w.c 2009-01-09 16:25:39.000000000 +1100
+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>
@@ -39,7 +44,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
static proc_t **procs; /* our snapshot of the process table */
typedef struct utmp utmp_t;
-@@ -76,6 +77,16 @@
+@@ -76,6 +77,16 @@ static void print_time_ival7(time_t t, int centi_sec, FILE* fout) {
printf(" ? ");
return;
}
@@ -56,7 +61,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
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 @@
+@@ -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);
@@ -64,7 +69,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
}
/**** stat the device file to get an idle time */
-@@ -239,7 +251,7 @@
+@@ -239,7 +251,7 @@ int main(int argc, char **argv) {
#endif
setlocale(LC_ALL, "");
@@ -73,7 +78,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
switch (ch) {
case 'h': header = 0; break;
case 'l': longform = 1; break;
-@@ -247,6 +259,7 @@
+@@ -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;
@@ -81,7 +86,7 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
default:
printf("usage: w -hlsufV [user]\n"
" -h skip header\n"
-@@ -254,6 +267,7 @@
+@@ -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"
@@ -89,3 +94,6 @@ diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
" -V display version\n", FROM_STRING);
exit(1);
}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/30_top.1_cpustate.dpatch b/patches/procps-3.2.8/0027-top.1_cpustates.patch
index 24f603ac8..ce3374e20 100644
--- a/patches/procps-3.2.8/30_top.1_cpustate.dpatch
+++ b/patches/procps-3.2.8/0027-top.1_cpustates.patch
@@ -1,21 +1,25 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_top.1_cpustate.dpatch by <csmall@localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: top CPU state descriptions
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
---- procps-3.2.7~/top.1 2007-10-04 22:35:09.000000000 +1000
-+++ procps-3.2.7/top.1 2007-10-04 22:36:45.000000000 +1000
-@@ -539,6 +539,42 @@
+===================================================================
+---
+ 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
++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
@@ -51,3 +55,6 @@ diff -urNad procps-3.2.7~/top.1 procps-3.2.7/top.1
.\" ----------------------------------------------------------------------
.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
new file mode 100644
index 000000000..2b3c47356
--- /dev/null
+++ b/patches/procps-3.2.8/0028-watch_8bitchar.patch
@@ -0,0 +1,26 @@
+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
new file mode 100644
index 000000000..a949d44b5
--- /dev/null
+++ b/patches/procps-3.2.8/0029-library_map_freeproc.patch
@@ -0,0 +1,26 @@
+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
new file mode 100644
index 000000000..d97c0768e
--- /dev/null
+++ b/patches/procps-3.2.8/0030-pgrep_start_time.patch
@@ -0,0 +1,27 @@
+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
new file mode 100644
index 000000000..89c945516
--- /dev/null
+++ b/patches/procps-3.2.8/0031-readproc_c.patch
@@ -0,0 +1,35 @@
+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/30_sysinfo_7numbers.dpatch b/patches/procps-3.2.8/0032-sysinfo_7_numbers.patch
index b3c95fb16..9d7da0e28 100644
--- a/patches/procps-3.2.8/30_sysinfo_7numbers.dpatch
+++ b/patches/procps-3.2.8/0032-sysinfo_7_numbers.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_sysctl_7numbers.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Adds up 7 cpu numbers not 4; #460331
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
---- procps-3.2.7~/proc/sysinfo.c 2008-08-10 10:13:50.000000000 +1000
-+++ procps-3.2.7/proc/sysinfo.c 2008-08-10 10:13:50.000000000 +1000
-@@ -122,24 +122,25 @@
+===================================================================
+---
+ 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){
@@ -37,3 +41,6 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
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
new file mode 100644
index 000000000..4f8283df0
--- /dev/null
+++ b/patches/procps-3.2.8/0033-tload_no_optargs.patch
@@ -0,0 +1,27 @@
+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/30_w.1.dpatch b/patches/procps-3.2.8/0034-w.1.patch
index f92b89ea4..6d9aa0330 100644
--- a/patches/procps-3.2.8/30_w.1.dpatch
+++ b/patches/procps-3.2.8/0034-w.1.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_w.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleaned up the w man page
-## DP: Make note of the time formats #414906
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
---- procps-3.2.7~/w.1 2009-01-09 16:26:36.000000000 +1100
-+++ procps-3.2.7/w.1 2009-01-09 16:33:16.000000000 +1100
+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.
@@ -42,7 +46,7 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
The PCPU time is the time used by the current process, named in the "what"
field.
-@@ -35,7 +35,7 @@
+@@ -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
@@ -51,17 +55,17 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
.TP 0.5i
.B "\-s "
Use the short format.
-@@ -70,6 +70,19 @@
+@@ -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
++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
++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
@@ -71,3 +75,6 @@ diff -urNad procps-3.2.7~/w.1 procps-3.2.7/w.1
.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
new file mode 100644
index 000000000..1ad19bdcb
--- /dev/null
+++ b/patches/procps-3.2.8/0035-w_columns.patch
@@ -0,0 +1,41 @@
+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/30_watch_exec_beep.dpatch b/patches/procps-3.2.8/0036-watch_exec_beep.patch
index 481445a99..8099e4ae9 100644
--- a/patches/procps-3.2.8/30_watch_exec_beep.dpatch
+++ b/patches/procps-3.2.8/0036-watch_exec_beep.patch
@@ -1,15 +1,23 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_watch_exec_beep.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Adds -exec and -beep flags and has better quoting #410967
-## DP: Adds -errexit flag now too #183346
+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
-@DPATCH@
-diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
---- procps-3.2.8~/watch.1 2009-05-28 17:27:41.000000000 +1000
-+++ procps-3.2.8/watch.1 2009-05-28 17:28:28.000000000 +1000
-@@ -4,10 +4,13 @@
+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
@@ -24,24 +32,24 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
.RB [ \-\-help ]
.RB [ \-\-interval=\fIseconds\fP]
.RB [ \-\-no\-title ]
-@@ -17,7 +20,8 @@
+@@ -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
++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 @@
+@@ -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
++or
+.I \-\-beep
+option causes the command to beep if it has a non-zero exit.
.PP
@@ -53,7 +61,7 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
+.I \-e
+or
+.I \-\-errexit
-+options, which will cause
++options, which will cause
+.B watch
+to exit if the return value from the program is non-zero.
+
@@ -62,24 +70,25 @@ diff -urNad procps-3.2.8~/watch.1 procps-3.2.8/watch.1
.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
++You can disable this with the
+.I -x
-+or
++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 @@
+@@ -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
++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 -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
---- procps-3.2.8~/watch.c 2009-05-28 17:27:41.000000000 +1000
-+++ procps-3.2.8/watch.c 2009-05-28 17:27:42.000000000 +1000
+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>.
*
@@ -88,7 +97,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
*/
#define VERSION "0.2.0"
-@@ -35,13 +36,16 @@
+@@ -35,13 +36,16 @@ static struct option longopts[] = {
{"differences", optional_argument, 0, 'd'},
{"help", no_argument, 0, 'h'},
{"interval", required_argument, 0, 'n'},
@@ -106,7 +115,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
static char *progname;
-@@ -140,28 +144,44 @@
+@@ -140,28 +144,44 @@ main(int argc, char *argv[])
int optc;
int option_differences = 0,
option_differences_cumulative = 0,
@@ -152,7 +161,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
case 'n':
{
char *str;
-@@ -191,18 +211,23 @@
+@@ -191,18 +211,23 @@ main(int argc, char *argv[])
if (option_help) {
fprintf(stderr, usage, progname);
@@ -176,7 +185,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
command = strdup(argv[optind++]);
command_length = strlen(command);
for (; optind < argc; optind++) {
-@@ -261,11 +286,57 @@
+@@ -261,11 +286,57 @@ main(int argc, char *argv[])
free(header);
}
@@ -236,7 +245,7 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
for (y = show_title; y < height; y++) {
int eolseen = 0, tabpending = 0;
for (x = 0; x < width; x++) {
-@@ -313,7 +384,19 @@
+@@ -313,7 +384,19 @@ main(int argc, char *argv[])
oldeolseen = eolseen;
}
@@ -257,3 +266,6 @@ diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
first_screen = 0;
refresh();
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/35_path_max.dpatch b/patches/procps-3.2.8/0037-path_max.patch
index 9ab50a012..986846c90 100644
--- a/patches/procps-3.2.8/35_path_max.dpatch
+++ b/patches/procps-3.2.8/0037-path_max.patch
@@ -1,14 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 35_path_max.dpatch by Madhusudan.C.S <madhusudancs@gmail.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Uses alloc instead of fixed PATH_MAX value #496274
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
---- procps-3.2.7~/proc/readproc.c 2008-09-09 15:01:09.000000000 +1000
-+++ procps-3.2.7/proc/readproc.c 2008-09-09 15:01:36.000000000 +1000
-@@ -1034,7 +1034,7 @@
+===================================================================
+---
+ 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) {
@@ -17,10 +22,11 @@ diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
struct stat statbuf;
sprintf(path, "/proc/%d", pid);
-diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
---- procps-3.2.7~/pwdx.c 2006-06-17 19:29:06.000000000 +1000
-+++ procps-3.2.7/pwdx.c 2009-03-11 19:56:58.466099226 +0100
-@@ -35,7 +35,6 @@
+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[])
{
@@ -28,7 +34,7 @@ diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
regex_t re;
int i;
-@@ -59,6 +58,7 @@
+@@ -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) {
@@ -36,7 +42,7 @@ diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
snprintf(buf, sizeof buf, "pwdx: invalid process id: %s\n", argv[i]);
die(buf);
}
-@@ -68,9 +68,13 @@
+@@ -68,9 +68,13 @@ int main(int argc, char* argv[])
regfree(&re);
@@ -51,7 +57,8 @@ diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
// At this point, all arguments are in the form /proc/nnnn
// or nnnn, so a simple check based on the first char is
-@@ -83,13 +87,21 @@
+@@ -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) {
@@ -67,11 +74,14 @@ diff -urNad procps-3.2.7~/pwdx.c procps-3.2.7/pwdx.c
+ 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
new file mode 100644
index 000000000..501e86a69
--- /dev/null
+++ b/patches/procps-3.2.8/0038-w_envlength.patch
@@ -0,0 +1,183 @@
+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/40_gnu-kbsd-version.dpatch b/patches/procps-3.2.8/0039-gnu-kbsd-version.patch
index 79c3ff991..01f0417c8 100644
--- a/patches/procps-3.2.8/40_gnu-kbsd-version.dpatch
+++ b/patches/procps-3.2.8/0039-gnu-kbsd-version.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_gnu-kbsd-version.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Rework version parsing so its ok with other OSes
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/version.c procps-3.2.7/proc/version.c
---- procps-3.2.7~/proc/version.c 2006-06-27 08:55:32.000000000 +1000
-+++ procps-3.2.7/proc/version.c 2006-06-27 09:02:25.000000000 +1000
-@@ -35,15 +35,23 @@
+===================================================================
+---
+ 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) {
@@ -38,3 +42,6 @@ diff -urNad procps-3.2.7~/proc/version.c procps-3.2.7/proc/version.c
+ 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/40_pgrep_coption.dpatch b/patches/procps-3.2.8/0040-pgrep_c_option.patch
index 2a3be153a..76f2bb601 100644
--- a/patches/procps-3.2.8/40_pgrep_coption.dpatch
+++ b/patches/procps-3.2.8/0040-pgrep_c_option.patch
@@ -1,13 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_pgrep-coption.dpatch by <csmall@localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: c option for pgrep for counting number of matched proceesses
+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
-@DPATCH@
-diff -urNad procps-3.2.8~/pgrep.1 procps-3.2.8/pgrep.1
---- procps-3.2.8~/pgrep.1 2009-05-11 22:23:42.000000000 +1000
-+++ procps-3.2.8/pgrep.1 2009-05-11 22:24:14.000000000 +1000
+===================================================================
+---
+ 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
@@ -17,7 +22,7 @@ diff -urNad procps-3.2.8~/pgrep.1 procps-3.2.8/pgrep.1
.br
[\-s \fIsid\fP,...] [\-u \fIeuid\fP,...] [\-U \fIuid\fP,...] [\-G \fIgid\fP,...]
.br
-@@ -38,6 +38,9 @@
+@@ -38,6 +38,9 @@ to each process instead of listing them on stdout.
.SH OPTIONS
.TP
@@ -27,10 +32,11 @@ diff -urNad procps-3.2.8~/pgrep.1 procps-3.2.8/pgrep.1
\-d \fIdelimiter\fP
Sets the string used to delimit each process ID in the output (by
default a newline). (\fBpgrep\fP only.)
-diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
---- procps-3.2.8~/pgrep.c 2009-05-11 22:24:14.000000000 +1000
-+++ procps-3.2.8/pgrep.c 2009-05-11 22:25:40.000000000 +1000
-@@ -54,6 +54,7 @@
+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;
@@ -38,7 +44,7 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
static int opt_signal = SIGTERM;
static int opt_lock = 0;
static int opt_case = 0;
-@@ -79,7 +80,7 @@
+@@ -79,7 +80,7 @@ static int usage (int opt)
if (i_am_pkill)
fprintf (fp, "Usage: pkill [-SIGNAL] [-fvx] ");
else
@@ -47,7 +53,7 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
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 @@
+@@ -565,7 +566,7 @@ static void parse_opts (int argc, char **argv)
strcat (opts, "ld:");
}
@@ -56,7 +62,7 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
while ((opt = getopt (argc, argv, opts)) != -1) {
switch (opt) {
-@@ -613,6 +614,9 @@
+@@ -613,6 +614,9 @@ static void parse_opts (int argc, char **argv)
exit(EXIT_SUCCESS);
// case 'c': // Solaris: match by contract ID
// break;
@@ -66,7 +72,7 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
case 'd': // Solaris: change the delimiter
opt_delim = strdup (optarg);
break;
-@@ -724,10 +728,14 @@
+@@ -724,10 +728,14 @@ int main (int argc, char *argv[])
procs[i].num, strerror (errno));
}
} else {
@@ -85,3 +91,6 @@ diff -urNad procps-3.2.8~/pgrep.c procps-3.2.8/pgrep.c
}
return !num; // exit(EXIT_SUCCESS) if match, otherwise exit(EXIT_FAILURE)
}
+--
+1.7.0
+
diff --git a/patches/procps-3.2.8/40_ps_cgroup_display.dpatch b/patches/procps-3.2.8/0041-ps_cgroup_display.patch
index 93f4a8767..3e1a34677 100644
--- a/patches/procps-3.2.8/40_ps_cgroup_display.dpatch
+++ b/patches/procps-3.2.8/0041-ps_cgroup_display.patch
@@ -1,14 +1,21 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_ps_cgroup_display.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: ps displays cgroup #469669
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
---- procps-3.2.7~/proc/readproc.c 2009-01-07 18:20:19.000000000 +1100
-+++ procps-3.2.7/proc/readproc.c 2009-01-07 18:24:51.000000000 +1100
-@@ -598,6 +598,17 @@
+===================================================================
+---
+ 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;
@@ -26,7 +33,7 @@ diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
return p;
next_proc:
-@@ -686,7 +697,7 @@
+@@ -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
@@ -35,7 +42,7 @@ diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
t->ppid = p->ppid; // ought to put the per-task ppid somewhere
return t;
-@@ -896,6 +907,8 @@
+@@ -896,6 +907,8 @@ void freeproc(proc_t* p) {
free((void*)*p->cmdline);
if (p->environ)
free((void*)*p->environ);
@@ -44,10 +51,11 @@ diff -urNad procps-3.2.7~/proc/readproc.c procps-3.2.7/proc/readproc.c
free(p);
}
-diff -urNad procps-3.2.7~/proc/readproc.h procps-3.2.7/proc/readproc.h
---- procps-3.2.7~/proc/readproc.h 2006-06-16 18:01:21.000000000 +1000
-+++ procps-3.2.7/proc/readproc.h 2009-01-07 18:24:56.000000000 +1100
-@@ -139,6 +139,7 @@
+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
@@ -55,7 +63,7 @@ diff -urNad procps-3.2.7~/proc/readproc.h procps-3.2.7/proc/readproc.h
} proc_t;
// PROCTAB: data structure holding the persistent information readproc needs
-@@ -239,6 +240,8 @@
+@@ -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
@@ -64,10 +72,11 @@ diff -urNad procps-3.2.7~/proc/readproc.h procps-3.2.7/proc/readproc.h
// 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 -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
---- procps-3.2.7~/ps/display.c 2005-01-06 10:44:37.000000000 +1100
-+++ procps-3.2.7/ps/display.c 2009-01-07 18:24:32.000000000 +1100
-@@ -223,8 +223,7 @@
+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)
@@ -77,7 +86,7 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
/***** munge lists and determine openproc() flags */
static void lists_and_needs(void){
check_headers();
-@@ -342,6 +341,7 @@
+@@ -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
@@ -85,7 +94,7 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
}
break;
case TF_show_proc|TF_loose_tasks: // H option
-@@ -354,6 +354,7 @@
+@@ -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
@@ -93,7 +102,7 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
}
break;
case TF_show_proc|TF_show_task: // m and -m options
-@@ -366,7 +367,8 @@
+@@ -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
@@ -103,7 +112,7 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
break;
case TF_show_task: // -L and -T options
while(readproc(ptp,&buf)){
-@@ -377,7 +379,8 @@
+@@ -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
@@ -113,17 +122,18 @@ diff -urNad procps-3.2.7~/ps/display.c procps-3.2.7/ps/display.c
break;
}
closeproc(ptp);
-diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
---- procps-3.2.7~/ps/output.c 2006-06-19 09:27:02.000000000 +1000
-+++ procps-3.2.7/ps/output.c 2009-01-07 18:24:43.000000000 +1100
-@@ -359,6 +359,26 @@
+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;
++ int rightward=max_rightward;
+ if(forest_prefix){
+ int fh = forest_helper(outbuf);
+ endp += fh;
@@ -135,7 +145,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
+ endp += escape_str(endp, *pp->cgroup, OUTBUF_SIZE, &rightward);
+ }
+ return max_rightward-rightward;
-+ }
++ }
+ else
+ return pr_nop(outbuf,pp);
+}
@@ -143,7 +153,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
/* "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;
-@@ -1248,7 +1268,7 @@
+@@ -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 */
@@ -152,7 +162,7 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
/* TODO
* pull out annoying BSD aliases into another table (to macro table?)
* add sorting functions here (to unify names)
-@@ -1284,6 +1304,7 @@
+@@ -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*/
@@ -160,3 +170,6 @@ diff -urNad procps-3.2.7~/ps/output.c procps-3.2.7/ps/output.c
{"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/40_watch_precision_time.dpatch b/patches/procps-3.2.8/0042-watch_precision_time.patch
index 16f885673..a5c047dc8 100644
--- a/patches/procps-3.2.8/40_watch_precision_time.dpatch
+++ b/patches/procps-3.2.8/0042-watch_precision_time.patch
@@ -1,14 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 40_watch_precision_time.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Add precision wait time option -p #183486
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
---- procps-3.2.7~/watch.1 2009-01-11 12:27:23.000000000 +1100
-+++ procps-3.2.7/watch.1 2009-01-11 12:28:49.000000000 +1100
-@@ -4,7 +4,7 @@
+===================================================================
+---
+ 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
@@ -17,7 +22,7 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.RB [ \-n
.IR seconds ]
.RB [ \-\-beep ]
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ watch \- execute a program periodically, showing output fullscreen
.RB [ \-\-help ]
.RB [ \-\-interval=\fIseconds\fP]
.RB [ \-\-no\-title ]
@@ -25,7 +30,7 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.RB [ \-\-version ]
.I command
.SH DESCRIPTION
-@@ -27,7 +28,24 @@
+@@ -27,7 +28,24 @@ every 2 seconds; use
.B \-n
or
.B \-\-interval
@@ -51,11 +56,11 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.PP
The
.B \-d
-@@ -97,11 +115,21 @@
+@@ -97,11 +115,21 @@ watch echo '$$'
.br
watch echo "'"'$$'"'"
.PP
-+To see the effect of precision time keeping, try adding
++To see the effect of precision time keeping, try adding
+.I \-p
+to
+.IP
@@ -74,7 +79,7 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.SH BUGS
Upon terminal resize, the screen will not be correctly repainted until the
next scheduled update. All
-@@ -110,6 +138,22 @@
+@@ -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.
@@ -97,17 +102,18 @@ diff -urNad procps-3.2.7~/watch.1 procps-3.2.7/watch.1
.SH AUTHORS
The original
.B watch
-@@ -117,3 +161,7 @@
+@@ -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
+ 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 -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
---- procps-3.2.7~/watch.c 2009-01-11 12:27:23.000000000 +1100
-+++ procps-3.2.7/watch.c 2009-01-11 12:28:37.000000000 +1100
+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>
@@ -116,7 +122,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
#include <time.h>
#include <unistd.h>
#include <termios.h>
-@@ -39,13 +40,14 @@
+@@ -39,13 +40,14 @@ static struct option longopts[] = {
{"beep", no_argument, 0, 'b'},
{"errexit", no_argument, 0, 'e'},
{"exec", no_argument, 0, 'x'},
@@ -132,7 +138,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
static char *progname;
-@@ -54,6 +56,7 @@
+@@ -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
@@ -140,7 +146,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
#define min(x,y) ((x) > (y) ? (y) : (x))
-@@ -138,6 +141,15 @@
+@@ -138,6 +141,15 @@ get_terminal_size(void)
}
}
@@ -156,7 +162,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
int
main(int argc, char *argv[])
{
-@@ -152,6 +164,8 @@
+@@ -152,6 +164,8 @@ main(int argc, char *argv[])
char *command;
char **command_argv;
int command_length = 0; /* not including final \0 */
@@ -165,7 +171,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
int pipefd[2];
int status;
pid_t child;
-@@ -159,7 +173,7 @@
+@@ -159,7 +173,7 @@ main(int argc, char *argv[])
setlocale(LC_ALL, "");
progname = argv[0];
@@ -174,7 +180,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
!= EOF) {
switch (optc) {
case 'b':
-@@ -194,6 +208,9 @@
+@@ -194,6 +208,9 @@ main(int argc, char *argv[])
interval = ~0u/1000000;
}
break;
@@ -184,7 +190,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
case 'v':
option_version = 1;
break;
-@@ -217,6 +234,7 @@
+@@ -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);
@@ -192,7 +198,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
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 @@
+@@ -256,6 +274,9 @@ main(int argc, char *argv[])
noecho();
cbreak();
@@ -202,7 +208,7 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
for (;;) {
time_t t = time(NULL);
char *ts = ctime(&t);
-@@ -400,6 +421,12 @@
+@@ -400,6 +421,12 @@ main(int argc, char *argv[])
first_screen = 0;
refresh();
@@ -215,3 +221,6 @@ diff -urNad procps-3.2.7~/watch.c procps-3.2.7/watch.c
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
new file mode 100644
index 000000000..734eba6e6
--- /dev/null
+++ b/patches/procps-3.2.8/0043-watch_unicode.patch
@@ -0,0 +1,311 @@
+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
new file mode 100644
index 000000000..113a10375
--- /dev/null
+++ b/patches/procps-3.2.8/0044-complain_unmounted_proc.patch
@@ -0,0 +1,29 @@
+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
new file mode 100644
index 000000000..749ed5347
--- /dev/null
+++ b/patches/procps-3.2.8/0045-ps_supgid_display.patch
@@ -0,0 +1,475 @@
+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
new file mode 100644
index 000000000..4d8e92cac
--- /dev/null
+++ b/patches/procps-3.2.8/0046-makefile_dev_null.patch
@@ -0,0 +1,25 @@
+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/50_pgrep.1.dpatch b/patches/procps-3.2.8/0047-pgrep.1.patch
index 33c9e2ac4..7df5d6980 100644
--- a/patches/procps-3.2.8/50_pgrep.1.dpatch
+++ b/patches/procps-3.2.8/0047-pgrep.1.patch
@@ -1,14 +1,17 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 50_pgrep.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Cleanup pgrep manual page #282168
-## DP: Uses .BR for see also section #437678
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
---- procps-3.2.7~/pgrep.1 2008-04-07 11:22:03.000000000 +1000
-+++ procps-3.2.7/pgrep.1 2008-04-07 11:22:16.000000000 +1000
+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
@@ -24,17 +27,18 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
- [\-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]
-
+-
-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,...] \
@@ -62,7 +66,7 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
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 @@
+@@ -38,18 +42,18 @@ to each process instead of listing them on stdout.
.SH OPTIONS
.TP
@@ -86,7 +90,7 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
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 @@
+@@ -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
@@ -137,7 +141,7 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
Only match processes whose name (or command line if \-f is specified)
\fBexactly\fP match the \fIpattern\fP.
.TP
-@@ -107,32 +111,40 @@
+@@ -107,32 +111,40 @@ process names or command lines.
.SH EXAMPLES
Example 1: Find the process ID of the \fBnamed\fP daemon:
@@ -186,13 +190,13 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
Fatal error: out of memory etc.
.SH NOTES
-@@ -144,13 +156,19 @@
+@@ -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.
++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.
@@ -209,3 +213,6 @@ diff -urNad procps-3.2.7~/pgrep.1 procps-3.2.7/pgrep.1
.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
new file mode 100644
index 000000000..e75c732ed
--- /dev/null
+++ b/patches/procps-3.2.8/0048-ps_size_sz.patch
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 000000000..9909d3b4d
--- /dev/null
+++ b/patches/procps-3.2.8/0049-top_mintime.patch
@@ -0,0 +1,27 @@
+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/50_vmstat_headers.dpatch b/patches/procps-3.2.8/0050-vmstat_headers.patch
index 13fa4bf61..8434d2468 100644
--- a/patches/procps-3.2.8/50_vmstat_headers.dpatch
+++ b/patches/procps-3.2.8/0050-vmstat_headers.patch
@@ -1,14 +1,21 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 50_vmstat_headers.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Headers for disk and slab info Debian bug #436805
-## DP: getopt replacement #408088
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
---- procps-3.2.7~/vmstat.c 2007-10-04 22:26:49.000000000 +1000
-+++ procps-3.2.7/vmstat.c 2007-10-04 22:27:07.000000000 +1000
+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"
@@ -27,7 +34,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
#define VMSTAT 0
#define DISKSTAT 0x00000001
#define VMSUMSTAT 0x00000002
-@@ -354,6 +355,7 @@
+@@ -354,6 +355,7 @@ static void diskformat(void){
if ((fDiskstat=fopen("/proc/diskstats", "rb"))){
fclose(fDiskstat);
ndisks=getdiskstat(&disks,&partitions);
@@ -35,7 +42,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
for(k=0; k<ndisks; k++){
if (moreheaders && ((k%height)==0)) diskheader();
printf(format,
-@@ -424,6 +426,7 @@
+@@ -424,6 +426,7 @@ static void slabformat (void){
return;
}
@@ -43,7 +50,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
nSlab = getslabinfo(&slabs);
for(k=0; k<nSlab; k++){
if (moreheaders && ((k%height)==0)) slabheader();
-@@ -582,12 +585,10 @@
+@@ -582,12 +585,10 @@ static int winhi(void) {
////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[]) {
@@ -60,7 +67,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
case 'V':
display_version();
exit(0);
-@@ -603,7 +604,7 @@
+@@ -603,7 +604,7 @@ int main(int argc, char *argv[]) {
fork_format();
exit(0);
case 'm':
@@ -69,7 +76,7 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
break;
case 'D':
statMode |= DISKSUMSTAT;
-@@ -614,53 +615,40 @@
+@@ -614,53 +615,40 @@ int main(int argc, char *argv[]) {
break;
case 'p':
statMode |= PARTITIONSTAT;
@@ -147,3 +154,6 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
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
new file mode 100644
index 000000000..19e6aae83
--- /dev/null
+++ b/patches/procps-3.2.8/0051-pgrep_usage_exitcode.patch
@@ -0,0 +1,26 @@
+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
new file mode 100644
index 000000000..2ebd0c07a
--- /dev/null
+++ b/patches/procps-3.2.8/0052-ps_1_options.patch
@@ -0,0 +1,557 @@
+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/55_top_highlight.dpatch b/patches/procps-3.2.8/0053-top_highlight.patch
index df53c1399..2621f1715 100644
--- a/patches/procps-3.2.8/55_top_highlight.dpatch
+++ b/patches/procps-3.2.8/0053-top_highlight.patch
@@ -1,14 +1,18 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 55_top_highlight.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix highlighting problem Closes: #351065
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2008-01-08 20:13:02.000000000 +1100
-+++ procps-3.2.7/top.c 2008-01-08 20:13:47.000000000 +1100
-@@ -3027,9 +3027,10 @@
+===================================================================
+---
+ 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, \
@@ -20,3 +24,6 @@ diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
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
new file mode 100644
index 000000000..2b6ec5a4e
--- /dev/null
+++ b/patches/procps-3.2.8/0054-top_nohz.patch
@@ -0,0 +1,25 @@
+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/65_fix_partition_format.dpatch b/patches/procps-3.2.8/0055-vmstat_part_format.patch
index d60f98627..3146ac808 100644
--- a/patches/procps-3.2.8/65_fix_partition_format.dpatch
+++ b/patches/procps-3.2.8/0055-vmstat_part_format.patch
@@ -1,15 +1,19 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 65_fix_partition_format.dpatch by Daniel Novotny (see
-## https://bugzilla.redhat.com/show_bug.cgi?id=485243 )
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: The contents of /proc/diskstats have changed since 2.6.25
+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
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
---- procps-3.2.7~/proc/sysinfo.c 2009-05-27 18:33:13.443866133 +0000
-+++ procps-3.2.7/proc/sysinfo.c 2009-05-27 18:33:13.735867382 +0000
-@@ -780,6 +780,18 @@
+---
+ 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){
}
/////////////////////////////////////////////////////////////////////////////
@@ -28,7 +32,7 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **partitions){
FILE* fd;
-@@ -787,6 +799,7 @@
+@@ -803,6 +815,7 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
int cPartition = 0;
int fields;
unsigned dummy;
@@ -36,7 +40,7 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
*disks = NULL;
*partitions = NULL;
-@@ -799,8 +812,9 @@
+@@ -815,8 +828,9 @@ unsigned int getdiskstat(struct disk_stat **disks, struct partition_stat **parti
fclose(fd);
break;
}
@@ -48,7 +52,7 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
(*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,
-@@ -823,7 +837,9 @@
+@@ -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);
@@ -59,10 +63,11 @@ diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
//&part_major,
//&part_minor,
(*partitions)[cPartition].partition_name,
-diff -urNad procps-3.2.7~/proc/sysinfo.h procps-3.2.7/proc/sysinfo.h
---- procps-3.2.7~/proc/sysinfo.h 2009-05-27 18:32:49.000000000 +0000
-+++ procps-3.2.7/proc/sysinfo.h 2009-05-27 18:33:13.735867382 +0000
-@@ -113,7 +113,7 @@
+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;
@@ -71,10 +76,11 @@ diff -urNad procps-3.2.7~/proc/sysinfo.h procps-3.2.7/proc/sysinfo.h
}partition_stat;
extern unsigned int getpartitions_num(struct disk_stat *disks, int ndisks);
-diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
---- procps-3.2.7~/vmstat.c 2009-05-27 18:33:13.603867748 +0000
-+++ procps-3.2.7/vmstat.c 2009-05-27 18:33:13.735867382 +0000
-@@ -286,7 +286,7 @@
+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;
@@ -83,3 +89,6 @@ diff -urNad procps-3.2.7~/vmstat.c procps-3.2.7/vmstat.c
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
new file mode 100644
index 000000000..8a3084b2b
--- /dev/null
+++ b/patches/procps-3.2.8/0056-readproc_double_free.patch
@@ -0,0 +1,32 @@
+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
new file mode 100644
index 000000000..ef2bb3e32
--- /dev/null
+++ b/patches/procps-3.2.8/0057-vmstat_units.patch
@@ -0,0 +1,70 @@
+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
new file mode 100644
index 000000000..69b00298b
--- /dev/null
+++ b/patches/procps-3.2.8/0058-skill_null_argv.patch
@@ -0,0 +1,25 @@
+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
new file mode 100644
index 000000000..32a3ada9f
--- /dev/null
+++ b/patches/procps-3.2.8/0059-skill_multiarg.patch
@@ -0,0 +1,25 @@
+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
new file mode 100644
index 000000000..5a4d27182
--- /dev/null
+++ b/patches/procps-3.2.8/0060-proc_version_constructor.patch
@@ -0,0 +1,52 @@
+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
new file mode 100644
index 000000000..fde235825
--- /dev/null
+++ b/patches/procps-3.2.8/0061-pmaps_smaps.patch
@@ -0,0 +1,150 @@
+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
new file mode 100644
index 000000000..d1487741e
--- /dev/null
+++ b/patches/procps-3.2.8/0062-top_numeric_args.patch
@@ -0,0 +1,109 @@
+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
new file mode 100644
index 000000000..e488385e4
--- /dev/null
+++ b/patches/procps-3.2.8/0063-top_1_swap.patch
@@ -0,0 +1,34 @@
+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
new file mode 100644
index 000000000..d16462f5b
--- /dev/null
+++ b/patches/procps-3.2.8/0064-w_userproc.patch
@@ -0,0 +1,25 @@
+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
new file mode 100644
index 000000000..7b792889d
--- /dev/null
+++ b/patches/procps-3.2.8/0065-sysinfo_kfreebsd_hertz.patch
@@ -0,0 +1,31 @@
+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
new file mode 100644
index 000000000..a8e9e6039
--- /dev/null
+++ b/patches/procps-3.2.8/0066-ps_1_flt_output.patch
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 000000000..3d0b01fb9
--- /dev/null
+++ b/patches/procps-3.2.8/0067-watch_ansi_colour.patch
@@ -0,0 +1,193 @@
+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
new file mode 100644
index 000000000..0ebcf6156
--- /dev/null
+++ b/patches/procps-3.2.8/0068-top_username_parse.patch
@@ -0,0 +1,25 @@
+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/fix-install.diff b/patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch
index 42f12c9a5..b7f3a8380 100644
--- a/patches/procps-3.2.8/fix-install.diff
+++ b/patches/procps-3.2.8/0069-don-t-install-stuff-that-was-not-built.patch
@@ -1,5 +1,7 @@
+From 97bc8fbfedfc3d823891ec6497c187cb8e1ace06 Mon Sep 17 00:00:00 2001
From: Michael Olbrich <m.olbrich@pengutronix.de>
-Subject: don't install stuff that was not built
+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.
@@ -7,13 +9,13 @@ We don't built everything in ptxdist. This Patch makes sure that
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
---
Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ 1 files changed, 2 insertions(+), 2 deletions(-)
-Index: b/Makefile
-===================================================================
+diff --git a/Makefile b/Makefile
+index abddb6e..5efabb3 100644
--- a/Makefile
+++ b/Makefile
-@@ -228,8 +228,8 @@ $(MANFILES) : all
+@@ -229,8 +229,8 @@ $(MANFILES) : all
$(install) --mode a=r $(notdir $@) $@
install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
@@ -24,3 +26,6 @@ Index: b/Makefile
############ 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
new file mode 100644
index 000000000..fa5f509c3
--- /dev/null
+++ b/patches/procps-3.2.8/0070-remove-frename-registers-option-due-to-ICE-on-gcc-4..patch
@@ -0,0 +1,25 @@
+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/10_free.1.dpatch b/patches/procps-3.2.8/10_free.1.dpatch
deleted file mode 100644
index 75eb73846..000000000
--- a/patches/procps-3.2.8/10_free.1.dpatch
+++ /dev/null
@@ -1,66 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_free.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: -g flag documented #286900
-## DP: hypen escaped #282168
-
-@DPATCH@
-diff -urNad procps-3.2.7~/free.1 procps-3.2.7/free.1
---- procps-3.2.7~/free.1 2004-02-24 08:35:55.000000000 +1100
-+++ procps-3.2.7/free.1 2007-10-04 22:32:20.000000000 +1000
-@@ -5,7 +5,7 @@
- .SH NAME
- free \- Display amount of free and used memory in the system
- .SH SYNOPSIS
--.BR "free " [ "\-b" " | " "\-k" " | " "\-m" "] [" "\-o" "] [" "\-s"
-+.BR "free " [ "\-b" " | " "\-k" " | " "\-m" " | " "\-g" "] [" "\-o" "] [" "\-s"
- .I delay
- .RB "] [" "\-t" "] [" "\-V" ]
- .SH DESCRIPTION
-@@ -13,32 +13,34 @@
- 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.
-+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; the \fB\-g\fP switch displays it in
-+gigabytes.
- .PP
--The \fB-t\fP switch displays a line containing the totals.
-+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
-+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
-+The \fB\-s\fP switch activates continuous polling \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.
- .SH FILES
--.ta
--.IR /proc/meminfo "\-\- memory information"
--.fi
-+.TP
-+.I /proc/meminfo
-+memory information
-+
-
- .SH "SEE ALSO"
- .BR ps (1),
- .BR slabtop (1),
- .BR vmstat (8),
--.BR top(1)
-+.BR top (1)
-
- .SH AUTHORS
- Written by Brian Edmonds.
diff --git a/patches/procps-3.2.8/10_skill_perror.dpatch b/patches/procps-3.2.8/10_skill_perror.dpatch
deleted file mode 100644
index a2dbb6c27..000000000
--- a/patches/procps-3.2.8/10_skill_perror.dpatch
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_skill_perror.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: kill prints perror #468363
-
-@DPATCH@
-diff -urNad procps-3.2.8~/skill.c procps-3.2.8/skill.c
---- procps-3.2.8~/skill.c 2009-05-11 22:10:28.000000000 +1000
-+++ procps-3.2.8/skill.c 2009-05-11 22:15:13.000000000 +1000
-@@ -317,6 +317,7 @@
- // 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;
- }
diff --git a/patches/procps-3.2.8/10_tload.1.dpatch b/patches/procps-3.2.8/10_tload.1.dpatch
deleted file mode 100644
index ce660d621..000000000
--- a/patches/procps-3.2.8/10_tload.1.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_tload.1.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Reword tload.1 man page for the alarm
-
-@DPATCH@
-diff -urNad procps-3.2.7~/tload.1 procps-3.2.7/tload.1
---- procps-3.2.7~/tload.1 2002-10-07 07:26:12.000000000 +1000
-+++ procps-3.2.7/tload.1 2006-06-26 12:44:39.000000000 +1000
-@@ -39,7 +39,7 @@
- .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.
-
diff --git a/patches/procps-3.2.8/10_top_no_openproc.dpatch b/patches/procps-3.2.8/10_top_no_openproc.dpatch
deleted file mode 100644
index 46d708798..000000000
--- a/patches/procps-3.2.8/10_top_no_openproc.dpatch
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_top_no_openproc.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Exit top if cannot openproc #378695
-
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2009-01-09 17:04:25.000000000 +1100
-+++ procps-3.2.7/top.c 2009-01-09 17:43:06.000000000 +1100
-@@ -1097,6 +1097,12 @@
- 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) {
diff --git a/patches/procps-3.2.8/10_w_time.dpatch b/patches/procps-3.2.8/10_w_time.dpatch
deleted file mode 100644
index c820441ef..000000000
--- a/patches/procps-3.2.8/10_w_time.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_w_time.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Let fprintf print locale-friendly seconds #252575
-
-@DPATCH@
-diff -urNad procps-3.2.7~/w.c procps-3.2.7/w.c
---- procps-3.2.7~/w.c 2009-01-09 15:56:04.000000000 +1100
-+++ procps-3.2.7/w.c 2009-01-09 16:14:56.000000000 +1100
-@@ -83,7 +83,7 @@
- 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 */
diff --git a/patches/procps-3.2.8/20_Makefile_lib64.dpatch b/patches/procps-3.2.8/20_Makefile_lib64.dpatch
deleted file mode 100644
index 09225ac30..000000000
--- a/patches/procps-3.2.8/20_Makefile_lib64.dpatch
+++ /dev/null
@@ -1,53 +0,0 @@
-#! /bin/sh -e
-## 20_Makefile_lib64.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Removed entry about /lib64 as it breaks the sparc
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
-
-[mkl: ported to procps-3.2.8]
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: procps-3.2.8/Makefile
-===================================================================
---- procps-3.2.8.orig/Makefile
-+++ procps-3.2.8/Makefile
-@@ -30,7 +30,7 @@ ln_sf := ln -sf
- install := install -D --owner 0 --group 0
-
- # Lame x86-64 /lib64 and /usr/lib64 abomination:
--lib64 := lib$(shell [ -d /lib64 ] && echo 64)
-+lib64 := lib
-
- usr/bin := $(DESTDIR)/usr/bin/
- bin := $(DESTDIR)/bin/
-@@ -127,7 +127,7 @@ check_gcc = $(shell if $(CC) $(ALL_CPPFL
- # produce separate executables for ppc and ppc64, s390 and s390x,
- # i386 and x86-64, mips and mips64, sparc and sparc64, and so on.
- # Failure to do so will cause data corruption.
--m64 := $(call check_gcc,-m64,$(call check_gcc,-mabi=64,))
-+#m64 := $(call check_gcc,-m64,$(call check_gcc,-mabi=64,))
- ALL_CFLAGS += $(m64)
-
- ALL_CFLAGS += $(call check_gcc,-Wdeclaration-after-statement,)
diff --git a/patches/procps-3.2.8/20_module_mk_shared.dpatch b/patches/procps-3.2.8/20_module_mk_shared.dpatch
deleted file mode 100644
index 7b3cd678c..000000000
--- a/patches/procps-3.2.8/20_module_mk_shared.dpatch
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/sh -e
-## 20_module_mk_shared.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Made SHARED variable overwritable
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/module.mk procps-3.2.7/proc/module.mk
---- procps-3.2.7~/proc/module.mk 2006-06-27 08:24:51.000000000 +1000
-+++ procps-3.2.7/proc/module.mk 2006-06-27 08:25:43.000000000 +1000
-@@ -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
diff --git a/patches/procps-3.2.8/20_sysinfo_c.dpatch b/patches/procps-3.2.8/20_sysinfo_c.dpatch
deleted file mode 100644
index 96e176947..000000000
--- a/patches/procps-3.2.8/20_sysinfo_c.dpatch
+++ /dev/null
@@ -1,25 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_sysinfo_c.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Dont find elf note for non-linux Bug #378157
-
-@DPATCH@
-diff -urNad procps-3.2.7~/proc/sysinfo.c procps-3.2.7/proc/sysinfo.c
---- procps-3.2.7~/proc/sysinfo.c 2006-06-25 16:41:48.000000000 +1000
-+++ procps-3.2.7/proc/sysinfo.c 2007-10-04 22:07:48.000000000 +1000
-@@ -218,12 +218,13 @@
- // _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();
- }
-
diff --git a/patches/procps-3.2.8/20_watch_8bitchar.dpatch b/patches/procps-3.2.8/20_watch_8bitchar.dpatch
deleted file mode 100644
index 1be95ddda..000000000
--- a/patches/procps-3.2.8/20_watch_8bitchar.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 20_watch_8bitchar.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Make char unsigned
-
-@DPATCH@
-diff -urNad procps-3.2.8~/watch.c procps-3.2.8/watch.c
---- procps-3.2.8~/watch.c 2009-05-11 22:20:14.000000000 +1000
-+++ procps-3.2.8/watch.c 2009-05-11 22:22:52.000000000 +1000
-@@ -297,7 +297,7 @@
- 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
- ||
diff --git a/patches/procps-3.2.8/30_library_map_freeproc.dpatch b/patches/procps-3.2.8/30_library_map_freeproc.dpatch
deleted file mode 100644
index 2842c89b6..000000000
--- a/patches/procps-3.2.8/30_library_map_freeproc.dpatch
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /bin/sh -e
-## 30_library_map_freeproc.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Added freeproc to library.map
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
---- procps-3.2.0.orig/proc/library.map
-+++ procps-3.2.0/proc/library.map
-@@ -7,7 +7,7 @@
-
- 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;
diff --git a/patches/procps-3.2.8/30_pgrep_start_time.dpatch b/patches/procps-3.2.8/30_pgrep_start_time.dpatch
deleted file mode 100644
index f68fd569e..000000000
--- a/patches/procps-3.2.8/30_pgrep_start_time.dpatch
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/sh -e
-## 30_pgrep_start_time.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: pgrep.c saved_start_time was missed
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
---- procps-3.2.0.orig/pgrep.c
-+++ procps-3.2.0/pgrep.c
-@@ -367,7 +367,8 @@
- 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;
-
diff --git a/patches/procps-3.2.8/30_readproc_c.dpatch b/patches/procps-3.2.8/30_readproc_c.dpatch
deleted file mode 100644
index 8c83e8810..000000000
--- a/patches/procps-3.2.8/30_readproc_c.dpatch
+++ /dev/null
@@ -1,45 +0,0 @@
-#! /bin/sh -e
-## 30_readproc_c.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: readproc.c some type conversion help
-## DP: return if unable to open /proc
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
---- procps-3.2.0.orig/proc/readproc.c
-+++ procps-3.2.0/proc/readproc.c
-@@ -162,7 +162,7 @@
- // 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;
-@@ -888,6 +888,8 @@
- 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 */
diff --git a/patches/procps-3.2.8/30_tload_no_optargs.dpatch b/patches/procps-3.2.8/30_tload_no_optargs.dpatch
deleted file mode 100644
index 02f23cb2f..000000000
--- a/patches/procps-3.2.8/30_tload_no_optargs.dpatch
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/sh -e
-## 30_tload_no_optargs.dpatch by Craig Small <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Removed unneeded optarg and optind variables form tload.c
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-ent"
- exit 1;;
-esac
-
-exit 0
-@DPATCH@
---- procps-3.2.0.orig/tload.c
-+++ procps-3.2.0/tload.c
-@@ -30,9 +30,6 @@
- static int dly=5;
- static jmp_buf jb;
-
--extern int optind;
--extern char *optarg;
--
- static void alrm(int signo)
- {
- (void)signo;
diff --git a/patches/procps-3.2.8/30_w-columns.dpatch b/patches/procps-3.2.8/30_w-columns.dpatch
deleted file mode 100644
index 57c94aeda..000000000
--- a/patches/procps-3.2.8/30_w-columns.dpatch
+++ /dev/null
@@ -1,34 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 30_w-columns.dpatch by <csmall@localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: use COLUMNS environment if TIOCGWINSZ fails
-
-@DPATCH@
-diff -urNad --exclude=CVS --exclude=.svn ./w.c /tmp/dpep-work.0retPU/procps-3.2.6/w.c
---- ./w.c 2005-10-31 12:41:33.000000000 +1100
-+++ /tmp/dpep-work.0retPU/procps-3.2.6/w.c 2005-10-31 12:41:55.000000000 +1100
-@@ -231,10 +231,10 @@
-
- /***** 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;
-@@ -267,6 +267,10 @@
-
- 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);
diff --git a/patches/procps-3.2.8/45_proc_complain_unmounted_proc.dpatch b/patches/procps-3.2.8/45_proc_complain_unmounted_proc.dpatch
deleted file mode 100644
index c34e618b4..000000000
--- a/patches/procps-3.2.8/45_proc_complain_unmounted_proc.dpatch
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 45_proc_complain_unmounted_proc.dpatch by <hesso@hesso.pool.math.tu-berlin.de>
-##
-## DP: Complain when /proc/version cannot be found instead of
-## DP: exiting silently.
-
-@DPATCH@
---- procps-3.2.7/proc/version.cO 2007-08-06 16:18:41.000000000 +0200
-+++ procps-3.2.7/proc/version.c 2007-08-06 16:19:28.000000000 +0200
-@@ -39,8 +39,10 @@
- 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);
diff --git a/patches/procps-3.2.8/50_dev_null_makefile_fix.dpatch b/patches/procps-3.2.8/50_dev_null_makefile_fix.dpatch
deleted file mode 100644
index 7132b0f88..000000000
--- a/patches/procps-3.2.8/50_dev_null_makefile_fix.dpatch
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## dev_null_makefile_fix.dpatch by <xaiki@gonzo>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Make sure Makefile doesnt zot random files while checking GCC
-
-@DPATCH@
-diff -urNad procps-3.2.6~/Makefile procps-3.2.6/Makefile
---- procps-3.2.6~/Makefile 2005-10-30 07:27:04.000000000 +0100
-+++ procps-3.2.6/Makefile 2005-12-20 02:57:41.000000000 +0100
-@@ -119,7 +119,7 @@
- # 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 will_this_file_really_exist.tmp $(CURSES) > /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
diff --git a/patches/procps-3.2.8/50_top_mintime.dpatch b/patches/procps-3.2.8/50_top_mintime.dpatch
deleted file mode 100644
index c38f889b8..000000000
--- a/patches/procps-3.2.8/50_top_mintime.dpatch
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 50_top_mintime.dpatch by <csmall@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Checks minimum time is valid
-
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2007-10-04 21:58:56.000000000 +1000
-+++ procps-3.2.7/top.c 2007-10-04 21:59:24.000000000 +1000
-@@ -2535,7 +2535,8 @@
- 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;
-
diff --git a/patches/procps-3.2.8/55_pgrep_usage_exitcode.dpatch b/patches/procps-3.2.8/55_pgrep_usage_exitcode.dpatch
deleted file mode 100644
index c6dabb5d7..000000000
--- a/patches/procps-3.2.8/55_pgrep_usage_exitcode.dpatch
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 55_pgrep_usage_exitcode.dpatch by <hesso@pool.math.tu-berlin.de>
-##
-## DP: Distinguish between invalid commandline parameters and '-?'.
-
-@DPATCH@
---- procps-3.2.7.orig/pgrep.c 2007-08-06 16:35:30.000000000 +0200
-+++ procps-3.2.7/pgrep.c 2007-08-06 16:35:06.000000000 +0200
-@@ -678,7 +678,7 @@
- // case 'z': // Solaris: match by zone ID
- // break;
- case '?':
-- usage (opt);
-+ usage (optopt?optopt:opt);
- break;
- }
- }
diff --git a/patches/procps-3.2.8/60_top_nohz.dpatch b/patches/procps-3.2.8/60_top_nohz.dpatch
deleted file mode 100644
index 6b7390fdd..000000000
--- a/patches/procps-3.2.8/60_top_nohz.dpatch
+++ /dev/null
@@ -1,18 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 60_top_nohz.dpatch by <fabbione@sunfire.int.fabbione.net>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Handle idle time calculations correctly when running with NOHZ.
-
-@DPATCH@
-diff -urNad procps-3.2.7~/top.c procps-3.2.7/top.c
---- procps-3.2.7~/top.c 2006-06-25 08:41:48.000000000 +0200
-+++ procps-3.2.7/top.c 2007-07-20 12:50:00.000000000 +0200
-@@ -2886,6 +2886,7 @@
- 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;
diff --git a/patches/procps-3.2.8/README b/patches/procps-3.2.8/README
deleted file mode 100644
index e2de56465..000000000
--- a/patches/procps-3.2.8/README
+++ /dev/null
@@ -1,8 +0,0 @@
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Subject: import patches from debian's procps
-
-this is basially the patches from:
-http://ftp.de.debian.org/debian/pool/main/p/procps/procps_3.2.8-1.diff.gz
-taken dpatch squeezed into quilt :)
-
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
diff --git a/patches/procps-3.2.8/fix-unknown-HZ-arm-diff b/patches/procps-3.2.8/fix-unknown-HZ-arm-diff
deleted file mode 100644
index 197fcea44..000000000
--- a/patches/procps-3.2.8/fix-unknown-HZ-arm-diff
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Subject: fix "Unknown HZ value! (94) Assume 100." on arm systems
-
-For more info, see:
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=460331
-
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
----
- proc/sysinfo.c | 2 +-
- proc/version.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-Index: procps-3.2.8/proc/sysinfo.c
-===================================================================
---- procps-3.2.8.orig/proc/sysinfo.c
-+++ procps-3.2.8/proc/sysinfo.c
-@@ -210,7 +210,7 @@ static int check_for_privs(void){
- return !!rc;
- }
-
--static void init_libproc(void) __attribute__((constructor));
-+static void init_libproc(void) __attribute__((constructor (40)));
- static void init_libproc(void){
- have_privs = check_for_privs();
- // ought to count CPUs in /proc/stat instead of relying
-Index: procps-3.2.8/proc/version.c
-===================================================================
---- procps-3.2.8.orig/proc/version.c
-+++ procps-3.2.8/proc/version.c
-@@ -33,7 +33,7 @@ void display_version(void) {
-
- int linux_version_code;
-
--static void init_Linux_version(void) __attribute__((constructor));
-+static void init_Linux_version(void) __attribute__((constructor (20)));
- static void init_Linux_version(void) {
- int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
- FILE *fp;
diff --git a/patches/procps-3.2.8/remove-rename-registers.diff b/patches/procps-3.2.8/remove-rename-registers.diff
deleted file mode 100644
index a6c6e65a1..000000000
--- a/patches/procps-3.2.8/remove-rename-registers.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Marc Kleine-Budde <mkl@pengutronix.de>
-Subject: remove -frename-registers option, due to ICE on gcc-4.3.1
-
-remove the -frename-registers options, because they ICE on gcc-4.3.1
-
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: procps-3.2.7/Makefile
-===================================================================
---- procps-3.2.7.orig/Makefile
-+++ procps-3.2.7/Makefile
-@@ -141,7 +141,7 @@ ALL_CFLAGS += $(call check_gcc,-Wstrict-
- # 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,-frename-registers,)
- ALL_CFLAGS += $(call check_gcc,-fomit-frame-pointer,)
- endif
-
diff --git a/patches/procps-3.2.8/series b/patches/procps-3.2.8/series
index 62485c51b..1a4bde253 100644
--- a/patches/procps-3.2.8/series
+++ b/patches/procps-3.2.8/series
@@ -1,52 +1,70 @@
-10_free.1.dpatch
-10_output_sort_time.dpatch
-10_pmap.1.dpatch
-10_ps.1.dpatch
-10_skill.1.dpatch
-10_skill_perror.dpatch
-10_slabtop.dpatch
-10_sysctl.8.dpatch
-10_sysctl_options.dpatch
-10_tload.1.dpatch
-10_top_irix.dpatch
-10_top_no_openproc.dpatch
-10_top_stdineof.dpatch
-10_top_uid_length.dpatch
-10_uptime.1.dpatch
-10_vmstat.8.dpatch
-10_watch.1.dpatch
-10_w_time.dpatch
-20_kill.1.dpatch
-20_kill_warncr.dpatch
-20_Makefile_lib64.dpatch
-20_module_mk_shared.dpatch
-20_sysinfo_c.dpatch
-20_top_c_resize.dpatch
-20_top_manpage.dpatch
-20_watch_8bitchar.dpatch
-20_w-bassman.dpatch
-30_library_map_freeproc.dpatch
-30_pgrep_start_time.dpatch
-30_readproc_c.dpatch
-30_sysinfo_7numbers.dpatch
-30_tload_no_optargs.dpatch
-30_top.1_cpustate.dpatch
-30_w.1.dpatch
-30_watch_exec_beep.dpatch
-30_w-columns.dpatch
-35_path_max.dpatch
-40_gnu-kbsd-version.dpatch
-40_pgrep_coption.dpatch
-40_ps_cgroup_display.dpatch
-40_watch_precision_time.dpatch
-45_proc_complain_unmounted_proc.dpatch
-50_dev_null_makefile_fix.dpatch
-50_pgrep.1.dpatch
-50_top_mintime.dpatch
-50_vmstat_headers.dpatch
-55_pgrep_usage_exitcode.dpatch
-55_top_highlight.dpatch
-60_top_nohz.dpatch
-65_fix_partition_format.dpatch
-fix-unknown-HZ-arm-diff
-fix-install.diff
+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