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